Main Content


Signal strength due to transmitter



ss = sigstrength(rx,tx) returns the signal strength at the receiver site due to the transmitter site.

ss = sigstrength(rx,tx,propmodel) returns the signal strength at the receiver site using the specified propagation model. Specifying propagation model is same as specifying the 'PropagationModel' name-value pair.

ss = sigstrength(___,Name,Value) returns the signal strength using additional options specified by Name,Value pairs and either of the previous syntaxes.


collapse all

Create a transmitter site.

tx = txsite('Name','Fenway Park', ...
        'Latitude', 42.3467, ...
        'Longitude', -71.0972);

Create a receiver site with sensitivity defined (in dBm).

 rx = rxsite('Name','Bunker Hill Monument', ...
        'Latitude', 42.3763, ...
        'Longitude', -71.0611, ...
        'ReceiverSensitivity', -90);

Calculate the received power and link margin. Link margin is the difference between the receiver's sensitivity and the received power.

ss = sigstrength(rx,tx)
ss = -71.1414
margin = abs(rx.ReceiverSensitivity - ss)
margin = 18.8586

Launch Site Viewer with buildings in Chicago. For more information about the osm file, see [1].

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

Create a transmitter site on a building.

tx = txsite('Latitude',41.8800, ...
    'Longitude',-87.6295, ...

Create a receiver site near another building.

rx = rxsite('Latitude',41.881352, ...
    'Longitude',-87.629771, ...

Compute the signal strength by using a ray tracing propagation model. By default, the ray tracing model uses the image method and performs line-of-sight and single-reflection analysis.

pm = propagationModel("raytracing");
ssOneReflection = sigstrength(rx,tx,pm)
ssOneReflection = -54.0915

Compute signal strength with analysis up to two reflections, where total received power is the cumulative power of all propagation paths

pm.MaxNumReflections = 2;
ssTwoReflections = sigstrength(rx,tx,pm)
ssTwoReflections = -52.3890

Observe the effect of material by replacing default concrete material with perfect reflector.

pm.BuildingsMaterial = 'perfect-reflector';
ssPerfect = sigstrength(rx,tx,pm)
ssPerfect = -41.9927

Plot the propagation paths.

raytrace(tx, rx, pm) 


[1] The osm file is downloaded from, 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),

Input Arguments

collapse all

Receiver site, specified as a rxsite object. You can use array inputs to specify multiple sites.

Transmitter site, specified as a txsite object. You can use array inputs to specify multiple sites.

Propagation model, specified as a character vector, a string, or a propagation model created with the propagationModel function. The default value depends on the coordinate system used by the input sites:

Coordinate SystemDefault propagation model value
  • 'longley-rice' when you use a terrain.

  • 'freespace' when you do not use a terrain.

  • 'freespace' when Map is set to none.

  • 'raytracing' when Map is set to the name of an STL file or a triangulation object. The default ray tracing model uses the image method.

You can also specify the propagation model by using the 'PropagationModel' name-value pair argument.

Name-Value Pair Arguments

Specify optional comma-separated pairs of Name,Value arguments. Name is the argument name and Value is the corresponding value. Name must appear inside quotes. You can specify several name and value pair arguments in any order as Name1,Value1,...,NameN,ValueN.

Example: 'Type','power'

Type of signal strength to compute, specified as the comma-separated pair consisting of 'Type and 'power' or 'efield'.

When type is 'power', signal strength is expressed in power units (dBm) of the signal at the mobile receiver input. When type is 'efield', signal strength is expressed in electric field strength units (dBμV/m) of signal wave incident on the antenna.

Data Types: char | string

Propagation model to use for the path loss calculations, specified as the comma-separated pair consisting of 'PropagationModel' and one of the following:

  • '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 image method

  • A propagation model created with the propagationModel function

The default propagation model is 'longley-rice' when terrain is enabled and 'freespace' when terrain is disabled.

Terrain propagation models including 'longley-rice' and 'tirem' are only supported for sites with CoordinateSystem property set to 'geographic'.

Data Types: char

Map for visualization or surface data, specified as the comma-separated pair consisting of 'Map and one of the following depending on the coordinate system:

Coordinate SystemValid map valuesDefault map value
  • siteviewer[a]

  • A terrain name may be specified if the function is called with an output argument. Valid terrain names are 'none', 'gmted2010', or the name of the custom terrain data added using addCustomTerrain

  • current siteviewer or new siteviewer if none are open.

  • 'gmted2010' if called with an output.

'cartesian''none', triangulation object or name of an STL file.'none'

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

Data Types: char | string

Output Arguments

collapse all

Signal strength, returned as M-by-N array in dBm. M is the number of TX sites and N is the number of RX sites.

Introduced in R2019b