Create RF propagation model
creates an RF propagation model for the specified model.pm
= propagationModel(modelname
)
updates the model using one or more name-value pairs. For example, pm
= propagationModel(___,Name,Value
)pm =
propagationModel('rain','RainRate',96)
creates a rain propagation
model with a rain rate of 96 mm/h. Enclose each property name in quotes.
Specify transmitter and receiver sites.
tx = txsite('Name','MathWorks Apple Hill',... 'Latitude',42.3001, ... 'Longitude',-71.3504, ... 'TransmitterFrequency', 2.5e9); rx = rxsite('Name','Fenway Park',... 'Latitude',42.3467, ... 'Longitude',-71.0972);
Create the propagation model for a heavy rainfall rate.
pm = propagationModel('rain','RainRate',50)
pm = Rain with properties: RainRate: 50 Tilt: 0
Calculate the signal strength at the receiver using the rain propagation model.
ss = sigstrength(rx,tx,pm)
ss = -87.1559
Create a transmitter site.
tx = txsite
tx = txsite with properties: Name: 'Site 1' Latitude: 42.3001 Longitude: -71.3504 Antenna: 'isotropic' AntennaAngle: 0 AntennaHeight: 10 SystemLoss: 0 TransmitterFrequency: 1.9000e+09 TransmitterPower: 10
Create a Longley-Rice propagation model using the propagationModel
function.
pm = propagationModel('longley-rice','TimeVariabilityTolerance',0.7)
pm = LongleyRice with properties: AntennaPolarization: 'horizontal' GroundConductivity: 0.0050 GroundPermittivity: 15 AtmosphericRefractivity: 301 ClimateZone: 'continental-temperate' TimeVariabilityTolerance: 0.7000 SituationVariabilityTolerance: 0.5000
Find the coverage of the transmitter site using the defined propagation model.
coverage(tx,'PropagationModel',pm)
modelname
— Type of propagation model'freespace'
| 'rain'
| 'gas'
| 'fog'
| 'close-in'
| 'longley-rice'
| 'tirem'
| 'raytracing'
Type of propagation model specified as one of these:
'freespace'
— Free space propagation
model.
'rain'
— Rain propagation model. For more
information, see [3].
'gas'
— Gas propagation model. For more
information, see [7].
'fog'
— Fog propagation model. For more
information, see [2].
'close-in'
— Close-in propagation model
typically used in urban macro-cell scenarios. For more
information, see [1].
Note
The close-in model implements a statistical path loss model and can be configured for different scenarios. The default values correspond to an urban macro-cell scenario in a non-line-of-sight (NLOS) environment.
'longley-rice'
— Longley-Rice propagation
model. This model is also known as Irregular Terrain Model
(ITM). You can use this model to calculate point-to-point path
loss between sites over an irregular terrain, including
buildings. Path loss is calculated from free-space loss, terrain
diffraction, ground reflection, refraction through atmosphere,
tropospheric scatter, and atmospheric absorption. For more
information and list of limitations, see [4].
Note
The Longley-Rice model implements the point-to-point mode of the model, which uses terrain data to predict the loss between two points.
'tirem'
— Terrain Integrated Rough Earth Model™ (TIREM™). You can use this model to calculate
point-to-point path loss between sites over an irregular
terrain, including buildings. Path loss is calculated from
free-space loss, terrain diffraction, ground reflection,
refraction through atmosphere, tropospheric scatter, and
atmospheric absorption. This model needs access to an external
TIREM library. The actual model is valid from 1 MHZ to
1000 GHz. But with Antenna Toolbox™ elements and arrays the frequency range is limited
to 200 GHz.
'raytracing'
— A multipath propagation
model that uses ray tracing analysis to compute propagation
paths and corresponding path losses. Path loss is calculated
from free-space loss, reflection loss due to material, and
antenna polarization loss. You can perform ray tracing analysis
using the image method (the default) or the shooting and
bouncing rays (SBR) method. Specify a method using the 'Method'
property. Both methods include surface
reflections but do not include effects from refraction,
diffraction, or scattering. Both ray tracing methods are valid
for a frequency range of 100 MHz to 100 GHz. For information
about differences between the image and SBR methods, see Choose a Propagation Model. Use the raytrace
function to plot the propagation paths
between the sites.
You can use these functions on RF propagation models:
range
— Calculate the range
of the radio wave under different propagation scenarios. The
range
function does not support the
'longley-rice'
,
'tirem'
, or
'raytracing'
propagation models.
pathloss
— Calculate the path
loss of radio wave propagation between the transmitter and
receiver sites under different propagation scenarios.
add
— Add propagation
models.
Data Types: char
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
.
'RainRate',50
sets the rate of rainfall in the rain
propagation model to 50.'RainRate'
— Rain rate16
(default) | nonnegative scalarRain rate, specified as a nonnegative scalar in millimeters per hour (mm/h).
To specify 'RainRate'
, you must specify
'rain'
propagation model.
Data Types: double
'Tilt'
— Polarization tilt angle of signal0
(default) | scalarPolarization tilt angle of the signal, specified as a scalar in degrees.
To specify 'Tilt'
, you must specify
'rain'
propagation model.
Data Types: double
'Temperature'
— Air temperature15
(default) | scalarAir temperature, specified as a scalar in Celsius (C).
To specify 'Temperature'
, you must specify
'gas'
propagation model.
Data Types: double
'AirPressure'
— Dry air pressure101300
(default) | scalarDry air pressure, specified as a scalar in pascals (Pa).
To specify 'AirPressure'
, you must specify
'gas'
propagation model.
Data Types: double
'WaterDensity'
— Water vapor density7.5
(default) | scalarWater vapor density, specified as a scalar in grams per cubic meter (g/m3).
To specify 'WaterDensity'
, you must specify
'gas'
propagation model.
Data Types: double
'Temperature'
— Air temperature15
(default) | scalarAir temperature, specified as a scalar in Celsius (C).
To specify 'Temperature'
, you must specify
'fog'
propagation model.
Data Types: double
'WaterDensity'
— Liquid water density0.5
(default) | scalarLiquid water density, specified as a scalar in grams per cubic meter (g/m3).
To specify 'WaterDensity'
, you must specify
'fog'
propagation model.
Data Types: double
'ReferenceDistance'
— Free-space reference distance1
(default) | scalarFree-space reference distance, specified as a scalar in meters.
To specify 'ReferenceDistance'
, you must
specify the 'close-in'
propagation model.
Data Types: double
'PathLossExponent'
— Path loss exponent2.9
(default) | scalarPath loss exponent, specified as a scalar.
To specify 'PathLossExponent'
, you must specify
'close-in'
propagation model.
Data Types: double
'Sigma'
— Standard deviation5.7
(default) | scalarStandard deviation of the zero-mean Gaussian random variable, specified as a scalar in decibels (dB).
To specify 'Sigma'
, you must specify
'close-in'
propagation model.
Data Types: double
'NumDataPoints'
— Number of data points1869
(default) | integerNumber of data points of zero-mean Gaussian random variable, specified as an integer.
To specify 'NumDataPoints'
, you must specify
'close-in'
propagation model.
Data Types: double
Note
The close-in model is valid for distances greater than or equal to the
'ReferenceDistance'
property. If a distance less than the
'ReferenceDistance'
is used, path loss is
0
.
'AntennaPolarization'
— Polarization of transmitter and receiver antennas'horizontal'
(default) | 'vertical'
Polarization of transmitter and receiver antennas, specified as
'horizontal'
or 'vertical'
.
Both antennas are assumed to have the same polarization. This value is
used to calculate path loss due to ground reflection.
To specify 'AntennaPolarization'
, you must
specify 'longley-rice'
propagation model.
Data Types: char
| string
'GroundConductivity'
— Conductivity of ground0.005
(default) | scalarConductivity of the ground, specified as a scalar in Siemens per meter (S/m). This value is used to calculate path loss due to ground reflection. The default value corresponds to average ground.
To specify 'GroundConductivity'
, you must
specify 'longley-rice'
propagation model.
Data Types: double
'GroundPermittivity'
— Relative permittivity of ground15
(default) | scalarRelative permittivity of the ground, specified as a scalar. Relative permittivity is expressed as a ratio of absolute material permittivity to the permittivity of vacuum. This value is used to calculate the path loss due to ground reflection. The default value corresponds to average ground.
To specify 'GroundPermittivity'
, you must
specify 'longley-rice'
propagation model.
Data Types: double
'AtmosphericRefractivity'
— Atmospheric refractivity near ground301
(default) | scalarAtmospheric refractivity near the ground, specified as a scalar in N-units. This value is used to calculate the path loss due to refraction through the atmosphere and tropospheric scatter. The default value corresponds to average atmospheric conditions.
To specify 'AtmosphericRefractivity'
, you must
specify 'longley-rice'
propagation model.
Data Types: double
'ClimateZone'
— Radio climate zone'continental-temperate'
(default) | 'equatorial'
| 'continental-subtropical'
| 'maritime-subtropical'
| 'desert'
| 'maritime-over-land'
| 'maritime-over-sea'
Radio climate zone. This value is used to calculate the variability due to changing atmospheric conditions. The default value corresponds to average atmospheric conditions in a particular climate zone.
To specify 'ClimateZone'
, you must specify
'longley-rice'
propagation model.
Data Types: char
| string
'TimeVariabilityTolerance'
— Time variability tolerance level0.5
(default) | scalarTime variability tolerance level of the path loss, specified as a scalar between [0.001, 0.999]. Time variability occurs due to changing atmospheric conditions. This value gives the required system reliability or the fraction of time during which the actual path loss is expected to be less than or equal to model prediction. For more information, see [5].
To specify 'TimeVariabilityTolerance'
, you must
specify 'longley-rice'
propagation model.
Data Types: double
'SituationVariabilityTolerance'
— Situation variability tolerance level0.5
(default) | scalarSituation variability tolerance level of the path loss, specified as a scalar in between [0.001, 0.999]. Situation variability occurs due to uncontrolled or hidden random variables. This value gives the required system confidence or the fraction of similar situations for which the actual path loss is expected to be less than or equal to the model prediction. For more information, see [5].
To specify 'SituationVariabilityTolerance'
, you
must specify 'longley-rice'
propagation
model.
Data Types: double
'AntennaPolarization'
— Polarization of transmitter and receiver antennas'horizontal'
(default) | 'vertical'
Polarization of transmitter and receiver antennas, specified as
'horizontal'
or 'vertical'
.
Both antennas are assumed to have the same polarization. This value is
used to calculate path loss due to ground reflection.
To specify 'AntennaPolarization'
, you must
specify 'tirem'
propagation model.
Data Types: char
| string
'GroundConductivity'
— Conductivity of ground0.005
(default) | numeric scalarConductivity of the ground, specified as a numeric scalar in Siemens per meter (S/m) in the range of 0.0005 to 100. This value is used to calculate path loss due to ground reflection. The default value corresponds to average ground.
To specify 'GroundConductivity'
, you must
specify 'tirem'
propagation model.
Data Types: double
'GroundPermittivity'
— Relative permittivity of ground15
(default) | numeric scalarRelative permittivity of the ground, specified as a numeric scalar in the range of 1 to 100. Relative permittivity is expressed as a ratio of absolute material permittivity to the permittivity of vacuum. This value is used to calculate the path loss due to ground reflection. The default value corresponds to average ground.
To specify 'GroundPermittivity'
, you must
specify 'tirem'
propagation model.
Data Types: double
'AtmosphericRefractivity'
— Atmospheric refractivity near ground301
(default) | scalarAtmospheric refractivity near the ground, specified as a numeric scalar in N-units in the range of 250 to 400. This value is used to calculate the path loss due to refraction through the atmosphere and tropospheric scatter. The default value corresponds to average atmospheric conditions.
To specify 'AtmosphericRefractivity'
, you must
specify 'tirem'
propagation model.
Data Types: double
'Humidity'
— Absolute air humidity near ground'9'
(default) | numeric scalarAbsolute air humidity near ground,specified as a numeric scalar in
g/m^3
units in the range of 0 to 110. You can use
this value to calculate path loss due to atmospheric absorption. The
default value corresponds to the absolute humidity of air at 15 degrees
Celsius and 70 percent relative humidity.
To specify 'Humidity'
, you must specify
'tirem'
propagation model.
Data Types: double
'Method'
— Ray tracing method'image'
(default) | 'sbr'
Ray tracing method, specified as one of the following values:
'image'
— Use the image method, which
supports up to two path reflections and calculates exact
propagation paths.
'sbr'
— Use the shooting and bouncing
rays (SBR) method, which supports up to 10 path reflections
and calculates approximate propagation paths. The SBR method
is generally faster than the image method.
Specify the maximum number of path reflections by using the 'MaxNumReflections'
property.
For more information about differences between the image and SBR methods, see Choose a Propagation Model.
To specify the ray tracing method, you must specify the
modelname
input argument as
'raytracing'
.
Data Types: char
| string
'AngularSeparation'
— Angular separation of launched rays'medium'
(default) | 'high'
| 'low'
Angular separation of launched rays, specified as one of the following values:
'high'
— Rays have an angular
separation in the range [0.9912, 1.1845] measured in
degrees, so that the model launches 40,962 rays.
'medium'
— Rays have an angular
separation in the range [0.4956, 0.5923] measured in
degrees, so that the model launches 163,842 rays.
'low'
— Rays have an angular separation
in the range [0.2478, 0.2961] measured in degrees, so that
the model launches 655,362 rays.
Because the model launches more rays, ray tracing analysis with low angular separation can require more time than with high angular separation.
When creating coverage maps using the coverage
function, you can improve the results by
choosing a lower angular separation.
To specify the angular separation of launched rays, you must
specify the modelname
argument as
'raytracing'
and the 'Method'
property as
'sbr'
.
Data Types: char
| string
'MaxNumReflections'
— Maximum number of path reflections1
(default) | integer in the range [0,10]Maximum number of path reflections to search for using ray tracing,
specified as an integer. Supported values depend on the value of the
'Method'
property.
When 'Method'
is
'image'
, supported values are
0
, 1
, and
2
.
When 'Method'
is
'sbr'
, supported values are in the
range [0,10].
The default value of 1
results in a search for
line-of-sight propagation paths and single-reflection propagation
paths.
To specify the maximum number of path reflections, you must
specify the modelname
argument as
'raytracing'
.
Data Types: double
'CoordinateSystem'
— Coordinate system of map and site location'geographic'
(default) | 'cartesian'
Coordinate system of the site location, specified as
'geographic'
or 'cartesian'
.
If you specify 'geographic'
, material types are
defined using 'BuildingMaterial'
or
'TerrainMaterial'
properties. If you specify
'cartesian'
, material types are defined using the
'SurfaceMaterial'
properties.
Data Types: string
| char
'BuildingsMaterial'
— Surface material of geographic buildings'concrete'
(default) | 'perfect-reflector'
| 'brick'
| 'wood'
| 'glass'
| 'metal'
| 'custom'
Surface material of geographic buildings, specified as one of these:
'perfect-reflector'
,
'concrete'
, 'brick'
,
'wood'
, 'glass'
,
'metal'
, or 'custom'
. The
material type is used to calculate reflection loss where propagation
paths reflect off of building surfaces. For more information, see ITU Permittivity and Conductivity Values for Common Materials.
When 'BuildingsMaterial'
is set to
'custom'
, the material permittivity and
conductivity are specified in the
BuildingsMaterialPermittivity
and
BuildingsMaterialConductivity
properties.
To specify 'BuildingsMaterials'
, you must set
'CoordinateSystem'
to
'geographic'
.
Data Types: char
| string
'BuildingsMaterialPermittivity'
— Relative permittivity of buildings surface materials5.31
(default) | nonnegative scalarRelative permittivity of the buildings surface material, specified as a nonnegative scalar. Relative permittivity is expressed as a ratio of absolute material permittivity to the permittivity of vacuum. This value is used to calculate path loss due to reflection. The default value corresponds to concrete at 1.9 GHz.
To specify 'BuildingsMaterialPermittivity'
, you
must set 'CoordinateSystem'
to
'geographic'
and
'BuildingsMaterial'
to
'custom'
.
Data Types: double
'BuildingsMaterialConductivity'
— Conductivity of buildings surface materials0.0548
(default) | nonnegative scalarConductivity of the buildings surface material, specified as a nonnegative scalar in Siemens per meter (S/m). This value is used to calculate path loss due to reflection. The default value corresponds to concrete at 1.9 GHz.
To specify 'BuildingsMaterialConductivity'
, you
must set 'CoordinateSystem'
to
'geographic'
and
'BuildingsMaterial'
to
'custom'
.
Data Types: double
'TerrainMaterial'
— Surface material of geographic terrain'concrete'
(default) | 'perfect-reflector'
| 'brick'
| 'water'
| 'vegetation'
| 'loam'
| 'custom'
Surface material of terrain, specified as one of these:
'perfect-reflector'
,
'concrete'
, 'brick'
,
'water'
, 'vegetation'
,
'loam'
, or 'custom'
. The
material type is used to calculate reflection loss where propagation
paths reflect off of terrain surfaces. For more information, see ITU Permittivity and Conductivity Values for Common Materials.
When 'TerrainMaterial'
is set to
'custom'
, the material permittivity and
conductivity are specified in the
'TerrainMaterialPermittivity'
and
'TerrainMaterialConductivity'
properties.
To specify 'TerrainMaterial'
, you must set
'CoordinateSystem'
to
'geographic'
.
Data Types: char
| string
'TerrainMaterialPermittivity'
— Relative permittivity of terrain materials5.31
(default) | nonnegative scalarRelative permittivity of the terrain material, specified as a nonnegative scalar. Relative permittivity is expressed as a ratio of absolute material permittivity to the permittivity of vacuum. This value is used to calculate path loss due to reflection. The default value corresponds to concrete at 1.9 GHz.
To specify 'TerrainMaterialPermittivity'
, you
must set 'CoordinateSystem'
to
'geographic'
and
'TerrainMaterial'
to
'custom'
.
Data Types: double
'TerrainMaterialConductivity'
— Conductivity of terrain materials0.0548
(default) | nonnegative scalarConductivity of the terrain material, specified as a nonnegative scalar in Siemens per meter (S/m). This value is used to calculate path loss due to reflection. The default value corresponds to concrete at 1.9 GHz.
To specify 'TerrainMaterialConductivity '
, you
must set 'CoordinateSystem'
to
'geographic'
and set
'TerrainMaterial'
to
'custom'
.
Data Types: double
'SurfaceMaterial'
— Surface material of Cartesian map surface'plasterboard'
(default) | 'perfect-reflector'
| 'ceilingboard'
| 'chipboard'
| 'floorboard'
| 'concrete'
| 'brick'
| 'wood'
| 'glass'
| 'metal'
| 'water'
| 'vegetation'
| 'loam'
| 'custom'
Surface material of Cartesian map surface, specified as one of these:
'plasterboard'
,'perfect-reflector'
,
'ceilingboard'
, 'chipboard'
,
'floorboard'
, 'concrete'
,
'brick'
, wood
,
'glass'
, 'metal'
,
'water'
, 'vegetation'
,
'loam'
, or 'custom'
. The
material type is used to calculate reflection loss where propagation
paths reflect off of surfaces. For more information, see ITU Permittivity and Conductivity Values for Common Materials.
When 'SurfaceMaterial'
is set to
'custom'
, the material permittivity and
conductivity are specified in the
'SurfaceMaterialPermittivity'
and
'SurfaceMaterialConductivity'
properties.
To specify 'SurfaceMaterial'
, you must set
'CoordinateSystem'
to
'cartesian'
.
Data Types: char
| string
'SurfaceMaterialPermittivity'
— Relative permittivity of surface materials2.94
(default) | nonnegative scalarRelative permittivity of the surface material, specified as a nonnegative scalar. Relative permittivity is expressed as a ratio of absolute material permittivity to the permittivity of vacuum. This value is used to calculate path loss due to reflection. The default value corresponds to plaster board at 1.9 GHz.
To specify 'SurfaceMaterialPermittivity'
, you
must set 'CoordinateSystem'
to
'cartesian'
and
'SurfaceMaterial'
to
'custom'
.
Data Types: double
'SurfaceMaterialConductivity'
— Conductivity of surface materials0.0183
(default) | nonnegative scalarConductivity of the surface material, specified as a nonnegative scalar in Siemens per meter (S/m). This value is used to calculate path loss due to reflection. The default value corresponds to plaster board at 1.9 GHz.
To specify 'SurfaceMaterialConductivity '
, you
must set 'CoordinateSystem'
to
'cartesian'
and set
'SurfaceMaterial'
to
'custom'
.
Data Types: double
The refractive index of air n is related to the dielectric constants of the gas constituents of an air mixture. The numerical value of n is only slightly larger than one. To make the calculation more convenient, you can use N units, which are given by the formula:
ITU-R P.2040-1 [8] and ITU-R P.527-5 [9] present methods, equations, and values used to calculate real relative permittivity, conductivity, and complex relative permittivity for the common materials.
For information about the values computed for building materials specified
in ITU-R P.2040-1, see buildingMaterialPermittivity
.
For information about the values computed for terrain materials specified
in ITU-R P.527-5, see earthSurfacePermittivity
.
propagationModel('raytracing-image-method')
returns a RayTracing
modelBehavior changed in R2021a
Starting in R2021a, when you create a propagation model using the syntax
propagationModel('raytracing-image-method')
, MATLAB® returns a RayTracing
model with a
Method
value of 'image'
instead of a
RayTracingImageMethod
model. All functions that accept
RayTracingImageMethod
propagation models also accept
RayTracing
propagation models, so this change does not affect
your existing code.
To create ray tracing propagation models that use the image method, use the syntax
propagationModel('raytracing','Method','image')
instead of
propagationModel('raytracing-image-method')
.
[1] Sun, S.,Rapport, T.S., Thomas, T., Ghosh, A., Nguyen, H., Kovacs, I., Rodriguez, I., Koymen, O.,and Prartyka, A. "Investigation of prediction accuracy, sensitivity, and parameter stability of large-scale propagation path loss models for 5G wireless communications." IEEE Transactions on Vehicular Technology, Vol.65, No 5, pp 2843-2860, May 2016.
[2] ITU-R P.840-6. "Attenuation due to cloud and fog." Radiocommunication Sector of ITU
[3] ITU-R P.838-3. "Specific attenuation model for rain for use in prediction methods." Radiocommunication Sector of ITU
[4] Hufford, George A., Anita G. Longley, and William A.Kissick. "A Guide to the Use of the ITS Irregular Terrain Model in the Area Prediction Mode." NTIA Report 82-100. Pg-7.
[5] SoftWright Homepage https://www.softwright.com/faq/support/longley_rice_variability.html
[6] Seybold, John. Introduction to RF Propagation. Wiley, 2005
[7] ITU-R P.676-11. "Attenuation by atmospheric gases." Radiocommunication Sector of ITU
[8] ITU-R P.2040-1. "Effects of Building Materials and Structures on Radiowave Propagation Above 100MHz." International Telecommunications Union - Radiocommunications Sector (ITU-R). July 2015.
[9] ITU-R P.527-5. "Electrical characteristics of the surface of the Earth." International Telecommunications Union - Radiocommunications Sector (ITU-R). August 2019.
[10] Yun, Zhengqing, and Magdy F. Iskander. “Ray Tracing for Radio Propagation Modeling: Principles and Applications.” IEEE Access 3 (2015): 1089–1100. https://doi.org/10.1109/ACCESS.2015.2453991.
[11] Schaubach, K.R., N.J. Davis, and T.S. Rappaport. “A Ray Tracing Method for Predicting Path Loss and Delay Spread in Microcellular Environments.” In [1992 Proceedings] Vehicular Technology Society 42nd VTS Conference - Frontiers of Technology, 932–35. Denver, CO, USA: IEEE, 1992. https://doi.org/10.1109/VETEC.1992.245274.
coverage
| link
| los
| pathloss
| range
| raytrace
| sigstrength
| sinr
| tirempl
| tiremSetup
You have a modified version of this example. Do you want to open this example with your edits?
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.
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: .
Select web siteYou can also select a web site from the following list:
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.