#include <simple-ofdm-wimax-phy.h>
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 (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 | |
![]() | |
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 | |
![]() | |
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) |
![]() | |
SimpleRefCount () | |
SimpleRefCount (const SimpleRefCount &o) | |
uint32_t | GetReferenceCount (void) const |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
void | Ref (void) const |
void | Unref (void) const |
![]() | |
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 | |
![]() | |
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().
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().
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().
|
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().
|
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().
|
private |
Definition at line 510 of file simple-ofdm-wimax-phy.cc.
References ns3::PacketBurst::AddPacket().
|
private |
Definition at line 470 of file simple-ofdm-wimax-phy.cc.
References ns3::Packet::CopyData(), ns3::Packet::GetSize(), and list.
|
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().
|
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().
|
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().
|
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.
|
private |
Definition at line 1007 of file simple-ofdm-wimax-phy.cc.
References m_g.
Referenced by DoSetPhyParameters(), and GetTypeId().
|
private |
Definition at line 956 of file simple-ofdm-wimax-phy.cc.
References m_nfft.
Referenced by DoSetPhyParameters(), and GetTypeId().
|
private |
Definition at line 718 of file simple-ofdm-wimax-phy.cc.
References DoGetDataRate(), ns3::Time::GetSeconds(), ns3::WimaxPhy::GetSymbolDuration(), and ns3::Seconds().
|
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().
|
private |
Definition at line 811 of file simple-ofdm-wimax-phy.cc.
References ns3::WimaxPhy::GetPsPerSymbol().
|
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().
|
private |
Definition at line 999 of file simple-ofdm-wimax-phy.cc.
References DoGetSamplingFactor(), and ns3::WimaxPhy::GetChannelBandwidth().
Referenced by DoSetPhyParameters().
|
private |
Definition at line 701 of file simple-ofdm-wimax-phy.cc.
References DoGetNrSymbols(), ns3::WimaxPhy::GetSymbolDuration(), ns3::NanoSeconds(), and ns3::Seconds().
|
private |
Definition at line 804 of file simple-ofdm-wimax-phy.cc.
References ns3::WimaxPhy::GetPsPerSymbol().
|
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.
|
private |
Definition at line 1014 of file simple-ofdm-wimax-phy.cc.
References m_g.
Referenced by GetTypeId().
|
private |
Definition at line 949 of file simple-ofdm-wimax-phy.cc.
References m_nfft.
Referenced by GetTypeId().
|
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().
|
private |
Definition at line 462 of file simple-ofdm-wimax-phy.cc.
References ns3::WimaxPhy::GetReceiveCallback(), and m_traceRx.
Referenced by EndReceiveFecBlock().
|
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().
|
private |
Definition at line 331 of file simple-ofdm-wimax-phy.cc.
References ns3::WimaxPhy::PHY_STATE_IDLE, and ns3::WimaxPhy::SetState().
|
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().
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().
|
private |
Definition at line 695 of file simple-ofdm-wimax-phy.cc.
References DoGetDataRate(), GetFecBlockSize(), and ns3::Seconds().
Referenced by StartReceive(), and StartSendDummyFecBlock().
|
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().
|
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().
double ns3::SimpleOfdmWimaxPhy::GetNoiseFigure | ( | void | ) | const |
Definition at line 212 of file simple-ofdm-wimax-phy.cc.
References m_noiseFigure.
Referenced by GetTypeId().
|
private |
Definition at line 906 of file simple-ofdm-wimax-phy.cc.
References GetFecBlockSize().
Referenced by DoGetNrSymbols(), and SetBlockParameters().
|
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().
|
private |
Definition at line 1045 of file simple-ofdm-wimax-phy.cc.
References ns3::SNRToBlockErrorRateManager::GetTraceFilePath(), and m_snrToBlockErrorRateManager.
Referenced by GetTypeId().
|
private |
Definition at line 1033 of file simple-ofdm-wimax-phy.cc.
References m_txGain.
Referenced by GetTypeId().
double ns3::SimpleOfdmWimaxPhy::GetTxPower | ( | void | ) | const |
Definition at line 201 of file simple-ofdm-wimax-phy.cc.
References m_txPower.
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.
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().
|
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().
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().
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().
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().
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().
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().
|
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().
|
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().
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().
|
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().
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().
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().
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().
|
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().
|
private |
Definition at line 1021 of file simple-ofdm-wimax-phy.cc.
References m_txGain.
Referenced by GetTypeId().
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().
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().
|
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().
|
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().