WiMAX PHY entity. More...
#include "wimax-phy.h"
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 } |
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 | |
WimaxPhy () | |
~WimaxPhy () override | |
virtual int64_t | AssignStreams (int64_t stream)=0 |
Assign a fixed random variable stream number to the random variables used by this model. | |
void | Attach (Ptr< WimaxChannel > channel) |
Attach the physical layer to a channel. | |
void | DoDispose () override |
Destructor implementation. | |
Ptr< WimaxChannel > | GetChannel () const |
uint32_t | GetChannelBandwidth () const |
Get the channel bandwidth. | |
EventId | GetChnlSrchTimeoutEvent () const |
Get channel search timeout event. | |
uint32_t | GetDataRate (ModulationType modulationType) const |
Get the data rate corresponding to a modulation type. | |
Ptr< NetDevice > | GetDevice () const |
Time | GetFrameDuration () const |
Get the frame duration. | |
Time | GetFrameDuration (uint8_t frameDurationCode) const |
Get the frame duration corresponding to a given code. | |
uint8_t | GetFrameDurationCode () const |
Get the frame duration code. | |
Time | GetFrameDurationSec () const |
Get the frame duration This method is redundant with GetFrameDuration () | |
uint32_t | GetFrequency () const |
Get the frequency on which the device is locked. | |
double | GetGValue () const |
Get the guard interval factor (the ratio TG/Td) | |
uint16_t | GetNfft () const |
Get the size of the FFT. | |
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. | |
uint8_t | GetNrCarriers () const |
Get the number of carriers in the physical frame. | |
uint64_t | GetNrSymbols (uint32_t size, ModulationType modulationType) const |
Get the number of symbols needed to transmit size bytes using the modulation modulationType. | |
virtual PhyType | GetPhyType () const =0 |
Get the type of the physical layer. | |
Time | GetPsDuration () const |
Get the physical slot duration. | |
uint16_t | GetPsPerFrame () const |
Get the number of physical slots per frame. | |
uint16_t | GetPsPerSymbol () const |
Get the number of physical slots per symbol. | |
Callback< void, Ptr< const PacketBurst > > | GetReceiveCallback () const |
uint16_t | GetRtg () const |
Get the receive/transmit transition gap. | |
uint64_t | GetRxFrequency () const |
Get the reception frequency. | |
double | GetSamplingFactor () const |
Get the sampling factor. | |
double | GetSamplingFrequency () const |
Get the sampling frequency. | |
uint64_t | GetScanningFrequency () const |
Get the scanning frequency. | |
PhyState | GetState () const |
Get the state of the device. | |
Time | GetSymbolDuration () const |
Get the OFDM symbol duration. | |
uint32_t | GetSymbolsPerFrame () const |
Get the number of symbols per frame. | |
Time | GetTransmissionTime (uint32_t size, ModulationType modulationType) const |
Get transmission time needed to send bytes at a given modulation. | |
uint16_t | GetTtg () const |
Get the transmit/receive transition gap. | |
uint64_t | GetTxFrequency () const |
Get the transmission frequency. | |
bool | IsDuplex () const |
Check if configured in duplex mode. | |
virtual void | Send (SendParams *params)=0 |
send a packet on the channel | |
void | SetChannelBandwidth (uint32_t channelBandwidth) |
Set the channel bandwidth. | |
void | SetDataRates () |
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. | |
void | SetDuplex (uint64_t rxFrequency, uint64_t txFrequency) |
configure the physical layer in duplex mode | |
void | SetFrameDuration (Time frameDuration) |
Set the frame duration. | |
void | SetFrequency (uint32_t frequency) |
set the frequency on which the device should lock | |
void | SetNrCarriers (uint8_t nrCarriers) |
Set the number of carriers in the physical frame. | |
void | SetPhyParameters () |
computes the Physical parameters and store them | |
void | SetPsDuration (Time psDuration) |
set the physical slot duration | |
void | SetPsPerFrame (uint16_t psPerFrame) |
set the number of physical slots per frame | |
void | SetPsPerSymbol (uint16_t psPerSymbol) |
set the number of physical slots per symbol | |
void | SetReceiveCallback (Callback< void, Ptr< const PacketBurst > > callback) |
set the callback function to call when a burst is received | |
void | SetScanningCallback () const |
calls the scanning call back function | |
void | SetSimplex (uint64_t frequency) |
configure the physical layer in simplex mode | |
void | SetState (PhyState state) |
set the state of the device | |
void | SetSymbolDuration (Time symbolDuration) |
set the OFDM symbol duration | |
void | SetSymbolsPerFrame (uint32_t symbolsPerFrame) |
set the number of symbols per frame | |
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 | |
Public Member Functions inherited from ns3::Object | |
Object () | |
Constructor. | |
~Object () override | |
Destructor. | |
void | AggregateObject (Ptr< Object > other) |
Aggregate two Objects together. | |
void | Dispose () |
Dispose of this Object. | |
AggregateIterator | GetAggregateIterator () const |
Get an iterator to the Objects aggregated to this one. | |
TypeId | GetInstanceTypeId () const override |
Get the most derived TypeId for this Object. | |
template<typename T > | |
Ptr< T > | GetObject () const |
Get a pointer to the requested aggregated Object. | |
template<> | |
Ptr< Object > | GetObject () const |
Specialization of () for objects of type ns3::Object. | |
template<typename T > | |
Ptr< T > | GetObject (TypeId tid) const |
Get a pointer to the requested aggregated Object by TypeId. | |
template<> | |
Ptr< Object > | GetObject (TypeId tid) const |
Specialization of (TypeId tid) for objects of type ns3::Object. | |
void | Initialize () |
Invoke DoInitialize on all Objects aggregated to this one. | |
bool | IsInitialized () const |
Check if the object has been initialized. | |
void | UnidirectionalAggregateObject (Ptr< Object > other) |
Aggregate an Object to another Object. | |
Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter > | |
SimpleRefCount () | |
Default constructor. | |
SimpleRefCount (const SimpleRefCount &o) | |
Copy constructor. | |
uint32_t | GetReferenceCount () const |
Get the reference count of the object. | |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
Assignment operator. | |
void | Ref () const |
Increment the reference count. | |
void | Unref () const |
Decrement the reference count. | |
Public Member Functions inherited from ns3::ObjectBase | |
virtual | ~ObjectBase () |
Virtual destructor. | |
void | GetAttribute (std::string name, AttributeValue &value, bool permissive=false) const |
Get the value of an attribute, raising fatal errors if unsuccessful. | |
bool | GetAttributeFailSafe (std::string name, AttributeValue &value) const |
Get the value of an attribute without raising errors. | |
void | SetAttribute (std::string name, const AttributeValue &value) |
Set a single attribute, raising fatal errors if unsuccessful. | |
bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
Set a single attribute without raising errors. | |
bool | TraceConnect (std::string name, std::string context, const CallbackBase &cb) |
Connect a TraceSource to a Callback with a context. | |
bool | TraceConnectWithoutContext (std::string name, const CallbackBase &cb) |
Connect a TraceSource to a Callback without a context. | |
bool | TraceDisconnect (std::string name, std::string context, const CallbackBase &cb) |
Disconnect from a TraceSource a Callback previously connected with a context. | |
bool | TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb) |
Disconnect from a TraceSource a Callback previously connected without a context. | |
Static Public Member Functions | |
static TypeId | GetTypeId () |
Get the type ID. | |
Static Public Member Functions inherited from ns3::Object | |
static TypeId | GetTypeId () |
Register this type. | |
Static Public Member Functions inherited from ns3::ObjectBase | |
static TypeId | GetTypeId () |
Get the type ID. | |
Private Member Functions | |
virtual void | DoAttach (Ptr< WimaxChannel > channel)=0 |
Attach channel. | |
virtual uint32_t | DoGetDataRate (ModulationType modulationType) const =0 |
Get data rate. | |
virtual Time | DoGetFrameDuration (uint8_t frameDurationCode) const =0 |
Get frame duration. | |
virtual uint8_t | DoGetFrameDurationCode () const =0 |
Get frame duration code. | |
virtual double | DoGetGValue () const =0 |
Get G value. | |
virtual uint16_t | DoGetNfft () const =0 |
Get NFFT. | |
virtual uint64_t | DoGetNrBytes (uint32_t symbols, ModulationType modulationType) const =0 |
Get number of bytes. | |
virtual uint64_t | DoGetNrSymbols (uint32_t size, ModulationType modulationType) const =0 |
Get number of symbols. | |
virtual uint16_t | DoGetRtg () const =0 |
Get RTG. | |
virtual double | DoGetSamplingFactor () const =0 |
Get sampling factor. | |
virtual double | DoGetSamplingFrequency () const =0 |
Get sampling frequency. | |
virtual Time | DoGetTransmissionTime (uint32_t size, ModulationType modulationType) const =0 |
Get transmission time. | |
virtual uint16_t | DoGetTtg () const =0 |
Get TTG. | |
virtual void | DoSetDataRates ()=0 |
Set data rates. | |
virtual void | DoSetPhyParameters ()=0 |
Set phy parameters. | |
void | EndScanning () |
End scanning. | |
void | GetModulationFecParams (ModulationType modulationType, uint8_t &bitsPerSymbol, double &fecCode) const |
Get modulation FEC parameters. | |
Private Attributes | |
Ptr< WimaxChannel > | m_channel |
channel | |
uint32_t | m_channelBandwidth |
in Hz | |
Ptr< WimaxNetDevice > | m_device |
the device | |
EventId | m_dlChnlSrchTimeoutEvent |
DL channel search timeout event. | |
bool | m_duplex |
duplex | |
Time | m_frameDuration |
in seconds | |
uint32_t | m_frequency |
in KHz | |
uint8_t | m_nrCarriers |
number of carriers | |
Time | m_psDuration |
in seconds | |
uint16_t | m_psPerFrame |
ps per framce | |
uint16_t | m_psPerSymbol |
ps per sumbol | |
Callback< void, Ptr< const PacketBurst > > | m_rxCallback |
receive callback function | |
uint64_t | m_rxFrequency |
receive frequency | |
Callback< void, bool, uint64_t > | m_scanningCallback |
scanning callback function | |
uint64_t | m_scanningFrequency |
scanning frequency | |
PhyState | m_state |
state | |
Time | m_symbolDuration |
in seconds | |
uint32_t | m_symbolsPerFrame |
symbols per frame | |
uint64_t | m_txFrequency |
transmit frequency | |
Additional Inherited Members | |
Protected Member Functions inherited from ns3::Object | |
Object (const Object &o) | |
Copy an Object. | |
virtual void | DoInitialize () |
Initialize() implementation. | |
virtual void | NotifyNewAggregate () |
Notify all Objects aggregated to this one of a new Object being aggregated. | |
Protected Member Functions inherited from ns3::ObjectBase | |
void | ConstructSelf (const AttributeConstructionList &attributes) |
Complete construction of ObjectBase; invoked by derived classes. | |
virtual void | NotifyConstructionCompleted () |
Notifier called once the ObjectBase is fully constructed. | |
Related Symbols inherited from ns3::ObjectBase | |
static TypeId | GetObjectIid () |
Ensure the TypeId for ObjectBase gets fully configured to anchor the inheritance tree properly. | |
WiMAX PHY entity.
Definition at line 38 of file wimax-phy.h.
ModulationType enumeration.
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 42 of file wimax-phy.h.
PhyState enumeration.
Enumerator | |
---|---|
PHY_STATE_IDLE | |
PHY_STATE_SCANNING | |
PHY_STATE_TX | |
PHY_STATE_RX |
Definition at line 54 of file wimax-phy.h.
PhyType enumeration.
Enumerator | |
---|---|
SimpleWimaxPhy | |
simpleOfdmWimaxPhy |
Definition at line 63 of file wimax-phy.h.
ns3::WimaxPhy::WimaxPhy | ( | ) |
Definition at line 70 of file wimax-phy.cc.
References m_duplex, m_rxFrequency, and m_txFrequency.
|
override |
Definition at line 87 of file wimax-phy.cc.
|
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 99 of file wimax-phy.cc.
References DoAttach(), and m_channel.
Referenced by GetTypeId().
|
privatepure virtual |
Attach channel.
channel | the wimax channel |
Implemented in ns3::SimpleOfdmWimaxPhy.
Referenced by Attach().
|
overridevirtual |
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::Object.
Definition at line 92 of file wimax-phy.cc.
References m_channel, and m_device.
Referenced by ns3::SimpleOfdmWimaxPhy::DoDispose().
|
privatepure virtual |
Get data rate.
modulationType | the modulation type |
Implemented in ns3::SimpleOfdmWimaxPhy.
Referenced by GetDataRate().
|
privatepure virtual |
Get frame duration.
frameDurationCode | the frame duration code |
Implemented in ns3::SimpleOfdmWimaxPhy.
Referenced by GetFrameDuration().
|
privatepure virtual |
Get frame duration code.
Implemented in ns3::SimpleOfdmWimaxPhy.
Referenced by GetFrameDurationCode().
|
privatepure virtual |
Get G value.
Implemented in ns3::SimpleOfdmWimaxPhy.
Referenced by GetGValue().
|
privatepure virtual |
Get NFFT.
Implemented in ns3::SimpleOfdmWimaxPhy.
Referenced by GetNfft().
|
privatepure virtual |
Get number of bytes.
symbols | the number of symbols |
modulationType | the modulation type |
Implemented in ns3::SimpleOfdmWimaxPhy.
Referenced by GetNrBytes().
|
privatepure virtual |
Get number of symbols.
size | the transmission size |
modulationType | the modulation type |
Implemented in ns3::SimpleOfdmWimaxPhy.
Referenced by GetNrSymbols().
|
privatepure virtual |
Get RTG.
Implemented in ns3::SimpleOfdmWimaxPhy.
Referenced by GetRtg().
|
privatepure virtual |
Get sampling factor.
Implemented in ns3::SimpleOfdmWimaxPhy.
Referenced by GetSamplingFactor().
|
privatepure virtual |
Get sampling frequency.
Implemented in ns3::SimpleOfdmWimaxPhy.
Referenced by GetSamplingFrequency().
|
privatepure virtual |
Get transmission time.
size | the transmission size |
modulationType | the modulation type |
Implemented in ns3::SimpleOfdmWimaxPhy.
Referenced by GetTransmissionTime().
|
privatepure virtual |
Get TTG.
Implemented in ns3::SimpleOfdmWimaxPhy.
Referenced by GetTtg().
|
privatepure virtual |
Set data rates.
Implemented in ns3::SimpleOfdmWimaxPhy.
Referenced by SetDataRates().
|
privatepure virtual |
Set phy parameters.
Implemented in ns3::SimpleOfdmWimaxPhy.
Referenced by SetPhyParameters().
|
private |
End scanning.
Definition at line 137 of file wimax-phy.cc.
References m_scanningCallback, and m_scanningFrequency.
Referenced by StartScanning().
Ptr< WimaxChannel > ns3::WimaxPhy::GetChannel | ( | ) | const |
Definition at line 106 of file wimax-phy.cc.
References m_channel.
Referenced by ns3::SimpleOfdmWimaxPhy::DoAttach(), GetTypeId(), and ns3::SimpleOfdmWimaxPhy::StartSendDummyFecBlock().
uint32_t ns3::WimaxPhy::GetChannelBandwidth | ( | ) | const |
Get the channel bandwidth.
Definition at line 327 of file wimax-phy.cc.
References m_channelBandwidth.
Referenced by ns3::SimpleOfdmWimaxPhy::DoGetSamplingFactor(), ns3::SimpleOfdmWimaxPhy::DoGetSamplingFrequency(), ns3::SimpleOfdmWimaxPhy::GetBandwidth(), and GetTypeId().
EventId ns3::WimaxPhy::GetChnlSrchTimeoutEvent | ( | ) | const |
Get channel search timeout event.
Definition at line 205 of file wimax-phy.cc.
References m_dlChnlSrchTimeoutEvent.
Referenced by ns3::SimpleOfdmWimaxPhy::StartReceive().
uint32_t ns3::WimaxPhy::GetDataRate | ( | WimaxPhy::ModulationType | modulationType | ) | const |
Get the data rate corresponding to a modulation type.
modulationType | the modulation that you want to get its data rate |
Definition at line 223 of file wimax-phy.cc.
References DoGetDataRate().
Definition at line 118 of file wimax-phy.cc.
References m_device.
Time ns3::WimaxPhy::GetFrameDuration | ( | ) | const |
Get the frame duration.
Definition at line 297 of file wimax-phy.cc.
References GetFrameDurationSec().
Referenced by ns3::SimpleOfdmWimaxPhy::DoGetFrameDurationCode(), and ns3::SimpleOfdmWimaxPhy::DoSetPhyParameters().
Time ns3::WimaxPhy::GetFrameDuration | ( | uint8_t | frameDurationCode | ) | const |
Get the frame duration corresponding to a given code.
frameDurationCode | the frame duration code to use |
Definition at line 265 of file wimax-phy.cc.
References DoGetFrameDuration().
uint8_t ns3::WimaxPhy::GetFrameDurationCode | ( | ) | const |
Get the frame duration code.
Definition at line 259 of file wimax-phy.cc.
References DoGetFrameDurationCode().
Time ns3::WimaxPhy::GetFrameDurationSec | ( | ) | const |
Get the frame duration This method is redundant with GetFrameDuration ()
Definition at line 303 of file wimax-phy.cc.
References m_frameDuration.
Referenced by GetFrameDuration(), and GetTypeId().
uint32_t ns3::WimaxPhy::GetFrequency | ( | ) | const |
Get the frequency on which the device is locked.
Definition at line 315 of file wimax-phy.cc.
References m_frequency.
Referenced by GetTypeId().
double ns3::WimaxPhy::GetGValue | ( | ) | const |
Get the guard interval factor (the ratio TG/Td)
Definition at line 375 of file wimax-phy.cc.
References DoGetGValue().
|
private |
Get modulation FEC parameters.
modulationType | the modultion type |
bitsPerSymbol | the number of bits per symbol page |
fecCode | the FEC code |
uint16_t ns3::WimaxPhy::GetNfft | ( | ) | const |
Get the size of the FFT.
Definition at line 333 of file wimax-phy.cc.
References DoGetNfft().
uint64_t ns3::WimaxPhy::GetNrBytes | ( | uint32_t | symbols, |
WimaxPhy::ModulationType | modulationType ) const |
Get the maximum number of bytes that could be carried by symbols symbols using the modulation modulationType.
symbols | the number of symbols to use |
modulationType | the modulation that will be used |
Definition at line 241 of file wimax-phy.cc.
References DoGetNrBytes().
uint8_t ns3::WimaxPhy::GetNrCarriers | ( | ) | const |
Get the number of carriers in the physical frame.
Definition at line 285 of file wimax-phy.cc.
References m_nrCarriers.
Referenced by ns3::SimpleOfdmWimaxPhy::CalculateDataRate().
uint64_t ns3::WimaxPhy::GetNrSymbols | ( | uint32_t | size, |
WimaxPhy::ModulationType | modulationType ) const |
Get the number of symbols needed to transmit size bytes using the modulation modulationType.
size | the number of byte to transmit |
modulationType | the modulation that will be used to transmit the bytes |
Definition at line 235 of file wimax-phy.cc.
References DoGetNrSymbols().
|
pure virtual |
Time ns3::WimaxPhy::GetPsDuration | ( | ) | const |
Get the physical slot duration.
Definition at line 357 of file wimax-phy.cc.
References m_psDuration.
uint16_t ns3::WimaxPhy::GetPsPerFrame | ( | ) | const |
Get the number of physical slots per frame.
Definition at line 399 of file wimax-phy.cc.
References m_psPerFrame.
uint16_t ns3::WimaxPhy::GetPsPerSymbol | ( | ) | const |
Get the number of physical slots per symbol.
Definition at line 387 of file wimax-phy.cc.
References m_psPerSymbol.
Referenced by ns3::SimpleOfdmWimaxPhy::DoGetRtg(), and ns3::SimpleOfdmWimaxPhy::DoGetTtg().
Callback< void, Ptr< const PacketBurst > > ns3::WimaxPhy::GetReceiveCallback | ( | ) | const |
Definition at line 149 of file wimax-phy.cc.
References m_rxCallback.
Referenced by ns3::SimpleOfdmWimaxPhy::EndReceive().
uint16_t ns3::WimaxPhy::GetRtg | ( | ) | const |
Get the receive/transmit transition gap.
Definition at line 253 of file wimax-phy.cc.
References DoGetRtg().
uint64_t ns3::WimaxPhy::GetRxFrequency | ( | ) | const |
Get the reception frequency.
Definition at line 169 of file wimax-phy.cc.
References m_rxFrequency.
Referenced by ns3::SimpleOfdmWimaxPhy::StartReceive().
double ns3::WimaxPhy::GetSamplingFactor | ( | ) | const |
Get the sampling factor.
Definition at line 339 of file wimax-phy.cc.
References DoGetSamplingFactor().
double ns3::WimaxPhy::GetSamplingFrequency | ( | ) | const |
Get the sampling frequency.
Definition at line 345 of file wimax-phy.cc.
References DoGetSamplingFrequency().
uint64_t ns3::WimaxPhy::GetScanningFrequency | ( | ) | const |
Get the scanning frequency.
Definition at line 181 of file wimax-phy.cc.
References m_scanningFrequency.
Referenced by SetScanningCallback(), and ns3::SimpleOfdmWimaxPhy::StartReceive().
WimaxPhy::PhyState ns3::WimaxPhy::GetState | ( | ) | const |
Get the state of the device.
Definition at line 193 of file wimax-phy.cc.
References m_state.
Referenced by ns3::SimpleOfdmWimaxPhy::Send(), and ns3::SimpleOfdmWimaxPhy::StartReceive().
Time ns3::WimaxPhy::GetSymbolDuration | ( | ) | const |
Get the OFDM symbol duration.
Definition at line 369 of file wimax-phy.cc.
References m_symbolDuration.
Referenced by ns3::SimpleOfdmWimaxPhy::CalculateDataRate(), ns3::SimpleOfdmWimaxPhy::DoGetNrBytes(), ns3::SimpleOfdmWimaxPhy::DoGetNrSymbols(), and ns3::SimpleOfdmWimaxPhy::DoGetTransmissionTime().
uint32_t ns3::WimaxPhy::GetSymbolsPerFrame | ( | ) | const |
Get the number of symbols per frame.
Definition at line 411 of file wimax-phy.cc.
References m_symbolsPerFrame.
Time ns3::WimaxPhy::GetTransmissionTime | ( | uint32_t | size, |
WimaxPhy::ModulationType | modulationType ) const |
Get transmission time needed to send bytes at a given modulation.
size | the number of byte to transmit |
modulationType | the modulation that will be used to transmit the bytes |
Definition at line 229 of file wimax-phy.cc.
References DoGetTransmissionTime().
uint16_t ns3::WimaxPhy::GetTtg | ( | ) | const |
Get the transmit/receive transition gap.
Definition at line 247 of file wimax-phy.cc.
References DoGetTtg().
uint64_t ns3::WimaxPhy::GetTxFrequency | ( | ) | const |
Get the transmission frequency.
Definition at line 175 of file wimax-phy.cc.
References m_txFrequency.
Referenced by ns3::SimpleOfdmWimaxPhy::StartSendDummyFecBlock().
|
static |
Get the type ID.
Definition at line 31 of file wimax-phy.cc.
References Attach(), GetChannel(), GetChannelBandwidth(), GetFrameDurationSec(), GetFrequency(), ns3::MakePointerAccessor(), ns3::MakePointerChecker(), ns3::MakeTimeAccessor(), ns3::MakeTimeChecker(), ns3::MakeUintegerAccessor(), ns3::MakeUintegerChecker(), ns3::Seconds(), SetChannelBandwidth(), SetFrameDuration(), SetFrequency(), and ns3::TypeId::SetParent().
bool ns3::WimaxPhy::IsDuplex | ( | ) | const |
Check if configured in duplex mode.
Definition at line 199 of file wimax-phy.cc.
References m_duplex.
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 321 of file wimax-phy.cc.
References m_channelBandwidth.
Referenced by GetTypeId(), and ns3::SimpleOfdmWimaxPhy::SetBandwidth().
void ns3::WimaxPhy::SetDataRates | ( | ) |
calculates the data rate of each modulation and save them for future use
Definition at line 217 of file wimax-phy.cc.
References DoSetDataRates().
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 112 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
rxFrequency | the reception frequency |
txFrequency | the transmission frequency |
Definition at line 155 of file wimax-phy.cc.
References m_rxFrequency, and m_txFrequency.
void ns3::WimaxPhy::SetFrameDuration | ( | Time | frameDuration | ) |
Set the frame duration.
frameDuration | the frame duration |
Definition at line 291 of file wimax-phy.cc.
References m_frameDuration.
Referenced by GetTypeId().
void ns3::WimaxPhy::SetFrequency | ( | uint32_t | frequency | ) |
set the frequency on which the device should lock
frequency | the frequency to configure |
Definition at line 309 of file wimax-phy.cc.
References m_frequency.
Referenced by GetTypeId().
void ns3::WimaxPhy::SetNrCarriers | ( | uint8_t | nrCarriers | ) |
Set the number of carriers in the physical frame.
Set the number of carriers in the physical frame
nrCarriers | the number of carriers in the frame |
Definition at line 279 of file wimax-phy.cc.
References m_nrCarriers.
Referenced by ns3::SimpleOfdmWimaxPhy::InitSimpleOfdmWimaxPhy().
void ns3::WimaxPhy::SetPhyParameters | ( | ) |
computes the Physical parameters and store them
Definition at line 273 of file wimax-phy.cc.
References DoSetPhyParameters().
void ns3::WimaxPhy::SetPsDuration | ( | Time | psDuration | ) |
set the physical slot duration
psDuration | the physical slot duration |
Definition at line 351 of file wimax-phy.cc.
References m_psDuration.
Referenced by ns3::SimpleOfdmWimaxPhy::DoSetPhyParameters().
void ns3::WimaxPhy::SetPsPerFrame | ( | uint16_t | psPerFrame | ) |
set the number of physical slots per frame
psPerFrame | the number of physical slots per frame |
Definition at line 393 of file wimax-phy.cc.
References m_psPerFrame.
Referenced by ns3::SimpleOfdmWimaxPhy::DoSetPhyParameters().
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 381 of file wimax-phy.cc.
References m_psPerSymbol.
Referenced by ns3::SimpleOfdmWimaxPhy::DoSetPhyParameters().
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 143 of file wimax-phy.cc.
References m_rxCallback.
void ns3::WimaxPhy::SetScanningCallback | ( | ) | const |
calls the scanning call back function
Definition at line 211 of file wimax-phy.cc.
References GetScanningFrequency(), and m_scanningCallback.
Referenced by ns3::SimpleOfdmWimaxPhy::StartReceive().
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 162 of file wimax-phy.cc.
References m_rxFrequency, and m_txFrequency.
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 187 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().
void ns3::WimaxPhy::SetSymbolDuration | ( | Time | symbolDuration | ) |
set the OFDM symbol duration
symbolDuration | the symbol duration |
Definition at line 363 of file wimax-phy.cc.
References m_symbolDuration.
Referenced by ns3::SimpleOfdmWimaxPhy::DoSetPhyParameters().
void ns3::WimaxPhy::SetSymbolsPerFrame | ( | uint32_t | symbolsPerFrame | ) |
set the number of symbols per frame
symbolsPerFrame | the number of symbols per frame |
Definition at line 405 of file wimax-phy.cc.
References m_symbolsPerFrame.
Referenced by ns3::SimpleOfdmWimaxPhy::DoSetPhyParameters().
void ns3::WimaxPhy::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
frequency | the frequency to scan |
timeout | the timeout before considering the channel as unusable |
callback | the function to call if the channel could be used |
Definition at line 124 of file wimax-phy.cc.
References EndScanning(), m_dlChnlSrchTimeoutEvent, m_scanningCallback, m_scanningFrequency, m_state, NS_ASSERT_MSG, PHY_STATE_IDLE, PHY_STATE_SCANNING, ns3::Simulator::Schedule(), and timeout.
|
private |
channel
Definition at line 455 of file wimax-phy.h.
Referenced by Attach(), DoDispose(), and GetChannel().
|
private |
in Hz
Definition at line 470 of file wimax-phy.h.
Referenced by GetChannelBandwidth(), and SetChannelBandwidth().
|
private |
the device
Definition at line 454 of file wimax-phy.h.
Referenced by DoDispose(), GetDevice(), and SetDevice().
|
private |
DL channel search timeout event.
Definition at line 460 of file wimax-phy.h.
Referenced by GetChnlSrchTimeoutEvent(), and StartScanning().
|
private |
|
private |
in seconds
Definition at line 468 of file wimax-phy.h.
Referenced by GetFrameDurationSec(), and SetFrameDuration().
|
private |
in KHz
Definition at line 469 of file wimax-phy.h.
Referenced by GetFrequency(), and SetFrequency().
|
private |
number of carriers
Definition at line 467 of file wimax-phy.h.
Referenced by GetNrCarriers(), and SetNrCarriers().
|
private |
in seconds
Definition at line 471 of file wimax-phy.h.
Referenced by GetPsDuration(), and SetPsDuration().
|
private |
ps per framce
Definition at line 474 of file wimax-phy.h.
Referenced by GetPsPerFrame(), and SetPsPerFrame().
|
private |
ps per sumbol
Definition at line 473 of file wimax-phy.h.
Referenced by GetPsPerSymbol(), and SetPsPerSymbol().
|
private |
receive callback function
Definition at line 464 of file wimax-phy.h.
Referenced by GetReceiveCallback(), and SetReceiveCallback().
|
private |
receive frequency
Definition at line 458 of file wimax-phy.h.
Referenced by WimaxPhy(), GetRxFrequency(), SetDuplex(), and SetSimplex().
|
private |
scanning callback function
Definition at line 465 of file wimax-phy.h.
Referenced by EndScanning(), SetScanningCallback(), and StartScanning().
|
private |
scanning frequency
Definition at line 459 of file wimax-phy.h.
Referenced by EndScanning(), GetScanningFrequency(), and StartScanning().
|
private |
state
Definition at line 462 of file wimax-phy.h.
Referenced by GetState(), SetState(), and StartScanning().
|
private |
in seconds
Definition at line 472 of file wimax-phy.h.
Referenced by GetSymbolDuration(), and SetSymbolDuration().
|
private |
symbols per frame
Definition at line 475 of file wimax-phy.h.
Referenced by GetSymbolsPerFrame(), and SetSymbolsPerFrame().
|
private |
transmit frequency
Definition at line 457 of file wimax-phy.h.
Referenced by WimaxPhy(), GetTxFrequency(), SetDuplex(), and SetSimplex().