基于CMX618的数字语音通信系统

相关专题: 无线 芯片

0 引 言

近年来,通信事业发展迅速,各种新技术相继出现,使人们对通信质量的要求更为苛刻,以致频谱资源越来越紧张。在保证良好通信质量的情况下,如何提高频谱利用率,已经成为一个难题。通信系统中,语音编码技术是移动通信数字化的基础,语音编码决定了接收的语音质量和系统容量。低比特率语音编码提供了解决该问题的一种方法,在编码器能够传送高质量语音的前提下,语音编解码比特率越低,就可以在一定的带宽内容纳更多的语音通道。因此,人们不断地寻求新的编码方法,以求在低比特率的前提下,提供较高的语音质量。

英国CML公司推出的语音编解码芯片CMX618,能够以较低的比特率进行编解码处理,并保证很高的语音质量。在此基于CMX618设计实现了一个数字语音通信系统,该系统结构简单,但功能强大,而且它的工作电压很低,功耗很小,非常适合通信领域开发使用。

l CMX618功能与特点

1.1 RALCWI算法

CMX618是接近长话级的半双工语音编解码芯片,通过一种新的数据速率算法技术——RALCWI技术,对语音进行编解码处理。RALCWI是一种鲁棒的先进的复杂性波形插入技术,与其他语音编解码技术不同,它使用独有的信号分解和参数编码方法,可确保在较高的压缩率下有很好的语音质量。在声码器中,采用RALCWI技术实现的语音质量与编码位速率在4 Kb/s以上的标准声码器话音质量基本相符。它的MOS(平均意见得分)处于3.5~3.6之间,而且表现相当优秀。

RALCWI声码器以帧一帧为基础进行传输。在8 kHz的采样速率下,对语音信号进行分帧处理,每帧语音包含160个采样点,形成20 ms的元语音帧。语音编码器以较高的计时分辨率(8次/帧)进行语音分析,对每一个语音段都会生成一系列的评估参数。然后,使用不同的矢量量化(VQ)方法,这些估算参数被量化生成41 b,48 b或55 b的帧。值得一提的是,这些向量量化值是以多语言语音为基础进行混合编排的,包含了东西方多种语言的语音采样值。

1.2 芯片主要功能及特点

CMX618语音编解码芯片体积小,性能高,功耗低,其具体特点如下:

(1)编码时,有三种位速率可供选择(2 050 b/s,2 400 b/s或者2 750 b/s)。在选择前向纠错编码(FEC)的情况下,可通过信道编码和交织处理形成3 600 b/s的位数据流(60 ms/216 b的数据包或80 ms/288 b数据包)。

(2)解码时,可选择前向纠错(FEC)解码器对输入编码后的语音位流(216 b/60 ms或者288 b/80 ms的数据包)进行解交织和信道解码,生成纠错后的编码语音位速率为2 050 b/s,2 400 b/s或者2 750 b/s,速率依据所选的模块而定。当使用FEC解码器时,可利用“软决策”方法增强解码功能,减小误码的产生。

(3)内部含有一个集成的语音压缩/解压器(CODEC),实现模拟语音到低位速率编码的压缩/解压过程。

(4)芯片大部分功能,均可通过软件编程的方式,配置内部的寄存器来实现,简单方便。

(5)具有非连续发送检测(DTX)、舒适噪声生成器(CNG)、语音激活检测(VAD)和双音多频信号检测(DTMF)的检测和产生等辅助功能,使语音性能达到最佳。

1.3 CMX618工作原理

CMX618内部结构图如图1所示。

由结构图可以看出,CMX618主要由音频压缩/解压器(CODEC)、RALCWI编解码器、前向纠错编解码器和其他特殊功能模块几部分组成。

编码时,输入的模拟语音首先要经过音频压缩/解压器(CODEC)模块,进行调节增益、A/D转换、滤波和压缩处理,然后进入编码器中开始编码。编码后,如果选择使用前向纠错(FEC)功能,则会对编码进行纠错处理,尽量消除误码。这样,编码后的语音数据,按选择的位速率和帧的结构生成数据包,利用C-BUS串行总线,传输到微控制器LPC2138中。

解码是编码的逆处理过程。经C-BUS串行总线传输的数字语音,进入解码器(可选择FEC功能)开始解码,然后经过解压、滤波、D/A转换、调节增益等处理后,就成为可以听到的模拟语音。另外,在编码和解码期间,如果选择一些辅助功能,例如非连续发送检测(DTX)、语音激活检测(VAD)或双音多频信号检测(DTMF)时则需另行处理。

2 系统设计实现

2.1 微控制器

ARM微控制器具有内核耗电少,功能强,成本低等优点,现在多应用于无线通信、GPS、智能手机开发等诸多领域。这里选用PHILIPS公司的LPC2138作为数字语音通信模块的主控制器。LPC2138是一个基于支持实时仿真和嵌入式跟踪的32位ARM7TDMI-SCPU的微控制器芯片,较小的封装和很低的功耗使LPC2138特别适用于小型系统中。此外,由于LPC2138片内集成了ROM,RAM,A/D和多个外设模块,如通用I/O口、定时器、串行口等,因此非常适合于通信网关、协议转换器、软件modem、语音识别、低端成像等场合,为这些应用提供大规模的缓冲区和强大的处理功能。

2.2 系统的硬件设计与实现

基于CMX618的语音通信模块主要由语音编解码器CMX618和LPC2138组成,如图2所示。

该语音通信系统使用CMX618内置的CODEC模块,其内部集成了A/D和D/A转换、通道滤波、增益调节等功能,足以满足对模拟语音的抽样、量化等操作的指标要求。因此,无需再外接芯片,也节省了大量的物理空间,这在实际的开发设计中是十分重要的。

微控制器LPC2138通过C-BUS串行总线与CMX618连接。C-BuS是一个四线中断一驱动串行系统,可在主控制器和CMX618内部寄存器间进行数据传输、控制或状态信息的发送。

2.3 系统的软件设计与实现

系统的软件设计主要是编写CMX618的驱动程序,以及对主控制器LPC2138进行编程实现对CMX618的控制。在上电后,首先应初始化CMX618和LPC2138。对语音编解码芯片,要配置其中的一些功能寄存器,这包括设置编解码位速率、组帧结构、增益大小、辅助功能选用以及开启中断标志位等;对主控制芯片,则要配置接口方式、中断条件和传输速率等。

作者:柴政,谢晓明,李 博 来源:现代电子技术


微信扫描分享本文到朋友圈
扫码关注5G通信官方公众号,免费领取以下5G精品资料

本周热点本月热点

 

  最热通信招聘

  最新招聘信息

最新技术文章

最新论坛贴子