娄开宇,昂志敏,杨 柳
(合肥工业大学 计算机与信息学院,安徽 合肥 230009)
国家工信部近年将逐步停止对模拟对讲机型号的核准,并将在几年内完成模拟对讲机到数字对讲机的过渡。根据这一规定及市场的发展前景可以看出,现有的矿井下模拟漏泄通信系统在未来5~6年后将逐步淘汰,因此开发先进的矿井下数字漏泄通信系统是现代通信技术发展的必然趋势。而语音通信作为数字通信的核心部分必然会作为研究的重点,其中选择适应井下复杂环境的数字语音编解码方法显得尤为重要。
语音信号的编码方法可分为波形编码、参数编码和混合编码三类。波形编码自适应能力强,语音质量好,但所需要的编码速率较高,一般在16 kb/s以上。而参数编码以数学模型模拟语音信号产生机制为基础,通过提取信号的特征参数来编码,优点是编码速率低,但语音质量较差,清晰度不高。混合编码则是在保留分析合成编码的技术基础上,引进了波形编码准则去优化激励信号,从而在低码率上获得了较高质量的合成语音。连续可变斜率增量调制(CVSD)是增量调制的一种改进方法。这种方法中信号斜率是根据码流中连“1”或连“0”的个数来检测,所以又称为数字检测。低时延码激励线性预测编码(LD-CELP)是G.728语音编码标准算法,这种算法采用后向自适应线性预测、50阶全极点合成滤波、短激励矢量(5个样值)等改进方法,达到高质量和低时延的目的,总的编码时延小于2 ms。
矿井下环境复杂,存在着巷道繁多、干扰较大等特点,所以在选择编码方式时一定要结合实际环境选择适合井下通信的方法,其原则有:(1)虽然井下通信对语音的清晰度要求不是很高,但井下环境比较复杂,巷道距离长,弯道多,噪声大,所以编码应有较强的抗噪声干扰和抗误码性能;(2)井下带宽资源有限,所以语音编码速率在保证话音清晰的前提下应尽可能低,以减少在系统带宽中的占有率;(3)对编译码时延要求不是很高,但编译码器必须简单,性价比要高;(4)井下环境易燃易爆,所以设备功率要小,必须是本安型的防爆设备。目前国内井下通信系统主要应用的数字语音编码方式为CVSD编码,它主要有以下优点:原理简单,硬件要求低,抗误码性能强和技术成熟,具有专属芯片产品CMX639。但随着技术的发展,现代井下通信系统有了更高的要求,在语音通信的基础上要求图像或视频的通信功能,这样就要求利用DSP、FPGA等模块化的嵌入式系统来实现,而且要求语音编码的速率更低,尽可能地不占用宝贵的井下带宽资源。CVSD在编码速率方面有着局限性,在16kb/s以上语音质量比较良好,但是在16 kb/s下语音质量下降很快,不能适应现代井下数字通信系统的要求,所以寻找一个更加合适的语音编码方式势在必行,而作为ITU-T的G.728标准的LD-CELP方法是系统最佳的选择。
LD-CELP被ITU-T定为标准的G.728语音编码协议,图1和图2是算法的编解码器原理图。LD-CELP和CELP(码本激励线性预测)算法一样利用了合成分析法进行码本搜索,并在此基础上利用后向自适应预测技术对短时谱包络和增益进行预测,所以能达到算法延时0.625 ms,一路编解码延时小于2 ms。编码过程首先将速率为64 kb/s的A律或者μ律PCM输入信号转换成均匀量化的PCM信号,接着由5个连续的语音样点su(5n),su(5n+1),……su(5n+4)形成一个五维语音矢量。 激励码本中共有1 024个五维的码矢量。对于每个输入语音矢量,编码器利用合成分析法从码本中搜索出最佳码矢量,然后将10 bit的码本标号送出去。线性预测(LP)系数是用先前量化过的语音信号来提取和更新的。每4个相邻的输入矢量(20个样点)构成一帧,每帧更新一次LP系数;激励的增益也是利用之前量化激励信号的增益信息逐矢量地进行提取和更新。LD-CELP这种独特的编码技术在16 kb/s速率上编解码后的语音质量在MOS(平均意见分,最大值5分)评分标准中达到了4.173的高分,基本可以还原原始的语音信号,并且在低于16 kb/s速率下语音质量能保持较好的稳定状态。其优良的性能完全适合矿井下数字漏泄移动通信的要求。
图2 LD-CELP解码器框图
系统采用了SEED-DEC643作为算法实时实现的硬件平台,以高性能的32 bit定点DSP(TMS320DM643)为主控芯片的DSP系统,处理能力达到了 4 800 MIPS,完全满足运算的需求。芯片上集成了一个多通道音频串行接口(McASP)外设,具有8根串行数据线,由软件配置输入和输出,具有很强的可编程能力,可以配置为多种同步串口标准,可以和音频 ADC、DAC,Codec,数字音频接口接收器DIR和S/PDIF传输物理层器件实现无缝连接,直接与各种器件高速接口。图3所示为TMS320DM643接口框图。
图3 TMS320DM643接口
以TMS320DM643为核心的声码器结构框图如图4所示。DEC643开发板通过XDS510PLUS仿真器与PC机连接,由PC机通过CCS(Code Composer Studio)集成开发环境进行调试。运行时,语音信号由MIC输入,经A/D转换为数字信号,通过设定的串口0进入DM643编码器部分对该语音信号进行编码,编码后进入解码模块进行解码,输出重建语音信号,最后经串口1送至D/A转换器输出至耳机,从而完成编解码的过程。
图4 声码器结构框图
软件设计主要采用混合编程方法实现,在DSP资源配置、通信串口模块、中断模块、滤波器等模块采用了汇编程序编写。编码模块流程图和主程序流程图分别如图5、图6所示。主程序首先用GEL文件对DM643进行初始化,再初始化McASP模块,然后打开中断控制寄存器,允许中断请求,设置数据接收缓存,进入主循环,开始接收、处理和发送数据。在接收过程中不断检测接收缓存区,直至缓存区为空,数据接收完毕,将一帧数据从中取出,同时缓存区计数器清零,开始对接收的语音数据进行压缩编码处理。解码过程则是编码的逆过程。重复上述循环过程完成对一组语音数据的编解码处理。
图5 编码模块流程图
图6 主程序流程图
利用系统对语音数据进行采集与分析,对一段男声录音“合肥工业大学”的原始语音信号和编解码后的信号的时域波形进行比较,如图7、图 8所示,可以看出,原始录音人为夹杂了一些噪声时,波形相对比较尖锐,而在假定信道无噪声干扰的情况下利用LD-CELP编解码后的语音信号波形能够很好地重建原始信号的包络,可以过滤出原始信号中尖锐的环境噪声,并且语音编码速率得到了很大的降低,实现在低速率下满足人们对语音可懂度和清晰度的要求,节约了整个系统的带宽。
本文通过对LD-CELP算法原理的分析,在TMS320DM643平台上实现了编解码的过程,演示了算法的性能。说明了LD-CELP完全可以在数字通信快速发展的今天代替目前矿井下常用的CVSD算法,实现更高质量的语音通信,并且其在低速率通信下能保持高清晰度的特点,大大节省了整个漏泄通信系统的带宽,为以后在DM643平台上开发矿井数字漏泄移动通信系统中先进的视频通信模块提供了良好的条件。在下一步的研究中将结合矿井下复杂的巷道环境,在传输过程中模拟加入一些矿井中常见的噪声,进一步分析LD-CELP算法在井下特定环境具有各种干扰的情况下能否适应数字漏泄移动通信系统对语音通信功能的要求。
图7 原始信号时域图
图8 编解码输出信号时域图
[1]CCITT.Recommendation G.728.coding of speech at 16 kb/s using low-delay code excited linear prediction.Geneva,1992.
[2]Texas Instruments.TMS320DM643 user′s guide[Z].2004.
[3]张雪英.数字语音处理及 MATLAB仿真[M].北京:电子工业出版社,2010.
[4]杨行峻.语音信号数字处理[M].北京:电子工业出版社,2007.
[5]SEED-DTK643V1.0实验手册.北京合众达电子技术有限公司,2009.
[6]RABINER L R,SCHAFE R W.语音信号数字处理[M].朱雪龙,译.北京:科学出版社,1983.