# Wideband LOS Channel

Wideband line-of-sight propagation channel

**Libraries:**

Phased Array System Toolbox /
Environment and Target

## Description

The Wideband LOS Channel block propagates signals from one point in space to multiple points or from multiple points back to one point via line-of-sight (LOS) channels. The block models propagation time, free-space propagation loss, Doppler shift, and atmospheric as well as weather loss. The block assumes that the propagation speed is much greater than the object's speed in which case the stop-and-hop model is valid.

When propagating a signal in an LOS channel to an object and back, you can use a single block to compute a two-way LOS channel propagation delay or two blocks to a perform one-way propagation delays in each direction. Because the LOS channel propagation delay is not necessarily an integer multiple of the sampling interval, it may turn out that the total round trip delay in samples when you use a two-way propagation block differs from the delay in samples when you use two one-way propagation blocks. For this reason, it is recommended that, when possible, you use a single two-way propagation block.

## Ports

### Input

**X** — Radiated signal

complex-valued *M*-by-1 vector | complex-valued *M*-by-*N*
matrix

Radiated signal, specified as a complex-valued
*M*-by-1 vector or complex-valued
*M*-by-*N* matrix.
*M* is the length of the signal and
*N* is the number of array elements (or subarrays
when subarrays are supported).

**Dimensions of X**

Dimension | Signal |
---|---|

M-by-1 vector | The same signal is radiated from all array elements (or all subarrays when subarrays are supported). |

| Each column corresponds to the signal radiated by the corresponding array element (or corresponding subarrays when subarrays are supported). |

The size of the first dimension of the input matrix can vary to simulate a changing signal length. A size change can occur, for example, in the case of a pulse waveform with variable pulse repetition frequency.

**Data Types: **`double`

**Complex Number Support: **Yes

**Pos1** — Position of signal origin

3-by-1 real-valued column vector | 3-by-*N* real-valued matrix

Position of signal origin, specified as a real-valued 3-by-1 column vector or a
3-by-*N* real-valued matrix. The quantity
*N* is the number of source positions. Examples of
source positions include transmitters, array element positions or
subarray positions. Position units are in meters.

If **Pos1** is a column vector, it takes the form
`[x;y;z]`

. If **Pos1** is a matrix, each column specifies a different signal
origin and has the form `[x;y;z]`

.

If **Pos1** has more than one column, **Pos2** can have only one column. You cannot specify both **Pos1** and **Pos2** as matrices.

**Example: **`[1000;100;500]`

**Data Types: **`double`

**Pos2** — Signal destination

3-by-1 real-valued column vector | 3-by-*N* real-valued matrix

Position of signal destination, specified as a real-valued 3-by-1 column vector or a
3-by-*N* real-valued matrix. The quantity
*N* is the number of destinations such as array
element positions or subarray positions. Position units are in
meters.

If **Pos2** is a column vector, it takes the form
`[x;y;z]`

. If **Pos2** is a matrix, each column specifies a different signal
destination. Each row takes the form `[x;y;z]`

.
Position units are in meters.

If **Pos2** has more than one column, **Pos1** can have only one column. You cannot specify both **Pos2** and **Pos1** as matrices.

**Example: **`[1000;100;500]`

**Data Types: **`double`

**Vel1** — Source velocity

3-by-1 real-valued column vector | 3-by-*N* real-valued matrix | *N*-by-3 real-valued matrix

Source velocity, specified as a real-valued vector or matrix having
the same size as **Pos1**.

**Example: **`[20;20;50]`

**Data Types: **`double`

**Vel2** — Destination velocity

3-by-1 real-valued column vector | 3-by-*N* real-valued matrix | *N*-by-3 real-valued matrix

Destination velocity, specified as a real-valued vector or matrix
having the same size as **Pos2**.

**Example: **`[0;0;100]`

**Data Types: **`double`

### Output

**Port_1** — Propagated signal

complex-valued *M*-by-1 vector | complex-valued *M*-by-*N*
matrix

Propagated signal, returned as a complex-valued *M*-by-1 vector or
complex-valued *M*-by-*N* matrix.
**Port_1** has the same size as the input port **X**. *M* is the length of the signal and
*N* is the number of signals.

**Data Types: **`double`

## Parameters

**Propagation speed (m/s)** — Signal propagation speed

`physconst('LightSpeed')`

(default) | positive scalar

Signal propagation speed, specified as a real-valued positive scalar. The default
value of the speed of light is the value returned by
`physconst('LightSpeed')`

.

**Data Types: **`double`

**Signal carrier frequency (Hz)** — Signal carrier frequency

`3e8`

(default) | positive scalar

Signal carrier frequency, specified as a positive scalar. Units are in Hz.

