概要

ウィーナー・フィルタによる
劣化信号の復元

MORE...

ウィーナー・フィルタ
を導く

ノイズが定常で信号と無相関と仮定してウィーナー・フィルタを
導きます

MORE...

トリビア

あまり語られることのない
ウィーナー・フィルタの生い立ち

MORE...

ウィーナー・フィルタをやさしく解説

概要

未知の原信号 \(X(\omega)\) にフィルタ \(H(\omega)\) が掛かり、さらにノイズ \(N(\omega)\) が加わった劣化信号 \(Y(\omega)\) が得られたとします。 \begin{eqnarray} Y(\omega) &=& H(\omega)X(\omega)+N(\omega) \label{Y} \end{eqnarray}


図1 : 劣化信号の生成モデル

もし、原信号 \(X(\omega)\)、ノイズ \(N(\omega)\)、フィルタ \(H(\omega)\) の特性がある程度判っているなら、 得られたノイズ混じりの劣化信号 \(Y(\omega)\) から元の信号 \(X(\omega)\) を復元できないでしょうか。

ノイズが定常で信号と無相関な場合、劣化信号にウィーナー・フィルタ (Wiener filter) を掛けると、復元誤差 (誤差パワー・スペクトルの期待値)を最小にできます。 \begin{eqnarray} E[\ |\underbrace{X(\omega)}_{原信号}-\underbrace{G(\omega)}_{ウィーナー\\ フィルタ}\cdot \underbrace{Y(\omega)}_{劣化信号}|^2\ ] \to \min \label{EXhatX} \end{eqnarray}


図2 : ウィーナー・フィルタによる劣化信号の復元

ウィーナー・フィルタを導く

