Engee documentation

EngeeRadar.TwoRayChannel

A two-ray propagation channel.

Library

EngeeRadar

Block

Two-Ray Channel

Description

The EngeeRadar.TwoRayChannel system object models a narrowband two-beam propagation channel.

A two-ray propagation channel is the simplest type of multibeam channel. You can use a two-ray channel to model signal propagation in a homogeneous, isotropic medium with a single reflective boundary. This type of medium has two propagation paths: a direct propagation path from one point to another and a path of rays reflected from the boundary.

You can use this EngeeRadar.TwoRayChannel system object to solve problems in near-field radar and mobile communications, where signals propagate along straight paths and the Earth is assumed to be flat. You can also use this object for sonar and acoustic elements. For acoustic applications, you can choose unpolarised fields and set the propagation velocity to match the speed of sound in air or water. EngeeRadar.TwoRayChannel can be used to simulate propagation from multiple points simultaneously.

While the EngeeRadar.TwoRayChannel system object works at all frequencies, the attenuation models for atmospheric gases and rain are only valid for electromagnetic signals in the frequency range 1-1000 GHz. The attenuation model for fog and clouds is valid for 10-1000 GHz. Outside these frequency ranges, the EngeeRadar.TwoRayChannel system object uses the nearest valid value.

The EngeeRadar.TwoRayChannel system object applies range-dependent time delays to signals, as well as gain or attenuation, phase shifts, and boundary reflection losses. The EngeeRadar.TwoRayChannel object applies a Doppler shift when the source or target is moving.

The signals at the output of the channel can be divided or combined depending on the value of the CombinedRaysOutput property. If the CombinedRaysOutput property is set to false, the two fields arrive at the destination separately and are not combined. If the CombinedRaysOutput property is set to `true', the two signals are propagated separately at the source, but coherently summed into a single value at the target. This option is convenient when the difference between the gains of individual antenna elements or antenna arrays in the directions of the two paths is small and does not need to be taken into account.

The EngeeRadar.TwoRayChannel system object does not support two-way propagation.

To perform two-way channel propagation, perform the following steps:

  1. Create an EngeeRadar.TwoRayChannel object and set its properties.

  2. Call the object with arguments as if it were a function.

Syntax

Creation

  • object = EngeeRadar.TwoRayChannel creates a two-beam propagation channel with by default property values. Example:

    channel = EngeeRadar.TwoRayChannel
  • object = EngeeRadar.TwoRayChannel(Name=Value) creates a two-beam propagation channel with each specified property Name (name) set to the specified Value (value). You can specify additional arguments as a name-value pair in any order (Name1=Value1,…​,NameN=ValueN). Example:

    channel = EngeeRadar.TwoRayChannel()

Usage

  • prop_sig = object(sig,origin_pos,dest_pos,origin_vel,dest_vel,dest_vel) returns the resulting prop_sig signal when a narrowband sig signal is propagated over a dual-beam channel from position origin_pos` to position dest_pos. The origin_pos or dest_pos arguments can contain multiple points, but you cannot specify both parameters as having multiple points. The signal send rate is specified in the origin_vel parameter, and the signal destination rate is specified in the dest_vel parameter. The origin_vel and dest_vel dimensions must match the origin_pos and dest_pos dimensions, respectively.

Electromagnetic fields propagating through a two-beam channel can be polarised or unpolarised. For unpolarised fields, such as an acoustic field, the propagating signal field, sig, is a vector or matrix. When the fields are polarised, sig represents an array of structures. Each structure element represents an electric field vector in Cartesian form.

In a two-beam environment, there are two signal channels connecting each pair of signal sources and receivers. There are 2N paths for N signal sources (or N destinations). The signals for each source-receiver pair need not be connected. The signals on the two channels for any individual source-receiver pair may also differ due to differences in phase or amplitude.

