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


Public Member Functions | |
| virtual bool | dataRateIsValid () const |
| this PhyMode can offer a data Rate | |
| virtual std::string | doToString () const |
| synonymous access method for the modulation&coding (string) | |
| virtual unsigned int | getBitCapacity (simTimeType duration) const |
| calculate capacity[bits] of a burst of certain duration | |
| virtual unsigned int | getBitCapacityFractional (simTimeType duration) const |
| calculate capacity[bits] of a phyResource (chunk) | |
| virtual double | getBitsPerSymbol () const |
| returns the net bit capacity (derived from mutual information, MI) in the unit of [bit/s/Hz] taking Modulation&CodingRate into account. For one OFDM subcarrier and one OFDM symbol duration, this is the "BitsPerSymbol". It is NOT the bitrate of a total OFDM subcarrier or subchannel. | |
| virtual double | getCodeRate () const |
| access method for the code rate (double) | |
| virtual rise::plmapping::Coding | getCoding () const |
| access method for the coding (int) | |
| virtual std::string | getCodingString () const |
| access method for the coding (string) | |
| virtual double | getDataRate () const |
| datarate in [bits per second] for one subChannel | |
| virtual double | getDataRate (double _symbolRate, unsigned int _subCarriersPerSubChannel=1) const |
| number of bits that fit into certain number of OFDM symbols | |
| virtual double | getMI2PER (const double mib, unsigned int bits) const |
| PER = f(MIB,bits), blockLength bits (=payload[net], not CWL[gross]). | |
| virtual wns::Ratio | getMIB2SINR (const double &mib) const |
| SINR = f(MIB). | |
| virtual rise::plmapping::Modulation | getModulation () const |
| access method for the modulation (int) | |
| virtual std::string | getModulationString () const |
| access method for the modulation (string) | |
| virtual double | getSINR2MI (const wns::Ratio &sinr) const |
| MI = f(SINR) (mutual information). | |
| virtual double | getSINR2MIB (const wns::Ratio &sinr) const |
| MIB = f(SINR) (mutual information per bit, [0..1]). | |
| virtual double | getSINR2PER (const wns::Ratio &sinr, unsigned int bits) const |
| PER = f(SINR,bits), blockLength bits (=payload[net], not CWL[gross]). | |
| virtual std::string | getString () const |
| access method for the modulation&coding (string) | |
| virtual bool | isValid () const |
| true if PhyMode is set (not undefined) | |
| virtual bool | nameMatches (const std::string &name) const |
| true, if string matches to the PhyMode | |
| PhyMode (Modulation _modulation, rise::plmapping::Coding _coding, wns::service::phy::phymode::SNR2MIInterface *_snr2miMapper, wns::service::phy::phymode::CoderFullMappingInterface *_coderMapper) | |
| Construct PHY Mode from two ints. Used for conversion in PhyModeTest. | |
| PhyMode (const wns::pyconfig::View &config) | |
| Construct PHY Mode from PyConfig. | |
| PhyMode () | |
| Construct empty=undefined PhyMode. Means: "feature not used". | |
| virtual void | setSubCarriersPerSubChannel (unsigned int _subCarriersPerSubChannel) |
| virtual void | setSymbolDuration (simTimeType _symbolDuration) |
| attention: symbolDuration here means fullSymbolDuration = 1/symbolRateOFDM = OFDMsymbolDuration+cyclicPrefixDuration | |
| virtual | ~PhyMode () |
Static Public Member Functions | |
| static const PhyMode & | emptyPhyMode () |
| give a const reference to an empty PhyMode | |
Private Member Functions | |
| virtual void | calculateDataRate () |
| try to calculate dataRate | |
| virtual void | cloneParameters (const PhyMode &other) |
| virtual unsigned int | toInt () const |
| Convert PHY Mode (M&C) to one int. | |
Private Attributes | |
| wns::service::phy::phymode::CoderFullMappingInterface * | coderMapper |
| Helper object for the conversion from/to strings, ints and codeRates. | |
| rise::plmapping::Coding | coding |
| coding for this phymode | |
| double | dataRate |
| bool | dataRateKnown |
| rise::plmapping::Modulation | modulation |
| modulation for this phymode | |
| wns::service::phy::phymode::SNR2MIInterface * | snr2miMapper |
| Helper object for the performance calculation of mi=f(sinr,modulation). | |
| unsigned int | subCarriersPerSubChannel |
| bool | subCarriersPerSubChannelKnown |
| helper values for performance calculations | |
| simTimeType | symbolDuration |
| bool | symbolDurationKnown |
Friends | |
| class | rise::plmapping::tests::PhyModeMapperTest |
| class | rise::plmapping::tests::PhyModeTest |
Classes | |
| class | UndefinedException |
| Exception thrown when features used with undefined PhyMode. More... | |
Definition at line 81 of file PhyMode.hpp.
| PhyMode::PhyMode | ( | ) |
Definition at line 45 of file PhyMode.cpp.
| PhyMode::PhyMode | ( | const wns::pyconfig::View & | config | ) | [explicit] |
Definition at line 61 of file PhyMode.cpp.
| PhyMode::PhyMode | ( | Modulation | _modulation, | |
| rise::plmapping::Coding | _coding, | |||
| wns::service::phy::phymode::SNR2MIInterface * | _snr2miMapper, | |||
| wns::service::phy::phymode::CoderFullMappingInterface * | _coderMapper | |||
| ) |
Construct PHY Mode from two ints. Also needs the coderMapper pointer (Used for conversion).
Definition at line 91 of file PhyMode.cpp.
| PhyMode::~PhyMode | ( | ) | [virtual] |
Definition at line 109 of file PhyMode.cpp.
| void PhyMode::calculateDataRate | ( | ) | [private, virtual] |
Definition at line 306 of file PhyMode.cpp.
| void PhyMode::cloneParameters | ( | const PhyMode & | other | ) | [private, virtual] |
Definition at line 130 of file PhyMode.cpp.
| bool PhyMode::dataRateIsValid | ( | ) | const [virtual] |
Implements wns::service::phy::phymode::PhyModeInterface.
Definition at line 151 of file PhyMode.cpp.
| virtual std::string rise::plmapping::PhyMode::doToString | ( | ) | const [inline, virtual] |
| static const PhyMode& rise::plmapping::PhyMode::emptyPhyMode | ( | ) | [inline, static] |
const PhyMode& phyMode = rise::plmapping::PhyMode::emptyPhyMode()
Definition at line 197 of file PhyMode.hpp.
| unsigned int PhyMode::getBitCapacity | ( | simTimeType | duration | ) | const [virtual] |
Definition at line 249 of file PhyMode.cpp.
| unsigned int PhyMode::getBitCapacityFractional | ( | simTimeType | duration | ) | const [virtual] |
Definition at line 237 of file PhyMode.cpp.
| double PhyMode::getBitsPerSymbol | ( | ) | const [virtual] |
bit rate per OFDM symbol
Implements wns::service::phy::phymode::PhyModeInterface.
Definition at line 179 of file PhyMode.cpp.
| double PhyMode::getCodeRate | ( | ) | const [virtual] |
Definition at line 170 of file PhyMode.cpp.
| rise::plmapping::Coding PhyMode::getCoding | ( | ) | const [virtual] |
Implements wns::service::phy::phymode::PhyModeInterface.
Definition at line 163 of file PhyMode.cpp.
| std::string PhyMode::getCodingString | ( | ) | const [virtual] |
Definition at line 278 of file PhyMode.cpp.
| double PhyMode::getDataRate | ( | ) | const [virtual] |
Implements wns::service::phy::phymode::PhyModeInterface.
Definition at line 202 of file PhyMode.cpp.
| double PhyMode::getDataRate | ( | double | _symbolRate, | |
| unsigned int | _subCarriersPerSubChannel = 1 | |||
| ) | const [virtual] |
datarate in [bits per second] symbolRate = 1.0/symbolDuration subCarriersPerSubChannel
Definition at line 196 of file PhyMode.cpp.
Implements wns::service::phy::phymode::PhyModeInterface.
Definition at line 218 of file PhyMode.cpp.
| wns::Ratio PhyMode::getMIB2SINR | ( | const double & | mib | ) | const [virtual] |
Implements wns::service::phy::phymode::PhyModeInterface.
Definition at line 230 of file PhyMode.cpp.
| rise::plmapping::Modulation PhyMode::getModulation | ( | ) | const [virtual] |
Implements wns::service::phy::phymode::PhyModeInterface.
Definition at line 157 of file PhyMode.cpp.
| std::string PhyMode::getModulationString | ( | ) | const [virtual] |
Definition at line 268 of file PhyMode.cpp.
| double PhyMode::getSINR2MI | ( | const wns::Ratio & | sinr | ) | const [virtual] |
Implements wns::service::phy::phymode::PhyModeInterface.
Definition at line 208 of file PhyMode.cpp.
| double PhyMode::getSINR2MIB | ( | const wns::Ratio & | sinr | ) | const [virtual] |
Implements wns::service::phy::phymode::PhyModeInterface.
Definition at line 213 of file PhyMode.cpp.
| double PhyMode::getSINR2PER | ( | const wns::Ratio & | sinr, | |
| unsigned int | bits | |||
| ) | const [virtual] |
Implements wns::service::phy::phymode::PhyModeInterface.
Definition at line 223 of file PhyMode.cpp.
| std::string PhyMode::getString | ( | ) | const [virtual] |
Implements wns::service::phy::phymode::PhyModeInterface.
Definition at line 288 of file PhyMode.cpp.
| bool PhyMode::isValid | ( | ) | const [virtual] |
Implements wns::service::phy::phymode::PhyModeInterface.
Definition at line 141 of file PhyMode.cpp.
| bool PhyMode::nameMatches | ( | const std::string & | name | ) | const [virtual] |
Implements wns::service::phy::phymode::PhyModeInterface.
Definition at line 294 of file PhyMode.cpp.
| void PhyMode::setSubCarriersPerSubChannel | ( | unsigned int | _subCarriersPerSubChannel | ) | [virtual] |
Definition at line 112 of file PhyMode.cpp.
| void PhyMode::setSymbolDuration | ( | simTimeType | _symbolDuration | ) | [virtual] |
Definition at line 121 of file PhyMode.cpp.
| unsigned int PhyMode::toInt | ( | ) | const [private, virtual] |
Implements wns::service::phy::phymode::PhyModeInterface.
Definition at line 300 of file PhyMode.cpp.
friend class rise::plmapping::tests::PhyModeMapperTest [friend] |
Definition at line 87 of file PhyMode.hpp.
friend class rise::plmapping::tests::PhyModeTest [friend] |
Definition at line 86 of file PhyMode.hpp.
wns::service::phy::phymode::CoderFullMappingInterface* rise::plmapping::PhyMode::coderMapper [private] |
Helper object for the conversion from/to strings, ints and codeRates, plus mapping per=f(mi,bl)
Definition at line 94 of file PhyMode.hpp.
Definition at line 98 of file PhyMode.hpp.
double rise::plmapping::PhyMode::dataRate [private] |
Definition at line 105 of file PhyMode.hpp.
bool rise::plmapping::PhyMode::dataRateKnown [private] |
Definition at line 104 of file PhyMode.hpp.
Definition at line 96 of file PhyMode.hpp.
Definition at line 90 of file PhyMode.hpp.
unsigned int rise::plmapping::PhyMode::subCarriersPerSubChannel [private] |
Definition at line 101 of file PhyMode.hpp.
Definition at line 100 of file PhyMode.hpp.
Definition at line 103 of file PhyMode.hpp.
Definition at line 102 of file PhyMode.hpp.
1.5.5