舰船高噪声环境下的语音编解码系统的实现*

2010-08-11 05:27刘崇治徐火生
舰船电子工程 2010年3期
关键词:解码编码语音

刘崇治 徐火生 梁 萱

(武汉数字工程研究所 武汉 430074)

1 引言

语音作为现代社会一种重要的交流手段,在人们日常生活中具有举足轻重的地位。传统语音通信主要基于模拟技术,占用较多的频带,保密性和抗干扰性都很差。

随着数字集成电路的迅速发展和计算机技术的进步,涌现出了数字信号处理器(DSP),为构建高数据流通率和强大信号处理能力的系统提供了坚实的基础。采用数字语音压缩技术实现高压缩比、高质量的语音数字化压缩记录已成为可能。数字化的记录方法可以将语音数据经过压缩记录在大容量的存储器上,有效消除噪声、增加记录时间、快速复制、快速回放和查找,还可以快速地通过计算机网络进行传输。

在研究舰船高噪声背景下语音信号编解码方法的基础上,结合网络技术实现语音信号的网络传输,进而实现数据、视频和语音的“三网合一”。

2 语音编码

语音编码的目的是压缩语音信号的数字表示而使表达这些信息所需的比特数最小[1]。随着信息的高速发展,频率资源变得愈加宝贵,如一路语音信号以8kHz采样,经A/D转换,并以16bitPCM编码,产生的数据量为128kb/s。因此压缩通信系统的传输带宽就成为人们追求的目标,语音压缩在这一过程中担当着重要的角色[2]。

语音编码技术的研究开始于20世纪30年代Duddley发明声码器。尤其是最近20年来,语音编码取得了突飞猛进的发展。语音编码方法,按传统的观点可分为三类:波形编码、参数编码(声码器)和混合编码[2~3]。其中波形编码将语音信号作为一般的波形信号进行处理,具有适应能力强、算法简单、易于实现、语音质量好等优点,缺点是编码速率高;参数编码是以语音信号产生的数学模型为基础,对参数进行编码,在解码后由这些参数重新合成出语音信号。具有编码速率低的优点,但语音音质差,而且对噪声较敏感;混合编码在参数编码的基础上引入了一些波形编码的特性,在编码率增加不多的情况下,较大幅度的提高了传输语音质量。本文采用基于CS-ACELP(共轭结构的算术码本线性预测)算法的G.729E标准完成语音的编码与解码。

3 系统设计

3.1 系统组成

本设计采用TI高性能32位浮点TMS320C6727 DSP来搭建语音编/解码平台,其组成如图1所示。

图1 语音编/解码系统框图

3.2 工作原理

系统可分为语音采集、语音回放和语音编/解码三部分。既可以作为原始语音信号的编码系统,也可以作为压缩后语音的解码系统。

语音编/解码部分主要由TMS320C6727 DSP完成。该款DSP是 TI公司推出的一款专门用于语音信号处理的高速、浮点 DSP,最高主频300MHz,32位浮点处理能力,具有三个音频串口MCASP,支持I2S音频传输格式。同时DSP片内EMIF总线接口与SDRAM、FLASH等存储器连接,可外扩 8M ×32bit SDRAM,16M ×16bit FLASH,处理性能可达2400MIPS,可实现DSP程序/数据的存储。存储空间以字节为单位统一编址,寻址空间为4G字节。其片上存储器、片上外设及外部存储器接口均映射到此4G空间中。JTAG接口能与各种形式的JTAG仿真器相连接,实现对TMS320C6727的仿真与调试。UART接口实现与主机之间的实时通信。

语音采集部分实现原始语音信号的模/数转换。语音回放部分实现数字语音信号的数/模转换,分别采用TI高性能音频采集芯片PCM4204和D/A芯片PCM4104[4],最高支持24位数据,216KHz采样频率,采用I2S音频格式输出。通过DSP的I2C接口实现编/解码芯片的初始化和控制。

TMS320C6727的网络接口主要用来支持物理层的网络器件(PHY)与DSP相连,符合IEEE802.3协议,支持基于以太网的音/视频流。

当系统作为语音编码系统时,语音采集部分先将麦克风输入的原始语音信号经过音频解码器,实现模拟语音信号转换成数字语音信号并传入TMS320C6727。在DSP内部,先将数字语音信号通过片内EDIF总线接口缓存在SDRAM中,同时调用语音编码算法进行数据压缩,最后通过网络接口上网传输。当系统作为语音解码系统时,其处理过程是编码的逆过程,压缩的语音数据从网络接口送入DSP,调用语音解码算法进行数据解压缩,解压后的数据缓存在外部SDRAM中,再将缓存数据输入音频编码器进行格式转换,最后经过扬声器播放。

