Math World Lab

ノイズキャンセリングの音波干渉(逆位相合成の数学)

外来騒音に180度反転させた逆位相の音波をぶつけて完全消音する三角関数と波動力学

この単元の発見をシェア
3行要約(Key Takeaways / AIOサマリー)
1
アクティブノイズキャンセリング(ANC)は、外来ノイズと同じ振幅で位相が180度ズレた「逆位相波」をリアルタイム生成してぶつけることで音を消す技術
2
三角関数の加法定理 sin⁡(θ+π)=−sin⁡(θ)\sin(\theta + \pi) = -\sin(\theta) より、2つの波を足し合わせると理論上完全にゼロになる破壊的干渉を利用している
3
現代のイヤホンや航空機・自動車では、デジタルシグナルプロセッサ(DSP)がマイクロ秒単位で音波をサンプリングし、逆位相波をスピーカーから出力している

なぜこれを学ぶのか? — 現実社会とテクノロジーでの価値

Purpose & Motivation

なぜ生まれたのか?

航空機のコックピットや騒音環境下でパイロットの聴力を守り、通信をクリアにするため「騒音に逆の音をぶつけて相殺する」逆位相の発想から生まれた。

身につく武器・思考力

三角関数の加法定理や和積の公式、フーリエ解析が「日常生活の静寂(AirPods等のANC)」を生み出す魔法の道具であることを直感・実装できる。

実社会・ITでの活躍現場

  • •Apple AirPods ProやSonyワイヤレスヘッドホンのアクティブノイズキャンセリング(ANC)
  • •航空機・新幹線・高級EV車の車内静粛化アクティブノイズコントロールシステム
  • •潜水艦のソナー音響ステルス遮蔽技術
  • •病院の手術室やMRI室内での患者向け騒音低減システム

Layer 1 — 直感・シミュレーター

騒音波(赤)と消音波(青)の振幅・位相スライダーを動かしてみよう。「消音波の位相ズレ」を π\pi(3.14)に合わせ、振幅を騒音と同じにすると、耳に届く合成音(緑)が完全に水平な直線になり、騒音がゼロになる瞬間を体感できる。

外来騒音の振幅1.00
消音スピーカーの振幅0.50
消音波の位相ズレ $\Delta\phi$0.00 $\pi$
$0$ (同位相・爆音)$\pi$ (逆位相・消音)$2\pi$
消音効果: 0% 騒音低減中
数理条件: $A_1 = A_2$ かつ $\Delta\phi = \pi$ (180度反転波) で波の山と谷が完全に相殺
1. 音波の合成シミュレーション
騒音波 $f(t)$ アンチノイズ波 $g(t)$ 耳に届く合成音 $f+g$
直感チェック!ミニクイズ

騒音波 f(t)=Asin⁡(ωt)f(t) = A\sin(\omega t) を完全に打ち消すために、ANCスピーカーが出力すべき音波 g(t)g(t) はどれか?

Layer 2 — 定義・受験・証明

定義

音波などの線形媒質中を伝搬する波動には「重ね合わせの原理(Superposition Principle)」が成立する。時刻 tt、位置 xx における2つの音波 y1(x,t)=A1sin⁡(kx−ωt)y_1(x, t) = A_1 \sin(kx - \omega t) と y2(x,t)=A2sin⁡(kx−ωt+Δϕ)y_2(x, t) = A_2 \sin(kx - \omega t + \Delta\phi) が出会ったとき、合成波 y(x,t)y(x, t) は単純な代数和として表される。

y(x,t)=y1(x,t)+y2(x,t)y(x, t) = y_1(x, t) + y_2(x, t)

振幅が等しく(A1=A2=AA_1 = A_2 = A)、位相差が奇数倍の半波長(Δϕ=(2n+1)π\Delta\phi = (2n+1)\pi)のとき、

sin⁡(θ+π)=−sin⁡(θ)⟹y(x,t)=Asin⁡(θ)−Asin⁡(θ)=0\sin(\theta + \pi) = -\sin(\theta) \quad \Longrightarrow \quad y(x, t) = A\sin(\theta) - A\sin(\theta) = 0

