基音提取之短时自相关法

                                              短时自相关函数的基音提取方法

对于语音序列x(n),第i帧语音信号为x_{i}(m),则短时自相关函数的定义为

R_{i}(k)=\sum_{m=1}^{N-m}x_{i}(m)x_{i}(m+k)         k为时间延迟量。

短时自相关函数的重要性质:

1、若 x^{_{i}}(m)是周期信号,周期为T,则R_{i}(k)也是周期信号,且周期相同。

                                  R_{i}(R)=R_{i}(R+T)

2、当k=0时,短时自相关函数具有最大值,;在延迟量为0,\pm T\pm 2T......时,周期信号的自相关函数也达到最大值。

3、短时自相关函数是偶函数。

                                 R_{i}(k)=R_{i}(-k)

短时自相关基音提取的原理为:比较原始信号与延迟信号之间的相关性来确定基音周期。若延迟量等于基音周期,那么两个信号具有最大相关性;或通过找出其自相关函数最大值之间的距离,即为基音周期的估计值。

具体步骤如下

1、分帧处理

f0min=50,f0max=500,N=128

                               fl=(L-3*fs/f0_{min})/N

fl为信号的帧数,fs/f0min=基音周期的最大值,

2、窗函数选择

窗函数采用汉宁窗,具体原因参见文章

3、信号加窗,归一化自相关

                                               a(t)=(x(t)-u^{_{x}})*w(t)

ux为语音信号的直流分量,先去除直流分量,然后加窗,然后求其归一化自相关函数

                                                r^{_{a}}(\tau )=r_{x}(\tau )/r_{0}(\tau )

4、窗函数归一化自相关

                         r_{w}(\tau )=(1-\frac{|\tau |}{T})(\frac{2}{3}+\frac{1}{3}cos(2\pi \tau /T))+1/(2\pi )sin\frac{2\pi|\tau |}{T}

5、原信号自相关

                                      r_{x}(\tau )=r_{a}(\tau )/r_{w}(\tau )

6、维特比算法求信号基音

求取cost({p_{n}})=-\sum_{n=1}^{N}R_{np_{n}}+\sum_{n=2}^{N}transitionCost(F1,F2)

并以此递归找出最有基音集

优缺点:

1、对于噪声环境下的基音检测比较使用。

2、基音检测结果会出现二次倍频或二次分频的情况。

解决办法:

1、中心消波法自相关基音检测

                       y{_{i}}(n)=\bigl(\begin{smallmatrix} & & \\x_{i}(c)-L &x_{i}(c)>L & \\ 0 &|x_{i}(c)|<L &\\ x_{i}(c)+L &x_{i}(c)<-L \end{smallmatrix}\bigr)

L为消波电平,一般取信号帧的最大幅度的60%~70%

实验结果如下:

基音提取之短时自相关法_第1张图片

 

你可能感兴趣的:(语音信号处理)