2
的幂次方点均值滤波
模块
CHNL_DA
TA_A
VERAGE
主要实现对
AD
采集数据的均值滤波,该模块目前支持
最大滤波点数为
128
,原则上可以无限大,主要取决于模块中用于缓存先前采样点的
RAM
的深度,目前
RAM
深度为
128
。为方便计,以下以
4
点求平均说明一下模块的数据操作。
每次求平均的
4
个点都是当前采样点与该采样点之前的
3
个点求和后再平均,因此第
一个平均值的输出是在第
4
个采样点到来时,
会延迟
3
个采样点的时间,
以后每采集到一个
采样点,就会输出一个均值计算后的结果。
该模块设计时采用状态机方法,分为
3
个状态,空闲态
(IDLE)
、数据预缓存态
(SAMPLE_PRE_SA
VE)
和数据刷新态
(SAMPLE_FRESH)
。
在空闲态,判断需要求平均的数据点数,即
samples_need_aver
大小,该值为
2
的
samples_need_aver_log
次方。如果该