Main Content

phased.HeterogeneousURA

Heterogeneous uniform rectangular array

Description

The HeterogeneousURA object constructs a heterogeneous uniform rectangular array (URA).

To compute the response for each element in the array for specified directions:

  1. Define and set up your uniform rectangular array. See Construction.

  2. Call step to compute the response according to the properties of phased.HeterogeneousURA. 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.HeterogeneousURA creates a heterogeneous uniform rectangular array (URA) System object, H. This object models a heterogeneous URA formed with sensor elements whose pattern may vary from element to element. Array elements are distributed in the yz-plane in a rectangular lattice. An M-by-N heterogeneous URA has M rows and N columns. The array boresight direction is along the positive x-axis. The default array is a 2-by-2 URA of isotropic antenna elements.

H = phased.HeterogeneousURA(Name,Value) creates the 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

ElementSet

Set of elements used in the array

Set of elements used in the sensor array, specified as a row MATLAB cell array. Elements specified in the ElementSet property must be either Phased Array System Toolbox™ antennas, microphones, or transducers System objects or Antenna Toolbox™ System object. In addition, all specified antenna elements must have the same polarization capability.

Default: One cell containing one isotropic antenna element

ElementIndices

Elements location assignment

This property specifies the mapping of elements in the array. The property assigns elements to their locations in the array using the indices into the ElementSet property. The value of ElementIndices must be an M-by-N matrix. In this matrix, M represents the number of rows and N represents the number of columns. Rows are along y-axis and columns are along z-axis of the local coordinate system. The values in the matrix specified by ElementIndices should be less than or equal to the number of entries in the ElementSet property.

Default: [1 1;1 1]

ElementSpacing

Element spacing

A 1-by-2 vector or a scalar containing the element spacing (in meters) of the array. If ElementSpacing is a 1-by-2 vector, it is in the form of [SpacingBetweenRows,SpacingBetweenColumns]. See Spacing Between Columns and Spacing Between Rows. If ElementSpacing is a scalar, both spacings are the same.

Default: [0.5 0.5]

Lattice

Element lattice

Specify the element lattice as one of 'Rectangular' | 'Triangular'. When you set the Lattice property to 'Rectangular', all elements in the heterogeneous URA are aligned in both row and column directions. When you set the Lattice property to 'Triangular', the elements in even rows are shifted toward the positive row axis direction by a distance of half the element spacing along the row.

Default: 'Rectangular'

ArrayNormal

Array normal direction

Array normal direction, specified as one of 'x', 'y', or 'z'.

URA elements lie in a plane orthogonal to the selected array normal direction. Element boresight directions point along the array normal direction

ArrayNormal Property ValueElement Positions and Boresight Directions
'x'Array elements lie on the yz-plane. All element boresight vectors point along the x-axis.
'y'Array elements lie on the zx-plane. All element boresight vectors point along the y-axis.
'z'Array elements lie on the xy-plane. All element boresight vectors point along the z-axis.

Default: 'x'

Taper

Element tapers

Element tapers, specified as a complex-valued scalar, or a complex-valued 1-by-MN row vector, MN-by-1 column vector, or M-by-N matrix. Tapers are applied to each element in the sensor array. Tapers are often referred to as element weights. M is the number of elements along the z-axis, and N is the number of elements along y-axis. M and N correspond to the values of [NumberofRows, NumberOfColumns] in the Size property. If Taper is a scalar, the same taper value is applied to all elements. If the value of Taper is a vector or matrix, taper values are applied to the corresponding elements. Tapers are used to modify both the amplitude and phase of the received data.

Default: 1

Methods

Specific to phased.HeterogeneousURA Object
beamwidth

Compute and display beamwidth of an array

collectPlaneWave

Simulate received plane waves

directivity

Directivity of heterogeneous uniform rectangular array

getElementNormal

Normal vector to array elements

getElementPosition

Positions of array elements

getNumElements

Number of elements in array

getTaper

Array element tapers

isPolarizationCapable

Polarization capability

pattern

Plot heterogeneous URA directivity and power pattern

patternAzimuth

Plot heterogeneous URA directivity or pattern versus azimuth

patternElevation

Plot heterogeneous URA array directivity or pattern versus elevation

perturbationsPerturbations defined on phased array
perturbedArrayApply perturbations to phased array
perturbedPatternCompute and plot azimuth pattern of perturbed array
step

Output responses of array elements

viewArray

View array geometry

Common to All System Objects
release

Allow System object property value changes

Examples

collapse all

Construct a 3-by-2 heterogeneous URA with a rectangular lattice, and find the response of each element at 30 degrees azimuth and 0 degrees elevation. Assume the operating frequency is 1 GHz.

antenna1 = phased.CosineAntennaElement('CosinePower',1.5);
antenna2 = phased.CosineAntennaElement('CosinePower',1.8);
array = phased.HeterogeneousURA('ElementSet',{antenna1,antenna2}, ...
    'ElementIndices',[1 1; 2 2; 1 1]);
fc = 1e9;
ang = [30;0];
resp = array(fc,ang)
resp = 6×1

    0.8059
    0.7719
    0.8059
    0.8059
    0.7719
    0.8059

Plot the azimuth pattern of the array.

c = physconst('LightSpeed');
pattern(array,fc,[-180:180],0,'PropagationSpeed',c, ...
    'CoordinateSystem','polar','Type','powerdb','Normalize',true)

Construct a 3-by-3 heterogeneous URA with a triangular lattice. The element spacing is 0.5 meter. Display the array shape.

elem1 = phased.CosineAntennaElement('CosinePower',1.5);
elem2= phased.CosineAntennaElement('CosinePower',1.8);
array = phased.HeterogeneousURA( ...
    'ElementSet',{elem1,elem2}, ...
    'ElementIndices',[1 1 1; 2 2 2; 1 1 1], ...
    'Lattice','Triangular');
viewArray(array)

More About

expand all

References

[1] Brookner, E., ed. Radar Technology. Lexington, MA: LexBook, 1996.

[2] Brookner, E., ed. Practical Phased Array Antenna Systems. Boston: Artech House, 1991.

[3] Mailloux, R. J. “Phased Array Theory and Technology,” Proceedings of the IEEE, Vol., 70, Number 3, 1982, pp. 246–291.

[4] Mott, H. Antennas for Radar and Communications, A Polarimetric Approach. New York: John Wiley & Sons, 1992.

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

Extended Capabilities

Version History

Introduced in R2013a