Sound source localization underwater

9 views (last 30 days)
Butterflyfish
Butterflyfish on 21 Nov 2020
Answered: Image Analyst on 21 Nov 2020
I have three recordings of a signal taken with an array of three hydrophones (one sound source). I would like to estimate the source localization using the time of arrival differences for the three recordings. I started the following, by estimating the time of arrival differences with the GCC-PHAT algorithm (Generalized cross-correlation):
[sig1, fs] = audioread('signal1.wav');
sig2 = audioread('signal2.wav');
sig3 = audioread('signal3.wav');
refsig = sig1;
[tau_est, R, lags] = gccphat([sig2,sig3],refsig, fs);
disp(tau_est * fs)
It gives me the time of arrival differences of signals 2 and 3 compared to signal 1 (tau). Now I would like to get the direction of arrival estimates (DOAs) and proceed with triangulation to assess source position.
Any help will be greatly appreciated!

Answers (1)

Image Analyst
Image Analyst on 21 Nov 2020
For what it's worth, I'm attaching a demo where we had to determine the location of an explosion given the location of microphones and times the sound was heard (if I remember it correctly).

Community Treasure Hunt

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

Start Hunting!