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元一次方程組,表示
σ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
記作 如果內積為零,則被稱之為正交
這裡可以立即得出這麼乙個結論
一定為零,這個參見方程組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 ----- 等式2
其中 ki = - / ---- 等式1
現在只需要證 a[i](z) 與 z^-i正交即可 (當然b[i](z)也要與z^-i,兩個證明的過程差不多)
將a[i](z) = a[i-1](z) + ki * b[i - 1](z)代入
我們立該得到
+ ki= 0;
求出滿足這個條件的ki就是了
實際上與 是相等的,為什麼呢?
因為a[i-1](z)是最優估計,那它一定與 z^-l (l=1,2,...,i-i)正交,而 b[i-i](z)的最高端係數是1...
同理與也是相等的...
自然ki就是等式1的那種形式,
萊文森-德賓遞推公式至此證明完畢
ki遞推公式化簡
i-1分母可以化簡為 r[i] + σ a(m-1)[n] * r(|l-i|) 這個可以用直接推導出
l=1分子可以化簡為 (1-k(l)^2)*(1-k(l-1)^2) ... (1-k(1)^2)*r(0)
這是由於 = = 由內積的定理可以直接證出
用 等式2進行代換,再進行相應的合併同類項處理,就可以得到化簡後的分子
筆者證了好幾遍,但是每次證完,每次又都忘了。。。
媽了個逼的,好記性不如爛筆頭啊。