ns-3
ns3::SimpleOfdmWimaxPhy Class Reference
Inheritance diagram for ns3::SimpleOfdmWimaxPhy:
Collaboration diagram for ns3::SimpleOfdmWimaxPhy:

List of all members.

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 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)

Static Public Member Functions

static TypeId GetTypeId (void)
 This method returns the TypeId associated to ns3::SimpleOfdmWimaxPhy.

Member Function Documentation

if called with true it will enable the loss model

Parameters:
lossset to true to enable the loss model

References ns3::SNRToBlockErrorRateManager::ActivateLoss().

void ns3::SimpleOfdmWimaxPhy::DoAttach ( Ptr< WimaxChannel channel) [virtual]

Attach the physical layer to a channel.

Parameters:
channelthe 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
Returns:
the bandwidth

References ns3::WimaxPhy::GetChannelBandwidth().

Referenced by StartReceive().

double ns3::SimpleOfdmWimaxPhy::GetNoiseFigure ( void  ) const
Returns:
the noise figure

Referenced by GetTypeId().

WimaxPhy::PhyType ns3::SimpleOfdmWimaxPhy::GetPhyType ( void  ) const [virtual]

returns the type this physical layer

Returns:
always WimaxPhy::simpleOfdmWimaxPhy;

Implements ns3::WimaxPhy.

double ns3::SimpleOfdmWimaxPhy::GetTxPower ( void  ) const
Returns:
the transmission power

Referenced by GetTypeId().

This method returns the TypeId associated to ns3::SimpleOfdmWimaxPhy.

This object is accessible through the following paths with Config::Set and Config::Connect:

  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::WimaxNetDevice/Phy/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::WimaxPhy/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::WimaxNetDevice/Phy/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::WimaxPhy/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Phy/$ns3::SimpleOfdmWimaxPhy

Attributes defined for this type:

  • NoiseFigure: Loss (dB) in the Signal-to-Noise-Ratio due to non-idealities in the receiver.
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 5
    • Flags: construct write read
  • TxPower: Transmission power (dB).
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 30
    • Flags: construct write read
  • G: This is the ratio of CP time to useful time.
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 0.25
    • Flags: construct write read
  • TxGain: Transmission gain (dB).
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 0
    • Flags: construct write read
  • RxGain: Reception gain (dB).
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 0
    • Flags: construct write read
  • Nfft: FFT size
  • TraceFilePath: Path to the directory containing SNR to block error rate files
    • Set with class: StringValue
    • Underlying type: std::string
    • Initial value:
    • Flags: construct write read

Attributes defined in parent class ns3::WimaxPhy:

  • Channel: Wimax channel
  • FrameDuration: The frame duration in seconds.
    • Set with class: TimeValue
    • Underlying type: Time
    • Initial value: +10000000.0ns
    • Flags: construct write read
  • Frequency: The central frequency in KHz.
    • Set with class: ns3::UintegerValue
    • Underlying type: uint32_t 1000000:11000000
    • Initial value: 5000000
    • Flags: construct write read
  • Bandwidth: The channel bandwidth in Hz.
    • Set with class: ns3::UintegerValue
    • Underlying type: uint32_t 5000000:30000000
    • Initial value: 10000000
    • Flags: construct write read

TraceSources defined for this type:

  • Rx: Receive trace
  • Tx: Transmit trace
  • PhyTxBegin: Trace source indicating a packet has begun transmitting over the channel medium
  • PhyTxEnd: Trace source indicating a packet has been completely transmitted over the channel
  • PhyTxDrop: Trace source indicating a packet has been dropped by the device during transmission
  • PhyRxBegin: Trace source indicating a packet has begun being received from the channel medium by the device
  • PhyRxEnd: Trace source indicating a packet has been completely received from the channel medium by the device
  • PhyRxDrop: Trace source indicating a packet has been dropped by the device during reception

Reimplemented from ns3::WimaxPhy.

References GetNoiseFigure(), GetTxPower(), ns3::MakeTraceSourceAccessor(), SetNoiseFigure(), ns3::TypeId::SetParent(), and SetTxPower().

Public method used to fire a PhyRxBegin trace. Implemented for encapsulation purposes.

Referenced by StartReceive().

Public method used to fire a PhyRxDrop trace. Implemented for encapsulation purposes.

Public method used to fire a PhyRxEnd trace. Implemented for encapsulation purposes.

Public method used to fire a PhyTxBegin trace. Implemented for encapsulation purposes.

Referenced by Send().

Public method used to fire a PhyTxDrop trace. Implemented for encapsulation purposes.

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.

Parameters:
burstthe burst to send
modulationTypethe modulation that will be used to send this burst
directionset to uplink or downlink

References ns3::PacketBurst::GetSize(), ns3::WimaxPhy::GetState(), and NotifyTxBegin().

Referenced by Send().

void ns3::SimpleOfdmWimaxPhy::Send ( SendParams params) [virtual]

Sends a burst on the channel.

See also:
SendParams

Implements ns3::WimaxPhy.

References Send().

Set the bandwidth.

Parameters:
BWthe bandwidth

References ns3::WimaxPhy::SetChannelBandwidth().

set the noise figure of the device

Parameters:
nfthe noise figure

Referenced by GetTypeId().

Set the path of the repository containing the traces.

Parameters:
tracesPaththe 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)

set the transmission power

Parameters:
txPowerthe transmission power

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

Parameters:
burstSizethe burst size
isFirstBlocktrue if this block is the first one, false otherwise
frequencythe frequency in wich the fec block is being received
modulationTypethe modulation used to transmit this fec Block
directionset to uplink and downlink
rxPowerthe received power.
burstthe 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().


The documentation for this class was generated from the following files: