发布于 2014-10-12 20:27:38
2楼
呃,死区和采样数不是那样理解的吧。
死区:你前面的理解是正确的,当前滤波值跟模拟量输入映射寄存器值相减(有符号数),如果绝对值大于死区值则用当前滤波值传送至模拟量映射寄存器;如果绝对值小于等于死区值,则保持当前输入映射寄存器值不变。
采样数:主要用来做平均值滤波的,采样数数2N次方的好处就是减少CPU资源的消耗。对于2N次方的平均值计算,可以很简单的用三个变量就可以实现,一个是上次采样值,一个是总和,一个是当前采样值。比如设定采样数是8次,那么只需要简单的运算:总和=(总和-上次采样值+当前采样值)>>3,简单的加、减、移位就可以实现8次平均值滤波了,而不需要8次循环。