This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

phased.LCMVBeamformer System object

Package: phased

Narrowband LCMV beamformer


The LCMVBeamformer object implements a linear constraint minimum variance beamformer.

To compute the beamformed signal:

  1. Define and set up your LCMV beamformer. See Construction.

  2. Call step to perform the beamforming operation according to the properties of phased.LCMVBeamformer. The behavior of step is specific to each object in the toolbox.

    Note:   Starting in R2016b, instead of using the step method to perform the operation defined by the System object™, you can call the object with arguments, as if it were a function. For example, y = step(obj,x) and y = obj(x) perform equivalent operations.


H = phased.LCMVBeamformer creates a linear constraint minimum variance (LCMV) beamformer System object, H. The object performs narrowband LCMV beamforming on the received signal.

H = phased.LCMVBeamformer(Name,Value) creates an LCMV beamformer object, H, 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).



Constraint matrix

Specify the constraint matrix used for LCMV beamforming as an N-by-K matrix. Each column of the matrix is a constraint and N is the number of elements in the sensor array. The number of constraints, K, must be less than or equal to the number of sensors, N,K ≤ N.

Default: [1; 1]


Desired response vector

Specify the desired response used for LCMV beamforming as a column vector of length K, where K is the number of constraints in the Constraint property. Each element in the vector defines the desired response of the constraint specified in the corresponding column of the Constraint property.

Default: 1, which corresponds to a distortionless response


Diagonal loading factor

Specify the diagonal loading factor as a positive scalar. Diagonal loading is a technique used to achieve robust beamforming performance, especially when the sample support is small. This property is tunable.

Default: 0


Add input to specify training data

To specify additional training data, set this property to true and use the corresponding input argument when you invoke step. To use the input signal as the training data, set this property to false.

Default: false


Output beamforming weights

To obtain the weights used in the beamformer, set this property to true and use the corresponding output argument when invoking step. If you do not want to obtain the weights, set this property to false.

Default: false


stepPerform LCMV beamforming
Common to All System Objects

Create System object with same property values


Expected number of inputs to a System object


Expected number of outputs of a System object


Check locked states of a System object (logical)


Allow System object property value changes


expand all

Apply an LCMV beamformer to a 5-element ULA of isotropic sensor elements, preserving the signal from a desired direction. The operating frequency is 300 MHz.

Simulate a low-frequency sinusoid signal in gaussian noise.

f = 50;
t = (0:.001:.3)';
x = sin(2*pi*f*t);
c = physconst('LightSpeed');
fc = 300e6;
lambda = c/fc;
incidentAngle = [45;0];
sIso = phased.IsotropicAntennaElement('FrequencyRange',[20 20e8]);
sULA = phased.ULA('NumElements',5,'ElementSpacing',lambda/2,...
x = collectPlaneWave(sULA,x,incidentAngle,fc,c);
noise = 0.2*(randn(size(x)) + 1j*randn(size(x)));
rx = x + noise;

Beamform the array.

sSV = phased.SteeringVector('SensorArray',sULA,...
sLCMV = phased.LCMVBeamformer;
sLCMV.Constraint = step(sSV,fc,incidentAngle);
sLCMV.DesiredResponse = 1;
y = step(sLCMV,rx);

Plot the original and beamformed signals.

xlabel('Time (sec)'); ylabel('Amplitude')
legend('Signal at Sensor 3','Beamformed Signal','Noise Free Signal')


[1] Van Trees, H. Optimum Array Processing. New York: Wiley-Interscience, 2002.

Extended Capabilities

Introduced in R2012a

Was this topic helpful?