sigstrength
Received signal strength
Description
specifies options using name-value arguments, in addition to any combination of
arguments from the previous syntaxes. For example,
ss
= sigstrength(___,Name,Value
)"Type","efield"
returns the signal strength in electric field
strength units (dBμV/m).
Examples
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 [1].
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);
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.3015
Plot the propagation paths.
raytrace(tx,rx,pm)
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.3889
By default, RayTracing
objects assume that building and terrain materials are concrete. Change the building and terrain material types to model perfect electrical conductors.
pm.BuildingsMaterial = "perfect-reflector";
ssPerfect = sigstrength(rx,tx,pm)
ssPerfect = -39.6711
Plot the propagation paths for the updated propagation model.
raytrace(tx,rx,pm)
Appendix
[1] The osm 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
rx
— Receiver site
rxsite
object | array of rxsite
objects
Receiver site, specified as a rxsite
object. You can use array inputs to
specify multiple sites.
tx
— Transmitter site
txsite
object | array of txsite
objects
Transmitter site, specified as a txsite
object. You can use array inputs to
specify multiple sites.
propmodel
— Propagation model to use for path loss calculations
"longley-rice"
(default) | "freespace"
| "close-in"
| "rain"
| "gas"
| "fog"
| "raytracing"
| propagation model created using propagationModel
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 specifyingpropagationModel("raytracing","Method","image")
.
The default value depends on the coordinate system used by the input sites.
Coordinate System | Default propagation model value |
---|---|
"geographic" |
|
"cartesian" |
|
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.
Before R2021a, use commas to separate each name and value, and enclose
Name
in quotes.
Example: "Type","power"
Type
— Type of signal strength to compute
"power"
(default) | "efield"
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
PropagationModel
— Propagation model to use for path loss calculations
"freespace"
| "close-in"
| "rain"
| "gas"
| "fog"
| "longley-rice"
| "raytracing"
| propagation model created using propagationModel
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 specifyingpropagationModel("raytracing","Method","image")
.
The default value depends on the coordinate system used by the input sites.
Coordinate System | Default propagation model value |
---|---|
"geographic" |
|
"cartesian" |
|
Terrain propagation models, including "longley-rice"
and
"tirem"
, are only supported for sites with a
CoordinateSystem
value of
"geographic"
.
Data Types: char
| string
Map
— Map for visualization or surface data
siteviewer
object | triangulation
object | string scalar | character vector
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 System | Valid map values | Default map value |
---|---|---|
"geographic" |
|
|
"cartesian" |
|
|
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
ss
— Signal strength
M-by-N array
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"
, thenss
is in power units (dBm) of the signal at the mobile receiver input.When you specify
Type
as"efield"
, thenss
is in electric field strength units (dBμV/m) of signal wave incident on the antenna.
Version History
Introduced in R2017bR2023a: Ray tracing models discard paths based on path loss
Ray tracing propagation models discard propagation paths based on path loss
thresholds. By default, when you specify the propmodel
input
argument as "raytracing"
or a RayTracing
object, the propagation model discards paths that are more than 40 dB weaker than
the strongest path.
As a result, the sigstrength
function can return different
values in R2023a compared to previous releases. To avoid discarding paths based on
relative path loss thresholds, create a RayTracing
object (by using
the propagationModel
function) and set its
MaxRelativePathLoss
property to Inf
.
Then, use the object as input to the sigstrength
function.
R2022b: Ray tracing functions consider multipath interference
When calculating received power using ray tracing models, the
sigstrength
function now considers multipath interference
by using a phasor sum. In previous releases, the function used a power sum. As a
result, the calculations in R2022b are more accurate than in previous
releases.
R2021b: "raytracing"
propagation models use SBR method
Starting in R2021b, when you use the sigstrength
function and
specify the 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
code.
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 rays method.
See Also
link
| sinr
| propagationModel
Open Example
You have a modified version of this example. Do you want to open this example with your edits?
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)