维纳滤波

维基百科,自由的百科全书
跳转至: 导航搜索

维纳滤波諾伯特·維納在二十世纪四十年代提出的一种滤波器,并在1949年出版[1].

维纳滤波器(Wiener filter)是由数学家维纳(Rorbert Wiener)提出的一种以最小平方为最优准则的线性滤波器。在一定的约束条件下,其输出与一给定函数(通常称为期望输出)的差的平方达到最小,通过数学运算最终可变为一个托布利兹方程的求解问题。维纳滤波器又被称为最小二乘滤波器或最小平方滤波器,目前是基本的滤波方法之一。维纳滤波是利用平稳随机过程的相关特性和频谱特性对混有噪声的信号进行滤波的方法,1942年美国科学家N.维纳为解决对空射击的控制问题所建立,是40年代在线性滤波理论方面所取得的最重要的成果。

描述[编辑]

从连续的(或离散的)输入数据中滤除噪声和干扰以提取有用信息的过程称为滤波,而相应的装置称为滤波器。根据滤波器的输出是否为输入的线性函数,可将它分为线性滤波器和非线性滤波器两种。滤波器研究的一个基本课题就是:如何设计和制造最佳的或最优的滤波器。所谓最佳滤波器是指能够根据某一最佳准则进行滤波的滤波器。 20世纪40年代,维纳奠定了关于最佳滤波器研究的基础。即假定线性滤波器的输入为有用信号和噪声之和,两者均为广义平稳过程且知它们的二阶统计特性,维纳根据最小均方误差准则(滤波器的输出信号与需要信号之差的均方值最小),求得了最佳线性滤波器的参数,这种滤波器被称为维纳滤波器。在维纳研究的基础上,人们还根据最大输出信噪比准则、统计检测准则以及其他最佳准则求得的最佳线性滤波器。实际上,在一定条件下,这些最佳滤波器与维纳滤波器是等价的。因而,讨论线性滤波器时,一般均以维纳滤波器作为参考。 信号波形从被噪声污染中恢复称为滤波。这是信号处理中经常采用的主要方法之一,具有十分重要的应用价值。常用的滤波器是采用电感、电容等分立元件构成,如RC低通滤波器、LC谐振回路等。但对于混在随机信号中的噪声滤波,这些简单的电路就不是最佳滤波器,这是因为信号与噪声均可能具有连续的功率谱。不管滤波器具有什么样的频率响应,均不可能做到噪声完全滤掉,信号波形的不失真。因此,需要寻找一种使误差最小的最滤波方法,又称为最佳滤波准则。 从噪声中提取信号波形的各种估计方法中,维纳(Wiener)滤波是一种最基本的方法,适用于需要从噪声中分离出的有用信号是整个信号(波形),而不只是它的几个参量。其基本依据就是最小均方误差准则。

设维纳滤波器的输入为含噪声的随机信号。期望输出与实际输出之间的差值为误差,对该误差求均方,即为均方误差。因此均方误差越小,噪声滤除效果就越好。为使均方误差最小,关键在于求冲激响应。如果能够满足维纳-霍夫方程,就可使维纳滤波器达到最佳。根据维纳-霍夫方程,最佳维纳滤波器的冲激响应,完全由输入自相关函数以及输入与期望输出的互相关函数 所决定。 与设计一个特定频率响应所用的通常滤波器设计理论不同,维纳滤波器从另外一个不同的角度实现滤波器。仅仅在频域进行滤波的滤波器,仍然会有噪声通过滤波器。维纳设计方法需要额外的关于原始信号所包含频谱以及噪声的信息,维纳滤波器具有以下一些特点[2]

  1. 假设:信号以及附加噪声都是已知频谱特性或者自相关互相关随机过程
  2. 性能标准:最小均方差
  3. 能够用标量的方法找到最优滤波器

维纳滤波器的设计目的是就是滤除按照统计方式干扰信号的噪声

模型/问题的建立[编辑]

假设维纳滤波器的输入信号是s (t),叠加噪声n (t)。输出信号x (t)通过滤波器g (t)使用下面的卷积运算得到:

x (t) = g (t) *(s(t) + n (t))


