A Discrete-Event Network Simulator
API
ns3::SimpleOfdmWimaxPhy Class Reference

SimpleOfdmWimaxPhy class. More...

#include "simple-ofdm-wimax-phy.h"

+ Inheritance diagram for ns3::SimpleOfdmWimaxPhy:
+ Collaboration diagram for ns3::SimpleOfdmWimaxPhy:

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
}
 Frame duration code enumeration. More...
 
- 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
}
 ModulationType enumeration. More...
 
enum  PhyState { PHY_STATE_IDLE, PHY_STATE_SCANNING, PHY_STATE_TX, PHY_STATE_RX }
 PhyState enumeration. More...
 
enum  PhyType { SimpleWimaxPhy, simpleOfdmWimaxPhy }
 PhyType enumeration. More...
 

Public Member Functions

 SimpleOfdmWimaxPhy (void)
 
 SimpleOfdmWimaxPhy (char *tracesPath)
 Constructor. More...
 
 ~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< WimaxChannelGetChannel (void) const
 
uint32_t GetChannelBandwidth (void) const
 Get the channel bandwidth. More...
 
EventId GetChnlSrchTimeoutEvent (void) const
 Get channel search timeout event. More...
 
uint32_t GetDataRate (ModulationType modulationType) const
 Get the data rate corresponding to a modulation type. More...
 
Ptr< NetDeviceGetDevice (void) const
 
Time GetFrameDuration (void) const
 Get the frame duration. More...
 
Time GetFrameDuration (uint8_t frameDurationCode) const
 Get the frame duration corresponding to a given code. More...
 
uint8_t GetFrameDurationCode (void) const
 Get the frame duration code. More...
 
Time GetFrameDurationSec (void) const
 Get the frame duration This method is redundant with GetFrameDuration () More...
 
uint32_t GetFrequency (void) const
 Get the frequency on which the device is locked. More...
 
double GetGValue (void) const
 Get the guard interval factor (the ratio TG/Td) More...
 
virtual Ptr< ObjectGetMobility (void)
 Get the mobility model of the device. More...
 
uint16_t GetNfft (void) const
 Get the size of the FFT. More...
 
uint64_t GetNrBytes (uint32_t symbols, ModulationType modulationType) const
 Get the maximum number of bytes that could be carried by symbols symbols using the modulation modulationType. More...
 
uint8_t GetNrCarriers (void) const
 Get the number of carriers in the physical frame. More...
 
uint64_t GetNrSymbols (uint32_t size, ModulationType modulationType) const
 Get the number of symbols needed to transmit size bytes using the modulation modulationType. More...
 
Time GetPsDuration (void) const
 Get the physical slot duration. More...
 
uint16_t GetPsPerFrame (void) const
 Get the number of physical slots per frame. More...
 
uint16_t GetPsPerSymbol (void) const
 Get the number of physical slots per symbol. More...
 
Callback< void, Ptr< const PacketBurst > > GetReceiveCallback (void) const
 
uint16_t GetRtg (void) const
 Get the receive/transmit transition gap. More...
 
uint64_t GetRxFrequency (void) const
 Get the reception frequency. More...
 
double GetSamplingFactor (void) const
 Get the sampling factor. More...
 
double GetSamplingFrequency (void) const
 Get the sampling frequency. More...
 
uint64_t GetScanningFrequency (void) const
 Get the scanning frequency. More...
 
PhyState GetState (void) const
 Get the state of the device. More...
 
Time GetSymbolDuration (void) const
 Get the OFDM symbol duration. More...
 
uint32_t GetSymbolsPerFrame (void) const
 Get the number of symbols per frame. More...
 
Time GetTransmissionTime (uint32_t size, ModulationType modulationType) const
 Get transmission time needed to send bytes at a given modulation. More...
 
uint16_t GetTtg (void) const
 Get the transmit/receive transition gap. More...
 
uint64_t GetTxFrequency (void) const
 Get the transmission frequency. More...
 
bool IsDuplex (void) const
 Check if configured in duplex mode. More...
 
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 More...
 
void SetPsPerFrame (uint16_t psPerFrame)
 set the number of physical slots 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 OFDM symbol duration 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 a frequency for maximum timeout seconds and call the callback if the frequency can be used More...
 
- Public Member Functions inherited from ns3::Object
 Object ()
 Constructor. More...
 
virtual ~Object ()
 Destructor. More...
 
void AggregateObject (Ptr< Object > other)
 Aggregate two Objects together. More...
 
void Dispose (void)
 Dispose of this Object. More...
 
AggregateIterator GetAggregateIterator (void) const
 Get an iterator to the Objects aggregated to this one. More...
 
virtual TypeId GetInstanceTypeId (void) const
 Get the most derived TypeId for this Object. More...
 
template<typename T >
Ptr< T > GetObject (void) const
 Get a pointer to the requested aggregated Object. More...
 
template<typename T >
Ptr< T > GetObject (TypeId tid) const
 Get a pointer to the requested aggregated Object by TypeId. More...
 
template<>
Ptr< ObjectGetObject () const
 Specialization of () for objects of type ns3::Object. More...
 
template<>
Ptr< ObjectGetObject (TypeId tid) const
 Specialization of (TypeId tid) for objects of type ns3::Object. More...
 
void Initialize (void)
 Invoke DoInitialize on all Objects aggregated to this one. More...
 
bool IsInitialized (void) const
 Check if the object has been initialized. More...
 
- Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
 SimpleRefCount ()
 Default constructor. More...
 
 SimpleRefCount (const SimpleRefCount &o)
 Copy constructor. More...
 
uint32_t GetReferenceCount (void) const
 Get the reference count of the object. More...
 
SimpleRefCountoperator= (const SimpleRefCount &o)
 Assignment operator. 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
 Get the value of an attribute, raising fatal errors if unsuccessful. More...
 
bool GetAttributeFailSafe (std::string name, AttributeValue &value) const
 Get the value of an attribute without raising erros. More...
 
void SetAttribute (std::string name, const AttributeValue &value)
 Set a single attribute, raising fatal errors if unsuccessful. More...
 
bool SetAttributeFailSafe (std::string name, const AttributeValue &value)
 Set a single attribute without raising errors. More...
 
bool TraceConnect (std::string name, std::string context, const CallbackBase &cb)
 Connect a TraceSource to a Callback with a context. More...
 
bool TraceConnectWithoutContext (std::string name, const CallbackBase &cb)
 Connect a TraceSource to a Callback without a context. More...
 
bool TraceDisconnect (std::string name, std::string context, const CallbackBase &cb)
 Disconnect from a TraceSource a Callback previously connected with a context. More...
 
