实验一:系统响应及系统稳定性
一、实验目的
1、 掌握求系统响应的方法;
2、 掌握时域离散系统的时域特性;
3、 分析、观察及检验系统的稳定性。
二、实验原理及方法
1、 递推法求解差分方程的解;
2、 yn=filter(B,A,xn)函数,用于求解差分方程,B表示y(n)系数,A表示x(n)系数,xn表示输入函数,本函数用于求零状态响应;
3、 yn=conv(x1n,x2n)函数,用于求x1n和x2n的卷积和;
4、 MATLAB中检测系统稳定性的可行方法是:在系统的输入端加入单位阶跃序列,如果系统的输出趋于一个常数(包括零),就可以断定系统是稳定的。
三、实验题目
1、 给定一个低通滤波器的差分方程为
y(n)=0.05x(n)+0.05x(n-1)+0.9y(n-1)
输入信号
x1(n)=R8(n), x2(n)=u(n)
a.
分别求出x1(n)=R8(n)和x2(n)=u(n)的系统响应,并画出波形。
b.
求出系统的单位脉冲响应,画出其波形。
2、 给定系统的单位脉冲响应为
h1(n)=R10(n),
h2(n)=δ(n)+2.5δ(n-1)+2.5δ(n-2)+δ(n-3)
用线性卷积法求x1(n)=R8(n)分别对系统h1(n) 和h2(n)的输出响应,并画出波形。
3、 给定一谐振器的差分方程为
y(n)=1.8237y(n-1)-0.9801y(n-2)+b0x(n)-b0x(x-2)
令b0=1/100.49,谐振器的谐振频率为0.4rad.
a.
用实验方法检查系统是否稳定。输入信号为u(n)时,画出系统输出波形。
b.
给定输入信号为:x(n)=sin(0.014n)+sin(0.4n),求出系统的输出响应,并画出其波形。
四、实验代码及实验结果
1、
A=[1,-0.9];
B=[0.05,0.05]; //输入差分方程
x1n=[1 1 1 1 1 1 1 1 zeros(1,50)];
x2n=ones(1,128); //输入x1(n),x2(n)
y1n=filter(B,A,x1n); .//计算x1(n)的系统响应
y2n=filter(B,A,x2n); //计算x2(n)的系统响应
n1=0:length(y1n)-1;
n2=0:length(y2n)-1; //横坐标取值
subplot(1,2,1);
stem(n1,y1n,’.’);
subplot(1,2,2);
stem(n2,y2n,’.’); //画图,左图为x1(n)的系统响应,右图为x2(n)的系统响应
hn=[1 zeros(1,50)]; //输入单位脉冲
y3n=filter(B,A,hn);
n3=0:length(y3n)-1;
subplot(1,1,1);
stem(n3,y3n,’.’); //方法同上
2、
h1n=[1 1 1 1 1 1 1 1 1 1 ];
h2n=[1 2.5 2.5 1 zeros(1,50)];
x1n=[1 1 1 1 1 1 1 1 ];
y1n=conv(h1n,x1n); //conv(x,y),求卷积和函数
n1=0:length(y1n)-1;
subplot(1,2,1); //左图为x1(n)对h1(n)的输出响应
stem(n1,y1n,’.’);
y2n=conv(h2n,x1n); //右图为x1(n)对h2(n)的输出响应
n2=0:length(y2n)-1;
subplot(1,2,2);
stem(n2,y2n,’.’); //方法同上
3、
A=[1 -1.8237 0.9801];
B=[1/100.49 0 -1/100.49];
xn=sin(0.014n)+sin(0.4n);
y4n=filter(B,A,xn);
n4=0:length(y4n)-1;
subplot(1,1,1);
stem(n4,y4n,’.’);
un1=ones(1,201);
y1n=filter(B,A,un1);
n1=0:length(y1n)-1;
subplot(1,2,1);
stem(n1,y1n,’.’);
un2=ones(1,1001);
y2n=filter(B,A,un2);
n2=0:length(y2n)-1;
subplot(1,2,2);
stem(n2,y2n,’.’);
五、思考题
1、 如果输入信号为无限长序列,系统的单位脉冲响应是有限长序列,可否用线性卷积法求系统的响应?如何求?
答:a.对输入序列分段;b.求单位脉冲响应h(n)与各段的卷积;c.将各段卷积结果相加。
2、 如果信号经过低通滤波器,把信号的高频分量滤掉,时域信号会有何变化?
答:时域变化会变缓。