Main Content


Create infinite array of 2-D custom antenna in xy-plane


The infiniteArray object is an infinite antenna array in the xy-plane. Infinite array models a single antenna element called the unit cell. Ground plane of the antenna specifies the boundaries of the unit cell. Antenna without a ground plane requires a reflector. The infinite array has a reflector-backed dipole as the default exciter antenna element. The default dimensions are chosen for an operating frequency of 1GHz.



infa = infiniteArray creates an infinite antenna array in the xy-plane.


infa = infiniteArray(Name=Value) creates an infinite array, with additional Properties specified by one or more name-value 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 you do not specify retain their default values.


expand all

Type of individual antenna element in an unit cell, specified as an antenna object or a pcbStack object. Back an antenna without a ground plane by a reflector. The ground plane size specifies the unit cell boundaries. Add vias to the infinite array by setting this property to a pcbStack object.


  1. You cannot set this property to a pcbStack object for these specifications:

    • Disconnected array of metal-dielectric structures

    • Antenna with multiple dielectric layers, edge feed, and different dimensions of the ground plane and dielectric substrate

    • Antenna that you create with thePCB Antenna Designer app

  2. Following antennas are unsupported as an element:

Example: reflector

Scan direction in azimuth plane, specified as a scalar in degrees.

Example: 25

Data Types: double

Scan direction in elevation plane, specified as a scalar in degrees.

Example: 80

Data Types: double

Remove the ground plane of the reflector with air substrate, specified as a numeric or logical 1 (true) or 0 (false). When you specify 1, the object removes the ground plane. When you specify 0, the object does not remove the ground plane.

Example: 1

Data Types: logical

Object Functions

axialRatioCalculate and/or plot axial ratio of antenna or array
bandwidthCalculate and/or plot absolute bandwidth of antenna
beamwidthBeamwidth of antenna
chargeCharge distribution on antenna or array surface
correlationCorrelation coefficient between two antennas in array
currentCurrent distribution on antenna or array surface
designDesign prototype antenna or arrays for resonance around specified frequency or create AI-based antenna from antenna catalog objects
efficiencyRadiation efficiency of antenna
EHfieldsElectric and magnetic fields of antennas or embedded electric and magnetic fields of antenna element in arrays
impedanceInput impedance of antenna or scan impedance of array
infoDisplay information about antenna, array, or platform
layoutDisplay array or PCB stack layout
memoryEstimateEstimate memory required to solve antenna or array mesh
meshMesh properties of metal, dielectric antenna, or array structure
meshconfigChange meshing mode of antenna, array, custom antenna, custom array, or custom geometry
numSummationTermsChange number of summation terms for calculating periodic Green's function
patternPlot radiation pattern and phase of antenna or array or embedded pattern of antenna element in array
patternAzimuthAzimuth plane radiation pattern of antenna or array
patternElevationElevation plane radiation pattern of antenna or array
rcsCalculate and plot monostatic and bistatic radar cross section (RCS) of platform, antenna, or array
resonantFrequencyCalculate and/or plot resonant frequency of antenna
returnLossReturn loss of antenna or scan return loss of array
showDisplay antenna, array structures, shapes, or platform
sparametersCalculate S-parameters for antennas and antenna arrays
vswrVoltage standing wave ratio (VSWR) of antenna or array element


collapse all

Create an infinite array of reflector-backed dipole as the unit cell. Scan the array at boresight. Visualize the unit cell.

infa = infiniteArray(Element=reflector,ScanAzimuth=0, ...

Calculate the scan impedance of an infinite array at 1 GHz. To calculate the impedance, scan the infinite array from boresight to horizon in the elevation plane.

infa = infiniteArray;
theta0deg = linspace(0,90,5);
zscan = nan(1,numel(theta0deg));    
    for j = 1:numel(theta0deg)
      infa.ScanElevation = theta0deg(j);
      zscan(1,j) = impedance(infa,1e9);
 plot(theta0deg, real(zscan), 'b',theta0deg, imag(zscan), 'r', LineWidth=2);
title("Scan Impedance");
xlabel("Scan Elevation Angle (degrees)");
ylabel("Impedance (ohms)");
grid on

Calculate the scan impedance at bore sight of a metal infinite array without ground plane at a frequency of 1 GHz.

h = infiniteArray(Element=reflector,ScanAzimuth=0, ...
zin = impedance(h,1e9)
zin = 51.4845 +27.5135i

Plot the scan impedance at the boresight of a metal-dielectric infinite array at a frequency of 1 GHz.

ant = patchMicrostrip(Substrate=dielectric("Teflon"));
h = infiniteArray(Element=ant,ScanAzimuth=0,ScanElevation=90);

This example shows how to add vias to an infinite array using a pcbStack object.

Create Infinite Array of pcbStack Objects

Create a pcbStack object with an FR4 dielectric substrate. Define the feed dimension and location. Define the via dimension and location. Create an infinite array of this pcbStack object.

f = 1e9;
lambda = 3e8/f;
p = pcbStack;
d = dielectric("FR4");
p.BoardThickness = d.Thickness;
p.Layers = {p.Layers{1} d p.Layers{2}};
p.FeedLocations = [0.02 0 1 3];
p.FeedDiameter = 1e-3;
p.ViaLocations = [0 0 1 3];
p.ViaDiameter = 1e-3;
ant = infiniteArray(Element=p)
ant = 
  infiniteArray with properties:

          Element: [1x1 pcbStack]
      ScanAzimuth: 0
    ScanElevation: 90
     RemoveGround: 0

View Array and Elevation Pattern

View and mesh the array. Plot the elevation pattern of the array at 1 GHz.





[1] Balanis, C.A. Antenna Theory: Analysis and Design. 3rd Ed. New York: Wiley, 2005.

Version History

Introduced in R2015b