phased.FrostBeamformer
Frost beamformer
Description
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?
Creation
Description
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.
Example: 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.
Properties
Usage
Syntax
Description
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
.
Input Arguments
Output Arguments
Object Functions
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)
Examples
Algorithms
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 dataX
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].
References
[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.
Extended Capabilities
Version History
Introduced in R2011a