Y = step(H,X)
Y = step(H,X,XT)
Y = step(H,X,ANG)
Y = step(H,X,XT,ANG)
[Y,W] =
step(___)
performs
Frost beamforming on the input, Y
= step(H
,X
)X
, and returns
the beamformed output in Y
.
uses Y
= step(H
,X
,XT
)XT
as
the training samples to calculate the beamforming weights. This syntax
is available when you set the TrainingInputPort
property
to true
.
uses Y
= step(H
,X
,ANG
)ANG
as
the beamforming direction. This syntax is available when you set the DirectionSource
property
to 'Input port'
.
combines
all input arguments. This syntax is available when you set the Y
= step(H
,X
,XT
,ANG
)TrainingInputPort
property
to true
and set the DirectionSource
property
to 'Input port'
.
[
returns the beamforming weights, Y
,W
] =
step(___)W
.
This syntax is available when you set the WeightsOutputPort
property
to true
.
Note:
The object performs an initialization the first time the 

Beamformer object. 

Input signal, specified as an MbyN matrix. M must be larger
than the FIR filter length specified in the 

Training samples, specified as an MbyN matrix. M and N are
the same as the dimensions of 

Beamforming directions, specified as a length2 column vector. The vector has the form [AzimuthAngle; ElevationAngle], in degrees. The azimuth angle must be between –180 and 180 degrees, and the elevation angle must be between –90 and 90 degrees. 

Beamformed output. 

Beamforming weights. 
Apply a Frost beamformer to an 11element array. The incident angle of the signal is –50 degrees in azimuth and 30 degrees in elevation.
% Signal simulation ha = phased.ULA('NumElements',11,'ElementSpacing',0.04); ha.Element.FrequencyRange = [20 20000]; fs = 8e3; t = 0:1/fs:0.3; x = chirp(t,0,1,500); c = 340; % Wave propagation speed (m/s) hc = phased.WidebandCollector('Sensor',ha,... 'PropagationSpeed',c,'SampleRate',fs,... 'ModulatedInput',false); incidentAngle = [50; 30]; x = step(hc,x.',incidentAngle); noise = 0.2*randn(size(x)); rx = x+noise; % Beamforming hbf = phased.FrostBeamformer('SensorArray',ha,... 'PropagationSpeed',c,'SampleRate',fs,... 'Direction',incidentAngle,'FilterLength',5); y = step(hbf,rx);
phased.FrostBeamformer
uses a beamforming algorithm
proposed by Frost. It can be considered the timedomain counterpart
of the minimum variance distortionless response (MVDR) beamformer.
The algorithm does the following:
Steers the array to the beamforming direction.
Applies an FIR filter to the output of each sensor to achieve the distortionless response constraint. The filter is specific to each sensor.
For further details, see [1].
[1] Frost, O. "An Algorithm For Linearly Constrained Adaptive Array Processing", Proceedings of the IEEE. Vol. 60, Number 8, August, 1972, pp. 926–935.
[2] Van Trees, H. Optimum Array Processing. New York: WileyInterscience, 2002.