# Documentation

### This is machine translation

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

# phased.ArrayGain System object

Package: phased

Sensor array gain

## Description

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.

## Construction

`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`).

## Properties

 `SensorArray` 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 `PropagationSpeed` Signal propagation speed Specify the propagation speed of the signal, in meters per second, as a positive scalar. Default: Speed of light `WeightsInputPort` 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`

## Methods

 clone Create array gain object with same property values getNumInputs Number of expected inputs to step method getNumOutputs Number of outputs from step method isLocked Locked status for input attributes and nontunable properties release Allow property value and input characteristics changes step Calculate array gain of sensor array

## Definitions

### 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:

`$\frac{SN{R}_{\text{out}}}{SN{R}_{\text{in}}}=\frac{\left(\frac{{w}^{H}vs{v}^{H}w}{{w}^{H}Nw}\right)}{\left(\frac{s}{N}\right)}=\frac{{w}^{H}v{v}^{H}w}{{w}^{H}w}$`

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.

## Examples

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]);```

## References

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