Effacer les filtres
Effacer les filtres

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

10 vues (au cours des 30 derniers jours)
Andrew Park
Andrew Park le 12 Oct 2020
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!

Réponses (0)

Catégories

En savoir plus sur Quaternion Math dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by