资源描述:
《信号与系统实验(2011年春)_部分3》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验三连续时间LTI系统的时域分析一、实验目的1.学会用MATLAB求解连续系统的零状态响应;2.学会用MATLAB求解冲激响应及阶跃响应;3.学会用MATLAB实现连续信号卷积的方法;二、实验原理1.连续时间系统零状态响应的数值计算我们知道,LTI连续系统可用如下所示的线性常系数微分方程来描述,NM()ij()∑∑aytij()=bf()tij=00=在MATLAB中,控制系统工具箱提供了一个用于求解零初始条件微分方程数值解的函数lsim。其调用格式y=lsim(sys,f,t)式中,t表示计算系统响应的抽
2、样点向量,f是系统输入信号向量,sys是LTI系统模型,用来表示微分方程,差分方程或状态方程。其调用格式sys=tf(b,a)式中,b和a分别是微分方程的右端和左端系数向量。例如,对于以下方程:''''''''''''aytaytaytaytbftbftbftbft()+++=+++()()()()()()()32103210可用aaaaabbbbb=[,,,];=[,,,];sys=tfba(,)获得其LTI模型。32103210注意,如果微分方程的左端或右端表达式中有缺项,则其向量a或b中的对应元素应为零
3、,不能省略不写,否则出错。例3-1已知某LTI系统的微分方程为y’’(t)+2y’(t)+100y(t)=f(t)'其中,y(0)=y(0)=0,()10sin(2ft=πt),求系统的输出y(t).解:显然,这是一个求系统零状态响应的问题。其MATLAB计算程序如下:ts=0;te=5;dt=0.01;sys=tf([1],[1,2,100]);t=ts:dt:te;f=10*sin(2*pi*t);y=lsim(sys,f,t);plot(t,y);xlabel('Time(sec)');ylabel('
4、y(t)');2.连续时间系统冲激响应和阶跃响应的求解在MATLAB中,对于连续LTI系统的冲激响应和阶跃响应,可分别用控制系统工具箱提9供的函数impluse和step来求解。其调用格式为y=impluse(sys,t)y=step(sys,t)式中,t表示计算系统响应的抽样点向量,sys是LTI系统模型。例3-2已知某LTI系统的微分方程为y’’(t)+2y’(t)+100y(t)=10f(t)求系统的冲激响应和阶跃响应的波形.解:ts=0;te=5;dt=0.01;sys=tf([10],[1,2,10
5、0]);t=ts:dt:te;h=impulse(sys,t);figure;plot(t,h);xlabel('Time(sec)');ylabel('h(t)');g=step(sys,t);figure;plot(t,g);xlabel('Time(sec)');ylabel('g(t)');3.用MATLAB实现连续时间信号的卷积信号的卷积运算有符号算法和数值算法,此处采用数值计算法,需调用MATLAB的conv()函数近似计算信号的卷积积分。连续信号的卷积积分定义是∞f(t)=f(t)∗f(t)=f
6、(τ)f(t−τ)dτ12∫12−∞如果对连续信号f(t)和f(t)进行等时间间隔∆均匀抽样,则f(t)和f(t)分别变为离1212散时间信号f(m∆)和f(m∆)。其中,m为整数。当∆足够小时,f(m∆)和f(m∆)既1212为连续时间信号f(t)和f(t)。因此连续时间信号卷积积分可表示为12∞f(t)=f(t)∗f(t)=f(τ)f(t−τ)dτ12∫12−∞∞=lim∑f1(m∆)⋅f2(t−m∆)⋅∆∆→0m=−∞采用数值计算时,只求当t=n∆时卷积积分f(t)的值f(n∆),其中,n为整数,既∞f
7、(n∆)=∑f1(m∆)⋅f2(n∆−m∆)⋅∆m=−∞∞=∆∑f1(m∆)⋅f2[(n−m)∆]m=−∞∞其中,∑f1(m∆)⋅f2[(n−m)∆]实际就是离散序列f1(m∆)和f2(m∆)的卷积和。当∆足m=−∞10够小时,序列f(n∆)就是连续信号f(t)的数值近似,既f(t)≈f(n∆)=∆[f(n)∗f(n)]12上式表明,连续信号f(t)和f(t)的卷积,可用各自抽样后的离散时间序列的卷积再乘以12抽样间隔∆。抽样间隔∆越小,误差越小。−3t例3-3用数值计算法求f(t)=u(t)−u(t−2)与
8、f(t)=eu(t)的卷积积分。12−3t解:因为f(t)=eu(t)是一个持续时间无限长的信号,而计算机数值计算不可能计2算真正的无限长信号,所以在进行f(t)的抽样离散化时,所取的时间范围让f(t)衰22减到足够小就可以了,本例取t=2.5。程序是dt=0.01;t=-1:dt:2.5;f1=Heaviside(t)-Heaviside(t-2);f2=exp(-3*t).*Heaviside(