Take the 2-minute tour ×

I am having some trouble to find or implement an algorithm to find a signal source. The objective of my work is to find the sound emitter position.

To accomplish this I am using three microfones. The technique that I am using is multilateration that is based on the time difference of arrival.

The time difference of arrival between each microfones are found using Cross Correlation of the received signals.

I already implemented the algorithm to find the time difference of arrival, but my problem is more on how multilateration works, it's unclear for me based on my reference, and I couldn't find any other good reference for this that are free/open.

If you have some references on how I can implement a multilateration algorithm, or some other trilateration algorithm that I can use based on time difference of arrival it would be a great help.

Thanks in advance.

share|improve this question
Triangulation? Do you mean trilateration? –  Josh Lee May 8 '11 at 18:22
Yes, thanks for your correction, I edited it. –  OPiazao May 8 '11 at 18:28
add comment

1 Answer

up vote 1 down vote accepted

The point you are looking for is the intersection of three hyperbolas. I am assuming 2D here since you only use 3 receptors. Technically, you can find a unique 3D solution but as you likely have noise, I assume that if you wanted a 3D result, you would have taken 4 microphones (or more).

The wikipedia page makes some computations for you. They do it in 3D, you just have to set z = 0 and solve for system of equations (7).

The system is overdetermined, so you will want to solve it in the least squares sense (this is the point in using 3 receptors actually).

share|improve this answer
add comment

Your Answer


