I have two microphones separated by a distance d placed in end-fire configuration.

Audio input data was played from the front side (i.e corresponding to 0 degrees.)

The data picked by microphone1 and microphone2 is then plotted in MATLAB and compared.

There will be an initial delay of (d/c) between the two microphones, where d is the distance between the microphones and c is the speed of sound in air.

If we compare the data samples at the middle of the waveforms, the delay between the two microphones is varied. The delay between the two sets of data samples is varying with time.

How to estimate the transfer function of the system model such that data of microphone1 when passed through some system results in microphone2 data set?

enter image description here


1 Answer 1


You could estimate the impulse response for every microphone separately, and compare these, instead of comparing the received signal directly; if you know the transmit signal, this would be lower in variance (due to not incorporating two noise realizations per estimate).

You'll find that your room impulse response is not a dirac impulse, probably due to reflections in your room, and due to the fact that neither your microphones nor your emitters have flat spectrum (and especially not constant group delay).

So, first, characterize the amount of multipath you'll have in each microphone separately, then find a way to identify what you consider the "direct path", then you have some delays to compare.

I wouldn't know how to guess from your plot that delay changed – this simply looks like the signal are not very much correlated. Cross-correlation is the key to what I described above (cross-correlating your known transmit signal with your received signals is a way of estimating the impulse responses), as well as to direct comparison between microphones, should you need to do this estimation without knowledge of the transmit signal.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.