Engee documentation

EngeePhased.WidebandLOSChannel

Wideband line-of-sight propagation channel.

Library

EngeePhased.

Block

Wideband LOS Channel

Description

The EngeePhased.WidebandLOSChannel system object models the propagation of signals from a single point in space to multiple points, or from multiple points back to a single point via line-of-sight (LOS) channels. In a LOS channel, propagation paths are straight lines from point to point. The LOS channel propagation model includes free-space fading in addition to fading due to atmospheric gases, rain, fog, and clouds.

You can use EngeePhased.WidebandLOSChannel to model signal propagation between multiple points simultaneously. The EngeePhased.WidebandLOSChannel system object works for all frequencies.

While 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 EngeePhased.WidebandLOSChannel object uses the nearest valid value.

The EngeePhased.WidebandLOSChannel system object applies range-dependent time delays and gain or loss to signals. When the source or destination moves, this system object applies a Doppler shift.

To create and use a wideband LOS channel, follow these steps:

  1. Create an EngeePhased.WidebandLOSChannel object and set its properties.

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

Syntax

Creation

  • object = EngeePhased.WidebandLOSChannel creates a wideband line-of-sight propagation channel with a by default property value.

    Example:

    channel=EngeePhased.WidebandLOSChannel
  • object = EngeePhased.WidebandLOSChannel (Name=Value) creates a wideband line-of-sight 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=EngeePhased.WidebandLOSChannel()

Usage

  • prop_sig = object(sig,origin_pos,dest_pos,origin_vel,dest_vel) returns the resulting signal, argument prop_sig, when propagating a wideband signal, argument sig, over a line-of-sight (LOS) channel from the source specified in argument origin_pos to the destination in argument dest_pos. Only one of the origin_pos or dest_pos arguments may specify multiple positions. The other argument must contain a single position. The source signal velocity is specified in the origin_vel argument, and the receiver signal velocity is specified in the dest_vel argument. The origin_well and dest_val dimensions must match the origin_pos and test_pads dimensions respectively.

Electromagnetic fields propagating through the LOS channel may be polarised or unpolarised. For unpolarised fields, the propagating signal field, argument sig, is a vector or matrix. For polarised fields, sig represents an array of structures. The elements of the structure represent the electric field vector in Cartesian form.

Properties

PropagationSpeed — signal propagation speed
3e8 (by default) | positive scalar

Details

The propagation velocity of a signal as a real positive scalar.

By default, the value of the speed of light is 3e8.

The unit of measurement is m/c.

By default: 3e8.

Data types: Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64

OperatingFrequency - signal carrier frequency
3e8 (by default) | positive scalar

Details

The carrier frequency of the signal as a positive real scalar.

The unit of measurement is Hz.

By default: 3e8.

Data types: Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64

SpecifyAtmosphere — to account for signal attenuation in the atmosphere
false (by default) | true

Details

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

Set this property to false to ignore atmospheric effects in signal propagation.

Dependencies

Set the SpecifyAtmosphere property to true to enable the Temperature, DryAirPressure, WaterVapourDensity, LiquidWaterDensity and RainRate properties.

Data types: logical

Temperature - ambient temperature
15 (By default) | scalar

Details

Ambient temperature specified as a real scalar.

The unit of measurement is degrees Celsius.

Dependencies

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

Data types: Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64