**Data Types: **`double`

**Number of subbands** — Number of processing subbands

`64`

(default) | positive integer

Number of processing subbands, specified as a positive integer.

**Example: **`128`

**Specify atmospheric parameters** — Enable atmospheric attenuation model

off (default) | on

Select this check box to enable atmospheric attenuation modeling.

**Temperature (degrees Celsius)** — Ambient temperature

`15`

| real-valued scalar

Specify the ambient atmospheric temperature as a real-valued scalar. Units are degrees Celsius.

#### Dependencies

This parameter appears when you select the **Specify
atmospheric parameters** check box.

**Dry air pressure (Pa)** — Atmospheric dry air pressure

`101325`

| positive real-valued scalar

Specify the atmospheric dry air pressure as a positive real-valued scalar. Units are Pascals (Pa). The value 101325 for this property corresponds to one standard atmosphere.

#### Dependencies

This parameter appears when you select the **Specify
atmospheric parameters** check box.

**Water vapour density (g/m^3)** — Atmospheric water vapor density

`7.5`

| positive real-valued scalar

Specify the atmospheric water vapor density as a positive real-valued
scalar. Units are gm/m^{3}.

#### Dependencies

This parameter appears when you select the **Specify
atmospheric parameters** check box.

**Liquid water density (g/m^3)** — Liquid water density

`0`

| non-negative real-valued scalar

Specify the liquid water density of fog or clouds as a non-negative
real-valued scalar. Units are gm/m^{3}. Typical
values for liquid water density are 0.05 for medium fog and 0.5 for thick
fog.

#### Dependencies

This parameter appears when you select the **Specify
atmospheric parameters** check box.

**Rain rate (mm/hr)** — Rainfall rate

`0`

| non-negative real-valued scalar

Specify the rainfall rate as a non-negative real-valued scalar. Units are in mm/hour.

#### Dependencies

This parameter appears when you select the **Specify
atmospheric parameters** check box.

**Perform two-way propagation** — Enable two-way propagation

off (default) | on

Select this check box to perform round-trip propagation between the origin and destination. Otherwise the block performs one-way propagation from the origin to the destination.

**Inherit sample rate** — Inherit sample rate from upstream blocks

on (default) | off

Select this parameter to inherit the sample rate from upstream blocks. Otherwise,
specify the sample rate using the **Sample rate (Hz)**
parameter.

**Data Types: **`Boolean`

**Sample rate (Hz)** — Sampling rate of signal

`1e6`

(default) | positive real-valued scalar

Specify the signal sampling rate as a positive scalar. Units are in Hz.

#### Dependencies

To enable this parameter, clear the **Inherit sample rate** check
box.

**Data Types: **`double`

**Maximum one-way propagation distance (m)** — Maximum one-way propagation distance

`10e3`

(default) | positive real-valued scalar

Specify the maximum distance between the signal origin and the destination as a positive scalar. Units are in meters. Amplitudes of any signals that propagate beyond this distance will be set to zero.

**Simulate using** — Block simulation method

`Interpreted Execution`

(default) | `Code Generation`

Block simulation, specified as `Interpreted Execution`

or
`Code Generation`

. If you want your block to use the
MATLAB^{®} interpreter, choose `Interpreted Execution`

. If
you want your block to run as compiled code, choose ```
Code
Generation
```

. Compiled code requires time to compile but usually runs
faster.

Interpreted execution is useful when you are developing and tuning a model. The block
runs the underlying System object™ in MATLAB. You can change and execute your model quickly. When you are satisfied
with your results, you can then run the block using ```
Code
Generation
```

. Long simulations run faster with generated code than in
interpreted execution. You can run repeated executions without recompiling, but if you
change any block parameters, then the block automatically recompiles before
execution.

This table shows how the **Simulate using** parameter affects the
overall simulation behavior.

When the Simulink^{®} model is in `Accelerator`

mode, the block mode specified
using **Simulate using** overrides the simulation mode.

**Acceleration Modes**

Block Simulation | Simulation Behavior | ||

`Normal` | `Accelerator` | `Rapid Accelerator` | |

`Interpreted Execution` | The block executes using the MATLAB interpreter. | The block executes using the MATLAB interpreter. | Creates a standalone executable from the model. |

`Code Generation` | The block is compiled. | All blocks in the model are compiled. |

For more information, see Choosing a Simulation Mode (Simulink).

#### Programmatic Use

Block
Parameter:`SimulateUsing` |

Type:enum |

Values:```
Interpreted
Execution
``` , `Code Generation` |

Default:```
Interpreted
Execution
``` |

## More About

### Attenuation and Loss Factors

