Main Content

音響ノイズ キャンセリング (LMS)

この例では、最小平均二乗 (LMS) アルゴリズムを使用して入力信号からノイズを除去する方法を示します。この例では事前学習済みの Simulink® モデルを使用しています。dspanc モデルの LMS Filter ブロックは、"Input" 端子の基準信号と "Desired" 端子の目的の信号を使用してフィルター応答を自動的に一致させる適応フィルターをモデル化します。LMS Filter ブロックは、フィルター処理されたノイズを元の信号から除去します。フィルターが収束すると、結果の誤差信号には元の信号のみが含まれます。

音響ノイズ キャンセラー モデル

この例で使用される dspanc モデルでは、Acoustic Environment サブシステムの上側端子での信号出力がホワイト ノイズです。下位端子の信号出力は、カラード ノイズと WAV ファイルからの信号で構成されます。このモデルでは、適応フィルターを使用して下位端子の信号出力からノイズを除去します。このデモをシミュレートする場合、ノイズとドラムの演奏の両方が聴こえます。やがて、モデル内の適応フィルターがノイズを除去するため、ドラムの演奏のみが聞こえるようになります。

[モデルを開く] ボタンをクリックして dspanc モデルを開きます。

オーディオ デバイスの利用

モデルを実行し、オーディオ デバイスを使用してオーディオ信号をリアル タイムで聞きます (シミュレーションの実行中)。停止時間が無限大に設定されているため、実行中にモデルを対話的に操作することができます。たとえば、フィルターを変更したり遅い適応と速い適応を切り替えたりして、その条件下でリアルタイムのオーディオ処理の動作を確認できます。

ブロックのカラー コード

モデルの実行時、モデル内のブロックのカラー コードはブロックの実行速度を示します。このモデルでは、赤色は最速の離散サンプル時間 (たとえば、Acoustic Environment サブシステム内の 8 kHz のオーディオ信号処理ブロック) を示し、緑色は 2 番目に速い離散サンプル時間を示します。32 でダウンサンプリングした後、Array Plot ブロックで色が赤から緑に変化することがわかります。サンプル時間の色の表示の詳細については、サンプル時間情報の表示 (Simulink)を参照してください。

配列プロット スコープ

Array Plot ブロックをダブルクリックすると、スコープ ウィンドウが開いて適応フィルターの係数の動作が表示されます。ウィンドウには、データの複数のサンプルが一度に表示されます。これらのサンプルは、正規化された LMS 適応フィルターのフィルター係数の値を表します。配列プロット ウィンドウには、ツール バー ボタンがあり、表示されたデータの拡大、スコープの表示のフリーズ、およびスコープ位置の保存を実行できます。

Acoustic Environment サブシステム

モデル内の Acoustic Environment サブシステムをダブルクリックすると、このサブシステムの詳細を確認できます。"Exterior Mic" 出力端子に送られる信号を作成するには、ガウス ノイズを使用します。"Filter" 端子への入力が 0 から 1 に変わると、Digital Filter ブロックがローパス フィルターからバンドパス フィルターへと変わります。Digital Filter ブロックからのフィルター処理されたノイズ出力が WAV ファイルからの信号に追加されて、"Pilot's Mic" 出力端子に送られる信号が生成されます。

使用可能な例のバージョン

このモデルの固定小数点バージョンについては、この例に含まれる dspanc_fixpt モデルを開きます。

参照

[1] Haykin, S., Adaptive Filter Theory, 3rd Ed., Prentice-Hall, 1996.

参考

| |

関連するトピック