となり、波が完全に打ち消し合う「破壊的干渉(Destructive Interference)」が発生する。

公式・数理モデル

y(t)=Asin⁡(ωt)+Asin⁡(ωt+π)=0y(t) = A\sin(\omega t) + A\sin(\omega t + \pi) = 0

証明・導出

三角関数の和積の公式による干渉振幅の導出:

振幅が等しい2つの波 y1=Asin⁡(ωt)y_1 = A\sin(\omega t) と y2=Asin⁡(ωt+Δϕ)y_2 = A\sin(\omega t + \Delta\phi) の合成を考える。 三角関数の和積の公式 sin⁡α+sin⁡β=2sin⁡α+β2cos⁡α−β2\sin\alpha + \sin\beta = 2\sin\frac{\alpha+\beta}{2}\cos\frac{\alpha-\beta}{2} を適用すると、

y1+y2=2Acos⁡(Δϕ2)sin⁡(ωt+Δϕ2)y_1 + y_2 = 2A \cos\left(\frac{\Delta\phi}{2}\right) \sin\left(\omega t + \frac{\Delta\phi}{2}\right)

合成波の振幅 AcombinedA_{\text{combined}} は、位相差 Δϕ\Delta\phi のみの関数となる。

Acombined=2A∣cos⁡(Δϕ2)∣A_{\text{combined}} = 2A \left|\cos\left(\frac{\Delta\phi}{2}\right)\right|

1. 【強め合う干渉(Constructive)】: Δϕ=2nπ\Delta\phi = 2n\pi のとき、cos⁡(0)=1\cos(0) = 1 より振幅は最大 2A2A(音量が2倍・音圧エネルギー4倍)。 2. 【弱め合う干渉(Destructive)】: Δϕ=(2n+1)π\Delta\phi = (2n+1)\pi のとき、cos⁡(π/2)=0\cos(\pi/2) = 0 より振幅は 00(完全消音)。

実際の現実空間では、周囲の騒音は単一正弦波ではなく様々な周波数の合成音であるため、マイクで拾った音を高速フーリエ変換(FFT)で周波数成分ごとに分解し、各成分に対して逆位相・同一振幅の信号を瞬時に計算(フィードフォワード・フィードバック制御)してスピーカーから再生している。

押さえておきたいポイント

  • アクティブノイズキャンセリング(ANC)は、音に「逆の音」を足すことで静寂を生み出す数学的イノベーションである
  • 低周波騒音(電車の走行音、飛行機のエンジン音、エアコンのファン)は波長が長く位相合わせが容易なため、ANCの効果が極めて高くなる
  • 高周波(人の話し声や食器の当たる音)は波長がミリ単位と極めて短く、わずか数十マイクロ秒の遅延でも逆位相が同位相(騒音倍増)に化けるリスクがあるため、イヤーピースによる物理遮音(パッシブノイズキャンセリング)と組み合わせて処理される
参照基準・学習指導要領との対応

本トピックの内容・数理モデルは、文部科学省学習指導要領(算数・数学・情報)および国際標準カリキュラムに準拠し、エンジニアリング現場の実装事例と照らし合わせてMath World Lab編集部により検証・作成されています。

Layer 3 — 工学応用・現場実装

DSP(デジタル信号プロセッサ)によるリアルタイムANCアルゴリズム

参照マイクで拾った外来騒音 x[n]x[n] に対し、適応型デジタルフィルタ(LMSアルゴリズム等)を用いてスピーカーから耳までの音響伝達特性(セカンダリパス)を補正した逆位相音 y[n]y[n] を計算・出力する。耳元のエラーマイクで残留騒音 e[n]e[n] を監視し、消音誤差が最小になるようフィルタ係数を毎秒数万回自己更新する。

