Main Content

sigstrength

Received signal strength

Description

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

example

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

ss = sigstrength(___,Name=Value) specifies options using name-value arguments, in addition to any combination of arguments from the previous syntaxes. For example, Type="efield" returns the signal strength in electric field strength units (dBμV/m).

Examples

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 OpenStreetMap® file, see [1].

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

Site Viewer with buildings

Create a transmitter site on a building.

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

Create a receiver site near another building.

rx = rxsite(Latitude=41.881352, ...
    Longitude=-87.629771, ...
    AntennaHeight=30);

Create a ray tracing propagation model, which MATLAB® represents using a RayTracing object. By default, the propagation model uses the SBR method and finds propagation paths with up to two surface reflections.

pm = propagationModel("raytracing");

Calculate the signal strength using the receiver site, the transmitter site, and the propagation model.

ssTwoReflections = sigstrength(rx,tx,pm)
ssTwoReflections = -54.3151

Plot the propagation paths.

raytrace(tx,rx,pm) 

Three propagation paths from the transmitter site to the receiver site

Change the RayTracing object to find paths with up to 5 reflections. Then, recalculate the signal strength.

pm.MaxNumReflections = 5;
ssFiveReflections = sigstrength(rx,tx,pm)
ssFiveReflections = -53.3965

By default, RayTracing objects use concrete terrain materials and building materials derived from the OpenStreetMap file. When the OpenStreetMap file does not specify materials, the model uses concrete. Change the building and terrain material types to model perfect electrical conductors.

pm.TerrainMaterial = "perfect-reflector";
pm.BuildingsMaterial = "perfect-reflector";

ssPerfect = sigstrength(rx,tx,pm)
ssPerfect = -38.9334

Plot the propagation paths for the updated propagation model.

raytrace(tx,rx,pm)

Additional propagation paths from the transmitter site to the receiver site

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

Receiver site, specified as an rxsite object or an array of rxsite objects.

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

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").

The default value depends on the coordinate system used by the input sites.

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

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

"cartesian"
  • "freespace" when Map is set to none.

  • "raytracing" when Map is set to the name of a glTF™ file, the name of an STL file, or a triangulation object. The default ray tracing model uses the shooting and bouncing rays (SBR) method.

Terrain propagation models, including "longley-rice" and "tirem", are only supported for sites with a CoordinateSystem value of "geographic".

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

Name-Value Arguments

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: sigstrength(rx,tx,Type="efield") returns the signal strength in electric field strength units (dBμV/m).

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

Example: sigstrength(rx,tx,"Type","efield") returns the signal strength in electric field strength units (dBμV/m).

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

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

  • "efield"— The signal strength is 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 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").

The default value depends on the coordinate system used by the input sites.

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

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

"cartesian"
  • "freespace" when Map is set to none.

  • "raytracing" when Map is set to the name of a glTF file, the name of an STL file, or a triangulation object. The default ray tracing model uses the shooting and bouncing rays (SBR) method.

Terrain propagation models, including "longley-rice" and "tirem", are only supported for sites with a CoordinateSystem value of "geographic".

Data Types: char | string

Map for visualization or surface data, specified as a siteviewer object, a triangulation object, a string scalar, or a character vector. Valid and default values depend on the coordinate system.

Coordinate SystemValid map valuesDefault map value
"geographic"
  • A siteviewer objecta

  • A terrain name, 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.

  • The current siteviewer object or a new siteviewer object if none are open

  • "gmted2010", if the function is called with an output

"cartesian"
  • "none"

  • A siteviewer object

  • The name of a glTF file

  • The name of an STL file

  • A triangulation object

  • "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®.

In most cases, if you specify this argument as a value other than a siteviewer or "none", then you must also specify an output argument.

Data Types: char | string

Output Arguments

collapse all

Signal strength, returned as M-by-N array, where M is the number of transmitter sites and N is the number of receiver sites.

The units of ss depend on the value of the Type name-value argument.

  • When you specify Type as "power", then ss is in power units (dBm) of the signal at the mobile receiver input.

  • When you specify Type as "efield", then ss is in electric field strength units (dBμV/m) of signal wave incident on the antenna.

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.

Version History

Introduced in R2019b

expand all

See Also

Functions