phased.HeterogeneousURA System object

Package: phased

Heterogeneous uniform rectangular array


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.


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



Set of elements used in the array

Specify the set of different elements used in the sensor array as a row MATLAB cell array. Each member of the cell array contains an element object in the phased package. Elements specified in the ElementSet property must be either all antennas or all microphones. In addition, all specified antenna elements should have same polarization capability. Specify the element of the sensor array as a handle. The element must be an element object in the phased package.

Default: One cell containing one isotropic antenna element


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]


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]


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'


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


cloneCreate new system object with identical values
collectPlaneWaveSimulate received plane waves
directivityDirectivity of heterogeneous uniform rectangular array
getElementPositionPositions of array elements
getNumElementsNumber of elements in array
getNumInputsNumber of expected inputs to step method
getNumOutputsNumber of outputs from step method
getTaperArray element tapers
isLockedLocked status for input attributes and nontunable properties
isPolarizationCapablePolarization capability
patternPlot heterogeneous URA direcivity and power pattern
patternAzimuthPlot heterogeneous URA directivity or pattern versus azimuth
patternElevationPlot heterogeneous ULA directivity or pattern versus elevation
plotResponsePlot response pattern of array
releaseAllow property value and input characteristics
stepOutput responses of array elements
viewArrayView array geometry


Spacing Between Columns

The spacing between columns is the distance between adjacent elements in the same row.

Spacing Between Rows

The spacing between rows is the distance along the column axis direction between adjacent rows.


expand all

Azimuth Response of a 3-by-2 Heterogeneous URA

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.

sElement1 = phased.CosineAntennaElement('CosinePower',1.5);
sElement2 = phased.CosineAntennaElement('CosinePower',1.8);
sArray = phased.HeterogeneousURA(...
    'ElementIndices',[1 1; 2 2; 1 1]);
fc = 1e9;
ang = [30;0];
resp = step(sArray,fc,ang)
resp =


Plot the azimuth response of the array.

c = physconst('LightSpeed');

Draw Heterogeneous Triangular Lattice Array

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

sElement1 = phased.CosineAntennaElement('CosinePower',1.5);
sElement2 = phased.CosineAntennaElement('CosinePower',1.8);
sArray = phased.HeterogeneousURA(...
    'ElementIndices',[1 1 1; 2 2 2; 1 1 1],...

Related Examples


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

Introduced in R2013a

Was this topic helpful?