当前位置:首页 > 技术学院 > 技术前线
[导读]在嵌入式系统开发中,传感器数据采集与处理是核心环节之一。然而,受环境干扰、硬件特性等因素影响,采集到的数据往往混杂着噪声,这些噪声会干扰系统对真实信号的判断,甚至引发误操作。软件滤波算法作为一种无需额外硬件投入的信号处理手段,通过代码运算削弱噪声影响,成为嵌入式开发中不可或缺的技术。

嵌入式系统开发中,传感器数据采集与处理是核心环节之一。然而,受环境干扰、硬件特性等因素影响,采集到的数据往往混杂着噪声,这些噪声会干扰系统对真实信号的判断,甚至引发误操作。软件滤波算法作为一种无需额外硬件投入的信号处理手段,通过代码运算削弱噪声影响,成为嵌入式开发中不可或缺的技术。本文将详细介绍嵌入式开发中常用的10种滤波算法,分析其原理、优缺点及适用场景,帮助开发者根据实际需求选择合适的滤波方案。

一、限幅滤波法(程序判断滤波法)

原理

限幅滤波法是一种基于经验判断的简单滤波方法。开发者根据经验设定一个允许的最大偏差值A,每次采样得到新值时,将其与上一次的有效值进行比较。若两者差值小于或等于A,则认为新值有效;若差值大于A,则判定新值受干扰无效,舍弃该值并以上一次的有效值替代。

优缺点

优点:算法简单,计算量小,对硬件资源要求极低,能有效抑制因偶然因素引起的脉冲干扰,比如雷击导致的电压尖峰、电机启停造成的信号突变等。在光伏逆变器项目中,限幅滤波法可快速过滤雷击带来的异常电压值,保障系统稳定运行。 缺点:无法抑制周期性干扰,滤波后的信号平滑度较差;偏差值A的选择依赖经验,若设定过小,可能会滤除有效信号,若设定过大,则起不到滤波作用。

适用场景

适用于采样信号变化缓慢,且偶尔出现脉冲干扰的场景,如温度、液位等参数的采样。

二、中位值滤波法

原理

连续采集N个(N取奇数)采样值,将这些值按大小排序,取中间位置的值作为本次有效的采样结果。例如,连续采集7个温度值,排序后取第4个值作为最终结果。

优缺点

优点:对偶然出现的脉冲性干扰(坏点)有极佳的滤波效果,能有效剔除异常值。对于温度、液位等变化缓慢的被测参数,滤波效果良好。在传感器初始上电阶段,信号不稳定,中位值滤波法可快速得到相对稳定的数值。 缺点:对于流量、速度等快速变化的参数不适用,因为排序过程会丢失信号的瞬态变化信息;当N值较大时,排序计算量较大,对MCU性能有一定要求。

适用场景

适用于存在明显脉冲干扰,且被测量参数变化缓慢的场合,如环境温度采集、液位检测等。

三、算术平均滤波法

原理

对连续采集的N个采样值进行算术平均运算,将平均值作为本次有效的采样结果。N值的选择需根据实际情况确定,一般流量参数N取12,压力参数N取4。N值越大,信号平滑度越高,但灵敏度越低;N值越小,平滑度越低,但灵敏度越高。

优缺点

优点:适用于对具有随机干扰的信号进行滤波,当信号在某一数值范围附近上下波动时,能有效消除噪声。例如,在房间内湿度采集场景中,算术平均滤波法可平滑湿度值的小幅波动,得到更稳定的结果。 缺点:对于测量速度较慢或要求数据计算速度较快的实时控制系统不适用,且需要存储N个数据,比较消耗RAM资源。

适用场景

用于信号本身在某一值附近波动,且含随机噪声的情况,如压力、流量等参数的测量。

四、递推平均滤波法(滑动平均滤波法)

原理

递推平均滤波法是算术平均滤波的改进版,核心是建立一个长度为N的队列(通常为环形缓冲区)。每次采样到新数据,将其放入队尾,并丢弃队首的旧数据,保持队列长度始终为N,然后对队列中的N个数据进行算术平均运算。

优缺点

优点:对周期性干扰有良好的抑制作用,平滑度高,适合高频振荡的系统。与算术平均滤波法相比,降低了RAM消耗,只需开辟固定N个数据的存储空间。在变频器项目中,该方法可有效抑制PWM引起的100Hz干扰。 缺点:灵敏度低,对偶然出现的脉冲性干扰抑制作用较差;N值选取不当时可能引起延迟和相位滞后。

