# plotResponse

System object: phased.URA
Package: phased

Plot response pattern of array

## Syntax

```plotResponse(H,FREQ,V) plotResponse(H,FREQ,V,Name,Value) hPlot = plotResponse(___) ```

## Description

`plotResponse(H,FREQ,V)` plots the array response pattern along the azimuth cut, where the elevation angle is 0. The operating frequency is specified in `FREQ`. The propagation speed is specified in `V`.

`plotResponse(H,FREQ,V,Name,Value)` plots the array response with additional options specified by one or more `Name,Value` pair arguments.

`hPlot = plotResponse(___)` returns handles of the lines or surface in the figure window, using any of the input arguments in the previous syntaxes.

## Input Arguments

 `H` Array object `FREQ` Operating frequency in Hertz specified as a scalar or 1-by-K row vector. Values must lie within the range specified by a property of `H`. That property is named `FrequencyRange` or `FrequencyVector`, depending on the type of element in the array. The element has no response at frequencies outside that range. If you set the `'RespCut'` property of `H` to `'3D'`, `FREQ` must be a scalar. When `FREQ` is a row vector, `plotResponse` draws multiple frequency responses on the same axes. `V` Propagation speed in meters per second.

### Name-Value Pair Arguments

Specify optional comma-separated pairs of `Name,Value` arguments. `Name` is the argument name and `Value` is the corresponding value. `Name` must appear inside quotes. You can specify several name and value pair arguments in any order as `Name1,Value1,...,NameN,ValueN`.

`'CutAngle'`

Cut angle as a scalar. This argument is applicable only when `RespCut` is `'Az'` or `'El'`. If `RespCut` is `'Az'`, `CutAngle` must be between –90 and 90. If `RespCut` is `'El'`, `CutAngle` must be between –180 and 180.

Default: `0`

`'Format'`

Format of the plot, using one of `'Line'`, `'Polar'`, or `'UV'`. If you set `Format` to `'UV'`, `FREQ` must be a scalar.

Default: `'Line'`

`'NormalizeResponse'`

Set this value to `true` to normalize the response pattern. Set this value to `false` to plot the response pattern without normalizing it. This parameter is not applicable when you set the `Unit` parameter value to `'dbi'`.

Default: `true`

`'OverlayFreq'`

Set this value to `true` to overlay pattern cuts in a 2-D line plot. Set this value to `false` to plot pattern cuts against frequency in a 3-D waterfall plot. If this value is `false`, `FREQ` must be a vector with at least two entries.

This parameter applies only when `Format` is not `'Polar'` and RespCut is not `'3D'`.

Default: `true`

`'Polarization'`

Specify the polarization options for plotting the array response pattern. The allowable values are ```|'None' | 'Combined' | 'H' | 'V' |``` where

• `'None'` specifies plotting a nonpolarized response pattern

• `'Combined'` specifies plotting a combined polarization response pattern

• `'H'` specifies plotting the horizontal polarization response pattern

• `'V'` specifies plotting the vertical polarization response pattern

For arrays that do not support polarization, the only allowed value is `'None'`. This parameter is not applicable when you set the `Unit` parameter value to `'dbi'`.

Default: `'None'`

`'RespCut'`

Cut of the response. Valid values depend on `Format`, as follows:

• If `Format` is `'Line'` or `'Polar'`, the valid values of `RespCut` are `'Az'`, `'El'`, and `'3D'`. The default is `'Az'`.

• If `Format` is `'UV'`, the valid values of `RespCut` are `'U'` and `'3D'`. The default is `'U'`.

If you set `RespCut` to `'3D'`, `FREQ` must be a scalar.

`'Unit'`

The unit of the plot. Valid values are `'db'`, `'mag'`, `'pow'`, or `'dbi'`. This parameter determines the type of plot that is produced.

Unit valuePlot type
`db`power pattern in dB scale
`mag`field pattern
`pow`power pattern
`dbi`directivity

Default: `'db'`

`'Weights'`

Weight values applied to the array, specified as a length-N column vector or N-by-M matrix. The dimension N is the number of elements in the array. The interpretation of M depends upon whether the input argument `FREQ` is a scalar or row vector.

