System object: phased.PhaseShiftBeamformer
Perform phase shift beamforming
Y = step(H,X)
Y = step(H,X,ANG)
[Y,W] = step(___)
Starting in R2016b, instead of using the
The object performs an initialization the first time the
Input signal, specified as an M-by-N matrix. If the sensor array contains subarrays, N is the number of subarrays; otherwise, N is the number of elements.
The size of the first dimension of this input matrix can vary to simulate a changing signal length, such as a pulse waveform with variable pulse repetition frequency.
Beamforming directions, specified as a two-row matrix. Each column has the form [AzimuthAngle; ElevationAngle], in degrees. Each azimuth angle must be between –180 and 180 degrees, and each elevation angle must be between –90 and 90 degrees.
Apply phase-shift beamforming to the signal received by a 5-element ULA. The beamforming direction is 45° azimuth and 0° elevation.
Create the signal.
t = (0:1000)'; x = sin(2*pi*0.01*t); c = physconst('LightSpeed'); fc = 3e8; incidentAngle = [45;0]; array = phased.ULA('NumElements',5); x = collectPlaneWave(array,x,incidentAngle,fc,c); noise = 0.1*(randn(size(x)) + 1j*randn(size(x))); rx = x + noise;
Construct the phase-shift beamformer.
beamformer = phased.PhaseShiftBeamformer('SensorArray',array,... 'OperatingFrequency',fc,'PropagationSpeed',c,... 'Direction',incidentAngle,'WeightsOutputPort',true);
Obtain the beamformed signal and beamformer weights.
[y,w] = beamformer(rx);
Plot the original signal at the middle element and the beamformed signal.
plot(t,real(rx(:,3)),'r:',t,real(y)) xlabel('Time') ylabel('Amplitude') legend('Original','Beamformed')
Plot the array response pattern when applying the weights.
The phase shift beamformer uses the conventional delay-and-sum beamforming algorithm. The beamformer assumes the signal is narrowband, so a phase shift can approximate the required delay. The beamformer preserves the incoming signal power.
For further details, see .
 Van Trees, H. Optimum Array Processing. New York: Wiley-Interscience, 2002.