多制式语音编码及其DSP实现

时间:2023-03-18 20:23:44 理工毕业论文 我要投稿
  • 相关推荐

多制式语音编码及其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 算法选择的硬件中断与标志位设置

INT0直通,无编码转换flag2=0 flag1=0INT1G.729aflag2=0 flag1=1INT216kbps CVSD

【多制式语音编码及其DSP实现】相关文章:

Video Object编码技术05-29

浅谈企业并购中的管理协同效应及其实现论文(精选5篇)04-29

小议3D 视频编码传输技术05-07

试论诚信及其价值06-01

论文写作及其研究的特点06-19

隐私权及其探究06-03

韩愈的师说及其影响10-19

都市频道制作网的设计与实现05-29

基于dsp三相变流器滑模变结构控制(c)06-03

论文答辩问题及其答案07-26