第三章 信号采集与调理:信号滤波与采样定理
各位工程师朋友,咱们接着聊。上一章我们把传感器信号从物理世界拽进了电路板,但说实话,这信号还“脏”得很。噪声、干扰、直流偏置……各种不速之客都混在里面。今天这一章,我就带大家把这些“杂质”过滤干净,让信号清清爽爽地进入我们的控制器。
3.1 信号滤波:低通、高通、带通
滤波,说白了就是“让该过的过,不该过的拦下”。在运动控制里,我们最常打交道的三种滤波器:低通、高通、带通。我一个个说。
3.1.1 低通滤波器
低通滤波器,顾名思义,让低频信号通过,衰减高频信号。你想想看,电机编码器反馈回来的位置信号,本身变化不快,但上面经常叠加着高频的机械振动噪声。这时候,低通滤波器就是救星。
我在项目中遇到过一台高速贴片机,Z轴每次定位都抖动几下。查了半天,发现是编码器信号里混入了电机换向的高频毛刺。加了个一阶RC低通滤波器,截止频率设在500Hz,问题立马解决。
一阶低通滤波器的传递函数很简单:
H(s) = 1 / (1 + s/ωc)
其中ωc = 2πfc,fc就是截止频率。在数字域里,我们常用一阶IIR滤波器实现:
y[n] = α * x[n] + (1-α) * y[n-1]
α = T / (T + RC),T是采样周期。嗯,这里要注意,α越小,滤波效果越强,但延迟也越大。这是个取舍问题。
关键参数:截止频率fc的选择。我个人的习惯是,先分析信号的频谱,看看有用信号的最高频率是多少,噪声的最低频率是多少,然后取中间值。如果实在没谱,先设fc为控制带宽的5~10倍,再根据实际效果微调。
3.1.2 高通滤波器
高通滤波器跟低通正好相反——让高频通过,衰减低频。在运动控制里,高通滤波器最常见的用途是去除直流偏置。比如,加速度传感器输出的信号,往往有个直流分量,但我们要的是动态的加速度变化。这时候高通滤波器就派上用场了。
我记得有一次调试一个振动监测系统,传感器输出的信号总是飘。用示波器一看,低频漂移严重。加了个二阶高通滤波器,截止频率设在1Hz,漂移问题就解决了。
高通滤波器的传递函数:
H(s) = s / (s + ωc)
数字实现也很简单:
y[n] = (x[n] - x[n-1]) / (1 + ωc*T) + (1 - ωc*T) * y[n-1] / (1 + ωc*T)
实用技巧:如果你只是想去除直流分量,可以用一个更简单的方法——滑动平均。取最近N个采样点的平均值,然后用当前值减去这个平均值。效果跟高通滤波器类似,但计算量小得多。
3.1.3 带通滤波器
带通滤波器,就是只让某个频率范围内的信号通过。在运动控制里,带通滤波器常用于提取特定频率的振动信号,或者抑制某个频段的干扰。
我曾经处理过一个伺服系统的共振问题。电机在300Hz附近有个机械共振峰,导致系统不稳定。我设计了一个带阻滤波器(带通的“反义词”),专门衰减300Hz附近的信号。效果立竿见影。
带通滤波器的实现通常用二阶或更高阶的巴特沃斯、切比雪夫滤波器。这里给个二阶带通滤波器的数字实现:
y[n] = b0*x[n] + b1*x[n-1] + b2*x[n-2] - a1*y[n-1] - a2*y[n-2]
系数b0、b1、b2、a1、a2由截止频率和品质因数Q决定。Q值越大,通带越窄,选择性越好,但相位延迟也越大。
避坑指南:我曾经在滤波器设计上栽过跟头——滤波器阶数选得太高,导致相位延迟过大,系统稳定性变差。记住,滤波器不是越“干净”越好,还要考虑实时性。在运动控制里,我一般只用一阶或二阶滤波器,除非有特殊需求。
3.2 差分信号处理
差分信号,说白了就是用两根线传一个信号,一根传正,一根传反。接收端把两个信号相减,就能把噪声抵消掉。为什么?因为噪声通常同时作用在两根线上(共模噪声),相减后就没了。
在运动控制里,编码器信号、旋转变压器信号、以及一些高速通信接口(如RS-422、LVDS)都采用差分传输。我见过不少新手,直接把差分信号接到单端输入上,结果信号质量一塌糊涂。
差分信号处理的关键点:
- 阻抗匹配:差分对的阻抗要匹配,通常100Ω或120Ω。不匹配会导致信号反射。
- 等长布线:两根线的长度要尽量相等,否则信号到达时间不同,差分效果会打折扣。
- 共模扼流圈:在长距离传输时,可以在接收端加一个共模扼流圈,进一步抑制共模噪声。
我个人的习惯是,在编码器接口上,除了差分接收器(如AM26LS32),还会在输入端加一个小电容(10pF左右)到地,滤除高频噪声。这个电容不能太大,否则会降低信号边沿的陡峭度。
3.3 抗混叠滤波器
抗混叠滤波器,这个名字听起来很专业,但它的作用其实很简单——在采样之前,把高于奈奎斯特频率的信号滤掉。为什么要这么做?因为如果不滤掉,这些高频信号会“伪装”成低频信号混入采样结果,造成混叠失真。
你想想看,如果你用1000Hz的采样率去采一个1500Hz的信号,采样结果看起来会像500Hz的信号。这就是混叠。抗混叠滤波器就是防止这种“伪装”的。
抗混叠滤波器的设计要点:
- 截止频率:通常设在采样频率的1/3到1/2之间。比如采样率1000Hz,截止频率设在300~500Hz。
- 衰减率:在奈奎斯特频率处,至少要有40dB的衰减。这通常需要二阶或三阶滤波器。
- 相位特性:抗混叠滤波器会引入相位延迟,这个延迟会影响控制系统的稳定性。所以,滤波器的阶数不能太高。
实战经验:我在一个高速运动控制项目中,采样率设得比较高(10kHz),但抗混叠滤波器只用了二阶。结果发现,电机在高速运行时,电流波形有轻微的畸变。后来分析发现,是抗混叠滤波器的衰减不够,导致一些高频分量混入了采样结果。换成四阶滤波器后,问题解决。但代价是相位延迟增加了,需要调整控制器的相位补偿。
3.4 采样定理(奈奎斯特)
奈奎斯特采样定理,搞信号处理的没人不知道。它的核心就一句话:采样频率必须大于信号最高频率的两倍,才能无失真地重建原始信号。
但说实话,在实际工程中,很少有人真的只采两倍。为什么?因为理想滤波器不存在。你不可能用一个“砖墙”滤波器,把高于奈奎斯特频率的信号完全滤掉。所以,工程上通常取3~5倍,甚至更高。
我个人的经验:
- 位置信号:采样率取控制带宽的10~20倍。比如控制带宽100Hz,采样率至少1kHz。
- 电流信号:采样率取PWM频率的1/2到1/3。比如PWM频率10kHz,采样率5kHz左右。
- 振动信号:采样率取最高振动频率的5~10倍。比如最高振动频率1kHz,采样率5~10kHz。
一个容易忽略的点:采样定理说的是“信号最高频率”,不是“信号基频”。比如一个方波信号,基频是100Hz,但它的谐波可以到几千赫兹。如果你只按基频的两倍采样,那重建出来的信号肯定失真。所以,在采样之前,一定要搞清楚信号的频谱范围。
3.5 知识体系总览
说了这么多,我画了一张图,把这一章的核心逻辑串起来。你一看就明白了。
这张图把信号从传感器到控制器的整个链路串起来了。每一步都有它的作用,缺一不可。我见过不少工程师,只关注控制算法,忽略了信号调理,结果系统性能上不去。其实,信号质量才是基础。基础不牢,地动山摇。
总结一下:信号滤波是去除噪声,差分信号处理是抑制共模干扰,抗混叠滤波器是防止采样失真,采样定理是指导我们选采样率。这四个环节环环相扣,任何一个出问题,都会影响整个控制系统的性能。
好了,这一章的内容就到这里。下一章我们聊聊模数转换与量化误差,这也是个容易踩坑的地方。到时候见。
公众号:蓝海资料掘金营,微信deep3321