Negative SNR in MATLAB sensorsig example

Hello everyone,
I have been using MATLABs sensorsig function. In one of their examples they stated that they wanted to use a SNR of 10dB. https://de.mathworks.com/help/phased/ref/sensorsig.html
Since that puzzled me quite a bit (usually a negative SNR is not very desirable as the noise power is overpowering the signal power) I generated a few matrices and tested those for my MVDR Beamformer and MUSIC algorithm.
For generating the matrices I created an array response of a 2-receiver radar using an operating frequency of 60GHz and a signal impinging on the ULA from -20° azimuth.
I used the following code:
fc = 60e9;
c = physconst('LightSpeed');
lambda = c/fc;
ula = phased.ULA('NumElements',2, 'ElementSpacing', lambda60/2);
pos = getElementPosition(ula)/lambda;
ang = [-20;0]
for SNR=-60:10:60
[~,~, r]= sensorsig(pos, 50,ang, db2pow(SNR));
end
Interestingly, the algorithm performed excellent for negative SNR but very poorly for positive SNR.
As an example, please see my output for the MVDR Beamformer using -20dB for the SNR:
and now please compare it to the output of the same algorithm for a positive SNR of 20dB:
As you can clearly see, the algorithm detects the target perfectly at -20dB SNR (the peak of the PSD) and not at all for 20dB SNR.
Could someone please explain why this is the case?
Please correct me, if I am mistaken, but is this just some sort of a MATLAB conversion?
Thanking you kindly for your answers!
Best regards,
Nastassia

Answers (0)

Community Treasure Hunt

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

Start Hunting!