DryAirPressure dry air pressure
101325 (By default)` | positive scalar

Details

The atmospheric pressure of dry air, specified as a positive real scalar. The value of this parameter by default corresponds to one standard atmosphere. The unit of measurement is Pa.

Dependencies

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

Data types: Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64

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

Details

The density of water vapour in the atmosphere, given as a positive real scalar. The unit of measurement is g/m3.

Dependencies

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

Data types: Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64

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

Details

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

The unit of measurement is g/m^3.

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

Dependencies

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

Data types: Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64

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

Details

Precipitation intensity given as a non-negative real scalar.

The unit of measurement is mm/h.

Dependencies

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

Data types: Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64

TwoWayPropagation — enable two-way propagation
false (by default) | true

Details

Set this property to true to perform two-way propagation between the signal transmitter and receiver. Otherwise, the system object performs one-way propagation from the transmitter to the receiver.

Data types: logical

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

Details

The sampling rate of the signal as a positive scalar.

The unit of measurement is Hz.

Data types: Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64

NumSubbands - number of sub-bands
68 (By default) | positive integer

Details

The number of sub-bands to be processed, specified as a positive integer.

Data types: Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64

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 this property to Auto, the system object automatically allocates memory.

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

Data types: Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64

MaximumDistance - maximum one-way propagation distance
10e3 (by default) | positive scalar

Details

The maximum distance in metres between the transmitter and receiver of a signal in the form of a positive real scalar.

The unit of measurement is m.

The amplitudes of any signals that propagate beyond this distance turn to zero.

Dependencies

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

Data types: Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64

MaximumNumInputSamplesSource - source of the maximum number of samples of the signal
Auto (By default) | Property

Details

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

  • If you set this property to Auto, the propagation model will automatically allocate enough memory to buffer the input signal.

  • If you set this property to Property, you must 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.

Dependencies

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

Data types: Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64

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

Details

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

  • If this property is set to Auto, the propagation model automatically allocates enough memory to buffer the input signal.

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

Dependencies

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

Data types: Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64

Arguments

Input

sig - narrowband signal
complex matrix M on N | complex array 1 on N

Details

A narrowband unpolarised signal given as a complex matrix M over N. The value M is the number of signal samples and N is the number of signals reflected from the target. Each column corresponds to an independent signal incident at a different reflection angle.

A narrowband polarised signal given as a 1 by N array of structures containing fields with complex values. Each struct element contains three N by 1 column vectors of electromagnetic field components (sig.X,sig.Y,sig.Z) representing the polarised signal reflected from the target.

For polarised fields, the struct element contains three N by 1 complex column vectors, sig.X, sig.Y and sig.Z. These vectors represent the Cartesian components x, y and z of the polarised signal.

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

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

Data types: Float64

Support for complex numbers: Yes

origin_pos - signal transmitter position
real vector-column 3 by 1 | real matrix 3 by N

Details

The signal position is given as a 3-by-1 real column vector or a 3-by-N real matrix. The value N is the number of source positions. Examples of source positions are coordinates of transmitters, array elements or subarrays.

The units of measurement of position coordinates are m.

  • If origin_pos is a column vector, it has a dimension of 3 by 1.

  • If origin_pos is a matrix, each column defines a different position of the signal source and has dimensionality 3 by N.

If origin_pos has more than one column, then dest_pos can have only one column. origin_pos and dest_pos cannot both be specified as matrices.

Data types: Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64

dest_pos - signal receiver position
real vector-column 3 by 1 | real matrix 3 by N

Details

The position of the signal receiver is given as a real vector-column 3 by 1 or a real matrix 3 by N. The value N is the number of receivers, for example, the positions of array or subarray elements.

The units of measurement of position coordinates are m.

  • 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 specifies a different position of the signal receiver and has the form [x;y;z].

origin_pos and dest_pos cannot both be specified as matrices.

Data types: Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64

origin_vel - signal transmitter speed
real vector-column 3 by 1 | real matrix 3 by N

Details

Transmitter velocity given as a real vector or matrix having the same dimensionality as origin_pos.

Data types: Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64

dest_vel - signal receiver speed
real vector-column 3 by 1 | real matrix 3 by N | real matrix N by 3

Details

The receiver rate of a signal, given as a real vector or matrix having the same dimensionality as dest_pos.

Data types: Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64

Output

prop_sig — propagated signal
complex vector-column M by 1 | complex matrix M by N

Details

The propagated signal returned as a complex vector-column M by 1 or a complex matrix M by N. prop_sig has the same dimensionality as the input port sig: M is the signal duration and N is the number of signals.

Data types: Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool

Support for complex numbers: Yes

Methods

Common for all system objects

step!

Starts the system object’s operating algorithm

release!

Permission to change the value of a system object property

reset!

Reset the internal states of the system object

Optional

*Factors of attenuation and loss.

The attenuation or loss of a signal in a wideband LOS channel consists of four components:

,

where

  • - is the signal attenuation when propagating in free space;

  • - signal attenuation in atmospheric propagation;

  • - signal attenuation for propagation due to fog and clouds;

  • - signal attenuation during propagation due to the presence of precipitation.

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

*Propagation delay, Doppler shift, and free-space loss.

When the signal source and receiver are stationary relative to each other, we can write the output of the free-space channel as τ , where τ is the signal delay and is the free-space propagation loss. The signal delay is calculated as τ , where is the propagation distance and is the propagation velocity. The free space path loss is defined by the expression

,

where is the wavelength of the signal.

This formula assumes that the target is in the far field of the transmitting element or array. In the near field, the free-space propagation path loss formula is invalid and can result in loss values less than unity, which is equivalent to signal amplification. For this reason, the loss is set to unity for the values of .

If there is relative motion between the source and receiver, the Doppler frequency shift is taken into account. The frequency shift is for one-way propagation and for two-way propagation. The value is the relative velocity of the receiver relative to the source.

*Model of Atmospheric Attenuation of Signals.

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

Electromagnetic signals are attenuated as they propagate through the atmosphere. This effect is mainly due to the resonant absorption lines of oxygen and water vapour, with a smaller contribution from nitrogen gas. The model also includes a continuous absorption spectrum below 10 GHz. The ITU (International Telecommunication Union) model given in [1] is used for the calculations. 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 1-1000 GHz and is applicable to polarised and unpolarised fields.

The formula for the specific attenuation at each frequency is as follows:

.

The value is the imaginary part of the complex refractive index of the atmosphere and consists of a spectral line component and a continuous component:

.

The spectral component consists of the sum of discrete spectral terms, which are the product of the localised frequency band function and the spectrum line intensity . For atmospheric oxygen, the line intensity of the spectrum is:

.

For atmospheric water vapour, the intensity of the spectrum line is:

,

where:

  • - dry air pressure;

  • - partial pressure of water vapour;

  • - ambient temperature.

The units of pressure are hectopascals (hPa) and 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 localised bandwidth functions are complex functions of frequency. These functions depend on the empirical parameters of the model.

The calculation of the total attenuation of a narrowband signal is done by multiplying the specific attenuation by the path length . Then the total attenuation is equal to:

.

This model of signal attenuation can be applied to broadband signals. To do this, first divide the broadband signal into frequency sub-bands, calculate the attenuation for each sub-band, and then sum all the attenuated sub-band signals into a total attenuated signal.

Model of signal attenuation in fog and clouds

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

Fog or clouds are the same atmospheric phenomenon. The ITU model given in [2] is used for the calculations. 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:

  • - density of liquid water in gm/m3;

  • - specific attenuation coefficient and depends on frequency.

The model of attenuation in clouds and fog is valid for frequencies 10-1000 GHz. The units of the specific attenuation coefficient are (dB/km)/(g/m3).

The total attenuation of a narrowband signal is calculated by multiplying the specific attenuation by the path length . Then the total attenuation is equal to:

.

This model of signal attenuation can be applied to broadband signals. To do this, first divide the broadband signal into frequency sub-bands, calculate the attenuation for each sub-band, and then sum all the attenuated sub-band signals into a total attenuated signal.

Signal attenuation model in the presence of precipitation

This model calculates the attenuation of signals propagating through areas of precipitation. Precipitation attenuation is the dominant attenuation mechanism and can vary from location to location and from year to year.

Electromagnetic signals are attenuated as they propagate through the precipitation region. The ITU model given in [3] is used for the calculations. The model calculates the specific attenuation (attenuation per kilometre) of a signal as a function of precipitation intensity, signal frequency, polarisation and elevation angle. The specific attenuation γ depends on the precipitation intensity according to a power law:

,

where:

  • - precipitation intensity. The units are mm/h;

  • parameters and degree parameter depend on frequency, polarisation state and signal path elevation angle.

This attenuation model is valid for frequencies 1-1000 GHz.

The calculation of the total attenuation of a narrowband signal is done by multiplying the specific attenuation by the effective propagation distance, . Then the total attenuation is equal to:

.

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

,

where is the frequency. A more detailed description of the attenuation calculation is given in [4].

The precipitation intensity , used in these calculations, is the long-term statistical precipitation intensity [5]. This is the precipitation intensity that is exceeded 0.01 % of the time.

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

Frequency sub-band processing

Sub-band processing divides a wideband signal into several sub-bands and applies narrowband processing to the signal in each sub-band. The signals from all sub-bands are summed to form the output signal.

In usage of wideband system objects or blocks, the number of sub-bands , into which the wideband signal is to be decomposed, is specified. The centre frequencies and sub-band widths are automatically calculated based on the total bandwidth and the number of sub-bands. The total bandwidth is centred on the carrier or operating frequency . The total bandwidth is determined by the sampling frequency . The sub-band frequency bandwidth is defined as . The centre frequencies of the sub-bands are defined as

- if is odd,

- if is odd.

Some system objects allow to get the centre frequencies of sub-bands as output data when the object is started. The returned sub-band frequencies are ordered according to the order of the discrete Fourier transform. Frequencies above the carrier are displayed first, then frequencies below the carrier.

See also

  1. "Radiocommunication Sector of the International Telecommunication Union. Recommendation ITU-R P.676-10: Attenuation by atmospheric gases." 2013.

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

  3. "Radiocommunication Sector of the International Telecommunication Union. Recommendation ITU-R P.838-3: Specific attenuation model for rain for use in prediction methods." 2005.

  4. "Seybold, J. Introduction to RF Propagation." New York: Wiley & Sons, 2005.

  5. "Skolnik, M. Introduction to Radar Systems, 3rd Ed." New York: McGraw-Hill, 2001.