1// リアルタイムANC(適応型LMSフィルタによる外来音打ち消し)
2class SimpleActiveNoiseCanceller {
3 private filterWeights: number[];
4 private learningRate: number; // 更新ステップサイズ mu
5
6 constructor(filterOrder: number = 8, learningRate: number = 0.05) {
7 this.filterWeights = new Array(filterOrder).fill(0);
8 this.learningRate = learningRate;
9 }
10
11 // 1ステップのノイズ低減処理
12 // referenceNoise: 外側のマイクが拾った騒音の過去履歴バッファ
13 // actualNoiseAtEar: 実際に耳元に到達した騒音
14 public processSample(noiseHistory: number[], actualNoiseAtEar: number) {
15 // 逆位相消音波の生成: y = sum(w_i * x_i)
16 let antiNoise = 0;
17 for (let i = 0; i < this.filterWeights.length; i++) {
18 antiNoise += this.filterWeights[i] * noiseHistory[i];
19 }
20
21 // 耳に届く音(残留騒音エラー): e = actualNoise - antiNoise
22 const residualError = actualNoiseAtEar - antiNoise;
23
24 // LMSアルゴリズムによる重み更新(二乗誤差最小化)
25 // w[i] = w[i] + 2 * mu * error * x[i]
26 for (let i = 0; i < this.filterWeights.length; i++) {
27 this.filterWeights[i] += 2 * this.learningRate * residualError * noiseHistory[i];
28 }
29
30 return { antiNoise, residualError };
31 }
32}
33
34// シミュレーション実行
35const anc = new SimpleActiveNoiseCanceller(4, 0.1);
36const noiseBuffer = [0, 0, 0, 0];
37
38console.log("=== ノイズキャンセリング学習開始 ===");
39for (let step = 0; step < 10; step++) {
40 const noise = Math.sin(step * 0.5); // 周期的な低周波騒音
41 noiseBuffer.unshift(noise);
42 noiseBuffer.pop();
43
44 const { antiNoise, residualError } = anc.processSample(noiseBuffer, noise);
45 console.log(
46 `Step ${step}: 騒音=${noise.toFixed(2)}, 消音波=${antiNoise.toFixed(2)}, 残留音=${residualError.toFixed(2)}`
47 );
48}

次に学ぶならコレ!おすすめトピック

この単元と深い繋がりを持つ、あわせて学ぶと理解が深まるおすすめ単元

数理モデル・概念が近い関連トピック

関連度高高校数学

加法定理と波の干渉(ノイズキャンセリング)

「なぜ逆位相の音をぶつけると騒音が消えるのか?」三角関数の合成と音響工学の秘密

関連度高大学数学

フーリエ変換と周波数分解

どんなに複雑な波も、単純なサイン波の重ね合わせに分解できる

Acoustic Beats Δf
関連度高高校数学

音のうなりと三角関数の積和公式・干渉の数理

2つの近い周波数が生む心地よい揺らぎ — 包絡線と楽器チューニングの原理

同じレベルで次に挑戦したいトピック

同レベル推薦工学応用

勾配降下法

谷底を探すAIの基本アルゴリズム

同レベル推薦工学応用

ニューラルネットワークの数学(順伝播と活性化関数)

入力に重みを掛けて足し合わせ、非線形関数で発火させるAIの基本素子

同レベル推薦工学応用

レコメンドの仕組み(コサイン類似度とベクトル検索)

ユーザーの好みと商品の近さを「ベクトルのなす角」で判定するアルゴリズム

工学・実社会での応用先でつながるトピック

工学・実践連携小学校・算数

比例と反比例

y=kxy = kx と y=kxy = \frac{k}{x}、グラフと表はどう違う?

工学・実践連携中学数学

二次関数と放物線

a, b, c を動かすと放物線の形と位置はどう変わる?

工学・実践連携中学数学

円の方程式(基礎)

中心と半径を動かして、円の方程式が「距離」そのものであることを確かめる

あなたの数学力をさらに伸ばす

数学の弱点診断や算数パズルに挑戦してみませんか?

簡単な質問に答えてあなたにぴったりの学習ロードマップを発見したり、直感を試すパズルで数の面白さを体験できます。