yass.radio
Class FriisPathLossModel

java.lang.Object
  extended by yass.radio.FriisPathLossModel
All Implemented Interfaces:
PathLossModel

public class FriisPathLossModel
extends java.lang.Object
implements PathLossModel

Implements the free space path loss model using a simplified version of the Friis Transmission Equation. This class does not attempt to implement the full version of the Friis Transmisson Equation and hence takes no account of alignment, polarisation, conjugate matching etc - another class will be required if this more detailed version is required. See http://en.wikipedia.org/wiki/Friis_transmission_equation for further information on the Friis model.


Field Summary
protected  double exponent
          The exponent of the Friis Transmission Equation
protected  java.util.Collection<Void> voids
          The voids which may attenuate transmissions in the wireless medium
 
Constructor Summary
FriisPathLossModel()
          Constructs a new instance of FriisPathLossModel using an exponent of 2.0 in the Friis Transmission Equation.
FriisPathLossModel(double exponent, java.util.Collection<Void> voids)
          Constructs a new instance of FriisPathLossModel using a user-supplied exponent in the Friis Transmission Equation.
 
Method Summary
 double receivedPowerRatio(Node source, Node destination, double frequency)
          Calculates the proportion of transmitted power observed by the receiver, as the fraction Pr/Pt where Pr is received power and Pt is transmitted power.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

exponent

protected double exponent
The exponent of the Friis Transmission Equation


voids

protected java.util.Collection<Void> voids
The voids which may attenuate transmissions in the wireless medium

Constructor Detail

FriisPathLossModel

public FriisPathLossModel()
Constructs a new instance of FriisPathLossModel using an exponent of 2.0 in the Friis Transmission Equation. This is the simplest form of the equation, modelling unobstructed single-path transmission in a vacuum, and every condition 'perfect'.


FriisPathLossModel

public FriisPathLossModel(double exponent,
                          java.util.Collection<Void> voids)
Constructs a new instance of FriisPathLossModel using a user-supplied exponent in the Friis Transmission Equation. This exponent is found experimentally, and is usually found in the interval [3,5]. This is a simple form of the equation, modelling unobstructed multi-path transmission perhaps without line-of-sight, but most other conditions 'perfect'.

Parameters:
exponent - the exponent for the Friis Transmission Equation
voids - the voids which may attenuate transmissions in the wireless medium
Method Detail

receivedPowerRatio

public double receivedPowerRatio(Node source,
                                 Node destination,
                                 double frequency)
                          throws PathLossException
Calculates the proportion of transmitted power observed by the receiver, as the fraction Pr/Pt where Pr is received power and Pt is transmitted power. The fraction Pr/Pt is found in the interval [0,1] where 0 represents total signal attenutation and 1 represents zero signal attenuation.

Specified by:
receivedPowerRatio in interface PathLossModel
Parameters:
source - the source node
destination - the destination node
frequency - the transmission frequency
Returns:
the proportion of transmitted power observed at the receiver
Throws:
PathLossException - if the received power ratio cannot be found