自适应滤波之线性预测
前言
线性预测的基本原理是把被分析的信号用一个模型来表示,即将信号看做某一个模型(系统)的输出。基本思路是将过去时刻所采集的信号用来对当前时刻的信号进行预测,由于采用的是对过去信号的线性组合,故称为线性预测。
LPC(Linear Prediction Coding, LPC)
假设语音信号当前时刻采样值为\(s(n),n=1,2,\cdots,n\),根据信号在过去\(p\)个时刻的取样值的加权对当前取样值\(s(n)\)进行预测,此时的预测器称为\(p\)阶线性预测器。将\(s(n)\)的
预测值表示为\(\hat{s}(n)\),则
\[\begin{align}
\hat{s}(n) = \sum_{i=1}^p a_i s(n-i)
\end{align}
\]
其中,\(a_i\)为线性预测系数,而\(p\)表示预测器阶数。进一步得到预测器传递函数
\[\begin{align}
P(z) = \sum_{i=1}^p a_i z^{-i}
\end{align}
\]
通过当前的的信号值\(s(n)\)与其线性预测值\(\hat{s}(n)\),得到线性预测误差,表示为
\[\begin{align}
e(n) = s(n) -\hat{s}(n) = s(n) - \sum_{i=1}^p a_i s(n-i)
\end{align}
\]
在上式(1.3)中,可以得出误差\(e(n)\)与信号\(s(n)\),具有如下传递函数关系
\[\begin{align}
A(z) = \frac{e(n)}{s(n)} = 1 - \sum_{i=1}^p a_i z^{-i}
\end{align}
\]
对应的全极点滤波器为
\[\begin{align}
V(z) = \frac{1}{1 - \sum_{i=1}^p a_i z^{-i} }=\frac{1}{A(z)}
\end{align}
\]
其中\(A({z})\)是系统的预测误差滤波器。
通过对该信号模型应用最小二乘法,我们可以确定模型参数\(a_i\)。这种优化的结果是生成了线性方程组
\[\begin{align}
\sum_{i=1}^p a_i r_{xx}(l-i) = r_{xx}(l), ~~~ ,l=1,2,\cdots,p
\end{align}
\]
其中,\(r_{xx}(l)\)是序列\(x(n)\)的时间平均自相关。