Main Content


Heterogeneous conformal array


The HeterogeneousConformalArray object constructs a conformal array from a heterogeneous set of antenna elements. A heterogeneous array is an array which consists of different kinds of antenna elements or an array of different kinds of microphone elements. A conformal array can have elements in any position pointing in any direction.

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

  1. Define and set up your conformal array. See Construction.

  2. Call step to compute the response according to the properties of phased.HeterogeneousConformalArray. The behavior of step is specific to each object in the toolbox.


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.


H = phased.HeterogeneousConformalArray creates a heterogeneous conformal array System object, H. This object models a heterogeneous conformal array formed with different kinds of sensor elements.

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

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


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 length-N row vector. In this vector, N represents the number of elements in the array. The values in the vector specified by ElementIndices must be less than or equal to the number of entries in the ElementSet property.

Default: [1 2 2 1]


Element positions

ElementPosition specifies the positions of the elements in the conformal array. The value of the ElementPosition property must be a 3-by-N matrix, where N indicates the number of elements in the conformal array. Each column of ElementPosition represents the position, in the form [x; y; z] (in meters), of a single element in the local coordinate system of the array. The local coordinate system has its origin at an arbitrary point.

Default: [0; 0; 0]


Element normal directions

ElementNormal specifies the normal directions of the elements in the conformal array. Angle units are degrees. The value assigned to ElementNormal must be either a 2-by-N matrix or a 2-by-1 column vector. The variable N indicates the number of elements in the array. If the value of ElementNormal is a matrix, each column specifies the normal direction of the corresponding element in the form [azimuth;elevation] with respect to the local coordinate system. The local coordinate system aligns the positive x-axis with the direction normal to the conformal array. If the value of ElementNormal is a 2-by-1 column vector, it specifies the pointing direction of all elements in the array.

You can use the ElementPosition and ElementNormal properties to represent any arrangement in which pairs of elements differ by certain transformations. The transformations can combine translation, azimuth rotation, and elevation rotation. However, you cannot use transformations that require rotation about the normal.

Default: [0; 0]


Element taper or weighting

Element tapering or weighting, specified as a complex-valued scalar, 1-by-N row vector, or N-by-1 column vector. The quantity N is the number of elements in the array as determined by the size of the ElementIndices property. Tapers, also known as weights, are applied to each sensor element in the sensor array and modify both the amplitude and phase of the received data. If 'Taper' is a scalar, the same taper value is applied to all elements. If 'Taper' is a vector, each taper value is applied to the corresponding sensor element.

Default: 1


Specific to phased.HeterogeneousConformalArray Object

Compute and display beamwidth of an array


Simulate received plane waves


Directivity of heterogeneous conformal array


Normal vector to array elements


Positions of array elements


Number of elements in array


Array element tapers


Polarization capability


Plot heterogeneous conformal array pattern


Plot heterogeneous conformal array directivity or pattern versus azimuth


Plot heterogeneous conformal array directivity or pattern versus elevation

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

Output responses of array elements


View array geometry

Common to All System Objects

Allow System object property value changes


collapse all

Construct an 8-element heterogeneous uniform circular array (UCA) using the ConformalArray System object™. Four of the elements have a cosine pattern with a power of 1.6 while the remaining elements have a cosine pattern with a power of 2.0. Plot the 3-D power response. Assume a 1 GHz operating frequency. The wave propagation speed is the speed of light.

Construct the array

sElement1 = phased.CosineAntennaElement('CosinePower',1.6);
sElement2 = phased.CosineAntennaElement('CosinePower',2.0);
N = 8;
azang = (0:N-1)*360/N-180;
sArray = phased.HeterogeneousConformalArray(...
    'ElementIndices',[1 1 1 1 2 2 2 2],...
c = physconst('LightSpeed');
fc = 1e9;

Create the 3-D power pattern



[1] Josefsson, L. and P. Persson. Conformal Array Antenna Theory and Design. Piscataway, NJ: IEEE Press, 2006.

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

Extended Capabilities

Version History

Introduced in R2013a