適応フィルタのソースを表示
←
適応フィルタ
ナビゲーションに移動
検索に移動
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
'''適応フィルタ'''(てきおうフィルタ、{{lang-en-short|adaptive filter}})とは、[[最適化問題|最適化]][[アルゴリズム]]に従ってその[[伝達関数法|伝達関数]]を'''自己適応'''させるフィルタである。その最適化アルゴリズムは複雑であるため、適応フィルタは一般に[[デジタル信号処理]]を行う[[デジタルフィルタ]]として実装され、入力信号に基づいて自己適応する。適応フィルタでないフィルタは、フィルタ係数群が固定である(それらが[[伝達関数法|伝達関数]]を形成する)。 場合によっては、事前に係数を決定できないため、適応型の係数を必要とすることがある(例えば、ノイズ信号の特性が不明な場合)。そのような場合は適応フィルタを使うのが一般的で、フィルタ係数はフィードバックによって変化し、結果として周波数応答が変化する。 一般に適応処理は、フィルタの最適性能(例えば、入力のノイズ成分を最小化する性能)の判定基準である[[最適化問題|目的関数]]を使い、次の反復でフィルタ係数をどう修正するかを決定するアルゴリズムを使う。 [[デジタルシグナルプロセッサ]]の性能向上と共に、適応フィルタがよく使われるようになり、現在では携帯電話などの通信機器やデジタルカメラや医療機器などで普通に使われている。 == 例 == [[病院]]で[[心臓|心拍]]を記録([[心電図]])していて、そこに50 [[ヘルツ|Hz]]のノイズが混入したとする([[電源回路]]からノイズとして乗りやすい周波数の1つ)。 このノイズを除去する方法としては、50 Hzの[[ノッチフィルタ]]を使う方法がある。しかし、電源の周波数は場所によって微妙に異なるため、正確なノイズの周波数は47 Hzから53 Hzまでの範囲で様々になる可能性がある。静的フィルタではこの範囲全体を除去する必要があるが、心電図の信号も似たような周波数成分を含むとしたら、それによって最終的な出力が劣化することになる。 そのような情報の損失を防ぐため、適応フィルタを使うことができる。その場合、患者からの信号とは別に、電源からも直接入力を得て、除去すべき周波数をその場で求めることになる。このような技法によって、除去範囲が狭まり、出力信号の品質が向上する。 == ブロック図 == 下に示したブロック図は、[[LMSフィルタ]](least mean squares filter)や[[RLSフィルタ]](recursive least squares filter)などの適応フィルタの基本構成を表している。背景にある考え方として、可変フィルタは必要とされる信号を推定したものを抽出すると考える。 :[[画像:AdaptiveFilter_C.png|500px|ブロック図]] このブロック図を解説するにあたって、以下を仮定する。 * 入力信号は、必要とされる信号 <math> d(n)</math> とノイズ <math> v(n)</math> を加算したものとなっている。 *:<math> x(n) = d(n)+v(n)</math> * 可変フィルタは[[有限インパルス応答]](FIR)構造である。その場合、[[インパルス応答]]はフィルタ係数に等しい。オーダー ''p'' のフィルタ係数は、以下のように定義される。 *:<math>\mathbf{w}_{n}=\left[w_{n}(0),\,w_{n}(1),\, ...,\,w_{n}(p)\right]^{T}</math> * 誤差信号または[[最適化問題|目的関数]]は、必要とされる信号とそれを推定した信号の差分である。 *:<math> e(n) = d(n)-\hat{d}(n)</math> 可変フィルタは、インパルス応答で入力信号を畳み込むことで、必要とされる信号を推定する。ベクトルで表すと、次のようになる。 :<math> \hat{d}(n) = \mathbf{w}_{n}^{T}\mathbf{x}(n)</math> ここで :<math> \mathbf{x}(n)=\left[x(n),\,x(n-1),\,...,\,x(n-p)\right]^{T}</math> は入力信号ベクトルである。さらに、可変フィルタは常にフィルタ係数を次のように更新している。 :<math> \mathbf{w}_{n+1} = \mathbf{w}_{n}+\Delta\mathbf{w}_{n}</math> ここで <math>\Delta\mathbf{w}_{n}</math> はフィルタ係数の補正係数である。適応アルゴリズムは、この補正係数を入力信号と誤差信号に基づいて生成する。LMSとRLSでは、この係数更新アルゴリズムが異なる。 == 適応フィルタの応用例 == * [[消音スピーカー]] == 参考文献 == 洋書 * Ali H. Sayed: ''Fundamentals of Adaptive Filtering'', Wiley International, ISBN 978-0-471-46126-5 (2003年). ※ 頁数が1125で分厚い。 * Monson H. Hayes: ''Statistical Digital Signal Processing and Modeling'', Wiley, ISBN 0-471-59431-8 (1996年). * Simon Hakin: ''Introduction to Adaptive Filters'', Macmillan publishers, ISBN 0-029494605 (1984年). * Simon Haykin: ''Adaptive Filter Theory''(5th Ed.)、Pearson、ISBN 978-0-27376408-3 (2014年). ※ 第4版までは Prentice-Hall からの出版で 初版 (1986年)、第二版 (1991年)、第三版 (1996年)、第四版 (2002年). 初版は590頁、第5版は900頁程度。 * [https://github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python Roger R Labbe Jr: ''Kalman and Bayesian Filters in Python'' の第14章"Adaptive Filtering" (CC By 4.0)] ** [https://inzkyk.xyz/kalman_filter/ 日本語訳:「Python で学ぶ ベイズフィルタとカルマンフィルタ」の第14章:"適応フィルタ"] 和書 * サイモン・ヘイキン、武部幹(訳):「適応フィルタ入門」、現代工学社、ISBN 4-87472-134-6 (第4版、1999年7月1日). ※ 初版1987年9月10日、第2版1990年10月1日、第3版1994年3月10日。※ Introduction to Adaptive Filters (1984) の訳。 * Simon Hakin、鈴木博(監訳)、府川和彦(他、訳):「適応フィルタ理論」、科学技術出版(ディジタル移動通信シリーズ),ISBN 978-4-87653056-4 (2001年1月)。※ これは原著第3版の訳。 == 関連項目 == *[[カルマンフィルター]] *[[フィルタ回路]] *[[線形予測法]] {{DEFAULTSORT:てきおうふいるた}} [[Category:信号処理]]
このページで使用されているテンプレート:
テンプレート:Lang-en-short
(
ソースを閲覧
)
適応フィルタ
に戻る。
ナビゲーション メニュー
個人用ツール
ログイン
名前空間
ページ
議論
日本語
表示
閲覧
ソースを閲覧
履歴表示
その他
検索
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
特別ページ
ツール
リンク元
関連ページの更新状況
ページ情報