TDOA to Estimate Source Location

조회 수: 40 (최근 30일)
Andrew Park
Andrew Park 2020년 10월 7일
댓글: Star Strider 2020년 10월 12일
(MATLAB 2018b)
Hello, the image below is taken from
titled: "Finding Location with Time of Arrival and Time Difference of Arrival Techniques"
author: Brian O’Keefe
The pdf is a project about using TDOA to estimate the location of the source in a 2D plane.
Similarly, I have one sound source emitter and three microphones, A, B, and C, that are placed near the emitter to detect the sound. I know the TDOA of the sound at the microphones, so I can solve for Δd and I already have the coordinates of all the microphones, so I already know (x1, y1) and (x2, y2). In the last paragraph, it says: "Using nonlinear regression, this equation can be converted to the form of a hyperbola. ... by finding the intersection." I don't quite understand the meaning of that.
So far, I've tried to use "solve()" method to find x and y (which is the coordinates of the sound source emitter, but it returned error "Unable to find explicit solution". Any help would be appreciated!
syms x y
distanceDiffAB = 11.4133;
distanceDiffAC = 26.0046;
x_1 = -3.094347632074183e+03;
x_2 = -3.094339180850340e+03;
x_3 = -3.094356380044983e+03;
y_1 = 3.927902239661466e+03;
y_2 = 3.927920563806962e+03;
y_3 = 3.927917716062433e+03;
E = [distanceDiffAB == root((x_2-x)^2 - (y_2-y)^2) - root((x_1-x)^2 - (y_1-y)^2), ...
distanceDiffAC == root((x_3-x)^2 - (y_3-y)^2) - root((x_1-x)^2 - (y_1-y)^2)];
E = rewrite(E,'log');
S = solve(E, x, y, 'IgnoreAnalyticConstraints', 1);

답변 (0개)

카테고리

Help CenterFile Exchange에서 Audio I/O and Waveform Generation에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by