信号与系统实训指导(MATLAB)第2章离散时间系统的时域分析.ppt

信号与系统实训指导(MATLAB)第2章离散时间系统的时域分析.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
   本章介绍离散时间系统的时域分析以及如何用MATLAB函数计算离散线性时不变系统的响应。2.1节简要介绍离散时间系统时域分析用到的MATLAB函数。2.2节介绍用递归法求解差分方程。2.3节介绍卷积的计算和用卷积求解离散系统的零状态响应。2.4节介绍用MATLAB求离散系统的单位阶跃响应和单位样值响应。2.5节介绍用MATLAB求离散系统对任意输入的响应。2.6节为线性时不变系统实例分析。      离散时间系统的时域分析涉及到的MATLAB函数主要有:    conv    dstep    dimpulse    filter   下面简要介绍这些函数。   1.conv   函数conv用来计算离散时间信号的卷积x(n)*h(n),用向量x和h分别定义序列x(n)和h(n)的元素,那么可以用命令    y=conv(x,h)   计算这两个序列的卷积。   函数conv还可以用于计算多项式的乘法。假设多项式a(s)的系数由向量a给出,多项式b(s)的系数由向量b给出,那么多项式a(s)b(s)的系数可以通过命令    ab=conv(a,b)   赋值给向量ab。   2.dstep   函数dstep用于计算离散时间系统的单位阶跃响应。   3.dimpulse   函数dimpulse用于计算离散时间系统的单位样值响应。   4.filter   函数filter用于计算离散系统在任意输入信号作用下的响应。      线性时不变离散时间系统可以用差分方程描述: (2.1) 式中:n是整数,x(n)是输入,y(n)是输出,系数ai(i=0,1,…,N)和bi(i=0,1,…,M)均为常数。一般情况下,a0=1,方程(2.1)可以写做 (2.2) 差分方程可以直接利用递归的方法来求解。将式(2.2)改写为 (2.3) 从式(2.3)可以看出,输出的下一个值是前N个输出值和M+1个输入值的线性组合。例如,y(0)是y(-1),y(-2),…,y(-N)和x(0),x(-1),…,x(-M)的线性组合。由式(2.2)或式(2.3)确定的离散时间系统也被称为递归离散时间系统。   需要注意的是,式(2.3)中至少有一个系数ai(i=1,2,…,N)是非零的。如果所有的ai为零,那么式(2.3)可以简化为 (2.4)   用MATLAB实现递归的方法时,把式(2.3)的系数ai(i=1,2,…,N)和bi(i=0,1,…,M)存在向量a=[a1a2…aN]和b=[b0b1b2…bM]中;输入信号x(n)存在向量x中;输入x(n)初始值和输出y(n)初始值存在向量x0=[x[n0-M],x[n0-M+1],…,x[n0-1]]和y0=[y[n0-N],y[n0-N+1],…,y[n0-1]]中;计算需要迭代的时间向量用n表示,这里n0表示向量n的第一个元素,如果迭代从n=0开始,那么n0=0;迭代输出的值保存在向量y中,y的第一个元素对应时间向量中的n0。迭代可以从任何时间开始。式(2.3)中的和式可以写成矩阵相乘的形式: (2.5)   根据以上分析,可以把递归的计算方法写成一个MATLAB函数:    functiony=recur(a,b,n,x,x0,y0);    N=length(a);    M=length(b)-1;    y=[y0zeros(1,length(n];    x=[x0x];    a1=a(length(a)∶-1∶1);    b1=b(length(b)∶-1∶1);    fori=N+1∶N+length(n),    y(i)=-a1*y(i-N∶i-1)′+b1*x(i-N∶i-N+M)′;    end    y=y(N+1∶N+length(n;   这个函数保存在名为recur.m的M文件中,在以后的计算中可以调用。   例2-1 用递归法求解差分方程 在0≤n≤5时的解,其中输入信号   解:这里我们调用recur函数来求解。设方程系数向量a=[-0.8],b=[2]。这是一个一阶差分方程,输出信号只有一个初始值为y(-1)=2,向量y0=[2]。因为输入信号为x(n)的形式,所以不需要添加输入信号在nn0时的初始值,向量x0=[]是一个空向量,但是在调用recur函数时这个向量需要定义。MATLAB程序如下:    a=[-0.8];b=[2];    x0=[];y0=[2];    n=0∶5;    x=n;    y=recur(a,b,n,x,x0,y0)    stem(n,y)    xlabel(′n′)    ylabel

文档评论(0)

autohhh + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档