Documentation

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;
% Angle spacing in radians
thetarad = degtorad(theta);
% Arc length 0.5*wavelength of operating frequency
arclength = 0.5*(physconst('LightSpeed')/4e8);
radius = arclength/thetarad;
% 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;
hcirc.ElementPosition = [radius*cosd(ang);...
    radius*sind(ang);...
    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,...
    'RadiationPattern',repmat(Elresp',1,numel(Az)));
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')

Was this topic helpful?