Main Content

coverage

Display or compute coverage map

Description

coverage(txs) displays the coverage map for the specified transmitter site in the current Site Viewer. Each colored contour of the map defines an area where the corresponding signal strength is transmitted to the mobile receiver.

The CoordinateSystem property of the transmitter site must be "geographic".

example

coverage(txs,propmodel) displays the coverage map using the specified propagation model. The default propagation model is "longley-rice" when terrain is in use and "freespace" when terrain is not in use.

coverage(txs,rx) displays the coverage map using information from the specified receiver site. The function uses the receiver site to calculate the receiver gain and the receiver antenna height, but does not use the latitude or longitude of the receiver site. For more information about the receiver gain and the receiver antenna height, see the ReceiverGain and ReceiverAntennaHeight name-value arguments.

coverage(txs,rx,propmodel) displays the coverage map using information from the specified receiver site and the specified propagation model.

example

coverage(___,Name=Value) displays the coverage map using additional options specified by name-value arguments.

example

pd = coverage(txs,___) returns the computed coverage data in the propagation data object pd. This syntax ignores name-value arguments for the coverage map display and does not display data in Site Viewer.

Examples

collapse all

Create a transmitter site at MathWorks headquarters.

tx = txsite(Name="MathWorks",Latitude=42.3001,Longitude=-71.3503);

Show the coverage map.

coverage(tx)

Transmitter site and coverage map displayed over satellite imagery

Create a transmitter site at MathWorks headquarters.

tx = txsite(Name="MathWorks",Latitude=42.3001,Longitude=-71.3503);

Create a receiver site at Fenway Park with an antenna height of 1.2 m and system loss of 10 dB.

rx = rxsite(Name="Fenway Park",Latitude=42.3467,Longitude=-71.0972, ...
    AntennaHeight=1.2,SystemLoss=10);

Calculate the coverage area of the transmitter using a close-in propagation model.

coverage(tx,rx,PropagationModel="closein")

Transmitter site and coverage map displayed over satellite imagery

Define strong and weak signal strengths with corresponding colors.

strongSignal = -75;
strongSignalColor = "green";
weakSignal = -90;
weakSignalColor = "cyan";

Create a transmitter site and display the coverage map.

tx = txsite(Name="MathWorks", ...
    Latitude=42.3001, ...
    Longitude=-71.3503);
coverage(tx,SignalStrengths=[strongSignal,weakSignal], ...
    Colors=[strongSignalColor,weakSignalColor])

Transmitter site and coverage map displayed over satellite imagery

Define the names and the locations of sites around Boston.

names = ["Fenway Park","Faneuil Hall","Bunker Hill Monument"];
lats = [42.3467,42.3598,42.3763];
lons = [-71.0972,-71.0545,-71.0611];

Create the transmitter site array.

txs = txsite(Name=names, ...
    Latitude=lats, ...
    Longitude=lons, ...
    TransmitterFrequency=2.5e9);

Display the combined coverage map for multiple signal strengths, using close-in propagation model.

coverage(txs,"close-in",SignalStrengths=-100:5:-60)

Three transmitters and a combined coverage map displayed over satellite imagery

Launch Site Viewer using buildings in Chicago. For more information about the OpenStreetMap® file, see [1].

viewer = siteviewer(Buildings="chicago.osm");

Create a transmitter site on a building.

tx = txsite(Latitude=41.8800, ...
    Longitude=-87.6295, ...
    TransmitterFrequency=2.5e9);
show(tx)

Site Viewer with buildings and a transmitter site

Coverage Map Using Longley-Rice Propagation Model

Create a coverage map of the city using the Longley-Rice propagation model.

coverage(tx,SignalStrengths=-100:-5,MaxRange=250,Resolution=1)

Site Viewer with coverage map

Longley-Rice models over-the-rooftops propagation along vertical slices and obstructions tend to dominate the coverage region.

Coverage Map Using Ray Tracing Propagation Model and Image Method

Create a ray tracing propagation model, which MATLAB® represents using a RayTracing object. Configure the model to use the image method and to find propagation paths with up to 1 surface reflection.

pmImage = propagationModel("raytracing",Method="image", ...
    MaxNumReflections=1);

Create a coverage map of the city using the transmitter site and the ray tracing propagation model.

coverage(tx,pmImage,SignalStrengths=-100:-5, ...
    MaxRange=250,Resolution=2)

The same Site Viewer with a coverage map that includes more in-service areas

This coverage map shows new regions that are in service due to reflected propagation paths.

Coverage Map Using Ray Tracing Propagation Model and SBR Method