其中

  • s (t)是需要估计的原始信号
  • n (t)是噪声
  • x (t)是估计出的信号(我们希望它能等同于s (t))
  • g (t)是维纳滤波器

误差是e (t) = s(t + d) - x (t),方差是e^2 (t) = s^2(t + d) - 2s(t + d)x (t) + x^2 (t)其中

  • s(t + d)是所期望的滤波器输出
  • e (t)是误差

根据d的不同,问题名称可以更换为:

x (t)写成卷积积分:x (t) = \int_{-\infty}^{\infty}{g(\tau)\left[s(t - \tau) + n(t - \tau)\right]d\tau}.

计算平方误差的均值,可得

E(e^2) = R_s (0) - 2\int_{-\infty}^{\infty}{g(\tau)R_{x\,s}(\tau + d)d\tau} + \int_{-\infty}^{\infty}{\int_{-\infty}^{\infty}{g(\tau)g(\theta)R_x(\tau - \theta)d\tau}d\theta}

其中

如果信号s (t)和噪声n (t)是不相关的(例如,互相关是0)那么请注意

  • R_{x\,s} = R_s
  • \,\!R_x = R_s + R_n

这个的目的是求最优的g (t),使得E(e^2)最小。

稳态解(Stationary solution)[编辑]

维纳滤波对于因果系统非因果系统有两种不同解,如下:

非因果解(Anticausal solution)[编辑]

G (s) = \frac{S_{x,s}(s)e^{\alpha s}}{S_x (s)}

只要g (t)是最优的,那么均方误差mse简化为E(e^2) = R_s (0) - \int_{-\infty}^{\infty}{g(\tau)R_{x,s}(\tau + d)d\tau}

那么方程的解g (t)就是G (s)的双边拉普拉斯变换逆变换(inverse two-sided Laplace transform)。

因果解(Causal solution)[编辑]

G (s) = \frac{H (s)}{S_x^{+}(s)}

其中

  • H (s)\frac{S_{x,s}(s)e^{\alpha s}}{S_x^{-}(s)}的拉普拉斯逆变换positive time解
  • S_x^{+}(s)S_x (s)的拉普拉斯逆变换positive time解
  • S_x^{-}(s)S_x (s)的拉普拉斯逆变换negative time解

有限冲激响应维纳滤波离散系列[编辑]

的因果关系的有限冲激响应(FIR)维纳滤波器,而不是使用一些给定的数据矩阵X和输出矢量Y,发现最佳的抽头权重,通过使用输入和输出信号的统计信息。填充的输入的输入信号(T)的自相关的估计矩阵X和填充的输出之间的输出和输入信号(V)的互相关估计的向量Y。

为了获得维纳滤波系数,考虑信号w[n]被输入到一个N阶维纳滤波器,系数\scriptstyle \{a_i\}, \scriptstyle i \,=\, 0,\, \ldots,\, N,N的滤波器的输出被记作x[n],这是由下式给出

x[n] = \sum_{i=0}^N a_i w[n-i]

剩余误差来表示e[n]的,被定义为e[n] = x[n] − s[n](参见相应的块图)。维纳滤波器被设计成最小化均方误差(MMSE基准),它可以如下简而言之:

a_i = \arg \min ~E\{e^2[n]\}

\scriptstyle E\{\cdot\}表示期望算。在一般情况下,系数\scriptstyle a_i可能是复杂的,可能的情况下,可导出为其中w[n]的和s[n]的,以及是复杂的。具有复杂的信号,该矩阵是一个要解决的厄密共轭,而不是对称的Toeplitz矩阵的Toeplitz矩阵。为简单起见,下面只考虑所有这些量的情况下是真实的。的均方误差(MSE)可改写为:


\begin{array}{rcl}
E\{e^2[n]\} &=& E\{(x[n]-s[n])^2\}\\
&=& E\{x^2[n]\} + E\{s^2[n]\} - 2E\{x[n]s[n]\}\\
&=& E\{\big(\sum_{i=0}^N a_i w[n-i] \big)^2\} + E\{s^2[n]\} - 2E\{\sum_{i=0}^N a_i w[n-i]s[n]\} .
\end{array}

矢量\scriptstyle [a_0,\, \ldots,\, a_N]减少上面的表达式,计算出其衍生尊重\scriptstyle a_i


