Using Time Difference of Arrival (TDOA) to Estimate Sound Source Location

26 visualizaciones (últimos 30 días)
Hello, I'm trying to calculate/estimate the sound source location given 3 synchronized microphones - A, B, and C - with TDOA known. I only have 1 data from testing it once.
These three microphones are in latitude longitude decimal degrees retrieved from Google Earth, and I want to somehow convert them into X, Y coordinates to graph them on a 2D plane. So far I've tried two different ways of doing this: 1) an online converter from lat, lon to x, y and 2) using x = R * cos(lan) * cos(lon), y = R * cos(lan) * sin(lon).
Then, I want to use the information already known - TDOA and locations of 3 microphones - to estimate the sound source location. I've explored ideas such as drawing 3 hyperbolas and extracting the intersection (which I got lost very quickly) or using systems of equations with solve() with no avail, such as below (MATLAB 2018b):
E = [distanceAB == sqrt((x2-x)^2 - (y2-y)^2) - sqrt((x1-x)^2 - (y1-y)^2), ...
distanceAC == sqrt((x3-x)^2 - (y3-y)^2) - sqrt((x1-x)^2 - (y1-y)^2)]
S = solve(E, x, y);
, with x, y being sound source location and (x1, y1), (x2, y2), and (x3, y3) being 3 microphone positions. S.x and S.y just return 0-by-1 empty sym.
I would appreciate any sort of help. Thank you so much!

Respuestas (0)

Categorías

Más información sobre Quaternion Math en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by