Advertisement

数字信号处理实验一:系统响应及系统稳定性

阅读量:

实验内容:

开发一个系统用于处理信号处理任务。该系统涉及多个模块:一个是生成输入信号的子系统;另一个是基于单位脉冲响应序列设计的子模块;此外还包括利用filter或conv函数计算系统输出响应的主要计算模块。此外该系统具备可视化显示能力

(2)给定一个低通滤波器的差分方程为:

y=0.05x+0.05x+0.9y

输入信号:

x_{1}=R8,x_{2}=u

分别求出x1(n)=R8(n)和x2(n)=u(n)的系统响应,并画出其波 形。

求出系统的单位脉冲响应,画出其波形。

(3)给定系统的单位脉冲响应为

h_{1}=R_{10}
h_{2}=elta +2.5elta +2.5elta +elta

用线性卷积法求x1(n)=R8(n)分别对系统h1(n)和h2(n)的输出响应,并画出波形。

(4)给定一谐振器的差分方程为

y=1.8237y-0.9801y+b_{0}x-b_{0}x

b_{0}

=1/100.49,谐振器的谐振频率为0.4rad。

用实验方法检查系统是否稳定。输入信号为u(n)时,画出系统输出波形。

给定输入信号为

x=sin+sin

求系统的输出响应,并画出其波形。

实验代码:

主程序代码:

复制代码
 %实验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)信号的输出随着时间逐渐减弱并最终趋于零,这验证了系统的稳定性特性。进一步观察图i可以看出,当输入为x(n)=sin(0.014n)+sin(0.4n)时,系统的稳态响应呈现明显的正弦波形特征,这表明该系统的谐振频率确实位于0.4弧度的位置。

在时域中求取系统响应主要有两种不同的方式。其中一种方式是通过解差分方程来获得系统的输出结果;需要注意的是,在这种方法中需要合理设定初始条件。另一种方式则是基于已知系统的单位脉冲响应,在输入信号与单位脉冲响应进行线性卷积后可得到系统的输出结果。

为了检验系统的稳定性可以通过在输入端施加单位阶跃信号并监测输出波形的变化情况来实现。具体而言可以通过以下步骤进行分析:首先在系统输入端施加单位阶跃信号然后观察并记录系统的输出响应波形数据;接着根据获取的输出数据绘制时间域响应曲线并分析其动态特性和稳态特性;最后根据波形特征判断系统是否达到稳态并且维持在一个恒定值上若满足此条件则判定系统稳定;否则判定系统不稳定。

谐振器具有对特定频率进行选择性反应的特性,在本实验中使用的谐振器其固有频率为0.4 radian;其稳定波形表现为sin(0.4n)。

如果输入信号为无限长序列,系统的单位脉冲响应是有限长序列。

根据第一个实验图像可以看出,在信号经过低通滤波器作用后,其高频分量被有效抑制住了;这使得时域信号的变化趋于平稳,并且在存在阶跃突变的地方会出现明显的过渡区域。由此可见,在输入矩形脉冲序列时,其输出序列在起始和终止阶段会呈现较为明显的过渡特征。

全部评论 (0)

还没有任何评论哟~