系统响应及系统稳定性 (1)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一及课堂作业
实验一:系统响应及系统稳定性
一、实验原理与方法
1、在时域求系统响应的方法有两种:第一种是通过解差分方程求得系统输出;第二种是已知系统的单位脉冲响应,通过求输入信号和系统单位脉冲响应的线性卷积求得系统输出。
2、检验系统的稳定性,其方法是在输入端加入单位阶跃序列,观察输出波形,如果波形稳定在一个常数值(包括零)上,系统稳定,否则不稳定。
3、系统的频域特性包括传输函数/特性(系统单位脉冲响应的傅里叶变换——幅频、相频)、系统函数/特性(系统单位脉冲响应的Z 变换)、零极点分布等。分析系统的频域特性是为了知晓系统对不同频率的输入信号所产生的响应结果,因为零、极点分布对系统的频域特性有影响,通过控制系统函数的零、极点分布就可以设计出不同特性需求的系统。
二、实验内容
1、编制程序,包括产生输入信号、单位脉冲响应序列的子程序,用filter 函数或conv 函数求解系统输出响应的主程序。程序中要有绘制信号波形的功能。
2、给定一个低通滤波器的差分方程为 输入信号
(1)分别求出)(8)(1n R n x =和)()(2n u n x =)的系统响应,并画出其波形。 (2)求出系统的单位脉冲响应,画出其波形。程序见附录、实验结果见图。 3、给定系统的单位脉冲响应为?
用线性卷积法求)(8)(1n R n x =)分别对系统)(1n h 和)(2n h )的输出响应并画出波形。程序见附录、实验结果见图。
4、给定一谐振器的差分方程为?
令49.10010=b ,谐振器的谐振频率为rad 4.0。?
(1)用实验方法检查系统是否稳定,输入信号为)(n u 时,画出系统输出波形。
(2)给定输入信号为?
求出系统的输出响应,并画出其波形。程序见附录、实验结果见图。
三、实验结果和分析、讨论及结论
1、实验结果:
图 依据差分方程求取系统脉冲响应和输出响应
实验分析、讨论及结论:
(a )中25个点数和程序所写一致。Filter 函数实现线性常系数差分方程
的递推求解,调用格式如下:Y=[filter(B,A,x)] ***计算系统对输入信号x 的零状态响应输出信号向量Y ,B 、A 是差分方程的系数向量。即B=[a1,a2……am] A=[b1,b2……bn] 2、实验结果:
图 线性卷积求取二个不同系统输出响应
实验分析、讨论及结论:
(d )(f )单位脉冲响应点数与程序要求一致;(e )(g )卷积点数满足M+N-1的要求,图形也满足要求。
Conv 函数用于计算两个有限长序列的卷积;C=conv (A,B )计算两个有限长序列向量A 和B 的卷积 3、实验结果:
图 依据差分方程求取系统脉冲响应和输出响应
实验分析、讨论及结论:
在系统的输入端加入单位阶跃序列,如果系统的输出趋近一个常数(包括零),就可以断定系统是稳定的,(h )中的输出显然趋近于零,所以系统是稳定的。
在(i )中,谐振器具有对某个频率进行谐振的性质,本实验中的谐振器的谐振频率是 rad,因此稳定波形为sin 。
四、思考题
1、如果输入信号为无限长序列,系统的单位脉冲响应是有限长序列,可否用线性卷积法求系统的响应? 如何求?
答:如果输入信号为无限长序列,系统的单位脉冲响应是有限长序列,可用分段线性卷积法求系统的响应。具体步骤是✍对输入信号序列分段;✍求单位脉冲响应h (n )与各段的卷积;✍将各段卷积结果相加。具体实现方法有第三章P91介绍的重叠相加法和重叠保留法。 2、如果信号经过低通滤波器,把信号的高频分量滤掉,时域信号会有何变化,用前面第一个实验结果进行分析说明。
答:如果信号经过低通滤波器,则信号的高频分量将被过滤掉,时域信号的剧烈变化变的平滑,在有阶跃处附近产生过渡带。由实验内容1的结果图可见,经过系统低通滤波使得输入信号)()()(81n R n x n =、δ和)()(2n u n x =的阶跃变化变的缓慢上升与下降。
五、总结与心得体会
实验总结即在实验原理中说明的两点:
1、在时域求系统响应的方法有两种:第一种是通过解差分方程求得系统输出;第二种是已知系统的单位脉冲响应,通过求输入信号和系统单位脉冲响应的线性卷积求得系统输出。
2、检验系统的稳定性,其方法是在输入端加入单位阶跃序列,观察输出波形,如果波形稳定在一个常数值(包括零)上,系统稳定,否则不稳定。
实验的心得体会见下:
在此次试验中,通过课堂所留的三个例子,温习了关于MATLAB 软件的操作及应用,基本使用方法和它的运行环境。又进一步地通过实验加深了对MATLAB
软件的了解,体会到了MATLAB具有完备的图形处理功能,实现计算结果和编程的可视化等功能。通过做实验的过程以及实验分析的结果,了解并学会了filter 函数和conv函数的基本用法,前者可计算知道输入信号的前提下求解输出响应的序列,后者则可以通过输入信号和系统的单位脉冲响应的线性卷积,求出系统的响应。
当然,在实验过程中,也遇到了一些问题,比如课堂作业的第三个问题里面,由于程序里面缺少“;”,导致少了一个结果图,通过检查并修改程序,解决了问题。总得来说,实验还是比较圆满的。
通过这次的实验。极大地提升了自己对于程序编辑的熟练度,增加了对于书本里面知识点的应用,更深一层的加深了对MATLAB软件的使用。这对自己以后的实验积累了丰富的经验。
六、附件:MATLAB原程序清单
调用conv函数计算卷积
close all;clear all
A=[1,];B=[,]; %系统差分方程系数向量B和A
x1n=[1 1 1 1 1 1 1 1 zeros(1,40)]; %产生信号x1(n)=R8(n),用zeros用来加点的个数
x2n=ones(1,60); %产生信号x2(n)=u(n)
hn=impz(B,A,40); %求系统单位脉冲响应h(n)
subplot(3,1,1);stem(hn); %调用函数stem绘图
title('(a) 系统单位脉冲响应h(n)');
y1n=filter(B,A,x1n); %求系统对x1(n)的响应y1(n)
subplot(3,1,2);stem(y1n);
title('(b) 系统对R8(n)的响应y1(n)');
y2n=filter(B,A,x2n); %求系统对x2(n)的响应y2(n)
subplot(3,1,3);stem(y2n);
title('(c) 系统对u(n)的响应y2(n)');
利用线性卷积求取二个不同系统输出响应
close all;clear all
x1n=[ones(1,8)]; %产生信号x1(n)=R8(n)
h1n=[ones(1,10) zeros(1,10)];
h2n=[1 1 zeros(1,10)];
y21n=conv(h1n,x1n);
y22n=conv(h2n,x1n);
subplot(2,2,1);stem(h1n);
title('(d) 系统单位脉冲响应h1(n)');
subplot(2,2,3);stem(y21n);
title('(e) h1(n)与R8(n)的卷积y21(n)');
subplot(2,2,2);stem(h2n);
title('(f) 系统单位脉冲响应h2(n)');
subplot(2,2,4);stem(y22n);
title('(g) h2(n)与R8(n)的卷积y22(n)');
调用filter解差分方程求取系统单位脉冲响应和输出响应