How to estimate DOA of acoustic signals correctly with phased.MVDREstimator2D?

4 visualizaciones (últimos 30 días)
Hello, I am trying to simulate a microphone array with the Phased Array System Toolbox. I followed the example described in the document of MVDREstimator2D with default values and my own array ,and it worked well. But when I change the property 'PropagationSpeed' to 343m/s, it can no longer caluculate the azimuth and elevation angle of the signal.
microphone = phased.OmnidirectionalMicrophoneElement;
array = phased.URA('Size',[5 10],'ElementSpacing',[0.02 0.01],'Element',microphone);
viewArray(array);
hold on;
fs = 20000;
t = (0:1/fs:1).';
x1 = cos(2*pi*t*300);
x2 = cos(2*pi*t*400);
c_sound = 343;
arg = [-37 20];
x_receivedwaves = collectPlaneWave(array,x1,arg',c_sound);
noise = 0.1*(randn(size(x_receivedwaves))+1i*randn(size(x_receivedwaves)));
estimator = phased.MVDREstimator2D('SensorArray',array,...
'DOAOutputPort',true,'NumSignals',1,'PropagationSpeed',c_sound, ...
'AzimuthScanAngles',-50:50,...
'ElevationScanAngles',-30:30);
[~,doas] = estimator(x_receivedwaves + noise);
figure;
plotSpectrum(estimator);
  2 comentarios
George
George el 22 de En. de 2024
It looks like you are using propagation speed for the 4th argument in plane wave - propogation speed should be the 5th argument. The 4th argument should be carrier frequency.
This brings up another point - the concept of 'carrier frequency' implies the narrowband assumption - i.e. the modulating waveform is much lower frequency than the carrier waveform, which may not apply in the case of sound waves. I recommend looking at the use of the WidebandCollector for acoustic use cases in the following example:
I would recommend trying to see if your MVDR estimator works if you use the WidebandCollector to collect the received waveform.
隐
el 27 de En. de 2024
Thank you for your help!Now the estimator can calculate the angles correctly. It also got better result after applying the WidebandCollector.

Iniciar sesión para comentar.

Respuestas (0)

Etiquetas

Productos


Versión

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by