26 #include "ns3/callback.h" 
   27 #include "ns3/nstime.h" 
   28 #include "ns3/event-id.h" 
   32 #include "ns3/object.h" 
   33 #include "ns3/traced-callback.h" 
  125   void SetDuplex (uint64_t rxFrequency, uint64_t txFrequency);
 
  331   uint16_t 
GetTtg (
void) 
const;
 
  336   uint16_t 
GetRtg (
void) 
const;
 
  422   virtual uint16_t 
DoGetTtg (
void) 
const = 0;
 
  427   virtual uint16_t 
DoGetRtg (
void) 
const = 0;
 
  453   virtual uint16_t 
DoGetNfft (
void) 
const = 0;
 
Time GetPsDuration(void) const 
Get the physical slot duration. 
 
uint64_t m_rxFrequency
receive frequency 
 
virtual uint16_t DoGetTtg(void) const =0
Get TTG. 
 
uint64_t m_txFrequency
transmit frequency 
 
Simulation virtual time values and global simulation resolution. 
 
Callback< void, Ptr< const PacketBurst > > GetReceiveCallback(void) const 
 
Smart pointer class similar to boost::intrusive_ptr. 
 
virtual double DoGetSamplingFactor(void) const =0
Get sampling factor. 
 
void SetFrequency(uint32_t frequency)
set the frequency on which the device should lock 
 
void SetFrameDuration(Time frameDuration)
Set the frame duration. 
 
virtual void DoAttach(Ptr< WimaxChannel > channel)=0
Attach channel. 
 
virtual void DoDispose(void)
Destructor implementation. 
 
virtual uint8_t DoGetFrameDurationCode(void) const =0
Get frame duration code. 
 
virtual int64_t AssignStreams(int64_t stream)=0
Assign a fixed random variable stream number to the random variables used by this model...
 
bool IsDuplex(void) const 
Check if configured in duplex mode. 
 
uint32_t GetChannelBandwidth(void) const 
Get the channel bandwidth. 
 
uint32_t GetSymbolsPerFrame(void) const 
Get the number of symbols per frame. 
 
void GetModulationFecParams(ModulationType modulationType, uint8_t &bitsPerSymbol, double &fecCode) const 
Get modulation FEC parameters. 
 
Ptr< Object > m_mobility
modility model 
 
Time m_frameDuration
in seconds 
 
Ptr< WimaxChannel > m_channel
channel 
 
void SetSimplex(uint64_t frequency)
configure the physical layer in simplex mode 
 
uint64_t GetRxFrequency(void) const 
Get the reception frequency. 
 
double GetSamplingFactor(void) const 
Get the sampling factor. 
 
Time GetSymbolDuration(void) const 
Get the OFDM symbol duration. 
 
virtual Time DoGetTransmissionTime(uint32_t size, ModulationType modulationType) const =0
Get transmission time. 
 
void SetSymbolsPerFrame(uint32_t symbolsPerFrame)
set the number of symbols per frame 
 
void SetPsDuration(Time psDuration)
set the physical slot duration 
 
uint32_t m_frequency
in KHz 
 
Time GetFrameDuration(void) const 
Get the frame duration. 
 
void SetReceiveCallback(Callback< void, Ptr< const PacketBurst > > callback)
set the callback function to call when a burst is received 
 
Time GetTransmissionTime(uint32_t size, ModulationType modulationType) const 
Get transmission time needed to send bytes at a given modulation. 
 
void EndScanning(void)
End scanning. 
 
virtual uint16_t DoGetRtg(void) const =0
Get RTG. 
 
virtual uint32_t DoGetDataRate(ModulationType modulationType) const =0
Get data rate. 
 
uint16_t m_psPerFrame
ps per framce 
 
uint16_t GetTtg(void) const 
Get the transmit/receive transition gap. 
 
uint16_t m_psPerSymbol
ps per sumbol 
 
uint32_t m_channelBandwidth
in Hz 
 
The SendParams class defines the parameters with which Send() function of a particular PHY is called...
 
void SetScanningCallback(void) const 
calls the scanning call back function 
 
uint16_t GetNfft(void) const 
Get the size of the FFT. 
 
void SetPsPerSymbol(uint16_t psPerSymbol)
set the number of physical slots per symbol 
 
uint64_t GetNrSymbols(uint32_t size, ModulationType modulationType) const 
Get the number of symbols needed to transmit size bytes using the modulation modulationType. 
 
static TypeId GetTypeId(void)
Get the type ID. 
 
