Main Content

design

Design prototype antenna or arrays for resonance around specified frequency or create AI-based antenna from antenna catalog objects

Description

hant = design(antenna,frequency) designs an antenna object from the antenna library that resonates at the specified frequency.

example

aiant = design(antenna,frequency,ForAI = true) creates an Artificial Intelligence (AI) based antenna with a set of tunable properties which you can tune to explore the design space and perform AI-based analysis.

Note

Supported antennas for this feature are:

To use this feature, you need license to the Statistics and Machine Learning Toolbox™ in addition to the Antenna Toolbox™.

example

harray = design(array,frequency) designs an array of dipoles that operates at the specified frequency. The spacing between elements is half a wavelength.

harray = design(array,frequency,elements) designs an array of elements for operation at the specified frequency. The spacing between elements is half a wavelength, if possible. If the object cannot achieve half-wavelength spacing, it uses the element size to calculate the separation between elements and evenly distributes the elements on a sphere with a radius proportional to the largest element in element.

example

harray = design(conformalarray,frequency) designs a conformal array of dipole and bowtie elements at the specified frequency. The object places the elements in the locations specified by the default conformalArray object. If the object cannot place elements at the specified positions due to the intersection of elements, it uses the element size to calculate the spacing between elements and distributes the elements on a sphere with a radius proportional to the largest element in the Elementsproperty of the conformalArray object.

harray = design(conformalarray,frequency,elements) designs a conformal array of the specified elements at the specified frequency.

harray = design(infinitearray,frequency) designs an infinite array with a reflector element at the specified frequency.

harray = design(infinitearray,frequency,elements) designs an infinite array of the specified elements at the specified frequency.

Note

  • Antennas or arrays that you design with the design function resonate around the design frequency with an error tolerance of 10–15%. To reduce this tolerance and optimize your antenna or array design, use the optimize function.

  • The design function uses air as its default substrate.

ha = design(planewaveexcitation,frequency) creates a plane-wave excitation environment and calculates the required orientation and polarization of the receiver antenna element to capture the maximum power from the incident plane-wave at the specified frequency.

ha = design(planewaveexcitation,frequency,direction) creates a plane-wave excitation environment with the receiver antenna element orientation direction and calculates the required polarization of this antenna to capture the maximum power from the incident plane-wave at the specified frequency.

Examples

collapse all

Design a prototype microstrip patch antenna that resonates at a frequency of 1 GHz.

p = design(patchMicrostrip,1e9)
p = 
  patchMicrostrip with properties:

               Length: 0.1439
                Width: 0.1874
               Height: 0.0030
            Substrate: [1x1 dielectric]
    GroundPlaneLength: 0.2998
     GroundPlaneWidth: 0.2998
    PatchCenterOffset: [0 0]
           FeedOffset: [0.0303 0]
            Conductor: [1x1 metal]
                 Tilt: 0
             TiltAxis: [1 0 0]
                 Load: [1x1 lumpedElement]

show(p)

Figure contains an axes object. The axes object with title patchMicrostrip antenna element, xlabel x (mm), ylabel y (mm) contains 5 objects of type patch, surface. These objects represent PEC, feed.

Calculate the impedance of the above antenna at the same frequency.

Z = impedance(p,1e9)
Z = 
47.8027 - 7.5678i

Design a rectangular array of reflector backed rounded bowtie antennas to operate at 500 MHz.

b = bowtieRounded(Tilt=90,TiltAxis=[0 1 0]);
r = reflector(Exciter=b);
ra = design(rectangularArray,500e6,r);
show(ra)

Figure contains an axes object. The axes object with title rectangularArray of reflector antennas, xlabel x (mm), ylabel y (mm) contains 14 objects of type patch, surface. These objects represent PEC, feed.

Plot the radiation pattern of the rectangular array at 500 MHz.

pattern(ra,500e6)

Figure contains 2 axes objects and other objects of type uicontrol. Axes object 1 contains 14 objects of type patch, surface. Hidden axes object 2 contains 21 objects of type surface, line, text, patch.

Create a default conformal array.

confarraydef = conformalArray
confarraydef = 
  conformalArray with properties:

            Element: {[1x1 dipole]  [1x1 bowtieTriangular]}
    ElementPosition: [2x3 double]
          Reference: 'feed'
     AmplitudeTaper: 1
         PhaseShift: 0
               Tilt: 0
           TiltAxis: [1 0 0]

Design a conformal array using a dipole antenna, folded dipole antenna, meander dipole antenna, and a monopole antenna at 1 GHz.

desC = design(confarraydef,1e9,{dipole, dipoleFolded, dipoleMeander, monopole}) 
desC = 
  conformalArray with properties:

            Element: {[1x1 dipole]  [1x1 dipoleFolded]  [1x1 dipoleMeander]  [1x1 monopole]}
    ElementPosition: [4x3 double]
          Reference: 'feed'
     AmplitudeTaper: 1
         PhaseShift: 0
               Tilt: 0
           TiltAxis: [1 0 0]

desC.ElementPosition
ans = 4×3

         0         0   -1.3016
         0         0   -2.6939
         0         0   -2.8594
         0         0   -3.1498

show(desC)

Figure contains an axes object. The axes object with title conformalArray of antennas, xlabel x (m), ylabel y (m) contains 13 objects of type patch, surface. These objects represent PEC, feed.

Create an infinite array.

infarrayV1 = infiniteArray
infarrayV1 = 
  infiniteArray with properties:

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