Attenuation or path loss in the Wideband LOS channel consists of four components.
*L =
L _{fsp}L_{g}L_{c}L_{r}*, where

*L*is the free-space path attenuation_{fsp}*L*is the atmospheric path attenuation_{g}*L*is the fog and cloud path attenuation_{c}*L*is the rain path attenuation_{r}

Each component is in magnitude units, not in dB.

### Propagation Delay, Doppler, and Free-Space Path Loss

When the origin and destination are stationary relative to each
other, you can write the output signal of a free-space channel as *Y(t)
= x(t-τ)/L _{fsp}*.
The quantity

*τ*is the signal delay and

*L*is the free-space path loss. The delay

_{fsp}*τ*is given by

*R/c*, where

*R*is the propagation distance and

*c*is the propagation speed. The free-space path loss is given by

$${L}_{fsp}=\frac{{(4\pi R)}^{2}}{{\lambda}^{2}},$$

where λ is the signal wavelength.

This formula assumes that the target is in the far field of
the transmitting element or array. In the near field, the free-space
path loss formula is not valid and can result in a loss smaller than
one, equivalent to a signal gain. Therefore, the loss is set to unity
for range values, *R ≤ λ/4π*.

When the origin and destination have relative motion, the processing
also introduces a Doppler frequency shift. The frequency shift is *v/λ* for
one-way propagation and *2v/λ* for two-way
propagation. The quantity *v* is the relative speed
of the destination with respect to the origin.

### Atmospheric Gas Attenuation Model

This model calculates the attenuation of signals that propagate through atmospheric gases.

Electromagnetic signals attenuate when they propagate through the atmosphere. This effect is
due primarily to the absorption resonance lines of oxygen and water vapor, with smaller
contributions coming from nitrogen gas. The model also includes a continuous absorption
spectrum below 10 GHz. The ITU model *Recommendation ITU-R P.676-10: Attenuation by
atmospheric gases* is used. The model computes the specific attenuation
(attenuation per kilometer) as a function of temperature, pressure, water vapor density, and
signal frequency. The atmospheric gas model is valid for frequencies from 1–1000 GHz and
applies to polarized and nonpolarized fields.

The formula for specific attenuation at each frequency is

$$\gamma ={\gamma}_{o}(f)+{\gamma}_{w}(f)=0.1820f{N}^{\u2033}(f).$$

The quantity *N"()* is the imaginary part of the complex
atmospheric refractivity and consists of a spectral line component and a continuous component:

$${N}^{\u2033}(f)={\displaystyle \sum _{i}{S}_{i}{F}_{i}+{{N}^{\u2033}}_{D}^{}(f)}$$

The spectral component consists of a sum of discrete spectrum terms
composed of a localized frequency bandwidth function,
*F(f)*_{i}, multiplied by a spectral line strength,
*S*_{i}. For atmospheric oxygen, each spectral line
strength is

