第七章2由差分方程求响应和卷积选编
- 格式:ppt
- 大小:4.45 MB
- 文档页数:60
实验一:线性卷积和求差分方程的单位样值响应一、实验目的利用MATLAB写程序,能够完成线性卷积、差分方程的单位冲激(样值)响应和单位阶跃响应、H(z)的零极点图。
二、实验内容1、利用MATLAB计算线性卷积。
2、差分方程单位冲激(样值)响应h(n)。
3、差分方程单位阶跃响应g(n)。
4、画H(z)的零极点图。
三、实验过程1、线性卷积%线性卷积{2 1 3 7}2*{2 7}-1x1=[2 1 3 7];x2=[2 7];N1=length(x1);N2=length(x2);N3=N1+N2-1;n1=2:N1+1;n2=-1:N2-2;n3=1:N3;x3=conv(x1,x2);subplot(3,1,1);stem(n1,x1,'.k');title('x1(n)的图形');xlabel('n1');ylabel('x1(n)');subplot(3,1,2);stem(n2,x2,'.k');title('x2(n)的图形');xlabel('n2');ylabel('x2(n)');subplot(3,1,3);stem(n3,x3,'.k');title('x3(n)的图形');xlabel('n3');ylabel('x3(n)');grid on;2、差分方程单位冲激(样值)响应h(n)%h(z)=y(z)/x(z)=1/(1-(1/2)z^-1)b=[1];a=[1,-0.5];x=[1 zeros(1,100)];hn=filter(b,a,x);n=0:100;stem(n,hn,'.k');3、差分方程单位阶跃响应g(n)g(n)=2*u(n)-(1/2)^n*u(n)%h(z)=y(z)/x(z)=1/(1-(1/2)z^-1)b=[1];a=[1,-0.5];hn=impz(b,a,100);n=0:99;gn=2-hn;stem(n,gn,'.k');1、画H(z)的零极点图系统差分方程为y(n)+5y(n-1)+4y(n-2)=x(n),x(n)=2^n*u(n),y(-1)=0,y(-2)=1。
差分方程求单位样值响应差分方程是一种描述离散时间系统行为的数学工具。
它能够用来计算单位样值响应,即系统对单位冲激函数的响应。
单位样值响应反映了系统对单位冲激输入的输出。
为了理解差分方程和单位样值响应的概念,我们首先需要了解离散时间系统。
离散时间系统是指系统在离散的时间点上对信号进行处理和转换的系统。
离散时间系统可以使用差分方程进行建模和分析。
差分方程由差分方程的一阶递归形式表示,具有以下形式:y[n] = a0 x[n] + a1 x[n-1] + a2 x[n-2] + ... + ak x[n-k] -b1 y[n-1] - b2 y[n-2] - ... - bl y[n-l]其中,y[n]表示输出信号,x[n]表示输入信号,a0、a1、a2、..、ak表示输入信号的系数,b1、b2、..、bl表示输出信号的系数,n表示当前时间点。
我们希望计算的是单位样值响应,也就是输入信号x[n]为单位冲激函数δ[n]时系统的输出信号y[n]。
单位冲激函数在n=0时取值为1,其他时间点取值为0。
因此,当输入信号为单位冲激函数时,差分方程变为:y[n] = a0 δ[n] + a1 δ[n-1] + a2 δ[n-2] + ... + ak δ[n-k] - b1 y[n-1] - b2 y[n-2] - ... - bl y[n-l]单位样值响应的计算可以通过递推的方式进行。
假设我们已经知道了y[0]、y[1]、..、y[n-1]的值,那么根据差分方程的递归形式,可以计算出y[n]的值。
逐步递推之后,我们就能够得到完整的单位样值响应序列。
以下我们通过一个具体的例子来演示如何计算单位样值响应。
假设我们有一个差分方程如下:y[n]=0.5x[n]+0.2x[n-1]-0.3y[n-1]这是一个一阶差分方程,其中系数分别为a0=0.5、a1=0.2、b1=-0.3、我们要计算的是该差分方程的单位样值响应。
首先,将输入信号替换为单位样值响应函数:y[n]=0.5δ[n]+0.2δ[n-1]-0.3y[n-1]然后,根据递推关系式计算y[n]的值。
实验二 差分方程的求解和离散系统频率响应的描述一、 实验目的1、掌握用MATLAB 求解差分方程的方法。
2、掌握绘制系统的零极点分布图和系统的频率响应特性曲线的方法。
3、 观察给定系统的冲激响应、阶跃相应以及系统的幅频特性和相频特性二、 实验内容1、已知描述离散新天地差分方程为:y(n+2)-0,25y(n+1)+0.5y(n)=x(n)+x(n-1),且知该系统输入序列为)()2/1()(n u n x n =,试用MATLAB 实现下列分析过程:画出输入序列的时序波形;求出系统零状态响应在0~20区间的样值;画出系统的零状态响应波形图。
2、一离散时间系统的系统函数:5731053)(2323-+-+-=z z z zz z z H ,试用MA TLAB 求出系统的零极点;绘出系统的零极点分布图;绘出响应的单位阶跃响应波形。
三、 实验报告要求1、求出各部分的理论计算值, 并与实验结果相比较。
2、绘出实验结果波形(或曲线),并进行分析。
3、写出实验心得。
附录:本实验中所要用到的MATLAB 命令1、系统函数H(z)在MATLAB 中可调用函数zplane (),画出零极点分布图。
调用格式为: zplane (b,a ) 其中a 为H (z )分母的系数矩阵,b 为H(z)分子的系数矩阵。
例2-1:一个因果系统:y (n )-0.8y(n -1)=x(n)由差分方程可求系统函数 8.0,8.011)(1>-=-z z z H零极点分布图程序:b=[1,0];a=[1,-0.8];zplane(b,a)2、求解差分方程在MA TLAB中,已知差分方程的系数、输入、初始条件,调用filter()函数解差分方程。
调用filter()函数的格式为:y=filtier(b,a,x,xic),参数x为输入向量(序列),b,a分别为(1-30)式中的差分方程系数,xic是等效初始状态输入数组(序列)。
确定等效初始状态输入数组xic(n),可使用Signal Processing toolbox中的filtic()函数,调用格式为:y=filtic(b,a,y,x) 。
差分方程所描述的离散系统的单位序列响应求法下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。
文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!本店铺为大家提供各种类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you! In addition, this shop provides you with various types of practical materials, such as educational essays, diary appreciation, sentence excerpts, ancient poems, classic articles, topic composition, work summary, word parsing, copy excerpts, other materials and so on, want to know different data formats and writing methods, please pay attention!一、引言在离散系统中,差分方程被广泛应用于描述系统的动态行为。
实验2 离散系统的差分方程、冲激响应和卷积分析实验目的:加深对离散系统的差分方程、冲激响应和卷积分析方法的理解。
实验原理:离散系统其输入、输出关系可用以下差分方程描述:∑=∑=-=-M k k N k k k n x p k n y d 0][][输入信号分解为冲激信号,∑-=∞-∞=m m n m x n x ][][][δ。
记系统单位冲激响应][][n h n →δ,则系统响应为如下的卷积计算式:∑∞-∞=-=*=m m n h m x n h n x n y ][][][][][当Nk d k ,...2,1,0==时,h[n]是有限长度的(n :[0,M]),称系统为FIR 系统;反之,称系统为IIR 系统。
在MATLAB 中,可以用函数y=Filter(p,d,x) 求解差分方程,也可以用函数 y=Conv(x,h)计算卷积。
实验内容:编制程序求解下列两个系统的单位冲激响应和阶跃响应,并绘出其图形。
[]0.6[1]0.08[2][][1]y n y n y n x n x n +-+-=--[]0.2{[1][2][3][4][5][6]}y n x n x n x n x n x n x n =-+-+-+-+-+-实验要求:给出理论计算结果和程序计算结果并讨论。
实验过程:[]0.6[1]0.08[2][][1] +-+-=--y n y n y n x n x n (1)单位冲激响应:>> a=[1,0.6,0.08];>> b=[1,-1];>> N=20;>> x=[1,zeros(1,N)];>> y=filter(b,a,x);>> stem(y);>> xlabel('时间序列n');>> ylabel('信号幅度');>> title('单位冲激响应h(n)');>>(2)单位阶跃响应:>> a=[1,0.6,0.08];>> b=[1,-1];>> N=20;>> x=[ ones(1,N)];>> y=filter(b,a,x);>> stem(y);>> xlabel('时间序号');>> ylabel('信号幅度');>> title('单位阶跃响应h (n )'); >>理论分析:由差分方程得系统函数为:1121()10.60.08zH z zz----=++利用分部分式法可得:1176()10.410.2H z zz--=-++,z 反变换得:()[7(0.4)6(0.2)nnh n u n =⋅--⋅- h(n)即为单位冲击响应。
7-5 离散系统的卷积和分析一、离散时间信号的时域分解根据单位序列)(k δ及单位移位序列)(m k -δ的抽样性,即)()0()()(k f k k f δδ= )()()()(m k m f m k k f -=-δδ可将任意序列f(k)用单位序列及其移位序列表示,即=⋅⋅⋅+-+-+++-+⋅⋅⋅=)2()2()1()1()()0()1()1()(k f k f k f k f k f δδδδ∑∞-∞=-i i k k f )()(δ (7-31)可见任意离散时间信号在时域可表示为)(i k -δ的线性组合,或者为在不同离散序号上出现的具有不同加权值的离散序列和。
对于右边序列有∑∞=-=0)()()(i i k i f k f δ例如,对于图7-21所示离散时间,可表示为)5(2)4(4)3(6)2(4)1(2)(-+-+-+-+-=k k k k k k f δδδδδ二、卷积和设两个离散时间信号为)(1k f 和)(2k f ,定义)(1k f 与)(2k f 的卷积和运算为)()()()(2121i k fi f k f k f i -=*∑∞-∞= (7-32)与连续时间信号的卷积积分相同,卷积求和也满足基本运算规律,即k图 7 - 21交换律:)()()()(1221k f k f k f k f *=* (7-33)分配律:)()()()()]()([)(3121321k f k f k f k f k f k f k f *+*=+* (7-34) 结合律:)()]()([)]()([)(321321k f k f k f k f k f k f **=** (7-35)卷积和也可通过图解法来计算,其基本步骤与卷积积分类似,可分解为反折、平移、相乘、取和等,现通过下例说明。
例7-17 图7-22所示离散信号)(1k f 和)(2k f ,求)()()(21k f k f k y *=。
实验二 差分方程的求解和离散系统频率响应的描述一、 实验目的1、掌握用MATLAB 求解差分方程的方法。
2、掌握绘制系统的零极点分布图和系统的频率响应特性曲线的方法。
3、 观察给定系统的冲激响应、阶跃相应以及系统的幅频特性和相频特性二、 实验内容1、已知描述离散新天地差分方程为:y(n+2)-0,25y(n+1)+0.5y(n)=x(n)+x(n-1),且知该系统输入序列为)()2/1()(n u n x n =,试用MATLAB 实现下列分析过程:画出输入序列的时序波形;求出系统零状态响应在0~20区间的样值;画出系统的零状态响应波形图。
2、一离散时间系统的系统函数:5731053)(2323-+-+-=z z z z z z z H ,试用MA TLAB 求出系统的零极点;绘出系统的零极点分布图;绘出响应的单位阶跃响应波形。
三、 实验报告要求1、求出各部分的理论计算值, 并与实验结果相比较。
2、绘出实验结果波形(或曲线),并进行分析。
3、写出实验心得。
附录:本实验中所要用到的MATLAB 命令1、系统函数H(z)在MATLAB 中可调用函数zplane (),画出零极点分布图。
调用格式为: zplane (b,a ) 其中a 为H (z )分母的系数矩阵,b 为H(z)分子的系数矩阵。
例2-1:一个因果系统:y (n )-0.8y(n -1)=x(n)由差分方程可求系统函数 8.0,8.011)(1>-=-z zz H 零极点分布图程序:b=[1,0];a=[1,-0.8];zplane(b,a)2、求解差分方程在MA TLAB中,已知差分方程的系数、输入、初始条件,调用filter()函数解差分方程。
调用filter()函数的格式为:y=filtier(b,a,x,xic),参数x为输入向量(序列),b,a分别为(1-30)式中的差分方程系数,xic是等效初始状态输入数组(序列)。
确定等效初始状态输入数组xic(n),可使用Signal Processing toolbox中的filtic()函数,调用格式为:y=filtic(b,a,y,x) 。
实验报告专业:班级:指导老师:姓名:学号:实验室:实验名称:离散系统的差分方程,冲击响应和卷积分析时间:一,实验目的及要求(一)实验目的加深对离散系统的差分方程,冲击响应和卷积分析的理解二,实验要求给出理论计算结果和程序计算结果并讨论(二)实验原理在matlab中,可以用函数y=Filter(p,d,x)求解差分方程,也可以用函数y=Conv(x,h)计算卷积。
三,实验内容(1)卷积的计算n=1:50;hb=zeros(1,50);hb(1)=1;hb(2)=2.5;hb(3)=2.5;hb(4)=1;close allsubplot(3,1,1);stem(hb);title('25FF.系统hb[n]');m=1:50;A=444.128;a=50*sqrt(2.0)*pi;T=0.001;w0=50*sqrt(2.0)*pi;x=A*exp(-a*m*T).*sin(w0*m*T);subplot(3,1,2);stem(x);title('25FF.输入信号x[n]'); y=conv(x,hb);subplot(3,1,3);stem(y);title('25FF.输出信号y[n]'); (2)卷积定律验证k=-25:25;X=x*(exp(-j*pi/12.5)).^(n'*k);magX=abs(X);subplot(3,2,1);stem(magX);title('25FF.输入信号的幅度谱');angX=angle(X);subplot(3,2,2);stem(angX);title('25FF.输入信号的相位谱');Hb=hb*(exp(-j*pi/12.5)).^(n'*k);magHb=abs(Hb);subplot(3,2,3);stem(magHb);title('25FF.系统响应的幅度谱');angHb=angle(Hb);subplot(3,2,4);stem(angHb);title('25FF.系统响应的相位谱');n=1:99;k=1:99;Y=y*(exp(-j*pi/12.5)).^(n'*k);magY=abs(Y);subplot(3,2,5);stem(magY);title('25FF.输出信号的幅度谱');angY=angle(Y);subplot(3,2,6);stem(angY);title('25FF.输出信号的相位谱');XHb=X.*Hb;Subplot(2,1,1);stem(abs(XHb));title('25FF.x(n)的幅度谱与hb(n)幅度谱相乘'); Subplot(2,1,2);stem(abs(Y));title('25FF.y(n)的幅度谱');axis([0,60,0,8000])编制程序求解下列两个系统的单位冲击响应和阶跃响应,并绘出其图形。
实验报告一、实验室名称:信号与系统实验室二、实验项目名称:离散系统的冲激响应、卷积和三、实验原理:在离散时间情况下,最重要的是线性时不变(LTI )系统。
线性时不变系统的输入输出关系可通过冲激响应h[ n] 表示y[ n]x[ n]h[n]x[ k] h[ n k ]k其中表示卷积运算,MATLAB提供了求卷积函数conv,即y= conv(x,h)这里假设 x[n] 和 h[n] 都是有限长序列。
如果x[n]仅在 n x n n x N x1区间内为非零,而 h[n]仅在 n h n n h N h1上为非零,那么y[n] 就仅在(n x n h )n( n x n h )N x N h2内为非零值。
同时也表明conv只需要在上述区间内计算y[n]的 N x N h 1 个样本值。
需要注意的是, conv 并不产生存储在 y 中的 y[n]样本的序号,而这个序号是有意义的,因为 x 和 h 的区间都不是 conv 的输入区间,这样就应负责保持这些序号之间的联系。
filter命令计算线性常系数差分方程表征的因果LTI 系统在某一给定输入时的输出。
具体地说,考虑一个满足下列差分方程的LTI系统:N Ma k y[ n k ]b m x[ n m]k 0m 0式中x[n]是系统输入,y[n]是系统输出。
若x 是包含在区间n x n n x N x1内x[n]的一个MATLAB向量,而向量 a 和b 包含系数a k和 b k,那么y=filter(b,a,x)就会得出满足下面差分方程的因果LTI 系统的输出:N Ma(k 1) y[n k]b(m 1) x[ n m]k 0m 0注意, a( k 1) a k和 b(m 1) b m,因为MATLAB要求所有的向量序号都从1开始。
例如,为了表示差分方程y[ n] 2 y[ n 1] x[ n] 3x[ n1] 表征的系统,就应该定义 a=[1 2] 和 b=[1 -3]。