logo资料库

实验七 连续系统的复频域分析.doc

第1页 / 共10页
第2页 / 共10页
第3页 / 共10页
第4页 / 共10页
第5页 / 共10页
第6页 / 共10页
第7页 / 共10页
第8页 / 共10页
资料共10页,剩余部分请下载后查看
二、实验仪器
4、规范化的书写实验报告
实验七 连续系统的复频域分析 一、实验目的: 1、了解连续系统的复频域分析的基本实现方法; 2、掌握相关函数调用格式及实现功能。 3、掌握用 MATLAB 绘制连续系统零极点图与拉普拉斯变换曲面图 4、掌握用 MATLAB 实现连续系统的频率特性及其幅度特性、相位特性。 二、实验仪器 计算机 MATLAB 软件 三、实验原理: 1、系统仿真方法: 根据模型的种类不同分为: (1)数学仿真-用计算机软件摸拟各种实际系统的数学模型(软件仿真)。 (2)物理仿真-用实物模型来摸拟各种实际系统(硬件仿真)。 (3)数学--物理仿真—两种的结合 时域模型 系统的数学模型 复域模型 微分方程 状态空间表达式 传递函数 结构图 频域模型 频率特性图 系统仿真分析与设计方法:时域法和频域法 (1)时域法:是以状态方程为基础对系统进行分析设计。系统特性分析包 括:李亚谱诺夫(Lyapunov)稳定性分析,能控能观性分析等。 (2)频域法:主要是借助于传递函数,通过劳斯(Routh)定理、奈氏图 (Nyquist)、伯德图(Bode)、尼克尔斯图(Nichols)、根轨迹等概念和方法分析 第 1页
系统的各种特性。如稳定性、动态特性、稳态误差等。 2、实验涉及的 MATLAB 函数 (1) laplace 函数 功能:用符号推理求解拉氏变换。 调用格式:L= laplace(F) F 为函数,默认为变量 t 的函数,返回 L 为 s 的 函数时,要用 syms 命令定义符号变量 t。 (2) ilaplace 函数 功能:用符号推理求解反拉氏变换。 调用格式:L= ilaplace(F) F 为函数,默认为变量 t 的函数,返回 L 为 s 的函数时,要用 syms 命令定义符号变量 t。 (3) roots()函数 功能:求多项式的根 调用格式: r=roots(C):其中 C 为多项式的系数向量(从高次到低次), r 为根向量。因此可用直接求根来判断系统稳定性。 (4) rlocus 函数 功能:求系统的根轨迹 调用格式:rlocus(sys)绘制系统的根轨迹; rlocus(sys,K)绘制增益为 K 的闭环极点; rlocus(sys1,sys2,…)在同一复平面绘制多个系统的根轨迹,为区分各个 系统的不同根轨迹,可用 不同的颜色来显示,如 rlocus(sys1,‘r’,sys2,‘y’…); (5) step 函数 功能:绘制系统的阶跃曲线。 调用格式: step(num,den,t) ,其 num,den 分别为传递函数的分子、分 母的多项式。t 为仿真时间。 (6)impulse 函数 功能:绘制系统的冲激响应曲线。 调用格式:impulse(num,den,t) (7)lsim 函数 功能:绘制系统的任意响应曲线。 第 2页
调用格式:lsim(num, den, u,t), u 为任意输入信号。 (8)gensing()函数 功能:用来产生一些信号。 调用格式:[u,t]= gensing(type,tau,Tf,Ts)。Type 为产生信号的类型 (’sin’正弦波、’square’为方波、’pulse’为脉冲序列)。Tau 为信号周期,Tf 信号持续时间,Ts 采样周期。u 为所产生的信号。 gensing()函数和 lsim()联合起来使用。 四、实验内容 经典的拉普拉斯变换分析方法即先从时域变换到复频域,在复频域经过处理 后再利用拉普拉斯反变换从复频域变换到时域,完成对时间问题的求解,涉及的 函数有 laplace 函数和 ilaplace 函数等 1、求解时域信号对应的拉普拉斯变换、已知象函数求拉普拉斯反变换 例 1、求信号 e-3t sin2tu(t)拉氏变换 MATLAB 程序: >> clear; >> syms t s >> f=exp(-3*t)*sin(2*t); >> F=laplace(f) 运行结果: s 3 s 2  , 3 s   3 2  s 求原函数 f(t)  )( sF F = 1/2/(1/4*(s+3)^2+1) 例 2、已知象函数 MATLAB 程序: clear; syms s t F=(s-2)/(s^4+ 3*s^3+3* s^2+s) f_t=ilaplace(F) 4 s 运行结果: f_t=-2+3/2*t^2*exp(-t)+2*t*exp(-t)+2*exp(-t) 第 3页
2、利用拉普拉斯变换求解系统全响应 例 3、已知 )( te  )(3 tu , )( sH  )( sR )( sE  s 5 s  6 2 s  ,初始状态 y(0)=1 y’(0)=1; 求系统零状态 响应 )(t rzs 。 %% 零输入响应 num=[1 0 ]; den=[1 5 6 ]; sys=tf(num,den); t=0:0.01:3; sys1=ss(sys); y=[1 1 ]; u=zeros(1,length(t)); rzi=lsim(sys1,u,t,y);% subplot(311); plot(t,rzi); title('零输入响应 yzi(t)'); ylabel('rzi(t)') %% 零状态响应 syms s f f=ilaplace(3/((s+2)*(s+3)));t=0:0.01:3; rzs=3*exp(-2*t)-3*exp(-3*t); subplot(312); plot(t,rzs) title('零状态响应'); ylabel('rzs(t)') %% 全响应=零状态响应+零输入响应 r=rzi+rzs'; subplot(313); plot(t,r); 第 4页
 t  ,0 y _)0(  ,1 y _)0('  ,2 2 2  e2)(2)( ty ty   d d t d3)( ty d t title('全响应'); ylabel('r(t)');xlabel('时间(秒)');ylabel('r(t)') 例 4、已知 求解 y(t) MATLAB 程序参考: clear; b=[1];a=[1 3 2]; [A B C D]=tf2ss(b,a); sys=ss(A,B,C,D); t=0:0.01:10; f=-2*exp(-t); zi=[2 1]; y=lsim(sys,f,t,zi); plot(t,y);grid; xlabel(′时间(t)′); ylabel(′y(t)′); title(′系统的全响应′); 运行结果: 3、使用部分分式法求解拉普拉斯反变换 使用部分分式法求解拉普拉斯反变换,方法简单,易于实现,但是对于分母 第 5页
多项式复杂难于分解的、或者分解后有多重极点的,手动计算的运算量就很大了, 这里介绍使用 matlab 方便实现部分分式的分解,进而易于就拉斯反变换。 例 5、已知象函数 )( sF  3 s  s 5 s 2  2  3 s 9 s  2  7 分析:关键是使用部分分式法裂项分开 求 F(s)使用部分分式展开的表示形式 Matlab 语句: b=[0 0 0 1 -2]; a=[1 3 3 1 0]; %分母系数 [r,p,k]=residue(b,a) %留数运算, 其中 r 是系数, p 是极点, k 是直接项 %分子系数 运行实验结果: r = p = k = 2.0000 2.0000 3.0000 -2.0000 -1.0000 -1.0000 -1.0000 0 [ ] 因此 )( sF  3 )1  3 2 )1  2  ( s ( s  2  1 s  2 s 例 6、已知象函数 9 s  2  分析:关键是使用部分分式法裂项分开 5 s 2  2  3 s  s 3 s )( sF  7 ,求原函数 f(t) Matlab 语句: b=[1 5 9 7]; a=[0 1 3 2]; [r,p,k]=residue(b,a) %留数运算, 其中 r 是系数, p 是极点, k 是直接项 %分子系数 %分母系数 运行结果: r = -1 2 第 6页
p = k = -2 -1 1 2 因此用部分分式法裂项后的表示形式为: )( sF  2 s 2  1 s  1  2  s 4、利用 MATLAB 绘制系统传递函数 H(s)的零极点图 (1)传递函数: 用多项式形式表示的开环传递函数, )( sG  num den )( s )( s  m n sb 1 sa 1   sb 2 sa 2 m 1  n 1        b m a n 1  1  在 Matlab 中函数 tf()可用来建立传递函数模型, 其调用格式为:G(S)=tf(num,den)。 (2)用多项式形式表示的闭环传递函数 :  )( s  )( sG )( sG  1  m sb 1  sb 2 m 1  sb 1   m   sb 2 b m 1  m 1     n sa 1   b 1 m  n sa 2 1     a n 1  (3)用零极点增益形式表示的开环传递函数 )( sG  ( sk ( s   z 1 p 1 )( )( s s   z 2 p 2 ( ) s  ) ( s    z m p n ) ) 在 Matlab 中函数 zpk()可用来建立传递函数零、极、增益模型,其调用格式为: G(S)=zpk(z,p,k)。 例 7、已知某系统的传递函数 )( sH  )( sR )( sE  2 s  2 11 s 4 8 s  11 s   10 3 s  ,绘制零极点图 MATLAB 参考程序: %传递函数分子多项式系数行向量 num=[1,4,8] den=[1,11,11,10] %传递函数分母多项式系数行向量 G=tf(num,den) [z,p,k]=tf2zp(num,den) %提取传递函数的零极点和增益 pzmap(G) grid on %绘制其零极点图 %打开绘图网格 %建立传递函数模型 第 7页
运行结果:零极点图 5、用 MATLAB 绘制拉普拉斯变换的曲面图 从三维几何空间的角度来看, )(sF 和 )(s 对应着复平面的两个曲面,如果 我们能绘出它们的三维曲面图,我们就可以直观的分析连续信号的拉普拉斯变换 F(s)随复变量 s 的变化。 上述过程我们可以利用 MATLAB 的三维绘图功能来实现。现在考虑如何用 MATLAB 来绘制 s 平面的有限区域上连续时间信号 f(t)的拉普拉斯变换 F(s) 的曲面图,我么以单位阶跃信号 u(t)为例来说明实现过程。 我们知道,对单位阶跃信号 f(t)= u(t),其拉普拉斯变换为 )(  。 首先,我们用两个向量来确定绘制曲面图的 s 平面的横、纵坐标的范围。 然后再调用 meshgrid()函数来产生矩阵 S,并用矩阵来表示绘制曲面图的附 sF 1 s 平面区域,对应的 MATLAB 命令如下: [x,y]=meshgrid(x1,y1) S=x+i*y 上述命令产生的矩阵 S 包含了复平面  2.0    2.0  、 2.0  j   2.0 范围以 内间隔 0.03 取样的所有样点。 最后我们在计算出信号拉普拉斯变换在复平面上的这些样点上的值,即可用 函数 mesh()来绘出其曲面图。 例 8、 已知连续时间信号 f(t)=sin(t)u(t),求出该信号的拉普拉斯变换,并用 MATLAB 绘制拉普拉斯变换的曲面图 第 8页
分享到:
收藏