g723源码分析-(五)-基音周期补充

关于基音周期搜索,分子是自相关,但还做了一个与能量相除的操作,

笔者最近一直在思考谐波噪声成形的问题,偶然情况下对基音周期的这个

搜索算法有了点心得,实际上这个算法跟自适应有点关系.

我们先来看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>的指定范围的最大值.

这了算是对基音周期搜索的一种解释吧,跟自相关肯定有关,但也可以认为跟自适应算法

有关

你可能感兴趣的:(源码分析)