## Ray Tracing for Wireless Communications

### Introduction

Wireless communication systems use radio waves to transmit signals. Propagation modeling enables you to estimate the strength of signals based on system parameters such as frequency, antenna height, terrain properties, and building properties.

Theoretical and empirical models estimate path loss based on range, and are valid only for those environments that resemble the modeling environment. As a result, these models usually do not provide accurate temporal or spatial information. Unlike these models, ray tracing models are specific to the 3-D environment, and are therefore appropriate for scenarios such as urban environments.

For propagation modeling, a *ray* is an individual radio
signal that [1]:

Travels in a straight line through a homogeneous medium.

Obeys the laws of reflection, refraction, and diffraction.

Carries energy. Propagation models treat rays like tubes, where the energy density on the cross section becomes smaller as the ray interacts with the environment.

For a given 3-D environment, ray tracing models use numerical simulations to:

Predict the paths of rays from transmitters to receivers. The models can find many rays from a transmitter to a receiver. The models derive the angle of departure, angle of arrival, and time of arrival from the paths.

Estimate the path loss and phase change for each ray. Total path loss is the sum of interaction losses, free space loss, and, optionally, atmospheric loss.

A ray interacts with the environment in several ways [1].

Interaction | Description |
---|---|

Line-of-sight (LOS) | The ray travels directly from the transmitter to the receiver. |

Reflection | The ray reflects off a surface according to the law of reflection. |

Refraction (transmission) | The ray refracts as it moves into a new medium, according to the law of refraction. |

Diffraction | The ray diffracts off a surface according to the law of diffraction. One ray can spawn many diffracted rays. |

Scattering | The ray interacts with a rough surface such as the ocean or a building facade. |

Use these functions to create ray tracing models, predict propagation paths, and calculate path losses and phase shifts.

`propagationModel`

— Create a ray tracing model as a`RayTracing`

object. Specify options such as the ray tracing method, the maximum number of reflections, and surface materials. You can use ray tracing models as inputs when conducing RF analysis, such as when generating coverage maps by using the`coverage`

function or when calculating total received power by using the`sigstrength`

function.`raytrace`

— Display propagation paths (rays) on a map or return propagation paths as`comm.Ray`

objects. Each object represents the full path from the transmitter to the receiver, and contains information such as the path loss, phase shift, and types of surface interactions.`raypl`

— Calculate the path loss and phase shift for a propagation path based on surface materials and antenna polarization types.

For examples that show ray tracing in indoor and urban environments, see Indoor MIMO-OFDM Communication Link using Ray Tracing and Urban Link and Coverage Analysis Using Ray Tracing, respectively.

### Ray Tracing Methods

The `propagationModel`

and `raytrace`

functions use a ray tracing model that finds LOS and non-line-of-sight (NLOS) paths.

The model finds LOS paths by shooting a ray from the transmitter toward the receiver. If the ray does not interact with a surface before reaching the receiver, then an LOS path exists.

The model finds NLOS paths by using either the shooting and bouncing rays (SBR) method [2] or the image method. You can specify the method by using the

`propagationModel`

function.

Choose a method based on the types of interactions you want to model, the computation speed, and the accuracy.

Method | Interaction Types | Computation Speed | Computation Accuracy |
---|---|---|---|

SBR | Includes effects from reflection and does not include effects from diffraction, refraction, or scattering. Supports up to ten path reflections. | Computational complexity increases linearly with the number of reflections. As a result, the SBR method is generally faster than the image method. | Calculates an approximate number of propagation paths with exact geometric accuracy. |

Image | Includes effects from reflection and does not include effects from diffraction, refraction, or scattering. Supports up to two path reflections. | Computational complexity increases exponentially with the number of reflections. | Calculates an exact number of propagation paths with exact geometric accuracy. |

When both the image and SBR methods find the same path, the points along the path are the same within a tolerance of machine precision for single-precision floating-point values.

