实验2LTI系统的时域分析一、实验目的1.掌握利用MATLAB对系统进行时域分析的方法。2.掌握连续时间系统零状态响应、冲激响应和阶跃响应的求解方法。3.掌握求解离散时间系统响应、单位抽样响应的方法。4.加深对卷积积分和卷积和的理解。掌握利用计算机进行卷积积分和卷积和计算的方法。二、实验原理1、连续时间系统时域分析的MATLAB实现1)连续时间系统的MATLAB表示设LTI因果系统的微分方程一般式为:)()()()()()()()(0'1)1(1)(0'1)1(1)(txbtxbtxbtxbtyatyatyatyammmmnnnn则在MATLAB里,可以建立系统模型如下:𝑏=[𝑏𝑀,𝑏𝑀−1,…,𝑏0];𝑎=[𝑎𝑁,𝑎𝑁−1,…,𝑎0]𝑠𝑦𝑠=𝑡𝑓(𝑏,𝑎);2)连续时间系统的零状态响应零状态响应指系统的初始状态为0,仅由输入信号所引起的响应。MATLAB提供了lsim(sys,x,t)表示求解零状态响应。他不绘出波形,而是返回响应二等地数值向量。3)连续时间系统的冲激响应与阶跃响应。MATLAB提供了impulse函数来求指定时间范围内,由模型sys描述的连续时间系统的单位冲击响应。函数step用于求解单位阶跃响应。2、离散时间系统时域分析的MATLAB实现1)离散时间系统的MATLAB表示。LTI离散系统通常可以由系统差分方程描述;差分方程为:0101()(1)...()()(1)...()NMaynaynaynMbxnbxnbxnN则在MATLAB里,可以建立系统模型如下:𝑏=[𝑏𝑀,𝑏𝑀−1,…,𝑏0];𝑎=[𝑎𝑁,𝑎𝑁−1,…,𝑎0]2)离散时间系统对任意输入的响应。Matlab提供了求LTI离散系统响应的专用函数filter,该函数用于求取由差分方程所描述的离散时间系统在指定时间范围内对输入序列所产生的响应。其基本调用格式为:𝑦=𝑓𝑖𝑙𝑡𝑒𝑟(𝑏,𝑎,𝑥)3)离散时间系统的单位抽样响应。Matlab提供impz函数来求解指定时间范围内,由向量b和a描述的离散时间系统的单位抽样响应。3、卷积和与卷积积分1)离散时间序列的卷积和:𝑥1(𝑛)和𝑥2(𝑛)的卷积和𝑥(𝑛)定义如下:𝑥(𝑛)=𝑥1(𝑛)∗𝑥2(𝑛)MATLAB的conv函数调用格式为x=conv(x1,x2);2)连续时间信号的卷积积分连续时间信号𝑥1(𝑡)和𝑥2(𝑡)的卷积积分𝑥(𝑡)定义如下1212x()()*()()(t)txtxtxxd对一连续LTI系统,设其输入信号为𝑥(𝑡),单位冲激响应为ℎ(𝑡),其零状态响应为𝑦(𝑡),则有()()*()ytxtht即连续LTI系统的零状态响应可以表示成输入信号和单位冲激响应的卷积。三、实验内容(1)采用MATLAB绘出各系统的单位冲激响应和单位阶跃响应波形。①)()()(2)(txtytyty程序如下:b=[1];a=[1sqrt(2)1];sys=tf(b,a);subplot(121);impulse(sys);subplot(122);step(sys);程序运行结果如下:0510-0.100.10.20.30.40.50.6ImpulseResponseTime(seconds)Amplitude051000.20.40.60.811.21.4StepResponseTime(seconds)Amplitude○2)()()(2)(txtytyty程序如下:b=[100];a=[1sqrt(2)1];sys=tf(b,a);subplot(121);impulse(sys);subplot(122);step(sys);程序运行结果如下:③)()()()(txtytyty程序如下:b=[10];a=[111];sys=tf(b,a);subplot(121);impulse(sys);subplot(122);step(sys);程序运行结果如下:02468-1.6-1.4-1.2-1-0.8-0.6-0.4-0.200.2ImpulseResponseTime(seconds)Amplitude0246-0.4-0.200.20.40.60.81StepResponseTime(seconds)Amplitude○4)()()()()(txtxtytyty程序如下:b=[101];a=[111];sys=tf(b,a);subplot(121);impulse(sys);subplot(122);step(sys);程序运行结果如下:0510-0.4-0.200.20.40.60.81ImpulseResponseTime(seconds)Amplitude0510-0.100.10.20.30.40.50.6StepResponseTime(seconds)Amplitude(2)已知某系统可以由如下微分方程描述)()(6)()(txtytyty○1利用MATLAB绘出该系统冲激响应和阶跃响应的时域波形。程序如下:b=[1];a=[116];sys=tf(b,a);subplot(121);impulse(sys);subplot(122);step(sys);程序运行结果如下:0510-1-0.8-0.6-0.4-0.200.20.4ImpulseResponseTime(seconds)Amplitude05100.40.50.60.70.80.911.1StepResponseTime(seconds)Amplitude○2根据冲激响应的时域波形分析系统的稳定性观察上面的波形,t趋于无穷时,y(t)均趋于0。函数在时域上收敛,绝对可积,所以系统稳定。○3如果系统的输入为)()(tuetxt,求系统的零状态响应。程序如下:b=[1];a=[116];sys=tf(b,a);t=0:0.01:10;x=exp(-1*t);lsim(sys,x,t);程序运行结果如下:0510-0.2-0.100.10.20.30.40.5ImpulseResponseTime(seconds)Amplitude051000.050.10.150.20.250.30.35StepResponseTime(seconds)Amplitude012345678910-0.200.20.40.60.811.2LinearSimulationResultsTime(seconds)Amplitude(3)知描述离散系统的微分方程如下,用MATLAB绘出各系统的单位抽样响应,根据单位抽样响应的时域波形分析系统的稳定性。○1)()2(2)1(3)(nxnynyny程序如下:b=[1];a=[132];impz(b,a,0:10);程序运行结果如下:系统的稳定性由图像可知,n趋于无穷时,y(n)越来越大,所以y(n)发散,所以该系统是不稳定的。○2)1(3)()2(8.0)1(5.0-)(nxnxnynyny程序如下:b=[1-3];a=[1-0.50.8];impz(b,a,0:10);程序运行结果如下:012345678910-1500-1000-50005001000150020002500n(samples)AmplitudeImpulseResponse系统的稳定性由图像可知,n趋于无穷时,y(n)越来越小且是有界的,即y(n)收敛,所以该系统是稳定的。(4)已知系统可以由如下差分方程描述)()2(25.0)1()(nxnynyny程序如下:b=[1];a=[110.25];subplot(121);impz(b,a,0:10);n=0:20;x=(n=0);y=filter(b,a,x);subplot(122);stem(n,y,'filled');xlabel('n');程序运行结果如下:012345678910-2.5-2-1.5-1-0.500.511.522.5n(samples)AmplitudeImpulseResponse(5)用MATLAB计算如下两个序列的卷积,并绘出图形。122(){1,2,1,1}-22,()1()0xnnxnxn其他,程序如下:x1=[1211];x2=[11111];t=[-3-2-101234];x=conv(x1,x2);stem(t,x);程序运行结果如下:-3-2-10123400.511.522.533.544.55(6)已知某LTI离散系统,其单位抽样响应0),5.0sin()(nnnh,系统的输入为0),2.0sin()(nnnx,计算当n=0,1,2,…,40时系统的零状态响应y(n),绘出x(n),h(n)和y(n)时域波形。程序如下:n=0:40;h=sin(0.5*n);x=sin(0.2*n);n1=0:80;y=conv(x,h);subplot(311);stem(n,x,'filled');xlabel('n');ylabel('x(n)');subplot(312);stem(n,h,'filled');xlabel('n');ylabel('h(n)');subplot(313);stem(n1,y,'filled');xlabel('n');ylabel('y(n)');程序运行结果如下:(7)已知两个连续时间信号,求两个信号的卷积。程序如下:dt=0.01;t1=-1:dt:1;x1=2*ones(size(t1));t2=-2:dt:2;x2=ones(size(t2));[x,t]=sconv(x1,x2,t1,t2,dt);plot(t,x);xlabel('t(s)');title('x(t)=x_1(t)*x_2(t)\deltat=0.01');编写函数文件:function[x,t]=sconv(x1,x2,t1,t2,dt)x=conv(x1,x2);x=x*dt;t0=t1(1)+t2(1);l=length(x1)+length(x2)-2;t=t0:dt:(t0+l*dt);end程序运行结果如下:四.实验心得体会经过这次实验,对MATLAB有了进一步的了解和应用,并且加深了对信号与系统这门课程的理解。本次实验,我们学习并掌握连续时间系统零状态响应、冲激响应和阶跃响应的求解方法。加深对卷积积分和卷积和的理解。掌握利用MATLAB进行卷积积分和卷积和计算的方法。对我们信号与系统的学习起到了很大的帮助。