APP下载

AMBE-2000TM在双路语音编解码器中的应用

2012-08-04徐贵贤

通信技术 2012年3期
关键词:码流话音编解码

徐贵贤,苏 旸

(中国电子科技集团公司第三十研究所,四川 成都 610041)

0 引言

语音的数字化又叫语音编解码,就是将原始模拟话音转换成 1、0 数据流在信道中进行传输,在接收端再用此 1、0 数据流重建模拟语音。语音编码技术可以分为波形编码、参数编码和介于两者之间的混合编码三大类[1]。波形编码具有抗噪性能强、语音质量好等优点.但所需的编码速率较高,一般在16~64 kb/s,典型的编码方式有自适应差分脉冲编码调制(ADPCMA,Adaptive Diflerential Pulse Code Modulation)、连续可变斜率增量调制(CVSD,Continuously Variable Slope Delta Modulation)。参数编码的特点是编码速率低,可以达到1.2~2.4 kb/s,甚至更低。但是通常它的重建语音自然度不够好,鲁棒性差,算法复杂。混合编码器结合了上述两种方法的优点,在较低的比特率上能获得较高的语音质量[2],当前正在得到人们较大的关注;多带激励(MBE, Multi-Band Excitation)、码本激励线性预测(CELP, Code-Excited Linear Prediction)等技术尤其是加载了增强型多带激励(AMBE, Advanced Multi-Band Excitation)算法的芯片得到了较广泛的应用。文中设计的8 kb/s的语音编解码器就是采用AMBE-2000芯片实现的。

1 AMBE-2000简介

1.1 基本特点和工作原理

AMBE-2000芯片是DVSI公司加载了AMBE算法的第二代芯片,它具有语音质量好、对环境适应能力强[1]的特点,其简化模型及基本应用框图如图 1所示[5],它可以被看做由编码器和解码器两个独立模块构成。编码器接收8 kHz的话音数据流和输出一个期望的波特率的信道数据流;反之,解码器接收一个信道数据流并合成一个语音数据流。AMBE-2000的编码器和解码器的接口时序是完全异步的[4],工作是同步的。在标准模式下,每 20 ms编码器输出一帧话音数据,同时解码器接收一帧话音数据。这就需要在编码器和解码器之间建立某种通信协议来确保信息传输的可靠性。通常这种通信协议有2种:帧格式和非帧格式[3]。

图1 AMBE-2000的简化模型及基本应用框

1.2 关键管脚信号介绍

AMBE-2000可以通过管脚信号灵活配置工作方式,现简要介绍一下关键管脚信号的功能和配置方式。

CHAN_SEL[1:0]:CHAN_SEL1用于设置传输码流的串口的工作方式,0是主动模式,1是被动模式;CHAN_SEL0用于设置码流格式,0是有帧格式的,1是无帧格式的。

BAUD_SEL[1:0]:无帧码流波特率配置管脚,用于设置每16位字数据中的有效码流bit数。00~11分别表示有 1,2,3,4bit有效码流,有效码流从 16位字数据的最高位开始。

CODEC_SEL[1:0]:AD/DA接口配置管脚,用于选择AD/DA类型;RATE[4:0]:编解码速率配置管脚,用于选择编解码速率,其对应关系分别见参考文献[5]的 Table 6-A、Table 7-B。变编解码速率在芯片复位后还可以通过发送有帧格式的数据包来改变。另外 VAD_EN是话音激活检测使能管脚,ECHOCAN_ EN是回声抵消使能管脚,SLIP_EN是容时钟抖动使能管脚等。所有管脚都可以通过硬件直接配置,也可以通过软件设置控制字实现。

2 双路语音编解码器设计及实现

2.1 设计输入

根据系统需求,要求设计一双路话音编解码器,编解码速率8 kb/s,A路话音的主要外部接口信号定义如表1所示,B路话音接口信号与A路话音完全相同。外部接口包括数字接口和模拟接口两部分,分布在两个16和14芯的接插件上,数字接口采用TTL电平,主要包括码流时钟,系统时钟,码流输入,码流输出以及外部复位信号。模拟接口主要包括模拟话音输入,模拟话音输出以及电源和地。

2.2 系统设计

根据 AMBE-2000的工作原理,使用该芯片设计实现的具有双路话音通道的编解码器的原理框图如图2所示。从图中可以看出,两路话音使用了 4片AMBE-2000,每片芯片只使用了编码或解码功能,码流的收发时钟完全独立,这是因为编码和解码功能相互影响,当其中一个功能异常死机时会导致另一个功能也出现死机现象。这样将每路话音的编解码分开,可以保证话音编解码通道能完全独立正常工作。

表1 外部接口信号定义

图2 双路语音编解码器原理框

由表1可知编解码器的收发码流时钟和帧时钟都是由外部提供的,且外部码流收发时钟为8 kHz,与编解码速率一样,外部帧时钟为128 kHz,是码流时钟8 kHz的16倍,因此设置CHAN_SEL[1:0]=11,BAUD_SEL[1:0]=00,RATE[4:0]= 11010,使 AMBE-2000工作于被动无帧模式,每16位字中只有1 bit有效码流,编解码速率为8 Kb/s,无纠错编码。限于编解码器尺寸的要求,设计时没有使用CPU,只使用了一片可编程逻辑器件CPLD实现所有的控制及数据流的交互工作,因此设置CODEC_SEL[1:0]=01,AD/DA器件选用AD73311,直接将AD/DA的采样串口时钟和 AMBE-2000的串口时钟连接,二者的连接图如图3[5]所示。在开机后AMBE-2000直接发送配置命令到 AD73311,减少对AD/DA器件的额外配置要求。AD73311收到AMBE-2000的配置命令后,采样率变为32 kHz。其他几个管脚的配置为 VAD_EN=0,SLEEP_EN=0,SLIP_EN=0,SOFT_EN=1,除RATE[4:0]是由可编程逻辑的软件控制的,其他都是硬件电路直接接电源或地。模拟信号的处理电路参照文献[6]的Figure24和27进行设计,设计时要根据话音输入、输出频响特性的要求,在电路的前后端增加运放和滤波电路,这里不再详述。

