APP下载

基于LPC的共振峰检测改进算法

2017-09-07韩芳郑晶晶

电子设计工程 2017年17期
关键词:求根鲁棒性共振

韩芳,郑晶晶

(黄河科技学院 信息工程学院,河南 郑州 450063)

基于LPC的共振峰检测改进算法

韩芳,郑晶晶

(黄河科技学院 信息工程学院,河南 郑州 450063)

语音共振峰检测是语音处理中的一个重要组成部分,为了更好的对语音信号的共振峰进行提取,采用LPC方法,通过对LPC算法的参数调整,分割语音信号并计算出总帧数,通过改进的LPC计算出每帧的共振峰值和整个语音的共振峰轨迹。利用MATLAB进行实验仿真,结果表明改进的LPC法在对连续语音共振峰检测时减少了误差,而且在信噪比小于15 dB时仍能提取出共振峰。

信号模型;倒谱法;LPC;共振峰;鲁棒性

共振峰是语音信号最重要的特征参数之一,是指人在发声时气流通过声道引起声道振动而产生的一组共振频率。共振峰参数有共振峰频率和频带的宽度,语音频谱的包络中包含了共振峰的信息,谱包络中的极大值就是共振峰,由于共振峰受到虚假峰值、共振峰合并、高音调语音的影响,要精确的对共振峰估计是件比较困难的事情[1-4]。

目前,常用的共振峰提取方法有倒谱法[5-6]和线性预测分析(LPC)法[7-10]。前者认为在频域以功率谱形式出现的极大值点也就是共振峰的频率,在功率谱中检测出现的极大值点所对应的频率即可[5];后者认为用LPC对信号进行解卷积,得到声道响应的全极点模型,并通过Newton-Raphson方法确定系统模型,取得共振峰中心频率。文献[11]提出的LPC法主要有两个途径一个是LPC求根法,一个是LPC内插法,求根法只适用于所有根都为共轭复根的情况,由于收敛速度慢,难以快速准确的找到根;文献[12-13]提出了倒谱法检测共振峰,利用倒谱滤波器将声道的倒谱进行分离,并对其做相应的反变换,得到声道函数的对数谱,进而得到共振峰,此方法会受到合并共振峰和伪峰的影响,检测结果不精确。以上提到的倒谱法和LPC法检测共振峰主要都是对一帧语音进行分析,实际用它们对连续语音检测的时候还会有不少问题,为了解决虚假峰值、共振峰的合并和高音调语音的影响不少研究人员做了很多的工作,但是还没有特别成熟的方法,文中通过对LPC求根法改进,提出一种基于LPC的连续语音共振峰检测算法,并从鲁棒性验证该算法的有效性。

1 信号模型

线性预测分析就是将信号看作某一个模型的输出,可以用模型参数来描述信号[14-15]。图1中u(n)表示模型的输入,x(n)表示模型的输出。当 x(n)为确定性信号时模型的输入u(n)可采用单位冲激序列;当x(n)为随机性信号时 u(n)可采用白噪声序列。

图1 信号x(n)的模型化表示

模型的传递函数H(z)可以写成有理分式的形式:

式中,系数ak、bk及增益因子G就是模型的参数;而p和q是选定模型的阶数。

根据式(1),可得模型输入与输出之间的时域关系为:

式(4)是线性常系数差分方程。它表示模型的输出是模型过去的输入以及当前的输入和过去输出的线性组合。这可以得出,当模型的参数设计好以后就能用模型的输入和过去的信号值来估算当前的信号值。

1)全极点模型。 在式(1)中,如果当 b1,b2,…,bq全为零,即:

2)全零点模型。 在式(1)中,如果 a1,a2,…,ap全为零,那么公式(1)和公式(4)为:

H(z)为移动平均模型(MA 模型)。

3)既有极点又有零点的模型。在式(1)中,若a1,a2,…ap,b1,b2,…,bq不全为零,则 H(z)为自回归-移动平均模型(ARMA模型)。

2LPC求根法

用线性预测分析估计共振峰的方法有两种:1)对全极模型公式H(z)的分母进行因式分解,找到复根,得到共振峰。2)峰值检测法[16]。下面按照峰值检测法对共振峰进行分析。

假设一帧语音信号x(n)可有式(5)的差分方程式表示,相应的声道传递函数H(z)可用式 H(z)=表示。 以 z-1=exp(-jωT)h或z-1=exp(-j2πf/fs)代入式取功率谱模值,用 P(f)表示利用FFT方法可对任意频率求得它的功率谱幅度响应,并从幅值响应中找到共振峰的信息。

