总第172期2008年第10期舰船电子工程Ship Electronic Engineering Vol.28No.10104 双通道语音增强的DSP 实现3杨 帆 高 勇(四川大学电子信息学院 成都 610065)摘 要 双通道语音增强技术在自适应噪声对消系统中有着广泛的应用。
在传统的双通道自适应噪声对消系统里,需要一个纯净的参考噪声作为辅助输入,但这在实际应用中很难做到。
首先针对基本的自适应噪声对消原理,研究了一种改进的双通道自适应语音增强模型。
该模型是一个基于TMS320C6713B 芯片的双通道实时数据处理系统,以AD73311为数模转换器件,具有两路独立的A/D 、D/A 通道,能够实现语音信号的16位数据采集与处理。
最后对此系统的DSP 硬件设计作了简要介绍,并研究了该系统的软件设计以及算法实现。
关键词 双通道;自适应噪声对消;DSP 中图分类号 TN911.72DS P Implement ation of Two Cha nnel Speech Enha ncementYang Fa n Gao Yong(College of Electronics and Information Engineering ,Sichuan University ,Chengdu 610065)Abs t rac t The two channel speech enhancement technology is widely used in adaptive noise cancellation (ANC )systems.Pure reference noise is demanded as auxiliary input in traditional two channel ANC systems ,but it is hard to implement in ac 2tual environment.Based on the basic principle of ANC ,this paper presents a modified model of two channel adaptive speech enhancement.This model is a two channel real time data processing system based on TMS320C6713B ,with AD73311as its converting device.It includes two separate A/D ,D/A channels ,capable of implementing 162bit data acquisition and process 2ing.Then the DSP hardware system design is briefly introduced ,the system software design and the corresponding algorithm implementation are also investigated.Ke y w ords two channel ,adaptive noise cancellation ,DSP Class Nu m ber TN911.721 引言在现代舰船的工作环境里,无线语音通信不可避免的会受到各种环境噪声的影响,如舰船发动机、风机等机械噪声及海浪、风雨雷电等气象噪声。
这些环境噪声在发送端与通信者的话音一起进入发端麦克风,会极大降低话音通信的质量,严重时会导致接收端无法收听或理解错误,这对舰船的通信指挥和信息的交互非常不利,需要进行处理。
针对现代舰船这种特殊的工作环境,自适应噪声对消(ANC )是一种较为有效的语音增强方法[1]。
ANC 以噪声为处理对象,对它进行抑制或衰减,而在处理过程中,并不需要知道噪声的先验统计知识,因为它多使用了一个参考通道。
当语音信号以及信号统计特性发生改变时,自适应滤波器能自适应的调节它的权值来适应新的情况[2]。
DSP 芯片是一种非常适合数字信号处理运算的微处理器,以DSP 芯片为核心的嵌入式系统可3收稿日期:2008年6月23日,修回日期:2008年7月21日作者简介:杨帆,男,硕士研究生,研究方向:移动通信、DSP 开发、实时信号处理。
高勇,男,博士,副教授,研究方向:阵列信号处理、软件无线电、通信抗干扰技术、实时信号处理、嵌入式系统开发等。
2008年第10期舰船电子工程105 以实时、快速实现各种数字信号处理方法,并且具有速度快、精度高、小型化等显著优点。
本文针对基本的ANC 原理研究了一种改进的双通道语音增强方法,并在自行设计的语音DSP 板上进行了实现。
2 双通道语音增强方法2.1 自适应噪声对消原理自适应滤波器在双通道自适应噪声对消中得到了广泛的应用。
在噪声对消的情况下,可以使用图1所示的L MS 自适应滤波器。
图1 自适应噪声对消在图1中有两个通道,主通道和参考通道。
主通道接收从信号源发来的信号s ,但是受到噪声源的干扰,这使得主通道不但收到信号s ,也收到噪声n 0。
设参考通道收到的干扰为n 1。
由于传送路径不同,n 1和n 0是不同的。
但因两者均来自同样的噪声源,所以它们是相关的。
参考通道的作用就在于检测噪声,并通过自适应滤波调整其输出y ,使y 在最小均方误差意义下最接近主通道噪声。
这样,通过相减器,将主通道的噪声分量n 0对消掉。
先假设参考通道收到的有用信号为0,信号和噪声不相关。
在图1中,d 为自适应滤波器主通道的信号输入s +n 0。
则此系统的输出为:e =d -y =s +n 0-y(1)式(1)中,s 和n 0、n 1、y 无关。
将式(1)的等号两边取均方值,并且假设噪声均值为0,则自适应滤波器调整的结果,将使y 在均方误差最小的意义下,最接近主通道噪声分量n 0,因而使系统输出中的噪声大大降低。
所以:Min E{(n 0-y )2}=Min E{(e -s )2}(2)公式(2)说明,在最小均方误差意义下,y 最接近n 0等效于e 最接近s ,所以在噪声对消输出端提高了信噪比。
2.2 一种改进的双通道语音增强在图1中,如果参考通道输入的噪声n 0越接近于主通道里的背景噪声n 1,噪声对消器输出的结果越好。
若参考通道除检测到噪声n 1外,还收到信号分量s 1,则自适应滤波器的输出y 将包含信号分量,从而使噪声对消结果变坏。
可以证明[3]:p sp nout≈p sp n -1ref(3)式(3)中,(p s /p n )out 为噪声对消器的输出信号噪声比,而(p s /p n )ref 为参考通道的输入信号噪声比。
这就是说,参考信道的输入信噪比越强,噪声对消器的输出信号噪声比越差。
所以,为了获得好的噪声对消性能,应使参考通道检测到的信号噪声比尽可能小。
实际中,传统的双通道自适应噪声对消系统,很难得到一个纯净的参考噪声作为辅助输入。
下面介绍一种改进的双通道语音增强系统,该系统的主通道和参考通道的输入信号均包含有同一语音信息。
如图2所示:图2 混有语音信号的双通道语音增强系统在这个系统里,我们假设主通道和参考通道接收到的信号里包含同样来源的语音信息s ,我们定义主通道接收的信号为:s +n 0,参考通道接收的信号为:s +n 1。
将两路信号相加,语音信号得到初次增强:d =2s +n 0+n 1(4)将两路信号相减,并乘以一个增强因子β:x =β(n 0-n 1)(5)这里β是一个大于1的增强因子,在实际中可针对两个麦克风的距离进行校准。
这样,我们可以用(4)、(5)两式构成自适应对消系统的主通道信号以及参考通道信号,结合图1所描述的理想系统进行自适应噪声对消,最后得到输出信号e 即为增强后的较为纯净的语音信号。
3 DSP 实现DSP 是双通道数字系统的核心器件,本系统采用TI 公司的32位浮点运算芯片TMS320C6713B 。
它采用了八条指令并行执行的流水线结构,使用两级缓存(cache ),并具有丰富的外设资源[4]。
该芯片亦有多种时钟频率,基于成本和性能的折衷考虑,本方案选择的是时钟频率225M Hz 的GDP 封106 杨 帆等:双通道语音增强的DSP 实现总第172期装芯片。
3.1 DSP 系统的硬件设计本系统采用两块板堆叠的方式,上面一层主要实现模拟放大,以及信号的输入输出,其中包含核心器件AD73311,用于实现信号的数模以及模数转换。
并且考虑到以后的研究扩展需要,在板上也选择C YPRESS 公司的U SB 芯片C Y7C68013。
下面的电路板是一个6层板,这是基于系统可靠性的考虑。
因为合理的分层不但可以降低系统的电磁辐射,还可以保证信号的完整性[5~6]。
这个板上的芯片除了C6713,其它的核心器件还包括:一个256M 的32位SDRAM ,一个2M 的16位FL ASH ,一个40万门的FP GA 。
整个系统的原理框图如图3所示:图3 硬件系统原理框图在设计DSP 的连接电路时,要注意以下几个问题:1)本方案选择的FL ASH 是16位,则DSP 应该选择16位非同步ROM BOO T 模式,此时应该将DSP 的HD [4]、HD [3]脚分别上拉、下拉。
2)本方案选择的音频通信口为MCASP1,此时应该将控制HPI -EN 寄存器的HD [14]管脚下拉。
3)由于是一个双通道语音系统,而MCASP1口可以同时满足最高8路的数据传输需求,因此可以将DSP 的AXR1[1]、AXR1[2]管脚分别作为两路语音的DSP 输入,将AXR1[1]管脚作为语音的DSP 输出。
4)本系统的两个通道采样率以及时钟应该保证完全同步,因此,AD73311的位同步信号(SCL K )与DSP 的ACL KR1和ACL KX1相连;AD73311的帧同步信号(SDOFS ,SDIFS )与DSP的A FSR1和A FSX1相连。
通过对FP GA 进行编程,可以很容易完成这些连接。
3.2 DSP 系统的软件设计以及算法实现在硬件电路设计完毕之后,就可以进入以下软件设计的环节。
系统在实际应用之前,有很多地方需要初始化,这都需要通过编程对相应的寄存器进行配置,本节选择了其中最关键的几个部分进行初始化配置的论述。
要使DSP 运行起来,首先要有正确的时钟。
C6713有自己的PLL 控制器,可以方便的实现内部分频以及倍频,从而得到期望的时钟信号。
在本系统中,DSP 的最大工作频率为225M Hz ,外部时钟输入为40.96M Hz ,采样率为16KHz ,AD73311的输入时钟为4.096M Hz 。