适用场景

适用于高频振荡的系统,如电流采样、音频信号处理等。

五、中位值平均滤波法(防脉冲干扰平均滤波法)

原理

结合了中位值滤波法和算术平均滤波法的优点,先连续采集N个采样值,去掉其中的最大值和最小值,然后对剩余的N-2个值进行算术平均运算,得到最终的滤波结果。

优缺点

优点:兼具中位值滤波法和算术平均滤波法的优势,既能有效抑制脉冲干扰,又能对随机噪声进行平滑处理,滤波效果较为理想。在工业现场的温度采集项目中,当存在偶尔的脉冲干扰和持续的随机噪声时,该方法能得到稳定的温度值。 缺点:计算量相对较大,需要进行排序和多次运算,对MCU性能有一定要求;同样不适用于快速变化的信号。

适用场景

适用于存在脉冲干扰和随机噪声,且信号变化缓慢的场合,如工业环境中的温度、压力监测等。

六、限幅平均滤波法

原理

先采用限幅滤波法对每次采样值进行处理,剔除超出允许偏差范围的异常值,然后将经过限幅处理后的若干个采样值进行算术平均运算,得到滤波结果。

优缺点

优点:融合了限幅滤波法和算术平均滤波法的特点,既能抑制脉冲干扰,又能平滑随机噪声,滤波效果比单一算法更优。在电机转速监测场景中,可先过滤掉因电机启停产生的脉冲干扰,再对转速值进行平均处理,得到稳定的转速数据。 缺点:计算步骤较多,相对复杂;需要设定限幅偏差值和平均采样个数,参数选择依赖经验。

适用场景

适用于既有脉冲干扰又有随机噪声,且信号变化缓慢的场合,如电机转速、电压电流监测等。

七、一阶滞后滤波法(低通滤波法)

原理

这是一种利用软件实现RC低通滤波器的动态滤波方法,融合了本次采样值和上次滤波输出值,取不同的权重。公式为:Y(n) = a * X(n) + (1-a) * Y(n-1),其中Y(n)为本次滤波结果,Y(n-1)为上次滤波结果,X(n)为本次采样值,a为滤波系数(0 < a < 1),a = T / (T + τ),T为采样周期,τ为时间常数。

优缺点

优点:对周期性干扰具有良好的抑制作用,适用于波动频率较高的场合;计算量极小,仅需一次乘法和加法运算,占用RAM极少,非常适合资源紧张的MCU。在高频振荡系统中,如小型电机的电流采样,一阶滞后滤波法能在低资源消耗下实现有效滤波。 缺点:存在相位滞后,灵敏度低,滞后程度取决于a值大小;不能消除滤波频率高于采样频率1/2(奈奎斯特频率)的干扰信号。

适用场景

适用于高频振荡系统,且MCU资源紧张、对计算速度有要求的场合,是嵌入式系统中使用较为广泛的滤波算法之一。

八、加权递推平均滤波法

原理

在递推平均滤波法的基础上,对队列中的每个采样值赋予不同的权重,近期采样值权重较大,远期采样值权重较小,然后进行加权平均运算得到滤波结果。权重的分配可根据实际情况确定,通常遵循“越新的数据权重越大”的原则。

优缺点

优点:能兼顾信号的实时性和平滑性,对系统的动态响应有较好的跟踪效果。在温度控制系统中,当温度发生变化时,加权递推平均滤波法能更快地响应温度变化,同时保持数据的稳定性。 缺点:权重的确定较为复杂,需要根据实际信号特性进行调整;计算量比递推平均滤波法大。

适用场景

适用于系统对信号的实时性和平滑性都有要求的场合,如温度控制、液位调节等。

九、消抖滤波法

原理

设置一个计数器,每次采样到新值时,若新值与当前有效值相同,则计数器加1;若不同,则计数器清零。当计数器达到设定的阈值时,才确认新值有效,更新有效值。

优缺点

优点:能有效消除因机械抖动或接触不良引起的信号波动,常用于按键检测等场景。在嵌入式设备的按键输入处理中,消抖滤波法可避免因按键抖动导致的多次触发。 缺点:响应速度较慢,需要多次采样才能确认信号有效;不适用于快速变化的信号。

适用场景

主要用于按键检测、开关量输入等需要消除抖动干扰的场合。

十、限幅消抖滤波法

原理