Ptr< WimaxChannel > GetChannel(void) const 
 
ModulationType
ModulationType enumeration. 
 
virtual uint16_t DoGetNfft(void) const =0
Get NFFT. 
 
virtual uint64_t DoGetNrBytes(uint32_t symbols, ModulationType modulationType) const =0
Get number of bytes. 
 
PhyState
PhyState enumeration. 
 
Time GetFrameDurationSec(void) const 
Get the frame duration This method is redundant with GetFrameDuration () 
 
uint8_t GetNrCarriers(void) const 
Get the number of carriers in the physical frame. 
 
Callback< void, bool, uint64_t > m_scanningCallback
scanning callback function 
 
double GetGValue(void) const 
Get the guard interval factor (the ratio TG/Td) 
 
Every class exported by the ns3 library is enclosed in the ns3 namespace. 
 
uint8_t m_nrCarriers
number of carriers 
 
void SetChannelBandwidth(uint32_t channelBandwidth)
Set the channel bandwidth. 
 
uint32_t m_symbolsPerFrame
symbols per frame 
 
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 modulat...
 
PhyType
PhyType enumeration. 
 
uint16_t GetPsPerSymbol(void) const 
Get the number of physical slots per symbol. 
 
Time m_symbolDuration
in seconds 
 
virtual PhyType GetPhyType(void) const =0
Get the type of the physical layer. 
 
virtual uint64_t DoGetNrSymbols(uint32_t size, ModulationType modulationType) const =0
Get number of symbols. 
 
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 ...
 
Ptr< NetDevice > GetDevice(void) const 
 
Callback< void, Ptr< const PacketBurst > > m_rxCallback
receive callback function 
 
Time m_psDuration
in seconds 
 
void Attach(Ptr< WimaxChannel > channel)
Attach the physical layer to a channel. 
 
void SetSymbolDuration(Time symbolDuration)
set the OFDM symbol duration 
 
uint16_t GetPsPerFrame(void) const 
Get the number of physical slots per frame. 
 
uint8_t GetFrameDurationCode(void) const 
Get the frame duration code. 
 
An identifier for simulation events. 
 
virtual Ptr< Object > GetMobility(void)
Get the mobility model of the device. 
 
void SetDuplex(uint64_t rxFrequency, uint64_t txFrequency)
configure the physical layer in duplex mode 
 
void SetDevice(Ptr< WimaxNetDevice > device)
Set the device in which this physical layer is installed. 
 
void SetState(PhyState state)
set the state of the device 
 
uint16_t GetRtg(void) const 
Get the receive/transmit transition gap. 
 
void SetDataRates(void)
calculates the data rate of each modulation and save them for future use 
 
uint32_t GetDataRate(ModulationType modulationType) const 
Get the data rate corresponding to a modulation type. 
 
void SetNrCarriers(uint8_t nrCarriers)
Set the number of carriers in the physical frame. 
 
Ptr< WimaxNetDevice > m_device
the device 
 
double GetSamplingFrequency(void) const 
Get the sampling frequency. 
 
uint64_t GetTxFrequency(void) const 
Get the transmission frequency. 
 
A base class which provides memory management and object aggregation. 
 
virtual void DoSetDataRates(void)=0
Set data rates. 
 
EventId GetChnlSrchTimeoutEvent(void) const 
Get channel search timeout event. 
 
void SetPsPerFrame(uint16_t psPerFrame)
set the number of physical slots per frame 
 
uint32_t GetFrequency(void) const 
Get the frequency on which the device is locked. 
 
virtual double DoGetGValue(void) const =0
Get G value. 
 
void SetPhyParameters(void)
computes the Physical parameters and store them 
 
virtual void Send(SendParams *params)=0
send a packet on the channel 
 
virtual double DoGetSamplingFrequency(void) const =0
Get sampling frequency. 
 
a unique identifier for an interface. 
 
EventId m_dlChnlSrchTimeoutEvent
DL channel search timeout event. 
 
virtual void SetMobility(Ptr< Object > mobility)
set the mobility model of the device 
 
PhyState GetState(void) const 
Get the state of the device. 
 
uint64_t GetScanningFrequency(void) const 
Get the scanning frequency. 
 
virtual void DoSetPhyParameters(void)=0
Set phy parameters. 
 
virtual Time DoGetFrameDuration(uint8_t frameDurationCode) const =0
Get frame duration. 
 
uint64_t m_scanningFrequency
scanning frequency