Levinson-Durbin算法是用来解线性预测误差滤波的系数(prediction-error filter coefficients)和预测误差功率(prediction-error power)的递归算法,优点是减少计算量和存储空间
Levinson-Durbin算法的推导
先参考上一篇笔记Adaptive Filter Learing Notes 自适应滤波学习笔记07 线性预测的记号, R m + 1 a m = [ P m 0 ] , R m + 1 a m B ∗ = [ 0 P m ] . \boldsymbol{R}_{m+1}\boldsymbol{a}_{m}=\left[\begin{matrix} P_m\\ \boldsymbol{0} \end{matrix}\right],\quad \boldsymbol{R}_{m+1}\boldsymbol{a}_{m}^{B*}=\left[\begin{matrix} \boldsymbol{0}\\ P_m \end{matrix}\right]. Rm+1am=[Pm0],Rm+1amB∗=[0Pm]. R m + 1 [ a m − 1 0 ] = [ R m r m B ∗ r m B T r ( 0 ) ] [ a m − 1 0 ] = [ R m a m − 1 r m B T a m − 1 ] = : [ P m − 1 0 Δ m − 1 ] . \begin{aligned} \boldsymbol{R}_{m+1}\left[\begin{matrix} \boldsymbol{a}_{m-1}\\ 0 \end{matrix}\right]=&\left[\begin{matrix} \boldsymbol{R}_{m} & \boldsymbol{r}_{m}^{B*} \\ \boldsymbol{r}_m^{BT} & r(0) \end{matrix}\right]\left[\begin{matrix} \boldsymbol{a}_{m-1}\\ 0 \end{matrix}\right]\\ =&\left[\begin{matrix} \boldsymbol{R}_m\boldsymbol{a}_{m-1}\\ \boldsymbol{r}_{m}^{BT}\boldsymbol{a}_{m-1} \end{matrix}\right]\\ =:&\left[\begin{matrix} P_{m-1}\\ \boldsymbol{0}\\ \Delta_{m-1} \end{matrix}\right]. \end{aligned} Rm+1[am−10]===:[RmrmBTrmB∗r(0)][am−10][Rmam−1rmBTam−1]⎣⎡Pm−10Δm−1⎦⎤. Δ m − 1 = r m B T a m − 1 = a m − 1 B T r m \Delta_{m-1}=\boldsymbol{r}_{m}^{BT}\boldsymbol{a}_{m-1}=\boldsymbol{a}_{m-1}^{BT}\boldsymbol{r}_m Δm−1=rmBTam−1=am−1BTrm. R m + 1 [ 0 a m − 1 B ∗ ] = [ r ( 0 ) r m H r m R m ] [ 0 a m − 1 B ∗ ] = [ r m H a m − 1 B ∗ R m a m − 1 B ∗ ] = [ Δ m − 1 ∗ 0 P m − 1 ] . \begin{aligned} \boldsymbol{R}_{m+1}\left[\begin{matrix} 0\\ \boldsymbol{a}_{m-1}^{B*} \end{matrix}\right]=&\left[\begin{matrix} r(0) & \boldsymbol{r}_{m}^{H} \\ \boldsymbol{r}_m & \boldsymbol{R}_m \end{matrix}\right]\left[\begin{matrix} 0\\ \boldsymbol{a}_{m-1}^{B*} \end{matrix}\right]\\ =& \left[\begin{matrix} \boldsymbol{r}_m^{H}\boldsymbol{a}_{m-1}^{B*}\\ \boldsymbol{R}_{m}\boldsymbol{a}_{m-1}^{B*} \end{matrix}\right]\\ =&\left[\begin{matrix} \Delta_{m-1}^*\\ \boldsymbol{0}\\ P_{m-1} \end{matrix}\right]. \end{aligned} Rm+1[0am−1B∗]===[r(0)rmrmHRm][0am−1B∗][rmHam−1B∗