Weights DimensionsFREQ DimensionPurpose
N-by-1 column vectorScalar or 1-by-M row vectorApply one set of weights for the same single frequency or all M frequencies.
N-by-M matrixScalarApply all of the M different columns in `Weights` for the same single frequency.
1-by-M row vectorApply each of the M different columns in `Weights` for the corresponding frequency in `FREQ`.

`'AzimuthAngles'`

Azimuth angles for plotting array response, specified as a row vector. The `AzimuthAngles` parameter sets the display range and resolution of azimuth angles for visualizing the radiation pattern. This parameter is allowed only when the `RespCut` parameter is set to `'Az'` or `'3D'` and the `Format` parameter is set to `'Line'` or `'Polar'`. The values of azimuth angles should lie between –180° and 180° and must be in nondecreasing order. When you set the `RespCut` parameter to `'3D'`, you can set the `AzimuthAngles` and `ElevationAngles` parameters simultaneously.

Default: `[-180:180]`

`'ElevationAngles'`

Elevation angles for plotting array response, specified as a row vector. The `ElevationAngles` parameter sets the display range and resolution of elevation angles for visualizing the radiation pattern. This parameter is allowed only when the `RespCut` parameter is set to `'El'` or `'3D'` and the `Format` parameter is set to `'Line'` or `'Polar'`. The values of elevation angles should lie between –90° and 90° and must be in nondecreasing order. When yous set the `RespCut` parameter to `'3D'`, you can set the `ElevationAngles` and `AzimuthAngles` parameters simultaneously.

Default: `[-90:90]`

`'UGrid'`

U coordinate values for plotting array response, specified as a row vector. The `UGrid` parameter sets the display range and resolution of the U coordinates for visualizing the radiation pattern in U/V space. This parameter is allowed only when the `Format` parameter is set to `'UV'` and the `RespCut` parameter is set to `'U'` or `'3D'`. The values of `UGrid` should be between –1 and 1 and should be specified in nondecreasing order. You can set the `UGrid` and `VGrid` parameters simultaneously.

Default: `[-1:0.01:1]`

`'VGrid'`

V coordinate values for plotting array response, specified as a row vector. The `VGrid` parameter sets the display range and resolution of the V coordinates for visualizing the radiation pattern in U/V space. This parameter is allowed only when the `Format` parameter is set to `'UV'` and the `RespCut` parameter is set to `'3D'`. The values of `VGrid` should be between –1 and 1 and should be specified in nondecreasing order. You can set `VGrid` and `UGrid` parameters simultaneously.

Default: `[-1:0.01:1]`

## Examples

expand all

This example shows how to construct a rectangular lattice 3-by-2 URA and plot that array's azimuth response.

```ha = phased.URA('Size',[3 2]); fc = 1e9; c = physconst('LightSpeed'); plotResponse(ha,fc,c,'RespCut','Az','Format','Polar');```

This example shows how to construct a rectangular lattice 3-by-2 URA. Plot the $u$ cut of the array response in $u-v$ space.

```ha = phased.URA('Size',[3 2]); c = physconst('lightspeed'); plotResponse(ha,1e9,c,'Format','UV');```

Plot the directivity.

`plotResponse(ha,1e9,c,'Format','UV','Unit','dbi');`

Construct a 5-by-5 square uniform rectangular array (URA) and then plot the 3D response in u-v space. Restrict the u-v range from -0.25 to 0.25.

```array = phased.URA([5,5]); fc = 500e6; c = physconst('LightSpeed'); pattern(array,fc,[-0.25:.01:.25],[-0.25:.01:.25],'PropagationSpeed',c,'CoordinateSystem','uv')```

This example shows how to construct a square 5-by-5 URA array having elements spaced 0.3 meters apart. Apply both uniform weights and tapered weights at a single frequency using the `Weights` parameter. Choose the tapered weight values to be smallest at the edges and increasing towards the center. Then, show that the tapered weight set reduces the adjacent sidelobes while broadening the main lobe.

```ha = phased.URA('Size',[5 5],'ElementSpacing',[0.3,0.3]); fc = 1e9; c = physconst('LightSpeed'); wts1 = ones(5,5); wts1 = wts1(:); wts1 = wts1/sum(wts1); wts2 = 0.3*ones(5,5); wts2(2:4,2:4) = 0.7; wts2(3,3) = 1; wts2 = wts2(:); wts2 = wts2/sum(wts2); plotResponse(ha,fc,c,'RespCut','Az','Format','Polar','Weights',[wts1,wts2]);```