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.ArrayGain System object

Package: phased

Sensor array gain


The ArrayGain object calculates the array gain for a sensor array. The array gain is defined as the signal to noise ratio (SNR) improvement between the array output and the individual channel input, assuming the noise is spatially white. It is related to the array response but is not the same.

To compute the SNR gain of the antenna for specified directions:

  1. Define and set up your array gain calculator. See Construction.

  2. Call step to estimate the gain according to the properties of phased.ArrayGain. 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.ArrayGain creates an array gain System object, H. This object calculates the array gain of a 2-element uniform linear array for specified directions.

H = phased.ArrayGain(Name,Value) creates and array-gain object, H, with the specified property Name set to the specified Value. You can specify additional name-value pair arguments in any order as (Name1,Value1,...,NameN,ValueN).



Sensor array

Sensor array specified as an array System object belonging to the phased package. A sensor array can contain subarrays.

Default: phased.ULA with default property values


Signal propagation speed

Specify the propagation speed of the signal, in meters per second, as a positive scalar.

Default: Speed of light


Add input to specify weights

To specify weights, set this property to true and use the corresponding input argument when you invoke step. If you do not want to specify weights, set this property to false.

Default: false


cloneCreate array gain object with same property values
getNumInputsNumber of expected inputs to step method
getNumOutputsNumber of outputs from step method
isLockedLocked status for input attributes and nontunable properties
releaseAllow property value and input characteristics changes
stepCalculate array gain of sensor array


Array Gain

The array gain is defined as the signal to noise ratio (SNR) improvement between the array output and the individual channel input, assuming the noise is spatially white. You can express the array gain as follows:


In this equation:

  • w is the vector of weights applied on the sensor array. When you use phased.ArrayGain, you can optionally specify weights by setting the WeightsInputPort property to true and specifying the W argument in the step method syntax.

  • v is the steering vector representing the array response toward a given direction. When you call the step method, the ANG argument specifies the direction.

  • s is the input signal power.

  • N is the noise power.

  • H denotes the complex conjugate transpose.

For example, if a rectangular taper is used in the array, the array gain is the square of the array response normalized by the number of elements in the array.


Calculate the array gain for a uniform linear array at the direction of 30 degrees azimuth and 20 degrees elevation. The array operating frequency is 300 MHz.

ha = phased.ULA(4);
hag = phased.ArrayGain('SensorArray',ha);
g = step(hag,3e8,[30;20]);


[1] Guerci, J. R. Space-Time Adaptive Processing for Radar. Boston: Artech House, 2003.

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

Introduced in R2012a

Was this topic helpful?