Main Content


Create array represented by 2-D custom geometry


The customArrayGeometry object is an array represented by a 2-D custom geometry on the X-Y plane. You can use the customArrayGeometry to import a 2-D custom geometry, define feeds to create an array element, and analyze the custom array.



array = customArrayGeometry creates a custom array represented by 2-D geometry on the X-Y plane, based on the specified boundary.


array = customArrayGeometry(Name,Value) creates a 2-D array geometry, with additional properties specified by one or more name-value pair arguments. Name is the property name and Value is the corresponding value. You can specify several name-value pair arguments in any order as Name1, Value1, ..., NameN, ValueN. Properties not specified retain their default values.

Output Arguments

expand all

Custom array geometry, returned as an customArrayGeometry object.


expand all

Boundary information in Cartesian coordinates, specified as a cell array in meters.

Data Types: double

Boolean operation performed on the boundary list, specified as a character vector. operation set is; [+, -, *].

Example: 'Operation','P1-P2'

Data Types: double

Array element feed location in Cartesian coordinates, specified as a three-element vector. The three elements represent the X, Y, and Z coordinates respectively.

Example: 'FeedLocation', [0 0.2 0]

Data Types: double

Width of feed for array elements, specified as a scalar in meters.

Example: 'FeedWidth',0.05

Data Types: double

Excitation amplitude for array elements, specified as a non-negative scalar or vector of non-negative scalars. Set property value to 0 to model dead elements.

Example: 'AmplitudeTaper',3

Data Types: double

Phase shift for array elements, specified as a real scalar in degrees or a real vector in degrees.

Example: 'PhaseShift',[3 3 0 0] specified the phase shift for custom array containing four elements.

Data Types: double

Tilt angle of the array specified as a scalar or vector with each element unit in degrees. For more information, see Rotate Antennas and Arrays.

Example: Tilt=90,

Example: Tilt=[90 90],TiltAxis=[0 1 0;0 1 1] tilts the array at 90 degrees about the two axes, defined by vectors.

Data Types: double

Tilt axis of the array, specified as:

  • Three-element vectors of Cartesian coordinates in meters. In this case, each vector starts at the origin and lies along the specified points on the X-, Y-, and Z-axes.

  • Two points in space, each specified as three-element vectors of Cartesian coordinates. In this case, the array rotates around the line joining the two points in space.

  • A string input describing simple rotations around one of the principal axes, 'X', 'Y', or 'Z'.

For more information, see Rotate Antennas and Arrays.

Example: TiltAxis=[0 1 0]

Example: TiltAxis=[0 0 0;0 1 0]

Example: TiltAxis='Z'

Data Types: double

Object Functions

showDisplay antenna, array structures or shapes
infoDisplay information about antenna or array
axialRatioAxial ratio of antenna
beamwidthBeamwidth of antenna
chargeCharge distribution on antenna or array surface
currentCurrent distribution on antenna or array surface
EHfieldsElectric and magnetic fields of antennas; Embedded electric and magnetic fields of antenna element in arrays
impedanceInput impedance of antenna; scan impedance of array
meshMesh properties of metal, dielectric antenna, or array structure
meshconfigChange mesh mode of antenna structure
patternRadiation pattern and phase of antenna or array; Embedded pattern of antenna element in array
patternAzimuthAzimuth pattern of antenna or array
patternElevationElevation pattern of antenna or array
returnLossReturn loss of antenna; scan return loss of array
sparametersCalculate S-parameter for antenna and antenna array objects
showDisplay antenna, array structures or shapes
vswrVoltage standing wave ratio of antenna


collapse all

Create and visualize a custom array using pcbStack. Plot the impedance and current distribution of the array.

Create a ground plane with a length of 0.6 m and a width of 0.5 m.

Lp  = 0.6;
Wp  = 0.5;
p1  = antenna.Rectangle('Length',Lp,'Width',Wp);

Create slots on the ground plane with a length 0.05 m and a width of 0.4 m.

Add strips of 0.05 m by 0.01 m in between the slots for basing the feed point.

Ls  = 0.05;
Ws  = 0.4;
offset = 0.12;
p2 = antenna.Rectangle('Length',Ls,'Width',Ws,'Center',[-offset 0]);
p3 = antenna.Rectangle('Length',Ls,'Width',Ws,'Center',[offset 0]);
Wf  = 0.01;
p4   = antenna.Rectangle('Length',Ls,'Width',Wf,'Center',[-offset 0]);
p5   = antenna.Rectangle('Length',Ls,'Width',Wf,'Center',[offset 0]);

Create an array using the slotted ground plane. Create a feed in between the slots on the ground plane.

carray = pcbStack;
shape = p1-p2-p3+p4+p5';
carray.BoardShape = antenna.Rectangle('Length',0.6,'Width',0.5);
carray.Layers = {shape};
carray.FeedLocations = [-offset 0 1 ; offset 0 1];
carray.FeedDiameter= 0.01;

Visualize the array.


Figure contains an axes object. The axes object with title pcbStack antenna element contains 4 objects of type patch, surface. These objects represent PEC, feed.

Calculate the impedance of the array using the frequency range of 350 MHz to 450 MHz.

impedance(carray, 350e6:5e6:450e6)

{"String":"Figure contains an axes object and other objects of type uicontrol. The axes object with title Active Impedance contains 2 objects of type line. These objects represent Resistance element 1, Reactance element 1.","Tex":"Active Impedance","LaTex":[]}

Visualize the current distribution of the array at 410 MHz.

current(carray, 410e6)

Figure contains an axes object. The axes object with title Current distribution contains 3 objects of type patch.


[1] Balanis, C. A. Antenna Theory. Analysis and Design. 3rd Ed. Hoboken, NJ: John Wiley & Sons, 2005.

Version History

Introduced in R2017a