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

조회 수: 36 (최근 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 CenterFile Exchange에서 Quaternion Math에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by