# How does Root-MUSIC algorithm for DOA estimation for a ULA work for a recorded audio file ?

--

I’m trying to apply phased.RootMUSICEstimator for estimating azimuth angle of a sound source in a real-world scenario. I’m doing this by recording an audio file in a 2-element ULA and placing the sound source at a specific angle( say 20 degree azimuth, 0 degree elevation).

Below is the code I’ve written

`% codex = audioread('/home/LEFT/Setup tone low 20 left.wav');y = audioread('/home/RIGHT/Setup tone low 20 right.wav');mix = [x y];fc = 700;transducer = phased.OmnidirectionalMicrophoneElement...    ('FrequencyRange',[200,1200]);array = phased.ULA('Element',transducer,'NumElements',2,...    'ElementSpacing',0.15);yy = collectPlaneWave(array,[x y],[20 0;20 0]',fc);sDOA = phased.RootMUSICEstimator('SensorArray',array,...    'OperatingFrequency',fc,'NumSignalsSource','Property','NumSignals',1);doas = step(sDOA,yy);az = broadside2az(sort(doas),[0 0])`

Here I used two mono-signals recorded separately using 2-different microphones(LEFT & RIGHT) in a ULA. From above program, I’m getting a perfect az = 20.0000 20.0000 as output.

My Questions: — I had approximated the angles of the sound sources to be around 20 degrees azimuth, So I don’t expect the sound source to be at exactly 20 degrees as evaluated by the algorithm. So it appears that the output is because of the collectPlaneWave function parameters. — Do I have to use collectPlaneWave function in my real-world audio already recorded at a specific source angle ? (I tried not using this, but azimuth angle given by algorithm was always zero.)