# design

Design prototype antenna or arrays for resonance around specified frequency

## Syntax

``hant = design(antenna,frequency)``
``harray = design(array,frequency)``
``harray = design(array,frequency,elements)``
``harray = design(conformalarray,frequency)``
``harray = design(conformalarray,frequency,elements)``
``harray = design(infinitearray,frequency)``
``harray = design(infinitearray,frequency,elements)``
``ha = design(planewaveexcitation,frequency)``
``ha = design(planewaveexcitation,frequency,direction)``

## Description

example

````hant = design(antenna,frequency)` designs an `antenna` object from the antenna library that resonates at the specified `frequency`.```
````harray = design(array,frequency)` designs an `array` of dipoles that operates at the specified frequency. The spacing between elements is half a wavelength.```

example

````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`.```
````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 `Elements`property 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 `desgin` 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)` Calculate the impedance of the above antenna at the same frequency.

`Z = impedance(p,1e9)`
```Z = 40.4976 -12.3644i ```

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)``` Plot the radiation pattern of the rectangular array at 500 MHz.

`pattern(ra,500e6)` 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)` Create an infinite array.

`infarrayV1 = infiniteArray`
```infarrayV1 = infiniteArray with properties: Element: [1x1 reflector] ScanAzimuth: 0 ScanElevation: 90 RemoveGround: 0 ```
`show(infarrayV1)` 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)` ## Input Arguments

collapse all

Antenna object from antenna library, specified as a scalar.

Example: `dipole`

Array object from antenna library, specified as a `linearArray`, `rectangularArray`, or `circularArray` object.

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

Conformal array object, 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, 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.

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.

## Version History

Introduced in R2016b