Accelerating the pace of engineering and science

# Documentation Center

• Trial Software

## Conformal Array

### Support for Arrays with Custom Geometry

The phased.ConformalArray object lets you model a phased array with arbitrary geometry. For example, you can use phased.ConformalArray to design:

• A planar array with a nonrectangular geometry, such as a circular array

• An array with nonuniform geometry, such as a linear array with variable spacing

• A nonplanar array

When you use phased.ConformalArray, you must specify these aspects of the array:

• Sensor element of the array

• Element positions

• Direction normal to each array element

To create a conformal array with default properties, use this command:

`hcon = phased.ConformalArray`

This default conformal array consists of a single phased.IsotropicAntennaElement sensor element located at the origin of the local coordinate system. The direction normal to the sensor element is 0 degrees azimuth and 0 degrees elevation.

### Uniform Circular Array

This example shows how to construct a uniform circular array consisting of 60 elements. Assume an operating frequency of 400 MHz. Specify the arc length between the elements to be 0.5λ where λ is the wavelength of the operating frequency. The element normal directions are equal to [ang; 0] where ang is the azimuth angle of the array element.

```% Angle spacing in degrees
theta = 360/60;
% Arc length 0.5*wavelength of operating frequency
arclength = 0.5*(physconst('LightSpeed')/4e8);
% Number of elements
N = 60;
% Element angles in degrees
ang = (0:N-1)*theta;
% Azimuth angles must be between [-180,180]
ang(32:end)=ang(32:end)-360;
hcirc = phased.ConformalArray;
zeros(1,N)];
hcirc.ElementNormal = [ang; zeros(1,N)];

viewArray(hcirc);
figure;
plotResponse(hcirc,1e9,physconst('LightSpeed'),'Format','Polar')```

### Custom Antenna Array

This example shows how to construct and visualize a custom-geometry array containing antenna elements with a custom radiation pattern. The radiation pattern of each element is constant over each azimuth angle and has a cosine pattern for the elevation angles.

Define the antenna element and plot its radiation pattern.

```Az = -180:180;
El = -90:90;
Elresp = cosd(El);
hele = phased.CustomAntennaElement('AzimuthAngles',Az,...
'ElevationAngles',El,...
plotResponse(hele,3e8,'Format','Polar','RespCut','El')```

Define the locations and normal directions of the elements. In this case, the elements are located at [1;0;0], [0;1;0], and [0;-1;0]. The element normal azimuth angles are 0, 120, and –120 degrees respectively. All normal elevation angles are 0 degrees.

```xpos = [1 0 0];
ypos = [0 1 -1];
zpos = [0 0 0];
normal_az = [0 120 -120];
normal_el = [0 0 0];```

Define a conformal array with those elements.

```ha = phased.ConformalArray('Element',hele,...
'ElementPosition',[xpos; ypos; zpos],...
'ElementNormal',[normal_az; normal_el]);```

Plot the positions and normal directions of the elements.

```figure;
viewArray(ha,'ShowNormals',true)
view(0,90)```

Plot the response of the conformal array.

```figure;
plotResponse(ha,3e8,3e8,'Format','Polar','RespCut','3D')```