APP下载

基于DSP 的语音信号自适应滤波系统的设计与实现

2011-02-23代少升马东鸽

关键词:滤波器波形滤波

代少升,马东鸽

(重庆邮电大学信号与信息处理重庆市重点实验室,重庆 400065)

0 引言

在实际应用环境中,语音信号在声电转换、数据采集及处理过程中不可避免地要受到周围环境影响,混入无用的噪声信号,噪声会严重地影响语音质量。语音通信系统中的一个重要工作就是从混入噪声的语音信号中提取有用语音信号、抑制背景噪声[1]。

在许多语音应用场合,由于无法预先知道信号和噪声的特性,仅仅用有限长脉冲响应滤波器(finite impulse response filter,FIR)和无限长脉冲响应滤波器(infinite impulse response filter,IIR)2种具有固定滤波系数的滤波器无法实现最优滤波。在这种情况下,考虑自适应滤波能在输入信号与噪声的统计特性未知和变化的情况下,自动估计所需的统计特性,以跟踪信号和噪声的时间变化[2],并以此为依据自动调整滤波系数,以达到最佳的滤波效果,设计自适应滤波器。

但是传统的自适应滤波器噪声抵消法多采用双声道系统,以得到一个或多个参考噪声作为辅助输入,这势必造成系统结构复杂等一系列问题。所以本文选取使用原始输入的延时信号作为参考噪声输入,利用 TMS320VC5509A 处理器[1,3]设计了一个语音信号单声道自适应滤波系统。

1 DSP自适应滤波系统的设计

1.1 自适应滤波器的设计

由于自适应滤波器适合时变信号的处理[2],在通信及控制等众多领域得到广泛应用。本文选取原始输入的延时信号作为参考噪声输入的单声道系统,构建基于线性预测的自适应语音滤波器。自适应语音滤波器的系统结构形式如图1所示。

图1 自适应FIR滤波原理图Fig.1 Adaptive FIR filter schematic

该系统中主要利用了信号的相关性和噪声的不相关性,使原始信号中的相关部分得到加强,而不相关部分得到削弱,从而提取出有用的信号,并且不同时刻信号的相关性越强,越容易从噪声中提取出来。图1中,选择带有噪音的原始输入的延时信号x(n+1)作为滤波器的输入,而另一端原始信号的输入记为d(n)+z(n)(d(n)是要提取的有用信号,而z(n)是原始输入时的噪音信号),这样可以区别于自适应滤波器输入端x(n+1),然后d(n)+z(n)与y(n)比较,得到误差信号e(n),e(n)的表达式为

(1)式中,y(n)为自适应滤波器的输出信号。

自适应滤波器的特性变化是由自适应算法通过调整滤波器系数来实现的。本文设计自适应滤波器时,由于考虑到IIR滤波器存在稳定性问题,所以滤波器结构采用FIR滤波器的横向结构,自适应算法采用最小均方误差(least mean squre,LMS)算法。由于DSP硬件处理器具有专门的乘累加器和LMS指令集[1,4],因此使用 LMS算法能够有效提高 DSP执行效率。

1.2 LMS算法原理

LMS算法是通过调整滤波器系数,使输出误差序列e(n)=d(n)+z(n)-y(n)的均方值最小化,并且根据这个判断来修改权重系数H(n)[5](权重系数H(n)即FIR滤波器系数),这样就可以使输入信号y(n)尽可能接近有用信号d(n),从而实现信号去噪输出。

由于X(n+1)是原始输入信号X(n)的延时,所以可以在推导的结果中替换,且把(5)式代入(4)式得

2 系统实现过程

本硬件平台利用音频芯片TLV320AIC23和TMS320VC5509 DSP共同搭建硬件系统采集语音信号[6-7],然后将采集到的语音信号经 DSP 的多通道缓冲串口(multi channel buffered serial port,MCBSP)送给TMS320VC5509处理,处理后的语音信号再通过MCBSP送入耳机进行播放。

