信号与系统实验指导解析.docx
《信号与系统实验指导解析.docx》由会员分享,可在线阅读,更多相关《信号与系统实验指导解析.docx(21页珍藏版)》请在冰点文库上搜索。
信号与系统实验指导解析
信号与系统
实验指导
实验一熟悉Matlab软件环境
一、实验目的:
熟悉Matlab函数创建、基本计算及绘图。
二、试验内容及要求:
编制Matlab程序,实现以下内容
1熟悉变量、矩阵及创建矩阵、向量等基本概念;
创建基本矩阵函数:
n=3、m=2
ones(n,m),zeros(n,m),rand(n,m),randn(n,m),eye(n)
2创建函数:
求10个数值的平均值、总和。
3绘制图形:
y=sint、y=exp(-0.1*t)*sin(t+1)
三、实验步骤:
打开电脑,双击桌面Matlab程序图标,打开文件菜单,点击新建M文件,在M文件编辑器中编写程序,编写完毕后按F5键运行调试。
编写函数时注意以下几点:
.扩展名为.m;
.函数必须以关键字“function”开头;
.函数文件的第一行为函数说明语句:
function[返回参数1,返回参数2,]=函数名(传入参数1,)
.函数文件保存的文件名应与用户定义的函数名一致,并且函数名不能与Matlab自带的函数名一致。
四、试验报告:
试验目的、内容、步骤、程序、图形(可打印)等。
附录
%试验一,内容1
A=ones(3,2)
B=zeros(3,2)
C=rand(3,2)
D=randn(3,2)
E=eye(3)
%试验一,内容2
x=input('x=')
[y,z]=qiuhe(x);%函数见qiuhe.m
fprintf('N个数总和为'),y
fprintf('N个数平均为'),z
%试验一,内容3
t=0:
0.1:
30;
y1=sin(t);
y2=exp(-0.1.*t).*sin(t+1);
subplot(2,1,1),plot(t,y1),grid;title('正弦信号');
subplot(2,1,2),plot(t,y2),grid;title('衰减正弦信号');
function[y,z]=qiuhe(x)
[m,n]=size(x);
y=sum(x);
z=sum(x)/n;
functionr=polyadd(p,q)
lp=length(p);
lq=length(q);
k=lp-lq;
ifk>=0r=p+[zeros(1,k),q];
elser=[zeros(1,-k),p]+q;end
试验二连续系统的时域分析
一、试验目的:
熟悉掌握利用Matlab产生基本连续时间信号及时域分析方法。
二、试验内容及要求:
编制Matlab程序,实现以下内容
1利用信号处理工具箱提供函数生成
单位冲激函数、单位阶跃函数、三角波、方波。
2已知描述系统的微分方程和初始状态如下,求其零输入响应。
(1)y``(t)+5y`(t)+6y(t)=f(t);y(0-)=1,y`(0-)=-1;
(2)y```(t)+4y1`(t)+5y`(t)+2y(t)=f(t),y(0-)=0,y`(0-)=-1,y``(0-)=-1;
3某LTI系统的微分方程为
,求冲激响应;
若输入为x(t)=cos(0.1t),求其零状态响应。
三、实验步骤:
打开电脑,双击桌面Matlab程序图标,打开文件菜单,点击新建M文件,在M文件编辑器中编写程序,编写完毕后按F5键运行调试。
四、实验原理:
对任何系统依据产生系统响应的原因可以将完全响应分解为零输入响应和零状态响应两个分量,系统完全响应=零输入响应+零状态响应,即
,其中
为零输入响应;
为零状态响应。
零输入响应:
没有外加激励信号的作用,只由起始状态(t=0-)产生的响应,满足:
及起始状态r(k)(0-)(k=0,1,2,…,n-1)的解;它是齐次解中的一部分:
,由于没有外界激励,系统状态不会发生变化,即:
r(k)(0-)=r(k)(0+)
零状态响应:
不考虑起始时刻(t=0-)系统储能的作用,仅由系统的外加激励信号产生响应,满足:
及起始状态r(k)(0-)=0(k=0,1,…,n-1)的解;它是由特解和一部分齐次解构成:
。
零状态响应也可由卷积的方法得出:
五、试验报告:
试验报告应包含以下内容
试验目的、内容、步骤、原理、程序、图形(可打印)等。
附录
%试验二,内容1
%产生单位冲激信号
clearall;t0=0;t1=1;dt=0.05;
t=0:
0.05:
5;st=length(t);
n1=floor((t1-t0)/dt);
x1=zeros(1,st);
x1(n1)=1/dt;
subplot(4,1,1),stairs(t-0.95,x1),grid;
axis([-1,4,-1,22])
%产生单位阶跃信号
x2=[zeros(1,n1-1),ones(1,st-n1+1)];
subplot(4,1,2),stairs(t-0.95,x2),grid;
axis([-1,4,-0.1,1.1])
%产生周期的三角波
clearall;
t=-4*pi:
0.01:
4*pi;
a=sawtooth(t,0.5);
subplot(4,1,3),plot(t,a),axis([-4*pi,4*pi,-1.1,1.1]),grid;
%产生周期的方波
b=square(t,50);
subplot(4,1,4),plot(t,b),axis([-4*pi,4*pi,-1.1,1.1]),grid;
%实验二,内容2
a=input('输入分母系数向量a=[a1,a2,...]=');
n=length(a)-1;
y0=input('输入初始条件向量y0=[y0,dy0,...]=');
p=roots(a);
v=rot90(vander(p));
c=v/y0;
dt=0.2;
tf=8;
t=0:
dt:
tf;
y=zeros(1,length(t));
fork=1:
ny=y+c(k)*exp(p(k)*t);end;
plot(t,y),grid;
%实验二,内容3
a=input('输入多项式分母系数向量a=[a1,a2,...]=');
b=input('输入多项式分子系数向量b=[b1,b2,...]=');
u=input('输入信号u(t)=');
dt=0.2;tf=8;
t=0:
dt:
tf;
[r,p,k]=residue(b,a);
h=zeros(1,length(t));
fori=1:
length(a)-1;
h=h+r(i)*exp(p(i)*t);end
subplot(2,1,1),plot(t,h),grid;title('冲激响应');
y=conv(u,h);
subplot(2,1,2),plot(t,y(1:
length(t))),grid;title('零状态响应');
试验三连续系统的频域分析
一、试验目的:
分析傅里叶级数以及利用傅氏变换研究信号频谱。
二、试验内容及要求:
编制Matlab程序,实现以下内容
1傅氏级数:
将周期为T=2π,幅度为1的对称方波分解为多次正弦波之和,用Matlab演示谐波合成情况。
(取到7次谐波)
2利用Matlab分析矩形脉冲信号的频谱;
求f(t)=u(t+0.5)-u(t-0.5)的傅立叶变换
三、实验步骤:
打开电脑,双击桌面Matlab程序图标,打开文件菜单,点击新建M文件,在M文件编辑器中编写程序,编写完毕后按F5键运行调试。
四、实验原理:
傅式级数所选项数越多,相加后波形越逼进原信号,二者方均误差越小;当信号是脉冲信号时,其高频分量主要影响脉冲的跳变沿,低频分量主要影响脉冲的顶部,即信号波形变化越剧烈,包含的高频成分越丰富;变化越缓慢,包含的低频成分越丰富;当信号中任一频谱分量的幅度或相位发生相对变化时,输出波形一般要发生失真。
傅立叶变换对:
——傅立叶正变换;
——傅立叶逆变换,简写
傅立叶变换的物理意义在于信号可分解为无穷多个幅度为无穷小的连续指数信号
之和,整个频域-∞→∞,由于幅度无穷小,所以频谱不能再用幅度表示,而改用密度函数表示。
五、试验报告要求:
试验报告应包含以下内容
试验目的、内容、步骤、原理、程序、图形(可打印)等。
附录
%实验三,内容1
function[h]=my301(a);
t=0:
0.01:
2*pi;
nn=a;
y1=0;
fori=1:
nn;
xb=i*2-1;
subplot(2,1,1),y=sin(xb*t)/xb;
plot(t,y),grid,holdon;title('对称方波傅式级数');
subplot(2,1,2)
y1=y1+y;
end
plot(t,y1),grid
h=0;%实验三,内容2
clear,tf=1;
N=256;
dt=1/N;t=[-N+1:
N]*dt;
f=[zeros(1,N/2),ones(1,N),zeros(1,N/2)];
wf=50;
nf=64;
w1=linspace(0,wf,nf);dw=wf/(nf-1);
f1=f*exp(-j*t'*w1)*dt;
w=[-fliplr(w1),w1(2:
nf)];
f2=[-fliplr(f1),f1(2:
nf)];
subplot(1,2,1),plot(t,f,'linewidth',1.5),axis([-1,1,-0.1,1.1]),grid;title('时域方波');
subplot(1,2,2),plot(w,abs(f2),'linewidth',1.5),grid;title('方波频谱');
试验四连续系统的复频域分析
一、试验目的
1观察系统的零极点分布对系统稳定性的影响以及系统的串并联。
2练习建立Simulink模型。
二、试验内容及要求:
1编制Matlab程序,实现以下内容:
系统的串、并联及反馈:
两个单入单出系统
、
,绘制出构成串联、并联及反馈系统后的零极点分布图,并判断稳定性。
2试用Simulink建立上题两系统串联、并联的模型;
设输入信号为阶跃信号,用示波器观察输出。
三、实验步骤:
打开电脑,双击桌面Matlab程序图标,打开文件菜单,点击新建M文件,在M文件编辑器中编写程序,编写完毕后按F5键运行调试。
点击Simulink图标,运行仿真工具箱,在对话框中拖拽各模块建立系统模型,完成之后按F5键运行调试
四、实验原理:
根据系统函数极点的分布,可判别系统的稳定性(零点分布只影响原函数幅度和相位)。
系统极点为一阶极点时,极点位于s平面左侧,h(t)收敛,系统稳定;极点位于s平面右侧,h(t)发散,系统不稳定;极点位于s平面虚轴上,h(t)等幅振荡,系统处于临界稳定状态。
系统极点为二阶极点时,极点位于s平面左侧,h(t)收敛,系统稳定;极点位于s平面右侧或虚轴上,h(t)发散,系统不稳定。
LTIS互联的系统函数:
LTI系统的并联:
LTI系统的级联:
LTI系统的反馈连接:
建立Simulink仿真框图参见下图例
(双击模块可更改参数)
五、试验报告要求:
试验报告应包含以下内容
试验目的、内容、步骤、原理、程序、图形(可打印)等。
附录
%实验四,内容1a
%计算传递函数
fA=[5,10];gA=[5,2,1];fB=4;gB=[1,1,0];
%串联
fh1=conv(fA,fB);
gh1=conv(gA,gB);
disp('串联后传递函数')
printsys(fh1,gh1,'s')
%并联
fh2=polyadd(conv(fA,fB),conv(gA,gB));
gh2=conv(gA,gB);
disp('并联后传递函数')
printsys(fh2,gh2,'s')
%反馈后传递函数
fh3=conv(fA,gB);
gh3=polyadd(conv(fA,fB),conv(gA,gB));
disp('反馈后传递函数')
printsys(fh3,gh3,'s')
%实验四,内容1b
%画零极点图
num=input('输入分子系数sum=[a1,a2,...]=');
den=input('输入分母系数den=[b1,b2,...]=');
[z,p]=tf2zp(num,den);
zplane(z,p),grid
试验五信号的调制与解调
一、试验目的:
1、了解用Matlab实现信号调制与解调的方法。
2、利用仿真工具箱实现调制与解调系统的框图。
二、试验内容:
1编制Matlab程序,实现信号的调制:
将一低频信号g(t)=cos5t进行调制,载波频率ω0=100,并绘制频谱图。
2利用Simulink建立内容1中所示框图的调制与解调模型(同步解调),并用示波器观察各点的时域波形,绘制频谱图。
三、实验步骤:
打开电脑,双击桌面Matlab程序图标,打开文件菜单,点击新建M文件,在M文件编辑器中编写程序,编写完毕后按F5键运行调试。
点击Simulink图标,运行仿真工具箱,在对话框中拖拽各模块建立系统模型,完成之后按F5键运行调试
四、实验原理:
在通信系统中,信号从发射端传输到接收端,为实现信号的传输,往往要进行调制和解调。
调制是将信号的频谱搬移到任何所需的较高频段上的过程。
调制有很多种比如调幅分为振幅调制(AM)、抑制载波振幅调制(AM-SC)、单边带调制(SSB)、残留边带调制(VSB)等,按控制载波的其他参数也有调频(FM)与调相(PM)等。
1、调制:
我们这里介绍抑制载波振幅调制(AM-SC),将调制信号g(t)与载波信号cosω0t(ω0)相乘,如图所示,得到已调信号f(t)=g(t)cosω0t。
根据傅氏变换性质知时域相乘,频域卷积可求出已调信号f(t)的频谱
,这样就将调制信号g(t)的频谱G(ω)搬移到了比较高的一个频段上,搬移过程见下图。
2、解调:
解调是将已调信号恢复成原始信号的过程,与调制相反,如下图所示(同步解调)
这种解调方式要求接收段的本地载波与发送端的载波同频同相,所以成为同步解调,已调信号经乘法器输出g0(t)
对应频谱为
,g0(t)通过截止频率ωm<ωc<2ω0-ωm的低通滤波器就可以恢复出原调制信号g(t),完成解调,频谱图如下:
五、试验报告要求:
试验报告应包含以下内容
试验目的、内容、步骤、原理、程序、图形(可打印)等。
附录
%实验五,内容1
%信号调制
clear
t=linspace(0,2*pi,1001);
u=[0.5,0.5];
u1=cos(5*t);
u2=cos(100*t);
u31=u
(1)*cos(95*t);
u32=u
(2)*cos(105*t);
u3=u31+u32;
subplot(3,1,1),plot(t,u1),grid;title('调制');
subplot(3,1,2),plot(t,u2),grid
subplot(3,1,3),plot(t,u3),grid
试验六调幅信号通过带通滤波器
一、实验目的:
1掌握调幅信号通过带通滤波器的原理,以及其分析过程;
2练习建立Simulink模型。
二、试验内容:
1编制Matlab程序,实现以下内容调幅信号通过带通滤波器:
已知带通滤波器系统函数为:
激励电压u1(t)=(1+cost)cos100t,求
(1)带通滤波器的频率响应;
(2)输出的稳态响应。
2试用Simulink建立上题的模型;(观察滤波器前后的波形)讨论结果。
三、实验步骤:
打开电脑,双击桌面Matlab程序图标,打开文件菜单,点击新建M文件,在M文件编辑器中编写程序,编写完毕后按F5键运行调试。
点击Simulink图标,运行仿真工具箱,在对话框中拖拽各模块建立系统模型,完成之后按F5键运行调试
四、实验原理:
如果调制信号具有多个频率分量,为保证传输波形的包络不失真,要求理想带通滤波器:
幅频特性在通带内为常数;相频特性应为通过载频点的直线。
用带通系统传输调幅波的过程中,只关心包络波形是否产生失真,不注意载波相位如何变化,因为在接收端经解调后得到所需的包络信号,载波本身并未传递消息。
经此带通系统后,调幅波包络的相对强度减小(也即“调幅深度”减小);包络产生延时,延时时间t可由相移值与频率差值之比求得:
五、试验报告要求:
试验报告应包含以下内容
试验目的、内容、步骤、原理、程序、图形(可打印)等。
附录
%实验六,内容1
%信号通过带通滤波器
clear
t=linspace(0,2*pi,1001);
w=[99,100,101];
u=[0.5,1,0.5];
b=[2,0];a=[1,2,10001];
u1=u*cos(w'*t+angle(u')*ones(1,1001));
h=freqs(b,a,w);
%画频率响应
figure
(1)
subplot(2,1,1),plot(w,abs(h)),grid;title('带通滤波器频率响应');
subplot(2,1,2),plot(w,angle(h)),grid
u21=abs(u
(1)*h
(1))*cos(99*t+angle(u
(1)*h
(1)));
u22=abs(u
(2)*h
(2))*cos(100*t+angle(u
(2)*h
(2)));
u23=abs(u(3)*h(3))*cos(101*t+angle(u(3)*h(3)));
u2=u21+u22+u23;
%画信号波形
figure
(2)
subplot(2,1,1),plot(t,u1),grid;title('调幅信号通过带通滤波器');
subplot(2,1,2),plot(t,u2),grid