matlab怎么对语音信号取样,基于Matlab的语音信号自相关基音检测

[收稿日期]20061030

[作者简介]付青青(1977),女,2001年大学毕业,硕士,助教,现主要从事图像处理与多媒体技术方面的教学与研究。基于Matlab 的语音信号自相关基音检测

付青青,吴爱平 (长江大学电子信息学院,湖北荆州434023)

[摘要]自相关基音检测算法是语音信号处理的关键技术,算法的效率直接影响语音信号实时处理的质

量。在对自相关基音检测算法基本原理进行分析的基础上,设计了Matiab 算法实现方案,通过对一段具

体语音时域信号采样值进行滤波、分帧、求短时自相关函数,得到了浊音语音的基音周期。试验结果表

明,该算法结构简单,运算量小,效率高。

[关键词]语音处理;基音周期;基音检测;自相关分析;Matiab 算法

[中图分类号]TN912.34

[文献标识码]A [文章编号]16731409(2006)04009903

浊音信号的周期称为基音周期,它是声带振动频率的倒数,基音周期的估计称为基音检测。基音检测是语音处理中的一项重要技术之一,它在有调语音的辨意、低速率语音编码、说话人识别等方面起着非常关键的作用;但在实现过程中,由于声门激励波形不是一个完全的周期脉冲串,而且声道的影响很难去除、基音周期的定位困难、背景噪声的强烈影响等一系列因素,基音检测面临着很大的困难。因此,语音基音检测的准确度和检测效率一直受到广大从事语音信号处理工作的科技工作者的重视。现在已有很多性能优越的基音检测算法,而自相关基因检测算法是一种基于语音时域分析理论的较好的算法。笔者在对自相关基音检测基本原理分析的基础上,设计了Matiab 算法实现方案,并给出一段语音实例的编程、分析及基音检测结果。

1 用短时平均能量进行清!浊音的判断

语音信号{x (I )}的某帧信号的短时平均能量E I 的定义

[1,2]为:E I =!I

m =I -N +1[x (m )w (I -m )]2。式中,w (I )为窗函数;N 为窗长。令h (I )=w 2(I ),则有E I =!I m =I -N +1

x 2(m )h (I -m )=x 2(I )"h (I )。由此表明,窗口加权短时平均能量E I 相当于将

“语音平方”信号通过一个单位函数响应为h (I )的线性滤波器的输出。试验统计发现[3],语音浊音段的短时平均能量远远大于清音段的短时平均能量。因此,短时平均

能量E I 的计算给出了区分清音段与浊音段的依据,即E I (浊)>E I

(清)。根据E I 由高到低的跳变可定出浊音变为清音语音的时刻,E I 由低向高的跳变可定出清音变为浊音语音的时刻;而只有浊音才有基音周期,清音的基音周期为零。故清浊音判断是基音检测的第一步。

该算法中窗口选择汉明窗,其定义为[3]:

w (I )=0.54-0.46cOS (2!I /(N -1)) 0#I #N -1

0 {其他

选择汉明窗的理由是窗函数的选取原则为窗函数截取后的x (I )尽量是中间大两头小的光滑函数,冲激响应对应的滤波器具有低通特性。从汉明窗的构成及频率响应特性上看,汉明窗具有这种特性,而矩形窗及汉宁窗则稍逊之。汉明窗虽然主瓣最高(带宽大),但旁瓣最低(通带外的衰减大),可以有效地克服泄露现象,具有更好的低通特性。故选择汉明窗而不选择别的窗函数,能使短时平均能量E I 更能反映语音信号的幅度变化。

?

99?长江大学学报(自科版) 2006年12月第3卷第4期理工卷

Journal of Yangtze University (Nat Sci Edit ) Dec.2006,VOi.3NO.4Sci &Eng V

你可能感兴趣的:(matlab怎么对语音信号取样)