Create another ray tracing propagation model. This time, configure the model to use the shooting and bouncing rays (SBR) method and to find propagation paths with up to 2 surface reflections. The SBR method is generally faster than the image method.

pmSBR = propagationModel("raytracing",Method="sbr", ...
    MaxNumReflections=2);

Create an updated coverage map of the city.

coverage(tx,pmSBR,SignalStrengths=-100:-5, ...
    MaxRange=250,Resolution=2)

The same Site Viewer with a coverage map that includes more in-service areas

This coverage map shows new regions that are in service due to the additional reflected propagation paths.

Appendix

[1] The OpenStreetMap file is downloaded from https://www.openstreetmap.org, which provides access to crowd-sourced map data all over the world. The data is licensed under the Open Data Commons Open Database License (ODbL), https://opendatacommons.org/licenses/odbl/.

Input Arguments

collapse all

Transmitter site, specified as a txsite object or an array of txsite objects.

The CoordinateSystem property of the txsite objects must be "geographic".

Receiver site, specified as an rxsite object.

The CoordinateSystem property of the rxsite object must be "geographic".

Propagation model to use for the path loss calculations, specified as one of these options:

  • "freespace" — Free space propagation model

  • "rain" — Rain propagation model

  • "gas" — Gas propagation model

  • "fog" — Fog propagation model

  • "close-in" — Close-in propagation model

  • "longley-rice" — Longley-Rice propagation model

  • "tirem" — TIREM™ propagation model

  • "raytracing" — Ray tracing propagation model that uses the shooting and bouncing rays (SBR) method. When you specify a ray tracing model as input, the function incorporates multipath interference by using a phasor sum.

  • A propagation model created using the propagationModel function. For example, you can create a ray tracing propagation model that uses the image method by specifying propagationModel("raytracing",Method="image").

  • A composite propagation model. Create a composite propagation model from individual propagation models by using the add function. For information about the types of propagation models that can be combined, see Choose a Propagation Model.

The default value depends on whether the Map argument specifies terrain data.

  • When Map specifies terrain data, the default is "longley-rice".

  • When Map does not specify terrain data, the default is "freespace".

You can also specify the propagation model by using the PropagationModel name-value argument. If you specify both propmodel and PropagationModel, the function uses the value of PropagationModel.

Name-Value Arguments

expand all

Specify optional pairs of arguments as Name1=Value1,...,NameN=ValueN, where Name is the argument name and Value is the corresponding value. Name-value arguments must appear after other arguments, but the order of the pairs does not matter.

Example: coverage(txs,Type="efield") specifies the signal strength units as electric field strength units (dBμV/m).

Before R2021a, use commas to separate each name and value, and enclose Name in quotes.

Example: coverage(txs,"Type","efield") specifies the signal strength units as electric field strength units (dBμV/m).

General

expand all

Type of signal strength to compute, specified as one of these options:

  • "power" — The signal strengths in SignalStrengths is in power units (dBm) of the signal at the mobile receiver input.

  • "efield"— The signal strength in SignalStrengths is in electric field strength units (dBμV/m) of signal wave incident on the antenna.

Signal strengths to display on coverage map, specified as a numeric vector.

Each strength uses different colored filled contour on the map. The default value is -100 dBm if Type is "power" and 40 dBμV/m if Type is "efield".

Data Types: double

Propagation model to use for the path loss calculations, specified as one of these options:

  • "freespace" — Free space propagation model

  • "rain" — Rain propagation model

  • "gas" — Gas propagation model

  • "fog" — Fog propagation model

  • "close-in" — Close-in propagation model

  • "longley-rice" — Longley-Rice propagation model

  • "tirem" — TIREM propagation model

  • "raytracing" — Ray tracing propagation model that uses the shooting and bouncing rays (SBR) method. When you specify a ray tracing model as input, the function incorporates multipath interference by using a phasor sum.

  • A propagation model created using the propagationModel function. For example, you can create a ray tracing propagation model that uses the image method by specifying propagationModel("raytracing",Method="image").

  • A composite propagation model. Create a composite propagation model from individual propagation models by using the add function. For information about the types of propagation models that can be combined, see Choose a Propagation Model.

The default value depends on whether the Map argument specifies terrain data.

  • When Map specifies terrain data, the default is "longley-rice".

  • When Map does not specify terrain data, the default is "freespace".

You can also specify the propagation model by using the propmodel argument. If you specify both propmodel and PropagationModel, the function uses the value of PropagationModel.

Mobile receiver gain, specified as a numeric scalar in dBi.

