#include <introspected-doxygen.h>
Public Member Functions | |
virtual int64_t | AssignStreams (int64_t stream)=0 |
void | Attach (Ptr< WimaxChannel > channel) |
virtual void | DoDispose (void) |
Ptr< WimaxChannel > | GetChannel (void) const |
uint32_t | GetChannelBandwidth (void) const |
EventId | GetChnlSrchTimeoutEvent (void) const |
uint32_t | GetDataRate (ModulationType modulationType) const |
Ptr< NetDevice > | GetDevice (void) const |
Time | GetFrameDuration (void) const |
Time | GetFrameDuration (uint8_t frameDurationCode) const |
uint8_t | GetFrameDurationCode (void) const |
Time | GetFrameDurationSec (void) const |
uint32_t | GetFrequency (void) const |
double | GetGValue (void) const |
virtual Ptr< Object > | GetMobility (void) |
uint16_t | GetNfft (void) const |
uint64_t | GetNrBytes (uint32_t symbols, ModulationType modulationType) const |
uint8_t | GetNrCarriers (void) const |
uint64_t | GetNrSymbols (uint32_t size, ModulationType modulationType) const |
virtual PhyType | GetPhyType (void) const =0 |
Get the type of the physical layer. | |
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 | |
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 | |
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 | |
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 | |
void | AggregateObject (Ptr< Object > other) |
void | Dispose (void) |
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) |
Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter > | |
SimpleRefCount (const SimpleRefCount &o) | |
uint32_t | GetReferenceCount (void) const |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
void | Ref (void) const |
void | Unref (void) const |
Public Member Functions inherited from ns3::ObjectBase | |
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) |
Static Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter > | |
static void | Cleanup (void) |
Static Public Member Functions inherited from ns3::ObjectBase | |
static TypeId | GetTypeId (void) |
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< WimaxChannel > | m_channel |
uint32_t | m_channelBandwidth |
Ptr< WimaxNetDevice > | m_device |
EventId | m_dlChnlSrchTimeoutEvent |
bool | m_duplex |
Time | m_frameDuration |
uint32_t | m_frequency |
Ptr< Object > | m_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) |
virtual void | NotifyNewAggregate (void) |
Protected Member Functions inherited from ns3::ObjectBase | |
void | ConstructSelf (const AttributeConstructionList &attributes) |
virtual void | NotifyConstructionCompleted (void) |
ns3::WimaxPhy is accessible through the following paths with Config::Set and Config::Connect:
No TraceSources are defined for this type.
Definition at line 45 of file wimax-phy.h.
|
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.
stream | first stream index to use |
Implemented in ns3::SimpleOfdmWimaxPhy.
void ns3::WimaxPhy::Attach | ( | Ptr< WimaxChannel > | channel | ) |
Attach the physical layer to a channel.
channel | the channel to which the physical layer will be attached |
Definition at line 102 of file wimax-phy.cc.
|
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.
Referenced by ns3::SimpleOfdmWimaxPhy::DoDispose().
Ptr< WimaxChannel > ns3::WimaxPhy::GetChannel | ( | void | ) | const |
Definition at line 109 of file wimax-phy.cc.
Referenced by ns3::SimpleOfdmWimaxPhy::DoAttach().
uint32_t ns3::WimaxPhy::GetChannelBandwidth | ( | void | ) | const |
Definition at line 328 of file wimax-phy.cc.
Referenced by ns3::SimpleOfdmWimaxPhy::GetBandwidth().
uint32_t ns3::WimaxPhy::GetDataRate | ( | WimaxPhy::ModulationType | modulationType | ) | const |
modulationType | the modulation that you want to get its data rate |
Definition at line 224 of file wimax-phy.cc.
Definition at line 121 of file wimax-phy.cc.
Time ns3::WimaxPhy::GetFrameDuration | ( | void | ) | const |
Definition at line 298 of file wimax-phy.cc.
References GetFrameDurationSec().
Time ns3::WimaxPhy::GetFrameDurationSec | ( | void | ) | const |
Definition at line 304 of file wimax-phy.cc.
Referenced by GetFrameDuration().
uint32_t ns3::WimaxPhy::GetFrequency | ( | void | ) | const |
Definition at line 316 of file wimax-phy.cc.
double ns3::WimaxPhy::GetGValue | ( | void | ) | const |
Definition at line 376 of file wimax-phy.cc.
Definition at line 417 of file wimax-phy.cc.
uint16_t ns3::WimaxPhy::GetNfft | ( | void | ) | const |
Definition at line 334 of file wimax-phy.cc.
uint64_t ns3::WimaxPhy::GetNrBytes | ( | uint32_t | symbols, |
WimaxPhy::ModulationType | modulationType | ||
) | const |
symbols | the number of symbols to use |
modulationType | the modulation that will be used |
Definition at line 242 of file wimax-phy.cc.
uint8_t ns3::WimaxPhy::GetNrCarriers | ( | void | ) | const |
Definition at line 286 of file wimax-phy.cc.
uint64_t ns3::WimaxPhy::GetNrSymbols | ( | uint32_t | size, |
WimaxPhy::ModulationType | modulationType | ||
) | const |
size | the number of byte to transmit |
modulationType | the modulation that will be used to transmit the bytes |
Definition at line 236 of file wimax-phy.cc.
Time ns3::WimaxPhy::GetPsDuration | ( | void | ) | const |
Definition at line 358 of file wimax-phy.cc.
uint16_t ns3::WimaxPhy::GetPsPerFrame | ( | void | ) | const |
Definition at line 400 of file wimax-phy.cc.
uint16_t ns3::WimaxPhy::GetPsPerSymbol | ( | void | ) | const |
Definition at line 388 of file wimax-phy.cc.
Callback< void, Ptr< const PacketBurst > > ns3::WimaxPhy::GetReceiveCallback | ( | void | ) | const |
Definition at line 151 of file wimax-phy.cc.
uint16_t ns3::WimaxPhy::GetRtg | ( | void | ) | const |
Definition at line 254 of file wimax-phy.cc.
uint64_t ns3::WimaxPhy::GetRxFrequency | ( | void | ) | const |
Definition at line 171 of file wimax-phy.cc.
Referenced by ns3::SimpleOfdmWimaxPhy::StartReceive().
double ns3::WimaxPhy::GetSamplingFactor | ( | void | ) | const |
Definition at line 340 of file wimax-phy.cc.
double ns3::WimaxPhy::GetSamplingFrequency | ( | void | ) | const |
Definition at line 346 of file wimax-phy.cc.
uint64_t ns3::WimaxPhy::GetScanningFrequency | ( | void | ) | const |
Definition at line 183 of file wimax-phy.cc.
Referenced by SetScanningCallback(), and ns3::SimpleOfdmWimaxPhy::StartReceive().
WimaxPhy::PhyState ns3::WimaxPhy::GetState | ( | void | ) | const |
Definition at line 194 of file wimax-phy.cc.
Referenced by ns3::SimpleOfdmWimaxPhy::Send(), and ns3::SimpleOfdmWimaxPhy::StartReceive().
Time ns3::WimaxPhy::GetSymbolDuration | ( | void | ) | const |
Definition at line 370 of file wimax-phy.cc.
uint32_t ns3::WimaxPhy::GetSymbolsPerFrame | ( | void | ) | const |
Definition at line 412 of file wimax-phy.cc.
Time ns3::WimaxPhy::GetTransmissionTime | ( | uint32_t | size, |
WimaxPhy::ModulationType | modulationType | ||
) | const |
size | the number of byte to transmit |
modulationType | the modulation that will be used to transmit the bytes |
Definition at line 230 of file wimax-phy.cc.
uint16_t ns3::WimaxPhy::GetTtg | ( | void | ) | const |
Definition at line 248 of file wimax-phy.cc.
uint64_t ns3::WimaxPhy::GetTxFrequency | ( | void | ) | const |
Definition at line 177 of file wimax-phy.cc.
bool ns3::WimaxPhy::IsDuplex | ( | void | ) | const |
Definition at line 200 of file wimax-phy.cc.
Referenced by ns3::SimpleOfdmWimaxPhy::StartReceive().
|
pure virtual |
send a packet on the channel
params | the parameters used to send the packet |
Implemented in ns3::SimpleOfdmWimaxPhy.
void ns3::WimaxPhy::SetChannelBandwidth | ( | uint32_t | channelBandwidth | ) |
Set the channel bandwidth.
channelBandwidth | The channel bandwidth |
Definition at line 322 of file wimax-phy.cc.
Referenced by ns3::SimpleOfdmWimaxPhy::SetBandwidth().
void ns3::WimaxPhy::SetDevice | ( | Ptr< WimaxNetDevice > | device | ) |
Set the device in which this physical layer is installed.
device | the device in which this physical layer is installed |
Definition at line 115 of file wimax-phy.cc.
void ns3::WimaxPhy::SetDuplex | ( | uint64_t | rxFrequency, |
uint64_t | txFrequency | ||
) |
configure the physical layer in duplex mode
rxFrequency | the reception frequency |
txFrequency | the transmission frequency |
Definition at line 157 of file wimax-phy.cc.
void ns3::WimaxPhy::SetFrameDuration | ( | Time | frameDuration | ) |
Set the frame duration.
frameDuration | the frame duration |
Definition at line 292 of file wimax-phy.cc.
void ns3::WimaxPhy::SetFrequency | ( | uint32_t | frequency | ) |
set the frequency on which the device should lock
frequency | the frequency to configure |
Definition at line 310 of file wimax-phy.cc.
set the mobility model of the device
mobility | the mobility model to set |
Definition at line 423 of file wimax-phy.cc.
void ns3::WimaxPhy::SetNrCarriers | ( | uint8_t | nrCarriers | ) |
Set the number of carriers in the physical frame.
nrCarriers | the number of carriers in the frame |
Definition at line 280 of file wimax-phy.cc.
void ns3::WimaxPhy::SetPsDuration | ( | Time | psDuration | ) |
set the physical slot duration in seconds
psDuration | the physical slot duration |
Definition at line 352 of file wimax-phy.cc.
void ns3::WimaxPhy::SetPsPerFrame | ( | uint16_t | psPerFrame | ) |
set the number of physical slot per frame
psPerFrame | the number of physical slot per frame |
Definition at line 394 of file wimax-phy.cc.
void ns3::WimaxPhy::SetPsPerSymbol | ( | uint16_t | psPerSymbol | ) |
set the number of physical slots per symbol
psPerSymbol | the number of physical slots per symbol |
Definition at line 382 of file wimax-phy.cc.
void ns3::WimaxPhy::SetReceiveCallback | ( | Callback< void, Ptr< const PacketBurst > > | callback | ) |
set the callback function to call when a burst is received
callback | the callback function to call when a burst is received |
Definition at line 145 of file wimax-phy.cc.
void ns3::WimaxPhy::SetSimplex | ( | uint64_t | frequency | ) |
configure the physical layer in simplex mode
frequency | the frequency to be used for reception and transmission process |
Definition at line 164 of file wimax-phy.cc.
Referenced by ns3::SimpleOfdmWimaxPhy::StartReceive().
void ns3::WimaxPhy::SetState | ( | PhyState | state | ) |
set the state of the device
state | the 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.
Referenced by ns3::SimpleOfdmWimaxPhy::StartReceive().
void ns3::WimaxPhy::SetSymbolDuration | ( | Time | symbolDuration | ) |
set the OFMD symbol duration in second
symbolDuration | the symbol duration is second |
Definition at line 364 of file wimax-phy.cc.
void ns3::WimaxPhy::SetSymbolsPerFrame | ( | uint32_t | symbolsPerFrame | ) |
set the number of symbols per frame
symbolsPerFrame | the number of symbols per frame |
Definition at line 406 of file wimax-phy.cc.
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
frequency | the frequency to scan |
timeout | the timout before considering the channel as unusable |
callback | the function to call if the channel could be used |
Definition at line 127 of file wimax-phy.cc.
References NS_ASSERT_MSG, and ns3::Simulator::Schedule().