# Multilateration of Sound in 3D Space

TL:DR - How can you find the 3D coordinates of a emitter than transmits an impulse signal?

STORY:

I'm working on something to improve my bird-watching. I've got a camera that can take pictures of the birds when I'm not around, but currently it has to be zoomed out all the way to guarantee they're in frame. This doesn't make for good pictures, so here's what I've done:

Mounted camera on a motor so it can rotate, zoomed in enough that the pictures will be better quality, and attempted multilateration to make the camera turn.

ATTEMPTED SOLUTION:

My multilateration is simple. 4 microphones listen for sound. When an impulse (such as a chirp) is created from an emitter (bird), the microphones can detect the impulse, and my microcontroller can calculate the time differences between all 4 mics receiving the impulse.

My microcontroller then uses a home brew program that converts these time differences and the known locations of the microphones relative to each other into matrix form.

Once the program has the matrices, it can solve for the distance from each microphone to the bird's origin, which then can be used to figure out the coordinates of the bird relative to the microphones.

PROBLEM:

The problem with this, is that it needs to be really precise. I'm talking ~10 nanoseconds of difference in reception time between mics in theoretical math space will cause the program to miscalculate where the bird is.

I've muddled with the code to see if implementing more mics will lessen the need for precision, but I can't find a way to achieve a tolerance greater than ~±25ns.

With my setup, I can only calculate a reception time difference on the level of 10-5 seconds, so it's not possible for me to guarantee the level of precision that this type of math needs.

Can anyone think of a way for me to improve my setup so that it works? Are there other ways to accomplish multilateration? How else could I find where the bird is when it's chirping?

Thanks guys, you're always awesome!!!

EDIT:

I have written out the mathematical process I have used for this problem. Pictures of that, an excel sheet for generating initial conditions, and Matlab code for handling the maths can be found here.

• Put microphones further apart? – MaxW May 29 '18 at 17:17
• @MaxW So putting them further apart would increase the reception time difference (Δt) of the mics, but I don't see how that would increase the tolerance of the equation. If Δt goes from being 0.005564691 to being 2.005564691, wouldn't I still need ns precision? – David Robie May 29 '18 at 17:25