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

3 vues (au cours des 30 derniers jours)
隐
le 19 Jan 2024
Commenté : le 27 Jan 2024
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 commentaires
George
George le 22 Jan 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.
隐
le 27 Jan 2024
Thank you for your help!Now the estimator can calculate the angles correctly. It also got better result after applying the WidebandCollector.

Connectez-vous pour commenter.

Réponses (0)

Produits


Version

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by