求助:如何去除交流采样AD出来的声音信号结果中含有直流分量?

chenky   2010-11-5 11:39 楼主
交流采样AD出来的声音信号结果中含有直流分量(可以认为是零漂),即交直流混合电平,感觉上好像这个直流分量会发生变化,可以排除是AD前面电路造成的问题,也就是说可以确认是AD输出的漂移造成的,我想是否可以用数字滤波的方法去掉它,如果可以,用数字滤波算法去除直流成分比较好啊?

回复评论 (4)

你可以先把一个周期的AD值采出来求平均值,这个平均值可以认为是漂移值,然后各点的AD值再减去这个平均值就可以了。
点赞  2010-11-5 14:08

这个要看你的信号类型,和信号用法才能说。

记得我以前遇到过一个测温的采样,电路有非线性(这是可能引入直流分量的一个原因),用非线性效正,和平均就可,这也是因为我们对时延要求不高的原因。
   总的说滤波法需要的计算资源是比较大的,特别是在滤波性能要求比较高是,记得我为了求一个高速采样信号的平均值(采样的100Kwu倍的时间因的)用所有的滤波法都不用。
   最简的滤波法,就是用信号减平均。
点赞  2010-11-5 14:10
看不到你的电路,不好说,简单来说,硬件能做到的软件都能做到。直流分量去除是最好办的,直接减就行,你要仔细演算直流分量值,避免出现负数。直流分量既然是直流。就不存在变化,变化就算交流了,那么我猜测你所谓的变化是否是因为AD性能较差抖动造成的,这样就不好办了。常用的办法是直接丢弃抖动位,那么分辨率就降低了。还有就是用软件低通滤波。吧抖动消除,另外还有一种方式,就是人为在输入加噪声,软件吧分辨率提高一到两位,这样在原来位数上就比较稳。
如果要详细分析你的问题,还需要看电路和实际现象,包括输入输出采样值等。
点赞  2010-11-5 14:10
如果确认是AD的采样有偏移,直接把AD输入引脚接地,读出偏移量,以后采样值都减去这外偏移量就可以了。没有必要使用滤波算法,太耗运算资源,还会引起信号相位变化。
电子工程师技术交流QQ群:12425841,专注于自动控制、数字电源等
点赞  2010-11-5 22:01
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复