#include <simple-ofdm-wimax-phy.h>
Public Types | |
enum | FrameDurationCode { FRAME_DURATION_2_POINT_5_MS, FRAME_DURATION_4_MS, FRAME_DURATION_5_MS, FRAME_DURATION_8_MS, FRAME_DURATION_10_MS, FRAME_DURATION_12_POINT_5_MS, FRAME_DURATION_20_MS } |
![]() | |
enum | ModulationType { MODULATION_TYPE_BPSK_12, MODULATION_TYPE_QPSK_12, MODULATION_TYPE_QPSK_34, MODULATION_TYPE_QAM16_12, MODULATION_TYPE_QAM16_34, MODULATION_TYPE_QAM64_23, MODULATION_TYPE_QAM64_34 } |
enum | PhyState { PHY_STATE_IDLE, PHY_STATE_SCANNING, PHY_STATE_TX, PHY_STATE_RX } |
enum | PhyType { SimpleWimaxPhy, simpleOfdmWimaxPhy } |
Public Member Functions | |
SimpleOfdmWimaxPhy (void) | |
SimpleOfdmWimaxPhy (char *tracesPath) | |
~SimpleOfdmWimaxPhy (void) | |
void | ActivateLoss (bool loss) |
if called with true it will enable the loss model More... | |
int64_t | AssignStreams (int64_t stream) |
void | DoAttach (Ptr< WimaxChannel > channel) |
uint32_t | GetBandwidth (void) const |
double | GetNoiseFigure (void) const |
WimaxPhy::PhyType | GetPhyType (void) const |
returns the type this physical layer More... | |
double | GetTxPower (void) const |
void | NotifyRxBegin (Ptr< PacketBurst > burst) |
void | NotifyRxDrop (Ptr< PacketBurst > burst) |
void | NotifyRxEnd (Ptr< PacketBurst > burst) |
void | NotifyTxBegin (Ptr< PacketBurst > burst) |
void | NotifyTxDrop (Ptr< PacketBurst > burst) |
void | NotifyTxEnd (Ptr< PacketBurst > burst) |
void | Send (Ptr< PacketBurst > burst, WimaxPhy::ModulationType modulationType, uint8_t direction) |
Sends a burst on the channel. More... | |
void | Send (SendParams *params) |
Sends a burst on the channel. More... | |
void | SetBandwidth (uint32_t BW) |
Set the bandwidth. More... | |
void | SetNoiseFigure (double nf) |
set the noise figure of the device More... | |
void | SetReceiveCallback (Callback< void, Ptr< PacketBurst >, Ptr< WimaxConnection > > callback) |
set the callback function to call when a burst is received More... | |
void | SetSNRToBlockErrorRateTracesPath (char *tracesPath) |
Set the path of the repository containing the traces. More... | |
void | SetTxPower (double txPower) |
set the transmission power More... | |
void | StartReceive (uint32_t burstSize, bool isFirstBlock, uint64_t frequency, WimaxPhy::ModulationType modulationType, uint8_t direction, double rxPower, Ptr< PacketBurst > burst) |
start the reception of a fec block More... | |
![]() | |
WimaxPhy (void) | |
virtual | ~WimaxPhy (void) |
void | Attach (Ptr< WimaxChannel > channel) |
Ptr< WimaxChannel > | GetChannel (void) const |
uint32_t | GetChannelBandwidth (void) const |
EventId | GetChnlSrchTimeoutEvent (void) const |
uint32_t | GetDataRate (ModulationType modulationType) const |
Ptr< NetDevice > | GetDevice (void) const |
Time | GetFrameDuration (void) const |
Time | GetFrameDuration (uint8_t frameDurationCode) const |
uint8_t | GetFrameDurationCode (void) const |
Time | GetFrameDurationSec (void) const |
uint32_t | GetFrequency (void) const |
double | GetGValue (void) const |
virtual Ptr< Object > | GetMobility (void) |
uint16_t | GetNfft (void) const |
uint64_t | GetNrBytes (uint32_t symbols, ModulationType modulationType) const |
uint8_t | GetNrCarriers (void) const |
uint64_t | GetNrSymbols (uint32_t size, ModulationType modulationType) const |
Time | GetPsDuration (void) const |
uint16_t | GetPsPerFrame (void) const |
uint16_t | GetPsPerSymbol (void) const |
Callback< void, Ptr< const PacketBurst > > | GetReceiveCallback (void) const |
uint16_t | GetRtg (void) const |
uint64_t | GetRxFrequency (void) const |
double | GetSamplingFactor (void) const |
double | GetSamplingFrequency (void) const |
uint64_t | GetScanningFrequency (void) const |
PhyState | GetState (void) const |
Time | GetSymbolDuration (void) const |
uint32_t | GetSymbolsPerFrame (void) const |
Time | GetTransmissionTime (uint32_t size, ModulationType modulationType) const |
uint16_t | GetTtg (void) const |
uint64_t | GetTxFrequency (void) const |
bool | IsDuplex (void) const |
void | SetChannelBandwidth (uint32_t channelBandwidth) |
Set the channel bandwidth. More... | |
void | SetDataRates (void) |
calculates the data rate of each modulation and save them for future use More... | |
void | SetDevice (Ptr< WimaxNetDevice > device) |
Set the device in which this physical layer is installed. More... | |
void | SetDuplex (uint64_t rxFrequency, uint64_t txFrequency) |
configure the physical layer in duplex mode More... | |
void | SetFrameDuration (Time frameDuration) |
Set the frame duration. More... | |
void | SetFrequency (uint32_t frequency) |
set the frequency on which the device should lock More... | |
virtual void | SetMobility (Ptr< Object > mobility) |
set the mobility model of the device More... | |
void | SetNrCarriers (uint8_t nrCarriers) |
Set the number of carriers in the physical frame. More... | |
void | SetPhyParameters (void) |
computes the Physical parameters and store them More... | |
void | SetPsDuration (Time psDuration) |
set the physical slot duration in seconds More... | |
void | SetPsPerFrame (uint16_t psPerFrame) |
set the number of physical slot per frame More... | |
void | SetPsPerSymbol (uint16_t psPerSymbol) |
set the number of physical slots per symbol More... | |
void | SetReceiveCallback (Callback< void, Ptr< const PacketBurst > > callback) |
set the callback function to call when a burst is received More... | |
void | SetScanningCallback (void) const |
calls the scanning call back function More... | |
void | SetSimplex (uint64_t frequency) |
configure the physical layer in simplex mode More... | |
void | SetState (PhyState state) |
set the state of the device More... | |
void | SetSymbolDuration (Time symbolDuration) |
set the OFMD symbol duration in second More... | |
void | SetSymbolsPerFrame (uint32_t symbolsPerFrame) |
set the number of symbols per frame More... | |
void | StartScanning (uint64_t frequency, Time timeout, Callback< void, bool, uint64_t > callback) |
scan the frequency frequency for maximum timeout seconds and calls callback if the frequency could be used More... | |
![]() | |
Object () | |
virtual | ~Object () |
void | AggregateObject (Ptr< Object > other) |
void | Dispose (void) |
AggregateIterator | GetAggregateIterator (void) const |
virtual TypeId | GetInstanceTypeId (void) const |
template<typename T > | |
Ptr< T > | GetObject (void) const |
template<typename T > | |
Ptr< T > | GetObject (TypeId tid) const |
void | Initialize (void) |
![]() | |
SimpleRefCount () | |
SimpleRefCount (const SimpleRefCount &o) | |
uint32_t | GetReferenceCount (void) const |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
void | Ref (void) const |
void | Unref (void) const |
![]() | |
virtual | ~ObjectBase () |
void | GetAttribute (std::string name, AttributeValue &value) const |
bool | GetAttributeFailSafe (std::string name, AttributeValue &attribute) const |
void | SetAttribute (std::string name, const AttributeValue &value) |
bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
bool | TraceConnect (std::string name, std::string context, const CallbackBase &cb) |
bool | TraceConnectWithoutContext (std::string name, const CallbackBase &cb) |
bool | TraceDisconnect (std::string name, std::string context, const CallbackBase &cb) |
bool | TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb) |
Static Public Member Functions | |
static TypeId | GetTypeId (void) |
![]() | |
static TypeId | GetTypeId (void) |
![]() | |
static TypeId | GetTypeId (void) |
![]() | |
static void | Cleanup (void) |
![]() | |
static TypeId | GetTypeId (void) |
Private Member Functions | |
uint32_t | CalculateDataRate (WimaxPhy::ModulationType modulationType) const |
Ptr< PacketBurst > | ConvertBitsToBurst (bvec buffer) |
bvec | ConvertBurstToBits (Ptr< const PacketBurst > burst) |
void | CreateFecBlocks (const bvec &buffer, WimaxPhy::ModulationType modulationType) |
void | DoDispose (void) |
uint32_t | DoGetDataRate (WimaxPhy::ModulationType modulationType) const |
Time | DoGetFrameDuration (uint8_t frameDurationCode) const |
uint8_t | DoGetFrameDurationCode (void) const |
double | DoGetGValue (void) const |
uint16_t | DoGetNfft (void) const |
uint64_t | DoGetNrBytes (uint32_t symbols, WimaxPhy::ModulationType modulationType) const |
uint64_t | DoGetNrSymbols (uint32_t size, WimaxPhy::ModulationType modulationType) const |
uint16_t | DoGetRtg (void) const |
double | DoGetSamplingFactor (void) const |
double | DoGetSamplingFrequency (void) const |
Time | DoGetTransmissionTime (uint32_t size, WimaxPhy::ModulationType modulationType) const |
uint16_t | DoGetTtg (void) const |
void | DoSetDataRates (void) |
void | DoSetGValue (double) |
void | DoSetNfft (uint16_t) |
void | DoSetPhyParameters (void) |
void | EndReceive (Ptr< const PacketBurst > burst) |
void | EndReceiveFecBlock (uint32_t burstSize, WimaxPhy::ModulationType modulationType, uint8_t direction, uint8_t drop, Ptr< PacketBurst > burst) |
void | EndSend (void) |
void | EndSendFecBlock (WimaxPhy::ModulationType modulationType, uint8_t direction) |
Time | GetBlockTransmissionTime (WimaxPhy::ModulationType modulationType) const |
uint32_t | GetCodedFecBlockSize (WimaxPhy::ModulationType modulationType) const |
uint32_t | GetFecBlockSize (WimaxPhy::ModulationType type) const |
void | GetModulationFecParams (WimaxPhy::ModulationType modulationType, uint8_t &bitsPerSymbol, double &fecCode) const |
uint16_t | GetNrBlocks (uint32_t burstSize, WimaxPhy::ModulationType modulationType) const |
double | GetRxGain (void) const |
std::string | GetTraceFilePath (void) const |
double | GetTxGain (void) const |
void | InitSimpleOfdmWimaxPhy (void) |
bvec | RecreateBuffer () |
void | SetBlockParameters (uint32_t burstSize, WimaxPhy::ModulationType modulationType) |
void | SetRxGain (double rxgain) |
void | SetTraceFilePath (std::string path) |
void | SetTxGain (double txgain) |
void | StartSendDummyFecBlock (bool isFirstBlock, WimaxPhy::ModulationType modulationType, uint8_t direction) |
Additional Inherited Members | |
![]() | |
Object (const Object &o) | |
virtual void | DoInitialize (void) |
virtual void | NotifyNewAggregate (void) |
![]() | |
void | ConstructSelf (const AttributeConstructionList &attributes) |
virtual void | NotifyConstructionCompleted (void) |
ns3::SimpleOfdmWimaxPhy is accessible through the following paths with Config::Set and Config::Connect:
Definition at line 46 of file simple-ofdm-wimax-phy.h.
Enumerator | |
---|---|
FRAME_DURATION_2_POINT_5_MS | |
FRAME_DURATION_4_MS | |
FRAME_DURATION_5_MS | |
FRAME_DURATION_8_MS | |
FRAME_DURATION_10_MS | |
FRAME_DURATION_12_POINT_5_MS | |
FRAME_DURATION_20_MS |
Definition at line 49 of file simple-ofdm-wimax-phy.h.
ns3::SimpleOfdmWimaxPhy::SimpleOfdmWimaxPhy | ( | void | ) |
Definition at line 155 of file simple-ofdm-wimax-phy.cc.
References InitSimpleOfdmWimaxPhy(), ns3::SNRToBlockErrorRateManager::LoadTraces(), m_snrToBlockErrorRateManager, m_URNG, and ns3::SNRToBlockErrorRateManager::SetTraceFilePath().
ns3::SimpleOfdmWimaxPhy::SimpleOfdmWimaxPhy | ( | char * | tracesPath | ) |
Definition at line 164 of file simple-ofdm-wimax-phy.cc.
References InitSimpleOfdmWimaxPhy(), ns3::SNRToBlockErrorRateManager::LoadTraces(), m_snrToBlockErrorRateManager, and ns3::SNRToBlockErrorRateManager::SetTraceFilePath().
ns3::SimpleOfdmWimaxPhy::~SimpleOfdmWimaxPhy | ( | void | ) |
Definition at line 171 of file simple-ofdm-wimax-phy.cc.
void ns3::SimpleOfdmWimaxPhy::ActivateLoss | ( | bool | loss | ) |
if called with true it will enable the loss model
loss | set to true to enable the loss model |
Definition at line 177 of file simple-ofdm-wimax-phy.cc.
References ns3::SNRToBlockErrorRateManager::ActivateLoss(), and m_snrToBlockErrorRateManager.
|
virtual |
Assign a fixed random variable stream number to the random variables used by this model. Return the number of streams (possibly zero) that have been assigned.
stream | first stream index to use |
Implements ns3::WimaxPhy.
Definition at line 1098 of file simple-ofdm-wimax-phy.cc.
References m_URNG, NS_LOG_FUNCTION, and ns3::RandomVariableStream::SetStream().
|
private |
Definition at line 654 of file simple-ofdm-wimax-phy.cc.
References GetModulationFecParams(), ns3::WimaxPhy::GetNrCarriers(), ns3::Time::GetSeconds(), and ns3::WimaxPhy::GetSymbolDuration().
Referenced by DoSetDataRates().
|
private |
Definition at line 513 of file simple-ofdm-wimax-phy.cc.
|
private |
Definition at line 473 of file simple-ofdm-wimax-phy.cc.
References ns3::Packet::CopyData(), ns3::Packet::GetSize(), and list.
|
private |
Definition at line 565 of file simple-ofdm-wimax-phy.cc.
References m_blockSize, m_fecBlocks, m_nrBlocks, and m_paddingBits.
|
virtual |
Attach the physical layer to a channel.
channel | the channel to which the physical layer will be attached |
Implements ns3::WimaxPhy.
Definition at line 235 of file simple-ofdm-wimax-phy.cc.
References ns3::WimaxPhy::GetChannel().
|
privatevirtual |
This method is called by Object::Dispose or by the object's destructor, whichever comes first.
Subclasses are expected to implement their real destruction code in an overriden version of this method and chain up to their parent's implementation once they are done. i.e., for simplicity, the destructor of every subclass should be empty and its content should be moved to the associated DoDispose method.
It is safe to call GetObject from within this method.
Reimplemented from ns3::WimaxPhy.
Definition at line 224 of file simple-ofdm-wimax-phy.cc.
References ns3::WimaxPhy::DoDispose(), m_fecBlocks, m_receivedFecBlocks, and m_snrToBlockErrorRateManager.
|
privatevirtual |
Implements ns3::WimaxPhy.
Definition at line 667 of file simple-ofdm-wimax-phy.cc.
References m_dataRateBpsk12, m_dataRateQam16_12, m_dataRateQam16_34, m_dataRateQam64_23, m_dataRateQam64_34, m_dataRateQpsk12, m_dataRateQpsk34, ns3::WimaxPhy::MODULATION_TYPE_BPSK_12, ns3::WimaxPhy::MODULATION_TYPE_QAM16_12, ns3::WimaxPhy::MODULATION_TYPE_QAM16_34, ns3::WimaxPhy::MODULATION_TYPE_QAM64_23, ns3::WimaxPhy::MODULATION_TYPE_QAM64_34, ns3::WimaxPhy::MODULATION_TYPE_QPSK_12, ns3::WimaxPhy::MODULATION_TYPE_QPSK_34, and NS_FATAL_ERROR.
Referenced by DoGetNrBytes(), DoGetNrSymbols(), and GetBlockTransmissionTime().
|
privatevirtual |
Implements ns3::WimaxPhy.
Definition at line 873 of file simple-ofdm-wimax-phy.cc.
References FRAME_DURATION_10_MS, FRAME_DURATION_12_POINT_5_MS, FRAME_DURATION_20_MS, FRAME_DURATION_2_POINT_5_MS, FRAME_DURATION_4_MS, FRAME_DURATION_5_MS, FRAME_DURATION_8_MS, and NS_FATAL_ERROR.
|
privatevirtual |
Implements ns3::WimaxPhy.
Definition at line 821 of file simple-ofdm-wimax-phy.cc.
References FRAME_DURATION_10_MS, FRAME_DURATION_12_POINT_5_MS, FRAME_DURATION_20_MS, FRAME_DURATION_2_POINT_5_MS, FRAME_DURATION_4_MS, FRAME_DURATION_5_MS, FRAME_DURATION_8_MS, ns3::WimaxPhy::GetFrameDuration(), ns3::Time::GetSeconds(), and NS_FATAL_ERROR.
|
privatevirtual |
Implements ns3::WimaxPhy.
Definition at line 1010 of file simple-ofdm-wimax-phy.cc.
References m_g.
Referenced by DoSetPhyParameters(), and GetTypeId().
|
privatevirtual |
Implements ns3::WimaxPhy.
Definition at line 959 of file simple-ofdm-wimax-phy.cc.
References m_nfft.
Referenced by DoSetPhyParameters(), and GetTypeId().
|
privatevirtual |
Implements ns3::WimaxPhy.
Definition at line 721 of file simple-ofdm-wimax-phy.cc.
References DoGetDataRate(), ns3::Time::GetSeconds(), and ns3::WimaxPhy::GetSymbolDuration().
|
privatevirtual |
Implements ns3::WimaxPhy.
Definition at line 713 of file simple-ofdm-wimax-phy.cc.
References DoGetDataRate(), GetFecBlockSize(), GetNrBlocks(), ns3::Time::GetSeconds(), and ns3::WimaxPhy::GetSymbolDuration().
Referenced by DoGetTransmissionTime().
|
privatevirtual |
Implements ns3::WimaxPhy.
Definition at line 814 of file simple-ofdm-wimax-phy.cc.
References ns3::WimaxPhy::GetPsPerSymbol().
|
privatevirtual |
Implements ns3::WimaxPhy.
Definition at line 966 of file simple-ofdm-wimax-phy.cc.
References ns3::WimaxPhy::GetChannelBandwidth(), NS_FATAL_ERROR, and NS_LOG_DEBUG.
Referenced by DoGetSamplingFrequency().
|
privatevirtual |
Implements ns3::WimaxPhy.
Definition at line 1002 of file simple-ofdm-wimax-phy.cc.
References DoGetSamplingFactor(), and ns3::WimaxPhy::GetChannelBandwidth().
Referenced by DoSetPhyParameters().
|
privatevirtual |
Implements ns3::WimaxPhy.
Definition at line 704 of file simple-ofdm-wimax-phy.cc.
References DoGetNrSymbols(), and ns3::WimaxPhy::GetSymbolDuration().
|
privatevirtual |
Implements ns3::WimaxPhy.
Definition at line 807 of file simple-ofdm-wimax-phy.cc.
References ns3::WimaxPhy::GetPsPerSymbol().
|
privatevirtual |
Implements ns3::WimaxPhy.
Definition at line 604 of file simple-ofdm-wimax-phy.cc.
References CalculateDataRate(), m_dataRateBpsk12, m_dataRateQam16_12, m_dataRateQam16_34, m_dataRateQam64_23, m_dataRateQam64_34, m_dataRateQpsk12, m_dataRateQpsk34, ns3::WimaxPhy::MODULATION_TYPE_BPSK_12, ns3::WimaxPhy::MODULATION_TYPE_QAM16_12, ns3::WimaxPhy::MODULATION_TYPE_QAM16_34, ns3::WimaxPhy::MODULATION_TYPE_QAM64_23, ns3::WimaxPhy::MODULATION_TYPE_QAM64_34, ns3::WimaxPhy::MODULATION_TYPE_QPSK_12, and ns3::WimaxPhy::MODULATION_TYPE_QPSK_34.
|
private |
Definition at line 1017 of file simple-ofdm-wimax-phy.cc.
References m_g.
Referenced by GetTypeId().
|
private |
Definition at line 952 of file simple-ofdm-wimax-phy.cc.
References m_nfft.
Referenced by GetTypeId().
|
privatevirtual |
Implements ns3::WimaxPhy.
Definition at line 924 of file simple-ofdm-wimax-phy.cc.
References DoGetGValue(), DoGetNfft(), DoGetSamplingFrequency(), ns3::WimaxPhy::GetFrameDuration(), ns3::Time::GetSeconds(), ns3::WimaxPhy::SetPsDuration(), ns3::WimaxPhy::SetPsPerFrame(), ns3::WimaxPhy::SetPsPerSymbol(), ns3::WimaxPhy::SetSymbolDuration(), and ns3::WimaxPhy::SetSymbolsPerFrame().
|
private |
Definition at line 465 of file simple-ofdm-wimax-phy.cc.
References ns3::WimaxPhy::GetReceiveCallback(), and m_traceRx.
Referenced by EndReceiveFecBlock().
|
private |
Definition at line 431 of file simple-ofdm-wimax-phy.cc.
References EndReceive(), m_blockSize, m_nbErroneousBlock, m_nrRecivedFecBlocks, m_paddingBits, NotifyRxDrop(), NotifyRxEnd(), ns3::WimaxPhy::PHY_STATE_IDLE, ns3::Simulator::Schedule(), and ns3::WimaxPhy::SetState().
Referenced by StartReceive().
|
private |
Definition at line 334 of file simple-ofdm-wimax-phy.cc.
References ns3::WimaxPhy::PHY_STATE_IDLE, and ns3::WimaxPhy::SetState().
|
private |
Definition at line 315 of file simple-ofdm-wimax-phy.cc.
References m_blockSize, m_currentBurst, m_currentBurstSize, m_nrFecBlocksSent, m_nrRemainingBlocksToSend, m_paddingBits, NotifyTxEnd(), NS_ASSERT_MSG, ns3::WimaxPhy::PHY_STATE_IDLE, ns3::WimaxPhy::SetState(), and StartSendDummyFecBlock().
Referenced by StartSendDummyFecBlock().
uint32_t ns3::SimpleOfdmWimaxPhy::GetBandwidth | ( | void | ) | const |
Definition at line 190 of file simple-ofdm-wimax-phy.cc.
References ns3::WimaxPhy::GetChannelBandwidth().
Referenced by StartReceive().
|
private |
Definition at line 698 of file simple-ofdm-wimax-phy.cc.
References DoGetDataRate(), and GetFecBlockSize().
Referenced by StartReceive(), and StartSendDummyFecBlock().
|
private |
Definition at line 763 of file simple-ofdm-wimax-phy.cc.
References ns3::WimaxPhy::MODULATION_TYPE_BPSK_12, ns3::WimaxPhy::MODULATION_TYPE_QAM16_12, ns3::WimaxPhy::MODULATION_TYPE_QAM16_34, ns3::WimaxPhy::MODULATION_TYPE_QAM64_23, ns3::WimaxPhy::MODULATION_TYPE_QAM64_34, ns3::WimaxPhy::MODULATION_TYPE_QPSK_12, ns3::WimaxPhy::MODULATION_TYPE_QPSK_34, and NS_FATAL_ERROR.
|
private |
Definition at line 728 of file simple-ofdm-wimax-phy.cc.
References ns3::WimaxPhy::MODULATION_TYPE_BPSK_12, ns3::WimaxPhy::MODULATION_TYPE_QAM16_12, ns3::WimaxPhy::MODULATION_TYPE_QAM16_34, ns3::WimaxPhy::MODULATION_TYPE_QAM64_23, ns3::WimaxPhy::MODULATION_TYPE_QAM64_34, ns3::WimaxPhy::MODULATION_TYPE_QPSK_12, ns3::WimaxPhy::MODULATION_TYPE_QPSK_34, and NS_FATAL_ERROR.
Referenced by DoGetNrSymbols(), GetBlockTransmissionTime(), GetNrBlocks(), and SetBlockParameters().
|
private |
Definition at line 616 of file simple-ofdm-wimax-phy.cc.
References ns3::WimaxPhy::MODULATION_TYPE_BPSK_12, ns3::WimaxPhy::MODULATION_TYPE_QAM16_12, ns3::WimaxPhy::MODULATION_TYPE_QAM16_34, ns3::WimaxPhy::MODULATION_TYPE_QAM64_23, ns3::WimaxPhy::MODULATION_TYPE_QAM64_34, ns3::WimaxPhy::MODULATION_TYPE_QPSK_12, and ns3::WimaxPhy::MODULATION_TYPE_QPSK_34.
Referenced by CalculateDataRate().
double ns3::SimpleOfdmWimaxPhy::GetNoiseFigure | ( | void | ) | const |
Definition at line 213 of file simple-ofdm-wimax-phy.cc.
References m_noiseFigure.
Referenced by GetTypeId().
|
private |
Definition at line 909 of file simple-ofdm-wimax-phy.cc.
References GetFecBlockSize().
Referenced by DoGetNrSymbols(), and SetBlockParameters().
|
virtual |
returns the type this physical layer
Implements ns3::WimaxPhy.
Definition at line 252 of file simple-ofdm-wimax-phy.cc.
References ns3::WimaxPhy::simpleOfdmWimaxPhy.
|
private |
Definition at line 1042 of file simple-ofdm-wimax-phy.cc.
References m_rxGain.
Referenced by GetTypeId().
|
private |
Definition at line 1048 of file simple-ofdm-wimax-phy.cc.
References ns3::SNRToBlockErrorRateManager::GetTraceFilePath(), and m_snrToBlockErrorRateManager.
Referenced by GetTypeId().
|
private |
Definition at line 1036 of file simple-ofdm-wimax-phy.cc.
References m_txGain.
Referenced by GetTypeId().
double ns3::SimpleOfdmWimaxPhy::GetTxPower | ( | void | ) | const |
Definition at line 202 of file simple-ofdm-wimax-phy.cc.
References m_txPower.
Referenced by GetTypeId().
|
static |
Definition at line 43 of file simple-ofdm-wimax-phy.cc.
References DoGetGValue(), DoGetNfft(), DoSetGValue(), DoSetNfft(), GetNoiseFigure(), GetRxGain(), GetTraceFilePath(), GetTxGain(), GetTxPower(), m_phyRxBeginTrace, m_phyRxDropTrace, m_phyRxEndTrace, m_phyTxBeginTrace, m_phyTxDropTrace, m_phyTxEndTrace, m_traceRx, m_traceTx, ns3::MakeTraceSourceAccessor(), SetNoiseFigure(), ns3::TypeId::SetParent(), SetRxGain(), SetTraceFilePath(), SetTxGain(), and SetTxPower().
|
private |
Definition at line 123 of file simple-ofdm-wimax-phy.cc.
References m_blockSize, m_currentBurstSize, m_dataRateBpsk12, m_dataRateQam16_12, m_dataRateQam16_34, m_dataRateQam64_23, m_dataRateQam64_34, m_dataRateQpsk12, m_dataRateQpsk34, m_fecBlocks, m_fecBlockSize, m_g, m_nbErroneousBlock, m_nfft, m_noiseFigure, m_nrBlocks, m_nrFecBlocksSent, m_nrRecivedFecBlocks, m_paddingBits, m_receivedFecBlocks, m_rxGain, m_snrToBlockErrorRateManager, m_txGain, m_txPower, SetBandwidth(), and ns3::WimaxPhy::SetNrCarriers().
Referenced by SimpleOfdmWimaxPhy().
void ns3::SimpleOfdmWimaxPhy::NotifyRxBegin | ( | Ptr< PacketBurst > | burst | ) |
Public method used to fire a PhyRxBegin trace. Implemented for encapsulation purposes.
Definition at line 1080 of file simple-ofdm-wimax-phy.cc.
References m_phyRxBeginTrace.
Referenced by StartReceive().
void ns3::SimpleOfdmWimaxPhy::NotifyRxDrop | ( | Ptr< PacketBurst > | burst | ) |
Public method used to fire a PhyRxDrop trace. Implemented for encapsulation purposes.
Definition at line 1092 of file simple-ofdm-wimax-phy.cc.
References m_phyRxDropTrace.
Referenced by EndReceiveFecBlock().
void ns3::SimpleOfdmWimaxPhy::NotifyRxEnd | ( | Ptr< PacketBurst > | burst | ) |
Public method used to fire a PhyRxEnd trace. Implemented for encapsulation purposes.
Definition at line 1086 of file simple-ofdm-wimax-phy.cc.
References m_phyRxEndTrace.
Referenced by EndReceiveFecBlock().
void ns3::SimpleOfdmWimaxPhy::NotifyTxBegin | ( | Ptr< PacketBurst > | burst | ) |
Public method used to fire a PhyTxBegin trace. Implemented for encapsulation purposes.
Definition at line 1062 of file simple-ofdm-wimax-phy.cc.
References m_phyTxBeginTrace.
Referenced by Send().
void ns3::SimpleOfdmWimaxPhy::NotifyTxDrop | ( | Ptr< PacketBurst > | burst | ) |
Public method used to fire a PhyTxDrop trace. Implemented for encapsulation purposes.
Definition at line 1074 of file simple-ofdm-wimax-phy.cc.
References m_phyTxDropTrace.
void ns3::SimpleOfdmWimaxPhy::NotifyTxEnd | ( | Ptr< PacketBurst > | burst | ) |
Public method used to fire a PhyTxEnd trace. Implemented for encapsulation purposes.
Definition at line 1068 of file simple-ofdm-wimax-phy.cc.
References m_phyTxEndTrace.
Referenced by EndSendFecBlock().
|
private |
Definition at line 587 of file simple-ofdm-wimax-phy.cc.
References m_blockSize, m_nrBlocks, and m_receivedFecBlocks.
void ns3::SimpleOfdmWimaxPhy::Send | ( | Ptr< PacketBurst > | burst, |
WimaxPhy::ModulationType | modulationType, | ||
uint8_t | direction | ||
) |
Sends a burst on the channel.
burst | the burst to send |
modulationType | the modulation that will be used to send this burst |
direction | set to uplink or downlink |
Definition at line 258 of file simple-ofdm-wimax-phy.cc.
References ns3::WimaxPhy::GetState(), m_currentBurst, m_currentBurstSize, m_nrFecBlocksSent, m_traceTx, NotifyTxBegin(), ns3::WimaxPhy::PHY_STATE_TX, SetBlockParameters(), and StartSendDummyFecBlock().
Referenced by Send().
|
virtual |
Sends a burst on the channel.
Implements ns3::WimaxPhy.
Definition at line 241 of file simple-ofdm-wimax-phy.cc.
References ns3::OfdmSendParams::GetBurst(), ns3::OfdmSendParams::GetDirection(), ns3::OfdmSendParams::GetModulationType(), NS_ASSERT, and Send().
void ns3::SimpleOfdmWimaxPhy::SetBandwidth | ( | uint32_t | BW | ) |
Set the bandwidth.
BW | the bandwidth |
Definition at line 196 of file simple-ofdm-wimax-phy.cc.
References ns3::WimaxPhy::SetChannelBandwidth().
Referenced by InitSimpleOfdmWimaxPhy().
|
private |
Definition at line 797 of file simple-ofdm-wimax-phy.cc.
References GetFecBlockSize(), GetNrBlocks(), m_blockSize, m_nrBlocks, m_nrRemainingBlocksToSend, m_paddingBits, and NS_ASSERT_MSG.
Referenced by Send(), and StartReceive().
void ns3::SimpleOfdmWimaxPhy::SetNoiseFigure | ( | double | nf | ) |
set the noise figure of the device
nf | the noise figure |
Definition at line 218 of file simple-ofdm-wimax-phy.cc.
References m_noiseFigure.
Referenced by GetTypeId().
void ns3::SimpleOfdmWimaxPhy::SetReceiveCallback | ( | Callback< void, Ptr< PacketBurst >, Ptr< WimaxConnection > > | callback | ) |
set the callback function to call when a burst is received
|
private |
Definition at line 1030 of file simple-ofdm-wimax-phy.cc.
References m_rxGain.
Referenced by GetTypeId().
void ns3::SimpleOfdmWimaxPhy::SetSNRToBlockErrorRateTracesPath | ( | char * | tracesPath | ) |
Set the path of the repository containing the traces.
tracesPath | the path to the repository. see snr-to-block-error-rate-manager.h for more details. |
Definition at line 183 of file simple-ofdm-wimax-phy.cc.
References m_snrToBlockErrorRateManager, ns3::SNRToBlockErrorRateManager::ReLoadTraces(), and ns3::SNRToBlockErrorRateManager::SetTraceFilePath().
|
private |
Definition at line 1054 of file simple-ofdm-wimax-phy.cc.
References ns3::SNRToBlockErrorRateManager::LoadTraces(), m_snrToBlockErrorRateManager, and ns3::SNRToBlockErrorRateManager::SetTraceFilePath().
Referenced by GetTypeId().
|
private |
Definition at line 1024 of file simple-ofdm-wimax-phy.cc.
References m_txGain.
Referenced by GetTypeId().
void ns3::SimpleOfdmWimaxPhy::SetTxPower | ( | double | txPower | ) |
set the transmission power
txPower | the transmission power |
Definition at line 207 of file simple-ofdm-wimax-phy.cc.
References m_txPower.
Referenced by GetTypeId().
void ns3::SimpleOfdmWimaxPhy::StartReceive | ( | uint32_t | burstSize, |
bool | isFirstBlock, | ||
uint64_t | frequency, | ||
WimaxPhy::ModulationType | modulationType, | ||
uint8_t | direction, | ||
double | rxPower, | ||
Ptr< PacketBurst > | burst | ||
) |
start the reception of a fec block
burstSize | the burst size |
isFirstBlock | true if this block is the first one, false otherwise |
frequency | the frequency in wich the fec block is being received |
modulationType | the modulation used to transmit this fec Block |
direction | set to uplink and downlink |
rxPower | the received power. |
burst | the burst to be sent |
Definition at line 340 of file simple-ofdm-wimax-phy.cc.
References ns3::Simulator::Cancel(), EndReceiveFecBlock(), GetBandwidth(), GetBlockTransmissionTime(), ns3::WimaxPhy::GetChnlSrchTimeoutEvent(), ns3::SNRToBlockErrorRateRecord::GetI1(), ns3::SNRToBlockErrorRateRecord::GetI2(), ns3::WimaxPhy::GetRxFrequency(), ns3::WimaxPhy::GetScanningFrequency(), ns3::SNRToBlockErrorRateManager::GetSNRToBlockErrorRateRecord(), ns3::WimaxPhy::GetState(), ns3::UniformRandomVariable::GetValue(), ns3::WimaxPhy::IsDuplex(), m_blockTime, m_noiseFigure, m_nrRecivedFecBlocks, m_receivedFecBlocks, m_snrToBlockErrorRateManager, m_URNG, NotifyRxBegin(), NS_LOG_INFO, ns3::WimaxPhy::PHY_STATE_IDLE, ns3::WimaxPhy::PHY_STATE_RX, ns3::WimaxPhy::PHY_STATE_SCANNING, ns3::WimaxPhy::PHY_STATE_TX, ns3::Simulator::Schedule(), SetBlockParameters(), ns3::WimaxPhy::SetScanningCallback(), ns3::WimaxPhy::SetSimplex(), and ns3::WimaxPhy::SetState().
|
private |
Definition at line 276 of file simple-ofdm-wimax-phy.cc.
References EndSendFecBlock(), GetBlockTransmissionTime(), ns3::WimaxPhy::GetChannel(), ns3::WimaxPhy::GetTxFrequency(), m_blockTime, m_currentBurst, m_currentBurstSize, m_nrRemainingBlocksToSend, m_txPower, NS_ASSERT, ns3::PeekPointer(), ns3::WimaxPhy::PHY_STATE_TX, ns3::Simulator::Schedule(), ns3::SimpleOfdmWimaxChannel::Send(), and ns3::WimaxPhy::SetState().
Referenced by EndSendFecBlock(), and Send().
|
private |
Definition at line 266 of file simple-ofdm-wimax-phy.h.
|
private |
Definition at line 260 of file simple-ofdm-wimax-phy.h.
Referenced by CreateFecBlocks(), EndReceiveFecBlock(), EndSendFecBlock(), InitSimpleOfdmWimaxPhy(), RecreateBuffer(), and SetBlockParameters().
|
private |
Definition at line 247 of file simple-ofdm-wimax-phy.h.
Referenced by StartReceive(), and StartSendDummyFecBlock().
|
private |
Definition at line 259 of file simple-ofdm-wimax-phy.h.
Referenced by EndSendFecBlock(), Send(), and StartSendDummyFecBlock().
|
private |
Definition at line 242 of file simple-ofdm-wimax-phy.h.
Referenced by EndSendFecBlock(), InitSimpleOfdmWimaxPhy(), Send(), and StartSendDummyFecBlock().
|
private |
Definition at line 253 of file simple-ofdm-wimax-phy.h.
Referenced by DoGetDataRate(), DoSetDataRates(), and InitSimpleOfdmWimaxPhy().
|
private |
Definition at line 253 of file simple-ofdm-wimax-phy.h.
Referenced by DoGetDataRate(), DoSetDataRates(), and InitSimpleOfdmWimaxPhy().
|
private |
Definition at line 253 of file simple-ofdm-wimax-phy.h.
Referenced by DoGetDataRate(), DoSetDataRates(), and InitSimpleOfdmWimaxPhy().
|
private |
Definition at line 253 of file simple-ofdm-wimax-phy.h.
Referenced by DoGetDataRate(), DoSetDataRates(), and InitSimpleOfdmWimaxPhy().
|
private |
Definition at line 253 of file simple-ofdm-wimax-phy.h.
Referenced by DoGetDataRate(), DoSetDataRates(), and InitSimpleOfdmWimaxPhy().
|
private |
Definition at line 253 of file simple-ofdm-wimax-phy.h.
Referenced by DoGetDataRate(), DoSetDataRates(), and InitSimpleOfdmWimaxPhy().
|
private |
Definition at line 253 of file simple-ofdm-wimax-phy.h.
Referenced by DoGetDataRate(), DoSetDataRates(), and InitSimpleOfdmWimaxPhy().
Definition at line 246 of file simple-ofdm-wimax-phy.h.
Referenced by CreateFecBlocks(), DoDispose(), and InitSimpleOfdmWimaxPhy().
|
private |
Definition at line 241 of file simple-ofdm-wimax-phy.h.
Referenced by InitSimpleOfdmWimaxPhy().
|
private |
Definition at line 265 of file simple-ofdm-wimax-phy.h.
Referenced by DoGetGValue(), DoSetGValue(), and InitSimpleOfdmWimaxPhy().
|
private |
Definition at line 262 of file simple-ofdm-wimax-phy.h.
Referenced by EndReceiveFecBlock(), and InitSimpleOfdmWimaxPhy().
|
private |
Definition at line 264 of file simple-ofdm-wimax-phy.h.
Referenced by DoGetNfft(), DoSetNfft(), and InitSimpleOfdmWimaxPhy().
|
private |
Definition at line 268 of file simple-ofdm-wimax-phy.h.
Referenced by GetNoiseFigure(), InitSimpleOfdmWimaxPhy(), SetNoiseFigure(), and StartReceive().
|
private |
Definition at line 257 of file simple-ofdm-wimax-phy.h.
Referenced by CreateFecBlocks(), InitSimpleOfdmWimaxPhy(), RecreateBuffer(), and SetBlockParameters().
|
private |
Definition at line 245 of file simple-ofdm-wimax-phy.h.
Referenced by EndSendFecBlock(), InitSimpleOfdmWimaxPhy(), and Send().
|
private |
Definition at line 263 of file simple-ofdm-wimax-phy.h.
Referenced by EndReceiveFecBlock(), InitSimpleOfdmWimaxPhy(), and StartReceive().
|
private |
Definition at line 258 of file simple-ofdm-wimax-phy.h.
Referenced by EndSendFecBlock(), SetBlockParameters(), and StartSendDummyFecBlock().
|
private |
Definition at line 261 of file simple-ofdm-wimax-phy.h.
Referenced by CreateFecBlocks(), EndReceiveFecBlock(), EndSendFecBlock(), InitSimpleOfdmWimaxPhy(), and SetBlockParameters().
|
private |
The trace source fired when a packet begins the reception process from the medium.
Definition at line 301 of file simple-ofdm-wimax-phy.h.
Referenced by GetTypeId(), and NotifyRxBegin().
|
private |
The trace source fired when the phy layer drops a packet it has received.
Definition at line 316 of file simple-ofdm-wimax-phy.h.
Referenced by GetTypeId(), and NotifyRxDrop().
|
private |
The trace source fired when a packet ends the reception process from the medium.
Definition at line 309 of file simple-ofdm-wimax-phy.h.
Referenced by GetTypeId(), and NotifyRxEnd().
|
private |
The trace source fired when a packet begins the transmission process on the medium.
Definition at line 277 of file simple-ofdm-wimax-phy.h.
Referenced by GetTypeId(), and NotifyTxBegin().
|
private |
The trace source fired when the phy layer drops a packet as it tries to transmit it.
Definition at line 293 of file simple-ofdm-wimax-phy.h.
Referenced by GetTypeId(), and NotifyTxDrop().
|
private |
The trace source fired when a packet ends the transmission process on the medium.
Definition at line 285 of file simple-ofdm-wimax-phy.h.
Referenced by GetTypeId(), and NotifyTxEnd().
Definition at line 244 of file simple-ofdm-wimax-phy.h.
Referenced by DoDispose(), InitSimpleOfdmWimaxPhy(), RecreateBuffer(), and StartReceive().
|
private |
Definition at line 270 of file simple-ofdm-wimax-phy.h.
Referenced by GetRxGain(), InitSimpleOfdmWimaxPhy(), and SetRxGain().
|
private |
Definition at line 318 of file simple-ofdm-wimax-phy.h.
Referenced by ActivateLoss(), DoDispose(), GetTraceFilePath(), InitSimpleOfdmWimaxPhy(), SetSNRToBlockErrorRateTracesPath(), SetTraceFilePath(), SimpleOfdmWimaxPhy(), and StartReceive().
|
private |
Definition at line 249 of file simple-ofdm-wimax-phy.h.
Referenced by EndReceive(), and GetTypeId().
|
private |
Definition at line 250 of file simple-ofdm-wimax-phy.h.
Referenced by GetTypeId(), and Send().
|
private |
Definition at line 269 of file simple-ofdm-wimax-phy.h.
Referenced by GetTxGain(), InitSimpleOfdmWimaxPhy(), and SetTxGain().
|
private |
Definition at line 267 of file simple-ofdm-wimax-phy.h.
Referenced by GetTxPower(), InitSimpleOfdmWimaxPhy(), SetTxPower(), and StartSendDummyFecBlock().
|
private |
Provides uniform random variables.
Definition at line 321 of file simple-ofdm-wimax-phy.h.
Referenced by AssignStreams(), SimpleOfdmWimaxPhy(), and StartReceive().