ドップラー効果

ページトップへ 一つ上へ

ポイント


ドップラー効果



さてさて、今回は物理講座っぽくドップラー効果について説明します。
ドップラー効果といっても、音についてと光についてがあります。
今回は音のドップラー効果について簡単に説明します。

まず、ドップラー効果と言うと、救急車の音なんかを想像すると思いますが、
まさにあれです。
救急車が遠くから近づいてきて、自分の目の前を通り過ぎた瞬間に、
音が変わって遠ざかって行くって奴です。

高校の物理なんかの教科書で習ったと思いますが、
ドップラー効果の公式というのは以下のようになります。



ここで、Vは音速、Vsは音源の移動速度、Voを観測者の移動速度として、
fsが元の周波数、foが実際に聞こえる周波数です。

今回、V(音速)は空気中という事なので、340m/sとします。

さて、それでは、空気中を時速60km/hで移動する音について考えましょう。
今回移動する音は、1000Hzの純音を用います。
また、聞く人は動かないものとすると、
V=340
Vs=16.6
Vo=0
fs=1000
となり、実際に聞こえる音の周波数が計算できます。
また、遠ざかる音の周波数は音源の移動速度を負にすれば、
上式で求める事ができます。
それでは、そのプログラムを書いてみましょう。

function doppler

%
% ドップラー効果の実験
% 移動音源は1000Hzの純音
%
%

fs=8000;			% サンプリング周波数
f=1000;			% 1000Hz
t=(1/fs:1/fs:1);		% 1秒間
v=16.6;			% 音源の移動速度

f1=340/(340-v)*f;		% 音源が近づく時の周波数
f2=340/(340+v)*f;		% 音源が遠ざかる時の周波数

x=sin(2*pi*f1*t);		% 純音の作成
y=sin(2*pi*f2*t);

z(1:8000)=x;		% 二つの音の結合
z(8001:16000)=y;

soundsc(z,fs);		% 音を鳴らす


尚、今回は音圧なんてものは考えてないので、
ずっと同じ音圧で流れます。
この方がドップラー効果は体感しやすいかなと(めんどくさかっただけ)

さらに実際は近づいてくる音は瞬間瞬間で高さが変わって知覚されて、
目の前で実際の周波数として知覚されるはずだが、今回はこれもパス。
機会があれば、この辺をちゃんとやってみる事とします。

実際はこんな音→結果音

わかりやすいのかわかりにくいのかよくわからんが。。。

さて、続いては問題の救急車のサイレンについてやってみようと思います。
救急車のサイレンの音は低い方が770Hzで高い方が960Hzとか言われてるので、
それを用いてやってみましょう。

function doppler2

% 
% ドップラー効果の実験2
% 移動音源は救急車のサイレン
%
%

fs=8000;
f1=770;				% サイレン低い音
f2=960;				% サイレン高い音
t=(1/fs:1/fs:0.5);
v=16.6;


f11=340/(340-v)*f1;
f12=340/(340-v)*f2;
f21=340/(340+v)*f1;
f22=340/(340+v)*f2;


x1=sin(2*pi*f11*t);
x2=sin(2*pi*f12*t);
y1=sin(2*pi*f21*t);
y2=sin(2*pi*f22*t);

z(1:4000)=x1;			% 音の結合
z(4001:8000)=x2;
z(8001:16000)=z(1:8000);
z(16001:24000)=z(1:8000);
z(24001:28000)=y1;
z(28001:32000)=y2;
z(32001:40000)=z(24001:32000);
z(40001:48000)=z(24001:32000);

soundsc(z,fs);


まぁ、若干変ですが、こんな感じでしょう。