Acoustic direction finding using Microphone

Hi everyone;

I am going to make a moving sound source tracking and its direction estimation . It has to be in 2-D and i need to find the result like sound comes from 120 degree . I am going to use 2 Microphone.

I don't know which sensor should i use ( sound source should be within the frequency range that people can hear , i thing it was 20-22 Khz ) or which method for compare sound source with 2 microphone.

ı found correlation method but i don't understand how to implement the code . I am just the beginner for the projects , do you have any idea or academic article you can suggest ? Thank you

You should understand the acoustic basics, how to obtain significant parameters from sound signals, and which of the concepts require what computing power and analog circuit support.

What's the source of your sound? A stereo signal from stereo speakers has no single direction of origin, mission impossible perhaps.

An easy solution would determine the volume of both signals (analog circuit) and compare the levels for finding out the direction of a single sound source. Microphone modules are available for that purpose, but make sure that in your case they must provide an analog level signal, like for a stereo balance meter, not a digital trigger (below/above threshold).

or which method for compare sound source with 2 microphone.

You need to get the timing difference between the two microphones. (You can’t do it by amplitude/volume because unless the sound is close to the microphones there won’t be enough amplitude difference to get a useful result.)

Then by knowing the speed of sound you can calculate the distance-difference, and from that you should be able to get the angle… I can’t give you the formula… I’d have to think about the trigonometry…

Of course this works best with impulse sounds like a hand-clap or gunshot. Continuous sounds like music would require more complex analysis and the Arduino may not be able to handle it. Continuous sounds are actually easier for humans because we usually turn our head to “look” where the sound is coming from and the head movement gives us multiple triangulations. I think it’s impossible with pure test-tones because the waves repeat and there can be several solutions to the phase-timing difference.