#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 } |
Public Types inherited from ns3::WimaxPhy | |
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) |
Assign a fixed random variable stream number to the random variables used by this model. More... | |
void | DoAttach (Ptr< WimaxChannel > channel) |
Attach the physical layer to a channel. More... | |
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) |
Public method used to fire a PhyRxBegin trace. More... | |
void | NotifyRxDrop (Ptr< PacketBurst > burst) |
Public method used to fire a PhyRxDrop trace. More... | |
void | NotifyRxEnd (Ptr< PacketBurst > burst) |
Public method used to fire a PhyRxEnd trace. More... | |
void | NotifyTxBegin (Ptr< PacketBurst > burst) |
Public method used to fire a PhyTxBegin trace. More... | |
void | NotifyTxDrop (Ptr< PacketBurst > burst) |
Public method used to fire a PhyTxDrop trace. More... | |
void | NotifyTxEnd (Ptr< PacketBurst > burst) |
Public method used to fire a PhyTxEnd trace. More... | |
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... | |
Public Member Functions inherited from ns3::WimaxPhy | |
WimaxPhy (void) | |
virtual | ~WimaxPhy (void) |
void | Attach (Ptr< WimaxChannel > channel) |
Attach the physical layer to a channel. More... | |
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... | |
Public Member Functions inherited from ns3::Object | |
Object () | |
virtual | ~Object () |
void | AggregateObject (Ptr< Object > other) |
void | Dispose (void) |
Run the DoDispose methods of this object and all the objects aggregated to it. More... | |
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) |
This method calls the virtual DoInitialize method on all the objects aggregated to this object. More... | |
Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter > | |
SimpleRefCount () | |
Constructor. More... | |
SimpleRefCount (const SimpleRefCount &o) | |
Copy constructor. More... | |
uint32_t | GetReferenceCount (void) const |
Get the reference count of the object. More... | |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
Assignment. More... | |
void | Ref (void) const |
Increment the reference count. More... | |
void | Unref (void) const |
Decrement the reference count. More... | |
Public Member Functions inherited from ns3::ObjectBase | |
virtual | ~ObjectBase () |
Virtual destructor. More... | |
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 Public Member Functions inherited from ns3::WimaxPhy | |
static TypeId | GetTypeId (void) |
Static Public Member Functions inherited from ns3::Object | |
static TypeId | GetTypeId (void) |
Register this type. More... | |
Static Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter > | |
static void | Cleanup (void) |
Noop. More... | |
Static Public Member Functions inherited from ns3::ObjectBase | |
static TypeId | GetTypeId (void) |
Get the type ID. More... | |
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) |
This method is called by Object::Dispose or by the object's destructor, whichever comes first. More... | |
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) |
Private Attributes | |
double | m_bandWidth |
uint16_t | m_blockSize |
Time | m_blockTime |
Ptr< PacketBurst > | m_currentBurst |
uint32_t | m_currentBurstSize |
uint32_t | m_dataRateBpsk12 |
uint32_t | m_dataRateQam16_12 |
uint32_t | m_dataRateQam16_34 |
uint32_t | m_dataRateQam64_23 |
uint32_t | m_dataRateQam64_34 |
uint32_t | m_dataRateQpsk12 |
uint32_t | m_dataRateQpsk34 |
std::list< bvec > * | m_fecBlocks |
uint16_t | m_fecBlockSize |
double | m_g |
uint16_t | m_nbErroneousBlock |
uint16_t | m_nfft |
double | m_noiseFigure |
uint16_t | m_nrBlocks |
uint32_t | m_nrFecBlocksSent |
uint16_t | m_nrRecivedFecBlocks |
uint16_t | m_nrRemainingBlocksToSend |
uint32_t | m_paddingBits |
TracedCallback< Ptr < PacketBurst > > | m_phyRxBeginTrace |
The trace source fired when a packet begins the reception process from the medium. More... | |
TracedCallback< Ptr < PacketBurst > > | m_phyRxDropTrace |
The trace source fired when the phy layer drops a packet it has received. More... | |
TracedCallback< Ptr < PacketBurst > > | m_phyRxEndTrace |
The trace source fired when a packet ends the reception process from the medium. More... | |
TracedCallback< Ptr < PacketBurst > > | m_phyTxBeginTrace |
The trace source fired when a packet begins the transmission process on the medium. More... | |
TracedCallback< Ptr < PacketBurst > > | m_phyTxDropTrace |
The trace source fired when the phy layer drops a packet as it tries to transmit it. More... | |
TracedCallback< Ptr < PacketBurst > > | m_phyTxEndTrace |
The trace source fired when a packet ends the transmission process on the medium. More... | |
std::list< bvec > * | m_receivedFecBlocks |
double | m_rxGain |
SNRToBlockErrorRateManager * | m_snrToBlockErrorRateManager |
TracedCallback< Ptr< const PacketBurst > > | m_traceRx |
TracedCallback< Ptr< const PacketBurst > > | m_traceTx |
double | m_txGain |
double | m_txPower |
Ptr< UniformRandomVariable > | m_URNG |
Provides uniform random variables. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from ns3::Object | |
Object (const Object &o) | |
virtual void | DoInitialize (void) |
This method is called only once by Object::Initialize. More... | |
virtual void | NotifyNewAggregate (void) |
This method is invoked whenever two sets of objects are aggregated together. More... | |
Protected Member Functions inherited from ns3::ObjectBase | |
void | ConstructSelf (const AttributeConstructionList &attributes) |
virtual void | NotifyConstructionCompleted (void) |
This method is invoked once all member attributes have been initialized. More... | |
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 156 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 165 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 172 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 178 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 1099 of file simple-ofdm-wimax-phy.cc.
References m_URNG, NS_LOG_FUNCTION, and ns3::RandomVariableStream::SetStream().
|
private |
Definition at line 655 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 514 of file simple-ofdm-wimax-phy.cc.
|
private |
Definition at line 474 of file simple-ofdm-wimax-phy.cc.
References ns3::Packet::CopyData(), ns3::Packet::GetSize(), and list.
|
private |
Definition at line 566 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 236 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 225 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 668 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 874 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 822 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 1011 of file simple-ofdm-wimax-phy.cc.
References m_g.
Referenced by DoSetPhyParameters(), and GetTypeId().
|
privatevirtual |
Implements ns3::WimaxPhy.
Definition at line 960 of file simple-ofdm-wimax-phy.cc.
References m_nfft.
Referenced by DoSetPhyParameters(), and GetTypeId().
|
privatevirtual |
Implements ns3::WimaxPhy.
Definition at line 722 of file simple-ofdm-wimax-phy.cc.
References DoGetDataRate(), ns3::Time::GetSeconds(), and ns3::WimaxPhy::GetSymbolDuration().
|
privatevirtual |
Implements ns3::WimaxPhy.
Definition at line 714 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 815 of file simple-ofdm-wimax-phy.cc.
References ns3::WimaxPhy::GetPsPerSymbol().
|
privatevirtual |
Implements ns3::WimaxPhy.
Definition at line 967 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 1003 of file simple-ofdm-wimax-phy.cc.
References DoGetSamplingFactor(), and ns3::WimaxPhy::GetChannelBandwidth().
Referenced by DoSetPhyParameters().
|
privatevirtual |
Implements ns3::WimaxPhy.
Definition at line 705 of file simple-ofdm-wimax-phy.cc.
References DoGetNrSymbols(), and ns3::WimaxPhy::GetSymbolDuration().
|
privatevirtual |
Implements ns3::WimaxPhy.
Definition at line 808 of file simple-ofdm-wimax-phy.cc.
References ns3::WimaxPhy::GetPsPerSymbol().
|
privatevirtual |
Implements ns3::WimaxPhy.
Definition at line 605 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 1018 of file simple-ofdm-wimax-phy.cc.
References m_g.
Referenced by GetTypeId().
|
private |
Definition at line 953 of file simple-ofdm-wimax-phy.cc.
References m_nfft.
Referenced by GetTypeId().
|
privatevirtual |
Implements ns3::WimaxPhy.
Definition at line 925 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 466 of file simple-ofdm-wimax-phy.cc.
References ns3::WimaxPhy::GetReceiveCallback(), and m_traceRx.
Referenced by EndReceiveFecBlock().
|
private |
Definition at line 432 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 335 of file simple-ofdm-wimax-phy.cc.
References ns3::WimaxPhy::PHY_STATE_IDLE, and ns3::WimaxPhy::SetState().
|
private |
Definition at line 316 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 191 of file simple-ofdm-wimax-phy.cc.
References ns3::WimaxPhy::GetChannelBandwidth().
Referenced by StartReceive().
|
private |
Definition at line 699 of file simple-ofdm-wimax-phy.cc.
References DoGetDataRate(), and GetFecBlockSize().
Referenced by StartReceive(), and StartSendDummyFecBlock().
|
private |
Definition at line 764 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 729 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 617 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 214 of file simple-ofdm-wimax-phy.cc.
References m_noiseFigure.
Referenced by GetTypeId().
|
private |
Definition at line 910 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 253 of file simple-ofdm-wimax-phy.cc.
References ns3::WimaxPhy::simpleOfdmWimaxPhy.
|
private |
Definition at line 1043 of file simple-ofdm-wimax-phy.cc.
References m_rxGain.
Referenced by GetTypeId().
|
private |
Definition at line 1049 of file simple-ofdm-wimax-phy.cc.
References ns3::SNRToBlockErrorRateManager::GetTraceFilePath(), and m_snrToBlockErrorRateManager.
Referenced by GetTypeId().
|
private |
Definition at line 1037 of file simple-ofdm-wimax-phy.cc.
References m_txGain.
Referenced by GetTypeId().
double ns3::SimpleOfdmWimaxPhy::GetTxPower | ( | void | ) | const |
Definition at line 203 of file simple-ofdm-wimax-phy.cc.
References m_txPower.
Referenced by GetTypeId().
|
static |
Definition at line 44 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 124 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 1081 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 1093 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 1087 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 1063 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 1075 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 1069 of file simple-ofdm-wimax-phy.cc.
References m_phyTxEndTrace.
Referenced by EndSendFecBlock().
|
private |
Definition at line 588 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 259 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 242 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 197 of file simple-ofdm-wimax-phy.cc.
References ns3::WimaxPhy::SetChannelBandwidth().
Referenced by InitSimpleOfdmWimaxPhy().
|
private |
Definition at line 798 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 219 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 1031 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 184 of file simple-ofdm-wimax-phy.cc.
References m_snrToBlockErrorRateManager, ns3::SNRToBlockErrorRateManager::ReLoadTraces(), and ns3::SNRToBlockErrorRateManager::SetTraceFilePath().
|
private |
Definition at line 1055 of file simple-ofdm-wimax-phy.cc.
References ns3::SNRToBlockErrorRateManager::LoadTraces(), m_snrToBlockErrorRateManager, and ns3::SNRToBlockErrorRateManager::SetTraceFilePath().
Referenced by GetTypeId().
|
private |
Definition at line 1025 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 208 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 341 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 277 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().