User Manual, Developers Guide and API Documentation

wifimac::convergence::FrameSynchronization Class Reference

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

#include <convergence/FrameSynchronization.hpp>

Inheritance diagram for wifimac::convergence::FrameSynchronization:

Inheritance graph
[legend]
Collaboration diagram for wifimac::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)
void traceIncoming (wns::ldk::CompoundPtr compound)

Private Attributes

const std::string crcCommandName
SyncStateType curState
const wns::Ratio detectionThreshold
const std::string errorModellingCommandName
struct
wifimac::convergence::FrameSynchronization::Friends 
friends
const wns::Ratio idleCapture
wns::probe::bus::ContextCollectorPtr jsonTracing
 Detailed output about channel state.
wns::simulator::Time lastFrameEnd
wns::logger::Logger logger
const std::string managerName
int numSpatialStreamsLastPreambleFragment
wns::probe::bus::ContextCollectorPtr perProbe
 Probing the per of received MPDUs.
const std::string phyUserCommandName
const bool signalRxErrorAlthoughNotSynchronized
wifimac::management::SINRInformationBasesinrMIB
const std::string sinrMIBServiceName
wns::probe::bus::ContextCollectorPtr sinrProbe
 Probing the sinr of received MPDUs.
const wns::Ratio slcCapture
const wns::Ratio slgCapture
wns::probe::bus::ContextCollectorPtr successRateProbe
 Probing of the PSDU success rate.
wns::service::dll::UnicastAddress synchronizedToAddress
const std::string txDurationProviderCommandName

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 87 of file FrameSynchronization.hpp.


Constructor & Destructor Documentation

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

Definition at line 61 of file FrameSynchronization.cpp.

FrameSynchronization::~FrameSynchronization (  )  [virtual]

Definition at line 97 of file FrameSynchronization.cpp.


Member Function Documentation

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

Definition at line 436 of file FrameSynchronization.cpp.

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

Definition at line 131 of file FrameSynchronization.cpp.

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

Definition at line 102 of file FrameSynchronization.cpp.

void FrameSynchronization::doWakeup (  )  [private]

Definition at line 441 of file FrameSynchronization.cpp.

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

Definition at line 285 of file FrameSynchronization.cpp.

void 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.

Definition at line 429 of file FrameSynchronization.cpp.

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

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

Implements wns::events::CanTimeout.

Definition at line 328 of file FrameSynchronization.cpp.

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

Definition at line 148 of file FrameSynchronization.cpp.

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

Definition at line 357 of file FrameSynchronization.cpp.

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

Definition at line 303 of file FrameSynchronization.cpp.

void FrameSynchronization::traceIncoming ( wns::ldk::CompoundPtr  compound  )  [private]

Definition at line 447 of file FrameSynchronization.cpp.


Member Data Documentation

Definition at line 125 of file FrameSynchronization.hpp.

Definition at line 115 of file FrameSynchronization.hpp.

Definition at line 120 of file FrameSynchronization.hpp.

Definition at line 127 of file FrameSynchronization.hpp.

Definition at line 119 of file FrameSynchronization.hpp.

Definition at line 144 of file FrameSynchronization.hpp.

Definition at line 122 of file FrameSynchronization.hpp.

Definition at line 114 of file FrameSynchronization.hpp.

Definition at line 124 of file FrameSynchronization.hpp.

Definition at line 131 of file FrameSynchronization.hpp.

Definition at line 141 of file FrameSynchronization.hpp.

Definition at line 126 of file FrameSynchronization.hpp.

Definition at line 121 of file FrameSynchronization.hpp.

Definition at line 146 of file FrameSynchronization.hpp.

Definition at line 129 of file FrameSynchronization.hpp.

Definition at line 138 of file FrameSynchronization.hpp.

Definition at line 117 of file FrameSynchronization.hpp.

Definition at line 118 of file FrameSynchronization.hpp.

Definition at line 136 of file FrameSynchronization.hpp.

Definition at line 116 of file FrameSynchronization.hpp.

Definition at line 128 of file FrameSynchronization.hpp.


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

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