Skip to content Skip to navigation


You are here: Home » Content » Behind the Scenes: Algorithms at Work


Recently Viewed

This feature requires Javascript to be enabled.

Behind the Scenes: Algorithms at Work

Module by: Anastasia Dodd. E-mail the author

Summary: In this module is a description of multilateration, the technique used to pinpoint position.

Behind the scenes Algorithms:

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.

Content actions

Download module as:

Add module to:

My Favorites (?)

'My Favorites' is a special kind of lens which you can use to bookmark modules and collections. 'My Favorites' can only be seen by you, and collections saved in 'My Favorites' can remember the last module you were on. You need an account to use 'My Favorites'.

| A lens I own (?)

Definition of a lens


A lens is a custom view of the content in the repository. You can think of it as a fancy kind of list that will let you see content through the eyes of organizations and people you trust.

What is in a lens?

Lens makers point to materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

Who can create a lens?

Any individual member, a community, or a respected organization.

What are tags? tag icon

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

| External bookmarks