show(infarrayV1)

Figure contains an axes object. The axes object with title Unit cell of reflector over a dipole in an infinite array, xlabel x (mm), ylabel y (mm) contains 7 objects of type patch, surface. These objects represent PEC, feed, Air, unit cell.

Design the above array using a monopole antenna and at 1 GHz frequency.

infarrayV2 = design(infarrayV1,1e9,monopole)
infarrayV2 = 
  infiniteArray with properties:

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

show(infarrayV2)

Figure contains an axes object. The axes object with title Unit cell of monopole in an infinite array, xlabel x (mm), ylabel y (mm) contains 6 objects of type patch, surface. These objects represent PEC, feed, Air, unit cell.

This example shows how to create an AI-based microstrip patch antenna operating at 1.67 GHz, and calculate its bandwidth and resonant frequency.

Use the design function with the ForAI argument set to true to create an AI-based microstrip patch antenna operating at 1.67 GHz. To use the ForAI argument in the design function you need a license to the Statistics and Machine Learning Toolbox™.

pAI = design(patchMicrostrip,1.67e9,ForAI=true)
pAI = 
  AIAntenna with properties:

   Antenna Info
               AntennaType: 'patchMicrostrip'
    InitialDesignFrequency: 1.6700e+09

   Tunable Parameters
                    Length: 0.0862
                     Width: 0.1122
                    Height: 0.0018

Use 'showReadOnlyProperties(pAI)' to show read-only properties

Explore the design space by changing its length and width with values within the tunable range of these properties. You can get the tunable range of a property by using tunableRanges function on the AI-based antenna object.

pAI.Length = 0.0855;
pAI.Width = 0.113;

Calculate the absolute bandwidth of the antenna and its lower and upper bounds.

[absBW,fL,fU,matchingStatus] = bandwidth(pAI)
absBW = 
2.3422e+07
fL = 
1.6679e+09
fU = 
1.6913e+09
matchingStatus = categorical
     Matched 

Calculate the resonant frequency of the antenna.

fR = resonantFrequency(pAI)
fR = 
1.7016e+09

Convert the AI-based microstrip patch antenna to a regular microstrip patch antenna.

pm = exportAntenna(pAI)
pm = 
  patchMicrostrip with properties:

               Length: 0.0855
                Width: 0.1130
               Height: 0.0018
            Substrate: [1x1 dielectric]
    GroundPlaneLength: 0.1795
     GroundPlaneWidth: 0.1795
    PatchCenterOffset: [0 0]
           FeedOffset: [0.0181 0]
            Conductor: [1x1 metal]
                 Tilt: 0
             TiltAxis: [1 0 0]
                 Load: [1x1 lumpedElement]

Input Arguments

collapse all

Antenna to design, specified as an antenna object from the Antenna Catalog.

Example: dipole

Array to design, specified as a linearArray, rectangularArray, or circularArray object.

Example: rectangularArray

Conformal array to design, specified as a conformalArray object.

You can position elements in a conformal array in three ways:

  • Case 1: Points lie on a line.

  • Case 2: Points lie on a plane.

  • Case 3: Points lie in 3-D space.

Example: c = conformalArray;ca = design(c,50e6,{dipole,dipoleFolded, dipoleJ, bowtieTriangular,dipole,dipole,dipole,dipole,dipole}); Designs a conformal array of specified elements operating at a frequency of 50 MHz.

Infinite array to design, specified as an infiniteArray object.

Example: i = infiniteArray;ia = design(i,1e9,monopole); Designs an infinite array with a monopole antenna element operating at a frequency of 1 GHz.

Plane-wave excitation environment, specified as a planeWaveExcitation object.

Example: design(planeWaveExcitation,1e9); Creates a plane-wave excitation environment and calculates the orientation and polarization of the receiver antenna required to capture the maximum power from the incident plane-wave at 1 GHz.

Resonant frequency of the antenna, specified as a real positive scalar.

Example: 55e6

Data Types: double

Antenna object from the antenna library used in the array, specified as a single antenna element or a cell array in conformal array. For more information on element positions for conformal array, see conformalarray.

Example: r = reflector;ra = design(rectangularArray,500e6,r); Designs a rectangular array of reflectors operating at a frequency of 500 MHz.

Example: c = conformalArray;ca = design(c,50e6,{dipole,dipoleFolded, dipoleJ, bowtieTriangular,dipole,dipole,dipole,dipole,dipole}); Designs a conformal array of specified elements operating at a frequency of 50 MHz.

Orientation of the receiver antenna element, specified as a 1-by-3 vector of Cartesian coordinates or a 1-by-2 vector of azimuth and elevation angles. When you specify the Cartesian coordinates of a point, the function calculates the direction by joining a line from the origin to this point.

Example: design(planeWaveExcitation,1e9,[45 45])

Output Arguments

collapse all

Antenna object operating at the specified reference frequency, returned as an antenna object.

AI antenna object with set of tunable properties which you can tune to perform AI based analysis on this antenna.

Array object operating at the specified reference frequency and specified elements, returned as an array object.

Plane-wave excitation environment, returned as a planeWaveExcitation object. This output contains the receiver antenna orientation and polarization required to capture the maximum power from the incident plane-wave.

Tips

  • Use the mesh function to refine your antenna or array prototypes.

  • Changing the design frequency in the design function changes the antenna or array element dimensions, ground plane dimensions, substrate thickness, feed location, spacing between the array elements, and array radius.

Version History

Introduced in R2016b

expand all