User Manual, Developers Guide and API Documentation

rise::plmapping::PhyModeMapper Class Reference

Helper class to find the best PHYmode depending on SINR. More...

#include <plmapping/PhyModeMapper.hpp>

Inheritance diagram for rise::plmapping::PhyModeMapper:

Inheritance graph
[legend]
Collaboration diagram for rise::plmapping::PhyModeMapper:

Collaboration graph
[legend]

List of all members.

Public Types

typedef wns::SmartPtr< PhyModePhyModePtr
 indexed list of all usable PhyModes, in order of quality
typedef std::vector< PhyModePtrPhyModeVector

Public Member Functions

virtual void calculateSINRRanges (double targetPER, unsigned int bl)
 Determine suitable SINR ranges.
virtual
wns::service::phy::phymode::PhyModeInterfacePtr 
getBestPhyMode (double sinr) const
 find best PhyMode for a given SINR
virtual
wns::service::phy::phymode::PhyModeInterfacePtr 
getBestPhyMode (const wns::Ratio &sinr) const
 find best PhyMode for a given SINR
int getBestPhyModeIndex (double sinr) const
 find best PhyModeIndex for a given SINR (faster than above)
virtual const
wns::service::phy::phymode::PhyModeInterfacePtr 
getHighestPhyMode () const
 best PhyMode of all available (most bits/symbol)
virtual int getIndexForPhyMode (const wns::service::phy::phymode::PhyModeInterface &phyMode) const
 get index for PhyMode in the mapper list. O(n)
virtual const std::vector
< wns::service::phy::phymode::PhyModeInterfacePtr
getListOfPhyModePtr () const
 list (copy) of all available PhyModes
virtual PhyModeVector getListOfPhyModes () const
 list (reference) of all available PhyModes
virtual const
wns::service::phy::phymode::PhyModeInterfacePtr 
getLowestPhyMode () const
 worst PhyMode of all available (least bits/symbol)
virtual double getMinimumSINR () const
 below this minimumSINR [dB] there is no useful transmission (PER too high)
virtual double getMinSINR (const wns::service::phy::phymode::PhyModeInterfacePtr phyMode) const
 find required (minimum) SINR for a certain PhyMode
virtual wns::Ratio getMinSINRRatio (const wns::service::phy::phymode::PhyModeInterfacePtr phyMode) const
 find required (minimum) SINR for a certain PhyMode
virtual int getPhyModeCount () const
 get number of available PhyModes
virtual
wns::service::phy::phymode::PhyModeInterfacePtr 
getPhyModeForIndex (int index) const
 get PhyMode at index position. O(1)
virtual
wns::service::phy::phymode::SINRRange 
getSINRRange (const wns::service::phy::phymode::PhyModeInterfacePtr phyMode) const
 find possible SINR range for a certain PhyMode
 PhyModeMapper (const wns::pyconfig::View &config)
std::string printPhyModeNames () const
 return a line containing all PhyMode names in Matlab-suitable format
std::string printSwitchingPoints () const
 return a line containing all switching points in Matlab-suitable format [ 0.9 2.1 3.8 7.7 9.8 12.6 15.0 18.2 23.0 ]
virtual bool sinrIsAboveLimit (const wns::Ratio &sinr) const
 tells if a successful transmission is possible, i.e. we have more than the minimum required SINR
virtual bool sinrIsAboveLimit (double sinr) const
 tells if a useful transmission is possible
virtual ~PhyModeMapper ()

Protected Member Functions

virtual void setMinimumSINR (double sinr)
 set minimum SINR required for lowest PhyMode

Private Types

typedef
wns::container::RangeMap
< double, unsigned int
PhyModeRangeMap
 map SINR values (double dB) to phymodeIndex
typedef
wns::container::Registry
< PhyMode,
wns::service::phy::phymode::SINRRange
PhyModeSINRRangeRegistry
 maps from the PhyMode to the suitable SINRRange

Private Attributes

wns::logger::Logger logger
 the Logger
wns::service::phy::phymode::MI2PERMappingInterfacemi2perMapper
 required global mappers to support calculateSINRRanges()
double minimumSINR
unsigned int phyModeCount
PhyModeRangeMap phyModeRangeMap
 map SINR range/interval (double dB) to PHYMode
PhyModeSINRRangeRegistry phyModeSINRRangeRegistry
 maps from the PhyMode to the suitable SINRRange
PhyModeVector phyModeVector
 indexed list of all usable PhyModes, in order of quality
wns::service::phy::phymode::SNR2MIInterfaceSNR2MImapper
unsigned int subCarriersPerSubChannel
simTimeType symbolDuration


Detailed Description

See also:
used in RegistryProxyWINPROST for ResourceScheduler rise::plmapping::PhyModeMapper
Author:
Rainer Schoenen (rs@comnets.rwth-aachen.de)

