This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materials including this page, select Japan from the country navigator on the bottom of this page.

Antenna Array Beam Scanning Visualization on a Map

This example shows how to visualize the changing coverage map of an antenna array as it scans a sweep of angles. The antenna array is created using Antenna Toolbox™ and Phased Array System Toolbox™. The array is designed to be directional and radiate in the XY-plane to generate a maximum coverage region in the geographic azimuth. Transmitter and receiver sites are created and shown on a map, and the coverage map is displayed as the antenna array is steered.

Design a Reflector-Backed Antenna Element

Use Antenna Toolbox to design a reflector-backed antenna element. Design the element and its exciter for 10 GHz, and specify tilt to direct radiation in the XY-plane, which corresponds to the geographic azimuth.

% Design antenna element and exciter
fq = 10e9; % 10 GHz
myelement = design(reflector,fq);
myelement.Exciter = design(myelement.Exciter,fq);

% Tilt antenna element to radiate in XY-plane, with boresight along X-axis
myelement.Tilt = 90;
myelement.TiltAxis = 'Y';
myelement.Exciter.Tilt = 90;
myelement.Exciter.TiltAxis = 'Y';

Create a 7-by-7 Rectangular Antenna Array

Use Phased Array System Toolbox to create a 7-by-7 rectangular array from the antenna element. Specify the array normal to direct radiation in the X-axis direction.

% Create 7-by-7 antenna array                            
nrow = 7;
ncol = 7;
myarray = phased.URA('Size',[nrow ncol],'Element',myelement);
% Define element spacing to be half-wavelength at 10 GHz, and specify 
% array plane as YZ-plane, which directs radiation in X-axis direction
lambda = physconst('lightspeed')/fq;
drow = lambda/2;
dcol = lambda/2; 
myarray.ElementSpacing = [drow dcol];
myarray.ArrayNormal = 'x';
% Display radiation pattern
az = -180:1:180;
el = -90:1:90;  

Create Transmitter Site at Washington Monument

Create a transmitter site at the Washington Monument in Washington, DC using the antenna array. The transmitter frequency matches the antenna's design frequency, and the transmitter output power is 1 W. Use default antenna height of 10 m.

tx = txsite('Name','Washington Monument',...
    'Latitude',38.88949, ...
    'Longitude',-77.03523, ...

Show Transmitter Site on a Map

Show the transmitter site to launch Site Viewer and center the view at the Washington Monument. The default map shows satellite imagery.


Create Receiver Sites

Create an array of receiver sites in the Washington, DC area. These are used as place markers for sites of interest to assess the coverage of the transmitter site.

% Define names for receiver sites
rxNames = {...
    'Brentwood Hamilton Field', ...
    'Nationals Park', ...
    'Union Station', ...
    'Georgetown University', ...
    'Arlington Cemetery'};

% Define coordinates for receiver sites
rxLocations = [...
    38.9080 -76.9958; ...
    38.8731 -77.0075; ...
    38.8976 -77.0062; ...
    38.9076 -77.0722; ...
    38.8783 -77.0685];

% Create array of receiver sites. Each receiver has a sensitivity of -75 dBm.
rxs = rxsite('Name',rxNames, ...
    'Latitude',rxLocations(:,1), ...
    'Longitude',rxLocations(:,2), ...

Show receiver sites on a map.


Open the basemap imagery picker in Site Viewer by clicking the second button from the right. Select "ESRI World Street Map" to see streets and labels on the map.

Display Transmitter Coverage Map

Define two signal strength levels and corresponding colors to display on the coverage map. The default orientation of the transmitter site defines the X-axis as pointing East, so that is the direction of maximum coverage.

% Define signal strength levels (dBm) and corresponding colors
strongSignal = -65;
weakSignal = -75;
sigstrengths = [strongSignal weakSignal];
sigcolors = {'yellow' 'green'};

% Display coverage map. Specify Resolution of 50 m to get 
% increased level of detail.
coverage(tx, ...
    'SignalStrengths',sigstrengths, ...
    'Colors',sigcolors, ...

Scan the Array and Update the Coverage Display

Scan the antenna beam by applying a taper for a range of angles. For each angle, update the coverage map. This approach of scanning the beam produces different coverage maps than physically rotating the antenna, as could be achieved by setting AntennaAngle of the transmitter site. The final map includes two receiver sites of interest within the coverage region.

% Define angles over which to perform sweep
azsweep = -30:10:30;

% Set up tapering window and steering vector
N = nrow*ncol;
nbar = 5; 
sll = -20;
sltaper = taylorwin(N,nbar,sll)';
steeringVector = phased.SteeringVector('SensorArray',myarray);

for az = azsweep
    % Calculate and assign taper from steering vector
    sv = steeringVector(fq,[az; 0]);    
    myarray.Taper = sltaper.*sv';
    % Update coverage map. Use greater resolution value to improve speed of update.
    coverage(tx, ...
        'SignalStrengths',sigstrengths, ...
        'Colors',sigcolors, ...

Plot Communication Links

Plot communication links between receiver sites and transmitter site. The two sites within the coverage region, Union Station and Brentwood Hamilton Field, are green to indicate a successful link. Selecting a line shows the link distance, received power, and receiver sensitivity.


Was this topic helpful?