なぜ自作しようと思ったか

SONY の WH-1000XM シリーズを使っていて、 ふと「これどういう仕組みで音を消してるんだろう」 と気になった。

調べ始めると想像より面白くて、 気がついたら部品を注文していた。

完全に再現することは最初から目指していない。 原理を手を動かして理解したかっただけ。

結果として、 ちゃんと「ノイズが小さくなる」ものは作れた。 市販品の足元にも及ばないけど。

ノイズキャンセリングの原理

ノイズキャンセリング(ANC: Active Noise Cancellation)は、 入ってくる騒音と逆位相の音を生成して打ち消す技術だ。

音は波なので、 同じ振幅で位相が180°ずれた波を重ねると 理論上は消える。

音波の重ね合わせの原理。 山と谷がぴったり合うと振幅がゼロになる。

問題は「リアルタイムで逆位相を生成する」こと。 処理遅延が数ミリ秒あるだけで位相がズレて、 むしろ音が大きくなることもある。

市販品の DSP がいかに優秀かを 実感することになった。

フィードフォワード型とフィードバック型

ANC の実装には大きく2種類ある。

フィードフォワード型(FF型)

マイクをイヤホンの外側に置き、 騒音が耳に届く前に検出して 逆位相を生成する方式。

外部騒音を先読みできるので、 低遅延で処理しやすい。 ただし、マイク位置がズレると 効果が落ちる。

フィードバック型(FB型)

マイクを耳の近くに置く方式。 実際に耳元へ届いた音を見て補正するので、 装着ズレに強い。

ただし制御ループの安定化が難しく、 発振するリスクがある。

最近の高級機は両方を組み合わせた ハイブリッド型が多い。

実際に回路を組んでみた

使ったもの:

マイク → マイクアンプ → 反転アンプ → イヤホン

最初は盛大に発振した。 マイクとイヤホンが近すぎて ハウリングを起こしていた。

距離を取って、 ゲインを下げたら安定した。

結果と感想

低周波にはある程度効果があった。 ただし人の声など高周波は難しい。

市販品との差は大きいけれど、 「原理を理解できた」 という満足感があった。

次にやること

次はマイコンを使って、 もう少し本格的な実装を試したい。