The receiver gain used by the coverage function depends on whether you specify rx and ReceiverGain:

  • If you specify ReceiverGain and not rx, then the function uses ReceiverGain.

  • If you specify both ReceiverGain and rx, then the function uses ReceiverGain.

  • If you specify rx and not ReceiverGain, then the function uses the maximum gain of the receiver antenna at the frequency of the transmitter antenna, minus the system loss. Specify the frequency of the transmitter antenna by using the TransmitterFrequency property of the txsite object. Specify the system loss by using the SystemLoss property of the rxsite object.

  • If you specify neither rx nor ReceiverGain, then the function uses 2.1.

The receiver gain computes received signal strength when Type is "power".

Data Types: double

Height above the ground of the phase center of the receiver antenna, specified as a numeric scalar in m.

The height used by the coverage function depends on whether you specify rx and ReceiverAntennaHeight:

  • If you specify ReceiverAntennaHeight and not rx, then the function uses ReceiverAntennaHeight.

  • If you specify both ReceiverAntennaHeight and rx, then the function uses ReceiverAntennaHeight.

  • If you specify rx and not ReceiverAntennaHeight, then the function uses the height value stored in the AntennaHeight property of the rxsite object.

  • If you specify neither rx nor ReceiverAntennaHeight, then the function uses 1.

Data Types: double

Map for visualization or surface data, specified as one of these options:

  • A siteviewer object.1

  • A terrain name. When you specify a terrain name, you must also specify an output argument. Valid terrain names are:

    • "none" — Terrain elevation is 0 everywhere.

    • "gmted2010" — USGS GMTED2010 terrain data. This option requires an internet connection.

    • The name of custom terrain data added using the addCustomTerrain function, specified using a string scalar or a character vector.

The default value depends on whether you specify an output argument.

  • When you do not specify an output argument, the default is the current siteviewer object, or a new siteviewer object if none are open. By default, siteviewer objects use USGS GMTED2010 terrain data.

  • When you specify an output argument, the default is "gmted2010".

For Plotting Coverage

expand all

Maximum range of the coverage map from each transmitter site, specified as a positive numeric scalar in m representing great circle distance. MaxRange defines the region of interest on the map to plot. The default value is automatically computed based on the type of propagation model.

Type of Propagation ModelDefault Maximum Range
Atmospheric or empiricalRange of minimum value in SignalStrengths
TerrainThe minimum of 30 km and the distance to the furthest building
Ray tracing500 m

For more information about the types of propagation models, see Choose a Propagation Model.

Data Types: double

Resolution of the coverage map, specified as "auto" or a numeric scalar in m. If the resolution is "auto", the function computes the maximum value scaled to MaxRange. Decreasing the resolution increases the quality of the coverage map and the time required to create it.

Data Types: char | string | double

Colors of filled contours on the coverage map, specified as one of these options:

  • An M-by-3 array of RGB triplets whose elements specify the intensities of the red, green, and blue components of the color. The intensities must be in the range [0,1]; for example, [0.4 0.6 0.7].

  • An array of strings such as ["red" "green" "blue"] or ["r" "g" "b"].

  • A cell array of character vectors such as {'red','green','blue'} or {'r','g','b'}.

Colors are assigned element-wise to SignalStrengths values for coloring the corresponding filled contours.

Colors cannot be used with ColorLimits or Colormap.

This table contains the color names and equivalent RGB triplets for some common colors.

Color NameShort NameRGB TripletAppearance
"red""r"[1 0 0]

Sample of the color red

"green""g"[0 1 0]

Sample of the color green

"blue""b"[0 0 1]

Sample of the color blue

"cyan" "c"[0 1 1]

Sample of the color cyan

"magenta""m"[1 0 1]

Sample of the color magenta

"yellow""y"[1 1 0]

Sample of the color yellow

"black""k"[0 0 0]

Sample of the color black

"white""w"[1 1 1]

Sample of the color white

Data Types: char | string | double

Color limits for colormap, specified as a two-element vector of the form [cmin cmax]. The value of cmin must be less than cmax.

The color limits indicate the signal level values that map to the first and last colors on the colormap.

The default value is [-120 -5] if the Type is "power" and [20 135] if Type is "efield".

ColorLimits cannot be used with Colors.

Data Types: double

Colormap for the filled contours, specified as a colormap name or as an M-by-3 array of RGB triplets that define M individual colors.

This table lists the colormap names.

Colormap NameColor Scale

parula

Colorbar showing the colors of the parula colormap. The colormap starts at dark blue and transitions to lighter blue, green, orange and yellow. The transitions between colors are more perceptually uniform than in most other colormaps.

turbo

Colorbar showing the colors of the turbo colormap. The colormap starts at dark blue and transitions to lighter blue, bright green, orange, yellow, and dark red. This colormap is similar to jet, but the transitions between colors are more perceptually uniform than in jet.

