Public Types | Public Member Functions | Static Public Member Functions

ns3::SimpleOfdmWimaxPhy Class Reference

Inheritance diagram for ns3::SimpleOfdmWimaxPhy:
Inheritance graph
[legend]
Collaboration diagram for ns3::SimpleOfdmWimaxPhy:
Collaboration graph
[legend]

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

void ns3::SimpleOfdmWimaxPhy::ActivateLoss ( bool  loss  ) 

if called with true it will enable the loss model

Parameters:
loss set to true to enable the loss model
void ns3::SimpleOfdmWimaxPhy::DoAttach ( Ptr< WimaxChannel channel  )  [virtual]

Attach the physical layer to a channel.

Parameters:
channel the channel to which the physical layer will be attached

Implements ns3::WimaxPhy.

uint32_t ns3::SimpleOfdmWimaxPhy::GetBandwidth ( void   )  const
Returns:
the bandwidth
double ns3::SimpleOfdmWimaxPhy::GetNoiseFigure ( void   )  const
Returns:
the noise figure
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
static TypeId ns3::SimpleOfdmWimaxPhy::GetTypeId ( void   )  [static]

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::BaseStationNetDevice/BsIpcsPacketClassifier/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/BsIpcsPacketClassifier/$ns3::WimaxNetDevice/Phy/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/BsIpcsPacketClassifier/$ns3::WimaxPhy/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/LinkManager/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/LinkManager/$ns3::WimaxNetDevice/Phy/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/LinkManager/$ns3::WimaxPhy/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/SSManager/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/SSManager/$ns3::WimaxNetDevice/Phy/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/SSManager/$ns3::WimaxPhy/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/ServiceFlowManager/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/ServiceFlowManager/$ns3::WimaxNetDevice/Phy/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/ServiceFlowManager/$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::SubscriberStationNetDevice/Classifier/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/Classifier/$ns3::WimaxNetDevice/Phy/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/Classifier/$ns3::WimaxPhy/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/LinkManager/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/LinkManager/$ns3::WimaxNetDevice/Phy/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/LinkManager/$ns3::WimaxPhy/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/SSScheduler/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/SSScheduler/$ns3::WimaxNetDevice/Phy/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/SSScheduler/$ns3::WimaxPhy/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Channel/NoiseModel/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Channel/NoiseModel/$ns3::WimaxNetDevice/Phy/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Channel/NoiseModel/$ns3::WimaxPhy/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Channel/PropagationModel/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Channel/PropagationModel/$ns3::WimaxNetDevice/Phy/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Channel/PropagationModel/$ns3::WimaxPhy/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Mac/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Mac/$ns3::WimaxNetDevice/Phy/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Mac/$ns3::WimaxPhy/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Phy/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Phy/$ns3::WimaxNetDevice/Phy/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Phy/$ns3::WimaxPhy/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Transducer/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Transducer/$ns3::WimaxNetDevice/Phy/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Transducer/$ns3::WimaxPhy/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/BsIpcsPacketClassifier/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/BsIpcsPacketClassifier/$ns3::WimaxPhy/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/LinkManager/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/LinkManager/$ns3::WimaxPhy/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/SSManager/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/SSManager/$ns3::WimaxPhy/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/ServiceFlowManager/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/ServiceFlowManager/$ns3::WimaxPhy/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/Classifier/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/Classifier/$ns3::WimaxPhy/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/LinkManager/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/LinkManager/$ns3::WimaxPhy/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/SSScheduler/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/SSScheduler/$ns3::WimaxPhy/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/BandwidthManager/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/BandwidthManager/$ns3::WimaxPhy/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/BurstProfileManager/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/BurstProfileManager/$ns3::WimaxPhy/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Channel/$ns3::UanChannel/NoiseModel/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Channel/$ns3::UanChannel/NoiseModel/$ns3::WimaxPhy/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Channel/$ns3::UanChannel/PropagationModel/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Channel/$ns3::UanChannel/PropagationModel/$ns3::WimaxPhy/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/ConnectionManager/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/ConnectionManager/$ns3::WimaxPhy/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Phy/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Phy/Channel/$ns3::UanChannel/NoiseModel/$ns3::SimpleOfdmWimaxPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Phy/Channel/$ns3::UanChannel/PropagationModel/$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: 10000000ns
    • 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.

void ns3::SimpleOfdmWimaxPhy::NotifyRxBegin ( Ptr< PacketBurst burst  ) 

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

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.

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 ( SendParams params  )  [virtual]

Sends a burst on the channel.

See also:
SendParams

Implements ns3::WimaxPhy.

void ns3::SimpleOfdmWimaxPhy::Send ( Ptr< PacketBurst burst,
WimaxPhy::ModulationType  modulationType,
uint8_t  direction 
)

Sends a burst on the channel.

Parameters:
burst the burst to send
modulationType the modulation that will be used to send this burst
direction set to uplink or downlink
void ns3::SimpleOfdmWimaxPhy::SetBandwidth ( uint32_t  BW  ) 

Set the bandwidth.

Parameters:
BW the bandwidth
void ns3::SimpleOfdmWimaxPhy::SetNoiseFigure ( double  nf  ) 

set the noise figure of the device

Parameters:
nf the noise figure
void ns3::SimpleOfdmWimaxPhy::SetSNRToBlockErrorRateTracesPath ( char *  tracesPath  ) 

Set the path of the repository containing the traces.

Parameters:
tracesPath the path to the repository. see snr-to-block-error-rate-manager.h for more details.
void ns3::SimpleOfdmWimaxPhy::SetTxPower ( double  txPower  ) 

set the transmission power

Parameters:
txPower the transmission power
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:
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

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