MATLAB: How to use “beamscan” for a wideband signal (Phased Array System Toolbox)

doaPhased Array System Toolbox

I need to find directions to broadband soanr targers received on a Uniform Line Array. Using GCCEstimator I get only one bearing and not a full sector. I figured out that I need to use some beamscan approach, such as MVDREstimator but for a broadband signal rather than for narrowband sugnal. Suggestions?

Best Answer

The main idea behind beamscan is to form a beam toward all directions and then select the strongest return. For wideband signals, you can use a wideband beamformer. Currently there is no existing interface to scan a wideband beamformer across all directions, but the wideband beamformers are available, so you can just scan those in different directions and find the direction corresponding to the strongest return. Here is a small example, assuming the input signal is x and the code scans -90 to 90 in azimuth:
bf = phased.TimeDelayBeamformer('DirectionSource','Input port');
az = -90:90;
y = zeros(1,numel(az));
for m = 1:numel(az)
y(m) = rms(step(bf,x,[az(m);0]));
end
[~,idx] = max(y);
est_az = az(idx); % estimated angle
Note that you should be able to pick any wideband beamformer to do this.
HTH