煩雑なので、以下 \(X(\omega)\) などの \((\omega)\) を省略し、式(\ref{EXhatX})を \begin{eqnarray} \varepsilon &=& E\left[|X-GY|^2\right] \end{eqnarray} と表すことにして、式(\ref{Y})を代入して展開していきます。 \begin{eqnarray} \varepsilon &=& E[|X-GY|^2] \nonumber\\ &=& E[|X-G(HX+N)|^2] \\ && X でまとめ直して \nonumber\\ &=& E[|(1-GH)X-GN|^2] \\ && 一般に |z|=z z^* だから \nonumber\\ &=& E[\left\{(1-GH)X-GN\right\}\left\{(1-GH)X-GN\right\}^*] \\ &=& E[\left\{(1-GH)X-GN\right\}\left\{(1-GH)^*X^*-G^*N^*\right\}] \\ && G と H は確定だから期待値演算 E[\quad ] の外に出して \nonumber\\ &=& (1-GH)(1-GH)^*E[XX^*]-G(1-GH)^*E[NX^*] \nonumber\\ && \quad -G^*(1-GH)E[N^*X] +GG^*E[NN^*] \label{eps1} \end{eqnarray} ここで原信号 \(X\) のパワー・スペクトルを \begin{eqnarray} P_S\ =\ E[|X|^2]\ =\ E[XX^*] \end{eqnarray} ノイズ \(N\) のパワー・スペクトルを \begin{eqnarray} P_N\ =\ E[|N|^2]\ =\ E[NN^*] \end{eqnarray} と書くことにしましょう。原信号 \(X\) とノイズ \(N\) が無相関とすると \begin{eqnarray} E[NX^*]\ =\ E[N^*X]\ =\ 0 \end{eqnarray} になりますので、式(\ref{eps1})は \begin{eqnarray} \varepsilon &=& (1-GH)(1-GH)^*\underbrace{E[XX^*]}_{P_S}-G(1-GH)^*\underbrace{E[NX^*]}_{0} \nonumber\\ && \quad -G^*(1-GH)\underbrace{E[N^*X]}_{0}+GG^*\underbrace{E[NN^*]}_{P_N} \\ &=& (1-GH)(1-GH)^*P_S + GG^*P_N \\ &=& (1-GH)(1-G^*H^*)P_S + GG^*P_N \\ &=& (1-G^*H^*-GH+GG^*HH^*)P_S + GG^*P_N \\ &=& P_S - G^*H^*P_S - GHP_S + |G|^2|H|^2P_S + |G|^2P_N \\ &=& (|H|^2P_S + P_N)|G|^2 - P_S(GH + G^*H^*) + P_S \label{eps2} \end{eqnarray} 一般に \(a(\neq 0),c\in \mathbb{R},\ G,b\in \mathbb{C}\) に対して \begin{eqnarray} a|G|^2 + bG + b^*G^* + c &=& a|G|^2 + bG + b^*G^* +c + \left(\frac{bb^*}{a} -\frac{bb^*}{a}\right) \\ &=& a\left(GG^* + G\frac{b}{a} + \frac{b^*}{a}G^* + \frac{bb^*}{a^2}\right)+c-\frac{bb^*}{a} \\ &=& a\left(G+\frac{b^*}{a}\right)\left(G^*+\frac{b}{a}\right)+c-\frac{bb^*}{a} \\ &=& a\left(G+\frac{b^*}{a}\right)\left(G+\frac{b^*}{a}\right)^*+c-\frac{bb^*}{a} \\ &=& a\left|G+\frac{b^*}{a}\right|^2+c-\frac{|b|^2}{a} \end{eqnarray} が成り立ちますから、 \begin{eqnarray} \left\{ \begin{array}{lll} a &=& |H|^2P_S + P_N \\ b &=& -HP_S \\ c &=& P_S \end{array} \right. \end{eqnarray} とすれば(\ref{eps2})式は、次式のように \(A|G-B|^2+C\) の形に書くことができます。 \begin{eqnarray} \varepsilon &=& (|H|^2P_S+P_N)\left| G - \frac{H^*P_S}{|H|^2P_S+P_N}\right|^2 + P_S - \frac{|H|^2P_S^2}{|H|^2P_S+P_N} \label{eps3} \end{eqnarray} 最後の 2 項を \begin{eqnarray} P_S - \frac{|H|^2P_S^2}{|H|^2P_S+P_N} &=& P_S\left(1 - \frac{|H|^2P_S}{|H|^2P_S+P_N}\right) \\ &=& P_S \frac{|H|^2P_S+P_N-|H|^2P_S}{|H|^2P_S+P_N} \\ &=& \frac{P_S P_N}{|H|^2P_S+P_N} \\ &=& \frac{P_N}{|H|^2+\frac{P_N}{P_S}} \end{eqnarray} とまとめると、式(\ref{eps3})は次のように簡単化できます。 \begin{eqnarray} \varepsilon &=& \underbrace{(|H|^2P_S+P_N)}_{非負} \cdot \left| G - \frac{H^*P_S}{|H|^2P_S+P_N}\right|^2 + \underbrace{\frac{P_N}{|H|^2+\frac{P_N}{P_S}}}_{非負} \label{eps4} \end{eqnarray} ここで、\(|H|^2\) は非負、\(P_S, P_N\) もパワー・スペクトルだから非負なので、\(|H|^2P_S+P_N\geq 0\) であることを考えると、 誤差パワー・スペクトルの期待値 \(\varepsilon\) が最小になるのは、\(|\quad |^2\) の中が 0、つまり \begin{eqnarray} G&=&\displaystyle\frac{H^*P_S}{|H|^2P_S+P_N} \label{Wiener} \end{eqnarray} を採用した時 (この \(G\) をウィーナー・フィルタといいます) で、復元しきれずに残る誤差パワー・スペクトルは、式(\ref{eps4}) の最後の項 \begin{eqnarray} \varepsilon_{min} &=& \frac{P_N}{|H|^2+\frac{P_N}{P_S}} \end{eqnarray} で見積もれます。


図3 : ウィーナー・フィルタ \(G\) で誤差パワーが最小になる

非因果性

よく見ると式(\ref{Wiener})の分子には \(H^*\) があります。

\(P_S, P_N\) はパワー・スペクトルだから実数、\(|H|^2\) も振幅2乗特性だから実数ですが、\(H^*\) だけは複素数で、しかも \(H\) の複素共役です。

周波数領域で複素共役を取った信号は、時間領域で時間軸が逆転しますので、\(H\) が因果的インパルス応答を持つ場合でも、ウィーナー・フィルタ \(G\) のインパルス応答は非因果的になってしまいます。

画像処理では、元々ボケやブレなどの劣化要因 \(H\) のインパルス応答(点広がり関数)は非因果的であることが多いので、問題になることは少ないと思いますが、 音や振動のリアルタイム処理では、この非因果性が問題になります。

トリビア

太平洋戦争当時、日本軍のアメリカ本土爆撃に危機感をつのらせたアメリカ政府が、 数学者のノーバート・ウィーナーさんに、高射砲の命中確率を最大化する研究を委嘱したのがきっかけで、 ウィーナー・フィルタは生まれたようです。

しかし、当時あまりの難解さに、研究報告書の表紙が黄色だったことにひっかけて、 それ自体が「黄禍 (Yellow Peril) 」と呼ばれていたのだとか…。

【参考】人名の "Wiener " は文献により「ウィーナー」以外に「ウィナー」や「ウイナー」と書く場合があり、「ウィーナー・フィルタ」は「ウィナー・フィルタ」や「ウイナー・フィルタ」と書かれていることもあります。