Received signal strength
Received Power and Link Margin at Receiver
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
Signal Strength Using Ray Tracing Propagation Model
Launch Site Viewer with buildings in Chicago. For more information about the osm file, see .
viewer = siteviewer("Buildings","chicago.osm");
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);
Compute the signal strength by using a ray tracing propagation model. By default, the ray tracing model uses the SBR method, and performs line-of-sight and two-reflection analysis.
pm = propagationModel("raytracing"); ssTwoReflections = sigstrength(rx,tx,pm)
ssTwoReflections = -52.4056
Plot the propagation paths for SBR with up to two reflections.
Compute signal strength with analysis up to two reflections, where total received power is the cumulative power of all propagation paths
pm.MaxNumReflections = 5; ssFiveReflections = sigstrength(rx,tx,pm)
ssFiveReflections = -51.8927
Observe the effect of material by replacing default concrete material with perfect reflector.
pm.BuildingsMaterial = 'perfect-reflector'; ssPerfect = sigstrength(rx,tx,pm)
ssPerfect = -38.8614
Plot the propagation paths for SBR with up to five reflections.
rx — Receiver site
rxsite object | array of
Receiver site, specified as a
rxsite object. You can use array inputs to
specify multiple sites.
tx — Transmitter site
txsite object | array of
Transmitter site, specified as a
txsite object. You can use array inputs to
specify multiple sites.
propmodel — Propagation model
character vector | string | propagation model created with
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 System||Default propagation model value|
You can also specify the propagation model by using the
'PropagationModel' name-value pair argument.
comma-separated pairs of
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
Type — Type of signal strength to compute
'power' (default) |
Type of signal strength to compute, specified as the comma-separated
pair consisting of
When type is
'power', signal strength is expressed
in power units (dBm) of the signal at the mobile receiver input. When
'efield', signal strength is expressed in
electric field strength units (dBμV/m) of signal wave incident on the
sigstrength function is not supported for ray
tracing models when
PropagationModel — Propagation model to use for path loss calculations
'longley-rice' (default) |
'raytracing' | propagation model created with
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 shooting and bouncing rays (SBR) method
A propagation model created with the
The default propagation model is
'longley-rice' when terrain is enabled and
'freespace' when terrain is disabled.
Terrain propagation models, including
'tirem', are only supported for sites with a
CoordinateSystem value of
Map — Map for visualization or surface data
siteviewer object |
triangulation object | string scalar | character vector
Map for visualization or surface data, specified as a
triangulation object, a string scalar, or a character vector.
Valid and default values depend on the coordinate system.
|Coordinate System||Valid map values||Default map value|
[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®.
ss — Signal strength
Signal strength, returned as M-by-N array in dBm. M is the number of transmitter sites and N is the number of receiver sites.
'raytracing' propagation models use SBR method
Behavior changed in R2021b
Starting in R2021b, when you use the
sigstrength function and
propmodel argument or
PropagationModel name-value argument as
'raytracing', the function uses the shooting and bouncing
rays (SBR) method and calculates up to two reflections. In previous releases, the
sigstrength function uses the image method and calculates
up to one reflection.
To calculate received signal strength using the image method instead, create a
propagation model by using the
propagationModel function. Then, use the
sigstrength function with the propagation model as input.
This example shows how to update your
pm = propagationModel('raytracing','Method','image'); ss = sigstrength(rx,tx,pm)
For information about the SBR and image methods, see Choose a Propagation Model.
Starting in R2021b, all RF Propagation functions use the SBR method by default and calculate up to two reflections. For more information, see Default modeling method is shooting and bouncing method.