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

来源:互联网 发布:ida pro for linux 编辑:程序博客网 时间:2024/04/30 18:50

 

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

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

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

 

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

 

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

有关


另外补充另一种思想,分母引入能量,是为了防某些延后由于能量大,而引起自相关的值

也变大,分母的作用也可以认为是一个归一化

 

原创粉丝点击