信号与系统实验报告--连续时间系统的复频域分析
信号与系统实验报告连续时间系统的复频域分析实验五 连续时间系统的复频域分析一、实验目的掌握拉普拉斯变换及其反变换的定义,并掌握MATLAB实现方法学习和掌握连续时间系统系统函数的定义及其复频域分析方法掌握系统零极点的定义,加深理解系统零极点分布与系统特性的关系。二、实验原理与方法1、拉普拉斯变换连续时间信号x(t)的拉普拉斯变换定义为:Xs=-+x(t)e-stdt拉普拉斯反变换为:xt=12j-j+jX(s)estds在MATLAB中可以采用符号数学工具箱中的laplace函数和ilaplace函数进行拉氏变换和拉氏反变换。L=laplace(F)符号表达式F的拉氏变换,F中时间变量为t,返回变量为s的结果表达式。L=laplace(F,t)用t替换结果中的变量s。F=ilaplace(L)以s为变量的符号表达式L的拉氏反变换,返回时间变量t的结果表达式。F=ilaplace(L,x) 用x替换结果中的变量t。2、连续时间系统的系统函数连续时间系统的系统函数是系统单位冲激响应的拉氏变换Hs=-+h(t)e-stdt此外,连续时间系统的系统函数还可以由系统输入和输出信号的拉氏变换之比得到Hs=Y(s)/X(s)单位冲激响应h(t)反映了系统的固有性质,而H(s)从复频域反映了系统的固有性质。对于H(s)描述的连续时间系统,其系统函数s的有理函数Hs=bMsM+bM-1sM-1+b0ansn+an-1sM-1+a03、连续时间系统的零极点分析系统的零点指使式Hs的分子多项式为零的点,极点指使分母多项式为零的点,零点使系统的值为零,极点使系统函数的值无穷大。通常将系统函数的零极点绘在s平面上,零点用O表示,极点用X表示,这样得到的图形称为零极点分布图。由零极点的定义可知,零点和极点分别指H(s)的分子多项式和分母多项式的根。利用MATLAB求多项式的根可以通过函数roots来实现,该函数的调用格式为:r=root(c) c为多项式的系数向量,返回值r为多项式的根向量。此外,在MATLAB中还提供了更简便的方法来求取零极点和绘制系统函数的零极点分布图,即利用pzmap函数,该函数的调用格式为:pzmap(sys)绘出由系统模型sys描述的系统的零极点分布图。p,z=pzmap(sys) 这种调用方法返回极点和零点,而不绘出零极点分布图。其中sys为系统传函模型,由t命令sys=tf(b,a)实现,b,a为传递函数的分子多项式和分母多项式的系数向量。MATLAB还为用户提供了两个专用函数tf2zp和zp2tf来实现系统传递函数模型和零极点增益模型的转换,其调用格式分别为z,p,k=tf2zp(b,a)、b,a=zp2tf(z,p,k)其中b、a为传递函数的分子多项式和分母多项式的系数向量,返回值z为零点列向量,p为极点列向量,k为系统函数零极点形式的增益。研究系统函数的零极点分布不仅可以了解系统冲激响应的形式,还可以了解系统的频率特性以及判断系统稳定性。 1)零极点分布与冲激响应的关系系统的极点位置决定着系统冲激响应h(t)的波形,冲激响应的幅值是由系统函数的零点和极点共同确定的,系统零点位置只影响冲激响应的幅度和相位,不影响波形。2)零极点分布与系统频率响应关系系统函数的零极点分布不仅决定了系统函数H(s),也决定了系统的频率响应H(),根据系统的零极点分布情况,可以由几何矢量法分析系统的频率响应。3)零极点分布与系统稳定性的关系稳定性是系统的固有性质,与激励信号无关,由于系统函数H(s)包含了系统的所有固有性质,因而可以根据系统函数的零极点分布判断系统的稳定性。因果系统稳定的充要条件是H(s)的全部极点位于s平面的左半平面。三、实验内容(1)已知系统的冲激响应h(t)=u(t)-u(t-2),输入信号x(t)=u(t),试采用复频域的方法求解系统响应,编写MATLAB程序实现。试采用MATLAB画出其零极点分布图,求解系统的冲激响应h(t)和频率响应H(),并判断系统是稳定。程序代码:syms t;ht = heaviside ( t ) - heaviside ( t -2 );hs = laplace ( ht );xt = heaviside ( t );xs = laplace ( xt );ys = xs * hs;yt = ilaplace ( ys )ezplot ( yt );实验结果:yt = t - heaviside(t - 2)*(t - 2)(2)已知因果连续时间系统的系统函数分别如下:Hs=1s3+2s2+2s+1Hs=s2+1s5+2s4-3s3+3s2+3s+2程序代码:syms s w;b=1;a=1,2,2,1;H1=tf(b,a);r,p,k=residue(b,a)subplot(221);pzmap(H1);subplot(222);Hw1=subs(1/(s3+2*s2+2*s+1),s,j*w)Ht1=ilaplace(1/(s3+2*s2+2*s+1)Hw1=inline(Hw1);W=-10:0.01:10;plot(W,Hw1(W);实验结果:Ht1 = 1/exp(t) - (cos(3(1/2)*t)/2) - (3(1/2)*sin(3(1/2)*t)/2)/3)/exp(t/2)Hw1 =1/(- w3*i - 2*w2 + 2*w*i + 1)根据实验结果的零极点分布图可知,系统是稳定的。程序代码:b=1,0,1;a=1,2,-3,3,3,2;H2=tf(b,a);r,p,k=residue(b,a)subplot(223);pzmap(H2);subplot(224);Hw2=subs(s2+1)/(s5+2*s4-3*s3+3*s2+3*s+2),s,j*w)Ht2=ilaplace(s2+1)/(s5+2*s4-3*s3+3*s2+3*s+2)W=-10:0.01:10;Hw2=inline(Hw2);plot(W,Hw2(W);实验结果:Hw2 =-(w2 - 1)/(w5*i + 2*w4 + 3*w3*i - 3*w2 + 3*w*i + 2)Ht2 = sum(r52*exp(r5*t)/(5*r54 + 8*r53 - 9*r52 + 6*r5 + 3), r5 in RootOf(s55 + 2*s54 - 3*s53 + 3*s52 + 3*s5 + 2, s5) + sum(exp(r5*t)/(5*r54 + 8*r53 - 9*r52 + 6*r5 + 3), r5 in RootOf(s55 + 2*s54 - 3*s53 + 3*s52 + 3*s5 + 2, s5)(3)已知连续时间系统函数的极点位置分别如下所示(设系统无零点) p = 0 p = -2 p = 2 p1=2j,p2=-2j p1=-1+4j,p2=-1-4j p1=1+4j,p2=1-4j试用MATLAB绘制上述6种不同情况下,系统函数的零极点分布图,并绘制相应冲激响应的时域波形,观察并分析系统函数极点位置对冲激响应时域特性影响。程序代码:function solve5_3T=input('函数个数T:');syms H;syms s;for i=1:T N=input('极点数N:'); H=1; a=1; b=1; for m=1:N p=input('极点:'); H=H/(s-p); a=conv(a,1,-p); end sys=tf(b,a); subplot(211); pzmap(sys); h=ilaplace(H) h=inline(h); subplot(212); t=-5:0.01:8; plot(t,h(t);end实验结果:实验结果:实验结果:实验结果:实验结果:实验结果:由上面图形可以看出:当系统有一个0处极点时,时域为恒定值当系统有一个正极点时,时域为增长函数当系统有一个负极点时,时域为衰减函数当系统有两个有相同实部的极点时,时域为震荡函数,且其包络线增长规律满足一个极点时的情况(4)已知连续时间系统的系统函数分别如下:Hs=1s2+2s+17 Hs=s+8s2+2s+17 Hs=s-8s2+2s+17上述3个系统具有相同的极点,但是零点不同,试用MATLAB分别绘制系统的零极点分布图及相应冲激响应的时域波形,观察并分析系统函数零点位置对冲激响应时域特性的影响。程序代码:function solve5_4T=input('输入函数个数:');a = input('a=');for i=1:T b=input('b='); sys=tf(b,a); subplot(211); pzplot(sys); H=poly2sym(b,'s')/poly2sym(a,'s'); h=ilaplace(H); h=inline(h); t=-10:0.01:5; subplot(212); plot(t,h(t);end实验结果:实验结果:实验结果:函数整体都呈现衰减趋势,零点绝对值越大函数幅值越大,零点为正时函数偏上,零点为负时函数偏下。四、实验心得和体会 对于这个实验,在已有2次实验的基础上,对于MATLAB的程序代码更加熟悉,所以在使用MATLAB的时候就更加顺手并且效率也高了。但是在做这一章具体的实验的时候,对于实验中对于系统函数的系数向量经常忘记对于0系数的输入,这样就是使得输入的向量是错误的,从而导致前几个实验的最后结果和图形都不对。对于这样的状态,自己从新学习了一下这些函数的用法,并且不断的提醒自己一定要注意0系数的多项式,不能漏乘,所以在输入代码的时候也反复检查是否有系数没有输入。经过这样的操作后,自己基本不会忘记对于0系数的多项式的输入保证了最后输出的答案的正确性。