设设任意复根 zi=riejθi, 那么共轭值 z*i=rie-jθi

也是它的根。设与zi对应的共振峰频率为Fi,3 dB带宽为Bi,则 Fi和 Bi与 zi如下表示:2πTFi=θie-BiπT=ri,T 表示采样周期,于是:Fi=θi/(2πT) Bi=-lnri/πT。

3 改进LPC算法

在LPC求根法的基础上适当调整判断共振峰的条件,对整个语音信号进行处理,然后通过多次计算,每次计算时将语音信号分割成不同的帧数,然后利用LPC求根法计算出共振峰,最后进行平均,给出平均后的共振峰值。求共振峰的具体步骤如下:

1)求出语音信号的总帧数,采样频率及LPC阶数;

2)根据帧数计算出帧长;

3)读取每一帧的数据;

4)根据LPC求根法计算出3个共振峰的值;

5)判断是否是最后一帧,如果是最后一帧则输出共振峰的值,如果不是最后一帧则从第3)步开始执行。

改进的LPC算法详细流程图如图2所示。

图2 算法流程图

4 实验仿真

4.1 实验结果分析

在MATLAB下对算法性能进行仿真实验。实验语音源选取1组连续元音 “a-i-u”,此纯净语音是在安静的实验室环境下录制完成。采样频率为8 000 Hz,16比特量化编码,语音为wav格式,采用汉明窗进行分帧,取帧长200点,帧移80点。通过MATLAB2009对连续语音用简单LPC法进行仿真,LPC法检测的结果图如图3,由图看出共振峰频率分布较为分散,该共振峰估计算法准确度不够,本文提出的LPC改进检测算法的结果如图4,从该算法的语谱图中看出共振峰频率分布相对于简单LPC法更为集中,共振峰的稳定性高于LPC法,通过语谱图反应的结果初步得出结论:LPC改进算法共振峰估计准确性高于简单的LPC法。连续语音“a-i-u”实验得出的共振峰频率值如表1~表3所示,在此,以表2为例:第一个共振峰频率值LPC求根法误差11 Hz,改进的LPC法误差6 Hz,第二个共振峰频率值LPC求根法误差236 Hz,改进的LPC法误差181 Hz,第三个共振峰频率值LPC法误差高达170 Hz,改进的LPC法误差92 Hz,结合以上数据:各个对应的共振峰频率LPC法的误差都高于改进的LPC法。

图3 LPC求根法

图4 改进的LPC法

表1 元音a的实验结果对比

表2 元音i的实验结果对比

表3 元音u的实验结果对比

4.2 算法鲁棒性分析

为了验证所提方法的鲁棒性,对选取的连续语音“a-i-u”作进一步分析,对该连续语音分别加入信噪比为10dB,15dB,30dB间隔不断递增的噪声,经过实验仿真,对比本文提出改进的LPC方法与简单LPC求根法比较它们检测共振峰估计算法的准确性。

图5~图6为不同信噪比下语音仿真结果图。从仿真图中,可以比较清晰的看出:随着信噪比的增大,语谱图中的白色曲线变得更有规律性,分布更加稳定,当信噪比为10 dB时,语谱图中的白色曲线分布曲折凌乱,也很难识别具体的共振峰,当信噪比达到15 dB以上时,白色曲线的分布规律趋于稳定,共振峰的峰值分布也清晰可辨。表4~表6为不同信噪比下元音的共振峰估计结果。以表4为例在表中数据可以看出,当信噪比大于15 dB时,3个共振峰的估计误差分别为22 Hz、100 Hz、273 Hz,当信噪比小于 10 dB 时,噪声频率基本淹没测试语音频谱,峰值无法辨别。改进的LPC法在信噪比10 dB以上有较好的鲁棒性。

图5 本文改进的算法(SNR=10 dB)

图6 本文改进的算法(SNR=15 dB)

表4 不同信噪比下元音a的共振峰估计结果(Hz)

表5 不同信噪比下元音i的共振峰估计结果(Hz)

表6 不同信噪比下元音u的共振峰估计结果(Hz)

5 结束语

