4. 控制系统时域与频域分析
在Simulink中完成控制系统的建模之后,真正决定系统能否投入工业现场的关键,是对其稳定性、稳态误差和动态响应指标做出定量判断。本节围绕时域与频域两条主线展开:时域回答“系统在时间轴上如何响应、误差最终收敛到多少”,频域回答“系统在不同频率激励下增益与相位如何变化、稳定裕度有多大”。两者通过根轨迹、Bode图和Nyquist图在Simulink环境中统一起来,并借助Linear Analysis Tool对工业对象进行线性化与特性提取。
一、时域指标:从阶跃响应读出系统品质
时域分析最直接的手段是给系统施加单位阶跃输入,观察输出响应曲线。对典型的二阶系统,我们关注以下指标:上升时间 tr(输出从10%到90%稳态值的时间)、峰值时间 tp、超调量 Mp(峰值超出稳态值的百分比)、调节时间 ts(进入并保持在稳态值±2%或±5%误差带内的时间)以及稳态误差 ess。这些指标与系统阻尼比 ζ 和自然频率 ωn 直接相关:超调量主要由 ζ 决定,ζ 越小超调越大;调节时间与 ζωn 成反比。
在Simulink中实现时域分析,通常将Step模块接入被控对象与控制器构成的闭环,用Scope或To Workspace记录输出。若需精确读取指标,可将仿真数据导出到MATLAB工作区,使用 stepinfo(y,t) 直接获得上升时间、超调量、调节时间等数值。例如某电机速度环模型在阶跃给定下,若 stepinfo 返回超调量约18%、调节时间约0.35 s,则说明阻尼偏小,可通过增大速度环比例增益或加入微分环节改善。
稳态误差与系统型别密切相关。0型系统对阶跃输入存在有限稳态误差,I型系统对阶跃输入稳态误差为零、对斜坡输入存在有限误差,II型系统对斜坡输入稳态误差为零。在Simulink中判断稳态误差,可让仿真运行足够长时间,观察误差信号 e(t) 是否收敛到非零常数。若误差持续增大,则说明系统型别不足以跟踪该输入。
二、频域分析:Bode图、Nyquist图与稳定裕度
频域分析通过开环频率特性判断闭环稳定性与鲁棒性。Bode图由幅频特性和相频特性两条曲线组成,横轴为对数频率。幅值穿越频率 ωc 处对应的相位与 -180° 之差称为相位裕度 PM;相位穿越频率 ωg 处幅值与 0 dB 之差称为幅值裕度 GM。工程上通常要求 PM 在 45°~60°、GM 大于 6 dB,以保证系统既有足够阻尼又有抗参数摄动能力。
Nyquist图则把开环频率特性画在复平面上,通过曲线是否包围 (-1, j0) 点判断闭环稳定性。对于开环稳定的系统,曲线不包围该点即闭环稳定;包围则不稳定。Nyquist图的优势在于能直观显示系统接近临界点的程度,与Bode图的裕度信息互为补充。
在Simulink中,可通过Linear Analysis Tool或 linmod、linearize 命令获取线性化模型,再用 bode、nyquist、margin 绘制曲线并计算裕度。例如对某直流电机电流环,若 margin 返回 PM = 52°、GM = 12 dB,则说明该环稳定且裕度充足;若 PM 仅 15°,则系统接近振荡,需要降低增益或调整补偿器零点位置。
三、根轨迹:参数变化下的闭环极点走向
根轨迹描述开环增益从0变化到无穷时,闭环极点在复平面上的移动轨迹。它把稳定性、动态响应与增益选择联系起来:当根轨迹穿过虚轴时,系统由稳定变为不稳定;极点靠近虚轴则响应慢、阻尼小。在Simulink中,可用 rlocus(sys) 绘制根轨迹,并用 rlocfind 交互选取增益点,查看该增益下的闭环极点位置与对应时域指标。
对电机速度环,若根轨迹显示一对共轭极点随增益增大向右半平面移动,则说明增益存在上限。工程上常把增益选在根轨迹与 ζ=0.707 阻尼线交点附近,以兼顾快速性与超调量。
四、Linear Analysis Tool 分析工业对象特性
Linear Analysis Tool 是Simulink中用于线性化的图形化工具。操作时先在模型上指定输入点和输出点,再选择工作点(可在稳态工作点或指定时刻线性化),工具会自动生成该工作点附近的LTI模型。对于非线性工业对象(如带饱和的电机模型),线性化结果只在工作点附近有效,因此需要确认工作点是否接近实际运行工况。
线性化完成后,可直接在工具中绘制Bode图、Nyquist图、阶跃响应,并计算稳定裕度。若发现某频段增益过高,可回到Simulink调整控制器参数,再重新线性化对比。这种“建模—线性化—频域分析—参数修正”的闭环迭代,是工业对象特性分析的标准做法。
五、电机模型频域分析实操要点
以直流电机速度环为例,电机电气时间常数通常远小于机械时间常数,因此电流环可近似为单位增益,速度环成为主要分析对象。在Simulink中搭建PI控制器加电机传递函数的闭环模型,设置Kp=2.5、Ki=12(教学假设值),运行Linear Analysis Tool线性化后,用 margin 计算得到相位裕度约52°、幅值裕度约12 dB、穿越频率约18 rad/s。此时阶跃响应超调约18%、调节时间约0.35 s,属于可接受范围。
若将Kp增大到5,相位裕度可能降至30°以下,超调超过40%,系统接近振荡;若将Ki增大,低频增益提高、稳态误差减小,但相位裕度也会下降。因此频域分析的价值在于:在时域仿真之前,先用裕度指标预判参数调整方向,减少盲目试凑。
| 分析类型 | Simulink/MATLAB 实现 | 关键指标 | 工程判断 |
|---|---|---|---|
| 时域阶跃响应 | Step + Scope / stepinfo | t_r, M_p, t_s, e_ss | 超调≤20%,调节时间满足工艺节拍 |
| Bode图 | bode / margin | PM, GM, ω_c | PM 45°~60°,GM ≥ 6 dB |
| Nyquist图 | nyquist | 包围 (-1,j0) 情况 | 不包围则闭环稳定 |
| 根轨迹 | rlocus / rlocfind | 闭环极点位置 | 极点位于左半平面且阻尼合适 |
| 线性化分析 | Linear Analysis Tool | LTI模型、工作点 | 工作点需接近实际运行工况 |
综合来看,时域指标回答“系统表现如何”,频域裕度回答“系统离不稳定还有多远”,根轨迹回答“参数变化时极点往哪走”,Linear Analysis Tool则把三者统一到Simulink的线性化工作流中。对电机模型进行频域分析时,建议先看Bode图裕度,再看Nyquist图确认包围关系,最后用阶跃响应验证时域指标,形成完整的分析闭环。