mikeo_410


 エコーで距離

  「エコー」で試したことを元に距離を測ってみます。
  Silverlightアプリケーションで、図をクリックすると実行します。

  結論はあまり上手く行きません。
  方法の問題か、環境の問題なのかもまだわかりません。もう少し試してみます。

音速

  距離は音速から計算しますが、音速の正しい値はわかりません。
  多くの場合、メートルで表され、小数点以下1桁か2桁で、数センチ以下の精度です。
  また、温度、湿度、気圧の影響で変化します。0℃ と 20℃では、2m近く違います。
  さらに、空気の流れがあれば大きく変わります。
  「音の伝播」、「音速と音高

方法

  スピーカとマイクを並べて置いて、スピーカーから決まった周波数の正弦波を150ms再生します。
  マイクには、150ms に反響を加えた時間の信号が入力されると言うものです。

  プログラムで、スピーカーから再生を指示しても、実際に何時鳴るかはわかりません。
  再生機構の発振器の正確さを利用しようとするものです。
  スピーカーからは、サンプリングレート 16,000Hz で再生しています。
  マイクからは、サンプリングレート 48,000Hz で入力しています。

振幅

  最初の図の赤い線は、振幅の大きさを表しています。
  1ms間の振幅のレンジをプロットしています。
  1ms中に複数の周期が含まれないと成り立たないので、2,000Hz以上の音を使います。
  実行してみると、赤の線の立ち上がりから立下りは、ほぼ 150ms でした。
  反響や残響は、振幅値としてはほとんど表れていません。

相関

  最初の図の青い線は、相関係数を表しています。
  振幅値としては、小さくなっていても、信号の周期性から、一定時間、スピーカー出力の影響があることが分かります。

  相関係数が0.5の線を下る向きに切った点で、距離を算出してみました。

  相関係数も1msごとに計算しています。
  ただし、これは変化が大きかったので、前後の数ミリ秒の区間で計算したものを使っています。


mikeo_410@hotmail.com