Because we know only the time difference between each microphone’s recognition of the sound, not the initial time of the sound itself, we decided to use multilateration as the primary algorithm. Multilateration uses the time difference of arrival to calculate a distance from the receivers. Plotting with a radius of this distance yields a hyperbolic arc that gives possible locations for the sound. The intersection of multiple arcs found by using multiple sensors gives the position of the origin of the sound.

In more detail, the microphones pick up the sound at different times which Matlab then cross correlates to get the time difference of arrival between any two sensors. This time difference of arrival is then used with the speed of the sound to create a series of linear equations that when solved, will give the direction and position of the sound’s origin.

With a sound emitter (Es) at some unknown position (x,y), we create a coordinate system around the known positions of the sensors, with the position of one sensor defined as the origin (S0). Using this sensor as the origin simplifies the distance from this sensor to Es. The distance from the sensor at the origin to the emitter can be written as

d0=S0 - Es= x2+ y2

The distance d0 is the speed of sound multiplied by the transit time (T0). However, since we do not know T0, we use the time difference of arrival between S0 and any other sensor, Sm.

vτm=vTm- vT0

vτm= dm- d0

Next, we used the cross correlation function to measure the time shift between the recorded waveforms, which is τm. Some manipulation of the above equations gives a set of linear equations of Es.

*0=xAm+yBm+C*
*m*

where Am, Bm, and Cm are constants representing the distances from the chosen sensor Sm and Es. Because S0 is used in each equation, S0 cannot be used to generate an equation for the set.

As an algorithm, multilateration requires very little input: the times at which each microphone recognizes the sound, the fixed distance between the microphones, and the speed of sound. As a result, it was easier to implement multilateration over more conventional triangulation methods in which the angle and the distances between the microphones and the origin of sound are needed.