dsp实现语音噪声滤波设计方案
- 格式:doc
- 大小:895.00 KB
- 文档页数:27
dsp实现语音噪声滤波设计方案1、设计背景语音通信的目的是传递声音信息。
位于甲地的通信者发出的声音经语音传感器变换成为电信号,经发送端设备变换为适合传输的形式,通过传输信道传输到乙地。
在乙地经接收端设备恢复出原来的语音信号,经耳机或者喇叭转换为接收者可以听到的声音信号。
这就是最基本的语音通信系统,但是由于周围环境的原因,我们采集到语音信号经常含有不同程度的噪声。
典型语音通信系统中的噪声来自三个方面:①信号处理设备产生的电噪声及传输信道中的电噪声;②信号发送端空间环境中的音频噪声信号经麦克风变换为电信号之后,与有用信号其同传递到接收端;③信号接收端空间环境中的音频噪声对信号接收者的影响。
噪声是由于发生体作无规则振动产生的。
在很多情况下,环境中的背景噪声是通信系统中噪声干扰的主要来源。
当语音信号受到背景噪声干扰时语音通信质量变得不可接受,因此要对语音信号中的噪声滤除。
DSP利用直接存储器访问方式DMA(Direct Memory Access)采集数据时不打扰CPU,因此利用DMA方式工作时,CPU可以对语音信号进行实时地滤波。
本设计要求利用DSP的DMA方式进行信号采集和信号输出,对语音信号进行数字编码,滤波后进行解码。
2、设计要求及目标基本部分:(1)对DMA进行初始化;(2)对A/D、D/A进行初始化;(3)编写DMA中断服务程序和滤波算法程序,实现语音信号的实时滤波;发挥部分:(1)使用DSP产生带回波的语音信号;(2)利用自适应滤波实现语音信号的回波对消。
3、设计思路首先利用DSP的DMA方式对外部含噪声的语音信号进行实时采集,语音信号先经过A/D转换为数字信号,利用MCBSP的接收寄存器接收数据。
编写滤波算法程序,或调用DSPLIB中的滤波函数,对信号进行滤波。
滤波后的数据利用DMA方式送到D/A转换器转换为模拟信号。
4、要求完成的任务(1)编写C语言程序,并在CCS集成开发环境下调试通过;(2)将包含噪声的语音信号进行滤波,从扬声器输出端口输出,比较滤波前后的信号的变化;(3)按要求撰写设计报告。
二、设计容随着现代科学的蓬勃发展,人类社会愈来愈显示出信息社会的特点。
通信或信息交换已成为人类社会存在的必要条件,正如衣食住行对人类是必要的一样。
语音作为语言的声学表现,是人类交流信息最自然、最有效、最方便的手段之一。
然而,人们在语音通信过程中不可避免地会受到来自周围环境和传输媒介引入的噪声、通信设备部电噪声、乃至其他讲话者的干扰。
这些干扰最终将使接收者接收到的语音不再是纯净的原始语音,而是被噪声污染过的带有噪声的语音信号。
例如,汽车、街道、机场中的,常受到强背景噪声的干扰,严重影响通话质量。
而环境噪声的污染使得许多语音处理系统的性能急剧恶化。
例如,语音识别已取得重大进展,正步入使用阶段。
但目前语音识别系统大多都是在安静环境中工作的,在噪声环境中尤其是强噪声环境,语音识别系统的识别率将受到严重影响。
在上述情况下,必须加入语音增强系统,或者抑制背景噪声,以提高语音通信质量,或者作为预处理器,以提高语音处理系统的抗干扰能力,维持系统性能。
因此,语音增强技术在实际中有重要价值。
目前,语音增强已在语音处理系统、通信技术、多媒体技术、数字化家电等领域得到了越来越广泛的应用。
三、设计方案、算法原理说明1、信道干扰滤波部分首先利用DSP的DMA方式对外部含噪声的语音信号进行实时采集,语音信号先经过A/D转换为数字信号,利用MCBSP的接收寄存器接收数据。
编写滤波算法程序,或调用DSPLIB中的滤波函数,对信号进行滤波。
滤波后的数据利用DMA方式送到D/A转换器转换为模拟信号。
这就是我们的设计思路。
具体的设计方案原理图如下。
模拟输入信号通过DSK的MIC端口输入,经A/D 转换,然后到达DSP的DMA通道2,DSP接收到信号后,调用中断服务程序进行滤波,滤波后的信号可以在CCS上显示,也可以通过DMA通道3将信号输出到D/A转换器,经D/A转换后从SPEAKER端口输出。
(1)直接存储器访问DMA直接存储器访问(Direct Memory Access)是C54x DSP非常重要的片上外设,DMA控制器可以在不影响CPU的情况下完成数据的传输,因此数据传输速度快,在要求信号实时采集和处理的系统中常采用DMA方式进行信号采集和传输。
C5402有6个可独立编程的DMA通道,每个DMA通道受各自的5个16位寄存器控制:源地址寄存器DMSRC、目的地址寄存器DMDST、单元计数寄存器DMCTR、同步事件和计数寄存器DMSFC、发送模式控制寄存器DMMCR。
目的地址寄存器DMDST规定DMA要传送数据目的地址和首地址。
单元计数寄存器DMCTR规定DMA传送数据的个数为DMCTR寄存器的值加1。
同步事件和桢计数寄存器DMSFC规定DMA传送数据的同步事件类型和传送一块数据所含桢信号的个数。
发送模式控制寄存器DMMCR规定DMA通道的传输模式,当DMA工作在自动初始化模式时,CPU在一个DMA事件完成后自动装载下一个DMA初始化设置并继续进行数据传送。
DINM位和IMOD位设置DMA中断产生方式。
CTMOD位设置发送计数模式控制,CTMOD位为0时,DMA工作在多桢模式,CTMOD位为1时,DMA工作在自动缓冲ABU模式。
SIND位和DIND位用来设置源地址和目的地址的自动调整方式。
此外,DMA的6个通道还受通道优先级和使能控制寄存器DMPREC控制。
本实验利用DMA通道2与MCBSP1通道结合来读取A/D转换器的数据,利用DMA通道3与MCBSP1通道结合来将处理后的数据发送至D/A转换器。
选择MCBSP1通道的接收寄存器DRR11(41H)为DMA传送数据的首地址,并选择DMA源地址工作在不调整方式,选择MCBSP1接收事件为DMA同步事件,以实现DMA和MCBSP的结合。
A/D转换器的数据按MCBSP1的设置被传送到DSP部接收寄存器DRR11中,再由DMA通道2将DRR11中的数据读到指定数据存储区inp_buffer中完成数据采集。
DMA在传送外部来的数据时不会影响CPU的正常运行,当DMA通道2采集完一组数据后产生一个DMA中断事件中断CPU,来通知CPU对其进行相应的处理,此时DMA通道2可以按照设定继续采集下一组数据,实现了数据采集与CPU处理的并行操作。
当一组数据处理完成后,将数据存放在数据存储区out_buffer中,选择out_buffer为DMA通道3的首地址,并选择源工作地址工作在不调整方式。
选择MCBSP1通道的发送积存器DXR11(43H)为DMA通道3传送数据的目的地址,并选择DMA源地址工作在不调整方式,选择MCBSP1接收事件为DMA同步事件,以实现DMA和MCBSP的结合。
在CCS集成开发环境中,与DMA相关的头文件有regs54xx.h和dma54xx.h。
在这两个头文件中,定义了DMA的寄存器资源、使用方法和DMA寄存器的地址和基本访问方式,以及寄存器的各个比特域和访问方法,因此需要进行C源程序的开始处包含这两个头文件。
输入信号经A/D转换后,利用DMA通道2进行传输进入DSP处理,而滤波后的信号输出利用了DMA通道3进行传输进入D/A转换器等输出,因此需要对DMA通道2和通道3进行初始化配置。
(2)A/D和D/A转换器本实验要用到A/D和D/A转换器。
A/D转换器能够将接收的语音信号(模拟信号)转化为数字信号,供CPU进行处理;D/A转换器能够将数字信号转换为语音信号送SPEAKER端口输出。
要使用A/D和D/A转换器,必须首先对A/D和D/A转换器进行初始化设置,即设置A/D转换器的工作模式(15+1bit模式,16bit模式)、输入增益(0dB,6Db,12dB)以及抽样频率(8000Hz,16000Hz)等。
2、回波去噪部分初始化FIR延迟输出数组dbuffer_h[]、FIR输出数组、自适应滤波器系数矢量coff_w[]和自适应滤波器的输出数组out_w[]以及DSK板之后,采集输入的语音信号,根据模式的不同进行不同的处理以输出不同的信号来进行效果的比较。
我们的做法是利用设置参数mode来改变板子的功能。
mode=1时信号通过FIR滤波器后产生回声,为使现象更明显可以附加一个延迟;mode=2时用自适应滤波器逼近FIR滤波器以使之输出近似的信号,用信号通过两个系统产生的信号之差(即剩余回声)来调整自适应滤波器的系数,使剩余回声逐渐收敛于0。
(1)自适应滤波器的基本原理:自适应滤波原理:利用前一时刻获得的滤波结果,自动调节现时刻的滤波器参数,以适应信号和噪声的未知特性,从而实现最优滤波。
自适应滤波器主要由系数可调的数字滤波器和调整滤波器系数的自适应算法两部分构成.自适应滤波器的一般结构如图l所示.自适应滤波其最重要的性能是能有效地在未知环境中跟踪时变的输入信号,使输出信号达到最优。
因而在电信、雷达、声纳、实时控制以及图像处理等领域都有成功的应用。
常规滤波器具有特定的特性,对于输入信号根据这个滤波器特性产生相应的输出。
也就是,先有了滤波器构成的权系数,然后决定相应输出值。
但有些实际应用往往是反过来要求的,即对滤波器输出的要求是明确的,而滤波器特性是无法预先知道的。
例如长话系统,回波相消器的理想输出是无回波信号,这个要求是明确的,而系统本身却不能一开始就确定下来,因为它取决于长话系统话路传输条件的变化,像这样的应用技术就必须依赖自适应滤波技术。
图l 中d(n)为期望响应,x(n)为自适应滤波器的输入,y(n)为自适应滤波器的输出, e(n)为估计误差,P(n)= x(n)-y(n).前置级完成跟踪信号的选择,确定是信号还是噪声;后置级根据前置级的不同选择对数字滤波器输出作不同的处理,以得到信号输出.自适应滤波器的滤波器系数受误差信号e(n)控制,根据e(n)的值和自适应算法自动调整.(2)回声消除器的基本原理:回声消除的基本原理是采用一个自适应滤渡器自动识别回声通道,通过自适应滤波算法的调整,使其冲激响应与实际回声路径逼近,从而得到回声预测信号y(n),再将预测信号从近端采样的语音信号d(n)中减去,即可实现回声消除。
自适应算法要求收敛速度快、计算复杂度低、稳定性好和失调误差小。
虽然许多自适应算法在理论上实现回声消除都是可行的,但通常采用的是较简单的算法。
例如广泛应用的LMS 自适应算法。
(3)LMS 算法:本设计中自适应算法是根据最小均方误差判据来设计的,即理想信号与滤波器输出之差的平方值的期望值最小,并且根据这个判据来修改权系数。
均方误差ε表示为 ε△E[e2(n)]=E[d(n)-y(n)]2对于横向结构滤波器,代入y(n)的表达式,有ε= E[d2(n)]+WT(n)RW(n)-2 WT(n)P其中,R = E[X(n) XT(n)]是N*N 的自相关矩阵,它是输入信号采样值间的相关性矩阵。