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;
uint64_t m_rxFrequency
receive frequency
virtual uint16_t DoGetTtg(void) const =0
Get TTG.
uint64_t m_txFrequency
transmit frequency
uint8_t GetFrameDurationCode(void) const
Get the frame duration code.
Simulation virtual time values and global simulation resolution.
Smart pointer class similar to boost::intrusive_ptr.
Callback< void, Ptr< const PacketBurst > > GetReceiveCallback(void) const
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.
uint32_t GetSymbolsPerFrame(void) const
Get the number of symbols per frame.
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...
EventId GetChnlSrchTimeoutEvent(void) const
Get channel search timeout event.
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
virtual Time DoGetTransmissionTime(uint32_t size, ModulationType modulationType) const =0
Get transmission time.
void SetScanningCallback(void) const
calls the scanning call back function
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
double GetSamplingFactor(void) const
Get the sampling factor.
uint16_t GetRtg(void) const
Get the receive/transmit transition gap.
void SetReceiveCallback(Callback< void, Ptr< const PacketBurst > > callback)
set the callback function to call when a burst is received
uint64_t GetTxFrequency(void) const
Get the transmission frequency.
void EndScanning(void)
End scanning.
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...
virtual uint16_t DoGetRtg(void) const =0
Get RTG.
virtual uint32_t DoGetDataRate(ModulationType modulationType) const =0
Get data rate.
uint32_t GetFrequency(void) const
Get the frequency on which the device is locked.
Time GetPsDuration(void) const
Get the physical slot duration.
uint16_t m_psPerFrame
ps per framce
uint16_t GetNfft(void) const
Get the size of the FFT.
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...
Ptr< NetDevice > GetDevice(void) const
void SetPsPerSymbol(uint16_t psPerSymbol)
set the number of physical slots per symbol
uint16_t GetTtg(void) const
Get the transmit/receive transition gap.
bool IsDuplex(void) const
Check if configured in duplex mode.
Ptr< WimaxChannel > GetChannel(void) const
static TypeId GetTypeId(void)
Get the type ID.
Time GetTransmissionTime(uint32_t size, ModulationType modulationType) const
Get transmission time needed to send bytes at a given modulation.
virtual uint16_t DoGetNfft(void) const =0
Get NFFT.
virtual uint64_t DoGetNrBytes(uint32_t symbols, ModulationType modulationType) const =0
Get number of bytes.
Callback< void, bool, uint64_t > m_scanningCallback
scanning callback function
uint16_t GetPsPerFrame(void) const
Get the number of physical slots per frame.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
uint8_t m_nrCarriers
number of carriers
uint64_t GetScanningFrequency(void) const
Get the scanning frequency.
void SetChannelBandwidth(uint32_t channelBandwidth)
Set the channel bandwidth.
uint32_t m_symbolsPerFrame
symbols per frame
Time GetFrameDuration(void) const
Get the frame duration.
Time GetSymbolDuration(void) const
Get the OFDM symbol duration.
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 ...
uint64_t GetNrSymbols(uint32_t size, ModulationType modulationType) const
Get the number of symbols needed to transmit size bytes using the modulation modulationType.
Callback< void, Ptr< const PacketBurst > > m_rxCallback
receive callback function
ModulationType
ModulationType enumeration.
Time m_psDuration
in seconds
void Attach(Ptr< WimaxChannel > channel)
Attach the physical layer to a channel.
uint32_t GetChannelBandwidth(void) const
Get the channel bandwidth.
void SetSymbolDuration(Time symbolDuration)
set the OFDM symbol duration
uint16_t GetPsPerSymbol(void) const
Get the number of physical slots per symbol.
An identifier for simulation events.
virtual Ptr< Object > GetMobility(void)
Get the mobility model of the device.
PhyType
PhyType enumeration.
double GetGValue(void) const
Get the guard interval factor (the ratio TG/Td)
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
void SetDataRates(void)
calculates the data rate of each modulation and save them for future use
Time GetFrameDurationSec(void) const
Get the frame duration This method is redundant with GetFrameDuration ()
uint64_t GetRxFrequency(void) const
Get the reception frequency.
void SetNrCarriers(uint8_t nrCarriers)
Set the number of carriers in the physical frame.
Ptr< WimaxNetDevice > m_device
the device
A base class which provides memory management and object aggregation.
virtual void DoSetDataRates(void)=0
Set data rates.
void SetPsPerFrame(uint16_t psPerFrame)
set the number of physical slots per frame
PhyState GetState(void) const
Get the state of the device.
double GetSamplingFrequency(void) const
Get the sampling frequency.
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.
PhyState
PhyState enumeration.
EventId m_dlChnlSrchTimeoutEvent
DL channel search timeout event.
uint8_t GetNrCarriers(void) const
Get the number of carriers in the physical frame.
void GetModulationFecParams(ModulationType modulationType, uint8_t &bitsPerSymbol, double &fecCode) const
Get modulation FEC parameters.
virtual void SetMobility(Ptr< Object > mobility)
set the mobility model of the device
virtual void DoSetPhyParameters(void)=0
Set phy parameters.
virtual Time DoGetFrameDuration(uint8_t frameDurationCode) const =0
Get frame duration.
uint32_t GetDataRate(ModulationType modulationType) const
Get the data rate corresponding to a modulation type.
uint64_t m_scanningFrequency
scanning frequency