APP下载

基于DSP的语音处理的硬件设计与软件实现*

2010-04-26

舰船电子工程 2010年10期
关键词:寄存器串口滤波器

周 发 尉 宇

(武汉科技大学信息科学与工程学院 武汉 430081)

1 引言

语音处理是信息高速公路、多媒体技术、办公自动化、现代通信及职能系统等新兴领域应用的核心技术之一。用数字化的方法进行语音的传送、存储、分析、识别、合成、增强等是整个数字化通信网中的最重要、最基本的组成部分之一[1]。一个完备的语音信号处理系统不但要具有语音信号的采集和回放功能,还要能够进行复杂的语音信号分析和处理。通常这些信号处理算法的运算量很大,而且又要满足实时的快速高效处理要求,随着DSP技术的发展,以DSP为内核的设备越来越多。本文采用定点DSP芯TMS320C5402作为CPU,完成对语音信号的采集和滤波处理[2]。

2 语音采集系统的设计

1)系统总体设计

语音采集与处理系统主要包括三个部分:TMS320C5402 、T LC320AD50 、存储器模块 。系统硬件结构如图1所示。本文设计选用TLC320AD50完成语音处理的A/D转换和D/A转换。AD50是 TI公司生产的一款集成有A/D和D/A的芯片,DSP与AD50连接后,可以只使用一个缓冲串口来同时现实数据的采集和输出,从而节省了DSP的硬件开销。因此,DSP与音频AD50的连接使用在音频信号处理中得到了广泛的应用[3]。

2)接口电路

图1 系统总体框图

DSP设备与AD50设备的连接方法如图2所示。

图2 系统的接口连接

C5402有 2个 McBSP多通道缓冲串口。McBSP提供了全双工的通信机制,以及双缓存的发送寄存器和三缓存的接受寄存器,允许连续的数据流传输,数据长度可以为 8、12、16、20、24、32,同时还提供了A律和μ律的压缩扩展。数据信号经DR和DX引脚与外设通信,控制信号 由 CLX、CLKR、FSX、FSR四个引脚来实现。CPU和DMA控制器可以读取DRR[1,2]的数据实现接收,可以对DXR[1,2]写入数据实现发送。此时可以通过串口控制寄存器SPCR[1,2]和引脚控制寄存器PCR用来配置串口,用RCR[1,2]和XCR[1,2]用来设置接收通道和发送通道的参数,用SRGR[1,2]来设置采样率。这些都可以通过软件编程来实现[4]。

AD50控制寄存器的设置必须在二次通信中完成。AD50有硬件和软件两种方式启动二次通信。本文采用软件触发的方式,因此FC必须接地。即数据格式为15+1时,最低位 LSB被确认为高电平。最后一位标记下一个数据是否为二次通信数据,1表示是,0表示否。通过两次通信可以对AD50的四个控制寄存器的读写。在二次通信中,D0~D7为写入控制寄存器的数据或者从控制寄存器读出的数据,D8~D12的内容决定选择哪个控制寄存器,D13位决定是读操作还是写操作[5]。

3)语音采集

语音信号的采集是通过话筒经模拟放大输入到AD50,AD50作相应的低频滤波并进行A/D转化,再通过McBSP通道输入DSP芯片。语音信号采集程序包括以下几个部分[5]:

(1)DSP的初始化。对DSP的寄存器以及缓冲串口进行初始化。

(2)AD50的初始化。通过DSP的缓冲串口和二次通信对AD50的四个控制寄存器设置,确定AD50的四个控制寄存器设置正确后,AD50才能开始采集数据。

(3)设置DSP的中断,从缓冲串口读取数据。如果此时在缓冲串口连续读取数据,就可以在仿真软件CCS中查看读取的数据是否正确。

(4)DSP存放数据。可以将缓冲串口读取的数据存放到DSP的RAM 单元,连续存放。

3 系统的软件实现

1)FIR滤波器的设计

在频率方面,人的声音是在800Hz~1100Hz。本文采用FIR设计一个低通滤波器,将1200Hz的高频噪声滤波[6]。

3.1 FIR滤波的原理

FIR滤波器的系统函数为:

假设FIR滤波器的系数为h(0),h(1),…,h(N-1),x(n)表示滤波器在n时刻的输入,则n时刻的输出为:

FIR滤波器的设计可以用MAT LAB窗函数法进行,例如选择Hamming窗,其程序为:b=f ir1(16,1200/8000*2),这里采用8000Hz的采样率,阶数为17,从而得到数字滤波器的系数,由于在DSP汇编语言中,不能直接输入十进制的小数,可以在MAT LAB中进行如下转换:b=round(b*2∧15),这样就将系数转换为 Q15的定点小数形式[7]。

可以用DSP的乘加指令完成,采用循环缓冲区法完成程序。部分滤波程序如下:

软件流程图如图3所示。

2)仿真结果

比较图4和图5,可以看到1200Hz以上的频谱明显得到了抑制。

4 结语

文中介绍了DSP芯片和AD50芯片的数据采集处理系统的设计和实现,实践证明,可以较好地实现语音滤波。满足了语音处理的要求,与DSP接口简单,高性能,低功耗,广泛应用在音频处理,语音增强,语音安全,回声抵消等电话或语音应用领域[9]。

[1]李利.DSP原理及应用[M].北京:中国水利水电出版社,2004

[2]王安民,陈明欣,朱明.TMS320C54xx DSP实用技术[M].北京:清华大学出版社,2007

[3]彭启琮,李玉柏.DSP技术[M].成都:电子科技大学出版社,1997

[4]李宏伟,等.基于帧间重叠谱减法的语音增强方法[J].解放军理工大学学报,2001(1):41~44

[5]Texas Instruments Incorporated.TMS320C54x系列DSP的CPU与外设[M].梁晓雯,裴小平,李玉虎,译.北京:清华大学出版社,2006

[6]赵力.语音信号处理[M].北京:机械工业出版社,2003

[7]江涛,朱光喜.基于 TMS320VC5402的音频信号采集与系统处理[J].电子技术应用,2002,28(7):70~72

[8] TexasInstruments Incorporated:TMS320VC5402 Datasheet,2001

[9]戴明帧,周建江.TMS320C54xDSP结构、原理及应用[M].北京:北航出版社,2002

猜你喜欢

寄存器串口滤波器
基于NPORT的地面综合气象观测系统通信测试方法及故障处理
Lite寄存器模型的设计与实现
基于EM9000工控板高性能双串口通信模型设计与实现
从滤波器理解卷积
二进制翻译中动静结合的寄存器分配优化方法
开关电源EMI滤波器的应用方法探讨
一种微带交指滤波器的仿真
移位寄存器及算术运算应用
船舶电子设备串口数据的软件共享方法
基于TMS320C6678的SAR方位向预滤波器的并行实现