CDMA的语音编码与信道编码摘要:随着3G移动通信技术的逐步实现以及移动通信与互联网的融合,全球正迅速步入移动信息时代。CDMA已被广泛接纳为第三代移动通信的核心技术之一,它具有优越的性能。本文主要介绍CDMA中常用的语音编码技术与信道技术。关键词:语音编码信道编码受激励线性编码码激励线性预测编码矢量和激励线性预测编码编码器解码器卷积码1CDMA中的语音编码技术语音编码为信源编码,是将模拟信号转变为数字信号,然后在信道中传输。在数字移动通信中,语音编码技术具有相当关键的作用,高质量低速率的话音编码技术与高效率数字调制技术相结合,可以为数字移动网提供高于模拟移动网的系统容量。目前,国际上语音编码技术的研究方向有两个:降低话音编码速率和提高话音质量。1.1语音编码技术的分类语音编码技术有三种类型:波形编码、参量编码和混合编码。波形编码:是在时域上对模拟话音的电压波形按一定的速率抽样,再将幅度量化,对每个量化点用代码表示。解码是相反过程,将接收的数字序列经解码和滤波后恢复成模拟信号。波形编码能提供很好的话音质量,但编码信号的速率较高,一般应用在信号带宽要求不高的通信中。脉冲编码调制(PCM)和增量调制(ΔM)常见的波形编码,其编码速率在16~64kbps。参量编码:又称声源编码,是以发音模型作基础,从模拟话音提取各个特征参量并进行量化编码,可实现低速率语音编码,达到2~4.8kbps。但话音质量只能达到中等。混合编码:是将波形编码和参量编码结合起来,既有波形编码的高质量优点又有参量编码的低速率优点。其压缩比达到4~16kbps。泛欧GSM系统的规则脉冲激励-长期预测编码(RPE-LTP)就是混合编码方案。1.2CDMA的语音编码CDMA系统如同其它数字式移动电话系统,它也采用语音编码技术来降低语音的编码速率。CDMA系统的语音编码主要有从线性预测编码技术发展而来的激励线性预测编码QCELP和增强型可变速率编码EVRC。目前13kbpsCELP语音编码已达到有线长途的音质水平,我国已正式将CELP编码列入CDMA标准中。总之,CDMA系统中所使用的编码技术是对现有编码技术的有机组合和高效利用。(1)QCELP受激线性预测编码QCELP,即QualCommCodeExcitedLinearPredictive(QualComm受激线性预测编码)。美国Qualcomm通信公司的专利语音编码算法,是北美第二代数字移动电话(CDMA)的语音编码标准(IS95)。这种算法不仅可工作于4/4.8/8/9.6kbps等固定速率上,而且可变速率地工作于800bps~9600bps之间。Q4401、Q4413单片语音编码器就是基于这种编码算法。QCELP算法被认为是到目前为止效率最高的一种算法,它的主要特点之一是使用适当的门限值来决定所需速率。门限值随着噪声电平变化而变化,这样就抑制了背景噪声,使得即使在喧闹的环境中,也能得到良好的话音质量,CDMA8Kbps的话音近似GSM13Mbps的话音。CDMA采用QCELP编码等一系列技术,具有话音清晰、背景噪声小等优势,其性能明显优于其他无线移动通信系统,语音质量可以与有线电话媲美,并且无线辐射低。(2)CELP码激励线性预测编码CELP码激励线性预测编码是CodeExcitedLinearPrediction的缩写。CELP是近10年来最成功的语音编码算法。CELP语音编码算法用线性预测提取声道参数,用一个包含许多典型的激励矢量的码本作为激励参数,每次编码时都在这个码本中搜索一个最佳的激励矢量,这个激励矢量的编码值就是这个序列的码本中的序号。CELP已经被许多语音编码标准所采用,美国联邦标准FS1016就是采用CELP的编码方法,主要用于高质量的窄带语音保密通信。CELP(Code-ExcitedLinearPrediction)这是一个简化的LPC算法,以其低比特率著称(4800-9600Kbps),具有很清晰的语音品质和很高的背景噪音免疫性。CELP是一种在中低速率上广泛使用的语音压缩编码方案。它综合使用了线性预测、矢量量化、感觉加权、A-B-S(综合分析法)等技术,在4~16kbps的速率上,是电话宽带语音编码得到很高的编码质量。编码器的基本原理框图如图1.2-1所示。与LPC模型类似,CELP模型中也有激励信号和声道滤波器,但它的激励信号不再是LPC模型中的二元激励信号。在目前常用的CELP模型中,激励信号来自两个方面:长时基音预测器(又称自适应码本)和随机码本。自适应码本被用来描述语音信号的周期性(基音信息)。固定的随机码本则被用来逼近语音信号经过短时和长时预测后的线性预测余量信号。从自适应码本和随机码本中搜索出的最佳激励矢量乘以各自的最佳增益后相加,便可得到激励e(n)。它一方面被用来更新自适应码本,另一方面则被输入到合成滤波器H(z)以得到合成语音^s(n)。^s(n)与原始语音s(n)的误差通过感觉加权滤波器W(z)后可得到感觉加权误差信号e(n)。使e(n)均方误差为最小的激励矢量就是最佳激励矢量。LS(n)+I+e(n)图1.2-1CELP编码其原理框图CELP的解码过程已经包含在编码过程中。在解码时,根据编码传输过来的信息从自适应码本和随机码本中找出最佳码矢量,分别乘以各自的最佳增益并相加,可以得到激励信号e(n),将e(n)输入到合成滤波器H(z),便可得到合成语音s(n)。可以看出,搜索最佳激励矢量是通过综合出重建语音信号进行的。这种通过综合来分析语音编码参数的优化方法称为综合分析法,即A-B-S方法。采用这种方法明显提高了合成语音的质量,但也使编码运算量增加不少。固定码本采用不同的结构形式,就构成不同类型的CELP。例如采用代数码本、多脉冲码本、矢量和码本的CELP分别称为ACELP、MP-CELP和VSELP编码。CELP算法简介:自适应码本随机码本合成滤波器H(Z)感觉加权滤波器W(Z)均方误差最小估计线性预测:y(n)y(n-p)y(n-1)P个点CELP语音合成示意图:从语音产生的机理出发,对人发音模型的有关参数进行编码,即分析-合成编码,可获得较好音质的同时有效降低编码率,其中最具代表性的是线性预测编码(LinearPredictionCode-LPC)和码激励线性预测编码(CodeExcitedLinearPredictionCode-CELP)。LPC的基本原理是根据人发声特点来建立语音产生的数学模型。人发声时有清音和浊音之分,清音无基音,呈现与白噪声类似的平坦频谱,所以可用白噪声作为清音的激励;浊音则有振动的基本频率(基音),故可用具有一定基音频率的脉冲源作激励;而人的声管相当于一组滤波器,对不同的p1ii)in(ya)n(yˆ时间(样点)索引a增益a0255子帧延迟自适应码本索引s随机码本0511增益s线性预测滤波器线谱参数语音信号更新激励产生不同的响应,形成特定声音的输出。为了提高重建话音的自然度,编码端可以增加一组预测滤波器,采用闭环LPC结构,由特征参数激励得到预测信号,将此信号与原信号s(n)相减得到残差信号e(n),把此信号与有关参数一并编码传送,在解码端进行误差修正可有效改善语音质量。但此时将降低编码效率。不过如果我们能对一定时间内残差信号可能出现的各种样值的组合按一定规则排列构成一个码本,编码时从本地码本中搜索出一组最接近的残差信号,然后对该组残差信号对应的地址编码并传送,解码端也设置一个同样的码本,按照接收到的地址取出相应的残差信号加到滤波器上完成话音重建,则显然可以大大减少传输比特数,提高编码效率。这就是CELP编码的基本原理。它有两个预测滤波器,短时预测计算每一采样的残差,长时预测计算每个子帧(5ms)的残差。由码本取出的激励e(n)经长短时预测后得到预测值,与输入信号s(n)相减得到差值,将此差值通过感知加权滤波器,以最小均方误差准则(LMS)判定最佳激励码本e(n)。对CELP来说关键是码本。如果码本编得好,就可以在低码率下获得较好的语音质量。由于自80年代以来,国际上一些著名的通信研究机构和大学大力开展了这种高质量低码率编码技术的研究,一些算法迅速走向了成熟,见表1。进入90年代,随着DSP技术的发展,这些成果得到了广泛应用。如1989年通过的数码率为13.6Kbps,采用规则脉冲激励-长时预测算法的语音编码标准,在误码率为10-3的GSM用信道中传输,话音质量不降低;而码速率为5.6Kbps的VSELP编码则足以使现有的GSM扩容1倍;ITU于1995年下半年通过了具有长话音质的8Kbps编码标准,它采用共轭结构代数(CSA-CELP)算法,将用于第三代移动通信系统;具有多种码率的IS-96则是美国Qualcomm公司为CDMA研制的又一种CELP编码。总的来说,语音压缩倍率越高,数码率越低,编码算法也越复杂,在实时压缩的条件下就不可能用逻辑电路实现,也不会用体积大、速度慢、成本高的微机实现,此时DSP是一种合适的选择。有资料表明,在无线基站系统中,单片机TMS320C6201可实时完成30个信道的语音编解码任务。CELP码激励线性预测编码的特点:改善语音的质量:1.对误差信号进行感觉加权,利用人类听觉的掩蔽特性来提高语音的主观质量;2.用分数延迟改进基音预测,使浊音的表达更为准确,尤其改善了女性语音的质量;3.使用修正的MSPE准则来寻找“最佳”的延迟,使得基音周期延迟的外形更为平滑;4.根据长时预测的效率,调整随机激励矢量的大小,提高语音的主观质量;5.使用基于信道错误率估计的自适应平滑器,在信道误码率较高的情况下也能合成自然度较高的语音。结论:1.CELP算法在低速率编码环境下可以得到令人满意的压缩效果。2.使用快速算法,可以有效地降低CELP算法的复杂度,使它完全可以实时地实现。3.CELP可以成功地对各种不同类型的语音信号进行编码,这种适应性对于真实环境,尤其是背景噪声存在时更为重要。(3)VSELP矢量和激励线性预测编码VSELP矢量和激励线性预测编码是VectorSumExcitedLinearPrediction的缩写。这种算法采用三个码本作为激励信号,其中两个是随机码本,一个是自适应码本,最终的激励信号是三个激励矢量的和。美国电信工业协会(TIA)选择8kbpsVSELP算法作为北美第一代数字蜂窝移动电话的编码标准(IS54)。日本的全速率数字移动电话也采用VSELP算法作为语音编码标准(JDC),速率为6.7kbps。VSELP语音编码器可以利用合理的计算复杂性达到最高的可能的语音质量,同时提供给信道误差韧性,这些目标对于远程通信应用中的公认的低数据率(4.8~8kpbs)语音编码至关重要。VSELP语音编码器通过有效利用构造的激励码本达到上述目标,这种结构的激励码本降低了计算的复杂性并提高了对信道误差的韧性,两个VSELP激励码本便可以达到上述性能,同时也使用了可以达到高编码效率的新型增益量化器,并且具有对信道误差的韧性。新型的适应前/后置滤波器的设计提高了重建的语音质量。下面针对8kbps和4.8kbps两个VSELP编码器的实例展开。图1.2-3是VSELP语音的解码器的方框图。VSELPcodec总共利用三个激励源,其一来自长项(节距)预测状态或适应性码本;其余的源来自VSELP激励码本之一或之二。对于8kbps编码器采用两个VSELP码本,每个码本包含的信息量相当于128个矢量;而4.8kbps的编码器仅利用一个VSELP码本,包含相当于2048个矢量的信息量。这两个或三个激励源与它们相应的增益相乘,并求和得出组合的激励序列ex(n),处理完每一子帧后,ex(n)用于更新长项滤波器状态,合成滤波器是直接十阶全极点滤波器,LPC系数每20ms帧编码一次,通过内插(对8kbps系统)每5ms子帧更新一次,激励参数每子帧内也更新。4.8kbps系统利用帧长为30ms,子帧长为7.5ms,子帧内一采样数分别为:8kpbs为40,4.8kpbs为60,采样率为8kHz。