INET Framework for OMNeT++/OMNEST
inet::physicallayer::PathLossBase Class Referenceabstract

#include <PathLossBase.h>

Inheritance diagram for inet::physicallayer::PathLossBase:
inet::physicallayer::IPathLoss inet::physicallayer::IPrintableObject inet::physicallayer::BreakpointPathLoss inet::physicallayer::FreeSpacePathLoss inet::physicallayer::SUIPathLoss inet::physicallayer::UWBIRStochasticPathLoss inet::physicallayer::LogNormalShadowing inet::physicallayer::NakagamiFading inet::physicallayer::RayleighFading inet::physicallayer::RicianFading inet::physicallayer::TwoRayGroundReflection

Public Member Functions

virtual double computePathLoss (mps propagationSpeed, Hz frequency, m distance) const override=0
 Returns the loss factor as a function of propagation speed, carrier frequency and distance. 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::IPathLoss
virtual m computeRange (mps propagationSpeed, Hz frequency, double loss) const =0
 Returns the range for the given loss factor. More...
 
- Public Member Functions inherited from inet::physicallayer::IPrintableObject
virtual ~IPrintableObject ()
 
virtual std::ostream & printToStream (std::ostream &stream, int level) const
 Prints this object to the provided output stream. More...
 
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
 

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
}
 

Member Function Documentation

virtual double inet::physicallayer::PathLossBase::computePathLoss ( mps  propagationSpeed,
Hz  frequency,
m  distance 
) const
overridepure virtual

Returns the loss factor as a function of propagation speed, carrier frequency and distance.

The value is in the range [0, 1] where 1 means no loss at all and 0 means all power is lost.

Implements inet::physicallayer::IPathLoss.

Implemented in inet::physicallayer::UWBIRStochasticPathLoss, inet::physicallayer::SUIPathLoss, inet::physicallayer::FreeSpacePathLoss, inet::physicallayer::RicianFading, inet::physicallayer::LogNormalShadowing, inet::physicallayer::NakagamiFading, inet::physicallayer::RayleighFading, and inet::physicallayer::BreakpointPathLoss.

Referenced by computePathLoss().

double inet::physicallayer::PathLossBase::computePathLoss ( const ITransmission transmission,
const IArrival arrival 
) const
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.

Implements inet::physicallayer::IPathLoss.

Reimplemented in inet::physicallayer::TwoRayGroundReflection.

26 {
27  auto radioMedium = transmission->getTransmitter()->getMedium();
28  auto narrowbandSignalAnalogModel = check_and_cast<const INarrowbandSignal *>(transmission->getAnalogModel());
29  mps propagationSpeed = radioMedium->getPropagation()->getPropagationSpeed();
30  Hz carrierFrequency = Hz(narrowbandSignalAnalogModel->getCarrierFrequency());
31  m distance = m(arrival->getStartPosition().distance(transmission->getStartPosition()));
32  return computePathLoss(propagationSpeed, carrierFrequency, distance);
33 }
pow< s,-1 > Hz
Definition: Units.h:766
virtual double computePathLoss(mps propagationSpeed, Hz frequency, m distance) const override=0
Returns the loss factor as a function of propagation speed, carrier frequency and distance...
compose< m, pow< s,-1 > > mps
Definition: Units.h:968
value< double, units::m > m
Definition: Units.h:1047

The documentation for this class was generated from the following files: