ns3::LteSpectrumPhy Class Reference

#include <lte-spectrum-phy.h>

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

List of all members.

Public Types

enum  State { IDLE, TX, RX }

Public Member Functions

void SetChannel (Ptr< SpectrumChannel > c)
void SetMobility (Ptr< Object > m)
void SetDevice (Ptr< Object > d)
Ptr< ObjectGetMobility ()
Ptr< ObjectGetDevice ()
Ptr< const SpectrumModelGetRxSpectrumModel () const
Ptr< SpectrumChannelGetChannel (void)
 Get the channel where the physical layer is attached.
SpectrumType GetSpectrumType ()
void SetTxPowerSpectralDensity (Ptr< SpectrumValue > txPsd)
void SetNoisePowerSpectralDensity (Ptr< const SpectrumValue > noisePsd)
 set the noise power spectral density
Ptr< const SpectrumValueGetNoisePowerSpectralDensity (void)
 get the noise power spectral density
bool StartTx (Ptr< PacketBurst > pb)
void StartRx (Ptr< PacketBurst > pb, Ptr< const SpectrumValue > rxPsd, SpectrumType st, Time duration)
 Notify the SpectrumPhy instance of an incoming waveform.
void SetPhyMacTxEndCallback (PhyMacTxEndCallback c)
void SetPhyMacRxStartCallback (PhyMacRxStartCallback c)
void SetPhyMacRxEndErrorCallback (PhyMacRxEndErrorCallback c)
void SetPhyMacRxEndOkCallback (PhyMacRxEndOkCallback c)
virtual void CalcSinrValues (Ptr< const SpectrumValue > rxPsd, Ptr< const SpectrumValue > noise)=0
 Calculate the SINR estimated during the reception of the packet.
void SetState (State newState)
 Set the state of the phy layer.

Static Public Member Functions

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

Detailed Description

The LteSpectrumPhy models the physical layer of LTE


Member Enumeration Documentation

PHY states


Member Function Documentation

virtual void ns3::LteSpectrumPhy::CalcSinrValues ( Ptr< const SpectrumValue rxPsd,
Ptr< const SpectrumValue noise 
) [pure virtual]

Calculate the SINR estimated during the reception of the packet.

Parameters:
rxPsd the Power Spectral Density of the incoming waveform.
noise the Power Spectral Density of the noise.

Implemented in ns3::EnbLteSpectrumPhy, and ns3::UeLteSpectrumPhy.

Ptr<SpectrumChannel> ns3::LteSpectrumPhy::GetChannel ( void   ) 

Get the channel where the physical layer is attached.

Returns:
a pointer to the channel
Ptr<Object> ns3::LteSpectrumPhy::GetDevice (  )  [virtual]

get the associated NetDevice instance

Returns:
a Ptr to the associated NetDevice instance

Implements ns3::SpectrumPhy.

Ptr<Object> ns3::LteSpectrumPhy::GetMobility (  )  [virtual]

get the associated MobilityModel instance

Returns:
a Ptr to the associated NetDevice instance

Implements ns3::SpectrumPhy.

Ptr<const SpectrumValue> ns3::LteSpectrumPhy::GetNoisePowerSpectralDensity ( void   ) 

get the noise power spectral density

Returns:
the Noise Power Spectral Density
Ptr<const SpectrumModel> ns3::LteSpectrumPhy::GetRxSpectrumModel (  )  const [virtual]
Returns:
returns the SpectrumModel that this SpectrumPhy expects to be used for all SpectrumValues that are passed to StartRx. If 0 is returned, it means that any model will be accepted.

Implements ns3::SpectrumPhy.

SpectrumType ns3::LteSpectrumPhy::GetSpectrumType (  ) 

Get the SpectrumType used by this PHY

Returns:
static TypeId ns3::LteSpectrumPhy::GetTypeId ( void   )  [static]

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

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

  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::LteSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::SpectrumPhy/$ns3::LteSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/BsIpcsPacketClassifier/$ns3::LteSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/BsIpcsPacketClassifier/$ns3::SpectrumPhy/$ns3::LteSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/LinkManager/$ns3::LteSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/LinkManager/$ns3::SpectrumPhy/$ns3::LteSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/SSManager/$ns3::LteSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/SSManager/$ns3::SpectrumPhy/$ns3::LteSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/ServiceFlowManager/$ns3::LteSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/ServiceFlowManager/$ns3::SpectrumPhy/$ns3::LteSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::LteSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::SpectrumPhy/$ns3::LteSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/Classifier/$ns3::LteSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/Classifier/$ns3::SpectrumPhy/$ns3::LteSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/LinkManager/$ns3::LteSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/LinkManager/$ns3::SpectrumPhy/$ns3::LteSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/SSScheduler/$ns3::LteSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/SSScheduler/$ns3::SpectrumPhy/$ns3::LteSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Channel/NoiseModel/$ns3::LteSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Channel/NoiseModel/$ns3::SpectrumPhy/$ns3::LteSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Channel/PropagationModel/$ns3::LteSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Channel/PropagationModel/$ns3::SpectrumPhy/$ns3::LteSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Mac/$ns3::LteSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Mac/$ns3::SpectrumPhy/$ns3::LteSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Phy/$ns3::LteSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Phy/$ns3::SpectrumPhy/$ns3::LteSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Transducer/$ns3::LteSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Transducer/$ns3::SpectrumPhy/$ns3::LteSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/BsIpcsPacketClassifier/$ns3::LteSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/BsIpcsPacketClassifier/$ns3::SpectrumPhy/$ns3::LteSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/LinkManager/$ns3::LteSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/LinkManager/$ns3::SpectrumPhy/$ns3::LteSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/SSManager/$ns3::LteSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/SSManager/$ns3::SpectrumPhy/$ns3::LteSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/ServiceFlowManager/$ns3::LteSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/ServiceFlowManager/$ns3::SpectrumPhy/$ns3::LteSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/Classifier/$ns3::LteSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/Classifier/$ns3::SpectrumPhy/$ns3::LteSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/LinkManager/$ns3::LteSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/LinkManager/$ns3::SpectrumPhy/$ns3::LteSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/SSScheduler/$ns3::LteSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/SSScheduler/$ns3::SpectrumPhy/$ns3::LteSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/BandwidthManager/$ns3::LteSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/BandwidthManager/$ns3::SpectrumPhy/$ns3::LteSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/BurstProfileManager/$ns3::LteSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/BurstProfileManager/$ns3::SpectrumPhy/$ns3::LteSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Channel/$ns3::UanChannel/NoiseModel/$ns3::LteSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Channel/$ns3::UanChannel/NoiseModel/$ns3::SpectrumPhy/$ns3::LteSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Channel/$ns3::UanChannel/PropagationModel/$ns3::LteSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Channel/$ns3::UanChannel/PropagationModel/$ns3::SpectrumPhy/$ns3::LteSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/ConnectionManager/$ns3::LteSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/ConnectionManager/$ns3::SpectrumPhy/$ns3::LteSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Phy/Channel/$ns3::UanChannel/NoiseModel/$ns3::LteSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Phy/Channel/$ns3::UanChannel/NoiseModel/$ns3::SpectrumPhy/$ns3::LteSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Phy/Channel/$ns3::UanChannel/PropagationModel/$ns3::LteSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Phy/Channel/$ns3::UanChannel/PropagationModel/$ns3::SpectrumPhy/$ns3::LteSpectrumPhy

