预览加载中,请您耐心等待几秒...
1/9
2/9
3/9
4/9
5/9
6/9
7/9
8/9
9/9

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

基于DSP的语音采集与FIR滤波器的设计与实现 摘要:介绍了一种基于TMS320C5402的语音采集与FIR数字滤波器的设计与实现,采用TLC320AD50作为语音CODEC模块的核心器件,简述了FIR数字滤波器的特点,以及其在DSP上实现的原理。利用TMS320C5402对采集到的语音信号进行FIR滤波,该系统具有较强的数据处理能力和灵活的接口电路,能够满足语音信号滤波的要求,可以扩展为语音信号处理的通用平台. 关键词:语音采集;FIR滤波器;TMS320C5402 数字信号处理是把数字或符号表示的序列,通过计算机或专用处理设备,用数字的方式去处理,以达到更符合人们要求的信号形式。而语音处理是数字信号处理最活跃的研究方向之一,在IP电话和多媒体通信中得到广泛应用.一个完备的语音信号处理系统不但要具有语音信号的采集和回放功能,还要能够进行复杂的语音信号分析和处理。通常这些信号处理算法的运算量很大,而且又要满足实时的快速高效处理要求,随着DSP技术的发展,以DSP为内核的设备越来越多,为语音信号的处理提供了优质可靠的平台.软件编程的灵活性给很多设备增加不同的功能提供了方便,利用软件在已有的硬件平台上实现不同的功能已成为一种趋势。本文设计了一个语音处理系统,采用定点DSP芯片TMS320C5402作为CPU,完成对语音信号的采集和滤波处理. 1语音采集系统的设计 1.1系统总体设计 语音采集与处理系统主要包括3个主要部分:以TMS320C5402为核心的数据处理模块;以TLC320AD50为核心的语音采集与编解码(CODEC)模块;用户根据需要扩展的存储器模块.系统硬件结构如图1所示. 1.1.1CODEC模块 本设计选用TLC320AD50(以下简称AD50)完成语音信号的A/D转换和D/A转换.AD50是TI公司生产的一款集成有A/D和D/A的音频芯片,DSP与音频AD50连接后,可使用一个缓冲串行口来同时实现语音信号的采集和输出,从而可以节省DSP的硬件开销.AD50使用过采样技术提供从数字信号到模拟信号和模拟信号到数字信号的高分辨率低速信号转换.该器件包括2个串行的同步转换通道,分别用于各自的数据传输.语音信号直接从AD50的模拟信号输入端输入,AD50对其进行采样,并将采样后的数据传送至DSP.DSP应用相应的算法对数据进行处理,并将处理后的数据传送到AD50的D/A输入端.AD50再对DSP处理后的数据进行数模转换,变为语音信号后输出到音响设备. 本系统中TLC320AD50与TMS320C5402之间采用串行通信,通过DSP芯片的MCBSP串口实现.接口电路如图2所示. 1.1.2MCBSP的工作原理 TMS320C5402有2个McBSP多通道缓存串行口.McBSP提供了全双工的通信机制,以及双缓存的发送寄存器和三缓存的接收寄存器,允许连续的数据流传输,数据长度可以为8、12、16、20、24、32;同时还提供了A律和L律压扩.数据信号经DR和DX引脚与外设通讯,控制信号则由CLKX、CLKR、FSX、FSR等4个引脚来实现[4].CPU和DMA控制器可以 读取DRR[1,2]的数据实现接收,并且可以对DXR[1,2]写入数据实现发送.串行口控制寄存器SPCR[1,2]和引脚控制寄存器PCR用来配置串行口;接收控制寄存器RCR[1,2]和发送控制寄存器XCR[1,2]用来设置接收通道和发送通道的参数;采样率发生器寄存器SRGR[1,2]用来设置采样率.TMS320C5402芯片串口控制寄存器功能强大,用户通过编程不但可以设置时钟信号的极性及输入输出方向,还可以设置同步信号的极性及输入输出方向. 1.1.3AD50与DSP的同步通信 在应用中,将TLC320AD50C接至DSP的同步串口,并将TLC320AD50设置在主动工作模式下,即由TLC320AD50提供帧同步信号和移位时钟,TMS320C5402的管脚电压为3.3V,可以与AD50直接相连.串口的移位时钟SCLK由AD发出,串行数据在SCLK的驱动下经DIN、DOUT移进、移出,在SCLK的下降沿采样DIN数据,在SCLK下降沿送出数据到DOUT.XF控制首次或二次通信,XF为低时是AD50的首次通信,是正常的AD、DA的数据;XF为高时是AD50的二次通信,这时可以读写AD50的4个寄存器.进入二次通信有软件的方法,即把AD50设为15+1位数据模式,最后一位标记下一个数据是否为二次通信数据,1表示是,0表示否. 一次通信格式的16位都用来传输数据.DAC的数据长度由寄存器1的D0位决定.启动和复位时,默认值为15+1模式,最后一位要求二次通信.如果工作在16位传输模式下,则必须由FC产生二次通信请求.二次通信格式则用来初始化和修改TLC320A