2.1 系统实现硬件框图

图2是系统的硬件结构框图[2],利用 TMS320 VC5509 DSP的片上外设I2C接口配置音频芯片TLV320AIC23的内部寄存器[8];通过DSP的MCBSP接收和输出采样的音频数据。TLV320AIC23对麦克风输入或者立体音频输入的模拟信号进行采集,将采集的数字信号送入DSP的内部随机存取存储器(random accessmemory,RAM)中,以便DSP处理。当DSP完成对音频数据的自适应滤波处理以后,TLV320AIC23再把数字信号转化为模拟信号,这样就能够在立体声输出端或者耳机输出端听到清晰的声音播放。

图2 系统硬件结构框图Fig.2 Block diagram of hardware system

2.2 算法实现

应用集成开发环境(code composer studio,CCS)对本文所设计的以DSP为核心的系统进行软件调试,主程序使用C语言编写[4]。在调试时,首先对TMS320VC5509的CPU和TLV320AIC23进行初始化配置,然后调用AIC23_Mixer子程序来处理音频数据的输入和输出[9]。软件程序流程图如图3所示。

图3 软件程序流图Fig.3 Software program flow graph

在图3a的LMS滤波算法中,首先读入带有噪音的信号,延时作为自适应滤波器的输入信号x(n+1),初始化自适应步长μ和滤波器系数h(0)(由于μ的不同,影响信号的收敛速率[10],本文实验验证时,选用μ=0.05,N=1 024),进入循环程序:先后计算y(n)和e(n)的值,然后通过执行H(n+1)=H(n)+2μe(n)X(n),调整权重系数H(n),直到系数H(n)满足要求再跳出循环,从而可以输出理想去噪信号y(n)。

图3b的AIC23_Mixer子程序中,首先初始化数据缓冲区和寄存器变量,等待MCBSP0传送数据结束之后,进入工作状态;然后传送到MCBSP并保存到左声道缓冲区,此时调用LMS函数进行滤波,滤波后的结果存放于右声道缓冲区,最后将信号输出到MCBSP接口,随后将得到的该信号传送到TLV320AIC23中经过数模转换后输出,就可通过耳机听到左右不同的声音,左边为原始输入信号,右边为LMS滤波信号。

3 实验结果分析

对利用TMS320VC5509A DSP和TLV320AIC23语音芯片设计的自适应滤波系统进行验证,将采集到的语音信号进行自适应滤波处理。信号输出时,采用左声道输出原始信号,右声道输出滤波后的信号。实验在CCS环境下编译,连接生成目标代码文件,在线下载到DSP中实时运行。

为了能够观察滤波前后的波形效果,在CCS环境下选择ViewGraphTimeFreqenty进入图形观察窗口,在“Graph Property Dialog”窗口中选定相应类型的值[11]。经运行,在图形显示窗口显示的波形如图4所示。

图4 实验仿真波形Fig.4 Experimental simulation waveforms

从图4可以看出,原始输入信号x(n)含有明显的噪音成分(见图4a),经过本文设计的滤波系统后,得到了与期望信号(原始输入语音中的有用信号)d(n)波形相似的输出信号y(n)(波形分别如图4b和图4c所示);从图4d的误差信号波形e(n)也可以看出,开始阶段输出信号较小时,误差信号相对较大,随着滤波系数的自适应调整,误差信号越来越趋近于0,输出信号也越来越趋近于期望信号,另外也可以使用耳机听到滤波前后的语音播放效果。

4 结束语

利用DSP设计的单声道自适应滤波系统,通过对采集的语音信号进行LMS算法处理,实现了语音清晰播放。该系统充分利用DSP具有的乘累加器和专门的LMS指令集有效地提高了系统执行效率、且程序实现简单、系统工作稳定可靠,实现了对传输中的语音信号实时去噪。

