连续时间LTI系统的时域分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、课程设计题目:
基于 MATLAB 的连续时间LTI 系统的时域分析
二、基本要求:
① 掌握连续时不变信号处理的基本概念、基本理论和基本方法; ② 学会 MATLAB 的使用,掌握 MATLAB 的程序设计方法; ③ 学会用 MATLAB 对信号进行分析和处理;
④ 编程实现卷积积分或卷积和,零输入响应,零状态响应; ⑤ 撰写课程设计论文,用信号处理基本理论分析结果。
三、设计方法与步骤:
一般的连续时间系统分析有以下几个步骤: ①求解系统的零输入响应; ②求解系统的零状态响应; ③求解系统的全响应; ④分析系统的卷积;⑤画出它们的图形. 下面以具体的微分方程为例说明利用MATLAB 软件分析系统的具体方法.
1.连续时间系统的零输入响应
描述n 阶线性时不变(LTI )连续系统的微分方程为:
已知y 及各阶导数的初始值为y(0),y (1)(0),… y (n-1)
(0), 求系统的零输入响应。 建模
当LIT 系统的输入为零时,其零输入响应为微分方程的其次解(即令微分方程的等号右端为零),其形式为(设特征根均为单根)
其中p 1,p 2,…,p n 是特征方程a 1λ
n
+a 2λn-1
+…+a n λ+a n =0的根,它们
可以用root(a)语句求得。各系数 由y 及其各阶导数的初始值来确定。对此有
………………………………………………………………………………………
写成矩阵形式为: P 1n-1
C 1+ P 2n-1
C 2+…+ P n n-1
C n =
D n-1
y 0
1121111n n m n n m m n n m d y d y dy d u du a a a a y b b b u dt
dt 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 ++⋅⋅⋅⋅+=11220
n n p C p C p C Dy ++⋅⋅⋅⋅+=11111
1220
n n n n n n p C p C p C D y
----++⋅⋅⋅⋅+=
1012
2011111
20111n n n n n n n C y p p p C Dy p p p C D y ----⋅⋅⋅⎡⎤⎡⎤⎡⎤
⎢⎥⎢⎥⎢⎥⋅⋅⋅
⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⋅⋅⋅
⎣⎦⎣⎦⎣⎦
即 V •C=Y 0 其解为:C=V\Y 0 式中
V 为范德蒙矩阵,在matlab 的特殊矩阵库中有vander 。
以下面式子为例:
y(0_)=1,y(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=V\Y0'; 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);grid
xlabel('t') ;ylabel('y'); 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 ++=-
0.20.40.60.811.21.41.61.8t
y
零输入响应
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 ∆就是
卷积积分的结果——连续时间信号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('f1*f2')