![]() |
User Manual, Developers Guide and API Documentation |
![]() |
#include <plmapping/PhyModeMapper.hpp>


Public Types | |
| typedef wns::SmartPtr< PhyMode > | PhyModePtr |
| indexed list of all usable PhyModes, in order of quality | |
| typedef std::vector< PhyModePtr > | PhyModeVector |
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::MI2PERMappingInterface * | mi2perMapper |
| 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::SNR2MIInterface * | SNR2MImapper |
| unsigned int | subCarriersPerSubChannel |
| simTimeType | symbolDuration |
Definition at line 54 of file PhyModeMapper.hpp.
Definition at line 59 of file PhyModeMapper.hpp.
typedef wns::container::RangeMap<double, unsigned int> rise::plmapping::PhyModeMapper::PhyModeRangeMap [private] |
Definition at line 72 of file PhyModeMapper.hpp.
typedef wns::container::Registry< PhyMode, wns::service::phy::phymode::SINRRange > rise::plmapping::PhyModeMapper::PhyModeSINRRangeRegistry [private] |
(opposite of PhyModeRangeMap)
Definition at line 79 of file PhyModeMapper.hpp.
| typedef std::vector< PhyModePtr > rise::plmapping::PhyModeMapper::PhyModeVector |
Definition at line 60 of file PhyModeMapper.hpp.
| 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.
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] |
Implements wns::service::phy::phymode::PhyModeMapperInterface.
Definition at line 90 of file PhyModeMapper.cpp.
Definition at line 111 of file PhyModeMapper.cpp.
| const wns::service::phy::phymode::PhyModeInterfacePtr PhyModeMapper::getHighestPhyMode | ( | ) | const [virtual] |
Implements wns::service::phy::phymode::PhyModeMapperInterface.
Definition at line 146 of file PhyModeMapper.cpp.
| int PhyModeMapper::getIndexForPhyMode | ( | const wns::service::phy::phymode::PhyModeInterface & | phyMode | ) | const [virtual] |
Implements wns::service::phy::phymode::PhyModeMapperInterface.
Definition at line 187 of file PhyModeMapper.cpp.
| const std::vector< wns::service::phy::phymode::PhyModeInterfacePtr > PhyModeMapper::getListOfPhyModePtr | ( | ) | const [virtual] |
Implements wns::service::phy::phymode::PhyModeMapperInterface.
Definition at line 170 of file PhyModeMapper.cpp.
| PhyModeMapper::PhyModeVector PhyModeMapper::getListOfPhyModes | ( | ) | const [virtual] |
Definition at line 164 of file PhyModeMapper.cpp.
| const wns::service::phy::phymode::PhyModeInterfacePtr PhyModeMapper::getLowestPhyMode | ( | ) | const [virtual] |
Implements wns::service::phy::phymode::PhyModeMapperInterface.
Definition at line 152 of file PhyModeMapper.cpp.
| virtual double rise::plmapping::PhyModeMapper::getMinimumSINR | ( | ) | const [inline, virtual] |
Implements wns::service::phy::phymode::PhyModeMapperInterface.
Definition at line 152 of file PhyModeMapper.hpp.
| 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] |
Implements wns::service::phy::phymode::PhyModeMapperInterface.
Definition at line 117 of file PhyModeMapper.cpp.
| int PhyModeMapper::getPhyModeCount | ( | ) | const [virtual] |
Implements wns::service::phy::phymode::PhyModeMapperInterface.
Definition at line 158 of file PhyModeMapper.cpp.
| wns::service::phy::phymode::PhyModeInterfacePtr PhyModeMapper::getPhyModeForIndex | ( | int | index | ) | const [virtual] |
Implements wns::service::phy::phymode::PhyModeMapperInterface.
Definition at line 180 of file PhyModeMapper.cpp.
| wns::service::phy::phymode::SINRRange PhyModeMapper::getSINRRange | ( | const wns::service::phy::phymode::PhyModeInterfacePtr | phyMode | ) | const [virtual] |
Implements wns::service::phy::phymode::PhyModeMapperInterface.
Definition at line 138 of file PhyModeMapper.cpp.
| 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] |
Implements wns::service::phy::phymode::PhyModeMapperInterface.
Definition at line 156 of file PhyModeMapper.hpp.
| virtual bool rise::plmapping::PhyModeMapper::sinrIsAboveLimit | ( | double | sinr | ) | const [inline, virtual] |
Definition at line 155 of file PhyModeMapper.hpp.
Definition at line 88 of file PhyModeMapper.hpp.
wns::service::phy::phymode::MI2PERMappingInterface* rise::plmapping::PhyModeMapper::mi2perMapper [private] |
Definition at line 85 of file PhyModeMapper.hpp.
Definition at line 66 of file PhyModeMapper.hpp.
unsigned int rise::plmapping::PhyModeMapper::phyModeCount [private] |
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.
unsigned int rise::plmapping::PhyModeMapper::subCarriersPerSubChannel [private] |
Definition at line 63 of file PhyModeMapper.hpp.
Definition at line 64 of file PhyModeMapper.hpp.
1.5.5