適応信号処理とは?

適 応信号処理とは,簡 単に言えば状況に応じて処理内容を自動的に変更し,常に最良の目的が得られるようにすることです.例えば,低域フィルタを考えた場合,カットオフ周波数な どを決めて,それに応じてフィルタ係数を設計するわけですが,入力信号の特性が変化した場合,それに応じてフィルタを設計し直す必要が生じます.適応フィ ルタは,そのような信号の変化に対して自らのフィルタ係数を自動的に変更し,常に最適な目的信号が得られるようにするものです.そのため,何が最適なのか を知るために模範となるもの(信号)が必要になります.一種の学習システムとも言えます.

我 々の研究室では主に周波数領域での適応信号処理を研究しています.これは,対象となる信号を一旦周波数に変換(分解)し,周波数領域で処理し,その後,信 号に戻すものです.では,なぜ,周波数に分解して処理するのが良いのか?それは先に示したフィルタを再び例にとり説明しましょう.
適応フィルタの図
上 図は一般的な非巡回型の適応フィルタの構成例です.入力信号(X_i)は標本化されたものを想定しています.それが遅延素子(Z^-1)により右方向へ標 本化時間毎に遅延されていきます.それらの信号は係数(a_i)が乗じられ,加えられて出力信号(Y_i)になります.その出力信号は所望信号(D_i) との誤差(e_i)が計算され,その誤差が小さくなるように各係数a_iを適応アルゴリズムにより更新していきます.
さ て,いま,係数a_0を変更した場合を考えます.その変更(変動)は出力信号y_iに影響するのは明らかです.そして,y_iが変化すれば,e_iも変化 しますので,適応アルゴリズムによりすべての係数に影響を与えることになります.このことは他の係数についても同様です.あちら立てればこちら立たずの状 態です.何度かの繰り返しの中で最終的には最良な係数に収束するのですが,それには時間(繰り返し回数)が必要なことはおわかりだと思います.

そ れに対して,周波数領域での適応フィルタの構成を以下に示します.一般的なものではなく,我々が研究のベースにしているものです.入力信号は一旦離散フー リエ変換により周波数毎の信号に分解されます.周波数毎に分解された信号は適応係数が乗じられ,加算され,出力信号が得られます.ここで重要なのは,周波 数毎の信号はお互いに無相関で,独立しているということです.したがって,ある周波数の信号の係数を変更しても,それは他の係数の処理には影響しないとい うことです.これにより係数の更新が高速に行われ,最適な係数への高速な収束が常に保証されます.

周波数領域適応フィルタ

た だし.これには条件があります.それは誤差信号をどの段階で計算するかです.すなわち,一般の適応フィルタ(ここではあえて時間領域適応フィルタと呼びま しょう)のように出力信号と所望信号の誤差により係数を更新させるとすれば,先のような周波数毎の独立性は無くなってしまします.すなわち,ある係数の変 動は出力信号を経てすべての係数の変動につながります.したがって,周波数領域適応フィルタの場合は,時間領域で誤差を計算するのでなく,誤差も周波数毎 に計算する必要があります.先の周波数領域適応フィルタで,所望信号が周波数毎(すなわち所望スペクトル)に得られるように構成されているのはそのためで す.

ここで,周波数領域適応フィルタの論文で,この点を忘れているものが時々あります.実はそうなる理由があるのです.それは,周波数領 域適応フィルタは,周波数への変換と逆変換が必要になります.一般的に,周波数への変換は高速フーリエ変換(FFT)が用いられますが,逆変換でも同じ演 算量が必要になります.すなわち,基本的には2回のFFTが必要です.そこで,逆変換を省略し,所望信号として時間信号を与えれば,適応係数はフィルタ係 数を学習するのと同時に,周波数信号を時間信号に戻す操作(係数)を学習することになります.まさに一石二鳥であり,逆変換に必要なFFTの演算がみごと に削減できる仕組みです.しかしながら,この構成ではせっかくの周波数領域適応フィルタの高速収束特性は残念ながら得られないのは先に示したとおりです.
高速収束特性が得られないのであれば,周波数に変換するだけ無駄ですので,意味がありません.したがって,周波数領域適応フィルタの構成では,周波数領域での誤差算出は無くてはならないものなのです.

「あ れ,でも先の周波数領域適応フィルタの図では逆変換がなかったような?」とお気づきの方がいればありがたい.我々の方では逆変換が加算だけで実現できる変 形離散フーリエ変換(MDFT)対というのを用いているからです.それが我々の研究の特徴です.後は,これまで発表した論文を参考にして下さい.

ま た,周波数領域に限らず,適応フィルタにはもう一つ大きな問題があります.それは所望信号をどのようにして得るか,です.例えば,適応フィルタで音声の雑 音除去に使うのであれば,所望信号として,雑音の無い信号が必要になるわけですが,それがあるなら苦労はしません.特に,適応フィルタの特徴を生かすのであ れば,事前に十分な時間をかけて学習するのでなく,オンライン的に実時間で学習していかなければなりませんので,そのような状況で模範となる信号が得られ るという応用は少ないでしょう.