- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
最近下载
- 江苏2026届高三语文复习:写作课时作业.doc VIP
- 第3课《雕塑着色变彩身》-2025-2026学年岭南美版(2024)美术新教材八年级上册.pptx VIP
- 肾上腺囊肿的护理业务学习.pptx VIP
- 冀教版七年级上册数学精品教学课件 第五章 一元一次方程 项目学习——主题活动(一) 做个小小会计师.ppt VIP
- 临时用电及防爆-授课版.pdf VIP
- CH3.5.5.11自研软件网络安全研究报告.doc VIP
- 自动扶梯调试手册YSTS-0001-C.docx VIP
- 2022年历史学研究发展报告.docx VIP
- T_CITS 233-2025 液相色谱-质谱联用用于脂溶性维生素检测通用技术要求.pdf VIP
- 中建建筑给排水工程施工方案.pdf VIP
文档评论(0)