DSP System Toolbox


最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

胎児心電図への適応ノイズ キャンセリング (ANC) の適用

この例では、適応ノイズ キャンセルを使用する適応フィルターにより、ノイズを除去する方法を示します。この例では、コマンド adaptiveNoiseCancellationExampleAppadaptiveNoiseCancellationExampleApp を入力して起動できる UI (ユーザー インターフェイス) を使用します。詳細は、後述の「アーキテクチャ例」を参照してください。

はじめに

適応ノイズ キャンセリングにおいて、測定信号 d(n) には次の 2 つの信号が含まれます。目的の不明な信号 v(n) と干渉信号 u(n)。ここでの目的は、干渉信号と高い相関関係のある基準信号 x(n) を使用して、測定信号から干渉信号を除去することです。ここで取り上げる例は、胎児心電図への適応フィルターの適用です。この場合、母体の心拍信号が胎児の心拍センサー信号から除去されます。この例は、Widrow らによる『Adaptive noise canceling: Principles and applications』(Proc.IEEE®、vol. 63、no. 12、pp.1692 ~ 1716、1975 年 12 月) を基にしています。

母体心拍信号の作成

この例では、母体と胎児の両方の心電図の形状をシミュレーションします。4000 Hz のサンプルレートを使用します。この信号の心拍は毎分約 89 回で、信号のピーク電圧は 3.5 ミリボルトです。

胎児心拍信号の作成

胎児の心拍は母体の心拍よりも顕著に速く、毎分 120 ~ 160 回の範囲です。胎児心電図の振幅も母体心電図の振幅よりも弱くなります。この例では、胎児の心拍をシミュレーションするために、毎分 139 回の心拍と 0.25 ミリボルトのピーク電圧に相当する心電図信号を作成します。

測定された母体心電図

母体の心電図信号は、母体の胸部から取得されます。このタスクにおける適応ノイズ キャンセラーの目的は、胎児の心電図信号から母体の心拍信号を除去することです。このタスクを実行するには、母体の心電図から生成された基準信号が必要です。胎児の心電図信号と同様に、母体の心電図信号には加法性広帯域ノイズが含まれます。

測定された胎児心電図

母体の腹部で測定された胎児心電図信号は、通常、腹部の胸腔から伝播する母体の心拍信号よりも弱いものです。この伝播パスを 10 のランダムな係数で線形 FIR フィルターとして記述します。さらに、少量の無相関ガウス ノイズを追加して、測定内の広帯域ノイズ発生源をシミュレーションします。

適応ノイズ キャンセラーの適用

このタスクを実行するために、適応ノイズ キャンセラーでは、ほとんどの適応アルゴリズムを使用できます。例をシンプルにするために、15 の係数と 0.00007 のステップ サイズを含む最小平均二乗 (LMS) 適応フィルターを使用します。これらの設定で、適応ノイズ キャンセラーは、適用後数秒で適切に収束します。これは、この特定の診断アプリケーションにおいて適切な期間といえます。

胎児心拍信号の復元

適応フィルターの出力信号 y(n) には、ここでの最終的な目的信号ではない母体の推定心拍信号が含まれます。システムが収束した後に誤差信号 e(n) に残っているのは、胎児の心拍信号の推定と残差測定ノイズです。誤差信号を使用して胎児の心拍を推定できます。

アーキテクチャ例

コマンド adaptiveNoiseCancellationExampleAppadaptiveNoiseCancellationExampleApp はシミュレーションを対話的に実行するように設計されたユーザー インターフェイスを起動します。また、測定された胎児心拍および母体心拍と、抽出された胎児心拍を表示する時間スコープも起動します。

生成された MEX ファイルの使用

MATLAB Coder では、コマンド HelperANCCodeGenerationHelperANCCodeGeneration を実行して主要な処理アルゴリズムの MEX ファイルを生成できます。生成された MEX ファイルは、コマンド adaptiveNoiseCancellationExampleApp(true) を実行して使用できます。