No Attributes defined for this type.
TraceSources defined for this type:

  • TxStart: Trace fired when a new transmission is started
  • TxEnd: Trace fired when a previosuly started transmission is finished
  • RxStart: Trace fired when the start of a signal is detected
  • RxAbort: Trace fired when a previously started RX is aborted before time
  • RxEndOk: Trace fired when a previosuly started RX terminates successfully
  • RxEndError: Trace fired when a previosuly started RX terminates with an error (packet is corrupted)

Reimplemented from ns3::SpectrumPhy.

Reimplemented in ns3::EnbLteSpectrumPhy, and ns3::UeLteSpectrumPhy.

void ns3::LteSpectrumPhy::SetChannel ( Ptr< SpectrumChannel c  )  [virtual]

Set the channel attached to this device.

Parameters:
c the channel

Implements ns3::SpectrumPhy.

void ns3::LteSpectrumPhy::SetDevice ( Ptr< Object d  )  [virtual]

set the associated NetDevice instance

Parameters:
d the NetDevice instance

Implements ns3::SpectrumPhy.

void ns3::LteSpectrumPhy::SetMobility ( Ptr< Object m  )  [virtual]

Set the mobility model associated with this device.

Parameters:
m the mobility model

Implements ns3::SpectrumPhy.

void ns3::LteSpectrumPhy::SetNoisePowerSpectralDensity ( Ptr< const SpectrumValue noisePsd  ) 

set the noise power spectral density

Parameters:
noisePsd the Noise Power Spectral Density in power units (Watt, Pascal...) per Hz.
void ns3::LteSpectrumPhy::SetPhyMacRxEndErrorCallback ( PhyMacRxEndErrorCallback  c  ) 

set the callback for the end of a RX in error, as part of the interconnections betweenthe PHY and the MAC

Parameters:
c the callback
void ns3::LteSpectrumPhy::SetPhyMacRxEndOkCallback ( PhyMacRxEndOkCallback  c  ) 

set the callback for the successful end of a RX, as part of the interconnections betweenthe PHY and the MAC

Parameters:
c the callback
void ns3::LteSpectrumPhy::SetPhyMacRxStartCallback ( PhyMacRxStartCallback  c  ) 

set the callback for the start of RX, as part of the interconnections betweenthe PHY and the MAC

Parameters:
c the callback
void ns3::LteSpectrumPhy::SetPhyMacTxEndCallback ( PhyMacTxEndCallback  c  ) 

set the callback for the end of a TX, as part of the interconnections betweenthe PHY and the MAC

Parameters:
c the callback
void ns3::LteSpectrumPhy::SetState ( State  newState  ) 

Set the state of the phy layer.

Parameters:
newState the state
void ns3::LteSpectrumPhy::SetTxPowerSpectralDensity ( Ptr< SpectrumValue txPsd  ) 

set the Power Spectral Density of outgoing signals in W/Hz.

Parameters:
txPsd 
void ns3::LteSpectrumPhy::StartRx ( Ptr< PacketBurst pb,
Ptr< const SpectrumValue rxPsd,
SpectrumType  st,
Time  duration 
) [virtual]

Notify the SpectrumPhy instance of an incoming waveform.

Parameters:
pb the burst of packet associated with the incoming waveform
rxPsd the Power Spectral Density of the incoming waveform. The units of the SPD are the same specified for SpectrumChannel::StartTx().
st the spectrum type
duration the duration of the incoming waveform

Implements ns3::SpectrumPhy.

bool ns3::LteSpectrumPhy::StartTx ( Ptr< PacketBurst pb  ) 

Start a transmission

Parameters:
pb the burst of packets to be transmitted
Returns:
true if an error occurred and the transmission was not started, false otherwise.

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

Generated on 6 Jan 2011 for NS-3 by  doxygen 1.6.1