#### SBR Method

This figure illustrates the SBR method for calculating propagation paths from a transmitter, *Tx*, to a receiver, *Rx*.

The SBR method launches many rays from a geodesic sphere centered at *Tx*. The geodesic sphere enables the model to launch rays that are approximately uniformly spaced.

Then, the method traces every ray from *Tx* and can model different types of interactions between the rays and surrounding objects, such as reflections, diffractions, refractions, and scattering. Note that the current implementation of the SBR method considers only reflections.

When a ray hits a flat surface, shown as

*R*, the ray reflects based on the law of reflection.When a ray hits an edge, shown as

*D*, the ray spawns many diffracted rays based on the law of diffraction [3][4]. Each diffracted ray has the same angle with the diffracting edge as the incident ray. The diffraction point then becomes a new launching point and the SBR method traces the diffracted rays in the same way as the rays launched from*Tx*. A continuum of diffracted rays forms a cone around the diffracting edge, which is commonly known as a*Keller cone*[4]. The current implementation of the SBR method does not consider edge diffractions.

For each launched ray, the SBR method surrounds *Rx* with a sphere, called a reception sphere, with a radius that is proportional to the distance the ray travels and the average number of degrees between the launched rays. If the ray intersects the sphere, then the model considers the ray a valid path from *Tx* to *Rx*. The SBR method corrects the valid paths so that the paths have exact geometric accuracy.

When you increase the number of rays by decreasing the number of degrees between rays, the reception sphere becomes smaller. As a result, in some cases, launching more rays results in fewer or different paths. This situation is more likely to occur with custom 3-D scenarios created from STL files or triangulation objects than with scenarios that are automatically generated from OpenStreetMap^{®} buildings and terrain data.

The SBR method finds paths using single-precision floating-point computations.

#### Image Method

This figure illustrates the image method for calculating the propagation path of a single
reflection ray for the same transmitter and receiver as the SBR method. The image method
locates the image of *Tx* with respect to a planar reflection surface,
*Tx'*. Then, the method connects *Tx'* and
*Rx* with a line segment. If the line segment intersects the planar
reflection surface, shown as *R* in the figure, then a valid path from
*Tx* to *Rx* exists. The method determines paths with
multiple reflections by recursively extending these steps. The image method finds paths
using single-precision floating-point computations.

### Propagation Loss

The ray tracing model used by the `propagationModel`

,
`raytrace`

, and `raypl`

functions
calculates reflection losses by tracking the horizontal and vertical polarizations
of signals through the propagation path. Total power loss is the sum of free space
loss and reflection loss.

#### Effect of Surface Materials

When a ray interacts with a surface, the surface material impacts the reflection losses.

The ray tracing model incorporates building and surface materials into the
propagation loss calculations by using the complex relative permittivity of the
surface, *ε _{r}*. The ITU-R P.2040-1 [5] and ITU-R P.527
[6] recommendations
include methods, equations, and values used to calculate

*ε*for a range of frequencies.

_{r}The equations for *ε _{r}* are:

$${\epsilon}_{r}={\epsilon}_{r}{}^{\prime}+j{\epsilon}_{r}{}^{\prime \text{}\prime}$$

$${\epsilon}_{r}{}^{\prime \text{}\prime}=\frac{\sigma}{2\pi {\epsilon}_{0}f}$$,

where:

*ε*is the real relative permittivity._{r}'*σ*is the conductivity in S/m.*ε*is the permittivity of free space (electric constant)._{0}*f*is the frequency in Hz.

For building materials, the ray tracing model calculates
*ε _{r}'* and

*σ*as:

$${\epsilon}_{r}{}^{\prime}=a{f}^{b}$$

$$\sigma =c{f}^{d}$$,

where *a*, *b*, *c*, and
*d* are constants determined by the surface material. For
readability, this table shows the frequency range in GHz.

