您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > 基于Matlab的零输入和零状态响应
一、课程设计题目:信号系统的时域分析二、课程设计目的:1、学习MATLAB软件的使用。2、使学生掌握利用工具软件来实现信号系统基本概念、基本原理的方法。3、通过编程对matlab软件的具体应用有了更好的了解,进一步加强了对函数卷积,零输入,零响应状态这三种函数状态的理解。二、基本原理1、卷积信号的卷积是数学上的一种积分运算,两个信号的卷积定义为:信号的卷积运算在系统分析中主要用于求解系统的零状态响应。一般情况,卷积积分的运算比较困难,但在MATLAB中则变得十分简单,MATLAB中是利用conv函数来实现卷积的。Conv函数功能:实现二个函数和的卷积。格式:说明:表示二个函数,表示两个函数的卷积结果。例:已知两信号f1(t)=ε(t+1)+ε(t-2)f2(t)=ε(t-3)+ε(t-8)求卷积MATLAB程序如下:t1=-1:0.01:2;f1=ones(size(t1));%高度为一的门函数,时间从t=-1到t=2t2=3:0.01:8;f2=ones(size(t2));%高度为一的门函数,时间从t=3到t=8g=conv(f1,f2);%对f1和f2进行卷积t3=2:0.01:10;subplot(3,1,1),plot(t1,f1),title(‘f1’);grid%画f1的波形subplot(3,1,2),plot(t2,f2),title(‘f2’);grid%画f2的波形subplot(3,1,3),plot(t3,g),title(‘f1*f2’);grid%画g的波形2、零输入,零状态响应一般的连续时间系统分析有以下几个步骤:①求解系统的零输入响应;②求解系统的零状态响应;③求解系统的全响应;④分析系统的卷积;⑤画出它们的图形.下面以具体的微分方程为例说明利用MATLAB软件分析系统的具体方法.2.1.连续时间系统的零输入响应描述n阶线性时不变(LTI)连续系统的微分方程为:已知y及各阶导数的初始值为y(0),y(1)(0),…y(n-1)(0),求系统的零输入响应。当LIT系统的输入为零时,其零输入响应为微分方程的其次解(即令微分方程的等号右端为零),其形式为(设特征根均为单根)其中p1,p2,…,pn是特征方程a1λn+a2λn-1+…+anλ+an=0的根,它们可以用root(a)语句求得。各系数由y及其各阶导数的初始值来确定。对此有写成矩阵形式为:P1n-1C1+P2n-1C2+…+Pnn-1Cn=Dn-1y01121111nnmnnmmnnmdydydyduduaaaaybbbudtdtdtdtdt1212()nptptptnytCeCeCe120nCCCy11220nnpCpCpCDy111111220nnnnnnpCpCpCDy1012201111120111nnnnnnnCypppCDypppCDy即V•C=Y0其解为:C=V\Y0式中V为范德蒙矩阵,在matlab的特殊矩阵库中有vander。以下面式子为例:y″(t)+3y′(t)+6y(t)=6f′(t)-8f′(t)初始条件为y(0_)=0,y′(0_)=10;MATLAB程序:a=[1,3,6];n=length(a)-1;Y0=[0,10];p=roots(a);V=rot90(vander(p));c=V\Y0';dt=0.002;te=9;t=0:dt:te;y=zeros(1,length(t));fork=1:ny=y+c(k)*exp(p(k)*t);endplot(t,y);gridxlabel('t');ylabel('y');title('零输入响应');1211112111nnnnnpppVppp12nCCCC1000nCyDyDy2.2连续时间系统零状态响应的数值计算我们知道,LTI连续系统可用如下所示的线性常系数微分方程来描述,()()00()()NMijijijaytbft例如,对于以下方程:''''''''''''32103210()()()()()()()()aytaytaytaytbftbftbftbft可用32103210[,,,],[,,,],aaaaabbbbb输入函数()uft,得出它的冲激响应h,再根据LTI系统的零状态响应y(t)是激励u(t)与冲激响应h(t)的卷积积分。注意,如果微分方程的左端或右端表达式中有缺项,则其向量a或b中的对应元素应为零,不能省略不写,否则出错。求函数的零状态响应y″(t)+3y′(t)+6y(t)=6f′(t)-8f′(t)及初始状态'(0)(0)0zszsyy。输入函数)*5cos()*2sin(tty。先求出系统的冲激响应,写出其特征方程0322求出其特征根为p和p,及相应的留数r,r;则冲激响应为1212()ptpthtrere输入y(t)可用输入u(t)与冲激响应h(t)的卷积求得。MATLAB程序:a=[1,3,6];n=length(a)-1;Y0=[0,10];b=[1,6,8];dt=0.001;te=9;t=0:dt:te;u=sin(2*t)+cos(5*t);p=roots(a);%求出齐次解V=rot90(vander(p));%生成2×2矩阵并旋转90度c=V\Y0';%求出待定系数r1,r2的值y1=zeros(1,length(t));%建立一个1×length(t)的矩阵fork=1:ny1=y1+c(k)*exp(p(k)*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);y2=conv(u,h)*dt;subplot(2,1,1),plot(t,y1),gridxlabel('t');ylabel('y1');title('零输入响应');subplot(2,1,2),plot(t,y2(1:length(t)));gridxlabel('t');ylabel('y2');title('零状态响应');参考文献:信号与线性系统分析(第四版)主编吴大正五、总结与体会通过这次信号的课程设计,我和组员加强了对matlab软件的学习,更加清楚了信号系统中函数卷积和系统零输入、零响应状态的公式及其算法,同时在编程过程了发现了许多问题,并通过不断的修正,从而使我们对matlab软件的编程思想有了更进一步的认识与了解,总之通过这次信号系统的课程设计,收获颇丰。
本文标题:基于Matlab的零输入和零状态响应
链接地址:https://www.777doc.com/doc-2570762 .html