基本问题:单片机ad采样,连续采样十次,对这十次数据取平均值。

注意:最开始的一次就是用当次的数据,以后每更新一个数据就取当前数据加上前九个数据,取平均。

先看代码:

static int _filter(int m)
{static int flag_first = 0, _buff[10], sum;const int _buff_max = 10;int i;if(flag_first == 0){flag_first = 1;for(i = 0, sum = 0; i < _buff_max; i++){_buff[i] = m;sum += _buff[i];}return m;}else{sum -= _buff[0];for(i = 0; i < (_buff_max - 1); i++){_buff[i] = _buff[i + 1];}_buff[9] = m;sum += _buff[9];i = sum / 10.0;return i;}
}

前九次(不足十个数据),用第一个数据补。  

转载于:https://www.cnblogs.com/gaosheng12138/p/6925775.html

AD采样的平均值滤波相关推荐

  1. 10种AD采样的软件滤波方法及算法

    AD采样点的电压多少有点起伏波动,经运放放大后电压的波动如果超过ADC的分辩率,则显示的值会出现波动.波动如果十分大的话, 建议在硬件上滤波,相反,如果波动较小,你可以用软件滤波方法解决这个问题. 1 ...

  2. 算术平均值滤波matlab程序,基于S7-1200 AD采样的高效数字滤波算法的设计与实践...

    在工业控制中,常常会伴随大量的模拟量数据采样.模拟量采样时,由于待采量本身.传感器和传输过程中的外界干扰,特别是非稳态干扰信号等因素的影响,采样值中通常含有各种周期性和非周期性的噪声和干扰.为得到稳定 ...

  3. c语言ad采样程序思路,单片机AD采样程序及其寄存器讲解

    描述 ad采样的步骤:首先将外部的信号,通过电路或者已有的AD芯片转换成 主CPU能接受的电压 信号.但是此电压信号必须转换成8.10 .12位或更高位数的数字才能进一步做计算.另外转换成位数多少表明 ...

  4. AD采样不准解决措施

    1:参考电压需要足够精确,推荐使用外部高精准参考电压.  2:如果PGA可调,增益系数一般是越小噪声越低.  3:一般最好用到满量程,此时AD精度不浪费.  4:如果有偏置,需要进行自校.  5:请注 ...

  5. ad采样做按键开关_电池应用中的电流采样电阻设计

    在电池充放电管理.电池管理保护以及电池电量计应用场合中,一般都会使用到电流采样电阻,进行电池充放电电流的检测.其原理是在电池充放电回路中放置一个采样电阻R, 电流流经采样电阻产生压差,采样电阻两端电压 ...

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

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

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

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

  8. 滑动平均值滤波的VERILOG实现

    ​  滑动平均值滤波是指先在RAM中建立一个数据缓冲区,依顺序存放N个采样数据,每采进一个新数据,就将最早采集的那个数据丢掉,而后求包括新数据在内的N个数据的算术平均值或加权平均值.这样,每进行一次采 ...

  9. 滤波算法(一)—— 平均值滤波算法

    1.算法介绍 平均值滤波算法是比较常用,也比较简单的滤波算法.在滤波时,将N个周期的采样值计算平均值,算法非常简单.当N取值较大时,滤波后的信号比较平滑,但是灵敏度差:相反N取值较小时,滤波平滑效果差 ...

最新文章

  1. 网络主机监控-nagios应用漫谈(三)
  2. Win系统复制粘贴失效解决办法
  3. Java反射之从对象获取值
  4. Genymotion 下载一直失败的解决办法
  5. LeetCode移掉k位数字(贪心算法)python
  6. VTK:可视化之ScalarBarActorColorSeries
  7. MongoDB复制集技术
  8. [Java基础]IO流小结
  9. suse linux 查看内存,Suse linux查询内存大小的指令是什么?
  10. c/c++ 模板与STL小例子系列一 自建Array数组
  11. unity中怎么做河流_【干货】工作中怎么做工业设计的?(一)
  12. Java并发-ThreadLocal
  13. python与室内设计_基于树莓派和Python的智能家居系统设计
  14. leetcode题目及答案python_leetcode Python算法题(20)-----多题
  15. android 录屏工具,安卓手机上最好的录屏软件在这里
  16. Q83:怎么画多个PLY文件组合的图形[Multiple-Mesh Objects]
  17. 802.11协议常用语缩写
  18. Outlook收件箱无法看到新邮件而OWA的收件箱可以
  19. 【生活】周末一起看看阿里动物园
  20. 进销存excel_excel进销存仓库表格同步手机操作

热门文章

  1. 作为一个互联网人,这部电影你不得不看
  2. Curvilinear structure detections
  3. ERROR 1372 (HY000): Password hash should be a 41-digit hexadecimal number;
  4. 虚拟机访问本地mysql_虚拟机访问主机Mysql
  5. MATLAB学习笔记(十三)
  6. java collection源码_jdk源码阅读Collection实例分析
  7. 第9章matlab符号计算答案,第9章 MATLAB符号计算_MATELAB课程设计_ppt_大学课件预览_高等教育资讯网...
  8. JavaScript学习之ES6学习之Promise
  9. 边城高级中学2021届高考成绩查询,边城高级中学举行2021届高三学生成人礼暨高考誓师大会...
  10. php下载 微信头像图片_php 下载微信头像