bool TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb)
 Disconnect from a TraceSource a Callback previously connected without a context. More...
 

Static Public Member Functions

static TypeId GetTypeId (void)
 Get the type ID. More...
 
- Static Public Member Functions inherited from ns3::WimaxPhy
static TypeId GetTypeId (void)
 Get the type ID. More...
 
- Static Public Member Functions inherited from ns3::Object
static TypeId GetTypeId (void)
 Register this type. 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
 Calculate data rate. More...
 
Ptr< PacketBurstConvertBitsToBurst (bvec buffer)
 Convert bits to burst. More...
 
bvec ConvertBurstToBits (Ptr< const PacketBurst > burst)
 Convert burst to bits. More...
 
void CreateFecBlocks (const bvec &buffer, WimaxPhy::ModulationType modulationType)
 Create FEC blocks. More...
 
void DoDispose (void)
 Destructor implementation. More...
 
uint32_t DoGetDataRate (WimaxPhy::ModulationType modulationType) const
 Get data rate. More...
 
Time DoGetFrameDuration (uint8_t frameDurationCode) const
 Get frame duration. More...
 
uint8_t DoGetFrameDurationCode (void) const
 Get frame duration code. More...
 
double DoGetGValue (void) const
 Get G value. More...
 
uint16_t DoGetNfft (void) const
 Get NFFT. More...
 
uint64_t DoGetNrBytes (uint32_t symbols, WimaxPhy::ModulationType modulationType) const
 Get number of bytes. More...
 
uint64_t DoGetNrSymbols (uint32_t size, WimaxPhy::ModulationType modulationType) const
 Get number of symbols. More...
 
uint16_t DoGetRtg (void) const
 Get RTG. More...
 
double DoGetSamplingFactor (void) const
 Get sampling factor. More...
 
double DoGetSamplingFrequency (void) const
 Get sampling frequency. More...
 
Time DoGetTransmissionTime (uint32_t size, WimaxPhy::ModulationType modulationType) const
 Get transmission time. More...
 
uint16_t DoGetTtg (void) const
 Get TTG. More...
 
void DoSetDataRates (void)
 Set data rates. More...
 
void DoSetGValue (double g)
 Set G value. More...
 
void DoSetNfft (uint16_t nfft)
 Set NFFT. More...
 
void DoSetPhyParameters (void)
 Set Phy parameters. More...
 
void EndReceive (Ptr< const PacketBurst > burst)
 End receive. More...
 
void EndReceiveFecBlock (uint32_t burstSize, WimaxPhy::ModulationType modulationType, uint8_t direction, uint8_t drop, Ptr< PacketBurst > burst)
 End receive FEC block. More...
 
void EndSend (void)
 End send. More...
 
void EndSendFecBlock (WimaxPhy::ModulationType modulationType, uint8_t direction)
 End send FEC block. More...
 
Time GetBlockTransmissionTime (WimaxPhy::ModulationType modulationType) const
 Get block transmission time. More...
 
uint32_t GetCodedFecBlockSize (WimaxPhy::ModulationType modulationType) const
 Get coded FEC block size. More...
 
uint32_t GetFecBlockSize (WimaxPhy::ModulationType type) const
 Get FEC block size. More...
 
void GetModulationFecParams (WimaxPhy::ModulationType modulationType, uint8_t &bitsPerSymbol, double &fecCode) const
 Get moduleation FEC parameters. More...
 
uint16_t GetNrBlocks (uint32_t burstSize, WimaxPhy::ModulationType modulationType) const
 Get number of blocks. More...
 
double GetRxGain (void) const
 Get receive gain. More...
 
std::string GetTraceFilePath (void) const
 Get trace file path. More...
 
double GetTxGain (void) const
 Get transmit gain. More...
 
void InitSimpleOfdmWimaxPhy (void)
 Initialize simple OFDM WIMAX Phy. More...
 
bvec RecreateBuffer ()
 Recreate buffer. More...
 
void SetBlockParameters (uint32_t burstSize, WimaxPhy::ModulationType modulationType)
 Set block parameters. More...
 
void SetRxGain (double rxgain)
 Set receive gsain. More...
 
void SetTraceFilePath (std::string path)
 Set trace file path. More...
 
void SetTxGain (double txgain)
 Set transmit gain. More...
 
void StartSendDummyFecBlock (bool isFirstBlock, WimaxPhy::ModulationType modulationType, uint8_t direction)
 Start end dummy FEC block. More...
 

Private Attributes

double m_bandWidth
 bandwidth More...
 
uint16_t m_blockSize
 block size More...
 
Time m_blockTime
 block time More...
 
Ptr< PacketBurstm_currentBurst
 current burst More...
 
uint32_t m_currentBurstSize
 current burst size More...
 
uint32_t m_dataRateBpsk12
 data rate More...
 
uint32_t m_dataRateQam16_12
 data rate More...
 
uint32_t m_dataRateQam16_34
 data rate More...
 
uint32_t m_dataRateQam64_23
 data rate More...
 
uint32_t m_dataRateQam64_34
 data rate More...
 
uint32_t m_dataRateQpsk12
 data rate More...
 
uint32_t m_dataRateQpsk34
 data rate More...
 
std::list< bvec > * m_fecBlocks
 the FEC blocks More...
 
uint16_t m_fecBlockSize
 in bits, size of FEC block transmitted after PHY operations More...
 
double m_g
 G value. More...
 
uint16_t m_nbErroneousBlock
 erroneous blocks More...
 
uint16_t m_nfft
 NFFT. More...
 
double m_noiseFigure
 noise figure More...
 
uint16_t m_nrBlocks
 number of blocks More...
 
uint32_t m_nrFecBlocksSent
 counting the number of FEC blocks sent (within a burst) More...
 
uint16_t m_nrRecivedFecBlocks
 number received FEC blocks More...
 
uint16_t m_nrRemainingBlocksToSend
 number of remaining blocks to send More...
 
uint32_t m_paddingBits
 padding bits More...
 
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
 a list of received FEC blocks until they are combined to recreate the full burst buffer More...
 
double m_rxGain
 receive gain More...
 
SNRToBlockErrorRateManagerm_snrToBlockErrorRateManager
 SNR to block error rate manager. More...
 
TracedCallback< Ptr< const PacketBurst > > m_traceRx
 trace receive callback More...
 
TracedCallback< Ptr< const PacketBurst > > m_traceTx
 trace transmit callback More...
 
double m_txGain
 transmit gain More...
 
double m_txPower
 transmit power More...
 
Ptr< UniformRandomVariablem_URNG
 Provides uniform random variables. More...
 

