how to find DOA using time difference, considering 2 microphones of an audio signal.

2 visualizaciones (últimos 30 días)
I want to obtain the DOA using time difference, considering two microphones of audio signal.
x = audioread('gun-gunshot-01.wav');

Respuesta aceptada

Bjorn Gustavsson
Bjorn Gustavsson el 11 de Abr. de 2022
If you know the speed of sound, lets say , and the positions of the microphones, lets say and . Now if you can determine the time-shift between the signals in the two audio-recordings you can figure out what directions the sound can come from, if we start with the simple:
If your dt precisely matches |r_a-r_b|/v_s then you know the sound propagates along the line between your microphones and you can figure out in which direction too. If your dt = 0, then you know the sound arrives simultaneously to both mics, and the sound comes from a direction perpendicular to -, but you cannot say for sure which direction (perhaps you can assume that it originates from ground-level, but that's not for me to say). If you have some other dt then you will have to use a little bit of vector algebra, but you should be able to work that out rather easily with pen and paper, if you think about how and what the propagation-velocity-vector and the microphone-separation-vector influences the time-of-arrival of the sound, also keep in mind the different ways to write the dot-product.
HTH

Más respuestas (0)

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by