10种经典的软件滤波方法介绍

前言介绍:随着信息科技的发展,信号处理得到了大幅推动,已被广泛应用于雷达、通信、自动化、航空航天等领域。在信号处理系统中,输入信号通常含有各种噪声和干扰。为对信号进行准确的测量和控制,必须削弱或滤除被测信号中的噪声和干扰。一般在系统中可选用硬件滤波和 软件滤波 。
硬件滤波介绍:硬件滤波又分为无源滤波和有源滤波,无源滤波是通过 rc 滤波器或 lc 滤波器等模拟滤波器进行滤波。硬件滤波的优势是不需要进行复杂的程序处理,反应灵敏。
软件滤波介绍:软件滤波有时候也称数字滤波是通过一定的算法削弱噪声的影响软件滤波的优势是不需要硬件的投入,仅仅靠代码就可以完成,而且可靠稳定。
10种经典的软件滤波方法包括:限幅滤波法中位值滤波法算术平均滤波法递推平均滤波法中位值平均滤波法限幅平均滤波法一阶滞后滤波法加权递推平均滤波法消抖滤波法限幅消抖滤波法限幅滤波介绍:限幅滤波基本思路是根据被测对象确定相邻两次采样所允许的最大差值△y, 然后在每次采样后和上次有效采样值进行比较, 如果变化幅度不超过△y,则本次采样有效;否则,则这次采样值被视为干扰而放弃,而以上次采样值为准。
其原理可用如下公式表示:
|yn-yn-1|≤△y :yn 有效 如果本次值与上次值之差△y :yn-1 有效 如果本次值与上次值之差>deviation_max,则本次值无效,放弃本次值,用上次值代替本次值。
yn 为第 n 次采样值, yn-1 为第(n-1)次采样值
△y一般根据经验来设定,确定两次采样允许的最大偏差值(设为deviation_max);
c语言示例代码:/* deviation_max,根据实际情况调整。value为有效值,new_value为当前采样值;滤波程序返回有效的实际值 */注:本文假定从16位ad中读取数据(若采用更高位的ad可定义数据类型为int);子程序为get_ad(),用于获取ad采样数值;#define deviation_max 10int16_t value;int16_t filter(void){ int16_t new_value; new_value = get_ad(); if ((new_value - value > deviation_max) || (value - new_value > deviation_max)) { return value; } else { return new_value; }}限幅滤波优/缺点:优点:能有效克服因偶然因素引起的脉冲干扰;缺点:无法抑制那种周期性的干扰、平滑度差;

小米出货量反超苹果,未来几年欲成为欧洲第一
电磁屏蔽理论介绍
北明大数据基于openLooKeng大数据技术 开发数据服务跨源分析功能
AI助力机器人健康成长
开发者开发了一款Hololens应用 通过手势和眼神来操控家电
10种经典的软件滤波方法介绍
以传统燃气公司的智能化业务,来看智能家居行业的坚守
数据库国产化替代的必要性与实施策略
特斯拉打盹模式新功能,可设置闹钟和空调系统
3D打印技术在航空航天领域有了新的发展方向
智慧公安情报研判系统开发人员移动轨迹管理平台搭建
浅析校园监控之网上监考系统
Linux USB开发指南
美的开始进军智能家居市场
便携式农药残留检测仪应用
电动车电机声音大怎么回事及解决方法
了解关键应用程序对时间敏感网络的需求
异步整流和同步整流的优缺点有哪些
美味生活启动百城万店计划,以3000元级售货机赋能门店新增量
快充技术与电池续航迭代,共享充电宝的未来该去哪里?