第四章 经典辨识方法:阶跃响应法、脉冲响应法、相关分析法
说到经典辨识方法,我得先跟你掏个心窝子。这些方法看起来有点「老」,但我在现场调试时,十次有八次还是靠它们快速摸清系统底细。你想想看,有时候现场条件有限,复杂的算法跑不起来,反倒是这些经典方法最管用。
4.1 阶跃响应法
阶跃响应法,说白了就是给系统一个突然的「刺激」,看它怎么反应。我习惯用这个方法做初步分析,因为它直观,而且对设备要求低。
核心思想:给系统输入一个阶跃信号,记录输出响应曲线,然后从曲线上提取特征参数。
具体怎么做?我一般分三步走:
- 施加阶跃信号——确保幅值合适,别把系统搞饱和了
- 记录响应曲线——采样频率要够,至少是系统带宽的10倍
- 提取参数——从曲线上读时间常数、增益、延迟时间
举个例子,一阶系统的阶跃响应长这样:
y(t) = K * (1 - e^(-t/τ))
其中K是稳态增益,τ是时间常数。我在项目里遇到过一台加热炉,用阶跃响应法测出来τ=45秒,跟厂家给的参数差了20%。后来发现是热电偶安装位置不对,换了位置就对了。嗯,这里要注意,传感器的安装位置直接影响辨识结果。
我的小技巧:做阶跃响应实验时,先给一个小的阶跃信号,看看系统反应。没问题了再加大幅值。别一上来就猛搞,容易出事。
4.2 脉冲响应法
脉冲响应法跟阶跃响应法有点像,但用的是脉冲信号。为什么用脉冲?因为脉冲信号的频谱更宽,能激发出系统更多动态特性。
我记得有一次做电机速度环辨识,阶跃响应法死活辨识不准,换了脉冲响应法,一次就搞定了。原因很简单——阶跃信号低频成分多,高频信息少;脉冲信号则覆盖了更宽的频带。
脉冲响应法的数学表达:
y(t) = ∫₀ᵗ g(τ) * u(t-τ) dτ
其中g(t)就是系统的脉冲响应函数。实际应用中,我们通常用有限宽度脉冲近似理想脉冲:
- 脉冲宽度要远小于系统最小时间常数
- 脉冲幅值要足够大,保证信噪比
- 记录时间要足够长,直到响应衰减到零
注意:脉冲响应法对噪声特别敏感。我曾经在一个振动台上做实验,信号噪声比只有3dB,结果辨识出来的模型完全不能用。后来加了前置滤波,才勉强能用。
4.3 相关分析法
相关分析法,我个人觉得是经典方法里最「聪明」的一个。它利用信号的相关性来抑制噪声,说白了就是让噪声自己跟自己抵消。
核心公式:
R_uy(τ) = ∫₀ᵀ u(t) * y(t+τ) dt
如果输入u(t)是白噪声,那么互相关函数R_uy(τ)就直接等于系统的脉冲响应。这个性质太漂亮了,你想想看,白噪声的频谱是平的,一次实验就能覆盖所有频率。
实际应用中,我常用伪随机二进制序列(PRBS)代替白噪声。为什么?因为真正的白噪声实现起来太难了,PRBS近似白噪声,而且容易生成。
| 方法 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| 阶跃响应法 | 简单直观,设备要求低 | 高频信息少,精度一般 | 初步分析,低阶系统 |
| 脉冲响应法 | 频带宽,信息丰富 | 对噪声敏感,幅值难选 | 中高阶系统,实验室环境 |
| 相关分析法 | 抗噪声能力强,精度高 | 计算量大,需要PRBS信号 | 高精度辨识,工业现场 |
4.4 三种方法的对比与选择
这三种方法没有的好坏,关键看你的应用场景。我个人的经验是:
- 现场调试——首选阶跃响应法,快、简单、够用
- 实验室研究——脉冲响应法更合适,精度高
- 工业应用——相关分析法最靠谱,抗干扰能力强
我曾经在一个化工厂做温度控制系统的辨识,现场噪声大得离谱,阶跃响应法和脉冲响应法都失败了。最后用相关分析法,配合PRBS信号,硬是把模型辨识出来了。那次经历让我深刻体会到——方法没有好坏,只有合不合适。
总结一下:经典辨识方法虽然「老」,但它们是理解系统辨识的基础。我建议你先从阶跃响应法入手,熟悉了再尝试脉冲响应法和相关分析法。每一步都亲手做一遍,比看十遍书都管用。
好了,这一章的内容就到这里。三种方法各有千秋,关键是要理解它们的本质——都是在输入输出数据之间建立关系。你动手试试看,找个简单的系统,用这三种方法分别辨识一下,感受会更深。