# propagationModel

Create RF propagation model

## Syntax

``pm = propagationModel(modelname)``
``pm = propagationModel(___,Name,Value)``

## Description

````pm = propagationModel(modelname)` creates an RF propagation model for the specified model.```

example

````pm = propagationModel(___,Name,Value)` updates the model using one or more name-value pairs. For example, ```pm = propagationModel('rain','RainRate',96)``` creates a rain propagation model with a rain rate of 96 mm/h. Enclose each property name in quotes.```

## Examples

collapse all

```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)`

## Input Arguments

collapse all

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.

#### Dependencies

To specify `'tirem'`, requires the Antenna Toolbox.

Data Types: `char`

### 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: `'RainRate',50` sets the rate of rainfall in the rain propagation model to 50.
Rain

collapse all

Rain rate, specified as a nonnegative scalar in millimeters per hour (mm/h).

#### Dependencies

To specify `'RainRate'`, you must specify `'rain'` propagation model.

Data Types: `double`

Polarization tilt angle of the signal, specified as a scalar in degrees.

#### Dependencies

To specify `'Tilt'`, you must specify `'rain'` propagation model.

Data Types: `double`

Gas

collapse all

Air temperature, specified as a scalar in Celsius (C).

#### Dependencies

To specify `'Temperature'`, you must specify `'gas'` propagation model.

Data Types: `double`

Dry air pressure, specified as a scalar in pascals (Pa).

#### Dependencies

To specify `'AirPressure'`, you must specify `'gas'` propagation model.

Data Types: `double`

Water vapor density, specified as a scalar in grams per cubic meter (g/m3).

#### Dependencies

To specify `'WaterDensity'`, you must specify `'gas'` propagation model.

Data Types: `double`

Fog

collapse all

Air temperature, specified as a scalar in Celsius (C).

#### Dependencies

To specify `'Temperature'`, you must specify `'fog'` propagation model.

Data Types: `double`

Liquid water density, specified as a scalar in grams per cubic meter (g/m3).

#### Dependencies

To specify `'WaterDensity'`, you must specify `'fog'` propagation model.

Data Types: `double`

Close-In

collapse all

Free-space reference distance, specified as a scalar in meters.

#### Dependencies

To specify `'ReferenceDistance'`, you must specify the `'close-in'` propagation model.

Data Types: `double`

Path loss exponent, specified as a scalar.

#### Dependencies

To specify `'PathLossExponent'`, you must specify `'close-in'` propagation model.

Data Types: `double`

Standard deviation of the zero-mean Gaussian random variable, specified as a scalar in decibels (dB).

#### Dependencies

To specify `'Sigma'`, you must specify `'close-in'` propagation model.

Data Types: `double`

Number of data points of zero-mean Gaussian random variable, specified as an integer.

#### Dependencies

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`.

Longley-Rice

collapse all

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.

#### Dependencies

To specify `'AntennaPolarization'`, you must specify `'longley-rice'` propagation model.

Data Types: `char` | `string`

Conductivity 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.

#### Dependencies

To specify `'GroundConductivity'`, you must specify `'longley-rice'` propagation model.

Data Types: `double`

Relative 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.

#### Dependencies

To specify `'GroundPermittivity'`, you must specify `'longley-rice'` propagation model.

Data Types: `double`

Atmospheric 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.

#### Dependencies

To specify `'AtmosphericRefractivity'`, you must specify `'longley-rice'` propagation model.

Data Types: `double`

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.

#### Dependencies

To specify `'ClimateZone'`, you must specify `'longley-rice'` propagation model.

Data Types: `char` | `string`

Time 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].

#### Dependencies

To specify `'TimeVariabilityTolerance'`, you must specify `'longley-rice'` propagation model.

Data Types: `double`

Situation 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].

#### Dependencies

To specify `'SituationVariabilityTolerance'`, you must specify `'longley-rice'` propagation model.

Data Types: `double`

TIREM

collapse all

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.

#### Dependencies

To specify `'AntennaPolarization'`, you must specify `'tirem'` propagation model.

Data Types: `char` | `string`

Conductivity 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.

#### Dependencies

To specify `'GroundConductivity'`, you must specify `'tirem'` propagation model.

Data Types: `double`

Relative 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.

#### Dependencies

To specify `'GroundPermittivity'`, you must specify `'tirem'` propagation model.

Data Types: `double`

Atmospheric 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.

#### Dependencies

To specify `'AtmosphericRefractivity'`, you must specify `'tirem'` propagation model.

Data Types: `double`

Absolute 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.

#### Dependencies

To specify `'Humidity'`, you must specify `'tirem'` propagation model.

Data Types: `double`

Ray Tracing

collapse all

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.

#### Dependencies

To specify the ray tracing method, you must specify the `modelname` input argument as `'raytracing'`.

Data Types: `char` | `string`

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.

#### Dependencies

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`

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.

#### Dependencies

To specify the maximum number of path reflections, you must specify the `modelname` argument as `'raytracing'`.

Data Types: `double`

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`

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.

#### Dependencies

To specify `'BuildingsMaterials'`, you must set `'CoordinateSystem'` to `'geographic'`.

Data Types: `char` | `string`

Relative 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.

#### Dependencies

To specify `'BuildingsMaterialPermittivity'`, you must set `'CoordinateSystem'` to `'geographic'` and `'BuildingsMaterial'` to `'custom'`.

Data Types: `double`

Conductivity 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.

#### Dependencies

To specify `'BuildingsMaterialConductivity'`, you must set `'CoordinateSystem'` to `'geographic'` and `'BuildingsMaterial'` to `'custom'`.

Data Types: `double`

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.

#### Dependencies

To specify `'TerrainMaterial'`, you must set `'CoordinateSystem'` to `'geographic'`.

Data Types: `char` | `string`

Relative 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.

#### Dependencies

To specify `'TerrainMaterialPermittivity'`, you must set `'CoordinateSystem'` to `'geographic'` and `'TerrainMaterial'` to `'custom'`.

Data Types: `double`

Conductivity 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.

#### Dependencies

To specify `'TerrainMaterialConductivity '`, you must set `'CoordinateSystem'` to `'geographic'` and set `'TerrainMaterial'` to `'custom'`.

Data Types: `double`

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.

#### Dependencies

To specify `'SurfaceMaterial'`, you must set `'CoordinateSystem'` to `'cartesian'`.

Data Types: `char` | `string`

Relative 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.

#### Dependencies

To specify `'SurfaceMaterialPermittivity'`, you must set `'CoordinateSystem'` to `'cartesian'` and `'SurfaceMaterial'` to `'custom'`.

Data Types: `double`

Conductivity 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.

#### Dependencies

To specify `'SurfaceMaterialConductivity '`, you must set `'CoordinateSystem'` to `'cartesian'` and set `'SurfaceMaterial'` to `'custom'`.

Data Types: `double`

collapse all

### N-Units

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: $N=\left(n-1\right)×{10}^{6}$

### ITU Permittivity and Conductivity Values for Common Materials

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.

## Compatibility Considerations

expand all

Behavior changed in R2021a

## References

[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.

Introduced in R2019b