Material Class | Real Part of Relative Permittivity | Conductivity (S/m) | Frequency Range (GHz) | ||
---|---|---|---|---|---|

a | b | c | d | ||

Vacuum (~ air) | 1 | 0 | 0 | 0 | [0.001, 100] |

Concrete | 5.31 | 0 | 0.0326 | 0.8095 | [1, 100] |

Brick | 3.75 | 0 | 0.038 | 0 | [1, 10] |

Plasterboard | 2.94 | 0 | 0.0116 | 0.7076 | [1, 100] |

Wood | 1.99 | 0 | 0.0047 | 1.0718 | [0.001, 100] |

Glass | 6.27 | 0 | 0.0043 | 1.1925 | [0.1, 100] |

Ceiling board | 1.50 | 0 | 0.0005 | 1.1634 | [1, 100] |

Chipboard | 2.58 | 0 | 0.0217 | 0.78 | [1, 100] |

Floorboard | 3.66 | 0 | 0.0044 | 1.3515 | [50, 100] |

Metal | 1 | 0 | 10 | 0 | [1, 100] |

Very dry ground | 3 | 0 | 0.00015 | 2.52 | [1, 10] only |

Medium dry ground | 15 | – 0.1 | 0.035 | 1.63 | [1, 10] only |

Wet ground | 30 | – 0.4 | 0.15 | 1.30 | [1, 10] only |

Note (a): For the three ground types (very dry, medium dry, and wet), the noted frequency limits cannot be exceeded. |

For earth surfaces such as water, sea water, dry or wet ice, dry or wet soil,
and vegetation, the ray tracing model calculates
*ε _{r}* using the methods and
equations presented in ITU-R P.527 [6].

#### Reflection Loss

This image shows a reflection path from a transmitter site *tx* to a receiver
site *rx*.

The model determines polarization and reflection loss using these steps.

Track the propagation of the ray in 3-D space by calculating the propagation matrix

*P*. The matrix is a repeating product, where*i*is the number of reflection points.$$P={\displaystyle \prod _{i}{P}_{i}}$$

For each reflection, calculate

*P*by transforming the global coordinates of the incident electromagnetic field into the local coordinates of the reflection plane, multiplying the result by a reflection coefficient matrix, and transforming the coordinates back into the original global coordinate system [7]. The equations for_{i}*P*and_{i}*P*are:_{0}$${P}_{i}=\begin{array}{ccc}{\left[\begin{array}{ccc}{s}_{out}& {p}_{out}& {k}_{out}\end{array}\right]}_{i}& {\left[\begin{array}{ccc}{R}_{V}\left(\alpha \right)& 0& 0\\ 0& {R}_{H}\left(\alpha \right)& 0\\ 0& 0& 1\end{array}\right]}_{i}& {\left[\begin{array}{ccc}{s}_{in}& {p}_{in}& {k}_{in}\end{array}\right]}_{i}^{-1}\end{array}$$

$${P}_{0}=\left[\begin{array}{ccc}1& 0& 0\\ 0& 1& 0\\ 0& 0& 1\end{array}\right]$$

where:

*s*,*p*, and*k*form a basis for the plane of incidence (the plane created by the incident ray and the surface normal of the reflection plane).*s*and*p*are perpendicular and parallel, respectively, to the plane of incidence.*k*and_{in}*k*are the directions (in global coordinates) of the incident and exiting rays, respectively._{out}*s*and_{in}*s*are the directions (in global coordinates) of the horizontal polarizations for the incident and exiting rays, respectively._{out}*p*and_{in}*p*are the directions (in global coordinates) of the vertical polarizations for the incident and exiting rays, respectively._{out}*R*and_{H}*R*are the Fresnel reflection coefficients for the horizontal and vertical polarizations, respectively._{V}*α*is the incident angle of the ray and*ε*is the complex relative permittivity of the material._{r}$${R}_{H}(\alpha )=\frac{\mathrm{cos}(\alpha )-\sqrt{({\epsilon}_{r}-{\mathrm{sin}}^{2}(\alpha ))/{\epsilon}_{r}{}^{2}}}{\mathrm{cos}(\alpha )+\sqrt{({\epsilon}_{r}-{\mathrm{sin}}^{2}(\alpha ))/{\epsilon}_{r}{}^{2}}}$$

