3、陷波滤波器设计:机械共振识别、陷波参数计算、滤波器串联策略
机械共振,说白了就是设备在某个频率上「自己跟自己较劲」。我见过太多案例——电机一跑起来,噪音大、振动猛、加工表面像狗啃的。很多人第一反应是降增益,结果响应慢了,效率也丢了。
其实不用这么委屈。陷波滤波器就是专门干这个的——把共振峰削掉,又不伤其他频段的性能。今天咱们就把它聊透。
3.1 机械共振的识别方法
先搞清楚敌人在哪。共振通常分两类:
- 结构共振:机架、联轴器、负载本身的固有频率被激励
- 扭转共振:电机轴与负载之间的弹性耦合,常见于长轴或柔性联轴器
怎么找?我习惯用三种手段:
- 扫频测试:让电机在安全范围内做正弦扫频,同时采集速度反馈。幅值突然跳起来的地方,就是共振点。
- FFT 频谱分析:跑一段匀速或梯形轨迹,对速度误差做 FFT。共振频率会以尖峰形式出现。
- 听声音、摸机台:别笑,这招很管用。高频啸叫通常对应 1kHz 以上的共振,低频嗡嗡声往往在 100Hz 以下。
我的经验:扫频时幅度别太大,我曾经在调试一台五轴机床时扫频幅度设到 10%,结果把刀架振松了。建议从 1% 额定转矩开始,逐步增加。
拿到频谱后,重点关注那些 幅值超过噪声底噪 10dB 以上 的尖峰。低于这个水平的,滤波器吃掉了也看不出效果,反而增加相位滞后。
3.2 陷波参数计算
一个标准的二阶陷波滤波器,传递函数长这样:
G(s) = (s² + ω₀²) / (s² + 2·ζ·ω₀·s + ω₀²)
三个核心参数:
| 参数 | 符号 | 作用 | 典型范围 |
|---|---|---|---|
| 中心频率 | f₀ (ω₀=2πf₀) | 对准共振峰的位置 | 10~2000 Hz |
| 陷波深度 | D (dB) | 削掉多少幅值 | -10 ~ -40 dB |
| 品质因数 | Q | 陷波带宽,Q越大越窄 | 1 ~ 30 |
参数怎么定?我一般按这个流程来:
- 中心频率 f₀:直接从 FFT 峰值频率读取。如果峰值有偏移,取 -3dB 带宽的中心点。
- 陷波深度 D:看共振峰高出底噪多少。比如峰值 25dB,底噪 10dB,那 D 至少设 -15dB。我习惯留 3~5dB 余量。
- 品质因数 Q:Q = f₀ / Δf,其中 Δf 是 -3dB 带宽。窄峰用高 Q(15~30),宽峰用低 Q(5~10)。
关键原则:能用浅陷波就别用深的,能用宽陷波就别用窄的。每加一个陷波,都会在附近频段引入相位滞后。深度超过 -30dB 的陷波,相位滞后可能达到 60° 以上,系统稳定性会明显下降。
3.3 滤波器串联策略
实际设备上,共振往往不止一个。我遇到过一台印刷机,频谱上三个共振峰排排站——280Hz、750Hz、1.6kHz。这时候就需要串联多个陷波滤波器。
串联时要注意顺序:
- 低频陷波放前面:因为低频共振对系统稳定性影响最大,先处理掉。
- 高频陷波放后面:高频共振能量小,放在后面微调即可。
- 总数量不超过 3 个:超过 3 个陷波串联,相位累积会严重拖累带宽。我见过有人串 5 个,结果系统响应比乌龟还慢。
串联后的总传递函数是各陷波相乘:
G_total(s) = G₁(s) · G₂(s) · G₃(s)
在代码里实现时,我习惯用双线性变换把连续域转成离散域,然后级联 IIR 滤波器。每个陷波用二阶节(Biquad)实现,避免高阶滤波器数值不稳定。
注意:串联陷波后一定要做 频响验证。我曾在调试一台贴片机时,串联了两个陷波后没验证,结果实际效果跟仿真差很多——原因是离散化时采样频率不够高,滤波器特性发生了偏移。建议用示波器或上位机扫频确认。
3.4 实战中的避坑指南
这些年踩过的坑,挑几个典型的说说:
- 共振频率会变:负载位置不同、温度变化、磨损,都会让共振峰漂移。我建议在关键工况下分别做扫频,取最恶劣的情况设计陷波。
- 别把反谐振当谐振:频谱上的谷底可能是反谐振(机械系统的零点),陷波滤波器只削峰不填谷。认错了会越调越糟。
- 滤波器不是万能药:如果共振幅值超过 40dB,或者 Q 值低于 3,说明机械结构本身有问题。这时候该加固机架就加固,该换联轴器就换,别指望滤波器兜底。
最后,给大家一个参数速查表,方便现场快速设定:
| 共振特征 | 推荐 f₀ | 推荐 D | 推荐 Q |
|---|---|---|---|
| 尖锐啸叫(窄峰) | 峰值频率 | -20 ~ -30 dB | 20 ~ 30 |
| 低沉嗡嗡(宽峰) | 峰值频率 | -10 ~ -20 dB | 5 ~ 10 |
| 多峰叠加 | 逐个处理 | 逐个递减 | 逐个调整 |
嗯,陷波滤波器这块,核心就这些。记住一句话:先识别,再计算,后串联,终验证。别跳步骤,别贪多,每个陷波都问自己一句——「这个共振真的需要滤吗?」