Free-Space Path Loss with Log-Normal Shadowing
A free-space path loss model with log-normal shadowing.
obj/path_loss/path_loss_free_space_log_normal_shadowing.m
Superclass: Path Loss
On This Page
- About
- Creating a Free-Space Path Loss with Log-Normal Shadowing Object
- Key Properties
- Setting the Log-Normal Shadowing Variance
- Example Setup
- Getting the Attenuation
- List of Properties
- List of Methods
- Methods Documentation
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:
- the carrier wavelength
- the distance
- 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_variancepath_loss_free_space_log_normal_shadowing.path_loss_exponentpath_loss_free_space_log_normal_shadowing.namepath_loss_free_space_log_normal_shadowing.typepath_loss_free_space_log_normal_shadowing.distancepath_loss_free_space_log_normal_shadowing.attenuationpath_loss_free_space_log_normal_shadowing.carrier_frequencypath_loss_free_space_log_normal_shadowing.carrier_wavelengthpath_loss_free_space_log_normal_shadowing.propagation_velocity
List of Methods
The path_loss_free_space_log_normal_shadowing object contains the following methods:
path_loss_free_space_log_normal_shadowing.compute_path_loss_attenuationComputes the path attenuation (path loss) according to the free-space path loss (FSPL) formula.path_loss_free_space_log_normal_shadowing.createCreates a path loss object of a specific type.path_loss_free_space_log_normal_shadowing.get_attenuationReturns the realized attenuation of the path loss model.path_loss_free_space_log_normal_shadowing.initializeInitializes a path loss object.path_loss_free_space_log_normal_shadowing.initialize_free_spaceInitializes a free-space path loss object.path_loss_free_space_log_normal_shadowing.initialize_free_space_log_normal_shadowingInitializes a free-space path loss with log-normal shadowing object.path_loss_free_space_log_normal_shadowing.path_loss_free_space_log_normal_shadowingCreates a free-space path loss with log-normal shadowing object.path_loss_free_space_log_normal_shadowing.realizationInvokes a realization of the path loss.path_loss_free_space_log_normal_shadowing.realization_log_normal_shadowingRealizes log-normal shadowing based on the current log-normal shadowing variance.path_loss_free_space_log_normal_shadowing.set_carrier_frequencySets the carrier frequency of the channel. Also updates the carrier wavelength accordingly.path_loss_free_space_log_normal_shadowing.set_distanceSets the distance of the path (in meters).path_loss_free_space_log_normal_shadowing.set_log_normal_shadowing_varianceSets the log-normal shadowing variance.path_loss_free_space_log_normal_shadowing.set_nameSets the name of the path loss model.path_loss_free_space_log_normal_shadowing.set_path_loss_attenuationSets the attenuation of the path loss model.path_loss_free_space_log_normal_shadowing.set_path_loss_exponentSets the path loss exponent.path_loss_free_space_log_normal_shadowing.set_propagation_velocitySets the propagation velocity of the channel. Also updates the carrier wavelength accordingly.path_loss_free_space_log_normal_shadowing.set_typeSets the type of path loss model.
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.
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
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
initialize()
Initializes a path loss object.
- Usage:
initialize()
initialize_free_space()
Initializes a free-space path loss object.
- Usage:
initialize_free_space()
initialize_free_space_log_normal_shadowing()
Initializes a free-space path loss with log-normal shadowing object.
- Usage:
initialize_free_space_log_normal_shadowing()
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
realization()
Invokes a realization of the path loss.
- Usage:
atten = realization()- Return Values:
val— the realized path loss attenuation with shadowing
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
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.
set_distance(d)
Sets the distance of the path (in meters).
- Usage:
set_distance(d) Sets the distance of the link to a specificvalue.- Input Arguments:
d— distance of the path (in meters)
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)
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
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
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)
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)
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