hsv

Colorbar showing the colors of the hsv colormap. The colormap starts at red and transitions to yellow, bright green, cyan, dark blue, magenta, and bright orange.

hot

Colorbar showing the colors of the hot colormap. The colormap starts at dark red and transitions to bright red, orange, yellow, and white.

cool

Colorbar showing the colors of the cool colormap. The colormap starts at cyan and transitions to light blue, light purple, and magenta.

spring

Colorbar showing the colors of the spring colormap. The colormap starts at magenta and transitions to pink, light orange, and yellow.

summer

Colorbar showing the colors of the summer colormap. The colormap starts at medium green and transitions to yellow.

autumn

Colorbar showing the colors of the autumn colormap. The colormap starts at bright orange and transitions to yellow.

winter

Colorbar showing the colors of the winter colormap. The colormap starts at dark blue and transitions to bright green.

gray

Colorbar showing the gray colormap. The colormap starts at black and transitions to white.

bone

Colorbar showing the bone colormap. This colormap has colors that are approximately gray with a slight blue color tint. The colormap starts at dark gray and transitions to white.

copper

Colorbar showing the copper colormap. This colormap starts at black and transitions to a medium orange, similar to the color of copper.

pink

Colorbar showing the pink colormap. This colormap starts at dark red and transitions to dark pink, tan, and white.

sky (since R2023a)

Colorbar showing the sky colormap. This colormap starts at a very light shade of blue and transitions to a darker shade of blue.

abyss (since R2023b)

Colorbar showing the abyss colormap. This colormap starts at a very dark shade of blue and transitions to a lighter shade of blue.

nebula (since R2025a)

Colorbar showing the nebula colormap. This colormap starts at a medium shade of blue and transitions to a bright shade of red.

jet

Colorbar showing the colors of the jet colormap. The colormap starts at dark blue and transitions to light blue, bright green, orange, yellow, and dark red.

lines

Colorbar showing the colors of the lines colormap. The colormap contains a repeating pattern of colors: dark blue, dark orange, dark yellow, dark purple, medium green, light blue, and dark red.

colorcube

Colorbar showing the colors of the colorcube colormap. The colormap is a course sampling of the RGB colorspace.

prism

Colorbar showing the colors of the prism colormap. The colormap contains a repeating pattern of colors: red, orange, yellow, green, blue, and purple.

flag

Colorbar showing the colors of the flag colormap. The colormap contains a repeating pattern of colors: red, white, blue, and black.

white

Colorbar showing the white colormap, which is entirely white.

Colormap cannot be used with Colors.

Data Types: char | string | double

Show signal strength color legend on map, specified as true or false.

Data Types: logical

Transparency of coverage map, specified as a numeric scalar in the range 0 to 1. 0 is transparent and 1 is opaque.

Data Types: double

Output Arguments

collapse all

Coverage data, returned as a propagationData object consisting of Latitude and Longitude, and a signal strength variable corresponding to the plot type. Name of the propagationData is "Coverage Data".

Coverage data, returned as a propagationData object with these properties:

  • Name has a value of 'Coverage Data'.

  • Data contains a table with Latitude, Longitude, and, depending on the value of Type, Power or Efieldtable variables.

  • DataVariableName has a value of 'Power' or 'Efield'.

Limitations

When you specify a RayTracing object as input to the coverage function, the value of the MaxNumDiffractions property must be 0 or 1.

References

[1] International Telecommunications Union Radiocommunication Sector. Effects of Building Materials and Structures on Radiowave Propagation Above About 100MHz. Recommendation P.2040. ITU-R, approved August 23, 2023. https://www.itu.int/rec/R-REC-P.2040/en.

[2] International Telecommunications Union Radiocommunication Sector. Electrical Characteristics of the Surface of the Earth. Recommendation P.527. ITU-R, approved September 27, 2021. https://www.itu.int/rec/R-REC-P.527/en.

[3] Mohr, Peter J., Eite Tiesinga, David B. Newell, and Barry N. Taylor. “Codata Internationally Recommended 2022 Values of the Fundamental Physical Constants.” NIST, May 8, 2024. https://www.nist.gov/publications/codata-internationally-recommended-2022-values-fundamental-physical-constants.

[4] "IEEE Standard Definitions of Terms for Antennas." IEEE Std 145-2013 (Revision of IEEE Std 145-1993), March 2014, 1–50. https://doi.org/10.1109/IEEESTD.2014.6758443.

Extended Capabilities

expand all

Version History

Introduced in R2019b

expand all


1 Alignment of boundaries and region labels are a presentation of the feature provided by the data vendors and do not imply endorsement by MathWorks®.