首页 > 代码库 > AD采样的平均值滤波
AD采样的平均值滤波
基本问题:单片机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; } }
前九次(不足十个数据),用第一个数据补。
AD采样的平均值滤波
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。