Additional Inherited Members

- Protected Member Functions inherited from ns3::Object
 Object (const Object &o)
 Copy an Object. More...
 
virtual void DoInitialize (void)
 Initialize() implementation. More...
 
virtual void NotifyNewAggregate (void)
 Notify all Objects aggregated to this one of a new Object being aggregated. More...
 
- Protected Member Functions inherited from ns3::ObjectBase
void ConstructSelf (const AttributeConstructionList &attributes)
 Complete construction of ObjectBase; invoked by derived classes. More...
 
virtual void NotifyConstructionCompleted (void)
 Notifier called once the ObjectBase is fully constructed. More...
 

Detailed Description

SimpleOfdmWimaxPhy class.


Config Paths

ns3::SimpleOfdmWimaxPhy is accessible through the following paths with Config::Set and Config::Connect:

  • "/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Phy/$ns3::SimpleOfdmWimaxPhy"

Attributes

  • NoiseFigure: Loss (dB) in the Signal-to-Noise-Ratio due to non-idealities in the receiver.
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 5
    • Flags: construct write read
  • TxPower: Transmission power (dB).
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 30
    • Flags: construct write read
  • G: This is the ratio of CP time to useful time.
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 0.25
    • Flags: construct write read
  • TxGain: Transmission gain (dB).
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 0
    • Flags: construct write read
  • RxGain: Reception gain (dB).
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 0
    • Flags: construct write read
  • Nfft: FFT size
    • Set with class: ns3::UintegerValue
    • Underlying type: uint16_t 256:1024
    • Initial value: 256
    • Flags: construct write read
  • TraceFilePath: Path to the directory containing SNR to block error rate files
    • Set with class: StringValue
    • Underlying type:
    • Initial value:
    • Flags: construct write read

Attributes defined in parent class ns3::WimaxPhy

  • Channel: Wimax channel
  • FrameDuration: The frame duration in seconds.
    • Set with class: ns3::TimeValue
    • Underlying type: Time -9.22337e+18ns:+9.22337e+18ns
    • Initial value: +1e+07ns
    • Flags: construct write read
  • Frequency: The central frequency in KHz.
    • Set with class: ns3::UintegerValue
    • Underlying type: uint32_t 1000000:11000000
    • Initial value: 5000000
    • Flags: construct write read
  • Bandwidth: The channel bandwidth in Hz.
    • Set with class: ns3::UintegerValue
    • Underlying type: uint32_t 5000000:30000000
    • Initial value: 10000000
    • Flags: construct write read

TraceSources

Size of this type is 464 bytes (on a 64-bit architecture).

Definition at line 47 of file simple-ofdm-wimax-phy.h.

Member Enumeration Documentation

◆ FrameDurationCode

Frame duration code enumeration.

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 51 of file simple-ofdm-wimax-phy.h.

Constructor & Destructor Documentation

◆ SimpleOfdmWimaxPhy() [1/2]

ns3::SimpleOfdmWimaxPhy::SimpleOfdmWimaxPhy ( void  )

◆ SimpleOfdmWimaxPhy() [2/2]

ns3::SimpleOfdmWimaxPhy::SimpleOfdmWimaxPhy ( char *  tracesPath)

Constructor.

Parameters
tracesPathtrace path

Definition at line 176 of file simple-ofdm-wimax-phy.cc.

References InitSimpleOfdmWimaxPhy(), ns3::SNRToBlockErrorRateManager::LoadTraces(), m_snrToBlockErrorRateManager, and ns3::SNRToBlockErrorRateManager::SetTraceFilePath().

+ Here is the call graph for this function:

◆ ~SimpleOfdmWimaxPhy()

ns3::SimpleOfdmWimaxPhy::~SimpleOfdmWimaxPhy ( void  )

Definition at line 183 of file simple-ofdm-wimax-phy.cc.

Member Function Documentation

◆ ActivateLoss()

void ns3::SimpleOfdmWimaxPhy::ActivateLoss ( bool  loss)

if called with true it will enable the loss model

Parameters
lossset to true to enable the loss model

Definition at line 189 of file simple-ofdm-wimax-phy.cc.

References ns3::SNRToBlockErrorRateManager::ActivateLoss(), and m_snrToBlockErrorRateManager.

+ Here is the call graph for this function:

◆ AssignStreams()

int64_t ns3::SimpleOfdmWimaxPhy::AssignStreams ( int64_t  stream)
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.

Parameters
streamfirst stream index to use
Returns
the number of stream indices assigned by this model

Implements ns3::WimaxPhy.

Definition at line 1110 of file simple-ofdm-wimax-phy.cc.

References m_URNG, NS_LOG_FUNCTION, and ns3::RandomVariableStream::SetStream().

+ Here is the call graph for this function:

◆ CalculateDataRate()

uint32_t ns3::SimpleOfdmWimaxPhy::CalculateDataRate ( WimaxPhy::ModulationType  modulationType) const
private

Calculate data rate.

Parameters
modulationTypethe modulation type
Returns
the data rate

Definition at line 666 of file simple-ofdm-wimax-phy.cc.

References GetModulationFecParams(), ns3::WimaxPhy::GetNrCarriers(), ns3::Time::GetSeconds(), and ns3::WimaxPhy::GetSymbolDuration().

Referenced by DoSetDataRates().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ConvertBitsToBurst()

Ptr< PacketBurst > ns3::SimpleOfdmWimaxPhy::ConvertBitsToBurst ( bvec  buffer)
private

Convert bits to burst.

Parameters
bufferthe BVEC
Returns
the packet burst

Definition at line 525 of file simple-ofdm-wimax-phy.cc.

References packetSize.

◆ ConvertBurstToBits()

bvec ns3::SimpleOfdmWimaxPhy::ConvertBurstToBits ( Ptr< const PacketBurst burst)
private

Convert burst to bits.

Parameters
burstthe packet burst
Returns
the BVEC

Definition at line 485 of file simple-ofdm-wimax-phy.cc.

References ns3::Packet::CopyData(), ns3::Packet::GetSize(), and list.

+ Here is the call graph for this function:

◆ CreateFecBlocks()

void ns3::SimpleOfdmWimaxPhy::CreateFecBlocks ( const bvec buffer,
WimaxPhy::ModulationType  modulationType 
)
private

Create FEC blocks.

Parameters
bufferthe BVEC
modulationTypethe modulation type

Definition at line 577 of file simple-ofdm-wimax-phy.cc.

References m_blockSize, m_fecBlocks, m_nrBlocks, and m_paddingBits.

◆ DoAttach()

void ns3::SimpleOfdmWimaxPhy::DoAttach ( Ptr< WimaxChannel channel)
virtual