You can separate the two signals at the destination or combine them - this depends on the CombinedRaysOutput property. Combined means that the signals from the source are propagated separately along the two paths, but are consistently summed at the target into a single value. To use the separate parameter, set CombinedRaysOutput to false. To use the combined parameter, set CombinedRaysOutput to `true'. This option is useful when the difference between the gains of a single antenna element or antenna array in the directions of the two paths is insignificant and does not need to be taken into account.

Properties

PropagationSpeed — signal propagation speed
physconst (LightSpeed) (by default) | positive scalar

Details

The propagation velocity of a signal, specified as a positive scalar.

The unit of measurement is m/s.

By default, the signal propagation speed is equal to the speed of light.

Example: 3e8.

Data types: Float64

OperatingFrequency - operating frequency
300e6 (by default) | positive scalar

Details

The operating frequency of the signal, specified as a positive scalar.

The unit of measurement is Hz.

Example: 1e9.

Data types: Float64

SpecifyAtmosphere — atmospheric attenuation model
false (by default) | true

Details

Atmospheric attenuation model enable property specified as false or true.

Set the SpecifyAtmosphere property to true to add attenuation of the signal caused by atmospheric gases, rain, fog or clouds.

Set the SpecifyAtmosphere property to false to ignore atmospheric effects in signal propagation.

To enable the Temperature, DryAirPressure, WaterVapourDensity, LiquidWaterDensity and RainRate properties, you also need to set the SpecifyAtmosphere property to true.

Data types: logical

Temperature - ambient temperature
15 (By default) | ` real scalar`

Details

Ambient temperature specified as a real scalar.

The units of measurement are degrees Celsius.

Example: 20.0.

Dependencies

To enable this property, set the SpecifyAtmosphere property to true.

Data types: Float64

DryAirPressure dry air pressure
101.325e3 (by default) | `positive real scalar `

Details

The atmospheric pressure of dry air given as a positive real scalar.

The unit of measurement I is Pa.

The by default value of this property corresponds to one normal atmosphere.

Example: 101.0e3.

Dependencies

To enable this property, set the SpecifyAtmosphere property to true.

Data types: Float64

WaterVapourDensity — atmospheric water vapour density
7.5 (by default) | positive real scalar

Details

The density of water vapour in the atmosphere, given as a positive real scalar.

The unit of measurement is g/m3.

Example: 7.4.

Dependencies

To enable this property, set the SpecifyAtmosphere property to true.

Data types: Float64

LiquidWaterDensity liquid water density
0.0 (by default) | non-negative real scalar

Details

The density of liquid water in fog or clouds, given as a non-negative real scalar.

The unit of measurement is g/m3.

Typical values of liquid water density are 0.05 for medium fog and 0.5 for dense fog.

Example: 0.1.

Dependencies

To enable this property, set the SpecifyAtmosphere property to true.

Data types: Float64

RainRate rainfall
0.0 (by default) | non-negative scalar

Details

Precipitation rate given as a non-negative scalar.

The unit of measurement is mm/hour.

Example: 10.0.

Dependencies

To enable this property, set the SpecifyAtmosphere property to true.

Data types: Float64

SampleRate - signal sampling rate
1e6 (by default) | positive scalar

Details

The sampling rate of the signal, specified as a positive scalar.

The unit of measurement is Hz.

The EngeeRadar.TwoRayChannel system object uses this value to calculate the signal propagation delay in sample units.

Example: 1e6.

Data types: Float64

EnablePolarisation - enable polarised fields
false (by default) | true

Details

The property to enable polarised fields, specified as false or true.

Set the EnablePolarisation property to true to enable polarization.

Set the EnablePolarisation property to false to ignore polarization.

Data types: logical

GroundReflectionCoefficient — ground reflection coefficient
1 (by default) | complex scalar | complex vector 1 by N

Details

The ground reflection coefficient for the field at the reflection point, given as a complex scalar or complex vector 1 over N.

Each coefficient has an absolute value less than or equal to one.

The value N is the number of two-beam channels.

The units are dimensionless.

Use this property to simulate unpolarised signals.

Use the GroundRelativePermittivity property to model polarised signals.

Example: 0.5.

Dependencies

To enable this property, set the EnablePolarisation property to false.

Data types: Float64

Support for complex numbers: Yes

GroundRelativePermittivity — ground relative permeability
15 (By default) | positive real scalar | positive real vector 1 by N

Details

The relative permeability of the earth at the point of reflection, given as a positive real scalar or a positive real vector 1 on N.

The dimension of N is the number of two-beam channels.

The units are dimensionless.

Relative permeability is defined as the ratio of actual ground permeability to free space permeability.

Use this property to model polarised signals. Use the GroundReflectionCoefficient property to model unpolarised signals.

Example: 5

Dependencies

To enable this property, set the EnablePolarisation property to true.

Data types: Float64

CombinedRaysOutput — combining two rays output
true (by default) | false

Details

The property of combining two rays at the channel output, specified as true or false.

If the CombinedRaysOutput property is set to true, the object coherently stacks the propagated line-of-sight signal and the reflected path signal when generating the output signal. Use this mode when you do not need to consider the directivity gain of an antenna or array in your modelling.

Data types: logical

MaximumDistanceSource — source of maximum one-way propagation distance
Auto (By default) | `Property `

Details

The source of the maximum one-way propagation distance specified as Auto or Property.

The maximum one-way propagation distance is used to allocate enough memory to calculate the signal delay.

If you set the MaximumDistanceSource property to Auto, the EngeeRadar.TwoRayChannel system object automatically allocates memory.

If you set the MaximumDistanceSource property to Property, specify the maximum one-way propagation distance using the value of the MaximumDistance property.

Data types: char

MaximumDistance - maximum distance of one-way propagation
10000 (by default) | ` positive real scalar`

Details

The maximum one-way propagation distance, specified as a positive real scalar.

The unit of measurement is m.

Any signal propagating to a distance greater than the maximum one-way distance is ignored. The maximum distance must be greater than or equal to the largest distance between sources.

Example: 5000.

Dependencies

To enable this property, set the MaximumDistanceSource property to Property.

Data types: Float64

MaximumNumInputSamplesSource — source of maximum number of signals
Auto (By default) | Property

Details

The source of the maximum number of input signal samples specified as Auto or Property.

If you set the MaximumNumInputSamplesSource property to Auto, the propagation model automatically allocates enough memory to buffer the input signal.

If you set the MaximumNumInputSamplesSource property to Property, specify the maximum number of samples in the input signal using the MaximumNumInputSamples property. Any input signal whose length exceeds this value will be truncated.

To use this object with variable sized signals, set the MaximumNumInputSamplesSource property to Property and set the value for the MaximumNumInputSamples property.

Example: Property.

Dependencies

To enable this property, set the MaximumDistanceSource property to Property.

Data types: char

MaximumNumInputSamples -. maximum number of input samples
100 (by default) | ` integer positive scalar`

Details

The maximum number of samples of the input signal specified as a positive integer scalar.

The dimensionality of the input signal is the number of rows in the input matrix. Any input signal whose length exceeds this number is truncated. To process signals completely, make sure that the value of this property is greater than the maximum length of the input signal.

The system objects that generate the waveform determine the maximum size of the signal:

  • For any waveform, if the OutputFormat waveform property is set to Samples, the maximum signal length is equal to the value specified in the NumSamples property.

  • For pulse waveforms, if the OutputFormat property is set to Pulses, the signal length is equal to the product of the lowest pulse repetition rate, the number of pulses and the sampling rate.

  • For continuous waveforms, if the OutputFormat property is set to Sweeps, the signal length is equal to the product of the sweep time, the number of sweeps and the sampling rate.

Example: 2048.

Dependencies

To enable this property, set the MaximumNumInputSamplesSource property to Property.

Data types: Float64

Arguments

Input

sig - narrowband signal
complex matrix M over N | complex matrix M over 2N | complex array 1 over N | complex array 1 over 2N

Details
  • A narrowband unpolarised scalar signal given as:

    • M by N complex matrix. Each column contains a common signal propagating along both the line-of-sight path and the reflected path. You can use this form when the signals of both paths are the same.

    • M by 2N complex matrix. Each adjacent pair of columns represents a separate channel. In each pair, the first column represents the signal propagating along the line-of-sight path and the second column represents the signal propagating along the reflected path.

  • A narrowband polarised signal, given as:

    • 1 by N complex array. Each structure contains a common polarised signal propagating along both the line-of-sight path and the reflected path. Each element of the structure contains a vector of M by 1 columns of electromagnetic field components (sig.X,sig.Y,sig.Z). You can use this form when both signals on the path are the same.

    • of a 1 by 2N complex array. Each adjacent pair of array columns represents a separate channel. In each pair, the first column represents the signal on the line-of-sight path and the second column represents the signal on the reflected path. Each element of the structure contains a vector of M by 1 columns of electromagnetic field components (sig.X,sig.Y,sig.Z).

For unpolarised fields, the value of M is the number of signal samples and N is the number of two-beam channels. Each channel corresponds to a source-destination pair.

For polarised fields, the structure elements contain three complex vector-columns M by 1, sig.X, sig.Y and sig.Z. These vectors represent the x, y and z Cartesian components of the polarised signal.

The size of the first dimensionality of the matrix fields within the structure may be varied to simulate a varying signal length, such as a pulse waveform with a varying pulse repetition rate.

Example: [1,1;j,1;0.5,0].

Data types: Float64

Support for complex numbers: Yes

origin_pos - origin of the signal or signals
real vector of columns 3 by 1 | real matrix 3 by 1

Details

The origin of the signal or signals given as a 3 by 1 real column vector or a 3 by N real matrix. The number N is the number of two-beam channels.

If origin_pos is a column vector, it has the form [x;y;z].

If origin_pos is a matrix, each column points to a different signal origin and is of the form [x;y;z].

The units of measurement are m.

origin_pos and dest_pos cannot be specified as matrices - at least one of them must be a 3-by-1 column vector.

Example: [1000;100;500].

Data types: Float64

dest_pos - end position of the signal or signals
real vector of columns 3 by 1 | real matrix 3 by N

Details

The final position of the signal or signals given as a 3-by-1 real column vector or a 3-by-N real matrix. N is the number of two-beam channels propagating from or to N signal sources.

If dest_pos is a 3-by-1 column vector, it has the form [x;y;z].

If dest_pos is a matrix, each column defines a different signal destination and is of the form [x;y;z].

The units of measurement are m.

You cannot specify origin_pos and dest_pos as matrices. At least one of them must be a 3-by-1 column vector.

Example: [0;0;0].

Data types: Float64

*origin_vel rate of onset
real vector of columns 3 by 1 | real matrix 3 by N

Details

The rate of signal occurrence given as a 3-by-1 real column vector or a 3-by-N real matrix.

The dimensionality of origin_vel must match the dimensionality of origin_pos.

If origin_vel is a column vector, it takes the form [Vx;Vy;Vz].

If origin_vel is a 3 by N matrix, each column specifies a different initial velocity and takes the form [Vx;Vy;Vz].

The units are m/s.

Example: [10;0;5].

Data types: Float64

dest_vel - signal direction speed
real vector of columns 3 by 1 | real matrix 3 by N

Details

The signal direction rate given as a 3-by-1 real column vector or a 3-by-N real matrix.

The dimensionality of dest_vel must match the dimensionality of dest_pos.

If dest_vel is a column vector, it takes the form [Vx;Vy;Vz].

If dest_vel is a 3 by N matrix, each column specifies a different destination velocity and is of the form [Vx;Vy;Vz].

The units are m/s.

Example: [0;0;0;0].

Data types: Float64

Output

prop_sig — propagated signal
complex matrix M over N | complex matrix M over 2N | complex array 1 over N | complex array 1 over 2N

Details
  • A narrowband unpolarised scalar signal returned as:

    • M by N complex matrix. To set this value, set the CombinedRaysOutput property to true. Each column of the matrix contains coherently combined signals from the line-of-sight path and the reflected path.

    • complex matrix M by 2N. To set this value, set the CombinedRaysOutput property to false. The alternating columns of the matrix contain signals from the line of sight and reflected path.

  • Narrowband polarised scalar signal returned as:

    • 1 by N complex array. To set this value, set the CombinedRaysOutput property to true. Each column of the array contains the coherently combined line-of-sight and reflected path signals. Each element of the structure contains the electromagnetic field vector (prop_sig.X,prop_sig.Y,prop_sig.Z).

    • a complex array of 1 by 2N. To set this value, set the CombinedRaysOutput property to false. The alternate columns contain the signals from the line-of-sight path and the reflected path. Each element of the structure contains an electromagnetic field vector (prop_sig.X,prop_sig.Y,prop_sig.Z).

The prop_sig output signal contains the signal elements arriving at the signal destination during the current input time interval.

If it takes longer than the current time interval for the signal to propagate from origin to destination, the output signal may not contain the entire contribution from the input within the current time interval. The remaining output will appear the next time the object is accessed.

Methods

Common for all system objects

step!

Start the system object’s operating algorithm

release!

Allow changing the value of a system object property

reset!

Reset internal states of the system object

Optional

Two-beam signal propagation paths

The two-beam propagation channel is the next step in complexity after the free space channel and is the simplest case of a multipath propagation medium.

The free space channel models the beam line of sight from point 1 to point 2.

In a two-beam channel, the medium is specified as a homogeneous, isotropic medium with a reflecting planar boundary. The boundary is always set as .

There are at most two rays propagating from point 1 to point 2. The first ray propagates along the same line-of-sight path as in the free-space channel. The line-of-sight path is often referred to as the straight ray. The second ray is reflected from the boundary before reaching point 2. According to the law of reflection, the angle of reflection is equal to the angle of incidence. In short-range simulations, such as cellular telephone systems or automobile radars, it may be assumed that the reflecting surface, the earth or ocean surface, is flat.

The EngeeRadar.TwoRayChannel system object simulates propagation time delay, phase shift, Doppler shift and loss effects for both paths. For the reflected path, the loss effects include reflection losses at the boundary.

The following figure shows the two propagation paths. From the source position, , and the receiver position, , you can calculate the angles of incidence for both paths, and . The angles of incidence are the angles of location and azimuth of the incoming radiation with respect to the local coordinate system. In this case, the local coordinate system is the same as the global coordinate system.

You can also calculate the propagation angles, and . In global coordinates, the reflection angle at the boundary coincides with the angles and . The reflection angle is important to know when you use angle-dependent reflection loss data.

The total path length for the line-of-sight path , which is equal to the geometric distance between the source and receiver, is shown in the figure.

The total path length for the reflected path is . The value is the distance between the source and the receiver.

two ray channel 1

You can easily derive exact formulas for path lengths and angles in terms of distance to the ground and height of objects in a global coordinate system.

















*♪ Two-beam attenuation

Attenuation, or path loss in a two-beam channel, is the product of five components , where

  • - is the geometric attenuation of the dual beam channel

  • - attenuation due to ground reflection

  • - attenuation due to signal travelling through the atmosphere

  • - attenuation due to signal travelling through fog and clouds

  • - Rain attenuation

Each component is given in units of magnitude, not dB.

* Ground reflections and propagation losses.

Losses occur when a signal is reflected from a boundary. You can obtain a simple model of ground reflection loss by representing the electromagnetic field as a scalar field. This approach also works for acoustic and sonar systems.

Let be a free-space scalar electromagnetic field with amplitude at a reference distance from the transmitter (e.g. one metre). The free-space propagating field at a distance from the transmitter has the form

ω

for the line-of-sight trajectory.

You can express the ground-reflected -field as

ω

where is the distance of the reflected path.

The value represents the loss due to reflection from the ground plane. To specify , use the GroundReflectionCoefficient property. In general, depends on the angle of incidence of the field. The total field at the destination is the sum of the line-of-sight and reflected path fields.

For electromagnetic waves, a more complex but more realistic model uses a vector representation of the polarised field. You can decompose the incident electric field into two components. One component, , is parallel to the plane of incidence. The other component, , is perpendicular to the plane of incidence. The ground reflection coefficients for these components are different and can be written in terms of ground permeability and angle of incidence.








where is the impedance of the medium. Since the magnetic permeability of the earth is almost the same as that of air or free space, the impedance ratio depends primarily on the ratio of electrical permeabilities



where the value is the relative permeability of the ground, given by the GroundRelativePermittivity property. The angle is the angle of incidence, and the angle is the angle of refraction at the boundary. You can determine , using Snell’s law of refraction.

After reflection, the total field is reconstructed from the parallel and perpendicular components. The total attenuation in the ground plane, , is a combination of and .

When the origin and destination points are stationary relative to each other, you can write the output Y of an object as . The value is the signal delay, and is the free-space path loss. The delay is given by . - is either the line-of-sight propagation path distance or the reflection path distance, and is the propagation velocity. Path loss:

where is the wavelength of the signal.

*Model of signal attenuation in atmospheric gases.

This model calculates the attenuation of signals propagating through atmospheric gases.

Electromagnetic signals are attenuated when propagating through the atmosphere. This effect is mainly due to the resonant absorption lines of oxygen and water vapour, with a smaller contribution from nitrogen.

The model also includes a continuous absorption spectrum below 10 GHz.

The model calculates specific attenuation (attenuation per kilometre) as a function of temperature, pressure, water vapour density and signal frequency. The atmospheric gas model is valid for frequencies from 1-1000 GHz and is applicable to polarised and unpolarised fields.

Formula for the specific attenuation at each frequency:

The value is the imaginary part of the complex atmospheric refractivity and consists of a spectral line component and a continuous component:

The spectral component consists of the sum of the discrete spectral terms comprising the localised bandwidth function, , multiplied by the spectral line strength, . For atmospheric oxygen, the strength of each spectral line is equal to:

For atmospheric water vapour, the strength of each spectral line is:

is the pressure of dry air, is the partial pressure of water vapour, and is the ambient temperature. The units of pressure are hectopascals (hPa) and the units of temperature are degrees Kelvin. The partial pressure of water vapour, , is related to the density of water vapour, , as follows:

The total atmospheric pressure is + .

For each oxygen line, depends on two parameters, and . Similarly, each water vapour line depends on two parameters, and . The ITU documentation at the end of this section contains tables of these parameters as functions of frequency.

The localised bandwidth functions are complex functions of frequency described in the ITU references below. These functions depend on empirical model parameters, which are also given in the references.

To calculate the total attenuation for narrowband signals on a path, the function multiplies the specific attenuation by the path length, . Then the total attenuation is .

You can apply the attenuation model to broadband signals. First divide the broadband signal into frequency sub-bands and apply attenuation to each sub-band. Then sum all the attenuated sub-band signals into a total attenuated signal.

Fog and cloud attenuation model

This model calculates the attenuation of signals propagating through fog or clouds.

Fog and cloud attenuation are the same atmospheric phenomenon. The ITU model used is IRU Recommendation-R P.840-6: Attenuation due to clouds and fog. The model calculates the specific attenuation (attenuation per kilometre) of a signal as a function of liquid water density, signal frequency and temperature. The model is applicable to polarised and unpolarised fields. The formula for the specific attenuation at each frequency is as follows

where is the density of liquid water in gm/m3. The value represents the specific attenuation coefficient and is frequency dependent. The cloud and fog attenuation model is valid for frequencies 10-1000 GHz. The units of the specific attenuation coefficient are (dB/km)/(g/m3).

To calculate the total attenuation for narrowband signals on a path, the function multiplies the specific attenuation by the path length . The total attenuation is equal to .

You can apply the attenuation model to broadband signals. First divide the broadband signal into frequency sub-bands and apply narrowband attenuation to each sub-band. Then sum all the attenuated sub-band signals into a total attenuated signal.

*Rain attenuation model.

This model calculates the attenuation of signals that propagate through rainfall regions. Rain attenuation is the dominant attenuation mechanism and can vary from place to place and year to year.

Electromagnetic signals are attenuated when propagating through a rainfall region. Rain attenuation is calculated according to the ITU rain model "Recommendation ITU-R P.838-3: Specific rain attenuation model for usage in forecasting methods". The model calculates the specific attenuation (attenuation per kilometre) of a signal as a function of rain intensity, nominal signal frequency, polarisation and location angle. The specific attenuation, , is modelled as a power law as a function of rain rate:

Where is the rain rate. The units of measurement are mm/hour. The parameters and the exponent depend on frequency, polarisation state and elevation angle in the signal path. The specific attenuation model is valid for frequencies from 1-1000 GHz.

To calculate the total attenuation for narrowband signals in the path, the function multiplies the specific attenuation by the effective propagation distance, . Then the total attenuation is .

The effective distance is the geometric distance, , multiplied by a scaling factor:

where is the frequency. The article "Recommendation ITU-R P.530-17 (12/2017): Propagation data and prediction methods required for the design of terrestrial line-of-sight systems" contains a full description of the attenuation calculation.

The rain rate, , used in these calculations is the long-term statistical rain rate, . This is the rain rate that is exceeded 0.01% of the time. The calculation of the statistical rainfall rate is discussed in "Recommendation ITU-R P.837-7 (06/2017): Precipitation characteristics for propagation modelling". This article also explains how to calculate attenuation for other percentages of the 0.01% value.

You can apply the attenuation model to broadband signals. First, divide the broadband signal into frequency sub-bands and apply attenuation to each sub-band. Then sum all the attenuated sub-band signals into a total attenuated signal.

Literature

  1. Saakian, A. "Radio Wave Propagation Fundamentals". Norwood, MA: Artech House, 2011.

  2. Balanis, K. "Advanced Engineering Electromagnetics." New York: Wiley & Sons, 1989.

  3. Rappaport, T. "Wireless Communications: Principles and Practice, 2nd Ed" New York: Prentice Hall, 2002.

  4. International Telecommunication Union Radiocommunication Sector. "Recommendation ITU-R P.676-10: Atmospheric gas attenuation." 2013.

  5. International Telecommunication Union Radiocommunication Sector. "Recommendation ITU-R P.840-6: Attenuation due to clouds and fog".". 2013.

  6. International Telecommunication Union Radiocommunication Sector. "Recommendation ITU-R P.838-3: Specific attenuation model for rain for usage in forecasting methods".". 2005.