一种二/四线转换话音检测技术的设计*
2014-11-23
(中国船舶重工集团公司第722研究所 武汉 430205)
1 引言
现在无线通信在军事通信中的应用越来越广泛,但是由于带宽等的限制,现在的无线网络多是工作在半双工的方式,需要使用人员通过PTT 来占用无线信道,并在使用后释放信道;并且话音通信作为很重要的指挥手段现在还在广泛地使用,但是受无线信道频率的限制,无线话音传输距离一般距离不会太远,对于无线话音超远距离的传输可以利用现有的地面网络(分组网或者电话网)来实现。
本设计主要解决半双工PTT 四线话音接入到全双工模拟两线电话网,同时应用VAD 在嘈杂的无规律的环境下实现话音的识别,通过VAD 模拟PTT 实现无线网络半双工PTT 四线话音接入全双工的有线电话网络,实现无线网络远距离的扩展应用。
本文首先说明现在话音检测技术的状况,并分析了各种技术的优缺点;介绍了实现半双工PTT四线话音接入到全双工模拟两线电话网的方案和实现流程,并给出最终的试验结果。
2 VAD 技术简介
话音激活检测(Voice Activity Detection,VAD)技术主要实现对话音和静音的分离处理;VAD 最先在话音插空技术(TASI)系统中得到了应用;并在很多话音应用环境比如话音识别、话音编码、无线个人通信系统以及回波抵消中得到了应用。VAD 技术经过很多年的发展,技术已经比较成熟,因此通过应用VAD 技术实现全双工的电话网和半双工的无线话音网之间的对接就有了可行的技术基础。
2.1 VAD 算法介绍
话音检测在语音处理、语音编码、语音插空和激活等方面有着十分重要的意义,其检测方法较多,并且不断发展出新方法,既有基于固定检测条件的非自适应检测方法,又有基于语音与噪声的统计信息的自适应检测方法。语音检测的目的是把语音段和噪音段分开,识别出有用的话音信息。话音激活检测对于语音识别,特别是噪声环境下的语音识别很重要。话音识别主要依赖于此话音检测的可靠性,如果语音被判为噪音,会使识别删除错误增加,而且还可能丢失重要的信息;而噪声被判为语音将会增加识别的错误,极大地降低系统的整体性能。
噪声中的语音检测是一个比安静环境下的语音检测更复杂的问题。下面主要介绍较常用的信号能量检测、信号短时过零率算法,并分析了各种算法的优缺点,并针对实际情况进行了选择。
2.2 话音激活检测算法原理
话音激活检测利用话筒的指向性和噪声源的远近,依据信号能量大小和信号能量轨迹变化进行判决,并进行拖尾和前端保护[5]。
首先,对初始多帧信号能量统计噪声大小。
然后,对输入信号计算能量,并存入连续多帧信号能量缓冲。
再次,计算多帧能量峰值。要求峰值能量大于门限1,并处于上升趋势条件下或者峰值能量大于门限2,认为有话并更新门限。否则,认为无话。在无话条件下,如果处于拖尾保护则继续认为有话,如果拖尾保护结束,输出无话指示。
最后,在发送过程中采用队列缓冲方式实现输出前端保护。
2.3 信号能量检测算法
信号能量(功率)检测算法主要检测大于一定门限值的短时功率是否持续了规定的时间。原则是当输入信号的功率超过阀值Vt持续约定时间Ct,则认为是语音,否则为噪声。约定时间Ct取值过大,则信号的时延相应增加,过小则不会正确检测,比如一些短时的爆炸声、撞击声等后会引起误操作。经过反复试验证明Ct取20ms较为合适。同样规定的阈值Vt也无法抵抗脉冲噪声的干扰,因此采用自适应以确定阈值。在输入信号为0dBm/600欧姆,A/D 增益为3dB时通过无噪声信号的检测时相应的阈值Vt。
试验证明:能量(功率)检测算法由于工作于低信噪比条件下,有自适应的检测机制,但是由于语音的非平稳性、时变的特性,对脉冲干扰仍然较敏感[6]。
2.4 信号短时过零率算法
话音信号的短时过零率是指单位时间内信号波形穿过横轴(零电平)的次数。量化后的语音是离散的时间序列,其过零是指序列取样值符号改变,过零率则是指每个样本改变符号的次数。语音中的浊音成分过零率较低,而清音由于类似于白噪声,所以过零率较高[7~8]。但由于浊音是语音信号的主要成分,所以语音信号的短时过零率较低;噪声的短时过零率较高,这主要是因为语音信号的能量主要集中在较低的频率范围内,而噪声信号的能量主要集中在较高的频段[9~10]。
试验证明当样本长度为20ms时,纯语音信号的平均过零率为20~24;混有噪声的语音信号的平均过零率为22~28;噪声的平均过零率为30~40。短时过零率算法检测浊音很有效,但会将清音误判为白噪声。
3 VAD 硬件电路的实现
3.1 VAD 实现硬件方案的选取
本方案在内部处理上采用全数字化处理,即对内部所有的语音电路传输、交换和处理均采用数字PCM 信号。本模块实现的功能主要是:
完成有线话音检测,提供控制无线终端设备所需PTT 信号。
对有线话音进行适当延时,消除VAD 带来的话音前端剪音。
对有线话音回波抵消功能,防止回波引起VAD 误动作。
对无线话音流进行检测,为系统提供无线信道忙闲状态监视。
为了满足上述功能,在硬件设计上可以有两种方案:
1)采用专用回波抵消芯片加DSP 处理系统。回波抵消芯片完成回波抵消功能,防止话音的回波引起VAD 误动作。DSP 处理系统完成有线话音进行检测和有线话音的数字延时。
2)采用全DSP处理方案,即回波抵消芯、有线话音进行检测和有线话音的数字延时都由DSP处理系统完成。
第一种方案在硬件电路上要复杂一些,也可能引入多次语音信号的转换,但是软件实现相对简单。为了减少电路的复杂性,提高系统的可维护性,决定采用第二种方案。硬件结构如图1所示。
3.2 VAD 模块DSP的选型
与通用处理器(GPP)相比,DSP在硬件上具有独特的结构,如哈佛存储器结构、零开销循环、对密集的乘法运算的支持、定点计算、专门的寻址方式、执行时间的预测、定点DSP 指令集。DSP 在话音应用中的优势突出体现在以下几方面:
图1 VAD 模块硬件结构
DSP凭借其独特结构成为了语音等多媒体信号处理的最有效的引擎。ITU 制订了许多语音压缩标准,如G.728、G.723、AMR 等,它们都涉及到大量的乘加运算,所有这些算法都是针对DSP 硬件结构特点设计的。回波抵消中的许多技术实现如自适应均衡也与DSP 的硬件结构密不可分。DSP的可重复编程的特点可以使系统很方便地升级和拓展新的业务。另外,语音处理是一种实时业务,对时间要求极为严格,所以其运算性能必须是可以预测的,这点也正是DSP 的强项。DSP 程序员能够决定所使用的指令集,所以预测在DSP 上执行代码的时间就是一项相对来说比较简单的工作。DSP没有使用通用处理器中的分支预测和预测执行概念,它以一种高效的方式执行专用指令集来完成特定功能,而某些通用处理器的代码可能会随着分支运算的不同而消耗不同数量的指令周期。因此对这种处理器来说,很难预测执行某一特定运算所花费的时间。所以若采用通用处理器,信号处理的实时性很难得到保证。另外,若采用ASIC 或FPGA,虽然它们是一个硬连线结构系统,处理时延很小,但它们通常只能用于完成特定的算法,这种系统只适合于实现功能固定和数据结构明确的计算问题,不利于业务扩展和性能的升级。
DSP的性能是决定语音质量的关键因素,其成本在整个系统成本中占很大比重,如何选择合适的DSP非常关键。在比较DSP的同时,要综合考虑芯片的硬件性能、固件质量、技术支持、开发难易程度等多种因素。根据本项目的实际情况以及所用的资源选用现在国内较常用的TMS320VC5416DSP。
VAD 模块采用的DSP TMS320VC5416PGE120,外部主频20MHz,FLASH 选用SST39VF1601-70-4IEKE,容量2MB。FLASH 片选用DS,外加上拉电阻,FLASH 写信号用R/W,读信号用R/W 的非,因此在R/W 管脚外加了一个单非门SN74AHC1G04DBVR。HPI16、MP/MC、HIPENA 脚下拉到地。HRDY、HAS、HOLD、CLKMD1、CLKMD2、CLKMD3 上拉到+3.3V。TMS320VC5416PGE120的I/O 电压+3.3V,内核电压+1.6V,上电后从FLASH 启动。
当二线电话侧的用户呼叫无线网络用户时,VAD 对二线电话接口发送话音流进行语音检测,提供无线端机侧话音接口所需的PTT 信号,同时对二线话音接口发送话音流进行数字处理,实现回波抵消功能,消除二线话音接口混合网络引入的回波。为了消除VAD 模块造成的剪音,VAD 模块对二线话音接口发送的话音流进行了500ms延时处理。
当无线话音流下来时VAD 模块对无线话音接口发送话音流进行检测,为系统提供无线话音信道忙闲状态监视。
VAD模块对话音流进行检测,通过HD0输出二线有线侧话音检测结果,HD1 输出无线侧话音的检测结果。
4 VAD 实现流程
根据实现的功能要求,本文设计了两套语音检测软件:一套是针对有线话音接口的有线语音检测器,该检测器基于Marcov算法,实行浮动门限来跟踪语音信号的变化。该检测技术在信噪比为0dB时能够进行可靠的检测,同时语音的自然度良好。另一套是针对无线话音接口的无线语音检测器,基于自适应线性预测算法设计。
图2 VAD 软件流程图
两种语音检测的流程基本相似,图2给出了具体的流程图。由于C5416是定点DSP芯片,能量算法和自适应线性预测算法的实现过程中都可能遇到溢出和32位除法问题。本文在程序中对算法作一些修改,得到了较好的语音检测效果。
4.1 VAD 模块中回波抵消的实现
由于有线电话通信采用二线接口,有线信号进入传输设备需要进行二/四线转换,一般由混合网络(或称差分网络)来实现。混合网络的平衡网络阻抗不可能与负载阻抗完全匹配,不可避免会存在回波,从而影响语音检测的可靠性。为了可靠地检测有线用户的话音,防止将远端话音在本地混合网络的回波误认为有线用户话音而引起误动作,造成无线端机在没有真实激励信号下发射,在混合网络四线处设计一个自适应滤波器,以模拟回波路径,并复制回波进行抵消。常规的差分网络对端衰耗只能在10dB~20dB 左右,并随线路长短的不同、导线种类及电话机的阻抗不同而变化。回波抵消功能能够将回波抑制在40dB左右。原理如图3所示。
图3 回波抵消实现原理图
滤波网络具备自适应性,即根据链路接续的状态,智能地对差分网络进行调整。在研制过程中,吸收了先进的DSP 技术,借助C5416数字信号处理芯片,采用快速自适应算法实现了适合与本系统的自适应差分网络,即回波抵消器。
4.2 智能语音检测的实现
有线话音的可靠检测是实现单双工转换的关键。由于有线端到达控制器的话音随线路和使用者的不同而有较大幅度的变化,同时还可能存在背景噪声干扰,使用固定门限方式会引起话音检测误判。本方案采用浮动门限的自适应话音检测方式,自动调整话音判决门限。在实现过程中,通过DSP处理器对话音的能量和过零率进行分析,采用Markov模型的多种平滑因子,自动调整门限,进一步改进了语音判决,并能区别话音和噪声。
VAD 算法主要是依据语音与噪声的不同特性来进行语音和噪声的判决。检测算法通常有能量、过零率、零能比、时域、频域的基音检测等,这些算法都是建立在相对比较理想的条件下,要求背景噪声保持平稳,信噪比较高。在实际野战通信系统应用中,这些条件很难得到满足,尤其是在战场环境下的通信,性能比较差。本模块在常规话音检测方案中,对语音进行了一阶马尔可夫过程统计的建模工作,并对基于此模型的语音检测方法进行了多级系数平滑,使VAD 检测门限可以根据通信环境进行自动调整,显著地改进了一般统计语音检测方法的性能。
4.3 发话冲突
当无线网为共享信道时,此时网内已有话音,有线侧发话则会导致输出PTT 进而抢占无线信道,就会出现发话冲突,进而会导致网内所有无线设备都无法进行话音通信。
为解决此问题,本方案在无线四线话音接口对无线话音进行语音激活检测,为无线侧的设备提供无线话音网通话状态监视。当无线信道被其他无线设备占用时,则本设备不响应有线信道发过来的发话请求。
4.4 消除剪音
由于语音检测判决造成的时延,会使无线网内用户可能听不到有线用户开始讲话的几个音节(即前端剪音),降低转接的通信效果。采用话音数据缓存法,对话音延时400ms~500ms,可以有效地消除前端剪音,提高通话质量。
5 试验效果
5.1 语音激活检测
通过可靠的语音激活检测(VAD)确定有线信道有无话音,可以为系统模拟PTT 状态(握键或释放)提供依据。该技术的难点在于有背景噪音甚至强噪音环境下如何保证可靠的语音检测,避免语音误判。本设备采用基于DSP 的自适应语音检测技术,通过对话音的短时能量和过零率进行分析,自动调整门限并区别话音和噪声,实现可靠的语音激活检测。在模拟两线接口输入信噪比大于3dB 条件下,VAD 输出可靠性大于95%。为避免话间短时停顿造成频繁状态切换,话音激活后保持时间控制在200ms左右。
5.2 回波抵消
由于实现二/四线变换的混合网络阻抗不匹配在本地形成的回波干扰,有可能使语音检测模块将无线侧的来话在混合网络处产生的回波当成是有线侧用户的话音,从而引起语音误判,因此本方案在语音识别前要采用基于DSP的自适应回波抵消技术减小回波干扰。回波抵消端损耗对单音信号的ERLR 大于40dB,对白噪声的ERLR 大于30dB,满足了VAD 要求。
5.3 消除剪音
由于语音检测判决及PTT 握键等造成的时延,会使无线网内用户可能听不到有线用户开始讲话的几个音节(即前端剪音),降低转接的通信效果。通过试验,实际系统中取400ms,可以有效地消除前端剪音,提高了通话质量。
6 结语
本文对VAD 技术进行说明,并对实现VAD的算法进行了分析,并针对本项目的要求对方案进行了优化处理,最后针对该设计方案的关键技术进行了试验分析,试验结果表明,使用该VAD 技术的技术方案完全可以满足实际的需求。
[1]陈尚勤,罗乘烈,杨雪.近代语音识别[M].成都:电子科技大学出版社,1991.
[2]胡广书.数字信号处理—理论、算法与实现[M].北京:清华大学出版社,1997.
[3]样行峻,迟惠生.语音信号数字处理[M].北京:电子工业出版社,1995.
[4]陈怀琛.数字信号处理教程-matlab释义与实现[M].北京:电子工业出版社,2004.
[5]J.Sohn,N.S.Kim,W.Sung.A statistical modelbased voice activity detection[J].IEEE Signal Processing Letters,1999,16(1):1-3.
[6]Sohn J,Sung W.A Voce Activity Detector Emplying Soft Decision Based Noise Spectrum Adaption[C].IEEE International Conference on Acoustics,Speech and Signal Processing,1998,1(5):365-368.
[7]L.R.Rabiner,M.R.Sambur.Voice-unvoiced-silence detection using the Itakura LPC distance measure[C]//Proc.Int.Conf.Acoust.,Speech,Signal Processing,1997,5:323-326.
[8]K.Srinivasan,A.Gersho.Voice activity detection for cellular networks[C]//Proc.IEEE Speech Coding Workshop,1993,10:85-86.
[9]H.Ozer,S.G.Tanyer.A geometric for voice activity detection in nonstationary Gaussian noise[C]//Proc.EUSIPCO'98,Rhodes,Greece,1998,9.
[10]H.Ozer.Signal detection and estimation in onostationary background[D].Ankara:Baskent University,1998:8.