Attach the physical layer to a channel.

Parameters
channelthe channel to which the physical layer will be attached

Implements ns3::WimaxPhy.

Definition at line 247 of file simple-ofdm-wimax-phy.cc.

References ns3::WimaxPhy::GetChannel().

+ Here is the call graph for this function:

◆ DoDispose()

void ns3::SimpleOfdmWimaxPhy::DoDispose ( void  )
privatevirtual

Destructor implementation.

This method is called by Dispose() or by the Object's destructor, whichever comes first.

Subclasses are expected to implement their real destruction code in an overridden 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 236 of file simple-ofdm-wimax-phy.cc.

References ns3::WimaxPhy::DoDispose(), m_fecBlocks, m_receivedFecBlocks, and m_snrToBlockErrorRateManager.

+ Here is the call graph for this function:

◆ DoGetDataRate()

◆ DoGetFrameDuration()

Time ns3::SimpleOfdmWimaxPhy::DoGetFrameDuration ( uint8_t  frameDurationCode) const
privatevirtual

Get frame duration.

Parameters
frameDurationCodethe frame duration code
Returns
the frame duration

Implements ns3::WimaxPhy.

Definition at line 885 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, NS_FATAL_ERROR, and ns3::Seconds().

+ Here is the call graph for this function:

◆ DoGetFrameDurationCode()

uint8_t ns3::SimpleOfdmWimaxPhy::DoGetFrameDurationCode ( void  ) const
privatevirtual

Get frame duration code.

Returns
the frame duration code

Implements ns3::WimaxPhy.

Definition at line 833 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.

+ Here is the call graph for this function:

◆ DoGetGValue()

double ns3::SimpleOfdmWimaxPhy::DoGetGValue ( void  ) const
privatevirtual

Get G value.

Returns
the G value

Implements ns3::WimaxPhy.

Definition at line 1022 of file simple-ofdm-wimax-phy.cc.

References m_g.

Referenced by DoSetPhyParameters(), and GetTypeId().

+ Here is the caller graph for this function:

◆ DoGetNfft()

uint16_t ns3::SimpleOfdmWimaxPhy::DoGetNfft ( void  ) const
privatevirtual

Get NFFT.

Returns
the NFFT

Implements ns3::WimaxPhy.

Definition at line 971 of file simple-ofdm-wimax-phy.cc.

References m_nfft.

Referenced by DoSetPhyParameters(), and GetTypeId().

+ Here is the caller graph for this function:

◆ DoGetNrBytes()

uint64_t ns3::SimpleOfdmWimaxPhy::DoGetNrBytes ( uint32_t  symbols,
WimaxPhy::ModulationType  modulationType 
) const
privatevirtual

Get number of bytes.

Parameters
symbolsthe symbols
modulationTypethe modulation type
Returns
the number of bytes

Implements ns3::WimaxPhy.

Definition at line 733 of file simple-ofdm-wimax-phy.cc.

References DoGetDataRate(), ns3::Time::GetSeconds(), ns3::WimaxPhy::GetSymbolDuration(), and ns3::Seconds().

+ Here is the call graph for this function:

◆ DoGetNrSymbols()

uint64_t ns3::SimpleOfdmWimaxPhy::DoGetNrSymbols ( uint32_t  size,
WimaxPhy::ModulationType  modulationType 
) const
privatevirtual

Get number of symbols.

Parameters
sizethe size
modulationTypethe modulation type
Returns
the number of symbols

Implements ns3::WimaxPhy.

Definition at line 725 of file simple-ofdm-wimax-phy.cc.

References DoGetDataRate(), GetFecBlockSize(), GetNrBlocks(), ns3::Time::GetSeconds(), ns3::WimaxPhy::GetSymbolDuration(), and ns3::Seconds().

Referenced by DoGetTransmissionTime().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ DoGetRtg()

uint16_t ns3::SimpleOfdmWimaxPhy::DoGetRtg ( void  ) const
privatevirtual

Get RTG.

Returns
the RTG

Implements ns3::WimaxPhy.

Definition at line 826 of file simple-ofdm-wimax-phy.cc.

References ns3::WimaxPhy::GetPsPerSymbol().

+ Here is the call graph for this function:

◆ DoGetSamplingFactor()

double ns3::SimpleOfdmWimaxPhy::DoGetSamplingFactor ( void  ) const
privatevirtual

Get sampling factor.

Returns
the sampling factor

Implements ns3::WimaxPhy.

Definition at line 978 of file simple-ofdm-wimax-phy.cc.

References ns3::WimaxPhy::GetChannelBandwidth(), NS_FATAL_ERROR, and NS_LOG_DEBUG.

Referenced by DoGetSamplingFrequency().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ DoGetSamplingFrequency()

double ns3::SimpleOfdmWimaxPhy::DoGetSamplingFrequency ( void  ) const
privatevirtual

Get sampling frequency.

Returns
the sampling frequency

Implements ns3::WimaxPhy.

Definition at line 1014 of file simple-ofdm-wimax-phy.cc.

References DoGetSamplingFactor(), and ns3::WimaxPhy::GetChannelBandwidth().

Referenced by DoSetPhyParameters().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ DoGetTransmissionTime()

Time ns3::SimpleOfdmWimaxPhy::DoGetTransmissionTime ( uint32_t  size,
WimaxPhy::ModulationType  modulationType 
) const
privatevirtual

Get transmission time.

Parameters
sizethe size
modulationTypethe modulation type
Returns
the transmission time

Implements ns3::WimaxPhy.

Definition at line 716 of file simple-ofdm-wimax-phy.cc.

References DoGetNrSymbols(), ns3::WimaxPhy::GetSymbolDuration(), ns3::NanoSeconds(), and ns3::Seconds().

+ Here is the call graph for this function:

◆ DoGetTtg()

uint16_t ns3::SimpleOfdmWimaxPhy::DoGetTtg ( void  ) const
privatevirtual

Get TTG.

Returns
the TTG

Implements ns3::WimaxPhy.

Definition at line 819 of file simple-ofdm-wimax-phy.cc.

References ns3::WimaxPhy::GetPsPerSymbol().

+ Here is the call graph for this function:

◆ DoSetDataRates()

◆ DoSetGValue()

void ns3::SimpleOfdmWimaxPhy::DoSetGValue ( double  g)
private

Set G value.

Parameters
gthe G value

Definition at line 1029 of file simple-ofdm-wimax-phy.cc.

References m_g.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ DoSetNfft()

void ns3::SimpleOfdmWimaxPhy::DoSetNfft ( uint16_t  nfft)
private

