1. 概述
當系統中的有效信號和噪聲都是隨機過程,信號和噪聲的頻譜還可能重疊(比如有效信號是高斯-馬爾可夫過程,噪聲是白噪聲),根據頻域參數設計濾波器的方法就不再適用。
維納濾波器可以在一些場合解決上述為題,其設計原則是均方誤差(的期望)最小。我們從相對簡單的單參數濾波器開始。
2. 參數濾波器
設輸入信號為$x(t)+n(t)$,其中$n(t)$為噪聲,系統沖擊響應為$g(t)$,輸出為$y(t)$。
將輸入輸出寫成Laplace形式:
$Y(s)=G(s)[X(s)+N(s)]$ (2.1)
誤差為有效信號與濾波器輸出的差:
$e(t)=x(t)-y(t)$ (2.2)
$E(s)=X(s)-Y(s)$ (2.3)
(2.1)式代入(2.3)式:
$E(s)=X(s)-G(s)[X(s)+N(s)]=[1-G(s)]X(s)-G(s)N(s)$ (2.4)
從上式可以看出,誤差有兩個來源:一是輸入信號被傳遞函數“編輯”后與原始信號的差;二是系統處理后的噪聲。
更進一步的說,誤差第一項可看做$X(s)$通過系統$1-G(s)$,第二項可看做$N(s)$通過系統$G(s)$。
如果信號與噪聲是不相關的,誤差的功率譜就為$[1-G(s)][1-G(-s)]S_x(s)+G(s)G(-s)S_n(s)$。
將該功率譜作逆變換得到自相關,並對自相關取$\tau=0$,均方誤差就可以寫為如下形式:
$E[e^2 ]=\frac{1}{2\pi j}\int_{-j\infty}^{+j\infty}[1-G(s)][1-G(-s)]S_x(s)ds+\frac{1}{2\pi j}\int_{-j\infty}^{+j\infty}G(s)G(-s)S_n(s)ds$ (2.5)
其中,$S_x(s)$是有效信號的功率譜,$S_n(s)$是噪聲的功率譜。
在設計該種濾波器時,一般方法是使用帶參的傳遞函數,於是(2.5)式也是一個帶參的式子。針對具體問題,將均方誤差對該參數求導,就可以得出滿足最小均方誤差條件的參數值。
上面是從頻域求解最小均方誤差;很快我們將看到如何從時域求解最小均方誤差。
3. 穩態條件下的維納濾波
我們先做以下幾個假定:
1) 濾波器輸入為信號和噪聲的線性疊加,兩者均為協方差平穩過程,且自相關和互相關已知;
2) 濾波器是線性時不變的;
3) 輸出是協方差平穩的(即不考慮系統初啟動時的狀態,而認為系統已經穩定運行了較長時間);
4) 誤差記為:
$e(t)=x(t+\alpha)-y(t)$. (3.1)
若$\alpha >0$,這就是一個預測。
這次我們從時域來求解最小均方誤差。
$e^2(t)=x^2(t+\alpha)-2x(t+\alpha)y(t)+y^2(t)$ (3.2)
$y(t)$可寫為卷積積分:
$y(t) = \int_{-\infty}^{+\infty} g(u)[x(t-u)+n(t-u)] du$ (3.3)
將3.3代入3.2並求期望:
$E[e^2]=E \left[ x^2(t+\alpha) -2x(t+\alpha) \int_{-\infty}^{+\infty}g(u)[x(t-u)+n(t-u)]du + \int_{-\infty}^{+\infty}g(u)[x(t-u)+n(t-u)]du \int_{-\infty}^{+\infty}g(v)[x(t-v)+n(t-v)]dv \right]$
$=E[x^2(t+a)] -2 \int_{-\infty}^{+\infty}g(u) E \{ [x(t-u)+n(t-u)] x(t+\alpha) \} du + \int_{-\infty}^{+\infty} \int_{-\infty}^{+\infty} g(u)g(v) E \{ [ x(t-u) + n(t-u) ] [x(t-v) + n(t-v) ] \} dudv $
$=R_x(0) - 2 \int_{-\infty}^{+\infty} g(u) R_{x+n, x}(\alpha+u) du + \int_{-\infty}^{+\infty} \int_{-\infty}^{+\infty} g(u) g(v) R_{x+n} (u-v) du dv $ (3.4)
* 如果信號與噪聲不相關,上式可以根據下面的式子進一步簡化:
$R_{x+n}=R_x+R_n, R_{x+n, x} = R_x$ (3.5)
我們希望找到能夠最小化$E[e^2]$的$g(u)$。這是一個典型的變分問題。因此將(3.4)寫成(3.6):
$E[e^2] = R_x(0) - 2 \int_{-\infty}^{+\infty} [g(u) + \epsilon \eta(u)] R_{x+n, x}(\alpha + u) du + \int_{-\infty}^{+\infty} \int_{-\infty}^{+\infty} [g(u) + \epsilon \eta(u)][ g(v) + \epsilon \eta(v)] R_{x+n}(u - v) du dv $
$\frac{d E[e^2]} {d\epsilon} = -2 \int_{-\infty}^ {+\infty} \eta(u)R_{x+n,x}(\alpha + u) du + \int_{-\infty}^{+\infty} \int_{-\infty}^{+\infty} [g(u) \eta(v) + g(v) \eta(u) + 2\epsilon \eta(u)\eta(v)] R_{x+n}(u-v) dudv $
$\frac{d E[e^2]} {d\epsilon} | _{\epsilon=0} = -2 \int_{-\infty}^ {+\infty} \eta(u)R_{x+n,x}(\alpha + u) du + \int_{-\infty}^{+\infty} \int_{-\infty}^{+\infty} [g(u)\eta(v) + g(v) \eta(u)] R_{x+n}(u-v) dudv = 0$ (3.6)
上面第二個積分(二重積分)式子可以寫成$\int_{-\infty}^{+\infty} \int_{-\infty}^{+\infty} g(u)\eta(v)R_{x+n}(u-v)dudv + \int_{-\infty}^{+\infty} \int_{-\infty}^{+\infty} g(v)\eta(u)R_{x+n}(v-u)dvdu = 2 \int_{-\infty}^{+\infty} \int_{-\infty}^{+\infty} g(v)\eta(u)R_{x+n}(v-u)dvdu $
於是就得到(作一下簡單的變量替換:$v\rightarrow u, u\rightarrow \tau$)
$ \int_{-\infty}^{+\infty} \eta (\tau) [-R_{x+n,x}(\alpha + \tau) + \int_{-\infty}^{+\infty} g(u)R_{x+n}(u-\tau)du]d\tau=0$ (3.7)
對上面這個方程,我們將首先求非因果解,然后求因果條件下的解。
3.1 非因果解
非因果解主要用於離線處理數據的情況。
若式(3.7)成立,則根據變分法基本引理:
$\int_{-\infty}^{+\infty} g(u) R_{x+n}(u-\tau) du = R_{x+n,x}(\alpha + \tau) $ (3.8)
因為自相關是偶對稱的,所以上面等式的左邊可看做卷積。兩邊對$\tau$作Laplace變換:
$G(s)S_{x+n}(s) = S_{x+n,x}(s) e^{\alpha s}$ (3.9)
或寫為
$G(s) = \frac {S_{x + n, x}(s) e^{\alpha s} } { S_{x+n}(s) } $ (3.10)
這樣我們就得到了非因果條件下的傳遞函數。
*上面的傳遞函數可以有一個直觀的理解:
假定信號與噪聲不相關,且$\alpha=0$,那么:
$G(s)=\frac{S_x(s)}{S_x(s)+S_n(s)}$
分子是有效信號功率譜,分母是信號+噪聲的功率譜,這幾乎是一個不能再直觀的“功率譜誤差最小”的式子了。
均方誤差為(對(3.4)作一個小小的變形):
$E[e^2] = R_x(0) - \int_{-\infty}^{+\infty} g(u) R_{x+n,x} (\alpha + u) du + \int_{-\infty}^{+\infty} g(u) [-R_{x+n, x} (\alpha + u) + \int_{-\infty}^{+\infty} g(v) R_{x+n} (v-u) dv] du $ (3.11)
根據(3.8),上面中括號內的式子等於零,所以:
$E[e^2] = R_x(0) - \int_{-\infty}^{+\infty} g(u) R_{x+n, x}(\alpha + u) du$
3.2 因果解
我們依然從(3.7)開始。
對因果解,可得(3.18):
$\int_{-\infty}^{+\infty} g(u) R_{x+n}(u-\tau) du - R_{x+n,x}(\alpha + \tau) = 0$. $\tau \geq 0 $ (3.18)
上式稱為Wiener-Hopf(維納-霍普夫)方程,它只需考慮$\tau \geq 0$的情況。
為了解這個方程,將右邊的0替換為一個形式未知的函數$a(\tau)$,其在負軸取值不確定,在正軸取值為0。於是將(3.18)改寫為:
$\int_{-\infty}^{+\infty} g(u) R_{x+n}(u-\tau) du - R_{x+n,x}(\alpha + \tau) = a(\tau)$. $-\infty \lt \tau \lt +\infty $ (3.19)
兩邊做Laplace變換:
$G(s)S_{x+n}(s) - S_{x+n,x}(s) e ^{\alpha s} = A(s)$ (3.20)
將$S_{x+n}$分解為兩個分式的乘積,這兩個分式分別包含左半平面和右半平面的零極點:
$ [ G(s) S_{x+n}^{+} (s) ] S_{x+n}^{-} (s) - S_{x+n,x} (s) e ^{\alpha s} = A(s) $
$G(s) S_{x+n}^+(s) = \frac{A(s)}{S_{x+n}^- (s) } + \frac{S_{x+n,x} e^{\alpha s}} {S_{x+n}^- (s)} $ (3.21)
$S^+$包含左半平面零極點,$S^-$包含右半平面零極點。
因為$g(u)$是因果的,所以$G(s)S_{x+n}^+(s)$的零極點都在左半平面,而$a(\tau)$又是一個非因果信號。於是(3.21)可用如下框圖表示:
[正時間函數] = [負時間函數] + [正負時間函數]
在(3.21)中令兩邊正時間函數相等:
$G(s)S_{x+n}^+(s)=$ positive-time part of $\frac {S_{x+n,x}(s)e^{\alpha s}} {S_{x+n}^-(s)}$
即
$G(s)=\frac{1}{S_{x+n}^+}$ $\big[$ positive-time part of $\frac{S_{x+n,x}(s) e^{\alpha s} } {S_{x+n}^-(s)} $ $ \big ] $ (3.22)
這個式子括號里的部分可以按如下方法求解:
1) 找出其反變換
2) 移位$\alpha$
3) 求單邊Laplace變換
4. 例子
設有效信號為Gauss-Markov過程,方差$\sigma^2$,時間常數$\beta$;噪聲為白噪聲,功率譜為常數$A$。兩者不相關。我們分別使用參數濾波器、非因果維納濾波和因果維納濾波三種方法處理。
4.1 單參數濾波器
我們使用一階濾波器$G(s)=\frac{1}{1+Ts}$。
$G(s)=\frac{1/T}{s+1/T}$
$1-G(s)=\frac{s}{s+1/T}$
$S_x(s)=\frac {2\sigma^2\beta} {-s^2+\beta ^2} = {\frac {\sqrt {2\sigma^2\beta} } {s+\beta} } \cdot {\frac {\sqrt {2\sigma^2\beta} } {-s+\beta} } $
$S_n(s)=A=\sqrt{A} \cdot \sqrt{A}$
上面幾個式子代入(2.5),查積分表可得
$E[e^2] = \frac {\sigma^2 \beta T} { 1 + \beta T } + \frac {A} {2T} $
對上式求最小值,就得到
$T = \frac { \sqrt A } {\sigma \sqrt {2\beta} - \beta \sqrt {A} } $
4.2 非因果濾波器
為簡化計算,我們令$\sigma^2=\beta=A=1$,$\alpha=0$。因為有效信號和噪聲不相關,所以
$S_{x+n}=S_x+S_n=\frac{2}{-s^2+1}+1=\frac{-s^2+3}{-s^2+1}$
$S_{x+n,x}=S_x=\frac{2}{-s^2+1}$
$e^{\alpha s}=1$
根據(3.10),
$G(s)=\frac {\frac {2} {-s^2+1}} {\frac{-s^2+3}{-s^2+1}}=\frac{2}{-s^2+3}$
部分分式展開為
$G(s)=\frac{1/\sqrt 3}{s+\sqrt 3} + \frac {1/\sqrt 3} {-s + \sqrt 3} $
$g(t)=\frac{1}{\sqrt 3}e^{-\sqrt 3 t} u(t) + \frac{1}{\sqrt 3} e^{\sqrt 3 t}u(-t)$
4.3 因果濾波器
$S_{x+n}=S_x+S_n = \frac{2}{-s^2+1}+1=\frac{-s^2+3}{-s^2+1}$
$S_{x+n, x}=S_x=\frac{2}{-s^2+1}$
$e^{\alpha s}=1$
首先,將$S_{x+n}$按零極點在正負平面的分布進行分解:
$S_{x+n}=S_{x+n}^+S_{x+n}^-=[\frac{s+\sqrt 3}{s+1}][\frac{-s+\sqrt 3}{-s+1}]$
下一步,求得$S_{x+n,x}/S_{x+n}^-$
$\frac{S_{x+n,x}}{S_{x+n}^-} = \frac{\frac{2}{-s^2+1}} { \frac{-s+\sqrt 3 }{-s+1} } = \frac{2} {(-s+\sqrt 3)(s+1)} $
接着,對上面的式子進行分式分解:
$\frac{S_{x+n,x}} {S_{x+n}^-}=\frac{\sqrt 3 - 1} {s+1} + \frac{\sqrt 3 - 1} {-s+\sqrt 3}$
上面式子的第一個分式就是正時間部分。按(3.22),
$G(s)=\frac{1}{\frac{s+\sqrt 3}{s+1} } \cdot \frac{\sqrt 3 - 1} {s+1} = \frac {\sqrt 3 - 1}{s + \sqrt 3}$
$g(t)=(\sqrt 3 -1)e^{-\sqrt 3 t} u(t)$
5. 總結
單參數濾波器需要事先確定濾波器形式,例子中僅考慮一階情況,效果在上面三種濾波器中是最差的;非因果濾波器在維納濾波器下幾乎沒有限制,效果最佳;因果濾波器不能利用“未來”的值,效果在中間。
維納濾波器要求至少了解信號和噪聲的自相關函數,如果信號和噪聲相關,還要了解它們的互相關,這對維納濾波的應用范圍造成了一定的限制。