Definition at line 54 of file PhyModeMapper.hpp.


Member Typedef Documentation

Definition at line 59 of file PhyModeMapper.hpp.

Definition at line 72 of file PhyModeMapper.hpp.

(opposite of PhyModeRangeMap)

Definition at line 79 of file PhyModeMapper.hpp.

Definition at line 60 of file PhyModeMapper.hpp.


Constructor & Destructor Documentation

PhyModeMapper::PhyModeMapper ( const wns::pyconfig::View config  ) 

Definition at line 52 of file PhyModeMapper.cpp.

virtual rise::plmapping::PhyModeMapper::~PhyModeMapper (  )  [inline, virtual]

Definition at line 94 of file PhyModeMapper.hpp.


Member Function Documentation

void PhyModeMapper::calculateSINRRanges ( double  targetPER,
unsigned int  bl 
) [virtual]

Depends on maximum tolerated PER and assumed blockLength a small blockLength results in conservative, more reliable ranges.

Definition at line 204 of file PhyModeMapper.cpp.

wns::service::phy::phymode::PhyModeInterfacePtr PhyModeMapper::getBestPhyMode ( double  sinr  )  const [virtual]

Definition at line 96 of file PhyModeMapper.cpp.

wns::service::phy::phymode::PhyModeInterfacePtr PhyModeMapper::getBestPhyMode ( const wns::Ratio sinr  )  const [virtual]

int PhyModeMapper::getBestPhyModeIndex ( double  sinr  )  const

Definition at line 111 of file PhyModeMapper.cpp.

const wns::service::phy::phymode::PhyModeInterfacePtr PhyModeMapper::getHighestPhyMode (  )  const [virtual]

int PhyModeMapper::getIndexForPhyMode ( const wns::service::phy::phymode::PhyModeInterface phyMode  )  const [virtual]

const std::vector< wns::service::phy::phymode::PhyModeInterfacePtr > PhyModeMapper::getListOfPhyModePtr (  )  const [virtual]

PhyModeMapper::PhyModeVector PhyModeMapper::getListOfPhyModes (  )  const [virtual]

Definition at line 164 of file PhyModeMapper.cpp.

const wns::service::phy::phymode::PhyModeInterfacePtr PhyModeMapper::getLowestPhyMode (  )  const [virtual]

virtual double rise::plmapping::PhyModeMapper::getMinimumSINR (  )  const [inline, virtual]

double PhyModeMapper::getMinSINR ( const wns::service::phy::phymode::PhyModeInterfacePtr  phyMode  )  const [virtual]

find required (minimum) SINR [dB] for a certain PhyMode

Implements wns::service::phy::phymode::PhyModeMapperInterface.

Definition at line 127 of file PhyModeMapper.cpp.

wns::Ratio PhyModeMapper::getMinSINRRatio ( const wns::service::phy::phymode::PhyModeInterfacePtr  phyMode  )  const [virtual]

int PhyModeMapper::getPhyModeCount (  )  const [virtual]

wns::service::phy::phymode::PhyModeInterfacePtr PhyModeMapper::getPhyModeForIndex ( int  index  )  const [virtual]

wns::service::phy::phymode::SINRRange PhyModeMapper::getSINRRange ( const wns::service::phy::phymode::PhyModeInterfacePtr  phyMode  )  const [virtual]

std::string PhyModeMapper::printPhyModeNames (  )  const

Definition at line 263 of file PhyModeMapper.cpp.

std::string PhyModeMapper::printSwitchingPoints (  )  const

Definition at line 248 of file PhyModeMapper.cpp.

virtual void rise::plmapping::PhyModeMapper::setMinimumSINR ( double  sinr  )  [inline, protected, virtual]

Definition at line 180 of file PhyModeMapper.hpp.

virtual bool rise::plmapping::PhyModeMapper::sinrIsAboveLimit ( const wns::Ratio sinr  )  const [inline, virtual]

virtual bool rise::plmapping::PhyModeMapper::sinrIsAboveLimit ( double  sinr  )  const [inline, virtual]

Definition at line 155 of file PhyModeMapper.hpp.


Member Data Documentation

Definition at line 88 of file PhyModeMapper.hpp.

Definition at line 85 of file PhyModeMapper.hpp.

Definition at line 66 of file PhyModeMapper.hpp.

Definition at line 65 of file PhyModeMapper.hpp.

Definition at line 75 of file PhyModeMapper.hpp.

Definition at line 82 of file PhyModeMapper.hpp.

Definition at line 69 of file PhyModeMapper.hpp.

Definition at line 86 of file PhyModeMapper.hpp.

Definition at line 63 of file PhyModeMapper.hpp.

Definition at line 64 of file PhyModeMapper.hpp.


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

Generated on Sat May 26 03:32:38 2012 for openWNS by  doxygen 1.5.5