您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 连续系统的复频域分析
连续系统的复频域分析一、拉普拉斯变换及其曲面图用MATLAB绘制拉普拉斯变换的曲面图拉普拉斯变换是分析连续时间信号的有效手段,对于当t时信号幅度不衰减或增长的时间信号,其傅里叶变换不存在,但我们可以用拉普拉斯变换来分析它们。连续时间信号f(t)的拉普拉斯变换定义为:其中sσjw,若以s为横坐标(实轴),jw为纵坐标(虚轴),复变量s就构成了一个复平面,称为s平面。显然,F(s)是复变量s的复函数,为了便于理解和分析F(s)随s的变化规律,我们可以将F(s)写成其中|F(s)|为复信号F(s)的模,而j(s)为F(s)的相角。从三维几何空间的角度来看,F(s)和φ(s)对应着复平面上的两个曲面,如果我们能绘出它们的三维曲面图,我们就可以直观地分析连续信号的拉普拉斯变换F(s)随复变量s的变化。上述过程,我们可以利用MATLAB的三维绘图功能来实现。现在考虑如何用MATLAB来绘制s平面的有限区域上连续时间信号f(t)的拉普拉斯变换F(s)的曲面图,我们以单位阶跃信号e(t)为例来说明实现过程。我们知道,对单位阶跃信号f(t)e(t),其拉普拉斯变换为。首先,我们用两个向量来确定绘制曲面图的s平面的横、纵坐标的范围。例如,我们可定义绘制曲面图的横坐标范围向量x1和纵坐标范围向量y1分别为:x1=-0.2:0.03:0.2;y1=-0.2:0.03:0.2;然后再调用前面介绍过的meshgrid()函数来产生矩阵S,并用该矩阵来表示绘制曲面图的复平面区域,对应的MATLAB命令如下:[x,y]=meshgrid(x1,y1);s=x+i*y;上述命令产生的矩阵s包含了复平面0.2σ0.2、0.2jw0.2范围内以间隔0.03取样的所有样点。最后我们再计算出信号拉普拉斯变换在复平面的这些样点上的值,即可用函数mesh绘出其曲面图,对应命令为:fs=abs(1./s);%计算拉氏变换在复平面上的样点值mesh(x,y,fs);%绘制的氏变换曲面图surf(x,y,fs);title('单位阶跃信号拉氏变换曲面图');colormap(hsv);axis([-0.2,0.2,-0.2,0.2,0,60]);rotate3d;执行上述命令后,绘制的单位阶跃信号拉普拉斯曲变换面图如图所示例:已知连续时间信号f(t)sin(t)e(t),求出该信号的拉普拉斯变换,并用MATLAB绘制拉普拉斯变换的曲面图。解:该信号的拉普拉斯变换为我们可以用上面介绍的方法来绘出单边正弦信号的拉普拉斯变换的曲面图,实现这一过程的程序如下:%绘制单边正弦信号拉普拉斯变换曲面图程序clf;a=-0.5:0.08:0.5;b=-1.99:0.08:1.99;[a,b]=meshgrid(a,b);d=ones(size(a));c=a+i*b;%确定绘制曲面图的复平面区域c=c.*c;c=c+d;c=1./c;c=abs(c);%计算拉普拉斯变换的样值mesh(a,b,c);%绘制曲面图surf(a,b,c);axis([-0.5,0.5,-2,2,0,15]);title('单边正弦信号拉氏变换曲面图');colormap(hsv);上述程序绘制的曲面图如图所示。二、由拉普拉斯曲面图观察频域与复频域的关系我们知道,若信号f(t)的傅里叶变换存在,则其拉普拉斯变换F(s)与傅里叶变换F(jw)存在着如下关系:也即在信号拉普拉斯变换F(s)中令s0,就可得到信号的傅里叶变换。从三维几何空间的角度来看,信号f(t)的傅里叶变换F(jw)就是其拉普拉斯曲面图中虚轴(σ0)所对应的曲线。我们可以通过将F(s)曲面图在虚轴上进行剖面来直观地观察信号拉普拉斯变换与其傅里叶变换的对应关系。例:试利用MATLAB绘制信号f(t)e(t)e(t2)的拉普拉斯变换的曲面图,观察曲面图在虚轴剖面上的曲线,并将其与信号傅里叶变换F(jw)绘制的振幅频谱进行比较。解:根据拉普拉斯变换和傅里叶变换的定义和性质,我们可求得该信号的拉普拉斯变换和傅里叶变换如下:我们可用前面介绍的方法来绘制该信号的拉普拉斯变换曲面图。为了更好地观察曲面图在虚轴剖面上的曲线,我们定义制绘曲面图的S平面实轴范围从0开始,并用view函数来调整观察视角。实现上述过程的MATLAB程序如下:%绘制矩形信号拉普拉斯变换曲面图程序clf;a=-0:0.1:5;b=-20:0.1:20;[a,b]=meshgrid(a,b);c=a+i*b;%确定绘图区域c=(1-exp(-2*c))./c;c=abs(c);%计算拉普拉斯变换mesh(a,b,c);%绘制曲面图surf(a,b,c);view(-60,20)%调整观察视角axis([-0,5,-20,20,0,2]);title('拉普拉斯变换(S域像函数)');colormap(hsv);上述程序绘制的拉普拉斯变换的曲面图如图所示。从该曲面图我们可以明显地观察到F(s)在虚轴剖面上曲线的变化情况。现在我们用MATLAB来绘制该信号的傅里叶变换曲线(振幅频谱),对应的MATLAB命令如下:%绘制矩形时间信号傅里叶变换曲线程序w=-20:0.1:20;%确定频率范围Fw=(2*sin(w).*exp(i*w))./w;%计算傅里叶变换plot(w,abs(Fw))%绘制信号振幅频谱曲线title('傅里叶变换(振幅频谱曲线)')xlabel('频率w')上述命令绘制的信号傅里叶变换曲线如图所示。通过对两图的观察,我们可直观地观察到拉普拉斯变换和傅里叶变换的对应关系。三、拉普拉斯变换零极点分布对曲面图的影响从单位阶跃信号和单边正弦信号的拉普拉斯变换曲面图我们可以看出,曲面图中均有突出的尖峰,仔细观察便可得出,这些峰值点在S平面的对应点就是信号拉普拉斯变换的极点位置。因此,如果将拉普拉斯变换曲面图比喻为一个地貌图的话,则极点位置就对应着山峰的峰点。我们再来看拉普拉斯变换零点对曲面图的影响,考虑如下信号:我们用前面介绍的方法将其拉普拉斯变换的曲面图绘制出来,对应的MATLAB程序如下:%观察拉普拉斯变换零极点对曲面图影响程序clf;a=-6:0.48:6;b=-6:0.48:6;[a,b]=meshgrid(a,b);c=a+i*b;d=2*(c-3).*(c+3);e=(c.*c+10).*(c-5);c=d./e;c=abs(c);mesh(a,b,c);surf(a,b,c);axis([-6,6,-6,6,0,3]);title('拉普拉斯变换曲面图');colormap(hsv);view(-25,30)从图所示的曲面图我们可以明显看出,曲面图在sj3.1623和s5处有三个峰点,对应着拉普拉斯变换的极点位置,而在s3处有两个谷点,对应着拉普拉斯变换的零点位置。因此,信号拉普拉斯变换的零极点位置,决定了其曲面图的峰点和谷点位置。四、连续系统零极点图线性时不变连续系统可以用如下所示的线性常系数微分方程来描述其中y(t)为系统输出信号,f(t)为输入信号。将上式进行拉普拉斯变换,则该连续系统的系统函数为:上式中A(s)和B(s)分别是由微分方程系数决定的关于S的多项式,将上式因式分解后有:可见,若连续系统的系统函数的零、极点已知,系统函数便可确定下来。即系统函数H(s)的零、极点的分布完全决定了系统的特性.因此,在连续系统的分析中,系统函数的零极点分布具有非常重要的意义。通过对系统函数零极点的分析,我们可以分析连续系统以下几个方面的特性:(1)系统冲激响应h(t)的时域特性;(2)判断系统的稳定性;(3)分析系统的频率特性H(jw)(幅频响应和相频响应)。通过系统函数零极点分布来分析系统特性,首先就要求出系统函数的零极点,然后绘制零、极点图。下面介绍如何利用MATLAB实现这一过程。设连续系统的系统函数为:则系统函数的零点和极点位置可以用MATLAB的多项式求根函数roots()来求得,调用函数roots()的命令格式为p=roots(A)其中A为待求根的关于S的多项式的系数构成的行向量,返回向量p则是包含该多项式所有根位置的列向量。例如多项式为则求该多项式根的MATLAB命令应为A=[134];p=roots(A)运行结果为p=-1.5000+1.3229i-1.5000-1.3229i需要注意的是,系数向量A的元素一定要由多项式的最高幂次开始直到常数项,缺项要用0补齐。例如若多项式为则表示该多项式的系数向量应为A=[103021-4]用roots()函数求得系统函数H(S)的零极点后,就可以用plot命令在复平面上绘制出系统函数的零极点图,方法是在零点位置标以符号“X”,而在极点位置标以符号“O”。下面是求连续系统的系统函数零极点,并绘制其零极点图的MATLAB实用函数sjdt()。function[p,q]=sjdt(A,B)%绘制连续系统零极点图程序%A:系统函数分母多项式系数向量%B:系统函数分子多项式系数向量%p:函数返回的系统函数极点位置行向量%q:函数返回的系统函数零点位置行向量p=roots(A);%求系统极点q=roots(B);;%求系统零点p=p';%将极点列向量转置为行向量q=q';%将零点列向量转置为行向量x=max(abs([pq]));%确定纵坐标范围x=x+0.1;y=x;%确定横坐标范围clfholdonaxis([-xx-yy]);%确定坐标轴显示范围axis('square')plot([-xx],[00])%画横坐标轴plot([00],[-yy])%画纵坐标轴plot(real(p),imag(p),'x')%画极点plot(real(q),imag(q),'o')%画零点title('连续系统零极点图')%标注标题text(0.2,x-0.2,'虚轴')text(y-0.2,0.2,'实轴')例:已知连续系统的系统函数如下所示,试用MATLAB绘出系统的零极点图。解:我们可以直接调用sjdt()函数来绘制上述系统的零极点图。对应的MATLAB命令如下:a=[12-321];b=[1-4];sjdt(a,b)a=[151630];b=[520250];sjdt(a,b)上述命令绘制的系统零极点图如图所示。五、拉普拉斯逆变换和响应的求解求连续时间信号拉普拉斯逆变换的过程,我们可以用MATLAB的residue函数来实现。令A和B分别是F(s)的分子和分母多项式构成的系数向量,则函数[r,p,k]=residue(B,A)将产生三个向量r、p和k,其中p为包含F(s)所有极点的列向量,r为包含F(s)部分分工展开系数的列向量。k为包含F(s)部分分式展开的多项式项的系数的行向量,若M=N,则k为空阵。用函数residue()求出F(s)部分分式展开的系数后,便可根据其极点位置分布情况直接求出F(s)的拉普拉斯逆变换f(t)。下面我们举例说明如何用MATLAB求拉普拉斯逆变换。例:已知连续信号的拉普拉斯变换为试用MATLAB求其拉普拉斯逆变换f(t)。解:该问题可以用函数residue()来解决,对应的MATLAB命令如下:a=[1040];b=[24];[r,p,k]=residue(b,a)运行结果为:r=-0.5000-0.5000i-0.5000+0.5000i1.0000p=0+2.0000i0-2.0000i0k=[]由上述结果我们可以看出,F(s)有三个极点p1,22j、p30,为了求得共轭极点对应的时间信号分量,我们可用abs()和angle()分别求出部分分式展开系数(留数)的模和相角,命令如下:abs(r)ans=0.70710.70711.0000angle(r)/pians=-0.75000.75000由上述结果可得,F(s)的拉普拉斯逆变换为:例:已知某连续系统的系统函数为试用MATLAB求出该系统的冲激响应h(t),并绘出其时域波形图,判断系统的稳定性。解:该问题可通过调用residue()函数来解决,命
本文标题:连续系统的复频域分析
链接地址:https://www.777doc.com/doc-6030338 .html