Analyze beam pattern of linear, planar, and conformal sensor arrays
The Sensor Array Analyzer app enables you to construct and analyze common sensor array configurations. These configurations range from 1-D to 3-D arrays of antennas and microphones.
After you specify array parameters, the app displays basic performance characteristics such as array directivity and array dimensions. You can then create various plots and images.
You can use this app to generate the directivity of the following arrays:
Uniform Linear Array (ULA)
Uniform Rectangular Array (URA)
Uniform Circular Array
Uniform Hexagonal Array
Circular Plane Array
These elements are available to populate an array:
The Sensor Array Analyzer app can create the following plots:
2-D Array Pattern
3-D Array Pattern
MATLAB® toolstrip: On the Apps tab, under Signal Processing and Communications, click the app icon.
MATLAB command prompt: Enter
This example analyzes a 10-element uniform linear array (ULA) in a sonar application. The array consists of isotropic hydrophones. Design the array for a 10-kHz signal.
A uniform linear array has sensor elements that are equally spaced along a line.
Under the Analyzer tab, in the Array section of the toolstrip, select ULA. In the Element section of the toolstrip, select Hydrophone.
Select the Parameters tab and set the Number of Elements to 10. Set the Element Spacing to 0.5 wavelengths. Then click the Apply button. You can change many menu items and apply the changes at any time. The parameters that appear in this tab depend on your choice of array and element.
Design the array for a 10-kHz signal by setting Signal
Frequencies (Hz) to
When you choose a sonar element, the app automatically sets the signal
propagation speed in water to
1500. You can set the
signal Propagation Speed to any value by setting the
Propagation Speed (m/s).
In the Plots section of the Analyzer tab, select Array Geometry button to draw the array. Clicking on the Array Geometry center panel in the display causes the Array Geometry tab to appear. In this tab, use the check boxes to display element normals (Show Normals), element indices (Show Index), and element tapers (Show Tapers).
In the rightmost Array Characteristics panel, you can view the array directivity, half-power beam width (HPBW), first-null beam-width (FNBW), and side lobe level (SLL).
To display a directivity plot, go to the Plots section of the Analyzer tab. Select Azimuth Pattern from the 2-D Pattern menu. The azimuth directivity pattern is now displayed in the center panel of the app. Select the Azimuth Pattern tab, and set the Coordinate to line.
You can see the main lobe of the array directivity function (also called the main beam) at 0° and another main lobe at ±180°. Two main lobes appear because of the cylindrical symmetry of the ULA array.
A beam scanner works by successively pointing the array main lobe in
different directions. In the Steering Angle section of the toolstrip,
changing the Steering Angles (deg) values to
[30;0] steers the main lobe to 30° in azimuth
and 0° elevation. The next figure shows two main lobes, one at 30°
as expected, and another at 150°. Two main lobes appear because of the
cylindrical symmetry of the array.
One disadvantage of a ULA is its large side lobes. An examination of the array directivity shows two side lobes close to each main lobe, each down by about only 13 dB. A strong side lobe inhibits the ability of the array to detect a weaker signal in the presence of a larger nearby signal. By using array tapering, you can reduce the side lobes.
Use the Taper option to specify the array taper as a
Taylor window with Sidelobe
Attenuation set to
30 dB and
nbar set to
4. The next figure
shows how the Taylor window reduces all side lobes to –30 dB—but at
the expense of broadening the main lobe.
This example shows how to construct a 6-by-6 uniform rectangular array (URA) designed to detect and localize a 100-MHz signal.
Under the Analyzer tab, in the Array section of the toolstrip, select URA. In the Element section of the toolstrip, select Isotropic.
Design the array for a 100-MHz signal by setting Signal
100e+6 and the row and
column Element Spacing to 0.5 wavelength.
Select the Parameters tab and set the Number of Elements to [6,6]. Set the Element Spacing to 0.5 wavelengths. Then click the Apply button. You can change many menu items and apply the changes at any time. The parameters that appear in this tab depend on your choice of array and element.
From the Row and Column pull-down menu, choose
Row and Column. Set Row
Taper and Column Taper to a
Taylor window using default taper parameters.
The shape of the array is shown in this figure.
Finally, display the 3-D array directivity by selecting 3D Array Directivity in the Plots section of the Analyzer tab.
A significant performance measure for any array is directivity. You can use the app to examine the effects of tapering on array directivity. Without tapering, the array directivity for this URA is 17.2 dB. With tapering, the array directivity loses 1 dB to yield 16.0 dB.
This example shows the grating lobe diagram of a 4-by-4 uniform rectangular array (URA) designed to detect and localize a 300-MHz signal.
Under the Analyzer tab, in the
Array section of the toolstrip, select
URA. In the Element
section of the toolstrip, select Isotropic. Set the
[4,4]. Steer the array
Design the array for a 300-MHz signal by setting Signal
300e+6 and the row and
column Element Spacing to 0.7 wavelength.
By setting the row and column Element Spacing to 0.7 wavelengths, you create a spatially under sampled array.
This figure shows the grating lobe diagram produced when you beamform the array towards the angle [20,0]. The main lobe is designated by the small black-filled circle. The multiple grating lobes are designated by the small unfilled black circles. The larger black circle is called the physical region, for which u2+ v2 ≤ 1. The main lobe always lies in the physical region. The grating lobes can sometimes lie outside the physical region. Any grating lobe in the physical region leads to an ambiguity in the direction of the incoming wave. The green region shows where the main lobe can be pointed without any grating lobes appearing in the physical region. If the main lobe is set to point outside the green region, a grating lobe can move into the physical region.
The next figure shows what happens when the pointing direction lies
outside the green region. Change Steering Angles (deg)
[35;0]. In this case, one grating lobe moves into the
This example shows how to construct a triangular array of three isotropic antenna elements.
You can specify an array which has an arbitrary placement of sensors. In this example, the elements are placed at (0,0,0), (0,1,0), and (0,0.5,0.866). All elements have the same normal direction (0,20), pointing to 0° azimuth and 20° elevation.
Plot the 3-D array directivity in polar coordinates.
This example illustrates an array with arbitrary geometry specified by
MATLAB variables set at the command line. Use them in the appropriate
At the MATLAB command line, create an element position
pos, an element normal array,
and a taper value array,
pos = [0,0,0;0,1,0.5;0,0,0.866]; nrm = [0,0,0;20,20,20]; tpr = [1,1,1];
Enter these variables in the appropriate