2014/05/24

ドップラー効果 Doppler Effect

サウンドエフェクトとしてドップラー効果でも作ってみようと思ったら、意外と複雑であることが判明。経験的には救急車などが近寄ってくると、だんだんと音が高くなるようなイメージがあったのだが、等速で移動している場合には一定であった。実際には速度は常に変化しているので、かなり不安定な音になっている。数式で表すと以下のようになる。

f' = f(V-vo)/(V-vs)

f': 観測者に聴こえる周波数
f : 実際の周波数
V : 音速
vs : 音源の速度 source
vo : 観測者の速度 observer

上記計算式を使って計算すると、例えば観測者に向かって時速60kmで走っている車からAの440Hzの音を出すと、観測者は半音高い約A#の466Hzぐらいに聴こえる。通常街で感じるドップラー効果はこの程度が多いように思う。本来の音よりもかなり高ければ、速度もかなり速いことになる。実際小型ジェット機などはかなり甲高く聴こえる。

下はJavaScriptでイメージを作ってみた。 音を出している移動体が右へ等速運動していて、常に画面中央にいる状態。
スライドで0にすると停止状態になり、同心円に音が広がって行く。聴こえる周波数はどこでも一定。
0.5は音速/2のスピードなので、かなり高速。約170m/sec(時速612km)。観測者が進行方向にいると2倍高い周波数に聴こえる。
1.0にすると、音速と同じになる。こうなると移動体よりも先に音は進めなくなる。
0.5



中学生ぐらいから学ぶフーリエ変換 目次