结合了限幅滤波法和消抖滤波法的特点,先对采样值进行限幅处理,剔除超出允许偏差范围的异常值,然后再进行消抖处理,当连续多次采样值稳定在一定范围内时,才确认信号有效。

优缺点

优点:同时具备限幅滤波和消抖滤波的功能,能有效抑制脉冲干扰和抖动干扰,滤波效果更全面。在工业控制中的开关量监测场景中,可应对复杂的干扰环境,确保信号准确。 缺点:算法相对复杂,需要设定限幅偏差值和消抖计数器阈值,参数调整较为繁琐。

适用场景

适用于既有脉冲干扰又有抖动干扰的开关量输入或缓慢变化信号的处理场合。

嵌入式系统开发中,选择合适的滤波算法需要综合考虑多方面因素,包括信号特性(变化快慢、噪声类型)、系统实时性要求、MCU资源状况等。限幅滤波法和消抖滤波法适合资源有限、仅需处理简单干扰的场景;中位值滤波法和算术平均滤波法适用于存在脉冲干扰或随机噪声的缓慢变化信号;递推平均滤波法和一阶滞后滤波法更适合高频振荡系统;而中位值平均滤波法、限幅平均滤波法、加权递推平均滤波法和限幅消抖滤波法则融合了多种算法的优点,能应对更为复杂的干扰环境。开发者在实际项目中,应根据具体需求进行测试和调整,以达到最佳的滤波效果。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

在现代自动化控制系统中,传感器与执行器如同系统的“神经末梢”与“肌肉组织”,共同搭建起物理世界与数字系统之间的桥梁。尽管两者常常协同工作,却在功能定位、工作原理等诸多方面存在本质区别。深入理解这些差异,是确保系统稳定运行...

关键字: 传感器 执行器

一台桌面大小的六足机器人究竟能具备多大的动力呢?想象一下 18 个关节能够完美同步运作,以流畅、逼真的精度避开障碍物。想象一下这样一个平台,它集成了惯性测量单元(IMU)、超声波传感、人工智能视觉和语音识别技术——而且从...

关键字: 六足机器人 人工智能 IMU 传感器

“气体泄漏检测机器人”是一款智能且成本低廉的自主移动装置,旨在实时检测危险的气体泄漏(液化石油气和一氧化碳),同时确保人类远离危险区域。它将传感、导航、实时视频传输以及基于网络的控制系统整合到一个紧凑且可扩展的安全解决方...

关键字: ESP32 机器人 L298N 传感器

该项目探索了一种模块化、可堆叠的可穿戴电子设备架构。不再采用单一的整体板式设计,而是让每个功能都独立存在于各自的模块中。该系统可以通过堆叠或更换层来重新配置。

关键字: 传感器 OLED MAX30101

“Project Aura”是一款基于 ESP32-S3 平台的开源空气质量监测设备,配备了工业级的 Sensirion 传感器、一块 4.3 英寸的 IPS 触摸屏、无焊点组装工艺,并且通过 MQTT 协议实现了与 H...

关键字: ESP32-S3 传感器 IPS 触摸屏

搭载英特尔酷睿 3系列处理器的全新 COM Express 模块,助力实现高性价比与高能效的嵌入式计算应用

关键字: 边缘AI 处理器 嵌入式

自动驾驶的终极目标是实现比人类驾驶更安全、更高效的交通出行,而这一目标的核心瓶颈的是环境感知的全面性与可靠性。单一传感器受限于自身特性,难以应对复杂多变的道路场景——摄像头易受光照干扰,激光雷达成本高昂且怕雨雪散射,毫米...

关键字: 传感器 自动驾驶 辅助驾驶

在过去5年,用于水处理的膜,特别是反渗透(RO) 膜的使用量几乎翻了一番。如今,RO膜技术广泛用于多种行业,从市政用水和废水处理到各种工业应用中的超纯水(UPW)生产。多项研究表明,如果反渗透膜长期暴露于氯浓度38 pp...

关键字: RO膜 传感器

全新合作将支持工程师在 MATLAB 和 PyTorch 中构建 AI 模型,将其集成到系统仿真中,并部署到嵌入式设备

关键字: 嵌入式 AI FPGA

当汽车不再是单纯的交通工具,而是进化为“移动智能伙伴”,人机交互模式的变革便成为这场产业升级的核心密码。从传统汽车中“人找功能”的被动操作,到如今“车懂人”的主动服务,汽车人机交互(HMI)正经历一场从工具理性到情感共鸣...

关键字: 人机交互 传感器 人工智能
关闭