实验内容:
(1)编制程序,包括产生输入信号、单位脉冲响应序列的子程序,以及filter函数或conv函数求解系统输出响应的主程序。程序中要有绘制信号波形的功能。
(2)给定一个低通滤波器的差分方程为:
输入信号:
分别求出x1(n)=R8(n)和x2(n)=u(n)的系统响应,并画出其波 形。
求出系统的单位脉冲响应,画出其波形。
(3)给定系统的单位脉冲响应为
用线性卷积法求x1(n)=R8(n)分别对系统h1(n)和h2(n)的输出响应,并画出波形。
(4)给定一谐振器的差分方程为
令=1/100.49,谐振器的谐振频率为0.4rad。
用实验方法检查系统是否稳定。输入信号为u(n)时,画出系统输出波形。
给定输入信号为
求系统的输出响应,并画出其波形。
实验代码:
主程序代码:
%实验1:系统响应及系统稳定性
close all;
%=====内容1:调用filter解差分方程,由系统对u(n)的响应判断稳定性=====
A=[1,-0.9];
B=[0.05,0.05]; %系统差分方程系数向量B和A
x1n=[1 1 1 1 1 1 1 1 zeros(1,50)]; %产生信号xl(n)=R8(n)
x2n=ones(1,128); %产生信号x2(n)=u(n)
hn=impz(B,A,58); %求系统单位脉冲响应h(n)
subplot(2,2,1);
y='h(n)';
tstem(hn,y); %调用函数tstem绘图
title('(a)系统单位脉冲响应h(n)');
box on
y1n=filter(B,A,x1n); %求系统对xl(n)的响应yl(n)
subplot(2,2,2);
y='y1(n)';
tstem(y1n,y);
title('(b)系统对R8(n)的响应y1(n)');
box on
y2n=filter(B,A,x2n); %求系统对x2(n)的响应y2(n)
subplot(2,2,4);
y='y2(n)';
tstem(y2n,y);
title('(c)系统对u(n)的响应y2(n)');
box on
%=====内容2:调用conv 函数计算卷积=====
x1n=[1 1 1 1 1 1 1 1];%产生信号x1(n)=R8(n)
h1n=[ones(1,10) zeros(1,10)];
h2n=[1 2.5 2.5 1 zeros(1,10)];
y21n=conv(h1n,x1n);
y22n=conv(h2n,x1n);
figure(2)
subplot(2,2,1);
y='h1(n)';
tstem(h1n,y);%调用函数tstem绘图
title('(d)系统单位脉冲响应h1(n)');
box on
subplot(2,2,2);
y='y21(n)';
tstem(y21n,y);
title('(e)hl(n)与R8(n)的卷积y21(n)');
box on
subplot(2,2,3);y='h2(n)';
tstem(h2n,y);%调用函数tstem绘图
title('(f)系统单位脉冲响应h2(n)');
box on
subplot(2,2,4);
y='y22(n)';
tstem(y22n,y);
title('(g)h2(n)与R8(n)的卷积y22(n)');
box on
%====内容3:谐振器分析====
un=ones(1,256);%产生信号u(n)
n=0:255;
xsin=sin(0.014*n)+sin(0.4*n);%产生正弦信号
A=[1,-1.8237,0.9801];B=[1/100.49,0,-1/100.49];%系统差分方程系数向量B和A
y31n=filter(B,A,un);%谐振器对u(n)的响应y31(n)
y32n=filter(B,A,xsin);%谐振器对u(n)的响应y31(n)
figure(3)
subplot(2,1,1);y='y31(n)';tstem(y31n,y);
title('(h)谐振器对u(n)的响应y31(n)');box on
subplot(2,1,2);y='y32(n)';tstem(y32n,y);
title('(i)谐振器对正弦信号的响应y32(n)');box on
tstem函数代码:
function tstem(xn,yn)
%时域序列绘图函数
% xn:信号数据序列,yn:绘图信号的纵坐标名称(字符串)
n=0:length(xn)-1;
stem(n,xn,'.');
xlabel('n');ylabel(yn);
axis([0,n(end),min(xn),1.2*max(xn)])
实验结果:
实验结果分析与实验总结:
图a,b,c分别对应系统单位脉冲响应,系统对x1(n)=R8(n)
和系统对x2(n)=u(n)的图像。
图e,g分别对应系统h1(n)和h2(n)对x1(n)=R8(n)的图像。
图h,i分别对应系统对u(n)和x(n)=sin(0.014n)+sin(0.4n)的响应序列的图像。由图h可见,系统对u(n)的响应逐渐衰减到0,证明了系统的稳定性。由图i可见,x(n)=sin(0.014n)+sin(0.4n)的稳态响应近似为正弦序列,这一结论验证了该系统的谐振频率是0.4 rad。
综合起来,在时域求系统响应的方法有两种,第一种是通过解差分方程求得系统输出,但是注意要合理地选择初始条件;第二种是已知系统的单位脉冲响应,通过求输入信号和系统单位脉冲响应的线性卷积求得系统输出。
要检验系统的稳定性,可以在输入端加入单位阶跃序列,观察输出波形,如果波形稳定在一个常数值上,系统稳定,否则不稳定。
谐振器具有对某个频率进行谐振的性质,例如本实验中的谐振器的谐振频率是0.4rad,因此稳定波形为sin(0.4n)。
如果输入信号为无限长序列,系统的单位脉冲响应是有限长序列。
由第一个实验图像可知,当信号经过低通滤波器时,信号的高频分量被滤掉,时域信号的变化减缓,在有阶跃处附近会出现过渡带。因此当输入矩形序列时,输出序列的开始和结束都会产生比较明显的过渡带。