ns-3
|
Public Types | |
enum | FrameDurationCode { FRAME_DURATION_2_POINT_5_MS, FRAME_DURATION_4_MS, FRAME_DURATION_5_MS, FRAME_DURATION_8_MS, FRAME_DURATION_10_MS, FRAME_DURATION_12_POINT_5_MS, FRAME_DURATION_20_MS } |
![]() | |
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 | |
SimpleOfdmWimaxPhy (char *tracesPath) | |
void | ActivateLoss (bool loss) |
if called with true it will enable the loss model | |
void | SetSNRToBlockErrorRateTracesPath (char *tracesPath) |
Set the path of the repository containing the traces. | |
void | DoAttach (Ptr< WimaxChannel > channel) |
void | SetReceiveCallback (Callback< void, Ptr< PacketBurst >, Ptr< WimaxConnection > > callback) |
set the callback function to call when a burst is received | |
void | Send (Ptr< PacketBurst > burst, WimaxPhy::ModulationType modulationType, uint8_t direction) |
Sends a burst on the channel. | |
void | Send (SendParams *params) |
Sends a burst on the channel. | |
WimaxPhy::PhyType | GetPhyType (void) const |
returns the type this physical layer | |
void | StartReceive (uint32_t burstSize, bool isFirstBlock, uint64_t frequency, WimaxPhy::ModulationType modulationType, uint8_t direction, double rxPower, Ptr< PacketBurst > burst) |
start the reception of a fec block | |
uint32_t | GetBandwidth (void) const |
void | SetBandwidth (uint32_t BW) |
Set the bandwidth. | |
double | GetTxPower (void) const |
void | SetTxPower (double txPower) |
set the transmission power | |
double | GetNoiseFigure (void) const |
void | SetNoiseFigure (double nf) |
set the noise figure of the device | |
void | NotifyTxBegin (Ptr< PacketBurst > burst) |
void | NotifyTxEnd (Ptr< PacketBurst > burst) |
void | NotifyTxDrop (Ptr< PacketBurst > burst) |
void | NotifyRxBegin (Ptr< PacketBurst > burst) |
void | NotifyRxEnd (Ptr< PacketBurst > burst) |
void | NotifyRxDrop (Ptr< PacketBurst > burst) |
![]() | |
void | Attach (Ptr< WimaxChannel > channel) |
Ptr< WimaxChannel > | GetChannel (void) const |
void | SetDevice (Ptr< WimaxNetDevice > device) |
Set the device in which this physical layer is installed. | |
Ptr< NetDevice > | GetDevice (void) const |
void | SetReceiveCallback (Callback< void, Ptr< const PacketBurst > > callback) |
set the callback function to call when a burst is received | |
Callback< void, Ptr< const PacketBurst > > | GetReceiveCallback (void) const |
void | SetDuplex (uint64_t rxFrequency, uint64_t txFrequency) |
configure the physical layer in duplex mode | |
void | SetSimplex (uint64_t frequency) |
configure the physical layer in simplex mode | |
uint64_t | GetRxFrequency (void) const |
uint64_t | GetTxFrequency (void) const |
uint64_t | GetScanningFrequency (void) const |
void | SetNrCarriers (uint8_t nrCarriers) |
Set the number of carriers in the physical frame. | |
uint8_t | GetNrCarriers (void) const |
void | SetFrameDuration (Time frameDuration) |
Set the frame duration. | |
Time | GetFrameDurationSec (void) const |
Time | GetFrameDuration (void) const |
void | SetFrequency (uint32_t frequency) |
set the frequency on which the device should lock | |
uint32_t | GetFrequency (void) const |
void | SetChannelBandwidth (uint32_t channelBandwidth) |
Set the channel bandwidth. | |
uint32_t | GetChannelBandwidth (void) const |
uint16_t | GetNfft (void) const |
double | GetSamplingFactor (void) const |
double | GetSamplingFrequency (void) const |
void | SetPsDuration (Time psDuration) |
set the physical slot duration in seconds | |
Time | GetPsDuration (void) const |
void | SetSymbolDuration (Time symbolDuration) |
set the OFMD symbol duration in second | |
Time | GetSymbolDuration (void) const |
double | GetGValue (void) const |
void | SetPsPerSymbol (uint16_t psPerSymbol) |
set the number of physical slots per symbol | |
uint16_t | GetPsPerSymbol (void) const |
void | SetPsPerFrame (uint16_t psPerFrame) |
set the number of physical slot per frame | |
uint16_t | GetPsPerFrame (void) const |
void | SetSymbolsPerFrame (uint32_t symbolsPerFrame) |
set the number of symbols per frame | |
uint32_t | GetSymbolsPerFrame (void) const |
bool | IsDuplex (void) const |
void | SetState (PhyState state) |
set the state of the device | |
PhyState | GetState (void) const |
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 | |
void | SetScanningCallback (void) const |
calls the scanning call back function | |
EventId | GetChnlSrchTimeoutEvent (void) const |
void | SetDataRates (void) |
calculates the data rate of each modulation and save them for future use | |
uint32_t | GetDataRate (ModulationType modulationType) const |
Time | GetTransmissionTime (uint32_t size, ModulationType modulationType) const |
uint64_t | GetNrSymbols (uint32_t size, ModulationType modulationType) const |
uint64_t | GetNrBytes (uint32_t symbols, ModulationType modulationType) const |
uint16_t | GetTtg (void) const |
uint16_t | GetRtg (void) const |
uint8_t | GetFrameDurationCode (void) const |
Time | GetFrameDuration (uint8_t frameDurationCode) const |
void | SetPhyParameters (void) |
computes the Physical parameters and store them | |
virtual Ptr< Object > | GetMobility (void) |
virtual void | SetMobility (Ptr< Object > mobility) |
set the mobility model of the device | |
![]() | |
virtual TypeId | GetInstanceTypeId (void) const |
template<typename T > | |
Ptr< T > | GetObject (void) const |
template<typename T > | |
Ptr< T > | GetObject (TypeId tid) const |
void | Dispose (void) |
void | AggregateObject (Ptr< Object > other) |
AggregateIterator | GetAggregateIterator (void) const |
void | Start (void) |
![]() | |
SimpleRefCount (const SimpleRefCount &o) | |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
void | Ref (void) const |
void | Unref (void) const |
uint32_t | GetReferenceCount (void) const |
![]() | |
void | SetAttribute (std::string name, const AttributeValue &value) |
bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
void | GetAttribute (std::string name, AttributeValue &value) const |
bool | GetAttributeFailSafe (std::string name, AttributeValue &attribute) const |
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) |
This method returns the TypeId associated to ns3::SimpleOfdmWimaxPhy. |
void ns3::SimpleOfdmWimaxPhy::ActivateLoss | ( | bool | loss | ) |
if called with true it will enable the loss model
loss | set to true to enable the loss model |
References ns3::SNRToBlockErrorRateManager::ActivateLoss().
|
virtual |
Attach the physical layer to a channel.
channel | the channel to which the physical layer will be attached |
Implements ns3::WimaxPhy.
References ns3::WimaxChannel::Attach(), and ns3::WimaxPhy::GetChannel().
uint32_t ns3::SimpleOfdmWimaxPhy::GetBandwidth | ( | void | ) | const |
References ns3::WimaxPhy::GetChannelBandwidth().
Referenced by StartReceive().
double ns3::SimpleOfdmWimaxPhy::GetNoiseFigure | ( | void | ) | const |
Referenced by GetTypeId().
|
virtual |
returns the type this physical layer
Implements ns3::WimaxPhy.
double ns3::SimpleOfdmWimaxPhy::GetTxPower | ( | void | ) | const |
Referenced by GetTypeId().
|
static |
This method returns the TypeId associated to ns3::SimpleOfdmWimaxPhy.
This object is accessible through the following paths with Config::Set and Config::Connect:
Attributes defined for this type:
Attributes defined in parent class ns3::WimaxPhy:
TraceSources defined for this type:
Reimplemented from ns3::WimaxPhy.
References GetNoiseFigure(), GetTxPower(), ns3::MakeTraceSourceAccessor(), SetNoiseFigure(), ns3::TypeId::SetParent(), and SetTxPower().
void ns3::SimpleOfdmWimaxPhy::NotifyRxBegin | ( | Ptr< PacketBurst > | burst | ) |
Public method used to fire a PhyRxBegin trace. Implemented for encapsulation purposes.
Referenced by StartReceive().
void ns3::SimpleOfdmWimaxPhy::NotifyRxDrop | ( | Ptr< PacketBurst > | burst | ) |
Public method used to fire a PhyRxDrop trace. Implemented for encapsulation purposes.
void ns3::SimpleOfdmWimaxPhy::NotifyRxEnd | ( | Ptr< PacketBurst > | burst | ) |
Public method used to fire a PhyRxEnd trace. Implemented for encapsulation purposes.
void ns3::SimpleOfdmWimaxPhy::NotifyTxBegin | ( | Ptr< PacketBurst > | burst | ) |
Public method used to fire a PhyTxBegin trace. Implemented for encapsulation purposes.
Referenced by Send().
void ns3::SimpleOfdmWimaxPhy::NotifyTxDrop | ( | Ptr< PacketBurst > | burst | ) |
Public method used to fire a PhyTxDrop trace. Implemented for encapsulation purposes.
void ns3::SimpleOfdmWimaxPhy::NotifyTxEnd | ( | Ptr< PacketBurst > | burst | ) |
Public method used to fire a PhyTxEnd trace. Implemented for encapsulation purposes.
void ns3::SimpleOfdmWimaxPhy::Send | ( | Ptr< PacketBurst > | burst, |
WimaxPhy::ModulationType | modulationType, | ||
uint8_t | direction | ||
) |
Sends a burst on the channel.
burst | the burst to send |
modulationType | the modulation that will be used to send this burst |
direction | set to uplink or downlink |
References ns3::PacketBurst::GetSize(), ns3::WimaxPhy::GetState(), and NotifyTxBegin().
Referenced by Send().
|
virtual |
void ns3::SimpleOfdmWimaxPhy::SetBandwidth | ( | uint32_t | BW | ) |
void ns3::SimpleOfdmWimaxPhy::SetNoiseFigure | ( | double | nf | ) |
void ns3::SimpleOfdmWimaxPhy::SetSNRToBlockErrorRateTracesPath | ( | char * | tracesPath | ) |
Set the path of the repository containing the traces.
tracesPath | the path to the repository. see snr-to-block-error-rate-manager.h for more details. |
References ns3::SNRToBlockErrorRateManager::ReLoadTraces(), and ns3::SNRToBlockErrorRateManager::SetTraceFilePath().
void ns3::SimpleOfdmWimaxPhy::SetTxPower | ( | double | txPower | ) |
void ns3::SimpleOfdmWimaxPhy::StartReceive | ( | uint32_t | burstSize, |
bool | isFirstBlock, | ||
uint64_t | frequency, | ||
WimaxPhy::ModulationType | modulationType, | ||
uint8_t | direction, | ||
double | rxPower, | ||
Ptr< PacketBurst > | burst | ||
) |
start the reception of a fec block
burstSize | the burst size |
isFirstBlock | true if this block is the first one, false otherwise |
frequency | the frequency in wich the fec block is being received |
modulationType | the modulation used to transmit this fec Block |
direction | set to uplink and downlink |
rxPower | the received power. |
burst | the burst to be sent |
References ns3::Simulator::Cancel(), GetBandwidth(), ns3::SNRToBlockErrorRateRecord::GetI1(), ns3::SNRToBlockErrorRateRecord::GetI2(), ns3::WimaxPhy::GetRxFrequency(), ns3::WimaxPhy::GetScanningFrequency(), ns3::SNRToBlockErrorRateManager::GetSNRToBlockErrorRateRecord(), ns3::WimaxPhy::GetState(), ns3::UniformVariable::GetValue(), ns3::WimaxPhy::IsDuplex(), NotifyRxBegin(), NS_LOG_INFO, ns3::Simulator::Schedule(), ns3::WimaxPhy::SetScanningCallback(), ns3::WimaxPhy::SetSimplex(), and ns3::WimaxPhy::SetState().