关于基音周期搜索,分子是自相关,但还做了一个与能量相除的操作,
笔者最近一直在思考谐波噪声成形的问题,偶然情况下对基音周期的这个
搜索算法有了点心得,实际上这个算法跟自适应有点关系.
我们先来看723对基音周期搜索的条件,笔者在之前的文章中描述过,同学们
也可以去下载itu的文档,如下:
n=119 n=119
( (Σ s[n] * s[n - j])^2 ) / (Σ s[n - j] * s[n - j]) 18<=j<=142 --- 式1
n=0 n=0
注意分母项,是对应位置的能量,为何要将它加入分母项呢?
笔者做了这样的假设
假设基音周期为l
那么语音采样值y[n] 应该可用用下式下估值:
y[n] = b*y[n - l] b为一个估值系数
计算估值误差
e = y[n] - b*y[n - l]
所有能量的误差
n=119 n=119
E= Σ e^2 = Σ (y[n] - b*y[n - l])^2
n=0 n=0
我们希望 E 值最小,自然想到对 b 求导数为零时,得到b的表达式
n=119 n=119
b = ( (Σ y[n] * y[n - l])^2 ) / (Σ y[n - l] * y[n - l])
n=0 n=0
呵呵,很眼熟的表达式,它实际上就是723对基音周期搜索的判断表达式<式1>
我们希望估值系数最大,即希望能量衰减最小
即就是求<式1>的指定范围的最大值.
这了算是对基音周期搜索的一种解释吧,跟自相关肯定有关,但也可以认为跟自适应算法
有关
另外补充另一种思想,分母引入能量,是为了防某些延后由于能量大,而引起自相关的值
也变大,分母的作用也可以认为是一个归一化