数字滤波是需要的 也有好多种方式
如楼上所说 ,累计平均的方式 会使得响应变慢,可以 用递推平均滤波
如0->n, 1->n+1,....
不过数字滤波的方式 最主要的一方面 是降低了响应速度以及响应时间,第二个是不能完全消除干扰信号,效果并不明显。
AD采集 并不是打个电路简单的完成功能就行了,尤其是在高精度测量的场合。
建议去了解一下EMC设计,自己要有示波器看看究竟干扰源是什么,从哪来的。
是电源的问题,还是接地问题,是否有辐射等等
从这方面,我简单说以下几点:
1. 模拟 、数字部分电路 一定要分开,如果空间所限等分不开,则尽量用地线隔离
2. 电源的选择,模拟部分的供电一定选用纹波系数小 ,最好单独用LDO提供,不与数字或大功率部分的电源混用
3. 接地 这个是最重要的一环也是设计中的难点所在,可以多参考下资料
4. 使用有源滤波电路,当然无源滤波也可以解决部分问题,不过多阶有源滤波可以有效解决干扰问题
5. 最简单的无源滤波就是RC 有的时候在低成本、简单调试的场合 也能有很大作用
你说的有很多的尖峰脉冲,可以先简单用个RC滤除一下 ,然后接入AD芯片,再用数字滤波 肯定比单独用数字滤波好的多的多…… 而且还简单方便
如果尖峰脉冲很陡,中间加个磁珠也会很有作用
网上有很多EMC设计电路设计的要领,多看看 很有帮助的
你采集多少通道?对采集速度有没有要求?
提供个方案供参考
你连续采集然后做平均就行了,毕竟尖峰很窄.采样多了,就平均掉了.只要连续采样的总计算周期是你的干扰信号的整数倍就可以了.
要是觉得尖峰仍然有影响,在做平均时,可以采用去掉n个最大值的方法.
-----------
你补充的问题是你程序有问题.检查检查吧.
如同体操比赛的评分一样,每次多采样几次,然后去掉极值后取平均值