ドップラー効果
さてさて、今回は物理講座っぽくドップラー効果について説明します。
ドップラー効果といっても、音についてと光についてがあります。
今回は音のドップラー効果について簡単に説明します。
まず、ドップラー効果と言うと、救急車の音なんかを想像すると思いますが、
まさにあれです。
救急車が遠くから近づいてきて、自分の目の前を通り過ぎた瞬間に、
音が変わって遠ざかって行くって奴です。
高校の物理なんかの教科書で習ったと思いますが、
ドップラー効果の公式というのは以下のようになります。
ここで、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); % 音を鳴らす |
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); |