



语音编码是信源编码的一种,语音编码技术可以对直接采样的数字信号进行熵压缩,从而产生比较低的码率。数字集群通信系统中最多的信息是语音信号,因而语音编码技术在集群系统的研制中具有相当关键的作用,高质量低速率的语音编码技术为数字移动网提供了高于模拟移动网的系统容量。同时,考虑到移动信道的衰落将引起较高的信道误比特率,因而要求编码算法应有较好的语音质量和较短的延迟。欧洲电信标准委员会制定数字集群系统声码器选用代数码本激励线性预测ACELP(Algebraic Codebook Excitation Linear Prediction)语音编码算法。
ACELP算法简介
ACELP属于线性预测编码的一种,包含有激励信号和声道滤波器。在目前的ACELP中,激励信号来自两个方面:自适应码本和代数码本。自适应码本被用来描述语音信号的长时周期性(基音信息),代数码本则被用来逼近语音信号经过短时和长时预测后的线性预测余量信号。
ACELP编码器使用合成-分析技术来得到基音和激励码本参数,其工作过程如图1所示。在合成-分析技术中,通过计算所有可能激励通过合成滤波器产生合成语音,按感觉加权失真测度来挑选一个和原始语音信号最接近的合成语音。
ACELP语音编码器输入的是8KHz采样率16-bit分辨率的线性PCM信号,采用分帧技术进行编码,帧长为30ms,每帧经过编码后输出137-bit,总比特率为4.567kbps。每一语音帧分成4个子帧,每个子帧7.5ms,采用合成分析法,以最小均方预测误差准则(MMSE)作为搜索最佳码矢量及其增益的度量准则。
ACELP语音合成器基于码激励线性预测(CELP)模型,它的工作过程(解码器)如图2所示。在这个模型中,语音帧是将适当的激励通过两个时变滤波器来合成的。第一个滤波器是用于逼近语音信号伪周期特性的长时预测滤波器(基音滤波器),第二个滤波器是用于成形语音谱包络的短时预测滤波器。
系统的硬件设计
为了从原理上实现语音编解码,需要对语音数据进行编解码运算,还需要对话音进行模/数变换的设备以及程序存储器和数据存储器。为此系统采用高性能的数字信号处理器作为密集计算平台,采用CODEC完成语音的模拟量化和数模转换,系统设计有大容量的FLASH和SDRAM作为程序存贮和数据存贮,系统框图如图3所示。
综合系统对DSP的要求和一些实际因素,本系统选用TI公司的TMS320C6XXX系列来实现语音编解码。TI公司C6000系列,是该公司最高性能DSP的版本,性能非常优异,能满足语音处理对DSP的实时要求。
由于ACELP的编码采用16bit运算,故采用16位模/数变换器件。本系统CODEC选用TI公司TLC320AD535,该芯片是16-bit分辨率8-KHz采样率CODEC,内部包含有ADC、DAC和可变增益放大器。内部包含可变增益放大器,外围电路特别简单,极大地方便了系统的调试,可以将精力集中到算法上。
多通道缓冲串口(McBSP)完成DSP和CODEC之间的通信。一个标准的McBSP有六个信号线,分别是接收数据线、发送数据线、接收移位时钟、发送移位时钟、接收帧同步和发送帧同步。
系统工作流程如下:对于语音编码来说,语音信号通过麦克送到ADC中,ADC将模拟语音信号转换成线性PCM信号,然后通过McBSP接口被送到DSP后,DSP内部的EDMA控制器将每个采样点数据读入到编码缓冲区中,当EDMA通道接收到的数据达到一个语音帧时,即调用语音编码算法,编码后得到的压缩语音数据被送到SDRAM中存储起来或作其他处理。
对于语音解码来说,DSP将一帧压缩语音数据解码成线性PCM信号,该线性PCM数据被存放在解码缓冲区中,EDMA控制器按8000Hz的频率将线性PCM数据读出来,然后通过McBSP写到DAC,DAC将数字语音信号转换成模拟语音信号。当一帧的线性PCM数据被读完以后EDMA控制器将向DSP内核发出一个中断,DSP将下一帧的压缩语音数据解码到缓冲区中。
系统的软件设计
&
| 上一页 | [1] [2] | 下一页 |