Set NFFT.

Parameters
nfftthe NFFT

Definition at line 964 of file simple-ofdm-wimax-phy.cc.

References m_nfft.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ DoSetPhyParameters()

void ns3::SimpleOfdmWimaxPhy::DoSetPhyParameters ( void  )
privatevirtual

◆ EndReceive()

void ns3::SimpleOfdmWimaxPhy::EndReceive ( Ptr< const PacketBurst burst)
private

End receive.

Parameters
burst

Definition at line 477 of file simple-ofdm-wimax-phy.cc.

References ns3::WimaxPhy::GetReceiveCallback(), and m_traceRx.

Referenced by EndReceiveFecBlock().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ EndReceiveFecBlock()

void ns3::SimpleOfdmWimaxPhy::EndReceiveFecBlock ( uint32_t  burstSize,
WimaxPhy::ModulationType  modulationType,
uint8_t  direction,
uint8_t  drop,
Ptr< PacketBurst burst 
)
private

End receive FEC block.

Parameters
burstSizethe burst size
modulationTypethe modulation type
directionthe direction
dropthe drop
burstthe burst

Definition at line 443 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(), ns3::Seconds(), and ns3::WimaxPhy::SetState().

Referenced by StartReceive().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ EndSend()

void ns3::SimpleOfdmWimaxPhy::EndSend ( void  )
private

End send.

Definition at line 346 of file simple-ofdm-wimax-phy.cc.

References ns3::WimaxPhy::PHY_STATE_IDLE, and ns3::WimaxPhy::SetState().

+ Here is the call graph for this function:

◆ EndSendFecBlock()

void ns3::SimpleOfdmWimaxPhy::EndSendFecBlock ( WimaxPhy::ModulationType  modulationType,
uint8_t  direction 
)
private

End send FEC block.

Parameters
modulationTypethe modulation type
directionthe direction

Definition at line 327 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().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetBandwidth()

uint32_t ns3::SimpleOfdmWimaxPhy::GetBandwidth ( void  ) const
Returns
the bandwidth

Definition at line 202 of file simple-ofdm-wimax-phy.cc.

References ns3::WimaxPhy::GetChannelBandwidth().

Referenced by StartReceive().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetBlockTransmissionTime()

Time ns3::SimpleOfdmWimaxPhy::GetBlockTransmissionTime ( WimaxPhy::ModulationType  modulationType) const
private

Get block transmission time.

Parameters
modulationTypethe modulation type
Returns
the block transmission time

Definition at line 710 of file simple-ofdm-wimax-phy.cc.

References DoGetDataRate(), GetFecBlockSize(), and ns3::Seconds().

Referenced by StartReceive(), and StartSendDummyFecBlock().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetCodedFecBlockSize()

uint32_t ns3::SimpleOfdmWimaxPhy::GetCodedFecBlockSize ( WimaxPhy::ModulationType  modulationType) const
private

◆ GetFecBlockSize()

uint32_t ns3::SimpleOfdmWimaxPhy::GetFecBlockSize ( WimaxPhy::ModulationType  type) const
private

◆ GetModulationFecParams()

void ns3::SimpleOfdmWimaxPhy::GetModulationFecParams ( WimaxPhy::ModulationType  modulationType,
uint8_t &  bitsPerSymbol,
double &  fecCode 
) const
private

Get moduleation FEC parameters.

Parameters
modulationTypethe modulation type
bitsPerSymbolthe number of bits per symbol
fecCodethe FEC code

Definition at line 628 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().

+ Here is the caller graph for this function:

◆ GetNoiseFigure()

double ns3::SimpleOfdmWimaxPhy::GetNoiseFigure ( void  ) const
Returns
the noise figure

Definition at line 225 of file simple-ofdm-wimax-phy.cc.

References m_noiseFigure.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ GetNrBlocks()

uint16_t ns3::SimpleOfdmWimaxPhy::GetNrBlocks ( uint32_t  burstSize,
WimaxPhy::ModulationType  modulationType 
) const
private

Get number of blocks.

Parameters
burstSizethe burst size
modulationTypethe modulation type
Returns
the number of blocks

Definition at line 921 of file simple-ofdm-wimax-phy.cc.

References GetFecBlockSize().

Referenced by DoGetNrSymbols(), and SetBlockParameters().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetPhyType()

WimaxPhy::PhyType ns3::SimpleOfdmWimaxPhy::GetPhyType ( void  ) const
virtual

returns the type this physical layer

Returns
always WimaxPhy::simpleOfdmWimaxPhy;

Implements ns3::WimaxPhy.

Definition at line 264 of file simple-ofdm-wimax-phy.cc.

References ns3::WimaxPhy::simpleOfdmWimaxPhy.

◆ GetRxGain()

double ns3::SimpleOfdmWimaxPhy::GetRxGain ( void  ) const
private

Get receive gain.

Returns
the receive gain

Definition at line 1054 of file simple-ofdm-wimax-phy.cc.

References m_rxGain.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ GetTraceFilePath()

std::string ns3::SimpleOfdmWimaxPhy::GetTraceFilePath ( void  ) const
private

Get trace file path.

Returns
the trace file path name

Definition at line 1060 of file simple-ofdm-wimax-phy.cc.

References ns3::SNRToBlockErrorRateManager::GetTraceFilePath(), and m_snrToBlockErrorRateManager.

Referenced by GetTypeId().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetTxGain()

double ns3::SimpleOfdmWimaxPhy::GetTxGain ( void  ) const
private

Get transmit gain.

Returns
the transmit gain

Definition at line 1048 of file simple-ofdm-wimax-phy.cc.

References m_txGain.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ GetTxPower()

double ns3::SimpleOfdmWimaxPhy::GetTxPower ( void  ) const
Returns
the transmission power

Definition at line 214 of file simple-ofdm-wimax-phy.cc.

References m_txPower.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ GetTypeId()

◆ InitSimpleOfdmWimaxPhy()

void ns3::SimpleOfdmWimaxPhy::InitSimpleOfdmWimaxPhy ( void  )
private

◆ NotifyRxBegin()

void ns3::SimpleOfdmWimaxPhy::NotifyRxBegin ( Ptr< PacketBurst burst)

Public method used to fire a PhyRxBegin trace.

Implemented for encapsulation purposes.

Parameters
burstthe packet burst

Definition at line 1092 of file simple-ofdm-wimax-phy.cc.

References m_phyRxBeginTrace.

Referenced by StartReceive().

+ Here is the caller graph for this function:

◆ NotifyRxDrop()

void ns3::SimpleOfdmWimaxPhy::NotifyRxDrop ( Ptr< PacketBurst burst)

