MATLAB Answers

Splitting one channel into two using 2 into 1 stereo cable giving me ZERO lags ? help !

5 views (last 30 days)
Ali Soban
Ali Soban on 18 Jan 2018
Commented: Ali Soban on 19 Jan 2018
Now that I'm using two condenser microphone inputs to a single channel , I'm getting zero lags ! ? This shouldn't happen since I'm placing the two mics at quite a distance for audio localization . But still getting the same result and 89 degrees or 90 degrees angle each time ! Can some one share a better code of sound localization using generalized cross correlation on two condenser mics connected to your laptop? Please help! Since it is the only hurdle in my project. Even a correct algorithm or way to calculate angle from GCC information will help! Thanks!


Show 8 older comments
Ali Soban
Ali Soban on 19 Jan 2018
Well thanks alot Walter. How do I acquire the sound on 2 different channels in MATLAB . I mean which command/function to use that best serves the operation of recording audio on two separate channels in the same array or may be different?
Walter Roberson
Walter Roberson on 19 Jan 2018
audiorecorder() grabs all of the channels of the audio device by default. The different channels appear as different columns of the returned data.

Sign in to comment.

Answers (1)

Gabriele Bunkheila
Gabriele Bunkheila on 19 Jan 2018
Hi Ali,
A number of things could be happeninig here - low-end or built-in laptop sound cards most often have mono mic or line inputs (despite the drivers possibly suggesting otherwise). Are your acquired signals exactly identical or simply well-correlated in time? On the other hand, your cable may be a single stereo to 2x stereo instead of a stereo splitter. I suggest you check all those possible issues in isolation.

  1 Comment

Ali Soban
Ali Soban on 19 Jan 2018
Hi Gabriele ,
Kindly see the stereo cable image attachment in my above comment so that you possibly be getting a fair estimate to where I'm actually stuck now. No the signals are not purely identical but they maximum correlation coefficient occurs at zero phase shift i.e.
[c lag] = xcorr(L,R)
[maxC I] = max(c)
lag = lag(I)
This lag = 0 always. I don't know the reason since the signals aren't purely identical!

Sign in to comment.