[1]李绍胜,赵振涛.MS320VC5000系列DSP开发应用技巧[M].北京:中国电力出版社,2007:4-9.

LI Shao-sheng,ZHAO Zhen-tao.MS320VC5000 series DSP development and application of skills[M].BeiJing:China Electronic Power Press,2007:4-9.

[2]余荣贵.自适应滤波器在噪声消除中的应用与研究[D].南昌:南昌航空大学,2008:4-38.

YU Rong-gui.The application and research of noise cancellation in adaptive filtering[D].Nanchang:Nanchang Institute of Aeronautical University,2008:4-38.

[3]段立峰.DSP在语音处理中的应用[J].世界电子元器件,2004,6:26-27.

DUAN Li-feng.DSP application in speech processing.[J].World electrical device,2004,6:26-27.

[4]王华,张健.DSP原理及其C编程开发技术[M].北京:电子工业出版社,2005:1-264.

WANG Hua,ZHANG Jian.The Development thchnology of DSP principle and C programming[M].Beijing:Electronic Industry Press,2005:1-264.

[5]KUKRER O,HOCANIN A.Frequency-response-shaped LMS adaptive filter[J].Digital Signal Processing,2006,16:855-869.

[6]贾亮,危国腾,赵鹏飞.基于VC5509MCBSP的语音数据采集及 FIR滤波[J].科学技术与工程,2009,9(21):6400-6403.

JIA Liang,WEIGuo-teng,ZHAO Peng-fei.VC5509MCBSP Voice Data Acquisition and FIR Filter[J].Science Tech-nology and Engineering,2009,9(21):6400-6403.

[7]胡瑛,胡安峰.一种基于TMS320VC5509的语音处理系统的设计[J].电子科技,2009,22(5):34-37.

HU Ying,HU An-feng.Design of a Speech Processing System Based on YMS320VC5509[J].Electronics Technology,2009,22(5):34-37.

[8]王嘉,欧建平.利用I2C总线实现DSP与音频采样芯片TLV320AIC23的接口控制[J].国外电子元器件,2004(12):10-19.

WANG Jia,OU Jian-ping.Realization of interface control by I2C bus for DSP and the audio sample chip TLV320AIC23[J].Electronic Products,2004(12):10-19.

[9]刘海英,熊俊俏,戴璐萍,等.基于TMS320 VC5402DSK的自适应滤波器的实现[J].工业控制计算机,2010,23(5):100-101.

LIU Hai-ying,XIONG Jun-qiao,DAILu-ping,et al.Implementation of Adaptive Filtering on TMS320 VC5402DSK[J].Industrial control computer,2010,23(5):100-101.

[10]李方伟,张浩.一种新的变步长LMS自适应滤波算法及其仿真[J].重庆邮电大学学报:自然科学版,2009,21(5):1-4.

LIFang-wei,ZHANG Hao.A new variable step size LMS adaptive filtering algorithm and its simulations[J].Chongqing University of Posts and Telecommunications:Natural Science Edition,2009,21(5):1-4.

[11]马俊,段新文,赵建飞.自适应滤波器LMS算法的DSP实现[J].西宁:现代电子技术,2008,13(276):169-171.

MA Jun,DUAN Xin-wen,ZHAO Jian-fei.Realization of Adaptive Filter LMS Algorithm by DSP[J].Moder electronic technology,2008,13(276):169-171.

(编辑:王敏琦)

猜你喜欢

滤波器波形滤波
从滤波器理解卷积
基于LFM波形的灵巧干扰效能分析
用于SAR与通信一体化系统的滤波器组多载波波形
开关电源EMI滤波器的应用方法探讨
基于Canny振荡抑制准则的改进匹配滤波器
基于ARM的任意波形电源设计
双丝双正弦电流脉冲波形控制
基于TMS320C6678的SAR方位向预滤波器的并行实现
基于自适应Kalman滤波的改进PSO算法
RTS平滑滤波在事后姿态确定中的应用