现在的位置: 首页 > 综合 > 正文

莱文森-德宾递推公式证明

2013年09月09日 ⁄ 综合 ⁄ 共 1459字 ⁄ 字号 评论关闭

 

lpc10是语音信号分析的一个基础算法, g723 g729等都是在其基础构造的,区别是对激励源的编码不同

而莱文森-德宾是lpc10算法中求预测系数的重要一环,本文就对其的递推公式进行证明

 

 

首先从lpc系数的求解开始说吧

 

我们假定 s[n]是输入的语音信号

s`[n]是10阶预测信号

s`[n] = a10 * s[n - 10] + a9 * s[n - 9] + ... + a1 * s[n - 1]

 

我们取s`[n] 与 s[n] 方差最小值

 

(s[n] - s`[n])^2   ^2表示平方

然后对每个 a[i]求偏导,自然就得到了一个10元一次方程组,表示

 

10

Σa[i] * R(|k-i|) = R(k)  k = 1,2,...,10  R(k)表示输入信号的自相关 ---  方程组1

i=1

 

即莱文森-德宾递推公式就是一种适合于计算机实现的解这个10一次方程组的算法

 

 

下面提到内积和正交的概念

A(z) B(z)分别表示前向预测与后向预测的逆滤波器的系统函数

则它们关于输入s[n]的内积这么定义

 10 11           

 Σ Σ a[i]*b[k] R(|i-k|)   R(n)同样表示输入信号s[n]的自相关函数

i=1 k=1

 

记作 <A(z),B(z)>

如果内积为零,则被称之为正交

 

这里可以立即得出这么一个结论

 

<A(z), z^(-l)>一定为零,这个参见方程组1 

也就是说A(z)与z^(-l) l=1,2,...10正交时,A(z)是该阶次下最优估计的逆滤波器

 

开始递推,首先从零开始,零阶时,啥都没有

最优的逆滤波器自然就是

A0(z)=1

B0(z)=z^-1

 

构造出递推公式

A[i](z) = A[i-1](z) + ki * B[i - 1](z)

B[i](z) = z^-1{ B[i - 1](z) + ki * A[i-1](z) }          ----- 等式2

 

其中 ki = -{ <A[i-1](z),B[i - 1](z)> } / { B[i - 1](z), B[i - 1](z) }  ---- 等式1

 

现在只需要证 A[i](z) 与 z^-i正交即可 (当然B[i](z)也要与z^-i,两个证明的过程差不多)

将A[i](z) = A[i-1](z) + ki * B[i - 1](z)代入 <A[i](z), z^-i>

我们立该得到

<A[i-i](z), z^-i> + ki<B[i - 1](z), z^-i> = 0;

求出满足这个条件的ki就是了

<A[i-i](z), z^-i> 实际上与 <A[i-i](z), B[i-1](z)>是相等的,为什么呢?

因为A[i-1](z)是最优估计,那它一定与 z^-l (l=1,2,...,i-i)正交,而 B[i-i](z)的最高阶系数是1...

同理<B[i - 1](z), z^-i> 与<B[i-i](z), B[i-1](z)>也是相等的...

自然ki就是等式1的那种形式,

 

莱文森-德宾递推公式至此证明完毕

 

ki递推公式化简

                               i-1

分母可以化简为 R[i] + Σ a(m-1)[n] * R(|l-i|) 这个可以用<A[i-i](z), z^-i> 直接推导出

                               l=1

 

分子可以化简为 (1-k(l)^2)*(1-k(l-1)^2) ... (1-k(1)^2)*R(0)

这是由于 <z^-1 * F(z), z^-1 * G(z)> = <F(z), G(z)> = <F(1/z), G(1/z)> 由内积的定理可以直接证出

用 <B[i](z), B[i](z)>  等式2进行代换,再进行相应的合并同类项处理,就可以得到化简后的分子

 

 

 

笔者证了好几遍,但是每次证完,每次又都忘了。。。

妈了个逼的,好记性不如烂笔头啊。

 

 

抱歉!评论已关闭.