维纳滤波器

**維納濾波**是美國應用數學家諾伯特・維納（Norbert Wiener）在二十世紀四十年代提出的一種濾波器，並在 1949 年出版[1].

維納濾波器（Wiener filter）是由數學家維納（Norbert 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_ 的不同，問題名稱可以更換為：

* 如果 $d>0$ 那麼問題是預測
* 如果 $d=0$ 那麼問題是濾波
* 如果 $d<0$ 那麼問題是平滑

將 $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 }$

其中

 * $\,\!R_{s}$ 是 $s(t)$ 的自相關函數
* $\,\!R_{x}$ 是 $x(t)$ 的自相關函數
* $R_{x\,s}$ 是 $x(t)$ 和 $s(t)$ 的互相關函數

如果信號 $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)}}$

其中 $S$ 是譜函數。
只要 $g(t)$ 是最優的，那麼最小均方誤差公式簡化為 $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 階維納濾波器，係數 $\{a_{i}\}$ , $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]\}$ ，

 $E\{\cdot \}$ 表示期望算子。在一般情況下，係數 $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}}$

矢量 $[a_{0},\,\ldots ,\,a_{N}]$ 減少上面的表達式，計算其關於 $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}}$

假設， $w[n]$ 和 $s[n]$ 均為平穩和聯合平穩，記序列 $R_{w}[m]$ 和 $R_{ws}[m]$ 為 $w[n]$ 的自相關和 $w[n]$ 和 $s[n]$ 之間的互相關，定義如下：

　
: ${\begin{aligned}R_{w}[m]=&E\{w[n]w[n+m]\}\\R_{ws}[m]=&E\{w[n]s[n+m]\}.\end{aligned}}$

因此，注意到 $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}-2R_{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{aligned}&\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_{ws}[0]\\R_{ws}[1]\\\vdots \\R_{ws}[N]\end{bmatrix}}\end{aligned}}$

這些方程被稱作 Wiener-Hopf 方程。出現在方程中的矩陣 T 是一個對稱的 Toeplitz 矩陣。當 $R$ 在適當條件下，這些矩陣是正定的，也就是非奇異的，從而使得有唯一解來確定維納濾波器係數矢量， $\mathbf {a} \,=\,\mathbf {T} ^{-1}\mathbf {v} $ 。此外，Wiener-Hopf 方程存在一個求解的有效算法，稱為 Levinson-Durbin 算法，因此並不需要對矩陣 $\mathbf {T} $ 的顯式求逆。

## 維納濾波器的優缺點

維納濾波器的優點是適應面較廣，無論平穩隨機過程是連續的還是離散的，是純量的還是向量的，都可應用。對某些問題，還可求出濾波器傳遞函數的顯式解，並進而採用由簡單的物理元件組成的網絡構成維納濾波器。維納濾波器的缺點是，要求得到半無限時間區間內的全部觀察數據的條件很難滿足，同時它也不能用於噪聲為非平穩的隨機過程的情況，對於向量情況應用也不方便。因此，維納濾波在實際問題中應用不多。
實現維納濾波的要求是：①輸入過程是廣義平穩的；②輸入過程的統計特性是已知的。根據其他最佳準則的濾波器亦有同樣要求。然而，由於輸入過程取決於外界的信號、干擾環境，這種環境的統計特性常常是未知的、變化的，因而難以滿足上述兩個要求。這就促使人們研究自適應濾波器。

## 參見

* 諾伯特・維納（Norbert Wiener）
* 卡爾曼濾波

## 參考書目

* **^** [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