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

35 ビュー (過去 30 日間)
Andrew Park
Andrew Park 2020 年 10 月 12 日
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 件)

カテゴリ

Help Center および File ExchangeQuaternion Math についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by