声明:本系列博客参考有关专业书籍,截图均为自己实操,仅供交流学习!
一、混合系统概述
由不同类型系统共同构成的系统称为混合系统!仿真时必须考虑连续信号和离散信号的采样匹配问题,一般使用变步长连续求解器!不同类型信号、不同采样时间信号可用如下颜色显示:
仿真时变步长求解器可不时地调整仿真步长以匹配离散信号的采样时间:
二、混合仿真示例1:通信系统
(1)物理模型&数学描述
①信源
通信系统需要传递的信号,这里使用单位幅值、单位频率的锯齿波。
②调制与解调
调制信号为正弦连续信号(幅值1,频率100Hz);
解调信号为正弦离散信号(幅值1,频率100Hz,采样时间为0.005s);
并采用双边带抑制载波调制与解调。调制:output=input x carrier,其中input为低频信号,carrier为高频载波信号,output为幅度调制信号;解调:output=input x carrier,其中input为信道传递的信号,carrier为解调信号,output为幅度解调信号。
③信道
信道的动态方程为。其中u为信道输入,y为信道输出,显然为一条线性连续信道,信道的传递函数为:
信道噪声用random number模块产生,为服从高斯正态分布的随机性干扰,均值为0,方差为0.01。
信道延迟:信道经过缓冲区为1024的延迟,用Transport Delay模块实现。
④数字滤波器
数字滤波器的差分方程如下,为一个线性离散系统:
使用Z变换变为如下形式:
(2)Simulink模型
首先回顾下在线性离散系统中我们做的简单的信号调制和解调模型,以作对比:
这里的混合系统如下:
(3)封装成子系统
可以用subsystem模块进行封装,这里只有示意图不再演示:(信号解调最后的discrete filter模块是数字滤波器)
(4)模块与仿真参数设置
根据物理模型&数学描述进行设置。Transport Delay的初始缓冲区设置为1024;Transfer Fcn根据信道动态方程设置,分子[1],分母[1e-9 1e-3 1];discrete filter模块根据数字滤波器Z变换式子设置,分子[0.04 0.08 0.04],分母[1 -1.6 0.7],采样时间0.005s。其他根据上面描述设置,此处不赘述。
仿真器用变步长连续求解器,其他根据需要。
(5)仿真运行
结果不佳,还是之前在线性离散系统仿真中遇到的问题,设定的锯齿波频率为1,但是scope显示却不是?如果有会的博友,请多多指教!
三、混合仿真示例2:汽车行驶控制
系统基本要点:
①操作机构的不同位置对应汽车不同的位置;
②测量汽车当前速度,并与设置的期望速度作差;
③由速度差值信号得到驱动牵引力大小,做到反馈控制。
(1)物理模型&数学描述
①速度操作机构的位置变换器
作用是将操纵机构的位置转换为相应的速度:
②离散行驶控制器
作用是根据速度差值产生相应的牵引力,典型的PID控制器:
其中u为输入,y为输出,x为系统中的状态。
③动力机构
作用是在牵引力作用下改变速度使其达到指定值:
其中m为汽车质量1500kg,b为阻力因子取23。
(2)Simulink模型
Slider Gain模块用于限制位置变换器的输入信号x的范围;Unit Delay模块输入为x(n),输出为x(n-1);Unit Delay1模块输入为u(n),输出为u(n-1)。
(3)模块与仿真参数设置
Slider Gain模块最小值0,最大值1,初始值0.5;Unit Delay模块初始状态0,采样时间0.02s;PID的增益分别为1、0.003、0.01;其他参数增益如下图:
仿真器采用变步长连续求解器。
(4)仿真运行
增加微分项增益可减小超调量,缩短系统调节时间;增加积分项增益可增加超调量,延长调节时间;增加比例项增益也可缩短系统调节时间。
往期精彩
STM32专栏(付费9.9)http://t.csdnimg.cn/E2F88
OpenCV-Python专栏(付费9.9)http://t.csdnimg.cn/zK1jV
AI底层逻辑专栏(付费9.9)http://t.csdnimg.cn/zic0f
机器学习专栏(免费)http://t.csdnimg.cn/FaXzAFreeRTOS专栏(免费)http://t.csdnimg.cn/SjIqU电机控制专栏(免费)http://t.csdnimg.cn/FNWM7