維納濾波

維納濾波器（Wiener filter）是由美國數學家諾伯特·維納（Norbert Wiener）於1940年代提出，並於1949年首次正式發表的一種線性濾波技術。它的設計目標是在最小均方誤差的準則下，從被雜訊干擾的觀測訊號中，恢復出原始訊號。此濾波器的核心假設包括：訊號與雜訊皆為平穩隨機過程，並且其統計特性（如相關函數與功率譜）已被確定。基於這些假設，維納濾波器透過統計優化，使得濾波後訊號與真實訊號之間的平均平方差達到最小。

與理想化的通阻型濾波器（如低通、高通、帶通或帶阻）不同，維納濾波器會根據訊號與雜訊的統計特性，動態調整對各頻段的保留或抑制程度。它具有兩種形式：

- 非因果版本：可以利用未來資訊來達成最佳去噪效果，但不適用於即時系統。
- 因果版本：只使用當前與過去資料，以適應即時處理需求，但推導上更為複雜。

維納濾波器廣泛應用於音訊降噪、影像復原、通訊無線通道均衡等領域；同時也成為多種自適應濾波演演算法如 LMS、RLS 及卡爾曼濾波器的重要理論基石。

## 描述

維納濾波器的理論基礎可追溯至維納與霍夫（Norbert Wiener and Eberhard Hopf）對隨機訊號估計問題的研究，其推導出的維納–霍夫方程提供了解析解，使得在理想條件下可以精確求出濾波器的脈衝響應或係數。在離散時間域中，維納濾波器可以實作為有限長度（FIR）或無限長度（IIR）形式；而若進一步要求因果性，則必須透過頻譜因式分解處理，以確保濾波器可以即時實作。

與傳統設計為低通、高通、帶通等類型的頻率選擇性濾波器不同，維納濾波器不單以頻率為設計依據，而是依據輸入訊號與期望輸出的統計特性，於各頻段進行權重調整。其在頻域上的濾波器傳輸函數通常具有非零相位響應，這表示它可能會改變訊號的波形結構，但可保證輸出在統計意義下最接近目標訊號。

為解決實務中無法事先得知訊號與雜訊統計特性的限制，維納濾波器衍生出一系列自適應濾波方法，像是最小均方（LMS）與遞迴最小平方（RLS）演演算法。這些方法可在線估測濾波係數，使濾波器能夠追蹤動態環境變化而維持近似最小均方誤差的性能。

除了用於一維訊號的去雜訊，維納濾波技術也已擴展至多維資料，例如影像處理中的降噪與去模糊。這類應用中，空間域與頻域的維納濾波器皆可使用，並可根據局部統計特性調整濾波強度，達到空間自適應的效果。

維納濾波器提供了一種將統計估計與線性系統設計結合的方式，並開啟了數位訊號處理中以機率模型為基礎的濾波方法發展，其理論影響深遠，至今仍是統計訊號處理與通訊系統中的重要工具。

## 模型/問題的建立

假設維納濾波器的輸入信號是$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。

為了獲得維納濾波係數，考慮將信號wn輸入到一個N階維納濾波器，係數$\{a_i\}$, $i \,=\, 0,\, \ldots,\, N$，N的濾波器的輸出被記作xn，這是由下式給出

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

剩餘誤差來表示en的，被定義為en = xn − sn（參見相應的框圖）。維納濾波器被設計成最小化均方誤差（MMSE準則），它可以如下簡而言之：

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

$E\{\cdot\}$表示期望算子。在一般情況下，係數$a_i$可能是複數，在wn的和sn是複數的情況下可能推導出。對於覆信號，待求解矩陣是一個共軛對稱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{align} R_w[m] =& E\{w[n]w[n+m]\} \\ R_{ws}[m] =& E\{w[n]s[n+m]\} . \end{align}$$

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

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

## 維納濾波器的優缺點

維納濾波器的設計優勢在於：它能以最小化均方誤差（MSE）為目標，達成線性估計的最優效果，這使其在理想統計條件下（訊號與雜訊的功率譜已知）能充分發揮精準去噪與訊號恢復性能；此外，在某些案例中，濾波器係數可以求得封閉形式解，因此能利用簡單的物理元件（RC、LC網路）加以實現。因其理論明確、可計算性高，維納濾波常成為後續 LMS、RLS 及卡爾曼濾波自適應方法的基礎。

然而，其實務上的限制也不容忽視：首先，在真實環境中精確獲得信號和噪聲的功率頻譜或自相關函數十分困難，尤其在非平穩或時變噪聲條件下更難以估計到位；其次，維納濾波為線性方法，這意味其無法處理非線性現象（如訊號高次諧波、混疊），可能導致濾波後結果出現模糊、振鈴（ringing）等失真現象；第三，設計 FIR 或 IIR 濾波器時需要進行矩陣反演或頻譜因式分解，對計算能力要求較高，尤其在高維或大規模案例中亦不易即時實現。

此外，在應用中也遇到頻率分佈重疊與生態噪聲模式的挑戰，維納濾波解對小幅頻譜估計誤差通常十分敏感，實務效能可能因此明顯下降。而且在一些影像去模糊案例中，若參數估計不精準，更可能導致「過度鈍化」（over-smoothing）或不必要的邊緣損失。

綜上所述，儘管維納濾波在統計理論上具備無可匹敵的最佳特性，但其使用條件限制（已知統計特性、線性假設、計算開銷）與對估計誤差敏感性，使其在較複雜或動態環境中常被替代或與其他自適應、非線性技術（如 LMS、卡爾曼或小波濾波）結合使用，以求更穩健且實用的處理效果。

## 參見

- 諾伯特·維納（Norbert Wiener）
- 卡爾曼濾波

## 參考書目

- Wiener19491: Wiener, Norbert (1949), Extrapolation, Interpolation, and Smoothing of Stationary Time Series. New York: Wiley. ISBN 0-262-73005-7
- Brown19962: 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
- Gershenfeld19993: Neil Gershenfeld, The Nature of Mathematical Modeling, Cambridge University Press, 1999