適応フィルタ

適応フィルタ(てきおうフィルタ、: adaptive filter)とは、最適化アルゴリズムに従ってその伝達関数自己適応させるフィルタである。その最適化アルゴリズムは複雑であるため、適応フィルタは一般にデジタル信号処理を行うデジタルフィルタとして実装され、入力信号に基づいて自己適応する。適応フィルタでないフィルタは、フィルタ係数群が固定である(それらが伝達関数を形成する)。

場合によっては、事前に係数を決定できないため、適応型の係数を必要とすることがある(例えば、ノイズ信号の特性が不明な場合)。そのような場合は適応フィルタを使うのが一般的で、フィルタ係数はフィードバックによって変化し、結果として周波数応答が変化する。

一般に適応処理は、フィルタの最適性能(例えば、入力のノイズ成分を最小化する性能)の判定基準である目的関数を使い、次の反復でフィルタ係数をどう修正するかを決定するアルゴリズムを使う。

デジタルシグナルプロセッサの性能向上と共に、適応フィルタがよく使われるようになり、現在では携帯電話などの通信機器やデジタルカメラや医療機器などで普通に使われている。

病院心拍を記録(心電図)していて、そこに50 Hzのノイズが混入したとする(電源回路からノイズとして乗りやすい周波数の1つ)。

このノイズを除去する方法としては、50 Hzのノッチフィルタを使う方法がある。しかし、電源の周波数は場所によって微妙に異なるため、正確なノイズの周波数は47 Hzから53 Hzまでの範囲で様々になる可能性がある。静的フィルタではこの範囲全体を除去する必要があるが、心電図の信号も似たような周波数成分を含むとしたら、それによって最終的な出力が劣化することになる。

そのような情報の損失を防ぐため、適応フィルタを使うことができる。その場合、患者からの信号とは別に、電源からも直接入力を得て、除去すべき周波数をその場で求めることになる。このような技法によって、除去範囲が狭まり、出力信号の品質が向上する。

ブロック図

下に示したブロック図は、LMSフィルタ(least mean squares filter)やRLSフィルタ(recursive least squares filter)などの適応フィルタの基本構成を表している。背景にある考え方として、可変フィルタは必要とされる信号を推定したものを抽出すると考える。

ブロック図

このブロック図を解説するにあたって、以下を仮定する。

  • 入力信号は、必要とされる信号 d ( n ) {\displaystyle d(n)} とノイズ v ( n ) {\displaystyle v(n)} を加算したものとなっている。
    x ( n ) = d ( n ) + v ( n ) {\displaystyle x(n)=d(n)+v(n)}
  • 可変フィルタは有限インパルス応答(FIR)構造である。その場合、インパルス応答はフィルタ係数に等しい。オーダー p のフィルタ係数は、以下のように定義される。
    w n = [ w n ( 0 ) , w n ( 1 ) , . . . , w n ( p ) ] T {\displaystyle \mathbf {w} _{n}=\left[w_{n}(0),\,w_{n}(1),\,...,\,w_{n}(p)\right]^{T}}
  • 誤差信号または目的関数は、必要とされる信号とそれを推定した信号の差分である。
    e ( n ) = d ( n ) d ^ ( n ) {\displaystyle e(n)=d(n)-{\hat {d}}(n)}

可変フィルタは、インパルス応答で入力信号を畳み込むことで、必要とされる信号を推定する。ベクトルで表すと、次のようになる。

d ^ ( n ) = w n T x ( n ) {\displaystyle {\hat {d}}(n)=\mathbf {w} _{n}^{T}\mathbf {x} (n)}

ここで

x ( n ) = [ x ( n ) , x ( n 1 ) , . . . , x ( n p ) ] T {\displaystyle \mathbf {x} (n)=\left[x(n),\,x(n-1),\,...,\,x(n-p)\right]^{T}}

は入力信号ベクトルである。さらに、可変フィルタは常にフィルタ係数を次のように更新している。

w n + 1 = w n + Δ w n {\displaystyle \mathbf {w} _{n+1}=\mathbf {w} _{n}+\Delta \mathbf {w} _{n}}

ここで Δ w n {\displaystyle \Delta \mathbf {w} _{n}} はフィルタ係数の補正係数である。適応アルゴリズムは、この補正係数を入力信号と誤差信号に基づいて生成する。LMSとRLSでは、この係数更新アルゴリズムが異なる。

適応フィルタの応用例

参考文献

  • Monson H. Hayes Statistical Digital Signal Processing and Modeling, Wiley, 1996, ISBN 0-471-59431-8
  • Simon Haykin Adaptive Filter Theory, Prentice Hall, 2002, ISBN 0-13-048434-2

関連項目