\begin{array}{rcl}
\frac{\partial}{\partial a_i} E\{e^2[n]\} &=& 2E\{ \big( \sum_{j=0}^N a_j w[n-j] \big) w[n-i] \} - 2E\{s[n]w[n-i]\} \quad i=0,\, \ldots,\, N\\
&=& 2 \sum_{j=0}^N E\{w[n-j]w[n-i]\} a_j - 2E\{ w[n-i]s[n]\} .
\end{array}

假设,瓦特〔N]和s[n]的每个固定和共同静止,序列\scriptstyle R_w[m]\scriptstyle R_{ws}[m]分别被称为瓦特〔N的自相关和交叉瓦特之间的相关性[n]的和s[n]的可被定义为如下:


\begin{align}
R_w[m] =& E\{w[n]w[n+m]\} \\
R_{ws}[m] =& E\{w[n]s[n+m]\} .
\end{align}

因此,可以改写为(\scriptstyle R_{ws}[-i] \,=\, R_{sw}[i]的通知的衍生物的MSE)

\frac{\partial}{\partial a_i} E\{e^2[n]\} = 2 \sum_{j=0}^{N} R_w[j-i] a_j - 2 R_{sw}[i] \quad i = 0,\, \ldots,\, N

让该衍生工具是平等的结果为零

\sum_{j=0}^N R_w[j-i] a_j = R_{sw}[i] \quad i = 0,\, \ldots,\, N

这可以被改写为矩阵形式的

\begin{align}
&\mathbf{T}\mathbf{a} = \mathbf{v}\\

\Rightarrow
&\begin{bmatrix}
R_w[0] & R_w[1] & \cdots & R_w[N] \\
R_w[1] & R_w[0] & \cdots & R_w[N-1] \\
\vdots & \vdots & \ddots & \vdots \\
R_w[N] & R_w[N-1] & \cdots & R_w[0]
\end{bmatrix}

\begin{bmatrix}
a_0 \\ a_1 \\ \vdots \\ a_N
\end{bmatrix}

=

\begin{bmatrix}
R_{sw}[0] \\R_{sw}[1] \\ \vdots \\ R_{sw}[N]
\end{bmatrix}

\end{align}

在这些方程是公知的Wiener-Hopf方程的。出现在方程中的矩阵T是一个对称的Toeplitz矩阵。R上在适当条件下,这些矩阵被称为是正定的,因此非奇异维纳滤波器系数矢量的测定产生了独特的解决方案,\scriptstyle\mathbf{a} \,=\, \mathbf{T}^{-1}\mathbf{v}。此外,存在一个有效的算法来解决这些被称为列文森-Durbin算法的Wiener-Hopf方程的,这样一个明确的反转\scriptstyle\mathbf{T}是不需要的。

维纳滤波器的优缺点[编辑]

维纳滤波器的优点是适应面较广,无论平稳随机过程是连续的还是离散的,是标量的还是向量的,都可应用。对某些问题,还可求出滤波器传递函数的显式解,并进而采用由简单的物理元件组成的网络构成维纳滤波器。维纳滤波器的缺点是,要求得到半无限时间区间内的全部观察数据的条件很难满足,同时它也不能用于噪声为非平稳的随机过程的情况,对于向量情况应用也不方便。因此,维纳滤波在实际问题中应用不多。 实现维纳滤波的要求是:①输入过程是广义平稳的;②输入过程的统计特性是已知的。根据其他最佳准则的滤波器亦有同样要求。然而,由于输入过程取决于外界的信号、干扰环境,这种环境的统计特性常常是未知的、变化的,因而难以满足上述两个要求。这就促使人们研究自适应滤波器。

参见[编辑]

参考书目[编辑]

  • ^ [1]: Wiener, Norbert (1949), Extrapolation, Interpolation, and Smoothing of Stationary Time Series. New York: Wiley. ISBN 0-262-73005-7
  • ^ [2]: Brown, Robert Grover and Patrick Y.C. Hwang (1996) Introduction to Random Signals and Applied Kalman Filtering. 3 ed. New York: John Wiley & Sons. ISBN 0-471-12839-2
  • ^ [3]: Neil Gershenfeld, The Nature of Mathematical Modeling, Cambridge University Press, 1999