Public method used to fire a PhyRxDrop trace.

Implemented for encapsulation purposes.

Parameters
burstthe packet burst

Definition at line 1104 of file simple-ofdm-wimax-phy.cc.

References m_phyRxDropTrace.

Referenced by EndReceiveFecBlock().

+ Here is the caller graph for this function:

◆ NotifyRxEnd()

void ns3::SimpleOfdmWimaxPhy::NotifyRxEnd ( Ptr< PacketBurst burst)

Public method used to fire a PhyRxEnd trace.

Implemented for encapsulation purposes.

Parameters
burstthe packet burst

Definition at line 1098 of file simple-ofdm-wimax-phy.cc.

References m_phyRxEndTrace.

Referenced by EndReceiveFecBlock().

+ Here is the caller graph for this function:

◆ NotifyTxBegin()

void ns3::SimpleOfdmWimaxPhy::NotifyTxBegin ( Ptr< PacketBurst burst)

Public method used to fire a PhyTxBegin trace.

Implemented for encapsulation purposes.

Parameters
burstthe packet burst

Definition at line 1074 of file simple-ofdm-wimax-phy.cc.

References m_phyTxBeginTrace.

Referenced by Send().

+ Here is the caller graph for this function:

◆ NotifyTxDrop()

void ns3::SimpleOfdmWimaxPhy::NotifyTxDrop ( Ptr< PacketBurst burst)

Public method used to fire a PhyTxDrop trace.

Implemented for encapsulation purposes.

Parameters
burstthe packet burst

Definition at line 1086 of file simple-ofdm-wimax-phy.cc.

References m_phyTxDropTrace.

◆ NotifyTxEnd()

void ns3::SimpleOfdmWimaxPhy::NotifyTxEnd ( Ptr< PacketBurst burst)

Public method used to fire a PhyTxEnd trace.

Implemented for encapsulation purposes.

Parameters
burstthe packet burst

Definition at line 1080 of file simple-ofdm-wimax-phy.cc.

References m_phyTxEndTrace.

Referenced by EndSendFecBlock().

+ Here is the caller graph for this function:

◆ RecreateBuffer()

bvec ns3::SimpleOfdmWimaxPhy::RecreateBuffer ( )
private

Recreate buffer.

Returns
BVEC

Definition at line 599 of file simple-ofdm-wimax-phy.cc.

References m_blockSize, m_nrBlocks, and m_receivedFecBlocks.

◆ Send() [1/2]

void ns3::SimpleOfdmWimaxPhy::Send ( Ptr< PacketBurst burst,
WimaxPhy::ModulationType  modulationType,
uint8_t  direction 
)

Sends a burst on the channel.

Parameters
burstthe burst to send
modulationTypethe modulation that will be used to send this burst
directionset to uplink or downlink

Definition at line 270 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().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Send() [2/2]

void ns3::SimpleOfdmWimaxPhy::Send ( SendParams params)
virtual

Sends a burst on the channel.

Parameters
paramsparameters
See also
SendParams

Implements ns3::WimaxPhy.

Definition at line 253 of file simple-ofdm-wimax-phy.cc.

References ns3::OfdmSendParams::GetBurst(), ns3::OfdmSendParams::GetDirection(), ns3::OfdmSendParams::GetModulationType(), NS_ASSERT, and Send().

+ Here is the call graph for this function:

◆ SetBandwidth()

void ns3::SimpleOfdmWimaxPhy::SetBandwidth ( uint32_t  BW)

Set the bandwidth.

Parameters
BWthe bandwidth

Definition at line 208 of file simple-ofdm-wimax-phy.cc.

References ns3::WimaxPhy::SetChannelBandwidth().

Referenced by InitSimpleOfdmWimaxPhy().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SetBlockParameters()

void ns3::SimpleOfdmWimaxPhy::SetBlockParameters ( uint32_t  burstSize,
WimaxPhy::ModulationType  modulationType 
)
private

Set block parameters.

Parameters
burstSizethe burst size
modulationTypethe modulation type

Definition at line 809 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().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SetNoiseFigure()

void ns3::SimpleOfdmWimaxPhy::SetNoiseFigure ( double  nf)

set the noise figure of the device

Parameters
nfthe noise figure

Definition at line 230 of file simple-ofdm-wimax-phy.cc.

References m_noiseFigure.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ SetReceiveCallback()

void ns3::SimpleOfdmWimaxPhy::SetReceiveCallback ( Callback< void, Ptr< PacketBurst >, Ptr< WimaxConnection > >  callback)

set the callback function to call when a burst is received

Parameters
callbackthe receive callback function

◆ SetRxGain()

void ns3::SimpleOfdmWimaxPhy::SetRxGain ( double  rxgain)
private

Set receive gsain.

Parameters
rxgainthe receive gain

Definition at line 1042 of file simple-ofdm-wimax-phy.cc.

References m_rxGain.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ SetSNRToBlockErrorRateTracesPath()

void ns3::SimpleOfdmWimaxPhy::SetSNRToBlockErrorRateTracesPath ( char *  tracesPath)

Set the path of the repository containing the traces.

Parameters
tracesPaththe path to the repository. see snr-to-block-error-rate-manager.h for more details.

Definition at line 195 of file simple-ofdm-wimax-phy.cc.

References m_snrToBlockErrorRateManager, ns3::SNRToBlockErrorRateManager::ReLoadTraces(), and ns3::SNRToBlockErrorRateManager::SetTraceFilePath().

+ Here is the call graph for this function:

◆ SetTraceFilePath()

void ns3::SimpleOfdmWimaxPhy::SetTraceFilePath ( std::string  path)
private

Set trace file path.

Parameters
paththe trace file path

Definition at line 1066 of file simple-ofdm-wimax-phy.cc.

References ns3::SNRToBlockErrorRateManager::LoadTraces(), m_snrToBlockErrorRateManager, and ns3::SNRToBlockErrorRateManager::SetTraceFilePath().

Referenced by GetTypeId().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SetTxGain()

void ns3::SimpleOfdmWimaxPhy::SetTxGain ( double  txgain)
private

Set transmit gain.

Parameters
txgainthe transmit gain

Definition at line 1036 of file simple-ofdm-wimax-phy.cc.

References m_txGain.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ SetTxPower()

void ns3::SimpleOfdmWimaxPhy::SetTxPower ( double  txPower)

set the transmission power

Parameters
txPowerthe transmission power

Definition at line 219 of file simple-ofdm-wimax-phy.cc.

References m_txPower.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ StartReceive()

