数字信号处理实验一时域频域采样 程序结果实验思考题

  • 格式:doc
  • 大小:349.50 KB
  • 文档页数:3

实验一:系统响应及系统稳定性
一、实验目的:
1.掌握求系统响应的方法。 2.掌握时域离散系统的时域特性。
3.分析、观察、及检验系统的稳定性。
二、实验原理与方法:
1.在时域中描写系统特性的方法是差分方程和单位脉冲响应,在频域中可以用系统函数描
述系统特性。可以用matlab中函数filter函数求解,或用conv函数计算输入信号和系统的
单位脉冲响应的卷积。
2.系统的时域特性是指系统的线性时不变性质、因果性和稳定性(包括瞬态响应和稳态响应)
3.系统稳定是指对任意输入的有界信号,都能得到有界的系统响应,或者系统单位脉冲响应
满足觉得可和条件。可采用以下方法检验系统稳定性:对系统输入单位阶跃序列,若输出为
趋于一常数,则是稳定的。
4.注意:以下实验均假设系统的初始状态为零。
三、实验内容及步骤:
(1)给定一个低通滤波器的差分方程为y(n)=0.05x(n)+0.05x(n-1)+0.9y(n-1)输入信号
x1(n)=R8(n),x2(n)=u(n)。分别求出x1(n)=R8(n),x2(n)=u(n)的系统响应、求出系统的单位脉冲
响应,并画出波形。


1实验程序:

%ep141.m:
A=[1,-0.9],B=[0.05,0.05]; %给定差分方程系数
x1n=[1,1,1,1,1,1,1,1 zeros(1,50);%定义x1n为R8(n),其中zeros(1,50)是产生1行50列的零矩阵
x2(n)=ones(1,128); %定x2(n),其中ones(m,n)为产生m行n列一数组。
y1n=filter(B,A,x1n); %对x1(n)的系统响应y1(n)
n=0:length(y1n)-1;
subplot(2,2,1);stem(n,y1n,’.’);title(‘(a)’);xlabel(‘n’);ylabel(‘y1(n)’);产生图形分布为两行两列,title为a的图
排在第一个。
y2n=filter(B,A,x2n); %对 x2(n)的系统响应y2(n)
n=0:length(y2n)-1;
subplot(2,2,2);stem(n,y2n,'.'); title('(b) ;xlabel('n');ylabel('y2(n)');
hn=impz(B,A,58); %求单位脉冲响应h(n),impz(p,d,N)代表求冲击响应。
n=0:length(hn)-1;
subplot(2,2,3);y=hn;stem(n,hn,'.'); title('(c);xlabel('n');ylabel('h(n)');


2实验结果:
(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)的输出响应,并画出波形。


1实验程序:

%ep141.m:
x1n=[1 1 1 1 1 1 1 1 ]; %定义信号x1(n)=R8(n)
h1n=ones(1,10); %定义h1(n)为R10(n),ones(1,10)产生1行10列的1数组。
h2n=[1 2.5 2.5 1 ]; %定义h2(n)
y1n=conv(h1n,x1n); %定义y1(n)为x1(n)与h1(n)的卷积
y2n=conv(h2n,x1n);
n=0:length(h1n)-1;
subplot(2,2,1);stem(n,h1n); title('(a) ');xlabel('n');ylabel('h1(n)'); %显示h1(n)图形于title‘a’的图片中
n=0:length(y1n)-1;
subplot(2,2,2);stem(n,y21n); title('(b) ');xlabel('n');ylabel('y1(n)'); 求y1(n)并显示于图片b中
n=0:length(h2n)-1;
subplot(2,2,3);stem(n,h2n); title('(c) ');xlabel('n');ylabel('h2(n)');
n=0:length(y2n)-1;
subplot(2,2,4);stem(n,y22n); title('(d) ');xlabel('n');ylabel('y2(n)');


2实验结果

(3)给定一谐振器的差分方程为y(n)=1.8237y(n-1)-0.9801y(n-2)+b0x(n)-b0x(n-2),令b0=1/100.49,谐
振器的谐振频率为0.4rad。用实验方法检查系统是否稳定,当输入信号为u(n)时画出系统输出波形。
当给定输入信号为x(n)=sin(0.014n)+sin(0.4n)时,求系统的输出响应,并画出其波形。


1实验程序:

un=ones(1,256); % 定义单位阶跃序列un,ones(1,256)产生一行256列的1数组。
xn=sin(0.014*n)+sin(0.4*n); %定义x(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,xn); %系统对x(n)的响应为y32(n)
n=0:length(y31n)-1; %求y31(n)
subplot(2,1,1);stem(n,y31n,'.'); title('(h) ');xlabel('n');ylabel('y31(n)'); %图像共有两行一列,h
图位于第一张。
n=0:length(y32n)-1;
subplot(2,1,2);stem(n,y32n,'.'); title('(i) ');xlabel('n');ylabel('y32(n)');


2实验结果:根据判定方法,当n→∞时,y31(n) →常数,故为稳定的,而y32(n)是不稳定的。

四、思考题:
1.如果输入信号为无限长序列,系统的单位脉冲响应是有限长序列,可否用线性卷积法求系统的响应?
如何求?
答:可以,卷积的实质就是两个信号相乘再相加,因此可以在输入信号与系统相乘有意义的区段内进行
相乘,再相加。
2.如果信号经过低通滤波器,把信号的高频分量滤掉,时域信号会有何变化?用第一个实验结果进行分
析说明。
答:系统响应的变化会变慢。如实验结果所示,随时间增大,变化趋于平稳。
3.简述在时域求系统响应的方法。
答:有图解法,解析法,或用matlab计算两个有限长序列的卷积。