INET Framework for OMNeT++/OMNEST
|
This class implements the two ray ground radio path loss model. More...
#include <TwoRayGroundReflection.h>
Public Member Functions | |
virtual std::ostream & | printToStream (std::ostream &stream, int level) const override |
Prints this object to the provided output stream. More... | |
virtual double | computePathLoss (const ITransmission *transmission, const IArrival *arrival) const override |
Returns the loss factor for the provided transmission and arrival. More... | |
Public Member Functions inherited from inet::physicallayer::FreeSpacePathLoss | |
FreeSpacePathLoss () | |
virtual double | computePathLoss (mps propagationSpeed, Hz frequency, m distance) const override |
Returns the loss factor as a function of propagation speed, carrier frequency and distance. More... | |
virtual m | computeRange (mps propagationSpeed, Hz frequency, double loss) const override |
Returns the range for the given loss factor. More... | |
Public Member Functions inherited from inet::physicallayer::IPrintableObject | |
virtual | ~IPrintableObject () |
virtual std::string | getInfoStringRepresentation () const |
virtual std::string | getDetailStringRepresentation () const |
virtual std::string | getDebugStringRepresentation () const |
virtual std::string | getTraceStringRepresentation () const |
virtual std::string | getCompleteStringRepresentation () const |
Protected Member Functions | |
virtual void | initialize (int stage) override |
Protected Member Functions inherited from inet::physicallayer::FreeSpacePathLoss | |
virtual double | computeFreeSpacePathLoss (m waveLength, m distance, double alpha, double systemLoss) const |
Protected Attributes | |
const IPhysicalEnvironment * | physicalEnvironment = nullptr |
Protected Attributes inherited from inet::physicallayer::FreeSpacePathLoss | |
double | alpha |
double | systemLoss |
Additional Inherited Members | |
Public Types inherited from inet::physicallayer::IPrintableObject | |
enum | PrintLevel { PRINT_LEVEL_TRACE, PRINT_LEVEL_DEBUG, PRINT_LEVEL_DETAIL, PRINT_LEVEL_INFO, PRINT_LEVEL_COMPLETE = INT_MIN } |
This class implements the two ray ground radio path loss model.
|
overridevirtual |
Returns the loss factor for the provided transmission and arrival.
The value is in the range [0, 1] where 1 means no loss at all and 0 means all power is lost.
At the cross over distance two ray model and free space model predict the same power
4 * pi * hr * ht
crossOverDistance = ------------—— waveLength
Two-ray ground reflection model.
(ht ^ 2 * hr ^ 2)
loss = ------------— d ^ 4 * L
To be consistent with the free space equation, L is added here. The original equation in Rappaport's book assumes L = 1.
Reimplemented from inet::physicallayer::PathLossBase.
|
overrideprotectedvirtual |
Reimplemented from inet::physicallayer::FreeSpacePathLoss.
|
overridevirtual |
Prints this object to the provided output stream.
Function calls to operator<< with pointers or references either const or not are all forwarded to this function.
Reimplemented from inet::physicallayer::FreeSpacePathLoss.
|
protected |
Referenced by computePathLoss(), and initialize().