User Manual, Developers Guide and API Documentation

wimemac::convergence::FrameSynchronization Class Reference

FrameSynchronization models the capture effect in OFDM-Receivers. More...

#include <convergence/FrameSynchronization.hpp>

Inheritance diagram for wimemac::convergence::FrameSynchronization:

Inheritance graph
[legend]
Collaboration diagram for wimemac::convergence::FrameSynchronization:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 FrameSynchronization (wns::ldk::fun::FUN *fun, const wns::pyconfig::View &config)
virtual ~FrameSynchronization ()

Private Member Functions

bool doIsAccepting (const wns::ldk::CompoundPtr &compound) const
void doOnData (const wns::ldk::CompoundPtr &compound)
void doSendData (const wns::ldk::CompoundPtr &compound)
void doWakeup ()
void failedSyncToNewPreamble (wns::simulator::Time fExDur)
void onFUNCreated ()
 Resolve inter-FU dependencies.
void onTimeout ()
 Your callback. Implement this.
void processPreamble (const wns::ldk::CompoundPtr &compound)
void processPSDU (const wns::ldk::CompoundPtr &compound)
void syncToNewPreamble (const wns::simulator::Time fExDur, const wns::service::dll::UnicastAddress transmitter)

Private Attributes

const std::string crcCommandName
SyncStateType curState
const wns::Ratio detectionThreshold
struct
wimemac::convergence::FrameSynchronization::Friends 
friends
const wns::Ratio idleCapture
wns::simulator::Time lastFrameEnd
wns::logger::Logger logger
const std::string managerName
const bool signalRxErrorAlthoughNotSynchronized
const wns::Ratio slcCapture
const wns::Ratio slgCapture
wns::service::dll::UnicastAddress synchronizedToAddress

Classes

struct  Friends


Detailed Description

To receive a frame successfully, the OFDM-receiver has to be synchronized to the transmission via the leading preamble. Hence, not only the SINR plays an important role for the packet error rate, but also if the synchronization has been successfully.

In this FU, three scenarios are modeled: SenderFirst (SF), SenderLastClear (SLC), SenderLastGarbled (SLG).

Usually, 0 <= idleCapture <= slcCapture <= slgCapture. For more information, see Lee et al., "An Experimental Study on the Capture Effect in 802.11a"

Definition at line 86 of file FrameSynchronization.hpp.


Constructor & Destructor Documentation

wimemac::convergence::FrameSynchronization::FrameSynchronization ( wns::ldk::fun::FUN fun,
const wns::pyconfig::View config 
)

virtual wimemac::convergence::FrameSynchronization::~FrameSynchronization (  )  [virtual]


Member Function Documentation

bool wimemac::convergence::FrameSynchronization::doIsAccepting ( const wns::ldk::CompoundPtr compound  )  const [private]

void wimemac::convergence::FrameSynchronization::doOnData ( const wns::ldk::CompoundPtr compound  )  [private]

void wimemac::convergence::FrameSynchronization::doSendData ( const wns::ldk::CompoundPtr compound  )  [private]

void wimemac::convergence::FrameSynchronization::doWakeup (  )  [private]

void wimemac::convergence::FrameSynchronization::failedSyncToNewPreamble ( wns::simulator::Time  fExDur  )  [private]

void wimemac::convergence::FrameSynchronization::onFUNCreated (  )  [private, virtual]

Often FunctionalUnits require the collaboration with other FunctionalUnits to accomplish their task. For the collaboration between FunctionalUnits we coined the term "friendship".

The onFUNCreated method is a hook being called after the complete FUN has been set up. FunctionalUnits requiring the collaboration with other FunctionalUnits should resolve these dependencies by implementing this hook accordingly.

Finding friends is usually done calling wns::ldk::fun::FUN::findFriend.

When building reconfigurable FUNs, this method may get called multiple times (e.g., after each FUN reconfiguration). Keep that in mind when allocating resources in your onFUNCreated implementation.

Reimplemented from wns::ldk::FunctionalUnit.

void wimemac::convergence::FrameSynchronization::onTimeout (  )  [private, virtual]

The deriver is forced to implement this method. It gets called, whenever the timer fires.

Implements wns::events::CanTimeout.

void wimemac::convergence::FrameSynchronization::processPreamble ( const wns::ldk::CompoundPtr compound  )  [private]

void wimemac::convergence::FrameSynchronization::processPSDU ( const wns::ldk::CompoundPtr compound  )  [private]

void wimemac::convergence::FrameSynchronization::syncToNewPreamble ( const wns::simulator::Time  fExDur,
const wns::service::dll::UnicastAddress  transmitter 
) [private]


Member Data Documentation

Definition at line 123 of file FrameSynchronization.hpp.

Definition at line 113 of file FrameSynchronization.hpp.

Definition at line 118 of file FrameSynchronization.hpp.

Definition at line 117 of file FrameSynchronization.hpp.

Definition at line 120 of file FrameSynchronization.hpp.

Definition at line 112 of file FrameSynchronization.hpp.

Definition at line 122 of file FrameSynchronization.hpp.

Definition at line 119 of file FrameSynchronization.hpp.

Definition at line 115 of file FrameSynchronization.hpp.

Definition at line 116 of file FrameSynchronization.hpp.

Definition at line 114 of file FrameSynchronization.hpp.


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

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