Documentation

# phased.STAPSMIBeamformer

Sample matrix inversion (SMI) beamformer

## Description

The `SMIBeamformer` object implements a sample matrix inversion space-time adaptive beamformer. The beamformer works on the space-time covariance matrix.

To compute the space-time beamformed signal:

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

2. Call `step` to execute the SMI beamformer algorithm according to the properties of `phased.STAPSMIBeamformer`. 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.STAPSMIBeamformer` creates a sample matrix inversion (SMI) beamformer System object, `H`. The object performs the SMI space-time adaptive processing (STAP) on the input data.

`H = phased.STAPSMIBeamformer(Name,Value)` creates an SMI 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`).

## 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. You can specify this property as single or double precision.

Default: Speed of light

`OperatingFrequency`

System operating frequency

Specify the operating frequency of the system in hertz as a positive scalar. The default value corresponds to 300 MHz. You can specify this property as single or double precision.

Default: `3e8`

`PRFSource`

Source of pulse repetition frequency

Source of the PRF values for the STAP processor, specified as `'Property'` or `'Input port'`. When you set this property to `'Property'`, the PRF is determined by the value of the `PRF` property. When you set this property to ```'Input port'```, the PRF is determined by an input argument to the `step` method at execution time.

Default: `'Property'`

`PRF`

Pulse repetition frequency

Pulse repetition frequency (PRF) of the received signal, specified as a positive scalar. Units are in Hertz. This property can be specified as single or double precision.

#### Dependencies

To enable this property, set the `PRFSource` property to `'Property'`.

Default: `1`

`DirectionSource`

Source of targeting direction

Specify whether the targeting direction for the STAP processor comes from the `Direction` property of this object or from an input argument in `step`. Values of this property are:

 `'Property'` The `Direction` property of this object specifies the targeting direction. `'Input port'` An input argument in each invocation of `step` specifies the targeting direction.

Default: `'Property'`

`Direction`

Targeting direction

Specify the targeting direction of the SMI processor as a column vector of length 2. The direction is specified in the format of ```[AzimuthAngle; ElevationAngle]``` (in degrees). Azimuth angle should be between –180 and 180. Elevation angle should be between –90 and 90. This property applies when you set the `DirectionSource` property to `'Property'`. You can specify this property as single or double precision.

Default: `[0; 0]`

`NumPhaseShifterBits`

Number of phase shifter quantization bits

The number of bits used to quantize the phase shift component of beamformer or steering vector weights. Specify the number of bits as a non-negative integer. A value of zero indicates that no quantization is performed. You can specify this property as single or double precision.

Default: `0`

`DopplerSource`

Source of targeting Doppler

Specify whether the targeting Doppler for the STAP processor comes from the `Doppler` property of this object or from an input argument in `step`. Values of this property are:

 `'Property'` The `Doppler` property of this object specifies the Doppler. `'Input port'` An input argument in each invocation of `step` specifies the Doppler.

Default: `'Property'`

`Doppler`

Targeting Doppler frequency

Specify the targeting Doppler of the STAP processor as a scalar. This property applies when you set the `DopplerSource` property to `'Property'`. You can specify this property as single or double precision.

Default: `0`

`NumGuardCells`

Number of guarding cells

Specify the number of guard cells used in the training as an even integer. This property specifies the total number of cells on both sides of the cell under test. You can specify this property as single or double precision.

Default: `2`, indicating that there is one guard cell at both the front and back of the cell under test

`NumTrainingCells`

Number of training cells

Specify the number of training cells used in the training as an even integer. Whenever possible, the training cells are equally divided before and after the cell under test. You can specify this property as single or double precision.

Default: `2`, indicating that there is one training cell at both the front and back of the cell under test

`WeightsOutputPort`

Output processing weights

To obtain the weights used in the STAP processor, 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`

## Methods

 step Perform SMI STAP processing on input data
Common to All System Objects
`release`

Allow System object property value changes

## Examples

expand all

Process a data cube using an SMI beamformer. The weights are calculated for the 71st cell of a collected data cube pointing in the azimuth and elevation direction (45°,-35°) and with a Doppler of 12.980 kHz.

Load the cube data and create the SMI beamformer.

```load STAPExampleData; beamformer = phased.STAPSMIBeamformer('SensorArray',STAPEx_HArray, ... 'PRF',STAPEx_PRF,'PropagationSpeed',STAPEx_PropagationSpeed, ... 'OperatingFrequency',STAPEx_OperatingFrequency, ... 'NumTrainingCells',100,'WeightsOutputPort',true, ... 'DirectionSource','Input port','DopplerSource','Input port'); [y,w] = beamformer(STAPEx_ReceivePulse,71,[45;-35],12.980e3);```

Plot the angle-doppler response.

```response = phased.AngleDopplerResponse( ... 'SensorArray',beamformer.SensorArray, ... 'OperatingFrequency',beamformer.OperatingFrequency, ... 'PRF',beamformer.PRF,'PropagationSpeed',beamformer.PropagationSpeed); plotResponse(response,w)```

expand all

## References

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

[2] Ward, J. “Space-Time Adaptive Processing for Airborne Radar Data Systems,” Technical Report 1015, MIT Lincoln Laboratory, December, 1994.