- 相关推荐
多制式语音编码及其DSP实现
摘要:介绍了一种多制式语音编解码器,在单片TMS320VC5409上完成4路语音的全双工通信,并实现G.729a、CVSD、ADPCM算法之间的编码转换,给出了算法的软硬件实现、算法的运算量及所占用的硬件资源。在各种通信设备中,实时的语音压缩通常在DSP上实现。单一编码算法,由于码率和算法固定,系统的灵活性较差。越来越多的通信服务要求能实现多种、多路编码算法,提供一定范围内的编码速率和编码算法的多种选择,例如软件无线电、IP电话、多媒体终端等。
G.729a是ITU制定的一种高质量的中速率语音编码标准,编码速率为8kbps,目前已在许多通信系统中得到了应用。16/32kbps的CVSD是一种抗信道误码非常好的语音编码算法,在军事通信、宇航通信中得到了广泛的应用。32kbps的ADPCM是一种算法较简单的波形编码,具有良好的话音质量和抗噪性能,在卫星通信、数字话路倍增系统中得到了广泛应用。综合了这三种算法的编码系统,在8kbps~32kbps码率具有较高的灵活性。
由于语音压缩的运算量、存储量和精度要求都不太高,在考虑价格因素的基础上,定点DSP足以胜任语音编解码的要求。本文采用了TI公司的TMS320VC5409定点DSP实现了上述三种语音编解码算法。算法DSP的实现通过了有关测试。其中G.729a和ADPCM采用ITUT有关建议提供的测试序列进行了测试,CVSD按照我国有关标准进行了测试。
本文对以上三种语音编码和TMS320VC5409做简单介绍后,对算法的软件和硬件实现进行介绍,并给出算法所需运算量以及所占用的硬件资源。
1 DSP芯片和语音编码算法
(1)TMS320VC5409简介
TMS320VC5409是TI公司生产的一种性价比较高的定点DSP芯片,运算速度为80MIPS/100MIPS。它拥有改进的喻佛结构、一个CPU、片上存储区(32KB的ROM和64KB的DARAM)、片上外设以及专用的指令结构。它具有以下主优点:
·1条程序总线和3条数据总线。配合存储区的双操作数读取能力,可以支持单周期,三操作数指令,提高了程序的运行和通用性;
·先进的针对应用设计的CPU硬件逻辑提高了芯片的性能;
·高度专用的指令结构提供了更快的算法实现和更方便的优化;
·片上外设包括3个McBSP(多通道缓冲串口)、一个6通道的DMA控制器、8bit HPI口及锁相环时钟发生器;
·模块化结构方便了快速的后续发展;
·先进的IC处理技术实现了高性能和低功耗,5V静态CMOS技术进一步降低了功耗。
(2)G.729a算法
G.729是ITU在8kbps速率上的标准,采用“共轭结构代数码来激励线性预测编码方案”(C-ASCELP)算法。这种算法综合了波形编码和参数编码的优点,以线性预测编码技术为基础,采用了矢量量化、分析合成和感觉加权等技术。G.729a只在G.729的基础上减少了一些运算量,保持了兼容性,质量也基本没有下降。
(3)32kbps ADPCM算法
G726是ITU制定的自适应差分脉冲编码算法标准,有4种速率。在此项目中,使用32kbps的速率。ADPCM算法是一种波形编码,它在PCM编码的基础上引入了预测和差分的概念,仅对实际值民预测值之间的差值进行编码。在编码过程,用过去样点的值对当产点进行预测,并自适应地调整预测系数数,使预测误差很小,从而在降低码率的同时,保持了很高编码质量。
(4)CVSD(32kbps/16kbps)算法
连续可变分辩率增量调制,是一种1bit的差分波形编码方式。自适用的量阶随信号统计特性的变化而变化,在信号很大动态范围内,可获得最大信噪比。并且易于实现,电路结构简单。
主要技术:三连0/三连1检测,即若检测到码流中有三连0或三连1,则表示信号在骤升或骤降,调整量阶以适应信号变化。
2 硬件系统
(1)硬件板介绍
在发端,模拟信号通过前端处理电路和A/D采样,转换成8bit A-law PCM信号。对数PCM信号在TMS320VC5409中转换线性码,并进行压缩编码。输出的G.729a/ADPCM/CVSD编流在信道上传输。
接收端接收到的压缩码流在DSP中被解码成对数PCM信号,再经过D/A变换和用户电路,最终得到模拟话音。其中CPLD用来产生8kHz的帧同步信号,使各硬件芯片之间协同工作。
A/D、D/A部分采用单片MC14557芯片。单路信号的硬件系统框图如图1所示。
(2)算法的硬件选择
程序定义了两个标志变理flag1、flag2。利用VC5409提供的可屏蔽中断INT0~INT3,在中断服务例程中对2个标志位进行设置,从而控制主程序的跳转。
系统加电后,INT0~INT3其中一个管脚给出中断请求信号,程序执行中检测到哪个中断,就执行该中断对应的编码算法。接着,主程序对IMR寄存器置位以屏蔽这些中断,直至下次系统复位。其中INT0中断在测试中是无编码转换的跳转,但在应用中用于选择32kbps的CVSD算法。表1是算法选择的硬件中断与标志位设置。
表1 算法选择的硬件中断与标志位设置
【多制式语音编码及其DSP实现】相关文章:
G.723.1语音编码标准在TI OMAP上的实现03-30
基于TMS320C549DSP实现CVSD语音编解码03-07
FFT算法的研究与DSP实现03-07
基于DSP的语音处理系统的设计11-22
语音处理芯片AC48105在低速语音编码设备中的应用03-18
CF卡与双核DSP的实现03-18
自适应算术编码的FPGA实现03-18
DNP3.0在基于DSP的FTU中的实现03-18
动态语音频谱演示软件的设计与实现03-07