$${R}_{V}(\alpha )=\frac{\mathrm{cos}(\alpha )-\sqrt{{\epsilon}_{r}-{\mathrm{sin}}^{2}(\alpha )}}{\mathrm{cos}(\alpha )+\sqrt{{\epsilon}_{r}-{\mathrm{sin}}^{2}(\alpha )}}$$

Project the propagation matrix

*P*into a 2-by-2 polarization matrix*R*. The model rotates the coordinate systems for the transmitter and receiver so that they are in global coordinates.$$R=\left[\begin{array}{cc}{H}_{in}\cdot {H}_{rx}& {V}_{in}\cdot {H}_{rx}\\ {H}_{in}\cdot {V}_{rx}& {V}_{in}\cdot {V}_{rx}\end{array}\right]$$

$${H}_{in}=P({V}_{tx}\times {k}_{tx})$$

$${V}_{in}=P{V}_{tx}$$

where:

*H*and_{rx}*V*are the directions (in global coordinates) of the horizontal (_{rx}*E*) and vertical (_{θ}*E*) polarizations, respectively, for the receiver._{ϕ}*H*and_{in}*V*are the directions (in global coordinates) of the propagated horizontal and vertical polarizations, respectively._{in}*V*is the direction (in global coordinates) of the nominal vertical polarization for the ray departing the transmitter._{tx}*k*is the direction (in global coordinates) of the ray departing the transmitter._{tx}

Specify the normalized horizontal and vertical polarizations of the electric field at the transmitter and receiver by using the 2-by-1 Jones polarization vectors

*J*and_{tx}*J*, respectively. If either the transmitter or receiver are unpolarized, then the model assumes $${J}_{tx}={J}_{rx}=\frac{\sqrt{2}}{2}\left[\begin{array}{c}1\\ 1\end{array}\right]$$._{rx}Calculate the polarization and reflection loss

*IL*by combining*R*,*J*, and_{tx}*J*._{rx}$$IL=-20{\mathrm{log}}_{10}\left|{J}_{rx}^{-1}R{J}_{tx}\right|$$

## References

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

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

[3] International Telecommunications Union Radiocommunication Sector. *Propagation by diffraction*. Recommendation P.526-15. ITU-R, approved October 21, 2019. https://www.itu.int/rec/R-REC-P.526-15-201910-I/en.

[4] Keller, Joseph B. “Geometrical Theory of Diffraction.” *Journal of the Optical Society of America* 52, no. 2 (February 1, 1962): 116. https://doi.org/10.1364/JOSA.52.000116.

[5] International Telecommunications Union Radiocommunication
Sector. *Effects of building materials and structures on radiowave propagation above
about 100MHz.* Recommendation P.2040-1. ITU-R, approved July 29, 2015.
https://www.itu.int/rec/R-REC-P.2040-1-201507-I/en.

[6] International Telecommunications Union Radiocommunication
Sector. *Electrical characteristics of the surface of the Earth*.
Recommendation P.527-5. ITU-R, approved August 14, 2019.
https://www.itu.int/rec/R-REC-P.527-5-201908-I/en.

[7] Chipman, Russell A., Garam Young, and Wai Sze Tiffany Lam.
"Fresnel Equations." In *Polarized Light and Optical Systems*. Optical
Sciences and Applications of Light. Boca Raton: Taylor & Francis, CRC Press, 2019.

[8] McNamara, D. A., C. W. I.
Pistorius, and J. A. G. Malherbe. *Introduction to the Uniform Geometrical
Theory of Diffraction*. Boston: Artech House, 1990.