一、处理思想

连续采集N组数据,进行算术平均值计算,作为本次数据有效值

二、算法实现


#define TARGET_tYPE int#define N 10
TARGET_tYPE ADDER = 0;TARGET_tYPE Arithmetic_mean_FILTER()
{for(int i = 0; i < N; i++){ADDER = ADDER + get_data();}return (ADDER/N);
}

三、滤波效果

DS18B20温度传感器滤波效果

四、优缺点

优点

算术平均数能较好的过滤随机干扰(使正负干扰的期望相互抵消)

缺点

不适用于测量较慢的数据

不适用于实时控制

ps:补充一个小技巧:可将N设置为2的整数幂,再利用移位操作来代替除法以提高运行效率。

例如ADDER/2也可以这样写:

return ADDER >> 1;

若考虑到负数的情况,则该方法仍需完善

以 ADDER/(2^N)为例:

return (ADDER + 2^N - 1) >> N;          //(ADDER + 2^N - 1)须小于0

通用软件滤波算法-算术平均滤波法相关推荐

  1. 滤波算法 | 算术平均滤波法

    算术平均滤波法适用于对一般的具有随机干扰的信号进行滤波.这种信号的特点是信号本身在某一数值范围附近上下波动 ,如测量流量.液位:         基本方法:按输入的N 个采样数据,寻找这样一个 Y , ...

  2. 滤波算法——均值滤波,中值滤波,一阶(αβ)滤波,卡尔曼滤波

    滤波算法--均值滤波,中值滤波,一阶(αβ)滤波,卡尔曼滤波 因工作涉及到数据滤波(滤噪)处理,汇总了一些网上简单的滤波算法,方便日后查看. 滤波算法包括:均值滤波,中值滤波,一阶(αβ)滤波,卡尔曼 ...

  3. c语言 算术平均滤波法_基本C语言滤波算法

    11种软件滤波方法的示例程序 假定从8位AD中读取数据(如果是更高位的AD可定义数据类型为int),子程序为get_ad(); 1.限副滤波 /*  A值可根据实际情况调整 value为有效值,new ...

  4. 在线激活流程研究, 芯片杂烩, 软件滤波算法

    在线激活流程研究 在世界范围内,软件的盗版问题都是个令程序员苦恼的问题.相应的,很多反盗版的措施也就应运而生.其中以输入序列号.激活码的产品激活策略应用最为广泛.本文就从流程的角度粗略的描述一下这个过 ...

  5. 单片机ADC采样算法----中位值滤波法

    中位值滤波法就是通过连续采样奇数个数据,然后对数据从小到大排序,取中间的值做为本次采样值. 下面看C代码的实现 #define M 11unsigned int filter2( void ) {un ...

  6. 单片机ADC采样算法----限幅滤波法

    限幅滤波法就是通过软件来限制本次采样值的上次采样值的偏差,若本次采样值和上次采样值的偏差超过了设定的最大偏差值,则丢弃本次的采样值. 下面看C代码的实现 //返回两个整数差 unsigned int ...

  7. 自动驾驶 - 滤波算法

    自动驾驶 - 滤波算法 目前比较常用的滤波算法有: 平均值滤波算法 中位值滤波算法 一阶滤波算法 卡尔曼滤波算法 1. 平均值滤波算法 1.1. 算法介绍 平均值滤波算法是比较常用,也比较简单的滤波算 ...

  8. TM7711高精度厨房秤滤波算法

    AD芯片采样TM7711,该芯片支持24位的AD转换,我们做0.1g的厨房秤,所以至少使用21~22位才行,21位时0.1g对应7.5个内码左右,22位时0.1g对应15个内码左右.这里我们使用22位 ...

  9. 弱小目标检测跟踪算法研究(7) 基于简单平滑滤波算法的红外弱小目标检测之背景抑制

    基于简单平滑滤波算法的红外弱小目标检测之背景抑制 1. 前言 2. 平滑滤波算法 3. Matlab仿真 4. 小结 1. 前言 红外图像中的弱小目标,目标属性包涵"弱"和&quo ...

最新文章

  1. 干货!OKR最基础的操作九个原则
  2. mongodb从3.2升级到4.4_丰田汉兰达汽车音响升级黄金声学GS265.2,焱哥音响
  3. android adb恢复出厂设置,android开发分享擦除数据/通过ADB恢复出厂设置
  4. 【读书笔记】《第一行代码》
  5. c++17(21)-volatile和const、const_cast
  6. boost::sort模块实现带有右移函子排序示例的整数排序的测试程序
  7. 蓝桥杯基础模块2:蜂鸣器继电器
  8. python 各个模块的简单介绍 转载
  9. LeetCode 834. 树中距离之和(树上DP)*
  10. js 难点之原型理解
  11. android如何阻塞主线程,Android主线程阻塞WebView线程
  12. Lucene的几种分词系统
  13. oracle数据库查看建表语句,oracle 查看建表语句
  14. 雨林木风推出高仿Windows操作系统
  15. 微软:今天起加速推广Windows 11,让更多设备免费升级
  16. 域名dns污染,如何防治?
  17. 牛客习题总结38(7月13日)
  18. 华丽而实用的Java图表应用
  19. 一口气了解【2021 阿里云峰会】重磅发布
  20. MacOS安装brew教程从入门到入土

热门文章

  1. 拿你的什么来吸引微信粉丝
  2. 【JVM学习04】JMM内存模型
  3. Ansible 自动化运维
  4. 21点代码python_python实现一个简单的21点游戏
  5. C#推流RTMP,摄像头、麦克风、桌面、声卡(附源码)
  6. weiit—全渠道新零售saas,重构“人、货、场”
  7. Spring Boot Actuator(eureka xstream deserialization RCE)
  8. 英特尔SPOSM为行业打造下一代POS解决方案注入创新活力
  9. ONAP Gerrit 代码统计和分类(spider)
  10. Android之Dalvik 、ART