2. 经典辨识方法回顾:阶跃响应法、频率响应法、相关分析法

各位同学,咱们今天聊聊经典辨识方法。说实话,虽然现在AI和深度学习很火,但经典方法就像老手艺人的工具箱——平时可能不显眼,关键时刻真能救命。我在现场调试时,好几次都是靠这些老办法快速定位问题的。

这三种方法,说白了就是三种不同的“拷问”系统的方式。你想想看,你要了解一个人的性格,可以突然吓他一下(阶跃),也可以慢慢逗他玩(频率),还可以跟他聊天找规律(相关)。系统辨识也是这个道理。

2.1 阶跃响应法

这个方法最直观。给系统一个阶跃输入,看它怎么反应。我当年在化工厂做DCS调试时,经常用这招。

核心思想: 输入一个阶跃信号,记录输出响应曲线,然后从曲线上提取特征参数。

具体操作很简单:

  1. 系统稳定后,突然改变输入(比如阀门开度从30%调到40%)
  2. 记录输出变化(比如温度、压力)
  3. 从曲线上读参数:延迟时间τ、时间常数T、稳态增益K

对于一阶系统,传递函数可以写成:

G(s) = K / (Ts + 1) * e^(-τs)

参数怎么提取?我习惯用切线法:

  • 在响应曲线拐点处画切线
  • 切线与时间轴的交点就是延迟时间τ
  • 从τ到稳态值63.2%的时间就是时间常数T
  • 稳态变化量除以阶跃幅度就是增益K

我的经验: 实际工业数据往往有噪声,切线法容易受干扰。我建议多做几次阶跃实验,取平均值。另外,阶跃幅度别太大,否则系统可能进入非线性区。

优点

  • 操作简单,现场工程师都能上手
  • 物理意义明确,每个参数都有直观解释
  • 不需要复杂设备,PLC或DCS就能做

缺点

  • 对噪声敏感,信噪比低时误差大
  • 只能用于开环稳定系统
  • 阶跃信号可能影响正常生产
  • 对于高阶系统,参数提取比较困难

适用条件

  • 系统是开环稳定的
  • 允许施加较大幅度的测试信号
  • 对辨识精度要求不是特别高
  • 现场条件有限,没有频谱分析仪等设备

2.2 频率响应法

这个方法更有意思。给系统输入不同频率的正弦波,看它怎么跟着晃。我记得在伺服电机调试时,用这个方法找谐振点特别管用。

核心思想: 线性系统对正弦输入的响应仍然是同频率的正弦,只是幅值和相位会变化。通过测量不同频率下的幅值比和相位移,就能得到系统的频率特性。

具体做法:

  1. 从低频到高频,逐个频率施加正弦激励
  2. 记录每个频率下的输出幅值和相位
  3. 绘制Bode图或Nyquist图
  4. 从图上拟合传递函数

举个例子,对于二阶系统:

G(s) = ωn² / (s² + 2ζωn s + ωn²)

从Bode图上可以读出:

  • 低频增益 → 稳态增益K
  • 谐振峰值 → 阻尼比ζ
  • 谐振频率 → 自然频率ωn
  • 高频衰减斜率 → 系统阶次

注意: 我曾经在一个液压系统上吃过亏。系统有很强的非线性,频率响应法给出的结果跟实际阶跃响应对不上。后来才发现,频率响应法只适用于线性系统,非线性强的时候千万别硬套。

优点

  • 抗噪声能力强,因为正弦信号可以窄带滤波
  • 可以辨识不稳定系统(闭环辨识)
  • 能直观看到系统的频域特性
  • 适合高阶系统的辨识

缺点

  • 实验时间长,每个频率都要等稳态
  • 需要专门的信号发生和测量设备
  • 低频测试耗时太长(周期大)
  • 对非线性系统效果差

适用条件

  • 系统近似线性
  • 有频谱分析仪或动态信号分析仪
  • 需要高精度的频域模型
  • 系统可能不稳定,需要闭环辨识

2.3 相关分析法

这个方法比较巧妙。它利用白噪声或伪随机信号作为输入,通过计算输入输出的互相关函数来估计系统的脉冲响应。说白了,就是用统计的方法“算”出系统的特性。

核心思想: 如果输入是白噪声,那么输入输出的互相关函数就等于系统的脉冲响应。因为白噪声的自相关是δ函数,卷积一下就出来了。

数学表达:

R_uy(τ) = ∫ u(t) y(t+τ) dt
如果u(t)是白噪声,则 R_uy(τ) = g(τ)

实际应用中,我们常用伪随机二进制序列(PRBS)代替白噪声:

  • PRBS是二值信号,容易生成
  • 它的自相关近似于δ函数
  • 幅值可控,不会对系统造成太大扰动

我的建议: PRBS的周期长度要选好。太短了相关函数失真,太长了实验时间太长。我一般选周期长度是系统 settling time 的5-10倍。另外,PRBS的幅值要权衡——太小信噪比低,太大影响生产。

优点

  • 可以在系统正常运行中进行辨识(在线辨识)
  • 对噪声有很好的抑制能力
  • PRBS信号对生产影响小
  • 能直接得到脉冲响应,不需要假设模型结构

缺点

  • 计算量大,需要实时处理数据
  • PRBS参数选择需要经验
  • 对非平稳过程效果差
  • 需要较长的数据记录时间

适用条件

  • 系统不能停机,需要在线辨识
  • 噪声水平较高
  • 对模型结构没有先验知识
  • 有足够的计算资源

2.4 三种方法对比

我把这三种方法放在一起比一比,方便你选型:

特性 阶跃响应法 频率响应法 相关分析法
测试信号 阶跃信号 正弦扫频 PRBS/白噪声
抗噪声能力 弱 强 强
实验时间 短 长 中等
对生产影响 大 中等 小
模型精度 低 高 中等
适用系统 开环稳定 线性系统 任意系统
设备要求 低 高 中等

选型建议: 现场快速诊断用阶跃响应法,实验室高精度建模用频率响应法,在线不停机辨识用相关分析法。没有万能的方法,关键看你的实际约束条件。

2.5 知识体系框架

下面这张图总结了三种方法的逻辑关系,我画了很久才理清楚:

经典辨识方法知识体系 系统辨识目标 阶跃响应法 频率响应法 相关分析法 测试信号:阶跃 测试信号:正弦扫频 测试信号:PRBS 输出:时域响应曲线 输出:Bode/Nyquist图 输出:脉冲响应 切线法提取τ, T, K 谐振峰提取ζ, ωn 互相关函数计算 优点:简单直观 缺点:抗噪差 优点:精度高 缺点:耗时长 优点:在线辨识 缺点:计算量大 现场快速诊断 实验室高精度建模 在线不停机辨识

嗯,以上就是三种经典方法的回顾。说实话,这些方法虽然老,但我在实际项目中从来没离开过它们。尤其是现场调试时,阶跃响应法就像我的“瑞士军刀”——简单、可靠、随时能用。频率响应法更适合做精细活,相关分析法则是“偷偷摸摸”干活的好手。

你想想看,这三种方法其实对应了三种不同的工程思维:时域思维、频域思维和统计思维。掌握了它们,你就有了三把不同的钥匙,遇到什么锁都不怕。

最后提醒一句: 别迷信任何一种方法。我见过太多人死磕一种方法,结果走了弯路。灵活组合使用,才是工程之道。

可可精品资料库