Main Content


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.


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


stepCalculate array gain of sensor array
Common to All System Objects

Allow System object property value changes


collapse all

Calculate the array gain for a 4-element uniform linear array (ULA) in the direction 30° azimuth and 20° elevation. The array operating frequency is 300 MHz.

fc = 300e6;
array = phased.ULA(4);
gain = phased.ArrayGain('SensorArray',array);
g = gain(fc,[30;20])
g = -17.1783

More About

expand all


[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.

Extended Capabilities

Version History

Introduced in R2011a