资源描述:
《基于倒谱距离地语音端点检测改进算法资料.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、第7卷第1期2006年2月空军工程大学学报(自然科学版)JOURNALOFAIRFORCEENGINEERINGUNIVERSITY(NATURALSCIENCEEDITION)Vol.7No.1Feb.2006基于倒谱距离的语音端点检测改进算法王博,郭英,李宏伟,韩立峰(空军工程大学电讯工程学院,陕西西安710077)摘要:在讨论传统倒谱距离语音端点检测算法不足的基础上,提出了一种改进方案,该方法首先估计短时信噪比,然后由统计方法确定短时信噪比与门限的关系,进而完成正确的语音端点判决。通过对3种典型噪声环境下信噪比从-5dB到20dB的带噪语音信号进
2、行的仿真实验结果表明,所提方法能更为准确地检测到语音端点。关键词:端点检测;倒谱距离;判决准则;语音增强中图分类号:TN912.34文献标识码:A文章编号:1009-3516(2006)01-0059-05准确的语音信号端点检测(VAD-VoiceActivityDetection)可以实现对噪声谱的实时更新,从而提高谱减法语音增强系统的性能。传统的检测方法采用短时能量、过零率和自相关参数,在高信噪比环境下可以获得较好的检测效果,但是在低信噪比环境下其检测性能却急剧下降。本文提出了一种基于倒谱距离的改进方法,通过分析信号的倒谱参数来进行带噪语音的端点检
3、测。仿真结果表明,在低信噪比环境下较之传统的方法能更准确地检测出语音的端点。1基于倒谱距离的端点检测算法1.1倒谱距离定义设信号s(n),其倒谱变换为c(n)。信号倒谱的一种定义是信号的能量谱密度函数s(ω)的对数的傅logS(ω)的傅里叶级数展开[1],即里叶反变换,或者可以将信号s(n)的倒谱c(n)看成是∞π1-jnω2π∫-πc(0)=logS(ω)dωlogS(ω)=∑c(n)e,(1)n=-∞式中,c(n)为倒谱系数,且c(n)=c(-n)是实数。假设信号s(n)的Z变换具有有理函数的形式m1m0-1∏(1-akz)∏(1-bkz)S(z)
4、=Ark=1k=1(2)zp1p0-1∏(1-ckz)∏(1-dkz)k=1k=1式中ak、bk、ck和dk的模都小于1,m1和m0分别表示单位圆内和外的零点数目,外的极点数目。对logS(z)取逆Z变换得到倒谱系数的另一种表达式为p1和p0分别表示单位圆内和log
5、A
6、n=0m1p1nanckk∑n+∑n-n>0c(n)=(3)k=1m0k=1p0-nb-ndkk∑+∑<0-nnnk=1k=1收稿日期:2005-06-03式中λ是ak、bk、ck和dk模的最大值,ξ为一实常数。由式(4)可以看出,倒谱是一个快速衰减序列,其衰减速率至少为1/
7、n
8、[1
9、],所以在误差允许的范围内可以用有限阶(比如p阶)的倒谱系数近似无限阶的倒谱系数。根据Parseval定理,对于两个不同信号s0(n)和s1(n),其倒谱差异的均方值可用倒谱距离表示:∞πd212π∫-π=
10、22logS1(ω)-logS0(ω)
11、dω=∑(c1(n)-c0(n))(5)cepn=-∞式中dcep为倒谱距离,c0(n)和c1(n)分别是对应于谱密度函数S0(ω)和S1(ω)的倒谱系数。用数近似无限阶倒谱系数,式(5)可以近似为[1]pp阶倒谱系22=413429(c1(n)-c0(n))+2∑(c1(n)-c0(n))(6)dcepn=
12、1信号与其倒谱是一一对应的变换,因此倒谱的均方距离可以反映两个信号(比如语音与背景噪声)谱的区别,倒谱距离可以作为端点检测的一个判决参数,属于相似距离范畴。1.2传统的倒谱距离检测算法流程[5,7]1)预处理:对8kHz采样信号进行预加重处理,然后分帧加窗,帧长取30ms(240个采样点),帧移10ms,对每一帧信号加240点的Hamming窗。2)估计噪声倒谱系数和倒谱距离Dcepsil:阶数p取12,首先假定抽样信号起始10帧是背景噪声,利用这10帧的前5帧倒谱系数的统计平均值作为背景噪声倒谱系数的估计值,用向量c0表示。同时采用式(6)计算这10
13、帧的后5帧倒谱距离平均值作为背景噪声倒谱距离的估计值,其中c1(n)表示当前帧的倒谱系数,c0(n)为对应于C0的倒谱系数。3)逐帧计算dcep值:逐帧计算倒谱系数,然后由每帧信号的倒谱系数和噪声倒谱系数的估计值通过式(6)计算倒谱距离。4)确定判决门限:采用类似于短时能量检测法所使用的动态门限判决准则,设定两个门限G1和G2Gi=dcepsilki,i=1,2(7)式中dcepsil为噪声倒谱距离估值,k1,k2分别为两个门限的乘系数,且k2>k1,以保证G2>G1,这里取k1=110、k2=113。5)根据各帧的dcep值进行端点检测:如果当前帧的
14、dcep值大于G1,则记录该帧位置为start,然后继续计算后面各帧的dcep值,若在该帧之后