学部四年生の八月中旬、その2。

 マイクへの音声の到来時間差の推定にはCSPという方法を用いた。数ある時間差推定法の中からこれを用いたのはただなんとなくという理由だったが、二ヶ月後に重要な意味を持ってくることになった。CSPとその重要な意味については、そのうち書く。

 三つのマイクへの到来時間差から音源への半直線を描く方法を考えたのは、大学のすぐ近くのマクドナルドでのことだった。ルーズリーフに式を書いていった。三次元空間ベクトルが答えとなるので、未知の変数はx, y, zだった。つまり、式は三本必要になることになる。そこから考え始めた。

 (a_x,a_y,a_z)を三つのマイクのうちの二つのマイク間の方向ベクトルとする。またその二つのマイクでの到来時間差から到来角度を推定した結果を\thetaとする。すると次のコサインの式が成り立つ(このあたり図がないと分かりづらい)。

 \frac{a_xx+a_yy+a_zz}{\sqrt{x^2+y^2+z^2}\sqrt{a_x^2+a_y^2+a_z^2}}=\cos\theta

 同様に、次の式も成り立つ。

 \frac{b_xx+b_yy+b_zz}{\sqrt{x^2+y^2+z^2}\sqrt{b_x^2+b_y^2+b_z^2}}=\cos\phi

 ここまでの式を見て、方向ベクトルはなるべくなら単位ベクトルであった方がやりやすいということに気づくので、

  x^2+y^2+z^2=1

 という式も導入することにする。abについても正規化をすると、結果的には以下の方程式を解けば方向ベクトルが求まることになる。

  \left( \begin{array}{ccc}a_{x} & a_{y} & a_{z} \\ b_{x} & b_{y} & b_{z} \\ x & y & z \end{array} \right) \left( \begin{array}{c} x \\ y \\ z \end{array} \right) = \left( \begin{array}{c} \cos\theta \\ \cos\phi \\ 1 \end{array} \right) .

 この式を手で解くのは厄介だったので、mapleに任せた。

 あとは半直線と半直線の最近点を求めるためにちょっとした算数をしなければならないが、ただ微分をすればいいだけなので、特に説明はしない。