void ns3::SimpleOfdmWimaxPhy::StartReceive ( uint32_t  burstSize,
bool  isFirstBlock,
uint64_t  frequency,
WimaxPhy::ModulationType  modulationType,
uint8_t  direction,
double  rxPower,
Ptr< PacketBurst burst 
)

◆ StartSendDummyFecBlock()

void ns3::SimpleOfdmWimaxPhy::StartSendDummyFecBlock ( bool  isFirstBlock,
WimaxPhy::ModulationType  modulationType,
uint8_t  direction 
)
private

Start end dummy FEC block.

Parameters
isFirstBlockis the first block?
modulationTypethe modulation type
directionthe direction

Definition at line 288 of file simple-ofdm-wimax-phy.cc.

References third::channel, 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(), and ns3::WimaxPhy::SetState().

Referenced by EndSendFecBlock(), and Send().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ m_bandWidth

double ns3::SimpleOfdmWimaxPhy::m_bandWidth
private

bandwidth

Definition at line 466 of file simple-ofdm-wimax-phy.h.

◆ m_blockSize

uint16_t ns3::SimpleOfdmWimaxPhy::m_blockSize
private

◆ m_blockTime

Time ns3::SimpleOfdmWimaxPhy::m_blockTime
private

block time

Definition at line 442 of file simple-ofdm-wimax-phy.h.

Referenced by StartReceive(), and StartSendDummyFecBlock().

◆ m_currentBurst

Ptr<PacketBurst> ns3::SimpleOfdmWimaxPhy::m_currentBurst
private

current burst

Definition at line 459 of file simple-ofdm-wimax-phy.h.

Referenced by EndSendFecBlock(), Send(), and StartSendDummyFecBlock().

◆ m_currentBurstSize

uint32_t ns3::SimpleOfdmWimaxPhy::m_currentBurstSize
private

current burst size

Definition at line 437 of file simple-ofdm-wimax-phy.h.

Referenced by EndSendFecBlock(), InitSimpleOfdmWimaxPhy(), Send(), and StartSendDummyFecBlock().

◆ m_dataRateBpsk12

uint32_t ns3::SimpleOfdmWimaxPhy::m_dataRateBpsk12
private

data rate

Definition at line 448 of file simple-ofdm-wimax-phy.h.

Referenced by DoGetDataRate(), DoSetDataRates(), and InitSimpleOfdmWimaxPhy().

◆ m_dataRateQam16_12

uint32_t ns3::SimpleOfdmWimaxPhy::m_dataRateQam16_12
private

data rate

Definition at line 451 of file simple-ofdm-wimax-phy.h.

Referenced by DoGetDataRate(), DoSetDataRates(), and InitSimpleOfdmWimaxPhy().

◆ m_dataRateQam16_34

uint32_t ns3::SimpleOfdmWimaxPhy::m_dataRateQam16_34
private

data rate

Definition at line 452 of file simple-ofdm-wimax-phy.h.

Referenced by DoGetDataRate(), DoSetDataRates(), and InitSimpleOfdmWimaxPhy().

◆ m_dataRateQam64_23

uint32_t ns3::SimpleOfdmWimaxPhy::m_dataRateQam64_23
private

data rate

Definition at line 453 of file simple-ofdm-wimax-phy.h.

Referenced by DoGetDataRate(), DoSetDataRates(), and InitSimpleOfdmWimaxPhy().

◆ m_dataRateQam64_34

uint32_t ns3::SimpleOfdmWimaxPhy::m_dataRateQam64_34
private

data rate

Definition at line 454 of file simple-ofdm-wimax-phy.h.

Referenced by DoGetDataRate(), DoSetDataRates(), and InitSimpleOfdmWimaxPhy().

◆ m_dataRateQpsk12

uint32_t ns3::SimpleOfdmWimaxPhy::m_dataRateQpsk12
private

data rate

Definition at line 449 of file simple-ofdm-wimax-phy.h.

Referenced by DoGetDataRate(), DoSetDataRates(), and InitSimpleOfdmWimaxPhy().

◆ m_dataRateQpsk34

uint32_t ns3::SimpleOfdmWimaxPhy::m_dataRateQpsk34
private

data rate

Definition at line 450 of file simple-ofdm-wimax-phy.h.

Referenced by DoGetDataRate(), DoSetDataRates(), and InitSimpleOfdmWimaxPhy().

◆ m_fecBlocks

std::list<bvec>* ns3::SimpleOfdmWimaxPhy::m_fecBlocks
private

the FEC blocks

Definition at line 441 of file simple-ofdm-wimax-phy.h.

Referenced by CreateFecBlocks(), DoDispose(), and InitSimpleOfdmWimaxPhy().

◆ m_fecBlockSize

uint16_t ns3::SimpleOfdmWimaxPhy::m_fecBlockSize
private

in bits, size of FEC block transmitted after PHY operations

Definition at line 436 of file simple-ofdm-wimax-phy.h.

Referenced by InitSimpleOfdmWimaxPhy().

◆ m_g

double ns3::SimpleOfdmWimaxPhy::m_g
private

G value.

Definition at line 465 of file simple-ofdm-wimax-phy.h.

Referenced by DoGetGValue(), DoSetGValue(), and InitSimpleOfdmWimaxPhy().

◆ m_nbErroneousBlock

uint16_t ns3::SimpleOfdmWimaxPhy::m_nbErroneousBlock
private

erroneous blocks

Definition at line 462 of file simple-ofdm-wimax-phy.h.

Referenced by EndReceiveFecBlock(), and InitSimpleOfdmWimaxPhy().

◆ m_nfft

uint16_t ns3::SimpleOfdmWimaxPhy::m_nfft
private

NFFT.

Definition at line 464 of file simple-ofdm-wimax-phy.h.

Referenced by DoGetNfft(), DoSetNfft(), and InitSimpleOfdmWimaxPhy().

◆ m_noiseFigure

double ns3::SimpleOfdmWimaxPhy::m_noiseFigure
private

noise figure

Definition at line 468 of file simple-ofdm-wimax-phy.h.

Referenced by GetNoiseFigure(), InitSimpleOfdmWimaxPhy(), SetNoiseFigure(), and StartReceive().

◆ m_nrBlocks

uint16_t ns3::SimpleOfdmWimaxPhy::m_nrBlocks
private

number of blocks

Definition at line 457 of file simple-ofdm-wimax-phy.h.

Referenced by CreateFecBlocks(), InitSimpleOfdmWimaxPhy(), RecreateBuffer(), and SetBlockParameters().

◆ m_nrFecBlocksSent

uint32_t ns3::SimpleOfdmWimaxPhy::m_nrFecBlocksSent
private

counting the number of FEC blocks sent (within a burst)

