语音信号的时域处理(三)

上回介绍了如何用短时自相关函数分析语音信号里的基音。回顾下短时自相关函数的核心公式:

在这里插入图片描述
由上式可以看出,短时自相关函数主要涉及乘法运算,随着每帧的总帧数fn变大,短时自相关函数计算出的细节就越清楚,越有利于基音检测,但是计算量也随之增大。今天,介绍另一种基音检测的算法,它采用差值的算法取代乘法运算,从而大大降低了运算量。

短时平均幅度差函数AMDF (Average Magnitude Difference Function)

对语音信号x(n)分帧后,每帧数据的短时平均幅度差函数如下所示:

在这里插入图片描述
由上式可知,如果该语言信号的周期为M,那么当k=0、±M、±2M……时,Di (k)=0。因此,短时平均幅度差函数也可以检测基音。

举个栗子:

在这里插入图片描述
在这里插入图片描述
上图是某一帧的语音信号,分别对其进行短时自相关函数分析和短时平均幅度差函数分析,结果如下图所示:

在这里插入图片描述
可见,短时自相关函数与短时平均幅度差函数有着密切的关系,短时自相关函数中的峰值对应与短时平均幅度差函数中的谷值。

原则上,按照短时平均幅度差函数公式,整数倍周期上的样本幅值应是相等的,即Di (k)=0,但上述结果确不为零。原因是语音信号不是一个单纯的周期信号,通过短时平均幅度差函数,只会在基音周期处出现一个谷值,并且随着时间的增加,谷值深度也会减退。

写在最后,语音信号的时域处理相关文章主要参考宋知用编著的《MATLAB在语音信号分析与合成中的应用》一书,我在MATLAB软件里按照书中所写的知识一次进行了仿真验证,并把结果记录下来,分享给大家,同时也方便自己在复习时随时查阅。

发布了24 篇原创文章 · 获赞 2 · 访问量 4136

猜你喜欢

转载自blog.csdn.net/Leisure_ksj/article/details/104142372