--信号与系统课程设计论文

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

滨江学院

课程论文连续时间LTI系统的时域分析

课程信号与系统

院系电子工程系

专业电子信息工程

学生姓名范以文

学号***********

基于 MATLAB 的连续时间LTI 系统的时域分析

一、课程目的

学习MATLAB 语言的编程方法与熟悉MATLAB 的指令; 编程实现卷积积分或卷积和,零输入响应,零状态响应;

学会用 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 及其各阶导数的初始值来确定。对此有

………………………………………………………………………………………

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

----++⋅⋅⋅⋅+=

写成矩阵形式为: P 1n-1C 1+ P 2n-1C 2+…+ P n n-1C n =D n-1

y 0

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 ++=-

t

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')

相关文档
最新文档