当前位置:文档之家› 连续时间系统的时域分析——求零输入响应和零状态响应

连续时间系统的时域分析——求零输入响应和零状态响应

成绩评定表课程设计任务书目录1. 引言 (1)2 Matlab入门 (2)2.1 Matlab7.0介绍 (2)2.2利用Matlab7.0编程完成习题设计 (3)3 Matlab7.0实现连续时间系统的时域分析3.1常用连续时间信号的类别及原理 (4)3.2编程设计及实现 (4)3.3运行结果及其分析 (7)结论 (20)参考文献 (21)1.引言人们之间的交流是通过消息的传播来实现的,信号则是消息的表现形式,消息是信号的具体内容。

本文概述了信号仿真系统的需求、总体结构、基本功能。

重点介绍了利用Matlab 软件设计实现信号仿真系统的基本原理及功能,以及利用Matlab软件提供的图形用户界面(Graphical User Interfaces ,GUI)设计具有人机交互、界面友好的用户界面。

本文采用Matlab的图形用户界面设计功能, 开发出了各个实验界面。

在该实验软件中, 集成了信号处理中的多个实验, 应用效果良好。

本系统是一种演示型软件,用可视化的仿真工具,以图形和动态仿真的方式演示部分基本信号的传输波形和变换,使学习人员直观、感性地了解和掌握信号与系统的基本知识。

近年来,计算机多媒体教育手段的运用逐步普及,大量优秀的科学计算和系统仿真软件不断涌现,为我们实现计算机辅助教学和学生上机实验提供了很好的平台。

通过对这些软件的分析和对比,我们选择MATLAB语言作为辅助教学工具,借助MATLAB强大的计算能力和图形表现能力,将《信号与系统》中的概念、方法和相应的结果,以图形的形式直观地展现给我们,大大的方便我们迅速掌握和理解老师上课教的有关信号与系统的知识。

MATLAB 7.0是一个包含大量计算算法的集合。

其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。

函数中所使用的算法都是科研和工程计算中的最新研究成果,而前经过了各种优化和容错处理。

在通常情况下,可以用它来代替底层编程语言,如C和C++ 。

在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。

MATLAB 7.0的这些函数集包括从最简单最基本的函数到诸如矩阵,特征向量、快速傅立叶变换的复杂函数。

函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。

作为信号与系统的基本分析软件之一,利用MATLAB进行信号与系统的分析与设计是通信以及信息工程学科的学生所要掌握的必要技能之一。

通过学习并使用MATLAB语言进行编程实现课题的要求,对学生能力的培养极为重要。

尤其会提高综合运用所学理论知识进行分析问题、解决问题的能力,也便于将理论知识与实践相结合,并得以更好地掌握信号分析与处理的基本方法与实现。

这也将为后续相关的课程学习打下一定的基础,从而在以后相关课程设计与分析的时候达到对MATLAB的熟练应用与融会贯通。

2.Matlab入门2.1 Matlab7.0介绍MATLAB7.02009版本,高级技术计算语言和交互式环境可以较使用传统的编程语言(如C、C++ 和Fortran)更快地解决技术计算问题。

MATLAB 7.0主要功能为交互式工具可以按迭代的方式探查、设计及求解问题此高级语言可用于技术计算此开发环境可对代码、文件和数据进行管理各种工具可用于构建自定义的图形用户界面各种函数可将基于MATLAB 的算法与外部应用程序和语言(如C、C++、Fortran、Java、COM 以及Microsoft Excel)集成数学函数可用于线性代数、统计、傅立叶分析、筛选、优化以及数值积分等二维和三维图形函数可用于可视化数据;特点:1) 高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来;2) 具有完备的图形处理功能,实现计算结果和编程的可视化;3) 友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握;4) 功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等) ,为用户提供了大量方便实用的处理工具。

MATLAB 7.0由一系列工具组成。

这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。

包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。

随着MATLAB 7.0的商业化以及软件本身的不断升级,MATLAB 7.0的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。

而且新版本的MATLAB 7.0提供了完整的联机查询、帮助系统,极大的方便了用户的使用。

简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。

综上,在进行信号的分析与仿真时,MATLAB7.0无疑是一个强大而实用的工具。

尤其对于信号的分析起到了直观而形象的作用,非常适合与相关课题的研究与分析。

3. Matlab7.0实现连续时间系统的时域分析3.1连续时间系统的零输入响应3.1.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-1C 1+ P 2n-1C 2+…+ P n n-1C n =D n-1y 01012201111120111n 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 。

3.1.2零输入响应的编程设计及实现 以下面式子为例: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 ++⋅⋅⋅⋅+=11220n n p C p C p C Dy ++⋅⋅⋅⋅+=111111220n n n n n n p C p C p C D y ----++⋅⋅⋅⋅+=1211112111n n n n n p p p V p p p ---⋅⋅⋅⎡⎤⎢⎥⋅⋅⋅⎢⎥=⎢⎥⎢⎥⋅⋅⋅⎣⎦[]12n C C C C =⋅⋅⋅1000n C y Dy D y -⎡⎤=⋅⋅⋅⎣⎦tytyy-=)(++ft)(4)('6t3)(')("tf2初始条件为20('=y_)0(=y,7_)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);endplot(t,y);gridxlabel('t') ;ylabel('y');title('零输入响应');程序运行结果:用这个通用程序来解一个三阶系统,运行此程序并输入a=[1,2,3] Y0=[2,7] dt=0.002 te=7结果如图3.1所示。

图3.1 零输入响应的波形图3.1.3 零输入响应的结果分析根据图可以分析零输入响应,它的起始值与输入函数无关,只与它的初始状态值有关,其起始值等于y(0_)的值。

随着时间的推移,最后零输入响应的值无限的趋近于0。

3.2连续时间系统的零状态响应3.2.1零状态响应的求解方法我们知道,LTI 连续系统可用如下所示的线性常系数微分方程来描述,()()()()NMi j i j i j a y t b f t ===∑∑例如,对于以下方程:''''''''''''32103210()()()()()()()()a y t a y t a y t a y t b f t b f t b f t b f 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 中的对应元素应为零,不能省略不写,否则出错。

例如:求函数的零状态响应,已知:)(6)('4)(3)('2)("t f t f t y t y t y -=++及初始状态'(0)(0)0zs zs y y --==。

输入函数)*5cos()*2sin(t t y +=。

建模:先求出系统的冲激响应,写出其特征方程 0322=++λλ求出其特征根为p1和p2,及相应的留数r1,r2;则冲激响应为1212()p t p th t r e r e =+ 输入y (t )可用输入u (t )与冲激响应h (t )的卷积求得。

3.2.2零状态响应的编程设计及实现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/(length(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);gridtitle('冲激函数');y=conv(u,h)*dt;subplot(2,1,2),plot(t,y(1:length(t)));gridtitle('零状态响应');程序运行结果执行这个程序,取a=[1,2,3] b=[4,6] dt=0.001 te=7得出图形如图3.2所示。

相关主题