3. 时域辨识方法:阶跃响应法、脉冲响应法、相关分析法

说到时域辨识,很多刚入行的朋友容易把它想复杂了。其实说白了,就是给系统一个已知的输入信号,然后看它怎么“反应”。我这些年做项目,最常用的就是这三种方法:阶跃响应法、脉冲响应法,还有相关分析法。它们各有各的脾气,用对了地方,事半功倍。

3.1 阶跃响应法:最直观的“敲门砖”

阶跃响应法,我个人认为是所有方法里最“亲民”的。你给系统一个突然的、持续的输入变化,比如从0跳到1,然后记录输出怎么从旧稳态过渡到新稳态。这就像你轻轻推一下秋千,看它怎么晃起来。

核心思路: 从阶跃响应曲线里,直接提取关键参数。

  • 增益 K: 输出稳态变化量 / 输入阶跃幅度。这个最简单,一眼就能看出来。
  • 时间常数 T: 对于一阶系统,输出达到稳态值的63.2%所需的时间。嗯,这里要注意,这个63.2%是数学推导出来的,别问为什么,记住就行。
  • 延迟时间 τ: 从输入变化到输出开始有明显变化的时间差。我在项目中遇到过,有些系统延迟特别大,比如管道输送,这时候τ就很重要。

避坑指南: 我曾经在一个温度控制项目里,直接用阶跃响应法辨识,结果模型怎么都对不上。后来发现,是因为阶跃幅度太大了,系统进入了非线性区。所以,阶跃幅度要选得“温柔”一点,最好在系统正常工作点附近。

适用场景: 系统相对稳定,噪声不大,且允许施加一个持续的阶跃信号。比如液位控制、温度控制这些慢过程。

3.2 脉冲响应法:短平快的“冲击测试”

脉冲响应法,说白了就是给系统一个“瞬间的冲击”,比如一个很窄的脉冲信号,然后看它怎么恢复。这就像你弹一下吉他弦,听它怎么振动衰减。

核心思路: 脉冲响应其实就是系统的“单位冲激响应”,它包含了系统的全部动态信息。理论上,只要脉冲足够窄、幅度足够大,就能近似得到理想的冲激响应。

实际操作:

  1. 设计一个宽度为 Δt、幅度为 A 的脉冲信号。Δt 要远小于系统的最小时间常数。
  2. 施加脉冲,记录输出响应 y(t)。
  3. 对 y(t) 进行归一化处理:g(t) ≈ y(t) / (A * Δt)。

我的经验: 脉冲宽度怎么选?我一般先估算一下系统的截止频率,然后让脉冲的频宽覆盖这个范围。你想想看,如果脉冲太宽,它就变成阶跃了;如果太窄,能量又不够,容易被噪声淹没。这是个权衡。

优点: 测试时间短,对系统正常运行影响小。
缺点: 对噪声敏感,信噪比低时效果很差。

3.3 相关分析法:对抗噪声的“秘密武器”

前面两种方法,最怕的就是噪声。一旦噪声大了,曲线毛刺多,参数根本读不准。这时候,相关分析法就派上用场了。它的核心思想是:用输入信号和输出信号的互相关函数,来“提取”系统的脉冲响应。

为什么有效? 因为噪声通常与输入信号不相关。通过互相关运算,相当于把噪声“平均”掉了,而系统的真实响应被保留下来。我刚开始用这个方法时,也觉得有点绕,但用过一次就离不开了。

数学原理(简化版):

R_uy(τ) = ∫ u(t) * y(t+τ) dt

其中,R_uy(τ) 是输入 u 和输出 y 的互相关函数。如果输入 u 是白噪声,那么 R_uy(τ) 就正比于系统的脉冲响应 g(τ)。

实际步骤:

  1. 设计一个伪随机二进制序列(PRBS)作为输入信号。PRBS 有近似白噪声的特性,但更容易实现。
  2. 施加 PRBS 信号,同时采集输入和输出数据。
  3. 计算输入和输出的互相关函数。
  4. 从互相关函数中提取脉冲响应。

注意: PRBS 的周期和时钟频率需要精心选择。周期要大于系统的 settling time,时钟频率要覆盖系统的带宽。我曾经因为 PRBS 周期选得太短,导致辨识出来的模型只反映了系统的“快动态”,忽略了慢动态,结果控制器设计出来低频性能很差。

3.4 三种方法对比与选择

为了让你看得更清楚,我整理了一个表格:

方法 输入信号 抗噪能力 测试时间 适用场景
阶跃响应法 阶跃信号 弱 长(需达到稳态) 低噪声、慢过程
脉冲响应法 窄脉冲 弱 短 低噪声、快速测试
相关分析法 PRBS 强 中等(取决于PRBS周期) 高噪声、在线辨识

我的建议: 如果现场条件允许,噪声不大,优先用阶跃响应法,简单直观。如果系统不允许长时间施加阶跃,用脉冲响应法。如果噪声大得离谱,别犹豫,直接上相关分析法。我在一个化工厂的项目里,现场电磁干扰严重,阶跃响应曲线跟心电图似的,最后就是用相关分析法搞定的。

3.5 知识体系总览

下面这张图,帮你把本章的核心逻辑串起来:

时域辨识方法核心逻辑 输入信号 阶跃响应法 脉冲响应法 相关分析法 系统模型 增益K、时间常数T、延迟τ 脉冲响应g(t) 互相关函数R_uy(τ) 低噪声、慢过程 低噪声、快速测试 高噪声、在线辨识

你看,从输入信号出发,根据你的实际工况(噪声大小、测试时间限制),选择合适的方法,最终都能得到系统的数学模型。这就是时域辨识的整个逻辑链条。

最后说一句: 这三种方法不是互斥的。我在实际项目中,经常先用相关分析法粗辨识一个模型,再用阶跃响应法去验证和微调。结合起来用,效果往往更好。

可可精品资料库