1 引言
语音压缩编码技术一直是在尽可能低的数码率下获得尽可能好的合成语音质量的矛盾中发展的。数码率实质上反映的是频带宽度,降低数码率实质上就是压缩频带宽度。近10年来,固定电话和移动通信高速发展,频率资源变得愈加宝贵,信道利用率成为一项关键因素,这促使语音压缩技术,即语音编码技术不断发展。在有线通信及移动通信、卫星通信和掌上电脑的语音传送应用中,语音编码依旧扮演着十分重要的角色。
基于多带激励(MBE)算法,1997年,美国数字语音系统公司(DVSI)研制出先进的多带激励(AMBE-Advanced MBE)语音双工编解码芯片AMBE-1000TM,AMBE算法是标准MBE的改进和补充。随后又推出AMBE-2000TM型语音压缩码电路。该压缩技术已被证明优于CELP,RELP,VSELP,MELP,ECELP,MP-MLQ,LPC-10及其他压缩技术。该语音电路能应用于包括数字移动通信系统在内的许多领域,如卫星通信、保密通信、语音多路技术、语音邮件、多媒体、IP电话等。
2 多带激励编码的原理
美国麻省理工学院(MIT)的D.W.Griffin博士提出的多带激励(MBE)语音编码方案突破了二元激励的局限性,是一个不用预测残差的完全的参数语音编码器,在2.0kb/s~4.8kb/s速率内能够合成质量比传统声码器好得多的语音,并且具有较好的自然度和容忍环境噪声的能力,是目前这一速率范围内的一种较理想的编码算法。
2.1 MBE的基本原理
多带激励的基本原理如图1所示,将语音谱按各基音谐波频率分成若干个带,对各带信号分别进行清浊音判决。总的激励信号由各带激励信号相加构成。对于浊音带用以基音周期为间隔的脉冲序列谱作为激励信号谱;对于清音带采用白噪声谱作为激励信号谱,最后将各带信号相加,形成全带激励信号。激励信号通过时变数字滤波器,确定各谐波带的相对幅度和相位,将激励谱映射为语音谱。这种方案能将合成语音与原始语音在频谱的细致结构上拟合得很好,更加符合实际语音的特性,因而能够获得较高的自然度。
|
2.2 AMBE的语音压缩算法
AMBE是在MBE基础上的改进和补充,基本算法是先将输入的每帧160个数字话音取样,分成交迭的段,经模型分析后得出该帧的模型参数。编码器先进行V/U判别,将其分成交迭的8个段;再对每个段进行模型分析,得到模型参数,然后量化编码,最后加上前向纠错码(FEC),以2.0kb/s~9.6kb/s的码率发送。解码器将接收到的比特流进行相应的纠错解码,将重构模型参数,再利用这些参数进行合成,恢复出语音。
3 AMBE-2000TM电路简介
3.1 电路优点
1)优异的语音质量;2)低造价,低功耗,紧凑的引脚100 TQFP型封装;3)无需外部存储器;4)较强的抗干扰能力;5)支持插入前向纠错码的可变速率(2.0kb/s~9.6kb/s);6)全双工实时处理;7)语音激活探测(VAD)/舒适背景噪音插入;8)双音多频(DTMF)探测和生成;9)回音抵消。
3.2 基本工作原理
该电路可以被视为两个独立的部分即编码器和解码器。编码器接收8kHz话音数据流(16位线性、8位A率、8位μ率)并以所希望的码率输出数据流到传输信道上,相反,解码器接收从传输信道上传送的数据流合成出8kHz话音数据流。其编码器与解码器的接口时序是完全异步的。基本工作原理如图2所示。
|
3.3 工作模式及其帧格式
3.3.1 工作模式
AMBE-2000TM不同于AMBE-1000TM,AMBE-2000TM只有串行接口模式,没有并行接口模式。
AMBE-2000TM有四种工作模式:主帧格式、主非帧格式、从帧格式和从非帧格式。这四种工作模式都可以用软件编程和硬件引脚设置来获得。
在从模式下,AMBE-2000TM的编码器输出压缩后的数据流所需的选通信号CHAN_TX_STRB由外部时钟源提供。在主模式下,CHAN_TX_STRB由内部时钟源提供。
在正常工作中,编码器要每20ms输出一帧数据,而解码器需要接收处理一帧数据,对于编码器和解码器都需要有一些数据格式,主要的目的是为编码时提供一定的校正信息。采用帧格式模式时,编码器输出的数据都是已知的固定帧格式,在该模式下有一些状态标志信息,用于控制目的和同步,并用于解码器解码。采用非帧格式时,编码器的输出数据没有固定的格式,其同步和控制的状态信息比特数据插入语音编码比特流中,它们一起被视为连续的语音数据流,因此,该模式的一个优点就是在信道上不用为传帧头而增加额外的带宽。缺点是解码器为了能在正确地合成语音波形之前获得与数据流同步,需要接收完10组~12组语音数据帧。
3.3.2 帧格式工作模式下数据的帧格式
数据帧格式分为输入帧格式和输出帧格式。
1)输入帧格式
输入格式如表1所示,可以看出,Word0是固定的0x13EC,起同步作用。Word1控电源模式并包含帧丢失和舒适噪音插入信息。Word2~Word6用以调节码率(2.0kb/s~9.6kb/s)。Word7~Word9为未用字,全为"0"。Wordl0为双音多频的控制信息。WoM11含有语音激活探测、休眠状态、回音消除等控制信息。word 12~word 23是真正的话音数据(40 bit~192bit)。
2)输出帧格式
输出格式如表2所示,输出帧格式与输入帧格式基本相同,只是将Word7作为位错误率信息字,用以报告位错误信息。Word8用于报告软件决定距离信息。Word9用于报告最近解码帧探测到的位错误数。
|
4 AMBE-2000TM在系统中的应用
4.1 A/D-D/A接口的选择
从模拟语音信号到AMBE-2000TM的接口是A/D及D/A转换器,其选择很重要,将影响系统语音的质量,可以是标准的8位/4率或A率压扩量化的PCM信号,也可以是16位线性量化的PCM信号,使用16位线性量化的PCM编码器能获得更好的语音效果。本系统采用Analog Devices公司的AD73311AR,它是16位线性量化PCM编解码器,采样率为32kHz,可同时进行A/D转换和D/A转换。
4.2 AMBE-2000TM的传输信道接口
AMBE-2000TM的输出数据在信道中传输的过程如图3所示。
|
从图3可以清楚地看到,从编码器输出的一帧数据并不全部送到信道上传给接收方的解码器,而是在本地将前192bit的数据帧头抽取掉,只发送后面的192个语音数据比特,到达接收端后,再由系统完成在这192bit的前面加上数据帧头的工作,组成一帧完整的数据帧后送给接收端的解码器进行解码。必须注意的是,语音数据在信道上传输时必须加上系统帧头,否则无法在接收端实现同步。此外,当码率为9600b/s时,这192bit才全部为有效的压缩语音数据,当低于9 600b/s时,只有一部分为有效压缩语音数据,其余的补"0",这些"0"仍需通过信道传输给接收方的解码器进行解码。
4.3 系统设计
本系统采用AD73311AR实现模/数、数/模转换,用xilinx公司的FPGA实现对AMBE-2000TM的数据帧头的抽取和合成的控制处理。如上所述,AMBE-2000TM的一帧数据只将语音数据和加上的系统帧头送入信道,发送给接收端,在接收端收到的语音数据必须去掉系统帧头再加上数据帧头后才能送给解码器进行解码。FPGA完成帧头的控制功能。整个系统框图如图4所示。在本系统中,AMBE-2000TM是设置为主帧格式模式。在整个系统工作之前,要对AMBE-2000TM复位,低电平有效,复位时间不少于50μs,在复位信号出现上升沿后95ms,电路才开始处理AD73311的PCM信号。信道的传输率为4 kb/s。
|
5 仿真结果
图5是从AMBE-2000TM出来的压缩数据的帧头,192位帧头只仿真了前面的16位,以后的全设为"0"。图6是送给AMBE-2000TM解码的数据(只显示了帧头)。图7是去掉帧头只加上系统帧头Oxl3EC作为同步用的信道数据,为了方便,仿真时将有效数据设定为"1001......"(一帧有效数据共40bit)。传输率为4kb/s.
|
6 结束语
本系统进行了30个小时的长时间实验,一直保持着良好的工作状态。在4kb/s的传输率下,保持了较高的语音质量,并具有较强的语音识别能力。该系统的语音信号经过调制后可用于无线通信,我们用FSK进行调制传输取得了满意的语音效果。