#include <simple-ofdm-wimax-phy.h>
Inheritance diagram for ns3::SimpleOfdmWimaxPhy:
Collaboration diagram for ns3::SimpleOfdmWimaxPhy: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 (void) | |
| SimpleOfdmWimaxPhy (char *tracesPath) | |
| ~SimpleOfdmWimaxPhy (void) | |
| void | ActivateLoss (bool loss) |
| if called with true it will enable the loss model | |
| int64_t | AssignStreams (int64_t stream) |
| void | DoAttach (Ptr< WimaxChannel > channel) |
| uint32_t | GetBandwidth (void) const |
| double | GetNoiseFigure (void) const |
| WimaxPhy::PhyType | GetPhyType (void) const |
| returns the type this physical layer | |
| double | GetTxPower (void) const |
| void | NotifyRxBegin (Ptr< PacketBurst > burst) |
| void | NotifyRxDrop (Ptr< PacketBurst > burst) |
| void | NotifyRxEnd (Ptr< PacketBurst > burst) |
| void | NotifyTxBegin (Ptr< PacketBurst > burst) |
| void | NotifyTxDrop (Ptr< PacketBurst > burst) |
| void | NotifyTxEnd (Ptr< PacketBurst > burst) |
| 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. | |
| void | SetBandwidth (uint32_t BW) |
| Set the bandwidth. | |
| void | SetNoiseFigure (double nf) |
| set the noise figure of the device | |
| void | SetReceiveCallback (Callback< void, Ptr< PacketBurst >, Ptr< WimaxConnection > > callback) |
| set the callback function to call when a burst is received | |
| void | SetSNRToBlockErrorRateTracesPath (char *tracesPath) |
| Set the path of the repository containing the traces. | |
| void | SetTxPower (double txPower) |
| set the transmission power | |
| 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 | |
Public Member Functions inherited from ns3::WimaxPhy | |
| WimaxPhy (void) | |
| virtual | ~WimaxPhy (void) |
| 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 |
| 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 |
| void | SetChannelBandwidth (uint32_t channelBandwidth) |
| Set the channel bandwidth. | |
| 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. | |
| 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 | |
| virtual void | SetMobility (Ptr< Object > mobility) |
| set the mobility model of the device | |
| void | SetNrCarriers (uint8_t nrCarriers) |
| Set the number of carriers in the physical frame. | |
| void | SetPhyParameters (void) |
| computes the Physical parameters and store them | |
| void | SetPsDuration (Time psDuration) |
| set the physical slot duration in seconds | |
| void | SetPsPerFrame (uint16_t psPerFrame) |
| set the number of physical slot 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 (void) 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 OFMD symbol duration in second | |
| 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 the frequency frequency for maximum timeout seconds and calls callback if the frequency could be used | |
Public Member Functions inherited from ns3::Object | |
| Object () | |
| virtual | ~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 | Start (void) |
Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter > | |
| SimpleRefCount () | |
| 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 | |
| virtual | ~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) |
| This method returns the TypeId associated to ns3::SimpleOfdmWimaxPhy. | |
Private Member Functions | |
| uint32_t | CalculateDataRate (WimaxPhy::ModulationType modulationType) const |
| Ptr< PacketBurst > | ConvertBitsToBurst (bvec buffer) |
| bvec | ConvertBurstToBits (Ptr< const PacketBurst > burst) |
| void | CreateFecBlocks (const bvec &buffer, WimaxPhy::ModulationType modulationType) |
| void | DoDispose (void) |
| uint32_t | DoGetDataRate (WimaxPhy::ModulationType modulationType) const |
| Time | DoGetFrameDuration (uint8_t frameDurationCode) const |
| uint8_t | DoGetFrameDurationCode (void) const |
| double | DoGetGValue (void) const |
| uint16_t | DoGetNfft (void) const |
| uint64_t | DoGetNrBytes (uint32_t symbols, WimaxPhy::ModulationType modulationType) const |
| uint64_t | DoGetNrSymbols (uint32_t size, WimaxPhy::ModulationType modulationType) const |
| uint16_t | DoGetRtg (void) const |
| double | DoGetSamplingFactor (void) const |
| double | DoGetSamplingFrequency (void) const |
| Time | DoGetTransmissionTime (uint32_t size, WimaxPhy::ModulationType modulationType) const |
| uint16_t | DoGetTtg (void) const |
| void | DoSetDataRates (void) |
| void | DoSetGValue (double) |
| void | DoSetNfft (uint16_t) |
| void | DoSetPhyParameters (void) |
| void | EndReceive (Ptr< const PacketBurst > burst) |
| void | EndReceiveFecBlock (uint32_t burstSize, WimaxPhy::ModulationType modulationType, uint8_t direction, uint8_t drop, Ptr< PacketBurst > burst) |
| void | EndSend (void) |
| void | EndSendFecBlock (WimaxPhy::ModulationType modulationType, uint8_t direction) |
| Time | GetBlockTransmissionTime (WimaxPhy::ModulationType modulationType) const |
| uint32_t | GetCodedFecBlockSize (WimaxPhy::ModulationType modulationType) const |
| uint32_t | GetFecBlockSize (WimaxPhy::ModulationType type) const |
| void | GetModulationFecParams (WimaxPhy::ModulationType modulationType, uint8_t &bitsPerSymbol, double &fecCode) const |
| uint16_t | GetNrBlocks (uint32_t burstSize, WimaxPhy::ModulationType modulationType) const |
| double | GetRxGain (void) const |
| std::string | GetTraceFilePath (void) const |
| double | GetTxGain (void) const |
| void | InitSimpleOfdmWimaxPhy (void) |
| bvec | RecreateBuffer () |
| void | SetBlockParameters (uint32_t burstSize, WimaxPhy::ModulationType modulationType) |
| void | SetRxGain (double rxgain) |
| void | SetTraceFilePath (std::string path) |
| void | SetTxGain (double txgain) |
| void | StartSendDummyFecBlock (bool isFirstBlock, WimaxPhy::ModulationType modulationType, uint8_t direction) |
Additional Inherited Members | |
Protected Member Functions inherited from ns3::Object | |
| Object (const Object &o) | |
| virtual void | DoStart (void) |
| virtual void | NotifyNewAggregate (void) |
Definition at line 46 of file simple-ofdm-wimax-phy.h.
| 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 |
Definition at line 49 of file simple-ofdm-wimax-phy.h.
| ns3::SimpleOfdmWimaxPhy::SimpleOfdmWimaxPhy | ( | void | ) |
Definition at line 154 of file simple-ofdm-wimax-phy.cc.
References InitSimpleOfdmWimaxPhy(), ns3::SNRToBlockErrorRateManager::LoadTraces(), m_snrToBlockErrorRateManager, m_URNG, and ns3::SNRToBlockErrorRateManager::SetTraceFilePath().
Here is the call graph for this function:| ns3::SimpleOfdmWimaxPhy::SimpleOfdmWimaxPhy | ( | char * | tracesPath | ) |
Definition at line 163 of file simple-ofdm-wimax-phy.cc.
References InitSimpleOfdmWimaxPhy(), ns3::SNRToBlockErrorRateManager::LoadTraces(), m_snrToBlockErrorRateManager, and ns3::SNRToBlockErrorRateManager::SetTraceFilePath().
Here is the call graph for this function:| ns3::SimpleOfdmWimaxPhy::~SimpleOfdmWimaxPhy | ( | void | ) |
Definition at line 170 of file simple-ofdm-wimax-phy.cc.
| 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 |
Definition at line 176 of file simple-ofdm-wimax-phy.cc.
References ns3::SNRToBlockErrorRateManager::ActivateLoss(), and m_snrToBlockErrorRateManager.
Referenced by ns3::WimaxHelper::CreatePhy(), and ns3::WimaxHelper::CreatePhyWithoutChannel().
Here is the call graph for this function:
Here is the caller graph for this function:
|
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 |
Implements ns3::WimaxPhy.
Definition at line 1095 of file simple-ofdm-wimax-phy.cc.
References m_URNG, NS_LOG_FUNCTION, and ns3::RandomVariableStream::SetStream().
Referenced by ns3::SimpleOfdmWimaxChannel::AssignStreams().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 651 of file simple-ofdm-wimax-phy.cc.
References GetModulationFecParams(), ns3::WimaxPhy::GetNrCarriers(), ns3::Time::GetSeconds(), and ns3::WimaxPhy::GetSymbolDuration().
Referenced by DoSetDataRates().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 510 of file simple-ofdm-wimax-phy.cc.
References ns3::PacketBurst::AddPacket().
Here is the call graph for this function:
|
private |
Definition at line 470 of file simple-ofdm-wimax-phy.cc.
References ns3::Packet::CopyData(), ns3::Packet::GetSize(), and list.
Here is the call graph for this function:
|
private |
Definition at line 562 of file simple-ofdm-wimax-phy.cc.
References m_blockSize, m_fecBlocks, m_nrBlocks, and m_paddingBits.
|
virtual |
Attach the physical layer to a channel.
| channel | the channel to which the physical layer will be attached |
Implements ns3::WimaxPhy.
Definition at line 234 of file simple-ofdm-wimax-phy.cc.
References ns3::WimaxChannel::Attach(), and ns3::WimaxPhy::GetChannel().
Here is the call graph for this function:
|
private |
Definition at line 223 of file simple-ofdm-wimax-phy.cc.
References m_fecBlocks, m_receivedFecBlocks, and m_snrToBlockErrorRateManager.
|
private |
Definition at line 664 of file simple-ofdm-wimax-phy.cc.
References m_dataRateBpsk12, m_dataRateQam16_12, m_dataRateQam16_34, m_dataRateQam64_23, m_dataRateQam64_34, m_dataRateQpsk12, m_dataRateQpsk34, ns3::WimaxPhy::MODULATION_TYPE_BPSK_12, ns3::WimaxPhy::MODULATION_TYPE_QAM16_12, ns3::WimaxPhy::MODULATION_TYPE_QAM16_34, ns3::WimaxPhy::MODULATION_TYPE_QAM64_23, ns3::WimaxPhy::MODULATION_TYPE_QAM64_34, ns3::WimaxPhy::MODULATION_TYPE_QPSK_12, ns3::WimaxPhy::MODULATION_TYPE_QPSK_34, and NS_FATAL_ERROR.
Referenced by DoGetNrBytes(), DoGetNrSymbols(), and GetBlockTransmissionTime().
Here is the caller graph for this function:
|
private |
Definition at line 870 of file simple-ofdm-wimax-phy.cc.
References FRAME_DURATION_10_MS, FRAME_DURATION_12_POINT_5_MS, FRAME_DURATION_20_MS, FRAME_DURATION_2_POINT_5_MS, FRAME_DURATION_4_MS, FRAME_DURATION_5_MS, FRAME_DURATION_8_MS, NS_FATAL_ERROR, and ns3::Seconds().
Here is the call graph for this function:
|
private |
Definition at line 818 of file simple-ofdm-wimax-phy.cc.
References FRAME_DURATION_10_MS, FRAME_DURATION_12_POINT_5_MS, FRAME_DURATION_20_MS, FRAME_DURATION_2_POINT_5_MS, FRAME_DURATION_4_MS, FRAME_DURATION_5_MS, FRAME_DURATION_8_MS, ns3::WimaxPhy::GetFrameDuration(), ns3::Time::GetSeconds(), and NS_FATAL_ERROR.
Here is the call graph for this function:
|
private |
Definition at line 1007 of file simple-ofdm-wimax-phy.cc.
References m_g.
Referenced by DoSetPhyParameters(), and GetTypeId().
Here is the caller graph for this function:
|
private |
Definition at line 956 of file simple-ofdm-wimax-phy.cc.
References m_nfft.
Referenced by DoSetPhyParameters(), and GetTypeId().
Here is the caller graph for this function:
|
private |
Definition at line 718 of file simple-ofdm-wimax-phy.cc.
References DoGetDataRate(), ns3::Time::GetSeconds(), ns3::WimaxPhy::GetSymbolDuration(), and ns3::Seconds().
Here is the call graph for this function:
|
private |
Definition at line 710 of file simple-ofdm-wimax-phy.cc.
References DoGetDataRate(), GetFecBlockSize(), GetNrBlocks(), ns3::Time::GetSeconds(), ns3::WimaxPhy::GetSymbolDuration(), and ns3::Seconds().
Referenced by DoGetTransmissionTime().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 811 of file simple-ofdm-wimax-phy.cc.
References ns3::WimaxPhy::GetPsPerSymbol().
Here is the call graph for this function:
|
private |
Definition at line 963 of file simple-ofdm-wimax-phy.cc.
References ns3::WimaxPhy::GetChannelBandwidth(), NS_FATAL_ERROR, and NS_LOG_DEBUG.
Referenced by DoGetSamplingFrequency().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 999 of file simple-ofdm-wimax-phy.cc.
References DoGetSamplingFactor(), and ns3::WimaxPhy::GetChannelBandwidth().
Referenced by DoSetPhyParameters().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 701 of file simple-ofdm-wimax-phy.cc.
References DoGetNrSymbols(), ns3::WimaxPhy::GetSymbolDuration(), ns3::NanoSeconds(), and ns3::Seconds().
Here is the call graph for this function:
|
private |
Definition at line 804 of file simple-ofdm-wimax-phy.cc.
References ns3::WimaxPhy::GetPsPerSymbol().
Here is the call graph for this function:
|
private |
Definition at line 601 of file simple-ofdm-wimax-phy.cc.
References CalculateDataRate(), m_dataRateBpsk12, m_dataRateQam16_12, m_dataRateQam16_34, m_dataRateQam64_23, m_dataRateQam64_34, m_dataRateQpsk12, m_dataRateQpsk34, ns3::WimaxPhy::MODULATION_TYPE_BPSK_12, ns3::WimaxPhy::MODULATION_TYPE_QAM16_12, ns3::WimaxPhy::MODULATION_TYPE_QAM16_34, ns3::WimaxPhy::MODULATION_TYPE_QAM64_23, ns3::WimaxPhy::MODULATION_TYPE_QAM64_34, ns3::WimaxPhy::MODULATION_TYPE_QPSK_12, and ns3::WimaxPhy::MODULATION_TYPE_QPSK_34.
Here is the call graph for this function:
|
private |
Definition at line 1014 of file simple-ofdm-wimax-phy.cc.
References m_g.
Referenced by GetTypeId().
Here is the caller graph for this function:
|
private |
Definition at line 949 of file simple-ofdm-wimax-phy.cc.
References m_nfft.
Referenced by GetTypeId().
Here is the caller graph for this function:
|
private |
Definition at line 921 of file simple-ofdm-wimax-phy.cc.
References DoGetGValue(), DoGetNfft(), DoGetSamplingFrequency(), ns3::WimaxPhy::GetFrameDuration(), ns3::Time::GetSeconds(), ns3::Seconds(), ns3::WimaxPhy::SetPsDuration(), ns3::WimaxPhy::SetPsPerFrame(), ns3::WimaxPhy::SetPsPerSymbol(), ns3::WimaxPhy::SetSymbolDuration(), and ns3::WimaxPhy::SetSymbolsPerFrame().
Here is the call graph for this function:
|
private |
Definition at line 462 of file simple-ofdm-wimax-phy.cc.
References ns3::WimaxPhy::GetReceiveCallback(), and m_traceRx.
Referenced by EndReceiveFecBlock().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 428 of file simple-ofdm-wimax-phy.cc.
References EndReceive(), m_blockSize, m_nbErroneousBlock, m_nrRecivedFecBlocks, m_paddingBits, NotifyRxDrop(), NotifyRxEnd(), ns3::WimaxPhy::PHY_STATE_IDLE, ns3::Simulator::Schedule(), ns3::Seconds(), and ns3::WimaxPhy::SetState().
Referenced by StartReceive().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 331 of file simple-ofdm-wimax-phy.cc.
References ns3::WimaxPhy::PHY_STATE_IDLE, and ns3::WimaxPhy::SetState().
Here is the call graph for this function:
|
private |
Definition at line 312 of file simple-ofdm-wimax-phy.cc.
References m_blockSize, m_currentBurst, m_currentBurstSize, m_nrFecBlocksSent, m_nrRemainingBlocksToSend, m_paddingBits, NotifyTxEnd(), NS_ASSERT_MSG, ns3::WimaxPhy::PHY_STATE_IDLE, ns3::WimaxPhy::SetState(), and StartSendDummyFecBlock().
Referenced by StartSendDummyFecBlock().
Here is the call graph for this function:
Here is the caller graph for this function:| uint32_t ns3::SimpleOfdmWimaxPhy::GetBandwidth | ( | void | ) | const |
Definition at line 189 of file simple-ofdm-wimax-phy.cc.
References ns3::WimaxPhy::GetChannelBandwidth().
Referenced by StartReceive().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 695 of file simple-ofdm-wimax-phy.cc.
References DoGetDataRate(), GetFecBlockSize(), and ns3::Seconds().
Referenced by StartReceive(), and StartSendDummyFecBlock().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 760 of file simple-ofdm-wimax-phy.cc.
References ns3::WimaxPhy::MODULATION_TYPE_BPSK_12, ns3::WimaxPhy::MODULATION_TYPE_QAM16_12, ns3::WimaxPhy::MODULATION_TYPE_QAM16_34, ns3::WimaxPhy::MODULATION_TYPE_QAM64_23, ns3::WimaxPhy::MODULATION_TYPE_QAM64_34, ns3::WimaxPhy::MODULATION_TYPE_QPSK_12, ns3::WimaxPhy::MODULATION_TYPE_QPSK_34, and NS_FATAL_ERROR.
|
private |
Definition at line 725 of file simple-ofdm-wimax-phy.cc.
References ns3::WimaxPhy::MODULATION_TYPE_BPSK_12, ns3::WimaxPhy::MODULATION_TYPE_QAM16_12, ns3::WimaxPhy::MODULATION_TYPE_QAM16_34, ns3::WimaxPhy::MODULATION_TYPE_QAM64_23, ns3::WimaxPhy::MODULATION_TYPE_QAM64_34, ns3::WimaxPhy::MODULATION_TYPE_QPSK_12, ns3::WimaxPhy::MODULATION_TYPE_QPSK_34, and NS_FATAL_ERROR.
Referenced by DoGetNrSymbols(), GetBlockTransmissionTime(), GetNrBlocks(), and SetBlockParameters().
Here is the caller graph for this function:
|
private |
Definition at line 613 of file simple-ofdm-wimax-phy.cc.
References ns3::WimaxPhy::MODULATION_TYPE_BPSK_12, ns3::WimaxPhy::MODULATION_TYPE_QAM16_12, ns3::WimaxPhy::MODULATION_TYPE_QAM16_34, ns3::WimaxPhy::MODULATION_TYPE_QAM64_23, ns3::WimaxPhy::MODULATION_TYPE_QAM64_34, ns3::WimaxPhy::MODULATION_TYPE_QPSK_12, and ns3::WimaxPhy::MODULATION_TYPE_QPSK_34.
Referenced by CalculateDataRate().
Here is the caller graph for this function:| double ns3::SimpleOfdmWimaxPhy::GetNoiseFigure | ( | void | ) | const |
Definition at line 212 of file simple-ofdm-wimax-phy.cc.
References m_noiseFigure.
Referenced by GetTypeId().
Here is the caller graph for this function:
|
private |
Definition at line 906 of file simple-ofdm-wimax-phy.cc.
References GetFecBlockSize().
Referenced by DoGetNrSymbols(), and SetBlockParameters().
Here is the call graph for this function:
Here is the caller graph for this function:
|
virtual |
returns the type this physical layer
Implements ns3::WimaxPhy.
Definition at line 250 of file simple-ofdm-wimax-phy.cc.
References ns3::WimaxPhy::simpleOfdmWimaxPhy.
|
private |
Definition at line 1039 of file simple-ofdm-wimax-phy.cc.
References m_rxGain.
Referenced by GetTypeId().
Here is the caller graph for this function:
|
private |
Definition at line 1045 of file simple-ofdm-wimax-phy.cc.
References ns3::SNRToBlockErrorRateManager::GetTraceFilePath(), and m_snrToBlockErrorRateManager.
Referenced by GetTypeId().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 1033 of file simple-ofdm-wimax-phy.cc.
References m_txGain.
Referenced by GetTypeId().
Here is the caller graph for this function:| double ns3::SimpleOfdmWimaxPhy::GetTxPower | ( | void | ) | const |
Definition at line 201 of file simple-ofdm-wimax-phy.cc.
References m_txPower.
Referenced by GetTypeId().
Here is the caller graph for this function:
|
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.
Definition at line 42 of file simple-ofdm-wimax-phy.cc.
References DoGetGValue(), DoGetNfft(), DoSetGValue(), DoSetNfft(), GetNoiseFigure(), GetRxGain(), GetTraceFilePath(), GetTxGain(), GetTxPower(), m_phyRxBeginTrace, m_phyRxDropTrace, m_phyRxEndTrace, m_phyTxBeginTrace, m_phyTxDropTrace, m_phyTxEndTrace, m_traceRx, m_traceTx, ns3::MakeTraceSourceAccessor(), SetNoiseFigure(), ns3::TypeId::SetParent(), SetRxGain(), SetTraceFilePath(), SetTxGain(), and SetTxPower().
Here is the call graph for this function:
|
private |
Definition at line 122 of file simple-ofdm-wimax-phy.cc.
References m_blockSize, m_currentBurstSize, m_dataRateBpsk12, m_dataRateQam16_12, m_dataRateQam16_34, m_dataRateQam64_23, m_dataRateQam64_34, m_dataRateQpsk12, m_dataRateQpsk34, m_fecBlocks, m_fecBlockSize, m_g, m_nbErroneousBlock, m_nfft, m_noiseFigure, m_nrBlocks, m_nrFecBlocksSent, m_nrRecivedFecBlocks, m_paddingBits, m_receivedFecBlocks, m_rxGain, m_snrToBlockErrorRateManager, m_txGain, m_txPower, SetBandwidth(), and ns3::WimaxPhy::SetNrCarriers().
Referenced by SimpleOfdmWimaxPhy().
Here is the call graph for this function:
Here is the caller graph for this function:| void ns3::SimpleOfdmWimaxPhy::NotifyRxBegin | ( | Ptr< PacketBurst > | burst | ) |
Public method used to fire a PhyRxBegin trace. Implemented for encapsulation purposes.
Definition at line 1077 of file simple-ofdm-wimax-phy.cc.
References m_phyRxBeginTrace.
Referenced by StartReceive().
Here is the caller graph for this function:| void ns3::SimpleOfdmWimaxPhy::NotifyRxDrop | ( | Ptr< PacketBurst > | burst | ) |
Public method used to fire a PhyRxDrop trace. Implemented for encapsulation purposes.
Definition at line 1089 of file simple-ofdm-wimax-phy.cc.
References m_phyRxDropTrace.
Referenced by EndReceiveFecBlock().
Here is the caller graph for this function:| void ns3::SimpleOfdmWimaxPhy::NotifyRxEnd | ( | Ptr< PacketBurst > | burst | ) |
Public method used to fire a PhyRxEnd trace. Implemented for encapsulation purposes.
Definition at line 1083 of file simple-ofdm-wimax-phy.cc.
References m_phyRxEndTrace.
Referenced by EndReceiveFecBlock().
Here is the caller graph for this function:| void ns3::SimpleOfdmWimaxPhy::NotifyTxBegin | ( | Ptr< PacketBurst > | burst | ) |
Public method used to fire a PhyTxBegin trace. Implemented for encapsulation purposes.
Definition at line 1059 of file simple-ofdm-wimax-phy.cc.
References m_phyTxBeginTrace.
Referenced by Send().
Here is the caller graph for this function:| void ns3::SimpleOfdmWimaxPhy::NotifyTxDrop | ( | Ptr< PacketBurst > | burst | ) |
Public method used to fire a PhyTxDrop trace. Implemented for encapsulation purposes.
Definition at line 1071 of file simple-ofdm-wimax-phy.cc.
References m_phyTxDropTrace.
| void ns3::SimpleOfdmWimaxPhy::NotifyTxEnd | ( | Ptr< PacketBurst > | burst | ) |
Public method used to fire a PhyTxEnd trace. Implemented for encapsulation purposes.
Definition at line 1065 of file simple-ofdm-wimax-phy.cc.
References m_phyTxEndTrace.
Referenced by EndSendFecBlock().
Here is the caller graph for this function:
|
private |
Definition at line 584 of file simple-ofdm-wimax-phy.cc.
References m_blockSize, m_nrBlocks, and m_receivedFecBlocks.
| 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 |
Definition at line 256 of file simple-ofdm-wimax-phy.cc.
References ns3::PacketBurst::GetSize(), ns3::WimaxPhy::GetState(), m_currentBurst, m_currentBurstSize, m_nrFecBlocksSent, m_traceTx, NotifyTxBegin(), ns3::WimaxPhy::PHY_STATE_TX, SetBlockParameters(), and StartSendDummyFecBlock().
Referenced by Send().
Here is the call graph for this function:
Here is the caller graph for this function:
|
virtual |
Sends a burst on the channel.
Implements ns3::WimaxPhy.
Definition at line 240 of file simple-ofdm-wimax-phy.cc.
References ns3::OfdmSendParams::GetBurst(), ns3::OfdmSendParams::GetDirection(), ns3::OfdmSendParams::GetModulationType(), and Send().
Here is the call graph for this function:| void ns3::SimpleOfdmWimaxPhy::SetBandwidth | ( | uint32_t | BW | ) |
Set the bandwidth.
| BW | the bandwidth |
Definition at line 195 of file simple-ofdm-wimax-phy.cc.
References ns3::WimaxPhy::SetChannelBandwidth().
Referenced by InitSimpleOfdmWimaxPhy().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 794 of file simple-ofdm-wimax-phy.cc.
References GetFecBlockSize(), GetNrBlocks(), m_blockSize, m_nrBlocks, m_nrRemainingBlocksToSend, m_paddingBits, and NS_ASSERT_MSG.
Referenced by Send(), and StartReceive().
Here is the call graph for this function:
Here is the caller graph for this function:| void ns3::SimpleOfdmWimaxPhy::SetNoiseFigure | ( | double | nf | ) |
set the noise figure of the device
| nf | the noise figure |
Definition at line 217 of file simple-ofdm-wimax-phy.cc.
References m_noiseFigure.
Referenced by GetTypeId().
Here is the caller graph for this function:| void ns3::SimpleOfdmWimaxPhy::SetReceiveCallback | ( | Callback< void, Ptr< PacketBurst >, Ptr< WimaxConnection > > | callback | ) |
set the callback function to call when a burst is received
|
private |
Definition at line 1027 of file simple-ofdm-wimax-phy.cc.
References m_rxGain.
Referenced by GetTypeId().
Here is the caller graph for this function:| 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. |
Definition at line 182 of file simple-ofdm-wimax-phy.cc.
References m_snrToBlockErrorRateManager, ns3::SNRToBlockErrorRateManager::ReLoadTraces(), and ns3::SNRToBlockErrorRateManager::SetTraceFilePath().
Referenced by ns3::WimaxHelper::CreatePhy(), and ns3::WimaxHelper::CreatePhyWithoutChannel().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 1051 of file simple-ofdm-wimax-phy.cc.
References ns3::SNRToBlockErrorRateManager::LoadTraces(), m_snrToBlockErrorRateManager, and ns3::SNRToBlockErrorRateManager::SetTraceFilePath().
Referenced by GetTypeId().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 1021 of file simple-ofdm-wimax-phy.cc.
References m_txGain.
Referenced by GetTypeId().
Here is the caller graph for this function:| void ns3::SimpleOfdmWimaxPhy::SetTxPower | ( | double | txPower | ) |
set the transmission power
| txPower | the transmission power |
Definition at line 206 of file simple-ofdm-wimax-phy.cc.
References m_txPower.
Referenced by GetTypeId().
Here is the caller graph for this function:| 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 |
Definition at line 337 of file simple-ofdm-wimax-phy.cc.
References ns3::Simulator::Cancel(), EndReceiveFecBlock(), GetBandwidth(), GetBlockTransmissionTime(), ns3::WimaxPhy::GetChnlSrchTimeoutEvent(), ns3::SNRToBlockErrorRateRecord::GetI1(), ns3::SNRToBlockErrorRateRecord::GetI2(), ns3::WimaxPhy::GetRxFrequency(), ns3::WimaxPhy::GetScanningFrequency(), ns3::SNRToBlockErrorRateManager::GetSNRToBlockErrorRateRecord(), ns3::WimaxPhy::GetState(), ns3::UniformRandomVariable::GetValue(), ns3::WimaxPhy::IsDuplex(), m_blockTime, m_noiseFigure, m_nrRecivedFecBlocks, m_receivedFecBlocks, m_snrToBlockErrorRateManager, m_URNG, NotifyRxBegin(), NS_LOG_INFO, ns3::WimaxPhy::PHY_STATE_IDLE, ns3::WimaxPhy::PHY_STATE_RX, ns3::WimaxPhy::PHY_STATE_SCANNING, ns3::WimaxPhy::PHY_STATE_TX, ns3::Simulator::Schedule(), SetBlockParameters(), ns3::WimaxPhy::SetScanningCallback(), ns3::WimaxPhy::SetSimplex(), and ns3::WimaxPhy::SetState().
Referenced by ns3::SimpleOfdmWimaxChannel::EndSendDummyBlock().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 274 of file simple-ofdm-wimax-phy.cc.
References EndSendFecBlock(), GetBlockTransmissionTime(), ns3::WimaxPhy::GetChannel(), ns3::WimaxPhy::GetTxFrequency(), m_blockTime, m_currentBurst, m_currentBurstSize, m_nrRemainingBlocksToSend, m_txPower, ns3::PeekPointer(), ns3::WimaxPhy::PHY_STATE_TX, ns3::Simulator::Schedule(), ns3::SimpleOfdmWimaxChannel::Send(), and ns3::WimaxPhy::SetState().
Referenced by EndSendFecBlock(), and Send().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 266 of file simple-ofdm-wimax-phy.h.
|
private |
Definition at line 260 of file simple-ofdm-wimax-phy.h.
Referenced by CreateFecBlocks(), EndReceiveFecBlock(), EndSendFecBlock(), InitSimpleOfdmWimaxPhy(), RecreateBuffer(), and SetBlockParameters().
|
private |
Definition at line 247 of file simple-ofdm-wimax-phy.h.
Referenced by StartReceive(), and StartSendDummyFecBlock().
|
private |
Definition at line 259 of file simple-ofdm-wimax-phy.h.
Referenced by EndSendFecBlock(), Send(), and StartSendDummyFecBlock().
|
private |
Definition at line 242 of file simple-ofdm-wimax-phy.h.
Referenced by EndSendFecBlock(), InitSimpleOfdmWimaxPhy(), Send(), and StartSendDummyFecBlock().
|
private |
Definition at line 253 of file simple-ofdm-wimax-phy.h.
Referenced by DoGetDataRate(), DoSetDataRates(), and InitSimpleOfdmWimaxPhy().
|
private |
Definition at line 253 of file simple-ofdm-wimax-phy.h.
Referenced by DoGetDataRate(), DoSetDataRates(), and InitSimpleOfdmWimaxPhy().
|
private |
Definition at line 253 of file simple-ofdm-wimax-phy.h.
Referenced by DoGetDataRate(), DoSetDataRates(), and InitSimpleOfdmWimaxPhy().
|
private |
Definition at line 253 of file simple-ofdm-wimax-phy.h.
Referenced by DoGetDataRate(), DoSetDataRates(), and InitSimpleOfdmWimaxPhy().
|
private |
Definition at line 253 of file simple-ofdm-wimax-phy.h.
Referenced by DoGetDataRate(), DoSetDataRates(), and InitSimpleOfdmWimaxPhy().
|
private |
Definition at line 253 of file simple-ofdm-wimax-phy.h.
Referenced by DoGetDataRate(), DoSetDataRates(), and InitSimpleOfdmWimaxPhy().
|
private |
Definition at line 253 of file simple-ofdm-wimax-phy.h.
Referenced by DoGetDataRate(), DoSetDataRates(), and InitSimpleOfdmWimaxPhy().
Definition at line 246 of file simple-ofdm-wimax-phy.h.
Referenced by CreateFecBlocks(), DoDispose(), and InitSimpleOfdmWimaxPhy().
|
private |
Definition at line 241 of file simple-ofdm-wimax-phy.h.
Referenced by InitSimpleOfdmWimaxPhy().
|
private |
Definition at line 265 of file simple-ofdm-wimax-phy.h.
Referenced by DoGetGValue(), DoSetGValue(), and InitSimpleOfdmWimaxPhy().
|
private |
Definition at line 262 of file simple-ofdm-wimax-phy.h.
Referenced by EndReceiveFecBlock(), and InitSimpleOfdmWimaxPhy().
|
private |
Definition at line 264 of file simple-ofdm-wimax-phy.h.
Referenced by DoGetNfft(), DoSetNfft(), and InitSimpleOfdmWimaxPhy().
|
private |
Definition at line 268 of file simple-ofdm-wimax-phy.h.
Referenced by GetNoiseFigure(), InitSimpleOfdmWimaxPhy(), SetNoiseFigure(), and StartReceive().
|
private |
Definition at line 257 of file simple-ofdm-wimax-phy.h.
Referenced by CreateFecBlocks(), InitSimpleOfdmWimaxPhy(), RecreateBuffer(), and SetBlockParameters().
|
private |
Definition at line 245 of file simple-ofdm-wimax-phy.h.
Referenced by EndSendFecBlock(), InitSimpleOfdmWimaxPhy(), and Send().
|
private |
Definition at line 263 of file simple-ofdm-wimax-phy.h.
Referenced by EndReceiveFecBlock(), InitSimpleOfdmWimaxPhy(), and StartReceive().
|
private |
Definition at line 258 of file simple-ofdm-wimax-phy.h.
Referenced by EndSendFecBlock(), SetBlockParameters(), and StartSendDummyFecBlock().
|
private |
Definition at line 261 of file simple-ofdm-wimax-phy.h.
Referenced by CreateFecBlocks(), EndReceiveFecBlock(), EndSendFecBlock(), InitSimpleOfdmWimaxPhy(), and SetBlockParameters().
|
private |
The trace source fired when a packet begins the reception process from the medium.
Definition at line 301 of file simple-ofdm-wimax-phy.h.
Referenced by GetTypeId(), and NotifyRxBegin().
|
private |
The trace source fired when the phy layer drops a packet it has received.
Definition at line 316 of file simple-ofdm-wimax-phy.h.
Referenced by GetTypeId(), and NotifyRxDrop().
|
private |
The trace source fired when a packet ends the reception process from the medium.
Definition at line 309 of file simple-ofdm-wimax-phy.h.
Referenced by GetTypeId(), and NotifyRxEnd().
|
private |
The trace source fired when a packet begins the transmission process on the medium.
Definition at line 277 of file simple-ofdm-wimax-phy.h.
Referenced by GetTypeId(), and NotifyTxBegin().
|
private |
The trace source fired when the phy layer drops a packet as it tries to transmit it.
Definition at line 293 of file simple-ofdm-wimax-phy.h.
Referenced by GetTypeId(), and NotifyTxDrop().
|
private |
The trace source fired when a packet ends the transmission process on the medium.
Definition at line 285 of file simple-ofdm-wimax-phy.h.
Referenced by GetTypeId(), and NotifyTxEnd().
Definition at line 244 of file simple-ofdm-wimax-phy.h.
Referenced by DoDispose(), InitSimpleOfdmWimaxPhy(), RecreateBuffer(), and StartReceive().
|
private |
Definition at line 270 of file simple-ofdm-wimax-phy.h.
Referenced by GetRxGain(), InitSimpleOfdmWimaxPhy(), and SetRxGain().
|
private |
Definition at line 318 of file simple-ofdm-wimax-phy.h.
Referenced by ActivateLoss(), DoDispose(), GetTraceFilePath(), InitSimpleOfdmWimaxPhy(), SetSNRToBlockErrorRateTracesPath(), SetTraceFilePath(), SimpleOfdmWimaxPhy(), and StartReceive().
|
private |
Definition at line 249 of file simple-ofdm-wimax-phy.h.
Referenced by EndReceive(), and GetTypeId().
|
private |
Definition at line 250 of file simple-ofdm-wimax-phy.h.
Referenced by GetTypeId(), and Send().
|
private |
Definition at line 269 of file simple-ofdm-wimax-phy.h.
Referenced by GetTxGain(), InitSimpleOfdmWimaxPhy(), and SetTxGain().
|
private |
Definition at line 267 of file simple-ofdm-wimax-phy.h.
Referenced by GetTxPower(), InitSimpleOfdmWimaxPhy(), SetTxPower(), and StartSendDummyFecBlock().
|
private |
Provides uniform random variables.
Definition at line 321 of file simple-ofdm-wimax-phy.h.
Referenced by AssignStreams(), SimpleOfdmWimaxPhy(), and StartReceive().