DIY编程器网

标题: 基于DSP的自适应噪声消除系统 [打印本页]

作者: liyf    时间: 2012-1-27 14:04
标题: 基于DSP的自适应噪声消除系统

                      DSP(Digital Signal Processor,数字信号处理器)是在模拟信号变换成数字信号以后进行高速实时处理的专用处理器件,DSP具有接口简单、方便;精度高、运算速度快、稳定性好;编程方便,容易实现复杂的算法;集成方便等优点,已经被广泛的应用于通信、雷达、语音、图像、消费类电子产品等领域。DSP技术的发展和应用,使得自适应信号处理技术得以实现。自适应噪声消除是消除强背景噪声的一种有效的技术,在通常情况下,背景噪声不是稳定不变的,而是随着时间的变化而变化。因此,噪声消除应该是一个自适应噪声处理过程:既可以在时变的噪声环境下工作,还可以根据环境的改变而调整自身的工作参数。在本文中,利用DSP的优越性能,在TI公司TMS320VC5416芯片上,分别实现LMS和RLS算法的自适应强噪声消除系统,该系统经过验证,能够很好地消除背景噪声,恢复出原始话音信号。
  1 自适应噪声消除算法
  自适应噪声消除算法的基本思想是将噪声混杂的信号通过一个滤波器来达到抑制噪声,并使信号本身无失真通过的这样一个过程。并且,正如上面所述,这个自适应处理过程不需要预先知道信号以及噪声的特点。图1为自适应噪声消除算法的原理框图。






  当调整滤波器,使得E[z2]达到最小值时,E[(n0-y)2]也是最小值,因此,系统输出z可以作为自适应滤波器的误差信号。
  文中的自适应滤波器采用2种自适应滤波算法:一种是最小均方算法(LMS),另一种是RLS算法。
  最小均方算法(LMS)应用最广、算法最简单。LMS算法主要目的是使误差信号的均方值达到最小。自适应滤波器的系数由下式决定。






  麦克风1用于采集带有强烈背景噪声的话音信号作为系统的输入1,麦克风2用于采集背景噪声作为输入2,输入1和输入2经过音频接口输入到MAX197中进行A/D转换,转换后的信号被送入TMS320VC5416中进行自适应噪声消除处理,处理后的信号经过MX7541的D/A转换后,送入音箱进行播放。另外,还可以通过计算机和Matlab软件来比较自适应噪声消除系统的输入/输出信号,验证自适应噪声消除系统工作情况。






  图3为3台计算机记录的自适应噪声消除系统的工作情况:
  比较主输入信号、参考噪声输入信号和滤波器输出信号,可以清楚地看出输出与主输入信号相比,噪声成分被大大削弱,这与用音箱直接听到的声音效果一致,以上结果证明用DSP成功地实现了实时的自适应噪声消除系统。
  3 结 语
  本文采用TI的TMS320VC5416型DSP成功地实现了自适应噪声消除系统,试验的结果显示LMS算法和RLS算法是去除噪声的自适应滤波器非常有效的方法,DSP板也是实现实时自适应噪声消除系统的好平台。在整个系统工作过程中,仍有少量的背景噪声不能完全从信号中去除掉,为了测试算法的效果,用Matlab产生一个白噪声信号作为噪声参考信号,同时将参考噪声信号进行微小扭曲后与从麦克风输入的语音信号叠加后作为主输入信号,然后用前文所述的实现方式对主输入信号和参考噪声信号进行自适应噪声去除算法处理。在处理后,噪声完全从信号中去除掉了,由此,可以看出,背景噪声不能完全从信号中去除掉问题不是由算法造成的,而是由于试验设备造成的。麦克风、电缆以及采样造成会造成信号扭曲,而这些扭曲在噪声去除算法中是无法补偿的,因此其可能是造成这个问题的最可能原因。
            




欢迎光临 DIY编程器网 (http://diybcq.com/) Powered by Discuz! X3.2