图3 AMBE-2000和AD73311的连接

2.3 CPLD软件设计

图2中的处理单元由可编程逻辑器件CPLD实现,主要功能包括上电复位、两路码流的收发、配合其他硬件电路产生编解码同步时钟等。上电复位功能模块在上电后产生复位脉冲,和外部输入的复位信号一起对4片AD73311和AMBE-2000芯片进行复位,保证AMBE-2000配置AD73311的可靠性。

两路码流收发功能模块完全一样,分别使用两路话音的码流设置和帧时钟进行时序控制。图4和图5分别是A路话音编码的和A路话音解码的时序图,图中的SYSCLKXA、SCLKXA、103A、SYSCLKRA、SCLKRA、104A是表1中定义的接口信号,表示系统发时钟128 kHz、码流发时钟8 kHz、发送码流、时钟收时钟 128 kHz、码流收时钟 8 kHz、接收码流;CHAN_TX_DATA和CHAN_RX_DATA分别是ABME-2000第42,32管脚,表示编码码流输出和输入解码码流。编解码器和外部的数据接口时序是编解码时钟的下降沿发送。在图4中,CPLD程序在a时刻读取AMBE-2000的编码码流并在b时刻送到外部接口;在图5中,CPLD程序在a时刻读取码流数据并在b时刻送给AMBE-2000进行解码,两者都同时满足外部接口和 AMBE-2000的时序要求。下面重点讲述一下配合硬件电路产生同步时钟的功能设计。

图4 A路话音编码时序

图5 A路话音解码时序

2.4 同步时钟设计

码流的收发时钟和帧时钟是由外部提供的,如果采用常规的设计方案,编解码时钟直接由本地晶振提供,势必会存在2种时钟不匹配的情况,严重时会出现语音的断续;且AMBE-2000在非帧格式下,由于没有同步头,在正确合成语音波形前必须等待 10~12组话音数据包发送完,才能获得同步信号[3],对时钟的稳定度要求也很高。因此在设计时除要满足图4、图5的时序关系外还要重点考虑AMBE- 2000内部的编解码时钟与码流收发接口时钟时序的一致性,即要进行时钟的同步设计,通常采用锁相环来解决。

锁相环原理图如图 6示。图中的时钟源 SIGIN128 kHz系统帧时钟通过CPLD后直接提供,锁相环的输出时钟VCOOUT为16.384 MHz,一路经CPLD直接送ADDA作为主时钟,一路经CPLD分频后产生128 kHz的比较时钟COMPIN再回送给锁相环电路。锁相环参数的计算主要是确定与VCO输出频率有关的电阻R1,R2,电容C1的值以及环路滤波参数的值,即R3,R4及C2的值[7]。由于锁相环输出频率及环路滤波参数等指标是相互制约的,具体设计时需参照文献[8]中的Figure 11-47综合考虑。

图6 锁相环路原理

每路编解码通道的同步时钟是独立的,AMBE-2000的工作时钟不影响编解码的时序,直接由本地16.384 MHz的晶振提供,由于有4片AMBE-2000,为了保证驱动能力,将晶振通过CPLD分别在4个接口送出。

3 结语

由于 AMBE-2000速率可变、设置方便以及话音质量高的特点,在很多领域都得到了广泛应用。文中设计的编解码器已应用于在本单位的多款通信设备中,经实验和使用检验,性能良好,满足设计要求,得到了用户认可。

[1] 徐玉滨,王继东,沙学军.AMBE声码器特性分析及其应用.通信技术,2003(07):1-3.

[2] 李宇翀,刘凤荣,廖文彬.窄带语音通信系统的研究与设计[EB/OL]. (2011-10-25)[2011-12-20].http://www.elecfans.com.

[3] 刘斌,张欣.高效语音压缩芯片 AMBE-2000TM及其在语音压缩中的应用[J].现代电子技术,2002(03):83-85.

[4] 付君,张烁.基于 AMBE-2000芯片的通用语音处理系统[J]. 现代通信技术,2007(03):61-64.

[5] Digital Voice Systems,Inc.AMBE-2000™ Vocoder Chip User’s Manual Version 4.3[EB/OL].(2005-02-01)[2011-10-12]. http://www.dvsinc.com.

[6] Analog Devices, Inc.Low Cost, Low Power CMOS General Purpose Analog Front End AD73311[EB/OL].(1998-07-22)[2011-10-12].http://www.analog. com.

[7] 王跃球,唐杰.基于CD4046的新型频率跟踪移相PWM控制电路研究[J]. 航电技术,2006(06):25-28.

[8] Texas Instruments,Inc. CD54HC4046A,CD74HC4046A,CD54HCT4046A,CD74HCT4046A High-Speed CMOS Logic Phase-Locked Loop with VCO[EB/OL]. (2003-12-13)[2011-10-12]. http://www.ti.com.

猜你喜欢

码流话音编解码
数字电视TS码流协议简要分析
ASN.1 的PER 分层运行库系统的设计和实现
1553B总线控制器编解码设计
高清网络摄像机图像延迟分析及解决方案
为多重编解码世界做好准备
大型民机试飞遥测视频编解码方法研究
话音叠加中实时混音算法的FPGA实现
地空话音组网系统的应用及前景分析研究
分组话音在窄带信道的组播实现方案
一种比较ASN.1码流差异的方法