在上一篇文章单片机ADC采样算法---平均值采样法中分析了平均值采样法的使用,上篇文章中的平均值采样法是连续采样100个数据,然后求平均值,这种方法存在一个问题,就是采集100个值之后,下一次又重新采集100个新的值,这两次采集的值是不连续的,相当于每次都是独立的采集来100个值,然后求平均值。这样计算出来的值有可能看不出来数据的变化趋势。希望在求平均值的时候每次读取到一个新的值,就将最早读取的旧值丢弃一个,相当于水管中的流水一样,有新的水流进来,就让最早进来的水流出去。这样采集到的数据就是连续变化的。这样通过采样值就能看出来采样数据是否发生了波动。

算法如下:

#define N 100

unsigned int filter4( void )

{

static unsigned int value_buf[N];

static unsigned int i = 0;

unsigned int count;

int  sum = 0;

value_buf[i++] = ReadVol_CH3();

if( i == N )

{

i = 0;

}

for( count = 0; count < N; count++ )

{

sum += value_buf[count];

}

return ( unsigned int )( sum / N );

}

通过数组将采样的数据存储起来,若数组存满之后&

c语言adc采集取平均值,单片机ADC采样算法----递推平均值采样法相关推荐

  1. 单片机ADC采样算法----递推平均值采样法

    在上一篇文章单片机ADC采样算法---平均值采样法中分析了平均值采样法的使用,上篇文章中的平均值采样法是连续采样100个数据,然后求平均值,这种方法存在一个问题,就是采集100个值之后,下一次又重新采 ...

  2. C 语言实现的滑动平均滤波算法,滑动平均滤波算法(递推平均滤波法)

    /// ///滑动平均滤波算法(递推平均滤波法) /// /// /// GN为数组value_buf[]的元素个数,该函数主要被调用,利用参数的数组传值 /// private const int ...

  3. c语言adc采集取平均值,读取ADC值的浮动平均值

    我想做移动平均值或类似的东西,因为我从ADC获得噪音值,这是我的第一次尝试,只是为了计算移动平均值,但是每次值都变为0,你可以帮我吗?读取ADC值的浮动平均值 这是代码的一部分,这使得该魔术: uns ...

  4. 单片机ADC采样算法----限幅消抖滤波法

    限幅消抖滤波法相当于"限幅滤波法"+"消抖滤波法"    . 下面直接看C代码的实现 #define A 200 #define N 20 //返回两个整数差 ...

  5. 单片机ADC采样算法----加权递推平均滤波法

    加权递推平均滤波法是对递推平均滤波法的改进,即不同时刻的数据加以不同的权.通常是,越接近现时刻的数据,权取得越大.给予新采样值的权系数越大,则灵敏度越高,但信号平滑度越低. 下面直接看C代码的实现 d ...

  6. C语言计算礼炮声响次数(穷举和递推)

    编写一个小程序,计算观众能听到的礼炮声响次数.具体描述如下: 在庆祝活动中,A,B,C三艘军舰要同时开始鸣放礼炮各21响.已知A军舰每隔5秒放1次,B军舰每隔6秒放1次,C军舰每隔7秒放1次.假设各炮 ...

  7. STC15单片机-ADC获取环境温度(NTC热敏电阻)

    ADC获取环境温度 STC15L2K32S2 ADC结构 STC15系列单片机ADC由多路选择开关.比较器.逐次比较寄存器.10位DAC.转换结果寄存器(ADC_RES和ADC_RESL)以及ADC_ ...

  8. 单片机ADC采样算法----限幅平均滤波法

    限幅平均滤波法相当于"限幅滤波法"+"递推平均滤波法",每次采样到的新数据先进行限幅处理,再送入队列进行递推平均滤波处理. 下面看C代码的实现 #define ...

  9. c语言滤出是个最小值,经典滤波算法及C语言程序

    <经典滤波算法及C语言程序>由会员分享,可在线阅读,更多相关<经典滤波算法及C语言程序(9页珍藏版)>请在人人文库网上搜索. 1.经典的滤波算法经典的滤波算法 可以用用可以用用 ...

最新文章

  1. 承重柱怎么做_怎么区分农村自建房中的圈梁和承重梁?了解这几点
  2. Excel+DDT数据驱动实例
  3. cmd写java程序_用cmd写一个最简单的Java程序
  4. 使用python实现大文件分割与合并
  5. 专访阿里数据库备份专家 教你pick最有效的备份系统
  6. android socket 闪退,android客户端闪退
  7. 第三只眼使用局域网版本还是网络版好_iOS13.4测试版使用3天后,发现3个优化,建议升级!...
  8. Linux: Nginx 安装
  9. 如何生成指定范围不重复的随机数数组
  10. 11.GitLab webhooks
  11. MySQL开发医药管理系统_医药管理系统struts+hibernat+mySql,内含需求分析,详细设计文档...
  12. C 语言学习笔记(一):C 语言的开发环境
  13. 蚁景网络安全渗透测试工程师特训班学习记录
  14. java后台管理系统做Excel导入
  15. Mobi格式的书籍整理
  16. Saver类--变量的保存和恢复
  17. 两个ESP8266一个作为服务器一个作为客户端实现互相通讯
  18. 喜欢计算机专业的理由英语作文,计算机专业英文自我评价范文
  19. excel表格打印每页都有表头_一些关于Excel表格打印的技巧,工作中常用的都整理在这了...
  20. 关于条码和标签打印以及条码打印机编程

热门文章

  1. 众昂矿业:萤石矿产战略价值日益突出
  2. 复习 |链表基本操作(逆序)
  3. 微信小程序开发入门-个人笔记
  4. creator 跳跃弧线_CocosCreator零基础制作游戏《极限跳跃》教程1
  5. 办公室计算机基础知识试题,办公室试题(卷)
  6. 合粤电子车规级125℃贴片铝电解电容HG系列,助力汽车电子实现高可靠性
  7. 电压和电流型磁链观测器学习
  8. Windows查看WiFi密码的命令
  9. LVDS液晶屏和TTL液晶屏的区别
  10. lvds屏幕的数据手册如何看