• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 无线通信 > 技术文章 > 语音信号的A律编解码的DSP实现

语音信号的A律编解码的DSP实现

录入:edatop.com     点击:

摘要:本文介绍了G.711标准的A律压缩算法的基本原理,设计出了A律编解码的软件流程框图,在以TMS320VC5416为处理器的硬件开发平台上实现了语音信号的A律压缩解压算法,并给出了C54x的汇编语言程序。

0 引言

语言压缩技术既节省了存储时所占用的存储空间,又减少了传输时所占用的带宽,而快速发展的数字信号处理(DSP)技术使得实时实现各种复杂的语音压缩算法成为可能。

国际电信联盟(ITU)1972年制定出来的一套语音压缩标准称为G.7ll,主要用于公用电话网。它用脉冲编码调制(PCM)对语音信号采样,采样率为8kHz,比特率为64kb/s。该标准下主要有两种压缩算法,一种是μ律,另一种是A律。其中欧洲和中国等国家采用A律压缩算法,美国和日本等国家采用μ律压缩算法。

1 A律压缩算法简介

A律编码的数据对象是12位精度的二进制数,它保证了压缩后的数据有5位的精度并存储到一个字节(8位)中。A律符合下式的对数压缩方程:

\

式中,x为归一化的输入语音信号,y为压扩后的归一化输出信号,A为压缩参数取值。由于该方程是一条连续的光滑曲线,物理上实现比较复杂。在实用中一般用13段折线近似该曲线,此时选择AA=87.6。对PCM信号,一般地,输入的模拟语音信号经过低通滤波、放大和限幅后,然后进入A/D转换器编码,常用的编码方法有2的补码和折叠二进制码两种。表l是A律压缩编码规律表,其中只给出了在抽样值为正值时,A/D转换器输出的12位二进制数(补码)是如何压缩成8位二进制数的。

\

2 A律算法的硬件构成

采用合众达电子的SEED-DEC5416嵌入式DSP开发板作为实现A律算法的硬件开发平台,其系统结构原理如图1所示。主处理器选择的是1 6 bit定点DSP芯片TMS320vC5416,语音信号经过差分运算放大后送入ADC进行模数转换,采样率为8kHz,量化位数为12bit,转换后的数据送入McBSP,然后对McBSP中的数据进行压缩编码,压缩后的数据送入'C5416内部的DARAM保存,还可以直接解压后经McBSP送DAC,数模转换后再送入功放模块驱动扬声器发声。其中,McBSP与ADC/DAC之间的数据交换是靠ADC/DAC提供的移位信号和帧同步信号实现的。

\

3 A律算法的软件设计

在TI提供的开发工具CCS中进行源程序的编辑和调试,源程序采用'C54x系列的汇编语言编写。首先完成对DSP芯片必要的初始化、McBSP的初始化及开放McBSP中断,然后执行A律压缩解压算法。

一般地,用程序进行A律编码解码有两种方法:一种是查表法,这种方法程序代码小,执行速度快,但需要占用较多的内存以存储查找表(表的大小为212=4096个字),另一种方法是直接计算法,这种程序代码较多,执行速度慢一些,但可以节省内存空间。对照表l,可以画出A律压缩编码直接计算方法的流程如图2所示。待压缩的数据来自voidin变量空间(见附录1),该变量空间保存着McBSP中的数据,保存符号位就是将待压缩数据的位11放入压缩数据的位7,并通过测试位11决定是否对该数求补即对负数求绝对值(A/D转换后的数据用二进制补码表示),求绝对值的目的是为了减小直接对负值压缩时带来的量化误差。另外,还将两个8位的压缩数据组成一个16位的字保存至compress变量空间。

\

 

来源:维库开发网

上一篇:用FPGA+DSP实现HDLC(高级数据链路控制)功能
下一篇:基于FPGA的65nm芯片的设计方案

手机天线设计培训教程详情>>

手机天线设计培训教程 国内最全面、系统、专业的手机天线设计培训课程,没有之一;是您学习手机天线设计的最佳选择...【More..

射频和天线工程师培训课程详情>>

  网站地图