ns-3
ns3::UanPhyCalcSinr Class Reference

#include <uan-phy.h>

Inheritance diagram for ns3::UanPhyCalcSinr:
Collaboration diagram for ns3::UanPhyCalcSinr:

List of all members.

Public Member Functions

virtual double CalcSinrDb (Ptr< Packet > pkt, Time arrTime, double rxPowerDb, double ambNoiseDb, UanTxMode mode, UanPdp pdp, const UanTransducer::ArrivalList &arrivalList) const =0
virtual void Clear (void)
virtual void DoDispose (void)
double DbToKp (double db) const
 Converts dB re 1 uPa to kilopascals.
double KpToDb (double kp) const
 Converts kilopascals to dB re 1 uPa.

Static Public Member Functions

static TypeId GetTypeId (void)
 This method returns the TypeId associated to ns3::UanPhyCalcSinr.

Detailed Description

Class used for calculating SINR of packet in UanPhy. Can be set to any derived class using attributes of UanPhy to implement different models.


Member Function Documentation

virtual double ns3::UanPhyCalcSinr::CalcSinrDb ( Ptr< Packet pkt,
Time  arrTime,
double  rxPowerDb,
double  ambNoiseDb,
UanTxMode  mode,
UanPdp  pdp,
const UanTransducer::ArrivalList arrivalList 
) const [pure virtual]
Parameters:
pktPacket to calculate SINR for
arrTimeArrival time of pkt
rxPowerDbThe received signal strength of the packet in dB re 1 uPa
ambNoiseDbAmbient channel noise in dB re 1 uPa
modeTX Mode of pkt
pdpPower delay profile of pkt
arrivalListList of interfering arrivals given from Transducer.

Implemented in ns3::UanPhyCalcSinrFhFsk, ns3::UanPhyCalcSinrDefault, and ns3::UanPhyCalcSinrDual.

void ns3::UanPhyCalcSinr::Clear ( void  ) [virtual]

Clears all pointer references

Referenced by ns3::UanPhyGen::Clear(), and DoDispose().

double ns3::UanPhyCalcSinr::DbToKp ( double  db) const [inline]

Converts dB re 1 uPa to kilopascals.

Parameters:
dbdB value
Returns:
kilopascals

Referenced by ns3::UanPhyCalcSinrDual::CalcSinrDb(), ns3::UanPhyCalcSinrDefault::CalcSinrDb(), and ns3::UanPhyCalcSinrFhFsk::CalcSinrDb().

void ns3::UanPhyCalcSinr::DoDispose ( void  ) [virtual]

This method is called by Object::Dispose or by the object's destructor, whichever comes first.

Subclasses are expected to implement their real destruction code in an overriden version of this method and chain up to their parent's implementation once they are done. i.e., for simplicity, the destructor of every subclass should be empty and its content should be moved to the associated DoDispose method.

It is safe to call GetObject from within this method.

Reimplemented from ns3::Object.

References Clear().

This method returns the TypeId associated to ns3::UanPhyCalcSinr.

This object is accessible through the following paths with Config::Set and Config::Connect:

  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::UanNetDevice/Phy/$ns3::UanPhyDual/SinrModelPhy1
  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::UanNetDevice/Phy/$ns3::UanPhyDual/SinrModelPhy2
  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::UanPhy/$ns3::UanPhyDual/SinrModelPhy1
  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::UanPhy/$ns3::UanPhyDual/SinrModelPhy2
  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::UanPhyCalcSinr
  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::UanPhyDual/SinrModelPhy1
  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::UanPhyDual/SinrModelPhy2
  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::UanPhyGen/SinrModel
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::UanNetDevice/Phy/$ns3::UanPhyDual/SinrModelPhy1
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::UanNetDevice/Phy/$ns3::UanPhyDual/SinrModelPhy2
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::UanPhy/$ns3::UanPhyDual/SinrModelPhy1
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::UanPhy/$ns3::UanPhyDual/SinrModelPhy2
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::UanPhyCalcSinr
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::UanPhyDual/SinrModelPhy1
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::UanPhyDual/SinrModelPhy2
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::UanPhyGen/SinrModel
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Phy/$ns3::UanPhyDual/SinrModelPhy1
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Phy/$ns3::UanPhyDual/SinrModelPhy2

No Attributes defined for this type.
No TraceSources defined for this type.

Reimplemented from ns3::Object.

Reimplemented in ns3::UanPhyCalcSinrFhFsk, ns3::UanPhyCalcSinrDefault, and ns3::UanPhyCalcSinrDual.

References ns3::TypeId::SetParent().

double ns3::UanPhyCalcSinr::KpToDb ( double  kp) const [inline]

Converts kilopascals to dB re 1 uPa.

Parameters:
kpvalue in kilopascals
Returns:
dB re 1 uPa

Referenced by ns3::UanPhyCalcSinrDual::CalcSinrDb(), ns3::UanPhyCalcSinrDefault::CalcSinrDb(), and ns3::UanPhyCalcSinrFhFsk::CalcSinrDb().


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