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

3 Ansichten (letzte 30 Tage)
隐
am 19 Jan. 2024
Kommentiert: am 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 Kommentare
George
George am 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.
隐
am 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.

Melden Sie sich an, um zu kommentieren.

Antworten (0)

Produkte


Version

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by