第五讲 Matlab/Simulink入门——混合系统仿真实例

第五讲 Matlab/Simulink入门——混合系统仿真实例

  • 1、混合系统仿真
  • 2、通信系统
    • 2.1调制与解调
    • 2.2 通信信道
    • 2.3 建模
    • 2.4 仿真结果
  • 3、行驶控制系统
    • 3.1 物理模型与数学描述
    • 3.2 建模
    • 3.3 仿真结果

1、混合系统仿真

  选择仿真平台的菜单命令Display→Sample Time→Colors 可实现对信号线上色的功能,其中黑色表示连续信号,其他颜色表示离散信号,并且不同颜色表示采样时间的不同。
下图所示为一个简单的混合系统,Unit Delay模块采样时间是0.5s,Unit Delay1 模块采样时间是1.2s,实现信号线上色后,不同采样时间的信号清晰区分。

第五讲 Matlab/Simulink入门——混合系统仿真实例_第1张图片

仿真结果:

第五讲 Matlab/Simulink入门——混合系统仿真实例_第2张图片

2、通信系统

2.1调制与解调

  在此通信系统中,调制信号为正弦连续信号(幅值为1,频率为100Hz),解调信号为正弦离散信号(幅值为1,频率为100Hz,采样时间为0.005s),并且采用双边带抑制载波调制与解调。
  双边带抑制载波调制:output=input×carrier,其中input为低频信号,carrier为高频载波信号,output为幅度调制信号。
  双边带抑制载波解调:output=input×carrier,其中input为信道中传递的信号,carrier为解调信号,output为幅度解调信号。

2.2 通信信道

  通信信道动态方程为 1 0 − 9 y ¨ + 1 0 − 3 y ˙ + y = u 10^{-9}\ddot{y}+10^{-3}\dot{y}+y=u 109y¨+103y˙+y=u。其中 u u u为信道输入, y y y为信道输出。显然此信道为一线性连续信道,信道传递函数为
Y ( s ) U ( s ) = 1 1 0 − 9 s 2 + 1 0 − 3 s + 1 \frac{Y(s)}{U(s)}= \frac{1}{10^{-9}s^2+10^{-3}s+1} U(s)Y(s)=109s2+103s+11
  信道噪声为一服从高斯正态分布的随机加性干扰,噪声均值为0,方差为0.01。
  信道延迟:信道经过缓冲去为1024的延迟。
  数字滤波器的差分方程为:
y ( n ) − 1.6 y ( n − 1 ) + 0.7 y ( n − 2 ) = 0.04 u ( n ) + 0.08 u ( n − 1 ) + 0.04 u ( n − 2 ) y(n)-1.6y(n-1)+0.7y(n-2)=0.04u(n)+0.08u(n-1)+0.04u(n-2) y(n)1.6y(n1)+0.7y(n2)=0.04u(n)+0.08u(n1)+0.04u(n2)
  对应的 Z Z Z变换为:
Y ( z ) U ( z ) = 0.04 + 0.08 z − 1 + 0.04 z − 2 1 − 1.6 z − 1 + 0.7 z − 2 \frac{Y(z)}{U(z)} = \frac{0.04+0.08z^{-1}+0.04z^{-2}}{1-1.6z^{-1}+0.7z^{-2}} U(z)Y(z)=11.6z1+0.7z20.04+0.08z1+0.04z2

2.3 建模

第五讲 Matlab/Simulink入门——混合系统仿真实例_第3张图片

  Sine Wave 模块:Frequency频率设为100Hz,幅值设为1。
  Signal Generator模块:Wave form波形设为sawtooth 锯齿波。
  Random Number模块:设置Mean 均值为0,Variance 方差为0.01。
  Transfer Delay模块:Initial buffer size初始缓冲区设为1024。
  Transfer Fcn模块:设置Numerator 分子项为[1],Denominator分母项为[1e-9 1e-3 1]。
  Sine Wave1模块:设置Frequency为100Hz,幅值为1,Sample time 采样时间为0.005s。
  数字滤波器模块:设置Numerator 分子项为[0.04 0.08 0.04],Denominator分母项为[1 -1.6 0.7],采样时间为0.005s

2.4 仿真结果

第五讲 Matlab/Simulink入门——混合系统仿真实例_第4张图片

3、行驶控制系统

3.1 物理模型与数学描述

  汽车行驶控制系统是应用非常广泛的控制系统之一,其主要目的是对汽车速度进行合理的控制。系统的工作原理如下:
  (1)汽车速度操纵机构的位置发生改变以设置汽车的速度,这是因为操纵机构的不同位置对应着不同的速度;
  (2)测量汽车的当前速度,并求取它与制定速度的差值;
  (3)由速度差值信号驱动汽车产生相应的牵引力,并由此牵引力改变汽车的速度直到其速度稳定在指定的速度为止。
  位置变换器是汽车行驶控制系统的输入部分,其目的是将速度操纵机构的位置转换为相应的速度,二者之间的数学关系如下所示:
v = 30 x + 50 , x ∈ [ 0 , 1 ] v=30x+50, x\in[0, 1] v=30x+50,x[0,1]
其中x为速度操纵机构的位置,v为与之对应的速度。
  行驶控制器是整个汽车行驶控制系统的核心部分,其功能是根据汽车当前速度与指定速度的差值,产生相应的牵引力。行驶控制器是典型的PID控制器,其数学描述为:
  积分环节:
x ( n ) = x ( n − 1 ) + u ( n ) x(n)=x(n-1)+u(n) x(n)=x(n1)+u(n)
  微分环节:
d ( n ) = u ( n ) − u ( n − 1 ) d(n)=u(n)-u(n-1) d(n)=u(n)u(n1)
  系统输出:
y ( n ) = K P u ( n ) + K I x ( n ) + K D d ( n ) y(n)=K_Pu(n)+K_Ix(n)+K_Dd(n) y(n)=KPu(n)+KIx(n)+KDd(n)
  其中u(n)为系统输入,y(n)为系统输出,x(n)为系统中的状态。KP、KI、KD分别为PID控制器的比例、积分与微分控制参数。
  汽车动力机构是行驶控制系统的执行机构,其功能是在牵引力的作用下改变汽车速度,使其达到指定的速度。牵引力与速度之间的关系为:
F = m v ˙ + b v F=m\dot{v}+bv F=mv˙+bv
  其中F为汽车牵引力,m=1500kg为汽车质量,b=23为摩擦阻力因子。

3.2 建模

第五讲 Matlab/Simulink入门——混合系统仿真实例_第5张图片

  Slider Gain 模块:Low最小值为0,High 最大值为1,初始取值为0.5;
  Gain模块:增益取值为30;
  Constant1模块:常数取值为50。
  所有Unit Delay模块:初始状态为0,采样时间为0.02s;
  Kp、Ki、Kd模块:增益分别取1、0.01、0.01。
  1/m模块:取值1/1500;

3.3 仿真结果

第五讲 Matlab/Simulink入门——混合系统仿真实例_第6张图片

  对于PID控制器而言,增加微分控制参数Kd可以减小系统超调量,缩短系统调节时间;增加积分控制参数Ki可以增加系统超调量,延长系统调节时间;而增加比例控制参数Kp可以缩短系统调节时间。
  对于不同的系统,PID控制器的参数选取对控制结果有着很大的影响。

你可能感兴趣的:(Simulink仿真实例)