电子科技大学中山学院学生实验报告院别:电子信息学院课程名称:信号与系统实验一、实验目的1. 掌握连续系统的Simulink建模方法;2. 掌握连续系统时域响应、频域响应的Simulink仿真方法。
二、实验原理连续系统的Simulink仿真分析包括系统模型的创建和仿真分析两个过程。
利用Simulink模块库中的有关功能模块创建的系统模型,主要有s域模型(例17-1)、传输函数模型(例17-2)和状态空间模型(例17-3)等形式。
若将信号源子模块库(Sources)中某种波形的信号源(如正弦或阶跃信号源),加于系统模型的输入端,则在系统模型的输出端用示波器观察零状态响应的波形,如图17-1所示。
图17-1 系统时域响应Simulink仿真的模型以Sources子模块库中的“In1”、Sinks 子模块库中的“Out1”分别作为系统模型的输入端和输出端,如图17-2所示。
图17-2 系统响应Simulink仿真的综合模型建立图17-2形式的系统模型并保存之后,利用如下相应的命令,可得到系统的状态空间变量、频率响应曲线、单位阶跃响应和单位冲激响应的波形。
[A,B,C,D]=linmod(‘模型文件名’) %求状态空间矩阵,注意:‘模型文件名’不含扩展名bode(A,B,C,D);%绘制系统的频率特性曲线bode(A,B,C,D, i u, ω0 : △ω : ω1);%绘制系统在ω0 ~ ω1频率范围内、步长为△ω的频率特性曲线;i u为输入端口编号,一般取1impulse(A,B,C,D)%绘制系统冲激响应的波形impulse(A,B,C,D, i u, t0 : △t : t1) %绘制系统在t0 ~ t1时间范围内、步长为△t的冲激响应的波形step(A,B,C,D)%绘制系统阶跃响应的波形step(A,B,C,D, i u, t0 :△t : t1) %绘制系统在t0 ~ t1时间范围内、步长为△t的阶跃响应的波形以上命令,可以逐条在MATLAB命令窗口输入、执行,也可编写成M文件并运行,获得所需结果。
1. s域模型的创建和时域响应的Simulink仿真【例17-1】连续系统如图17-3所示。
试用Simulink 仿真,绘出其单位阶跃响应和单位冲激响应的波形。
图17-3解:先建立系统的s 域模型,然后进行仿真分析。
(1)创建系统模型系统的s 域模型如图17-4所示。
建模过程中,添加功能模块和线路连接等与前述相同,下面只对阶跃信号源、加法器、数乘器的参数设置进行说明。
图17-4 例17-1的模型右击 “Step ”模块(阶跃信号源),执行快捷菜单中的“Step Parameters …”项,在弹出的对话框中将“Step time ”(跃变时间)项由“1”改为“0”。
加法器的形状、输入端的数量、端口位置等属性的修改:双击左加法器,在对话框中将其外形由圆形(round )改为矩形(rectangular ),再将其输入端符号(List of signs )由“| + +”改为“| + - -”。
双击右加法器, “List of signs ”项由“| + +”改为“+ + |”。
数乘器属性的修改:右击数乘器Gain1,执行快捷菜单中的Format —Flip block 将图形翻转;再双击之,在模块参数对话框(Block parameters )中的Gain (增益)栏输入“3”,然后点击“OK ”按钮,完成数乘器Gain1的增益设置。
其余数乘器的设置,方法相同。
(2)系统的仿真 单击模型窗口中的“”图标,运行Simulink 仿真。
然后,双击示波器模块,弹出的示波器窗口,显示仿真结果如图17-5所示。
(A )单位阶跃响应 (B )单位冲激响应图17-5 例17-1的仿真结果2. 传递函数模型的创建、时域响应和频域响应的Simulink 仿真【例17-2】连续系统的微分方程为)(3)(2)(4.0)(2.0)(t f t f t y t y t y +'=+'+''试用Simulink 作仿真,绘出其单位阶跃响应的波形和频率响应曲线。
解:现采用传递函数的方式来建模。
对微分方程求拉普拉斯变换,得系统函数:4.02.032)(2+++=s s s s H建模和仿真过程:将Continuous 子模块库中的Transfer Fcn (传递函数)模块、Sources 子模块库中的In1模块、Sinks 子模块库中的Out1模块拖放到新建模型窗口中,然后连线,如图17-6所示。
Transfer Fcn 模块参数的设置:双击Transfer Fcn 模块,在模块参数(Block Parameters)对话框中的Numerator 栏中输入系统函数分子系数向量[2 3],在Denominator 栏中输入系统函数分母系数向量[1 0.2 0.4],然后点击“OK ”按钮。
至此,完成了系统的建模,以文件名“example1702.mdl ”存盘。
图17-6 例17-2系统模型编写如下M文件,以文件名“exam1702.m”存盘。
(注:M文件的主文件名不要与系统模型文件相同)。
[A,B,C,D]=linmod('example1702');figure(1)impulse(A,B,C,D,1,0:0.01:50);figure(2)step(A,B,C,D,1,0:0.01:50);figure(3)bode(A,B,C,D,1,0:0.01:1000);运行该M文件后,得如图17-7所示的仿真结果。
(A)单位冲激响应(B)单位阶跃响应(C )频率响应特性曲线 图17-7 例17-2仿真结果3. 状态空间模型的创建、时域响应和频域响应的Simulink 仿真【例17-3】描述线性连续系统的状态方程和输出方程为DuCx y Bu Ax x +=+='其中,x 代表状态矢量,u 代表输入矢量,y 代表输出矢量,且⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡-=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡----=01,200020,001,120005.0211D C B A 试用Simulink 仿真,绘出其单位冲激响应的波形、系统频率响应特性曲线。
解:创建系统模型如图17-8所示。
图17-8 例17-3系统模型现介绍State-Space 模块参数的设置:双击State-Space 模块,在Block Parameters 对话框的各项中分别输入相应的矩阵:A : [-1,-1,-2;0.5,0,0;0,2,-1]B : [1,0,0]’C : [0,2,0;0,0,-2]D : [1,0]’ 完成系统的建模后,以文件名“example1703.mdl ”将系统模型存盘。
(1)编写并运行如下M 文件(“exam1703.m ”)后,得如图17-9所示的仿真结果。
[A,B,C,D]=linmod('example1703');figure(1);impulse(A,B,C,D,1,0:0.01:100); figure(2);bode(A,B,C,D,1,0:0.01:10);(2)编写如下M 文件(文件名“exam1703H.m ”),求系统函数H 。
syms s[A,B,C,D]=linmod('example1703') I=[1 0 0;0 1 0;0 0 1]; H=C*inv(s*I-A)*B+D运行后,得如下仿真结果: H =2*(s+1)/(2*s^3+4*s^2+3*s+5)+1 -4/(2*s^3+4*s^2+3*s+5)整理后,两个输出端口的系统函数:5.25.124)(,15.25.121)(232231+++-=+++++=s s s s H s s s s s H (A )单位冲激响应(A )单位冲激响应(B )频率响应图17-9 例17-3仿真结果【例17-4】线性系统如图17-10所示,已知a =1.2,b =5,c =-0.2。
取积分器输出),(21x x 为状态变量。
图17-10(1)列出系统的状态方程和输出方程;(2)用Simulink 中的状态空间模块建立系统模型,分析系统的频率特性。
解:方法1:经理论分析求得系统的状态空间矩阵,然后按例17-3的方法建模和仿真。
系统的状态方程和输出方程分别为:[]f bc c a x x bc c x x ⎥⎦⎤⎢⎣⎡++⎥⎦⎤⎢⎣⎡⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡212101 []]][1[01211f x x f x y +⎥⎦⎤⎢⎣⎡=+=方法2:建模--求状态空间矩阵--系统时域、频域分析。
过程如下:(1)建立系统的s 域模型,如图17-11所示,并以文件名example1704.mdl 存盘。
(2)求状态空间矩阵、频率特性图17-11 例17-4的系统模型①求状态空间矩阵。
在MATLAB 命令窗口中输入命令: >> [A B C D]=linmod('example1704')可得系统的状态空间矩阵: A =-0.2000 1.0000 -1.0000 0 B =1.0000 -1.0000 C =1.0000 0 D =1图17-12 例17-4系统的频率特性对比可知,仿真结果与理论分析结果是一致的。
②求系统的频率特性。
执行如下命令,可得系统的频率特性图: >> bode(A,B,C,D);grid on仿真结果如图17-12所示,图中分别给出了系统的幅频特性和相频特性。
三、实验内容1. 已知连续系统的系统函数为93)(2+++=s s s s H 。
用系统函数的形式建立系统模型,进行Simulink仿真,(1)绘出阶跃响应波形;(2)绘出系统的频率特性图。
2. 已知连续系统的的微分方程为)(2)()(2)(3)(t f t f t y t y t y +'=+'+''建立系统模型,进行Simulink 仿真。
(1)若)π2si n()(t t f =,绘出系统零状态响应波形;(2)分析系统的频率特性。
3. 线性系统如图17-13所示。
要求:建立系统的s 域模型,编写执行Simulink 仿真命令的M 文件,求系统的状态空间变量,绘出系统的冲激响应波形和频率响应特性曲线。
图17-13四、实验结果及分析通过本次实验,我熟练掌握了连续系统时域响应、频域响应的Simulink 仿真方法,明白了连续系统的Simulink 仿真分析包括系统模型的创建和仿真分析两个过程;同时利用Simulink 模块库中的有关功能模块创建的系统模型,主要有s 域模型、传输函数模型和状态空间模型等形式,最后也掌握了一些常用连续系统的Simulink 建模方法。