A narrow-band beamformer for $0$ degree in the frequency domain is created for $8$ sensors and compared with a usual delay and sum beamformer. The question can also be expressed as : can we have better beamforming solution by "masking the desired spatial frequency band" to our usual beamforming result?

A beamformer create a weight vector and performs dot product with every spatial i.e. array wise, received vector to allow signal from a desired direction and suppress others. In delay and sum beamformer the weights are calculated based on the expected delay from the desired angle. In the code below delay and sum beamformer weight is given by the variable name delaySumWeights. Further, the code simulates received signal from -180 to 180 degress and compare the performance of the delay and sum beamformer and the other beamformer.

The process of the algorithm is not given but can anyone please check and verify if such an algorithm is useful. I understand that how the algorithm does it, is not given, but can't one understand it's usefulness from knowing what it does? The question has only a few MATLAB lines and a graph. The code of the MATLAB file testVer.m is not given.


noOfSensors = 8;
f = 8e3;
distanceBetweenSensors = 15/1000;
velocityWave = 340;
theta = -pi:pi/50:pi;
scanningMatrix = zeros(noOfSensors,length(theta));
for I=1:length(theta)
    scanningMatrix(:,I) = exp(-j*2*f*pi*[0:noOfSensors-1]'*distanceBetweenSensors*cos(theta(I))/velocityWave);

ampli = (((rand+1j*rand)));
ampli = ampli/abs(ampli);
phaseOfSource = ampli*eye(length(theta));

receivedSignal = scanningMatrix*phaseOfSource;



for k=1:rr
hold on

grid on

enter image description here

I appreciate any comments.

  • 2
    $\begingroup$ I don't think this is a soft-question. We have to decode your code. I dunno why the phaseOfSource is scrambled. Is it because you can't count on phase-coherent superposition of all of the sources? I thought that's how phased arrays work. Based on their phase offsets between adjacent sources at an angle offa dead center. And I don't know what testVer is nor yValuesTestHat is. $\endgroup$ Commented Nov 16, 2022 at 5:45
  • 2
    $\begingroup$ i can't tell if it has value. i don't sufficiently understand it. $\endgroup$ Commented Nov 16, 2022 at 6:13
  • 1
    $\begingroup$ Also, keep in mind the thinking between a general beamformer and narrowband beamforming. The most robust beamformer will use true time delay techniques. Narrowband beamformers using phase shifts simply approximate this. $\endgroup$
    – Envidia
    Commented May 4, 2023 at 0:42
  • 1
    $\begingroup$ The supplied script is as useful as the resolution it may achieve detecting and solving close targets in space. Having said this, without supplying complete code one cannot tell any further, hence the question as it's been posed needs further clarification in the shape of the support function testVer that seems to be pivotal to the complete performance of the supplied script in the question yet after all these comments function testVer still remains unknown to readers. $\endgroup$ Commented May 7, 2023 at 16:06
  • 1
    $\begingroup$ @OverLordGoldDragon I would love to but unfortunately I'm not sure when I can get to this. I have been running out of free time lately. $\endgroup$
    – Envidia
    Commented May 8, 2023 at 3:03

1 Answer 1


In the context of beamforming we have 2 main tasks:

  • Estimate angle of arrival.
  • Filter a certain range of angles (Assume connected set).

The quality of both operations depends on the ability to have sharp "windows".
Since uniform arrays are equivalent of uniform DFT we can basically talk about the resolution in frequency domain.

If you created a windows with such a sharp edges you certainly did something valuable.

For instance, in the context of communication or RADAR, it means you improved the SNR greatly and mitigate the options to apply jamming.

With iterative policy it can also be used for angle detection so it can be useful in those applications as well. Something like detecting targets in RADARS and such.

If your method is also simple and efficient, in a manner it can be implemented on edge devices, it will be something many will pay a lot for (I have some similar algorithms which were generous with me :-)). In case you can show it works and robust in real life. For instance, it doesn't require the array to be almost perfectly calibrated.

What you'd need to do is sensitivity analysis:

  1. Check for different angles.
  2. Check performance for different SNR.
  3. Check performance for colored noise.
  4. Check performance in the case of multiple signals from different angles.

The better it generalizes in those cases, the more worthful it is.

  • 3
    $\begingroup$ I'd be happy for a feedback from the one who -1. $\endgroup$
    – Royi
    Commented May 7, 2023 at 7:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.