Definition at line 440 of file simple-ofdm-wimax-phy.h.

Referenced by EndSendFecBlock(), InitSimpleOfdmWimaxPhy(), and Send().

◆ m_nrRecivedFecBlocks

uint16_t ns3::SimpleOfdmWimaxPhy::m_nrRecivedFecBlocks
private

number received FEC blocks

Definition at line 463 of file simple-ofdm-wimax-phy.h.

Referenced by EndReceiveFecBlock(), InitSimpleOfdmWimaxPhy(), and StartReceive().

◆ m_nrRemainingBlocksToSend

uint16_t ns3::SimpleOfdmWimaxPhy::m_nrRemainingBlocksToSend
private

number of remaining blocks to send

Definition at line 458 of file simple-ofdm-wimax-phy.h.

Referenced by EndSendFecBlock(), SetBlockParameters(), and StartSendDummyFecBlock().

◆ m_paddingBits

uint32_t ns3::SimpleOfdmWimaxPhy::m_paddingBits
private

◆ m_phyRxBeginTrace

TracedCallback<Ptr<PacketBurst > > ns3::SimpleOfdmWimaxPhy::m_phyRxBeginTrace
private

The trace source fired when a packet begins the reception process from the medium.

See also
class CallBackTraceSource
Deprecated:
The non-const Ptr<PacketBurst> argument is deprecated and will be changed to Ptrc<PacketBurst> in a future release.

Definition at line 509 of file simple-ofdm-wimax-phy.h.

Referenced by GetTypeId(), and NotifyRxBegin().

◆ m_phyRxDropTrace

TracedCallback<Ptr<PacketBurst > > ns3::SimpleOfdmWimaxPhy::m_phyRxDropTrace
private

The trace source fired when the phy layer drops a packet it has received.

See also
class CallBackTraceSource
Deprecated:
The non-const Ptr<PacketBurst> argument is deprecated and will be changed to Ptrc<PacketBurst> in a future release.

Definition at line 528 of file simple-ofdm-wimax-phy.h.

Referenced by GetTypeId(), and NotifyRxDrop().

◆ m_phyRxEndTrace

TracedCallback<Ptr<PacketBurst > > ns3::SimpleOfdmWimaxPhy::m_phyRxEndTrace
private

The trace source fired when a packet ends the reception process from the medium.

See also
class CallBackTraceSource
Deprecated:
The non-const Ptr<PacketBurst> argument is deprecated and will be changed to Ptrc<PacketBurst> in a future release.

Definition at line 519 of file simple-ofdm-wimax-phy.h.

Referenced by GetTypeId(), and NotifyRxEnd().

◆ m_phyTxBeginTrace

TracedCallback<Ptr<PacketBurst > > ns3::SimpleOfdmWimaxPhy::m_phyTxBeginTrace
private

The trace source fired when a packet begins the transmission process on the medium.

See also
class CallBackTraceSource
Deprecated:
The non-const Ptr<PacketBurst> argument is deprecated and will be changed to Ptrc<PacketBurst> in a future release.

Definition at line 479 of file simple-ofdm-wimax-phy.h.

Referenced by GetTypeId(), and NotifyTxBegin().

◆ m_phyTxDropTrace

TracedCallback<Ptr<PacketBurst > > ns3::SimpleOfdmWimaxPhy::m_phyTxDropTrace
private

The trace source fired when the phy layer drops a packet as it tries to transmit it.

See also
class CallBackTraceSource
Deprecated:
The non-const Ptr<PacketBurst> argument is deprecated and will be changed to Ptrc<PacketBurst> in a future release.

Definition at line 499 of file simple-ofdm-wimax-phy.h.

Referenced by GetTypeId(), and NotifyTxDrop().

◆ m_phyTxEndTrace

TracedCallback<Ptr<PacketBurst > > ns3::SimpleOfdmWimaxPhy::m_phyTxEndTrace
private

The trace source fired when a packet ends the transmission process on the medium.

See also
class CallBackTraceSource
Deprecated:
The non-const Ptr<PacketBurst> argument is deprecated and will be changed to Ptrc<PacketBurst> in a future release.

Definition at line 489 of file simple-ofdm-wimax-phy.h.

Referenced by GetTypeId(), and NotifyTxEnd().

◆ m_receivedFecBlocks

std::list<bvec>* ns3::SimpleOfdmWimaxPhy::m_receivedFecBlocks
private

a list of received FEC blocks until they are combined to recreate the full burst buffer

Definition at line 439 of file simple-ofdm-wimax-phy.h.

Referenced by DoDispose(), InitSimpleOfdmWimaxPhy(), RecreateBuffer(), and StartReceive().

◆ m_rxGain

double ns3::SimpleOfdmWimaxPhy::m_rxGain
private

receive gain

Definition at line 470 of file simple-ofdm-wimax-phy.h.

Referenced by GetRxGain(), InitSimpleOfdmWimaxPhy(), and SetRxGain().

◆ m_snrToBlockErrorRateManager

SNRToBlockErrorRateManager* ns3::SimpleOfdmWimaxPhy::m_snrToBlockErrorRateManager
private

◆ m_traceRx

TracedCallback<Ptr<const PacketBurst> > ns3::SimpleOfdmWimaxPhy::m_traceRx
private

trace receive callback

Definition at line 444 of file simple-ofdm-wimax-phy.h.

Referenced by EndReceive(), and GetTypeId().

◆ m_traceTx

TracedCallback<Ptr<const PacketBurst> > ns3::SimpleOfdmWimaxPhy::m_traceTx
private

trace transmit callback

Definition at line 445 of file simple-ofdm-wimax-phy.h.

Referenced by GetTypeId(), and Send().

◆ m_txGain

double ns3::SimpleOfdmWimaxPhy::m_txGain
private

transmit gain

Definition at line 469 of file simple-ofdm-wimax-phy.h.

Referenced by GetTxGain(), InitSimpleOfdmWimaxPhy(), and SetTxGain().

◆ m_txPower

double ns3::SimpleOfdmWimaxPhy::m_txPower
private

transmit power

Definition at line 467 of file simple-ofdm-wimax-phy.h.

Referenced by GetTxPower(), InitSimpleOfdmWimaxPhy(), SetTxPower(), and StartSendDummyFecBlock().

◆ m_URNG

Ptr<UniformRandomVariable> ns3::SimpleOfdmWimaxPhy::m_URNG
private

Provides uniform random variables.

URNG

Definition at line 533 of file simple-ofdm-wimax-phy.h.

Referenced by AssignStreams(), SimpleOfdmWimaxPhy(), and StartReceive().


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