A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ns3::WimaxPhy Class Referenceabstract

#include <wimax-phy.h>

+ Inheritance diagram for ns3::WimaxPhy:
+ Collaboration diagram for ns3::WimaxPhy:

Public Types

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

 WimaxPhy (void)
 
virtual ~WimaxPhy (void)
 
virtual int64_t AssignStreams (int64_t stream)=0
 Assign a fixed random variable stream number to the random variables used by this model. More...
 
void Attach (Ptr< WimaxChannel > channel)
 Attach the physical layer to a channel. More...
 
virtual void DoDispose (void)
 This method is called by Object::Dispose or by the object's destructor, whichever comes first. More...
 
Ptr< WimaxChannelGetChannel (void) const
 
uint32_t GetChannelBandwidth (void) const
 
EventId GetChnlSrchTimeoutEvent (void) const
 
uint32_t GetDataRate (ModulationType modulationType) const
 
Ptr< NetDeviceGetDevice (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< ObjectGetMobility (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
 
virtual PhyType GetPhyType (void) const =0
 Get the type of the physical layer. More...
 
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
 
virtual void Send (SendParams *params)=0
 send a packet on the channel 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 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...
 
SimpleRefCountoperator= (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::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

virtual void DoAttach (Ptr< WimaxChannel > channel)=0
 
virtual uint32_t DoGetDataRate (ModulationType modulationType) const =0
 
virtual Time DoGetFrameDuration (uint8_t frameDurationCode) const =0
 
virtual uint8_t DoGetFrameDurationCode (void) const =0
 
virtual double DoGetGValue (void) const =0
 
virtual uint16_t DoGetNfft (void) const =0
 
virtual uint64_t DoGetNrBytes (uint32_t symbols, ModulationType modulationType) const =0
 
virtual uint64_t DoGetNrSymbols (uint32_t size, ModulationType modulationType) const =0
 
virtual uint16_t DoGetRtg (void) const =0
 
virtual double DoGetSamplingFactor (void) const =0
 
virtual double DoGetSamplingFrequency (void) const =0
 
virtual Time DoGetTransmissionTime (uint32_t size, ModulationType modulationType) const =0
 
virtual uint16_t DoGetTtg (void) const =0
 
virtual void DoSetDataRates (void)=0
 
virtual void DoSetPhyParameters (void)=0
 
void EndScanning (void)
 
void GetModulationFecParams (ModulationType modulationType, uint8_t &bitsPerSymbol, double &fecCode) const
 

Private Attributes

Ptr< WimaxChannelm_channel
 
uint32_t m_channelBandwidth
 
Ptr< WimaxNetDevicem_device
 
EventId m_dlChnlSrchTimeoutEvent
 
bool m_duplex
 
Time m_frameDuration
 
uint32_t m_frequency
 
Ptr< Objectm_mobility
 
uint8_t m_nrCarriers
 
Time m_psDuration
 
uint16_t m_psPerFrame
 
uint16_t m_psPerSymbol
 
Callback< void, Ptr< const
PacketBurst > > 
m_rxCallback
 
uint64_t m_rxFrequency
 
Callback< void, bool, uint64_t > m_scanningCallback
 
uint64_t m_scanningFrequency
 
PhyState m_state
 
Time m_symbolDuration
 
uint32_t m_symbolsPerFrame
 
uint64_t m_txFrequency
 

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

Detailed Description

Config Paths

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

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

Attributes

  • Channel: Wimax channel
  • FrameDuration: The frame duration in seconds.
    • Set with class: ns3::TimeValue
    • Underlying type: Time –9223372036854775808.0ns:+9223372036854775807.0ns
    • Initial value: +10000000.0ns
    • 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

No TraceSources are defined for this type.

Definition at line 45 of file wimax-phy.h.

Member Enumeration Documentation

Enumerator
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 

Definition at line 48 of file wimax-phy.h.

Enumerator
PHY_STATE_IDLE 
PHY_STATE_SCANNING 
PHY_STATE_TX 
PHY_STATE_RX 

Definition at line 54 of file wimax-phy.h.

Enumerator
SimpleWimaxPhy 
simpleOfdmWimaxPhy 

Definition at line 59 of file wimax-phy.h.

Constructor & Destructor Documentation

ns3::WimaxPhy::WimaxPhy ( void  )

Definition at line 71 of file wimax-phy.cc.

References m_duplex, m_mobility, m_rxFrequency, and m_txFrequency.

ns3::WimaxPhy::~WimaxPhy ( void  )
virtual

Definition at line 90 of file wimax-phy.cc.

Member Function Documentation

virtual int64_t ns3::WimaxPhy::AssignStreams ( int64_t  stream)
pure 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

Implemented in ns3::SimpleOfdmWimaxPhy.

void ns3::WimaxPhy::Attach ( Ptr< WimaxChannel channel)

Attach the physical layer to a channel.

Parameters
channelthe channel to which the physical layer will be attached

Definition at line 102 of file wimax-phy.cc.

References DoAttach(), and m_channel.

Referenced by GetTypeId().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

virtual void ns3::WimaxPhy::DoAttach ( Ptr< WimaxChannel channel)
privatepure virtual

Implemented in ns3::SimpleOfdmWimaxPhy.

Referenced by Attach().

+ Here is the caller graph for this function:

void ns3::WimaxPhy::DoDispose ( void  )
virtual

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::Object.

Reimplemented in ns3::SimpleOfdmWimaxPhy.

Definition at line 95 of file wimax-phy.cc.

References m_channel, and m_device.

Referenced by ns3::SimpleOfdmWimaxPhy::DoDispose().

+ Here is the caller graph for this function:

virtual uint32_t ns3::WimaxPhy::DoGetDataRate ( ModulationType  modulationType) const
privatepure virtual

Implemented in ns3::SimpleOfdmWimaxPhy.

Referenced by GetDataRate().

+ Here is the caller graph for this function:

virtual Time ns3::WimaxPhy::DoGetFrameDuration ( uint8_t  frameDurationCode) const
privatepure virtual

Implemented in ns3::SimpleOfdmWimaxPhy.

Referenced by GetFrameDuration().

+ Here is the caller graph for this function:

virtual uint8_t ns3::WimaxPhy::DoGetFrameDurationCode ( void  ) const
privatepure virtual

Implemented in ns3::SimpleOfdmWimaxPhy.

Referenced by GetFrameDurationCode().

+ Here is the caller graph for this function:

virtual double ns3::WimaxPhy::DoGetGValue ( void  ) const
privatepure virtual

Implemented in ns3::SimpleOfdmWimaxPhy.

Referenced by GetGValue().

+ Here is the caller graph for this function:

virtual uint16_t ns3::WimaxPhy::DoGetNfft ( void  ) const
privatepure virtual

Implemented in ns3::SimpleOfdmWimaxPhy.

Referenced by GetNfft().

+ Here is the caller graph for this function:

virtual uint64_t ns3::WimaxPhy::DoGetNrBytes ( uint32_t  symbols,
ModulationType  modulationType 
) const
privatepure virtual

Implemented in ns3::SimpleOfdmWimaxPhy.

Referenced by GetNrBytes().

+ Here is the caller graph for this function:

virtual uint64_t ns3::WimaxPhy::DoGetNrSymbols ( uint32_t  size,
ModulationType  modulationType 
) const
privatepure virtual

Implemented in ns3::SimpleOfdmWimaxPhy.

Referenced by GetNrSymbols().

+ Here is the caller graph for this function:

virtual uint16_t ns3::WimaxPhy::DoGetRtg ( void  ) const
privatepure virtual

Implemented in ns3::SimpleOfdmWimaxPhy.

Referenced by GetRtg().

+ Here is the caller graph for this function:

virtual double ns3::WimaxPhy::DoGetSamplingFactor ( void  ) const
privatepure virtual

Implemented in ns3::SimpleOfdmWimaxPhy.

Referenced by GetSamplingFactor().

+ Here is the caller graph for this function:

virtual double ns3::WimaxPhy::DoGetSamplingFrequency ( void  ) const
privatepure virtual

Implemented in ns3::SimpleOfdmWimaxPhy.

Referenced by GetSamplingFrequency().

+ Here is the caller graph for this function:

virtual Time ns3::WimaxPhy::DoGetTransmissionTime ( uint32_t  size,
ModulationType  modulationType 
) const
privatepure virtual

Implemented in ns3::SimpleOfdmWimaxPhy.

Referenced by GetTransmissionTime().

+ Here is the caller graph for this function:

virtual uint16_t ns3::WimaxPhy::DoGetTtg ( void  ) const
privatepure virtual

Implemented in ns3::SimpleOfdmWimaxPhy.

Referenced by GetTtg().

+ Here is the caller graph for this function:

virtual void ns3::WimaxPhy::DoSetDataRates ( void  )
privatepure virtual

Implemented in ns3::SimpleOfdmWimaxPhy.

Referenced by SetDataRates().

+ Here is the caller graph for this function:

virtual void ns3::WimaxPhy::DoSetPhyParameters ( void  )
privatepure virtual

Implemented in ns3::SimpleOfdmWimaxPhy.

Referenced by SetPhyParameters().

+ Here is the caller graph for this function:

void ns3::WimaxPhy::EndScanning ( void  )
private

Definition at line 139 of file wimax-phy.cc.

References m_scanningCallback, and m_scanningFrequency.

Referenced by StartScanning().

+ Here is the caller graph for this function:

Ptr< WimaxChannel > ns3::WimaxPhy::GetChannel ( void  ) const
Returns
the channel to which this physical layer is attached

Definition at line 109 of file wimax-phy.cc.

References m_channel.

Referenced by ns3::SimpleOfdmWimaxPhy::DoAttach(), GetTypeId(), and ns3::SimpleOfdmWimaxPhy::StartSendDummyFecBlock().

+ Here is the caller graph for this function:

uint32_t ns3::WimaxPhy::GetChannelBandwidth ( void  ) const
Returns
the channel bandwidth

Definition at line 328 of file wimax-phy.cc.

References m_channelBandwidth.

Referenced by ns3::SimpleOfdmWimaxPhy::DoGetSamplingFactor(), ns3::SimpleOfdmWimaxPhy::DoGetSamplingFrequency(), ns3::SimpleOfdmWimaxPhy::GetBandwidth(), and GetTypeId().

+ Here is the caller graph for this function:

EventId ns3::WimaxPhy::GetChnlSrchTimeoutEvent ( void  ) const

Definition at line 206 of file wimax-phy.cc.

References m_dlChnlSrchTimeoutEvent.

Referenced by ns3::SimpleOfdmWimaxPhy::StartReceive().

+ Here is the caller graph for this function:

uint32_t ns3::WimaxPhy::GetDataRate ( WimaxPhy::ModulationType  modulationType) const
Returns
the data rate of the modulation modulationType
Parameters
modulationTypethe modulation that you want to get its data rate

Definition at line 224 of file wimax-phy.cc.

References DoGetDataRate().

+ Here is the call graph for this function:

Ptr< NetDevice > ns3::WimaxPhy::GetDevice ( void  ) const
Returns
the the device in which this physical layer is installed

Definition at line 121 of file wimax-phy.cc.

References m_device.

Time ns3::WimaxPhy::GetFrameDuration ( void  ) const
Returns
the frame duration

Definition at line 298 of file wimax-phy.cc.

References GetFrameDurationSec().

Referenced by ns3::SimpleOfdmWimaxPhy::DoGetFrameDurationCode(), and ns3::SimpleOfdmWimaxPhy::DoSetPhyParameters().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Time ns3::WimaxPhy::GetFrameDuration ( uint8_t  frameDurationCode) const

Definition at line 266 of file wimax-phy.cc.

References DoGetFrameDuration().

+ Here is the call graph for this function:

uint8_t ns3::WimaxPhy::GetFrameDurationCode ( void  ) const

Definition at line 260 of file wimax-phy.cc.

References DoGetFrameDurationCode().

+ Here is the call graph for this function:

Time ns3::WimaxPhy::GetFrameDurationSec ( void  ) const
Returns
the frame duration in seconds

Definition at line 304 of file wimax-phy.cc.

References m_frameDuration.

Referenced by GetFrameDuration(), and GetTypeId().

+ Here is the caller graph for this function:

uint32_t ns3::WimaxPhy::GetFrequency ( void  ) const
Returns
the frequency on which the device is locked

Definition at line 316 of file wimax-phy.cc.

References m_frequency.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

double ns3::WimaxPhy::GetGValue ( void  ) const
Returns
the guard interval factor (The ratio TG/Td)

Definition at line 376 of file wimax-phy.cc.

References DoGetGValue().

+ Here is the call graph for this function:

Ptr< Object > ns3::WimaxPhy::GetMobility ( void  )
virtual
Returns
the mobility model of the device

Definition at line 417 of file wimax-phy.cc.

References m_mobility.

void ns3::WimaxPhy::GetModulationFecParams ( ModulationType  modulationType,
uint8_t &  bitsPerSymbol,
double &  fecCode 
) const
private
uint16_t ns3::WimaxPhy::GetNfft ( void  ) const
Returns
the size of the FFT

Definition at line 334 of file wimax-phy.cc.

References DoGetNfft().

+ Here is the call graph for this function:

uint64_t ns3::WimaxPhy::GetNrBytes ( uint32_t  symbols,
WimaxPhy::ModulationType  modulationType 
) const
Returns
the maximum number of bytes that could be carried by symbols symbols using the modulation modulationType
Parameters
symbolsthe number of symbols to use
modulationTypethe modulation that will be used

Definition at line 242 of file wimax-phy.cc.

References DoGetNrBytes().

+ Here is the call graph for this function:

uint8_t ns3::WimaxPhy::GetNrCarriers ( void  ) const
Returns
the number of carriers in the frame

Definition at line 286 of file wimax-phy.cc.

References m_nrCarriers.

Referenced by ns3::SimpleOfdmWimaxPhy::CalculateDataRate().

+ Here is the caller graph for this function:

uint64_t ns3::WimaxPhy::GetNrSymbols ( uint32_t  size,
WimaxPhy::ModulationType  modulationType 
) const
Returns
the number of symbols needed to transmit size bytes using the modulation modulationType
Parameters
sizethe number of byte to transmit
modulationTypethe modulation that will be used to transmit the bytes

Definition at line 236 of file wimax-phy.cc.

References DoGetNrSymbols().

+ Here is the call graph for this function:

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

Get the type of the physical layer.

Implemented in ns3::SimpleOfdmWimaxPhy.

Time ns3::WimaxPhy::GetPsDuration ( void  ) const
Returns
the physical slot duration

Definition at line 358 of file wimax-phy.cc.

References m_psDuration.

uint16_t ns3::WimaxPhy::GetPsPerFrame ( void  ) const
Returns
the number of physical slot per frame

Definition at line 400 of file wimax-phy.cc.

References m_psPerFrame.

uint16_t ns3::WimaxPhy::GetPsPerSymbol ( void  ) const
Returns
the number of physical slots per symbol

Definition at line 388 of file wimax-phy.cc.

References m_psPerSymbol.

Referenced by ns3::SimpleOfdmWimaxPhy::DoGetRtg(), and ns3::SimpleOfdmWimaxPhy::DoGetTtg().

+ Here is the caller graph for this function:

Callback< void, Ptr< const PacketBurst > > ns3::WimaxPhy::GetReceiveCallback ( void  ) const
Returns
the receive callback

Definition at line 151 of file wimax-phy.cc.

References m_rxCallback.

Referenced by ns3::SimpleOfdmWimaxPhy::EndReceive().

+ Here is the caller graph for this function:

uint16_t ns3::WimaxPhy::GetRtg ( void  ) const
Returns
the receive/transmit transition gap

Definition at line 254 of file wimax-phy.cc.

References DoGetRtg().

+ Here is the call graph for this function:

uint64_t ns3::WimaxPhy::GetRxFrequency ( void  ) const
Returns
the reception frequency

Definition at line 171 of file wimax-phy.cc.

References m_rxFrequency.

Referenced by ns3::SimpleOfdmWimaxPhy::StartReceive().

+ Here is the caller graph for this function:

double ns3::WimaxPhy::GetSamplingFactor ( void  ) const
Returns
the sampling factor

Definition at line 340 of file wimax-phy.cc.

References DoGetSamplingFactor().

+ Here is the call graph for this function:

double ns3::WimaxPhy::GetSamplingFrequency ( void  ) const
Returns
the sampling frequency

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

References DoGetSamplingFrequency().

+ Here is the call graph for this function:

uint64_t ns3::WimaxPhy::GetScanningFrequency ( void  ) const
Returns
the scanning frequency

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

References m_scanningFrequency.

Referenced by SetScanningCallback(), and ns3::SimpleOfdmWimaxPhy::StartReceive().

+ Here is the caller graph for this function:

WimaxPhy::PhyState ns3::WimaxPhy::GetState ( void  ) const
Returns
the state of the device (PHY_STATE_IDLE, PHY_STATE_SCANNING, PHY_STATE_TX, PHY_STATE_RX)

Definition at line 194 of file wimax-phy.cc.

References m_state.

Referenced by ns3::SimpleOfdmWimaxPhy::Send(), and ns3::SimpleOfdmWimaxPhy::StartReceive().

+ Here is the caller graph for this function:

Time ns3::WimaxPhy::GetSymbolDuration ( void  ) const
Returns
the symbol duration in second

Definition at line 370 of file wimax-phy.cc.

References m_symbolDuration.

Referenced by ns3::SimpleOfdmWimaxPhy::CalculateDataRate(), ns3::SimpleOfdmWimaxPhy::DoGetNrBytes(), ns3::SimpleOfdmWimaxPhy::DoGetNrSymbols(), and ns3::SimpleOfdmWimaxPhy::DoGetTransmissionTime().

+ Here is the caller graph for this function:

uint32_t ns3::WimaxPhy::GetSymbolsPerFrame ( void  ) const
Returns
the number of symbols per frame

Definition at line 412 of file wimax-phy.cc.

References m_symbolsPerFrame.

Time ns3::WimaxPhy::GetTransmissionTime ( uint32_t  size,
WimaxPhy::ModulationType  modulationType 
) const
Returns
the time needed to transmit size bytes using the modulation modulationType
Parameters
sizethe number of byte to transmit
modulationTypethe modulation that will be used to transmit the bytes

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

References DoGetTransmissionTime().

+ Here is the call graph for this function:

uint16_t ns3::WimaxPhy::GetTtg ( void  ) const
Returns
the transmit/receive transition gap

Definition at line 248 of file wimax-phy.cc.

References DoGetTtg().

+ Here is the call graph for this function:

uint64_t ns3::WimaxPhy::GetTxFrequency ( void  ) const
Returns
the transmission frequency

Definition at line 177 of file wimax-phy.cc.

References m_txFrequency.

Referenced by ns3::SimpleOfdmWimaxPhy::StartSendDummyFecBlock().

+ Here is the caller graph for this function:

TypeId ns3::WimaxPhy::GetTypeId ( void  )
static
bool ns3::WimaxPhy::IsDuplex ( void  ) const
Returns
true if the device is configured in duplex mode

Definition at line 200 of file wimax-phy.cc.

References m_duplex.

Referenced by ns3::SimpleOfdmWimaxPhy::StartReceive().

+ Here is the caller graph for this function:

virtual void ns3::WimaxPhy::Send ( SendParams params)
pure virtual

send a packet on the channel

Parameters
paramsthe parameters used to send the packet

Implemented in ns3::SimpleOfdmWimaxPhy.

void ns3::WimaxPhy::SetChannelBandwidth ( uint32_t  channelBandwidth)

Set the channel bandwidth.

Parameters
channelBandwidthThe channel bandwidth

Definition at line 322 of file wimax-phy.cc.

References m_channelBandwidth.

Referenced by GetTypeId(), and ns3::SimpleOfdmWimaxPhy::SetBandwidth().

+ Here is the caller graph for this function:

void ns3::WimaxPhy::SetDataRates ( void  )

calculates the data rate of each modulation and save them for future use

Definition at line 218 of file wimax-phy.cc.

References DoSetDataRates().

+ Here is the call graph for this function:

void ns3::WimaxPhy::SetDevice ( Ptr< WimaxNetDevice device)

Set the device in which this physical layer is installed.

Parameters
devicethe device in which this physical layer is installed

Definition at line 115 of file wimax-phy.cc.

References m_device.

void ns3::WimaxPhy::SetDuplex ( uint64_t  rxFrequency,
uint64_t  txFrequency 
)

configure the physical layer in duplex mode

Parameters
rxFrequencythe reception frequency
txFrequencythe transmission frequency

Definition at line 157 of file wimax-phy.cc.

References m_rxFrequency, and m_txFrequency.

void ns3::WimaxPhy::SetFrameDuration ( Time  frameDuration)

Set the frame duration.

Parameters
frameDurationthe frame duration

Definition at line 292 of file wimax-phy.cc.

References m_frameDuration.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

void ns3::WimaxPhy::SetFrequency ( uint32_t  frequency)

set the frequency on which the device should lock

Parameters
frequencythe frequency to configure

Definition at line 310 of file wimax-phy.cc.

References m_frequency.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

void ns3::WimaxPhy::SetMobility ( Ptr< Object mobility)
virtual

set the mobility model of the device

Parameters
mobilitythe mobility model to set

Definition at line 423 of file wimax-phy.cc.

References m_mobility.

void ns3::WimaxPhy::SetNrCarriers ( uint8_t  nrCarriers)

Set the number of carriers in the physical frame.

Parameters
nrCarriersthe number of carriers in the frame

Definition at line 280 of file wimax-phy.cc.

References m_nrCarriers.

Referenced by ns3::SimpleOfdmWimaxPhy::InitSimpleOfdmWimaxPhy().

+ Here is the caller graph for this function:

void ns3::WimaxPhy::SetPhyParameters ( void  )

computes the Physical parameters and store them

Definition at line 274 of file wimax-phy.cc.

References DoSetPhyParameters().

+ Here is the call graph for this function:

void ns3::WimaxPhy::SetPsDuration ( Time  psDuration)

set the physical slot duration in seconds

Parameters
psDurationthe physical slot duration

Definition at line 352 of file wimax-phy.cc.

References m_psDuration.

Referenced by ns3::SimpleOfdmWimaxPhy::DoSetPhyParameters().

+ Here is the caller graph for this function:

void ns3::WimaxPhy::SetPsPerFrame ( uint16_t  psPerFrame)

set the number of physical slot per frame

Parameters
psPerFramethe number of physical slot per frame

Definition at line 394 of file wimax-phy.cc.

References m_psPerFrame.

Referenced by ns3::SimpleOfdmWimaxPhy::DoSetPhyParameters().

+ Here is the caller graph for this function:

void ns3::WimaxPhy::SetPsPerSymbol ( uint16_t  psPerSymbol)

set the number of physical slots per symbol

Parameters
psPerSymbolthe number of physical slots per symbol

Definition at line 382 of file wimax-phy.cc.

References m_psPerSymbol.

Referenced by ns3::SimpleOfdmWimaxPhy::DoSetPhyParameters().

+ Here is the caller graph for this function:

void ns3::WimaxPhy::SetReceiveCallback ( Callback< void, Ptr< const PacketBurst > >  callback)

set the callback function to call when a burst is received

Parameters
callbackthe callback function to call when a burst is received

Definition at line 145 of file wimax-phy.cc.

References m_rxCallback.

void ns3::WimaxPhy::SetScanningCallback ( void  ) const

calls the scanning call back function

Definition at line 212 of file wimax-phy.cc.

References GetScanningFrequency(), and m_scanningCallback.

Referenced by ns3::SimpleOfdmWimaxPhy::StartReceive().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::WimaxPhy::SetSimplex ( uint64_t  frequency)

configure the physical layer in simplex mode

Parameters
frequencythe frequency to be used for reception and transmission process

Definition at line 164 of file wimax-phy.cc.

References m_rxFrequency, and m_txFrequency.

Referenced by ns3::SimpleOfdmWimaxPhy::StartReceive().

+ Here is the caller graph for this function:

void ns3::WimaxPhy::SetState ( PhyState  state)

set the state of the device

Parameters
statethe state to be set (PHY_STATE_IDLE, PHY_STATE_SCANNING, PHY_STATE_TX, PHY_STATE_RX)

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

References m_state.

Referenced by ns3::SimpleOfdmWimaxPhy::EndReceiveFecBlock(), ns3::SimpleOfdmWimaxPhy::EndSend(), ns3::SimpleOfdmWimaxPhy::EndSendFecBlock(), ns3::SimpleOfdmWimaxPhy::StartReceive(), and ns3::SimpleOfdmWimaxPhy::StartSendDummyFecBlock().

+ Here is the caller graph for this function:

void ns3::WimaxPhy::SetSymbolDuration ( Time  symbolDuration)

set the OFMD symbol duration in second

Parameters
symbolDurationthe symbol duration is second

Definition at line 364 of file wimax-phy.cc.

References m_symbolDuration.

Referenced by ns3::SimpleOfdmWimaxPhy::DoSetPhyParameters().

+ Here is the caller graph for this function:

void ns3::WimaxPhy::SetSymbolsPerFrame ( uint32_t  symbolsPerFrame)

set the number of symbols per frame

Parameters
symbolsPerFramethe number of symbols per frame

Definition at line 406 of file wimax-phy.cc.

References m_symbolsPerFrame.

Referenced by ns3::SimpleOfdmWimaxPhy::DoSetPhyParameters().

+ Here is the caller graph for this function:

void ns3::WimaxPhy::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

Parameters
frequencythe frequency to scan
timeoutthe timout before considering the channel as unusable
callbackthe function to call if the channel could be used

Definition at line 127 of file wimax-phy.cc.

References EndScanning(), m_dlChnlSrchTimeoutEvent, m_scanningCallback, m_scanningFrequency, m_state, NS_ASSERT_MSG, PHY_STATE_IDLE, PHY_STATE_SCANNING, and ns3::Simulator::Schedule().

+ Here is the call graph for this function:

Member Data Documentation

Ptr<WimaxChannel> ns3::WimaxPhy::m_channel
private

Definition at line 339 of file wimax-phy.h.

Referenced by Attach(), DoDispose(), and GetChannel().

uint32_t ns3::WimaxPhy::m_channelBandwidth
private

Definition at line 354 of file wimax-phy.h.

Referenced by GetChannelBandwidth(), and SetChannelBandwidth().

Ptr<WimaxNetDevice> ns3::WimaxPhy::m_device
private

Definition at line 338 of file wimax-phy.h.

Referenced by DoDispose(), GetDevice(), and SetDevice().

EventId ns3::WimaxPhy::m_dlChnlSrchTimeoutEvent
private

Definition at line 344 of file wimax-phy.h.

Referenced by GetChnlSrchTimeoutEvent(), and StartScanning().

bool ns3::WimaxPhy::m_duplex
private

Definition at line 345 of file wimax-phy.h.

Referenced by IsDuplex(), and WimaxPhy().

Time ns3::WimaxPhy::m_frameDuration
private

Definition at line 352 of file wimax-phy.h.

Referenced by GetFrameDurationSec(), and SetFrameDuration().

uint32_t ns3::WimaxPhy::m_frequency
private

Definition at line 353 of file wimax-phy.h.

Referenced by GetFrequency(), and SetFrequency().

Ptr<Object> ns3::WimaxPhy::m_mobility
private

Definition at line 360 of file wimax-phy.h.

Referenced by GetMobility(), SetMobility(), and WimaxPhy().

uint8_t ns3::WimaxPhy::m_nrCarriers
private

Definition at line 351 of file wimax-phy.h.

Referenced by GetNrCarriers(), and SetNrCarriers().

Time ns3::WimaxPhy::m_psDuration
private

Definition at line 355 of file wimax-phy.h.

Referenced by GetPsDuration(), and SetPsDuration().

uint16_t ns3::WimaxPhy::m_psPerFrame
private

Definition at line 358 of file wimax-phy.h.

Referenced by GetPsPerFrame(), and SetPsPerFrame().

uint16_t ns3::WimaxPhy::m_psPerSymbol
private

Definition at line 357 of file wimax-phy.h.

Referenced by GetPsPerSymbol(), and SetPsPerSymbol().

Callback<void, Ptr<const PacketBurst> > ns3::WimaxPhy::m_rxCallback
private

Definition at line 348 of file wimax-phy.h.

Referenced by GetReceiveCallback(), and SetReceiveCallback().

uint64_t ns3::WimaxPhy::m_rxFrequency
private

Definition at line 342 of file wimax-phy.h.

Referenced by GetRxFrequency(), SetDuplex(), SetSimplex(), and WimaxPhy().

Callback<void, bool, uint64_t> ns3::WimaxPhy::m_scanningCallback
private

Definition at line 349 of file wimax-phy.h.

Referenced by EndScanning(), SetScanningCallback(), and StartScanning().

uint64_t ns3::WimaxPhy::m_scanningFrequency
private

Definition at line 343 of file wimax-phy.h.

Referenced by EndScanning(), GetScanningFrequency(), and StartScanning().

PhyState ns3::WimaxPhy::m_state
private

Definition at line 346 of file wimax-phy.h.

Referenced by GetState(), SetState(), and StartScanning().

Time ns3::WimaxPhy::m_symbolDuration
private

Definition at line 356 of file wimax-phy.h.

Referenced by GetSymbolDuration(), and SetSymbolDuration().

uint32_t ns3::WimaxPhy::m_symbolsPerFrame
private

Definition at line 359 of file wimax-phy.h.

Referenced by GetSymbolsPerFrame(), and SetSymbolsPerFrame().

uint64_t ns3::WimaxPhy::m_txFrequency
private

Definition at line 341 of file wimax-phy.h.

Referenced by GetTxFrequency(), SetDuplex(), SetSimplex(), and WimaxPhy().


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