Skip to main content
QUICK REVIEW

[論文レビュー] Implementation of Multi-channel Active Noise Control based on Back-propagation Mechanism

Zhengding Luo, Dongyuan Shi|arXiv (Cornell University)|Aug 17, 2022
Advanced Adaptive Filtering Techniques被引用数 9
ひとこと要約

本稿では、PyTorchの自動微分を用いて、多チャネルフィードフォワード型LMS(McFxLMS)および多チャネルフィードフォワード型NLMS(McFxNLMS)アルゴリズムのバックプロパゲーション処理を簡素化する、新しい実装を提案する。フィルタ係数の更新を勾配ベース最適化として扱うことで、手動での導出を最小限に抑え、効率的で柔軟かつオープンソースな多チャネルANCシステムの実装を可能にした。実際の航空機、ヘリコプター、交通騒音信号を用いた実世界での有効なノイズ低減が確認された。

ABSTRACT

Active noise control (ANC) systems can efficiently attenuate low-frequency noises by introducing anti-noises to combine with the unwanted noises. In ANC systems, the filtered-x least mean square (FxLMS) and filtered-X normalized least-mean-square (FxNLMS) algorithm are well-known algorithms for adaptively adjusting control filters. Multi-channel ANC systems are typically required to attenuate unwanted noises in a large space. However, open-source implementations of the multi-channel FxLMS (McFxLMS) and multi-channel FxNLMS (McFxNLMS) algorithm continue to be scarce. Therefore, this paper proposes a simple and effective implementation approach of the McFxLMS and McFxNLMS algorithm. Motivated by the back-propagation process during neural network training, the McFxLMS and McFxNLMS algorithm can be implemented via automatic derivation mechanism. We implemented the two algorithms using the automatic derivation mechanism in PyTorch and made the source code available on GitHub. This implementation method can improve the practicality of multi-channel ANC systems, which is expected to be widely used in ANC applications.

研究の動機と目的

  • アクティブノイズ制御システムにおける多チャネルFxLMS(McFxLMS)およびFxNLMS(McFxNLMS)アルゴリズムのオープンソース実装が不足しているという問題に対処する。
  • 複数のマイクとスピーカーを有する多チャネルANCシステムにおける、適応フィルタ更新の手動導出と実装の複雑さを克服する。
  • PyTorchの自動微分を活用し、フィルタ係数更新のバックプロパゲーション処理を自動化することで、実装負荷を低減する。
  • マイクおよびスピーカー数の簡単な設定変更を可能にすることで、多チャネルANCシステムの実用性と拡張性を向上させる。
  • 研究開発の加速を図るため、再利用可能でオープンソースのコードベースを提供する。

提案手法

  • PyTorchの自動微分フレームワーク内に、McFxLMSおよびMcFxNLMSアルゴリズムを微分可能計算グラフとして定式化する。
  • ANCシステムを $J \times K \times M$ の構成として定義し、$J$ 個のリファレンスマイク、$K$ 個のセカンドリーソース(スピーカー)、$M$ 個のエラーマイクを想定する。
  • 制御フィルタ行列 $\mathbf{W}(n)$ を学習可能なパラメータとして定義し、各 $\mathbf{w}_{kj}(n)$ は $j$ 番目のリファレンスから $k$ 番目のセカンドリーソースへのフィルタを表す。
  • エラーマイクにおける誤差信号 $e_m(n)$ の二乗和に基づくコスト関数を定義し、最適化の損失関数として用いる。
  • 勾配 $\nabla_{\mathbf{w}_{kj}} \mathcal{L}$ をバックプロパゲーションで計算し、SGD や Adam などの標準最適化アルゴリズムを用いて自動的にフィルタ更新を実行する。
  • 合成関数の微分法則を用いて、勾配更新式 $\mathbf{w}_{kj}(n+1) = \mathbf{w}_{kj}(n) + \mu \sum_{m=1}^{M} e_m(n) \mathbf{x}'_{jkm}(n)$ を導出する。ここで $\mathbf{x}'_{jkm}(n)$ は、フィルタドリファレンス信号ベクトルである。

実験結果

リサーチクエスチョン

  • RQ1ディープラーニングフレームワークにおけるバックプロパゲーションメカニズムを、多チャネルANCシステムにおける適応フィルタ更新の導出を自動化するために効果的に再利用できるか?
  • RQ2提案手法の自動微分に基づく実装は、従来の手動コーディングによるMcFxLMS/McFxNLMSアルゴリズムと比較して、性能および収束特性に優れているか?
  • RQ3この手法は、実世界のノイズ環境における多チャネルANCシステムの実用性および設定の柔軟性をどの程度向上させるか?
  • RQ4フィルタ係数に $L1$ や $L2$ 正則化を追加する制約を容易にサポートできるか?
  • RQ5航空機、ヘリコプター、交通騒音などの多様な実世界ノイズ信号に対して、この実装のノイズ低減性能はどの程度か?

主な発見

  • 提案手法は、航空機(50–12,000 Hz)、ヘリコプター(50–9,800 Hz)、交通騒音(40–1,400 Hz)を含む実世界の低周波数ノイズ信号に対して、効果的なノイズ減衰を達成した。
  • 航空機およびヘリコプター騒音において、McFxNLMSアルゴリズムはMcFxLMSよりもわずかに高い定常状態でのノイズ低減レベルを達成したが、収束速度は遅かった。
  • 交通騒音のトランジェント成分に対しては、McFxLMSアルゴリズムがMcFxNLMSよりも迅速に応答した。これは、収束速度と定常状態性能の間のトレードオフを示している。
  • PyTorchの自動微分の使用により、勾配更新の手動導出の必要がなくなり、実装が著しく簡素化され、誤りのリスクも大幅に低減された。
  • オープンソースのコードベースにより、マイクおよびスピーカー数などのシステム次元の変更が容易に行えるようになり、柔軟性と再利用性が向上した。
  • フレームワークは、標準的なディープラーニング最適化アルゴリズム(例:Adam、SGD)との統合を可能にし、フィルタ係数に正則化制約を適用することも可能となった。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。