0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

CHANBAEK 来源:小李的创客实验室 作者: 初出茅庐的小李 2023-11-14 17:30 次阅读

前言介绍:

随着信息科技的发展,信号处理得到了大幅推动,已被广泛应用于雷达、通信、自动化、航空航天等领域。在信号处理系统中,输入信号通常含有各种噪声和干扰。为对信号进行准确的测量和控制,必须削弱或滤除被测信号中的噪声和干扰。一般在系统中可选用硬件滤波软件滤波

硬件滤波介绍:

硬件滤波又分为无源滤波和有源滤波,无源滤波是通过 RC 滤波器或 LC 滤波器等模拟滤波器进行滤波。硬件滤波的优势是不需要进行复杂的程序处理,反应灵敏。

软件滤波介绍:

软件滤波有时候也称数字滤波是通过一定的算法削弱噪声的影响软件滤波的优势是不需要硬件的投入,仅仅靠代码就可以完成,而且可靠稳定。

10种经典的软件滤波方法包括:

  • 限幅滤波法
  1. 中位值滤波法
  2. 算术平均滤波法
  3. 递推平均滤波法
  4. 中位值平均滤波法
  5. 限幅平均滤波法
  6. 一阶滞后滤波法
  7. 加权递推平均滤波法
  8. 消抖滤波法
  9. 限幅消抖滤波法

限幅滤波介绍:

限幅滤波基本思路是根据被测对象确定相邻两次采样所允许的最大差值△Y, 然后在每次采样后和上次有效采样值进行比较, 如果变化幅度不超过△Y,则本次采样有效;否则,则这次采样值被视为干扰而放弃,而以上次采样值为准。

其原理可用如下公式表示:

|yn-yn-1|≤△Y :yn 有效 如果本次值与上次值之差<=DEVIATION_MAX,则本次值有效;

|yn-yn-1|>△Y :yn-1 有效 如果本次值与上次值之差>DEVIATION_MAX,则本次值无效,放弃本次值,用上次值代替本次值。

yn 为第 n 次采样值, yn-1 为第(n-1)次采样值

△Y一般根据经验来设定,确定两次采样允许的最大偏差值(设为DEVIATION_MAX);

C语言示例代码:

/* DEVIATION_MAX,根据实际情况调整。value为有效值,new_value为当前采样值;
滤波程序返回有效的实际值 */
注:本文假定从16AD中读取数据(若采用更高位的AD可定义数据类型为int);子程序为get_ad(),用于获取AD采样数值;
#define DEVIATION_MAX 10
int16_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;
	}
}

限幅滤波优/缺点:

优点:能有效克服因偶然因素引起的脉冲干扰;缺点:无法抑制那种周期性的干扰、平滑度差;

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 滤波器
    +关注

    关注

    161

    文章

    7802

    浏览量

    178054
  • 软件滤波
    +关注

    关注

    0

    文章

    8

    浏览量

    8174
  • C语言
    +关注

    关注

    180

    文章

    7604

    浏览量

    136750
  • 无源滤波
    +关注

    关注

    1

    文章

    20

    浏览量

    12747
  • 硬件滤波
    +关注

    关注

    0

    文章

    2

    浏览量

    1580
收藏 人收藏

    评论

    相关推荐

    AD采集中的10经典软件滤波程序优缺点分析(附程序)

    在AD采集中经常要用到数字滤波,而不同情况下又有不同的滤波需求,下面是10经典软件
    发表于 11-23 13:52 3993次阅读

    10几种经典软件滤波方法

    经典软件滤波方法1、限幅滤波法(又称程序判断滤波法)    &n
    发表于 04-17 11:01

    10软件滤波方法

    10软件滤波方法 1、限幅滤波法(又称程序判断
    发表于 01-26 17:26

    10软件滤波方法

    10软件滤波方法 1、限幅滤波法(又称程序判断
    发表于 01-26 17:26

    10软件滤波

    《匠人手记》里的10软件滤波,感觉不错,跟大家分享。感谢“程序匠人”的奉献。一、限幅滤波法1、先根据经验判断,确定两次采样允许的最大偏差值
    发表于 03-20 16:40

    AD转换时常用的滤波方法(1)

    在AD采集中经常要用到数字滤波,而不同情况下又有不同的滤波需求,下面是10经典软件
    发表于 07-05 06:12

    常见的经典软件滤波原理,有什么优缺点?

    11经典软件滤波的原理和实现
    发表于 04-06 07:41

    经典软件滤波方法

    经典软件滤波方法 1、限幅滤波法(又称程序判断滤波法)    
    发表于 04-17 10:59 1126次阅读

    10软件滤波方法及比

    10软件滤波方法及比较1、限幅滤波法(又称程序判断滤波
    发表于 12-10 20:18 841次阅读

    10软件滤波方法的示例程序

    软件滤波算法 适用于各类测量的滤波 算法 介绍详细 有列程
    发表于 03-21 17:02 6次下载

    经典的很-模拟滤波器设计

    经典滤波器设计,介绍了设计模拟低通,高通,带通滤波器的方法。简单实用,参考性强
    发表于 07-12 18:32 26次下载

    10软件滤波方法

    软件滤波在嵌入式的数据采集和处理中有着很重要的作用,这10种方法各有优劣,根据自己的需要选择。同时提供了C语言的参考代码,希望对各位能有帮助
    发表于 07-15 15:27 0次下载

    10经典软件滤波方法

    10经典软件滤波方法
    发表于 01-22 20:29 16次下载

    10AD采样的软件滤波方法及例程

    10AD采样的软件滤波方法及例程
    发表于 02-15 22:34 23次下载

    10软件滤波方法

    10 软件滤波方法的示例程序 软件
    发表于 02-28 16:54 14次下载