|
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 } |
Public Types inherited from ns3::WimaxPhy | |
| 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) |
Public Member Functions inherited from ns3::WimaxPhy | |
| 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 | |
Public Member Functions inherited from ns3::Object | |
| 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) |
Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter > | |
| SimpleRefCount (const SimpleRefCount &o) | |
| SimpleRefCount & | operator= (const SimpleRefCount &o) |
| void | Ref (void) const |
| void | Unref (void) const |
| uint32_t | GetReferenceCount (void) const |
Public Member Functions inherited from ns3::ObjectBase | |
| 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().