4 系统软件设计

4.1 语音编/解码处理流程

语音编/解码由DSP完成,编码与解码可以同时进行,其算法流程图如图2所示。

图2 语音编/解码流程图

初始化程序包括DSP TMS320C6727的时钟、中断、MCASP口配置,以及 PCM4204、PCM4104的配置。初始化结束后,PCM4204开始采样,如果有语音信号输入则采样后的数字语音信号经过自适应干扰抵消去除语音信号中混杂的噪声,然后再经过G.729E编码算法压缩原始语音信号,压缩后的数据通过网络接口输出。同时,如果网络接口有数据输入,则经过G.729E解码算法解压后恢复原始数字语音信号,再由PCM4104编码成模拟语音信号通过扬声器回放。

4.2 自适应干扰抵消算法

舰船噪声环境包括发动机产生的周期噪声、舰员说话时伴随呼吸引起的宽带噪声、线路传输时引入的干扰语音以及爆炸等产生的冲击噪声。为了取得较好的语音效果,在语音编码前首先针对舰船高噪声环境的特点,将各种噪声干扰消除。本设计中采用自适应干扰抵消的方法来实现语音信号的增强。自适应滤波器最重要的特性是能有效地在未知环境中跟踪时变的输入信号,使输出信号达到最优。其工作原理如图3所示[5]。

图3 自适应干扰抵消原理图

采用了一个参考噪声作为辅助输入。其中,期望响应d(n)是信号与噪声之和,即d(n)=x(n)+N(n),自适应处理器的输入是与N(n)相关的另一个噪声 N′(n)。当 x(n)与N(n)不相关时,自适应滤波器将调整自己的参数,以力图使y(n)成为N(n)的最佳估计 N″(n)。这样e(n)将逼近信号 x(n),从而能获得比较全面的关于噪声的信息,因而可以得到更好的降噪效果。同时它还具有简单、计算量小、易于实时实现等特点。

4.3 G.729E编/解码算法

G.729E采用共轭结构的算术码本线性预测(CS-ACELP)编码方案,所选语音帧长为10ms,在每秒8000个样点情况下,具有80个样点。对于每个语音帧,要分析并提取LP滤波器系数、自适应码书和固定码书的指针和增益,这些参量被编码和传送。算法原理如图 4所示[6~8]。

解码的框图如图5所示[6~8],是编码的逆过程。从接收的比特流中提取参量指针,这些指针解码后即可得到编码语音帧的编码参量,再从相应的编码参量恢复压缩前的数据。

5 结语

通过对语音编解码技术现状和发展趋势的研究,并结合舰船高噪声背景下语音信号传输的特点,提出用TMS320C6727实时实现自适应干扰抵消和语音压缩标准G.729E相结合的设计方案,满足舰船环境下语音信号的压缩、传输与解压缩。同时,在系统设计中增加一个硬盘接口,可以将压缩后的数据在本地存储,实现语音信号的实时记录。

[1]姚天任.数字语音处理[M].武汉:华中科技大学出版社,2000

[2]杨行峻,迟惠生,等.语音信号数字处理[M].北京:电子工业出版社,1995

[3]张雄伟.现代语音技术与应用[M].北京:机械工业出版社,2003

[4]张涛,贺家琳.TI DSP在音频处理中的应用[M].北京:电子工业出版社,2008

[5]姚天任,孙洪.现代数字信号处理[M].武汉:华中科技大学出版社,1999

[6]李昌立,吴善培.数字语音—语音编码实用教程[M].北京:人民邮电出版社,2004

[7]张继东,等.ITU-T G.729 CS-ACELP语音编码系统的性能分析[J].南京邮电学院学报,2000,20(4):91~94

[8]潘秢秢,戴宪华,潘丹青.基于 TMS320VC5416的G.729E算法实时实现[J].微计算机信息,2008,24(14):148~149

猜你喜欢
解码编码语音
《解码万吨站》
生活中的编码
《全元诗》未编码疑难字考辨十五则
子带编码在图像压缩编码中的应用
解码eUCP2.0
魔力语音
基于MATLAB的语音信号处理
基于MQ3与MP3的价廉物美的酒驾语音提醒器
NAD C368解码/放大器一体机
Quad(国都)Vena解码/放大器一体机