User Manual, Developers Guide and API Documentation

wifimac::draftn::rateAdaptationStrategies::PERwithMIMO Class Reference

The Opportunisitc Rate Adpation tries to find the maximum rate (using MCSs and number of antennas) with a packet error rate below a given value. More...

#include <draftn/rateAdaptationStrategies/PERwithMIMO.hpp>

Inheritance diagram for wifimac::draftn::rateAdaptationStrategies::PERwithMIMO:

Inheritance graph
[legend]
Collaboration diagram for wifimac::draftn::rateAdaptationStrategies::PERwithMIMO:

Collaboration graph
[legend]

List of all members.

Public Member Functions

wifimac::convergence::PhyMode getPhyMode (size_t numTransmissions, const wns::Ratio lqm) const
 getPhyMode with additional lqm
wifimac::convergence::PhyMode getPhyMode (size_t numTransmissions) const
 getPhyMode: Return the PhyMode depending on the number of transmissions.
 PERwithMIMO (const wns::pyconfig::View &config_, wns::service::dll::UnicastAddress _receiver, wifimac::management::PERInformationBase *_per, wifimac::management::SINRInformationBase *_sinr, wifimac::lowerMAC::Manager *_manager, wifimac::convergence::PhyUser *_phyUser, wns::logger::Logger *_logger)
void setCurrentPhyMode (wifimac::convergence::PhyMode pm)
 Notify the rate adaptation strategy of the used PhyMode.

Private Member Functions

void increasePhyMode (wifimac::convergence::PhyMode &pm, unsigned int maxNumSS) const
void reducePhyMode (wifimac::convergence::PhyMode &pm, unsigned int maxNumSS) const

Private Attributes

wifimac::convergence::PhyMode curPhyMode
struct
wifimac::draftn::rateAdaptationStrategies::PERwithMIMO::Friends 
friends
wns::logger::Loggerlogger
const
wns::service::dll::UnicastAddress 
myReceiver
wifimac::management::PERInformationBaseper
const double perForGoingDown
const double perForGoingUp
const unsigned int phyModeDecreaseOnAntennaIncrease
const unsigned int phyModeIncreaseOnAntennaDecrease

Classes

struct  Friends


Detailed Description

PER RA works only using the statistics of received ACKs as a reply to the used MCS and number of antennas. Hence, it slowly increases the rate by selecting high-rate MCSs (and switching the number of antennas, if possible), until the PER exceeds a given value. Then, it stays at the next lower MCS/antenna combination until the percieved PER changes again.

Definition at line 56 of file PERwithMIMO.hpp.


Constructor & Destructor Documentation

Definition at line 41 of file PERwithMIMO.cpp.


Member Function Documentation

wifimac::convergence::PhyMode PERwithMIMO::getPhyMode ( size_t  numTransmissions,
const wns::Ratio  lqm 
) const [virtual]

wifimac::convergence::PhyMode PERwithMIMO::getPhyMode ( size_t  numTransmissions  )  const [virtual]

This method returns the currently selected phyMode of the specific rate adaptation strategy, given the number of transmissions for the frame. This method is const and thus cannot change the internal state of the rate adaptation strategy. Hence, multiple calls to the method at the same simulation time and number of transmissions (e.g. to calculate transmit durations) return ALWAYS the same phyMode.

Implements wifimac::lowerMAC::rateAdaptationStrategies::IRateAdaptationStrategy.

Definition at line 70 of file PERwithMIMO.cpp.

void PERwithMIMO::increasePhyMode ( wifimac::convergence::PhyMode pm,
unsigned int  maxNumSS 
) const [private]

Definition at line 129 of file PERwithMIMO.cpp.

void PERwithMIMO::reducePhyMode ( wifimac::convergence::PhyMode pm,
unsigned int  maxNumSS 
) const [private]

Definition at line 109 of file PERwithMIMO.cpp.

void PERwithMIMO::setCurrentPhyMode ( wifimac::convergence::PhyMode  pm  )  [virtual]


Member Data Documentation

Definition at line 102 of file PERwithMIMO.hpp.

Definition at line 100 of file PERwithMIMO.hpp.

Definition at line 98 of file PERwithMIMO.hpp.

Definition at line 86 of file PERwithMIMO.hpp.

Definition at line 94 of file PERwithMIMO.hpp.

Definition at line 95 of file PERwithMIMO.hpp.

Definition at line 97 of file PERwithMIMO.hpp.

Definition at line 96 of file PERwithMIMO.hpp.


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

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