Superclass:  Path Loss   

On This Page

About

The path_loss_free_space_log_normal_shadowing object represents a free-space path loss model with log-normal shadowing. It is a subclass of the path_loss_free_space object (and thus of the path_loss object), supplying the deterministic loss of a free-space path loss model with a random shadowing term.

Recall that deterministic free-space path loss can be described entirely by three parameters:

  1. the carrier wavelength
  2. the distance
  3. the path loss exponent

The path loss (or attenuation) stemming from a free-space path loss with log-normal shadowing can be described as

where is the path gain and is the path loss; and is the shadowing parameter.

Typically, except in rare settings with significant clutter. Most often, .

In log-normal shadowing, realizations of the random variable are distributed as

where is the variance of log-normal shadowing.

Creating a Free-Space Path Loss with Log-Normal Shadowing Object

A free-space path loss with log-normal shadowing object path_loss_free_space_log_normal_shadowing can be created via

p = path_loss.create('free-space-log-normal-shadowing')

Key Properties

The path_loss_free_space_log_normal_shadowing object inherits all properties of the path_loss_free_space object, the key ones being

p.attenuation
p.carrier_frequency
p.carrier_wavelength
p.propagation_velocity
p.distance
p.path_loss_exponent

In addition, it also has the property

p.log_normal_shadowing_variance

which captures the log-normal shadowing variance (i.e., ).

Setting the Log-Normal Shadowing Variance

To set the variance of log-normal shadowing of a free space path loss with log-normal shadowing object p, use

p.set_log_normal_shadowing_variance(var)

where var is the variance of log-normal shadowing (a non-negative number).

Example Setup

A typical path_loss_free_space_log_normal_shadowing object setup looks something similar to

p = path_loss.create()
p.set_carrier_frequency(fc)
p.set_propagation_velocity(vel)
p.set_distance(d)
p.set_path_loss_exponent(ple)
p.set_log_normal_shadowing_variance(var)

Invoking a Realization

To realize the path loss, use

atten = p.realization()

which, when appropriately setup, will return the attenuation atten for the given carrier wavelength, distance, path loss exponent, and log-normal shadowing variance.

Note that atten is related to the large-scale gain by simply atten .

Getting the Attenuation

To get the realized attenuation of a path_loss_free_space_log_normal_shadowing object p, one can also use

atten = p.get_attenuation()

where atten is the attenuation of the path loss (power loss, linear scale).

List of Properties

The path_loss_free_space_log_normal_shadowing object contains the following properties:

  • path_loss_free_space_log_normal_shadowing.log_normal_shadowing_variance
  • path_loss_free_space_log_normal_shadowing.path_loss_exponent
  • path_loss_free_space_log_normal_shadowing.name
  • path_loss_free_space_log_normal_shadowing.type
  • path_loss_free_space_log_normal_shadowing.distance
  • path_loss_free_space_log_normal_shadowing.attenuation
  • path_loss_free_space_log_normal_shadowing.carrier_frequency
  • path_loss_free_space_log_normal_shadowing.carrier_wavelength
  • path_loss_free_space_log_normal_shadowing.propagation_velocity

List of Methods

The path_loss_free_space_log_normal_shadowing object contains the following methods:

Methods Documentation

compute_path_loss_attenuation()

Computes the path attenuation (path loss) according to the free-space path loss (FSPL) formula.

Usage:
atten = compute_path_loss_attenuation()
Return Values:
atten — the path attenuation (path loss) (a power loss)
Notes:
The free-space path loss (FSPL) equation used is G = (lambda / (4*pi))^2 * (1/d)^ple, where G is the inverse path loss in terms of power.

Back to methods

create(type)

Creates a path loss object of a specific type.

Usage:
obj = path_loss.create()
obj = path_loss.create(type)
Input Arguments:
type — (optional) a string specifying which path loss model to create
Return Values:
obj — a path loss object

Back to methods

get_attenuation()

Returns the realized attenuation of the path loss model.

Usage:
val = get_attenuation()
Return Values:
val — the attenuation (power loss) of the path

Back to methods

initialize()

Initializes a path loss object.

Usage:
initialize()

Back to methods

initialize_free_space()

Initializes a free-space path loss object.

Usage:
initialize_free_space()

Back to methods

initialize_free_space_log_normal_shadowing()

Initializes a free-space path loss with log-normal shadowing object.

Usage:
initialize_free_space_log_normal_shadowing()

Back to methods

path_loss_free_space_log_normal_shadowing(name)

Creates a free-space path loss with log-normal shadowing object.

Usage:
obj = path_loss_free_space_log_normal_shadowing()
obj = path_loss_free_space_log_normal_shadowing(name)
Input Arguments:
name — an optional name for the object
Return Values:
obj — an object representing free-space path loss

Back to methods

realization()

Invokes a realization of the path loss.

Usage:
atten = realization()
Return Values:
val — the realized path loss attenuation with shadowing

Back to methods

realization_log_normal_shadowing()

Realizes log-normal shadowing based on the current log-normal shadowing variance.

Usage:
val = realization_log_normal_shadowing()
Return Values:
val — the realized shadowing factor

Back to methods

set_carrier_frequency(fc)

Sets the carrier frequency of the channel. Also updates the carrier wavelength accordingly.

Usage:
set_carrier_frequency(fc)
Input Arguments:
fc — carrier frequency (Hz)
Notes:
Also updates carrier wavelength.

Back to methods

set_distance(d)

Sets the distance of the path (in meters).

Usage:
set_distance(d) Sets the distance of the link to a specific
value.
Input Arguments:
d — distance of the path (in meters)

Back to methods

set_log_normal_shadowing_variance(var)

Sets the log-normal shadowing variance.

Usage:
set_log_normal_shadowing_variance(var)
Input Arguments:
var — log-normal shadowing variance (a quantity in dB)

Back to methods

set_name(name)

Sets the name of the path loss model.

Usage:
set_name()
set_name(name)
Input Arguments:
name — (optional) a string; if not passed, ‘path-loss’ is the default name used

Back to methods

set_path_loss_attenuation(atten)

Sets the attenuation of the path loss model.

Usage:
set_path_loss_attenuation(atten)
Input Arguments:
atten — the attenuation (power loss) of the path

Back to methods

set_path_loss_exponent(ple)

Sets the path loss exponent.

Usage:
set_path_loss_exponent(ple)
Input Arguments:
ple — path loss exponent (a positive number)

Back to methods

set_propagation_velocity(val)

Sets the propagation velocity of the channel. Also updates the carrier wavelength accordingly.

Usage:
set_propagation_velocity(val)
Input Arguments:
val — propagation velocity (meters/sec)

Back to methods

set_type(type)

Sets the type of path loss model.

Usage:
set_type()
set_type(type)
Input Arguments:
type — (optional) a string; if not passed, ‘default’ is the default type used

Back to methods