$${S}_{i}={a}_{1}\times {10}^{-7}{\left(\frac{300}{T}\right)}^{3}\mathrm{exp}\left[{a}_{2}(1-\left(\frac{300}{T}\right)\right]P.$$

For atmospheric water vapor, each spectral line strength is

$${S}_{i}={b}_{1}\times {10}^{-1}{\left(\frac{300}{T}\right)}^{3.5}\mathrm{exp}\left[{b}_{2}(1-\left(\frac{300}{T}\right)\right]W.$$

*P* is the dry air pressure, *W* is the
water vapor partial pressure, and *T* is the ambient temperature. Pressure
units are in hectoPascals (hPa) and temperature is in degrees Kelvin. The water vapor
partial pressure, *W*, is related to the water vapor density, ρ, by

$$W=\frac{\rho T}{216.7}.$$

The total atmospheric pressure is *P* +
*W*.

For each oxygen line, *S _{i}* depends on two parameters,

*a*and

_{1}*a*. Similarly, each water vapor line depends on two parameters,

_{2}*b*and

_{1}*b*. The ITU documentation cited at the end of this section contains tabulations of these parameters as functions of frequency.

_{2}The localized frequency bandwidth functions *F _{i}(f)* are
complicated functions of frequency described in the ITU references
cited below. The functions depend on empirical model parameters that
are also tabulated in the reference.

To compute the total attenuation for narrowband signals along
a path, the function multiplies the specific attenuation by the path
length, *R*. Then, the total attenuation is *L _{g}=
R(γ_{o} + γ_{w})*.

You can apply the attenuation model to wideband signals. First, divide the wideband signal into frequency subbands, and apply attenuation to each subband. Then, sum all attenuated subband signals into the total attenuated signal.

### Fog and Cloud Attenuation Model

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

Fog and cloud attenuation are the same atmospheric phenomenon. The ITU model,
*Recommendation ITU-R P.840-6: Attenuation due to clouds and fog* is
used. The model computes the specific attenuation (attenuation per kilometer), of a signal
as a function of liquid water density, signal frequency, and temperature. The model applies
to polarized and nonpolarized fields. The formula for specific attenuation at each frequency is

$${\gamma}_{c}={K}_{l}\left(f\right)M,$$

where *M* is the liquid water density in
gm/m^{3}. The quantity
*K _{l}(f)* is the specific attenuation coefficient
and depends on frequency. The cloud and fog attenuation model is valid for frequencies
10–1000 GHz. Units for the specific attenuation coefficient are
(dB/km)/(g/m

^{3}).

To compute the total attenuation for narrowband signals along
a path, the function multiplies the specific attenuation by the path
length *R*. Total attenuation is *L _{c} =
Rγ_{c}*.

You can apply the attenuation model to wideband signals. First, divide the wideband signal into frequency subbands, and apply narrowband attenuation to each subband. Then, sum all attenuated subband signals into the total attenuated signal.

### Rainfall Attenuation Model

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

Electromagnetic signals are attenuated when propagating through a region of rainfall. Rainfall
attenuation is computed according to the ITU rainfall model *Recommendation
ITU-R P.838-3: Specific attenuation model for rain for use in prediction
methods*. The model computes the specific attenuation (attenuation
per kilometer) of a signal as a function of rainfall rate, signal frequency,
polarization, and path elevation angle. The specific attenuation,
*ɣ*_{R}, is modeled as a power law with
respect to rain rate

$${\gamma}_{R}=k{R}^{\alpha},$$

where *R* is rain rate. Units are in mm/hr. The
parameter *k* and exponent *α* depend on the
frequency, the polarization state, and the elevation angle of the signal path. The
specific attenuation model is valid for frequencies from 1–1000 GHz.

To compute the total attenuation for narrowband signals along a path, the function multiplies
the specific attenuation by the an effective propagation distance,
*d*_{eff}. Then, the total attenuation
is *L =
d*_{eff}*γ*_{R}.

The effective distance is the geometric distance, *d*, multiplied by
a scale factor

$$r=\frac{1}{0.477{d}^{0.633}{R}_{0.01}^{0.073\alpha}{f}^{0.123}-10.579\left(1-\mathrm{exp}\left(-0.024d\right)\right)}$$

where *f* 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* presents a complete discussion for computing
attenuation.

The rain rate, *R*, used in these computations is the long-term
statistical rain rate, *R*_{0.01}. This is the
rain rate that is exceeded 0.01% of the time. The calculation of the statistical
rain rate is discussed in *Recommendation ITU-R P.837-7 (06/2017):
Characteristics of precipitation for propagation modelling*. This
article also explains how to compute the attenuation for other percentages from the
0.01% value.

You can apply the attenuation model to wideband signals. First, divide the wideband signal into frequency subbands and apply attenuation to each subband. Then, sum all attenuated subband signals into the total attenuated signal.

### Subband Frequency Processing

Subband processing decomposes a wideband signal into multiple subbands and applies narrowband processing to the signal in each subband. The signals for all subbands are summed to form the output signal.

When using wideband frequency System objects or blocks, you specify the number of subbands,
*N*_{B}, in which to decompose the wideband signal.
Subband center frequencies and widths are automatically computed from the total bandwidth
and number of subbands. The total frequency band is centered on the carrier or operating
frequency, *f _{c}*. The overall bandwidth is given by
the sample rate,

*f*. Frequency subband widths are

_{s}*Δf = f*

_{s}/

*N*

_{B}. The center frequencies of the subbands are

$${f}_{m}=\{\begin{array}{c}{f}_{c}-\frac{{f}_{s}}{2}+\left(m-1\right)\Delta f\text{,}{N}_{B}\text{even}\\ {f}_{c}-\frac{\left({N}_{B}-1\right){f}_{s}}{2{N}_{B}}+\left(m-1\right)\Delta f\text{,}{N}_{B}\text{odd}\end{array},\text{}m=1,\dots ,{N}_{B}$$

Some System objects let you obtain the subband center frequencies as output when you run the object. The returned subband frequencies are ordered consistently with the ordering of the discrete Fourier transform. Frequencies above the carrier appear first, followed by frequencies below the carrier.

## Version History

**Introduced in R2016a**

## MATLAB Command

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.

Select a Web Site

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

You can also select a web site from the following list:

## How to Get Best Site Performance

Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.

### Americas

- América Latina (Español)
- Canada (English)
- United States (English)

### Europe

- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)

- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)