各マイクの位置を(x1, y1), (x2, y2), (x3, y3)、音源位置を(x0, y0)、
音の発生時刻をt0(未知)、各マイクに音が到達する時刻を t1, t2, t3 とする。
・マイク1,2に音が到達する時間差(t2-t1)から次式が成り立つ。
sqrt((x2-x0)^2+(y2-y0)^2) - sqrt((x1-x0)^2+(y1-y0)^2) = c(t2-t1) …(式1)
ここで、sqrt : 平方根(ルート)
^2 : 2乗
c : 音速(既知、気温により決まる)
同様に、マイク2,3に音が到達する時間差(t3-t2)から次式が成り立つ。
sqrt((x3-x0)^2+(y3-y0)^2) - sqrt((x2-x0)^2+(y2-y0)^2) = c(t3-t2) …(式2)
しかし、ここでは音源位置を求めるために以下の手順を採用する。
・音源から各マイクまでの距離と音の到達時間より次式が成り立つ。
sqrt((x1-x0)^2 + (y1-y0)^2) = c(t1-t0) …(式3.1)
sqrt((x2-x0)^2 + (y2-y0)^2) = c(t2-t0) …(式3.2)
sqrt((x3-x0)^2 + (y3-y0)^2) = c(t3-t0) …(式3.3)
・式3.1~式3.3を2乗すると、
(x1-x0)^2 + (y1-y0)^2 = [c(t1-t0)]^2 …(式4.1)
(x2-x0)^2 + (y2-y0)^2 = [c(t2-t0)]^2 …(式4.2)
(x3-x0)^2 + (y3-y0)^2 = [c(t3-t0)]^2 …(式4.3)
・式4.1から式4.2を引くと、
(x1-x0)^2 + (y1-y0)^2 - (x2-x0)^2 - (y2-y0)^2 = [c(t1-t0)]^2 - [c(t2-t0)]^2
展開整理して、
(x1^2+y1^2-x2^2-y2^2)-2x0(x1-x2)-2y0(y1-y2) = c^2(t1^2-t2^2)-2c^2t0(t1-t2) …(式5.1)
・同様に、式4.1から式4.3を引き、展開整理すると、
(x1^2+y1^2-x3^2-y3^2)-2x0(x1-x3)-2y0(y1-y3) = c^2(t1^2-t3^2)-2c^2t0(t1-t3) …(式5.2)
・式5.1、式5.2を変形して、
-2(y1-y2)y0+2c^2(t1-t2)t0 = c^2(t1^2-t2^2)-(x1^2+y1^2-x2^2-y2^2)+2(x1-x2)x0 …(式5.1a)
-2(y1-y3)y0+2c^2(t1-t3)t0 = c^2(t1^2-t3^2)-(x1^2+y1^2-x3^2-y3^2)+2(x1-x3)x0 …(式5.2a)
・ここで、
a1=-2(y1-y2), b1=2c^2(t1-t2), c1=c^2(t1^2-t2^2)-(x1^2+y1^2-x2^2-y2^2), d1=2(x1-x2)
a2=-2(y1-y3), b2=2c^2(t1-t3), c2=c^2(t1^2-t3^2)-(x1^2+y1^2-x3^2-y3^2), d2=2(x1-x3)
とおくと、式5.1a、式5.2aは
a1y0 + b1t0 = c1 + d1x0 …(式5.1b)
a2y0 + b2t0 = c2 + d2x0 …(式5.2b)
となる。
・これをy0, t0に関する連立方程式と考えて解くと、
y0 = Ax0 + B …(式6.1)
t0 = Cx0 + D …(式6.2)
ここで、
A = (b2d1-b1d2)/(a1b2-a2b1), B = (b2c1-b1c2)/(a1b2-a2b1)
C = (a1d2-a2d1)/(a1b2-a2b1), D = (a1c2-a2c1)/(a1b2-a2b1)
・この y0、t0を式4.1に代入すると、x0に関する次の2次方程式を得る。
[x1-x0]^2 + [y1-(Ax0+B)]^2 = [c[t1-(Cx0+D)]]^2
x0について整理すると、
Ex0^2 + Fx0 + G = 0
ここで、
E = 1 + A^2 - c^2C^2 (小文字cと大文字Cに注意)
F = -2x1 - 2(y1-B)A + 2c^2(t1-D)C
G = x1^2 + (y1-B)^2 - c^2(t1-D)^2
・この2次方程式を解くと音の発生位置x0が得られ、更に式6.1よりy0が求められる。
x0 = [-F ± sqrt(F^2 - 4EG)]/(2E) (但し、F^2 - 4EG ≧ 0 のとき)
(注)x0に関する2次方程式からは通常解が2個得られるが、このx0を式6.2に代入して
得られるt0について、t0 < t1, t2, t3 を満たさないものは除外する。