Frost beamformer
The phased.FrostBeamformer
object implements a Frost
beamformer. A Frost beamformer consists of a time-domain MVDR beamformer combined with a bank
of FIR filters. The beamformer steers the beam towards a given direction while the FIR filters
preserve the input signal power.
To compute the beamformed signal:
Create the phased.FrostBeamformer
object and set its properties.
Call the object with arguments, as if it were a function.
To learn more about how System objects work, see What Are System Objects?.
creates
a Frost beamformer System object™, beamformer
= phased.FrostBeamformerbeamformer
, with default property values.
creates a Frost beamformer object, beamformer
= phased.FrostBeamformer(Name
,Value
)beamformer
, with each specified
property Name set to the specified Value. You can specify additional name-value pair
arguments in any order as
(Name1
,Value1
,...,NameN
,ValueN
).
Enclose each property name in single quotes.
beamformer =
phased.FrostBeamformer('SensorArray',phased.ULA('NumElements',20),'SampleRate',300e3)
sets the sensor array to a uniform linear array (ULA) with default ULA property values
except for the number of elements. The beamformer has a sample rate of 300
kHz.
uses Y
= beamformer(X
,XT
)XT
as training data to calculate the beamforming weights. To use
this syntax, set the TrainingInputPort property to true
.
uses Y
= beamformer(X
,ANG
)ANG
as the beamforming direction. To use this syntax, set the
DirectionSource property to 'Input port'
.
combines all input arguments. To use this syntax, set the TrainingInputPort property to Y
= beamformer(X
,XT
,ANG
)true
and set the DirectionSource property to 'Input port'
.
[
returns the beamforming weights, Y
,W
] = beamformer(___)W
. To use this syntax, set the
WeightsOutputPort property to true
.
To use an object function, specify the
System object as the first input argument. For
example, to release system resources of a System object named obj
, use
this syntax:
release(obj)
phased.FrostBeamformer
uses a beamforming algorithm
proposed by Frost. It can be considered the time-domain 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.
This System object supports single and double precision for input data, properties, and arguments. If
the input data X
is single precision, the output data is single precision.
If the input data X
is double precision, the output data is double
precision. The precision of the output is independent of the precision of the properties and
other arguments.
For more information about Frost beamforming, 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: Wiley-Interscience, 2002.
phased.PhaseShiftBeamformer
| phased.SubbandPhaseShiftBeamformer
| phased.TimeDelayBeamformer
| phased.TimeDelayLCMVBeamformer