Using Time Difference of Arrival (TDOA) to Estimate Sound Source Location
10 views (last 30 days)
Show older comments
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!
0 Comments
Answers (0)
See Also
Categories
Find more on Quaternion Math in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!