连续时间LTI系统的时域分析_第1页
连续时间LTI系统的时域分析_第2页
连续时间LTI系统的时域分析_第3页
连续时间LTI系统的时域分析_第4页
连续时间LTI系统的时域分析_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、课程设计题目:基于 MATLAB的连续时间LTI 系统的时域分析二、基本要求: 掌握连续时不变信号处理的基本概念、基本理论和基本方法; 学会 MATLAB 的使用,掌握 MATLAB 的程序设计方法; 学会用 MATLAB 对信号进行分析和处理; 编程实现卷积积分或卷积和,零输入响应,零状态响应; 撰写课程设计论文,用信号处理基本理论分析结果。三、设计方法与步骤:一般的连续时间系统分析有以下几个步骤: 求解系统的零输入响应; 求解系统的零状态响应; 求解系统的全响应; 分析系统的卷积;画出它们的图形. 下面以具体的微分方程为例说明利用MATLAB 软件分析系统的具体方法.1连续时间系统的零

2、输入响应描述n 阶线性时不变(LTI )连续系统的微分方程为:已知y 及各阶导数的初始值为y(0,y(1(0, y (n-1(0, 求系统的零输入响应。 建模当LIT 系统的输入为零时,其零输入响应为微分方程的其次解(即令微分方程的等号右端为零),其形式为(设特征根均为单根)其中p 1,p 2,pn 是特征方程a 1n+a2n-1+an +an =0的根,它们可以用root(a语句求得。各系数 由y 及其各阶导数的初始值来确定。对此有写成矩阵形式为: P1n-1C 1+ P2n-1C 2+ Pn n-1C n =Dn-1y 01121111n n m n n m m n n m d y d y

3、 dy d u du a a a a y b b b u dtdt dt dt dt -+-+=+1212( n p t p t p t n y t C e C e C e =+120n C C C y +=11220n n p C p C p C Dy +=111111220n n n n n n p C p C p C D y -+=1012201111120111n n n n n n n C y p p p C Dy p p p C D y -=即 V C=Y0 其解为:C=VY0 式中V 为范德蒙矩阵,在matlab 的特殊矩阵库中有vander 。以下面式子为例:y(0_=1,y(

4、0_=5;MATLAB 程序:a=input('输入分母系数a=a1,a2,.='n=length(a-1;Y0=input('输入初始条件向量 Y0=y0,Dy0,D2y0,.=' p=roots(a;V=rot90(vander(p;c=VY0' dt=input('dt='te=input('te=' t=0:dt:te;y=zeros(1,length(t; for k=1:n y=y+c(k*exp(p(k*t;end plot(t,y;gridxlabel('t' ;ylabel('y&

5、#39; title('零输入响应'程序运行结果:用这个通用程序来解一个三阶系统,运行此程序并输入 a=1,5,4 Y0=1,5 dt=0.01 te=6结果如下图:根据图可以分析零输入响应,它的起始值与输入函数无关,只与它的初始状态值有关,其起始值等于y(0_的值。随着时间的推移,最后零输入响应的值无限的趋近于0。1211112111n n n n n p p p V p p p -=12n C C C C =1000n C y Dy D y -='' ' ' ( 5( 4( 2( 4(y t y t y t f t f t +=- ty零输入

6、响应2卷积的计算连续时间信号1( f t 和2( f t 的卷积运算可用信号的分段求和来实现,即:1212120( ( *( ( ( lim( ( k f t f t f t f t f t d f k f t k -=-=-=-如果只求当t = n (n 为整数)时f (t 的值f (n ,则上式可得:1212( ( ( ( ( k k f n f k f t k f k f n k =-=-=-=-式中的12( ( k f k f n k =-实际上就是连续时间信号1( f t 和2( f t 经等时间间隔 均匀抽样的离散序列1( f k 和2( f k 的卷积和。当足够小时,( f n

7、就是卷积积分的结果连续时间信号f (t 的较好数值近似。建模下面是利用MATLAB 实现连续信号卷积的通用程序conv(,该程序在计算出卷积积分的数值近似的同时,还绘制出f (t 的时域波形图。应注意,程序中是如何设定f (t 的时间长度。MATLAB 程序:f1=input('输入函数f1=' f2=input('输入函数f2=' dt=input('dt=' y=conv(f1,f2;plot(dt*(1:length(y-1,y;grid on; title('卷积'xlabel('t' ylabel(

8、9;f1*f2'程序运行结果: 输入以下数据:f1=sin(3*t f2=cos(3*t+2 dt=0.01 得出图形如下:卷积 tf 1*f 23连续时间系统零状态响应的数值计算我们知道,LTI 连续系统可用如下所示的线性常系数微分方程来描述,( ( NMi j i j i j a yt b ft =例如,对于以下方程:''' '' '''' '' '32103210( ( ( ( ( ( ( ( a y t a y t a y t a y t b f t b f t b f t b f

9、t +=+可用32103210, , , , , , ,a a a a a b b b b b =输入函数( u f t =,得出它的冲击响应h ,再根据LTI 系统的零状态响应y (t )是激励u (t )与冲击响应h (t )的卷积积分。注意,如果微分方程的左端或右端表达式中有缺项,则其向量a 或b 中的对应元素应为零,不能省略不写,否则出错。求函数的零状态响应及初始状态'(0 (0 0zs zs y y -=。输入函数( sin(3* cos(2* f t t t =+。 建模先求出系统的冲击响应,写出其特征方程2540+=求出其特征根为p 和p ,及相应的留数r ,r ;则冲击

10、响应为'' ' ' ( 5( 4( 2( 4(y t y t y t f t f t +=-1212( p tp th t r er e=+输入y (t )可用输入u (t )与冲击响应h (t )的卷积求得。 MATLAB 程序:a=input('输入分母系数a=a1,a2,.='b=input('输入输入信号系数b=b1,b2,.=' dt=input('dt='te=input('te=' t=0:dt:te;u=input('输入函数u=' te=t(end;dt=te/(l

11、ength(t-1; r,p,k=residue(b,a;h=r(1*exp(p(1*t+r(2*exp(p(1*t; subplot(2,1,1,plot(t,h;grid title('冲击函数' y=conv(u,h*dt; subplot(2,1,2,plot(t,y(1:length(t;grid title('零状态响应'程序运行结果执行这个程序,取a=1,5,4 b=2,4 dt=0.01 te=6sin(3* cos(2* u t t =+得出图形如下:由于初始状态为零,所以零状态的起始值也为零,即h (t 包含了连续系统的固有特性,与系统的输入

12、无关。只要知道了系统的冲激响应,即可求得系统在不同输入时产生的输出。因此,求解系统的冲激响应h 对进行连续时间系统的分析具有非常重要的意义 0123456冲击函数 123456零状态响应4连续时间系统的全响应计算 上面通过对 LTI 系统函数的描述,我们可以得知:如果在系统的初始状态不 为零,在激励 f(t)的作用下,LTI 系统的响应称为全响应,它是零输入响应和 零状态响应之和,即 y(t = yzi (t + yzs (t 故可先求出零输入响应和零状态响应,再把两者相加,得到全响应。但简单的相 加可能由于零输入与零状态的矩阵不同而不能的出正确的结果, 这就需要对矩阵 进行截取,使它们的阶数

13、相同。 例如,对于以下方程: y '' (t + 5 y ' (t + 4 y (t = 2 f ' (t 4 f (t 初始值为:y(0_=1,y(0_=5; 输入函数为: f (t = sin(3* t + cos(2* t 求它的全响应。 建模 先根据零输入响应的求法,得出零输入响应 y1(t) 。再根据零状态响应的求 法,得出零状态响应 y2(t) 。最后,全响应 y 等于零输入响应 y1(t)加上零状 态响应 y2(t) ,得出全响应。 MATLAB 程序: 程序: a=input('输入分母系数 a=a1,a2,.=' n=lengt

14、h(a-1; Y0=input('输入初始条件向量 Y0=y0,Dy0,D2y0,.=' b=input('输入输入信号系数 b=b1,b2,.=' u=input('输入函数 u=' dt=input('dt='te=input('te=' t=0:dt:te; p=roots(a;V=rot90(vander(p;c=VY0' y1=zeros(1,length(t; for k=1:n y1=y1+c(k*exp(p(k*t;end te=t(end; dt=te/(length(t-1; r,p,k

15、=residue(b,a; h=r(1*exp(p(1*t+r(2*exp(p(1*t; y2=conv(u,h*dt; y=y1(1:length(t+y2(1:length(t; figure(1; subplot(3,1,1,plot(t,y1,grid xlabel('t' ylabel('y1'title('零输入响应' subplot(3,1,2,plot(t,y2(1:length(t;grid xlabel('t'ylabel('y2'title('零状态响应' subplot(3,

16、1,3,plot(t,y,grid xlabel('t' ylabel('y'title('全响应响应' 程序运行结果 执行程序,取 a=1,5,4 Y0=1,5 b=1,2,4 u=sin(3*t+cos(2*t dt=0.01 te=6 结果如下图:在零输入响应中任一时刻取值 y1,在零状态响应的对应时刻 取 值 y2 , 再 在 全 响 应 的 对 应 时 刻 取 值 y 。 可 以 得 出 : y=y1+y2 。 零零零零零 2 1.5 y1 1 0.5 0 0 1 2 3 t 4 5 6 零零零零零 1 y2 0 -1 0 1 2 3

17、t 4 5 6 全零零零零 3 2 1 0 -1 0 1 2 3 t 4 5 6 y 四、调试总结: 在 matlab 语言中,用 subplot 对图形进行分块,使几幅图同时显示在一个图 像框里。 plot 用来绘制连续的函数图形。cnov 用来求卷积,再就是利用语句对不同 阶的矩阵进行截取, 使之相加, 这点很重要, 因为简单的零输入响应与零状态响应相加, 可能由于阶数不同而无法得出结果,所以一定要使两者的阶数相同。 五、设计总结: 在老师的帮助下我顺利的完成了这个课程设计, 通过这次连续时间系统的时 域分析课程设计, 让我了解了关于 MATLAB 软件在连续信号时域处理方面的应用, 又一次学习了 MATLAB 软件的使用和程序的设计,MATLAB 的仿真使我更加深入的 了解了信号时域处理的过程 ,对我对数字信号处理的理解加深了一步。MATLAB 拥有强大的数据仿真能力,在生产和研究中起着非常大的作用。 在设计过程中,通过查阅大量的资料,我选择用矩阵计算的方法来求连续时 间系统的零输入响应,卷积则是利用 matlab 中的 conv 语句求得,再根据 LTI 系统的零状态响应 y(t)是激励 u(t)与冲击响应 h(t)的卷积积分,求得零 状态响应,全响应则为零输入响应与零状态响应之和。 MATLAB 语言是一种广泛应用于工程计算及

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论