4. 陷波滤波器原理:陷波滤波器的数学模型,中心频率、深度、宽度的物理意义
各位工程师朋友,咱们继续聊谐振抑制的话题。
上一章我们讲了机械谐振是怎么来的,也看了频谱分析。那问题来了——找到谐振峰之后,怎么把它干掉?
最直接的办法,就是用一个「反向的坑」把那个峰给填平。这个「坑」,就是陷波滤波器。
4.1 陷波滤波器长什么样?
说白了,陷波滤波器就是一个专门针对某个频率点进行衰减的滤波器。它不像低通滤波器那样把高频一刀切,而是只切掉一个很窄的频段。
我习惯把它想象成「音频均衡器上的一个推子」——你把某个频率往下拉,其他频率不动。嗯,就是这么个意思。
核心定义:陷波滤波器(Notch Filter)是一种带阻滤波器,它在某个特定频率处产生极大的衰减,而对其他频率的信号影响极小。
在伺服系统里,我们用它来对付机械谐振。谐振峰通常很尖锐,正好适合用陷波滤波器来「精准打击」。
4.2 数学模型——别怕,其实很简单
陷波滤波器的传递函数,在连续域里长这样:
G(s) = (s² + ωₙ²) / (s² + 2·ζ·ωₙ·s + ωₙ²)
看着眼熟吧?这就是一个二阶系统。我来拆开讲讲:
- 分子:s² + ωₙ² —— 决定了零点位置。零点在虚轴上,频率为 ωₙ 的地方。
- 分母:s² + 2·ζ·ωₙ·s + ωₙ² —— 决定了极点位置。ζ 是阻尼比。
为什么分子有零点?因为零点就是「让输出为零」的频率点。在 ωₙ 处,分子为零,增益就是负无穷大——当然这是理想情况。
实际应用中,我们用的是离散域形式。我给大家一个常用的双线性变换后的差分方程:
y[n] = b0·x[n] + b1·x[n-1] + b2·x[n-2] - a1·y[n-1] - a2·y[n-2]
系数怎么算?嗯,这里给个参考公式(采样周期 Ts):
设:
omega = 2·π·f_notch
alpha = omega / tan(omega·Ts/2)
则:
b0 = 1 / (1 + 2·ζ·alpha + alpha²)
b1 = 2·(alpha² - 1) / (1 + 2·ζ·alpha + alpha²)
b2 = (1 - 2·ζ·alpha + alpha²) / (1 + 2·ζ·alpha + alpha²)
a1 = b1
a2 = (1 - 2·ζ·alpha + alpha²) / (1 + 2·ζ·alpha + alpha²)
我的经验:实际调试时,我很少手算这些系数。大部分伺服驱动器都提供了自动陷波功能。但理解原理很重要——当自动功能不好用时,你得知道怎么手动调。
4.3 三个核心参数:中心频率、深度、宽度
这三个参数,就是陷波滤波器的「三驾马车」。我一个个说。
4.3.1 中心频率(Center Frequency)
就是你要干掉的那个频率点。单位是 Hz 或 rad/s。
怎么确定?看频谱分析图上的谐振峰尖。那个峰尖对应的频率,就是中心频率。
物理意义:在这个频率处,滤波器的衰减最大。偏离这个频率,衰减迅速减小。
注意:中心频率设偏了,谐振抑制效果会大打折扣。我曾经遇到过一台设备,谐振峰在 850 Hz,我设成 800 Hz,结果谐振纹丝不动。后来仔细一看,是温度变化导致机械特性漂移了。嗯,所以有时候需要留点余量。
4.3.2 深度(Depth)
深度决定了你在中心频率处能衰减多少。单位是 dB。
物理意义:
- 深度 = -∞ dB:理想陷波,中心频率处输出为零(数学上成立,物理上做不到)
- 深度 = -20 dB:中心频率处信号衰减到原来的 1/10
- 深度 = -40 dB:衰减到原来的 1/100
实际伺服驱动器中,深度通常可调范围是 -10 dB 到 -60 dB。
我的建议:别一上来就设最大深度。谐振抑制够用就行,深度太大容易引入相位滞后,反而影响系统稳定性。我一般从 -20 dB 开始试,不够再加。
4.3.3 宽度(Width / Q值)
宽度决定了陷波滤波器影响的频率范围。通常用 Q 值(品质因数)或带宽来表示。
物理意义:
- Q 值越高 → 陷波越窄 → 只影响谐振峰附近很窄的频段
- Q 值越低 → 陷波越宽 → 影响范围更大,但相位滞后也更明显
Q 值和带宽的关系:
Q = f₀ / BW
其中 f₀ 是中心频率,BW 是 -3 dB 带宽。
举个例子:中心频率 1000 Hz,Q=10,那么带宽就是 100 Hz。也就是说,从 950 Hz 到 1050 Hz 都会受到明显衰减。
经验之谈:谐振峰越尖锐,Q 值应该设得越高。但高 Q 值对参数敏感,温度变化或负载变化可能导致谐振频率漂移,这时候窄陷波就「打偏」了。我一般取 Q=5~20 之间,具体看现场情况。
4.4 三个参数的交互关系
这三个参数不是独立的。我画个图帮大家理解:
从图上可以清楚看到:
- 中心频率决定了陷波的位置
- 深度决定了陷波的「坑」有多深
- 宽度(Q值)决定了这个「坑」有多宽
三者配合,才能精准打击谐振峰,同时不破坏其他频段的特性。
4.5 实际调试中的参数设置
说了这么多理论,来点实际的。我一般按这个步骤来:
- 先找谐振峰:用频谱分析功能,找到谐振频率 f₀
- 设中心频率:f_notch = f₀(或者稍微偏一点,留余量)
- 设深度:从 -20 dB 开始,观察谐振抑制效果
- 设宽度:Q 值从 10 开始,如果谐振峰很尖锐就提高 Q 值
- 验证:跑一遍完整的速度/位置指令,看有没有新的振荡出现
避坑指南:我曾经在一个龙门铣项目上,谐振频率 1200 Hz,我设了 -40 dB 深度、Q=20。结果谐振是没了,但系统响应变慢了,还出现了低频抖动。后来把深度降到 -25 dB、Q 降到 8,问题解决了。记住:够用就好,过犹不及。
4.6 陷波滤波器的局限性
说实话,陷波滤波器不是万能的。它有几点局限:
- 相位滞后:陷波滤波器会引入相位滞后,尤其是在陷波频率附近。这可能会降低系统的相位裕度。
- 对参数敏感:机械特性变化(温度、负载、磨损)会导致谐振频率漂移,固定参数的陷波可能失效。
- 多谐振问题:如果系统有多个谐振峰,需要多个陷波滤波器串联。但每个陷波都会引入相位滞后,多了系统可能不稳定。
遇到这些问题怎么办?嗯,后面我们会讲到自适应陷波、加速度反馈等更高级的方法。今天先把基础打牢。
总结一下:陷波滤波器是伺服系统谐振抑制的「第一把武器」。理解中心频率、深度、宽度这三个参数,你就能解决 80% 的谐振问题。剩下的 20%,我们后面慢慢聊。
公众号:蓝海资料掘金营,微信deep3321