Main Content

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

この例では、最小平均二乗 (LMS) アルゴリズムを使用して入力信号からノイズを除去する方法を示します。LMS 適応フィルターでは、Input 端子での基準信号と Desired 端子での信号を使用して、自動的にフィルター応答を一致させます。適切なフィルター モデルに収束すると、フィルター処理されたノイズが除去され、誤差信号に元の信号のみが含まれるはずです。

例の検証

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

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

このモデルの全プラットフォーム浮動小数点バージョンを以下に示します。

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

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

ブロックのカラー コード

モデル内のブロックの色に注意してください。これらは、ブロックの実行速度を示すサンプル時間の色です。ここで、最速の離散サンプル時間 (たとえば、8 kHz のオーディオ信号処理部分) は赤、2 番目に速い離散サンプル時間は緑となります。(Waterfall Scope ブロックの前の Downsample ブロックで) 32 でダウンサンプリングした後、色が赤から緑に変化することがわかります。サンプル時間の色の表示の詳細については、サンプル時間情報の表示 (Simulink)を参照してください。

Waterfall Scope

[Waterfall] ウィンドウには、適応フィルターのフィルター係数の動作が表示されます。データの複数のベクトルが一度に表示されます。これらのベクトルは、正規化された LMS 適応フィルターのフィルター係数の値を表し、連続サンプル時間の入力データとなります。[Waterfall] ウィンドウでは、3 次元軸でデータが表示されます。既定では、x 軸が振幅を、y 軸がサンプルを、z 軸が時間をそれぞれ表します。[Waterfall] ウィンドウには、ツール バー ボタンがあり、表示されたデータの拡大、データ収集の中止、スコープの表示のフリーズ、スコープ位置の保存、およびワークスペースへのデータのエクスポートなどを実行できます。

Acoustic Environment サブシステム

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

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

浮動小数点バージョン: dspanc

固定小数点バージョン: dspanc_fixpt (Fixed-Point Designer を使用)

参照

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