2

I would like to locate the coordinates, in 2D space, of a source of sound. There is no reference such as light to attach to this sound, however, the time difference of arrival (TDOA) of this sound between two pairs AB and AC of microphones is known, as is the speed of sound and the precise location of the microphones relative to each other. However, the absolute time of transmission is unknown, therefore c=d/T is not possible.

I am looking for an algorithm that allows me to find the x,y coordinates of this sound source. I have searched Google for the answer many times, however the results I have found do not suggest how to use this TDOA data to derive intersecting hyperbolas, they merely say you can. I'm grateful for any pointers or suggestions, thanks

Apophis
  • 115
  • 3
  • 11

3 Answers3

2

Lets denominate the distances from microphone A,B,C,D da,db,dc,dd and the TOF ta,tb,tc,td. The speed of sound is c.

It's easy to see, that:

|ta-tb|*c= |(da-db)| (1)
|tc-td|*c= |(dc-dd)| (2)

A hyperbola can be defined as the locus of points for each of which the absolute value of the difference between the distances to two given foci is a constant. That is precisely what we have on the left side of our equations: the time difference is a (measured) constant, and c is also constant: so the possible location for the sound source is on a hyperbola, whose two foci is the two microphones. We have two equations therefore we have two hyperbolas. Two hyperbolas normally intersect in multiple points (because they have quadratic equation), so if you calculate the point of intersection you will have multiple possible sound source locations. Special constellation of the microphones might help.

WebMonster
  • 2,981
  • 2
  • 22
  • 29
0

These may help

  1. http://www.best-microcontroller-projects.com/sound-origin-direction-finder.html

2.http://www.instructables.com/id/Cheap-USB-Simultaneous-Multitrack-Recording/

3.discovery.acadiau.ca/R/SoundFinder/S2%20Sound%20Finder%20for%20Spreadsheets.xls

The last one could be re worked to take input from a file that was generated by a module to collect the tdoa data from an array of microphones (up to 64).

  • 1
    Hi and welcome! Can you [edit] your answer to summarize the contents of the links you posted? This makes your answer remain useful even if the pages the links go to change or disappear. – user812786 May 25 '17 at 16:15
0

Latex is not available here. It's not possible to use formulas/matrices etc, so I posted answer to another question in stackexchange. It's a more generalized solution. Follow the link.

Trilateration Using TDOA

inninaro
  • 111
  • 6