文中针对简单的LPC共振峰检测算法存在的不足,提出了改进的LPC法实现对连续语音进行检测,经过加噪处理检测算法鲁棒性可知,在相对合理的信噪比下,改进的LPC法有较好的鲁棒性,一旦信噪比超出合理区间,该结果将不再具有现实意义。最终的仿真结果证明在连续语音共振峰检测的过程中,改进的LPC算法是一种相对比较优的估计算法,但是就目前研究技术与水平所限,并不能很好的检测连续语音,存在的些许不足需待以后进一步改进和完善。

[1]王坤赤,蒋华.一种基于语音频谱的基频和共振峰提取算法[J].信息技术,2007,20(10):20-22.

[2]杨丹,姜占才,余蓥良,等.语音信号共振峰提取方法的研究分析[J].科技信息,2012(4):161-162.

[3]赵涛涛.语音信号共振峰提取算法的研究 [D].兰州:西北师范大学,2014:4-8.

[4]赵涛涛,杨鸿武.结合EMD和加权Mel倒谱的语音共振峰提取算法[J].计算机工程与应用,2015,51(9):207-212.

[5]David Gerhard.Pitch Extraction and Fundamental Frequency:History and Current Techniques[J].Technical Report TR-CS 2003,6(11):1-22.

[6]赵毅,尹雪飞,陈克安.一种新的基于倒谱的共振峰频率检测算法[J].应用声学,2010,29(6):416-424.

[7]何峰,陈晓清,李国锁,等.一种新的语音信号共振峰提取算法[J].信号处理,2007,23(4):618-621.

[8]Lutz Welling,Hermann Ney.Formant estimation for speech recognition [J].IEEE Transactionson Speech and Audio Processing,1998,6(1):36-48.[9]Stephanie S.Mccandless.An algorithm for automatic formant extraction using linear prediction spectra[J].IEEE Transactions on Acoustics,Speech and Processing.1974,22(2):135-141.

[10]Codello I,Kuniszyk-Jozkowiak W.Formant paths tracking using linear prediction based methods[J].Annales UMCS Informatica AI,2010,10(2):7-12.

[11]郁伯康,郁梅.LPC方法提取语音信号共振峰的分析[J].电声技术,2003,3(1):3-8.

[12]赵力.语音信号处理[M].北京:机械工业出版社,200:61-65.

[13]王晓亚.倒谱在语音基音和共振峰提取中的应用[J].无线电工程,2004,34(1):57-61.

[14]罗艳芬.语音信号数字处理中语音编解码算法的研究[M].南昌:南昌大学,2005.

[15]宋瑞,詹舒波.语音情绪识别中的共振峰特征分析[J].中国科技论文在线,2014.

[16]杨鸿武,赵涛涛.一种基于加权Mel倒谱的语音信号共振峰提取算法 [J].西北师范大学学报,2014,50(1):53-57.

Improved resonance peak detection alogrithm based on LPC

HAN Fang,ZHENG Jing-jing
(The School of Information Engineering,HUANGHE S&T COLLEGE,Zhengzhou 450063,China)

Formants extraction from speech signal is an important part of speech processing,in order to extract the formants of speech signal,By using LPC method and adjusting parameters of the LPC method,dividing the speech signal and calculating the total number of frames,the formants of each frame and the entire speech signal is calculated by improved LPC.Large numbers of simulation experiments in MATLAB show that the improved LPC can reduce errors of the continuous speech formant detection,when signal-to-noise ratio is less than 15 dB,the improved method still can extract the formants.

signal model;cepstrum;LPC;formant;robustness

TN912.3

A

1674-6236(2017)17-0085-05

2016-07-07稿件编号:201607061

郑州市科技局科技发展计划项目 (20140663);郑州市嵌入式系统应用技术重点实验室建设项目(121PYFZX177);郑州市教学质量工程项目(zzlg201608)

韩 芳(1981—),女,河南新乡人,硕士,副教授。研究方向:信号处理,计算机网络等。

猜你喜欢

求根鲁棒性共振
荒漠绿洲区潜在生态网络增边优化鲁棒性分析
用换元法推导一元二次方程的求根公式
基于确定性指标的弦支结构鲁棒性评价
安然 与时代同频共振
选硬人打硬仗——紫阳县党建与脱贫同频共振
不可轻视求根公式
对某些特殊一元四次方程求根公式的推导
CTA 中纺院+ 化纤联盟 强强联合 科技共振
切比雪夫多项式零点插值与非线性方程求根
基于非支配解集的多模式装备项目群调度鲁棒性优化