ns3::LtePhy Class Reference

#include <lte-phy.h>

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

List of all members.

Public Member Functions

void SetDevice (Ptr< LteNetDevice > d)
 Set the device where the phy layer is attached.
Ptr< LteNetDeviceGetDevice ()
 Get the device where the phy layer is attached.
virtual bool SendPacket (Ptr< PacketBurst > pb)=0
 Start a transmission. StartTx is called by the LTE device to start packet transmission.
void SetDownlinkSpectrumPhy (Ptr< LteSpectrumPhy > s)
void SetUplinkSpectrumPhy (Ptr< LteSpectrumPhy > s)
Ptr< LteSpectrumPhyGetDownlinkSpectrumPhy ()
Ptr< LteSpectrumPhyGetUplinkSpectrumPhy ()
void SetDownlinkChannel (Ptr< SpectrumChannel > c)
Ptr< SpectrumChannelGetDownlinkChannel ()
void SetUplinkChannel (Ptr< SpectrumChannel > c)
Ptr< SpectrumChannelGetUplinkChannel ()
void SetDownlinkSubChannels (std::vector< int > mask)
 set a list of sub channel to use in the downlink. A sub channel is composed by a couple of resource bloks (180KHz x 1 ms)
virtual void DoSetDownlinkSubChannels ()
 do some operation after the set of a list of DL sub channels
void SetUplinkSubChannels (std::vector< int > mask)
 set a list of sub channel to use in the uplink. A sub channel is composed by a couple of resource bloks (180KHz x 1 ms)
virtual void DoSetUplinkSubChannels ()
 do some operation after the set of a list of UL sub channels
std::vector< int > GetDownlinkSubChannels (void)
 get a list of sub channel to use in the downlink
std::vector< int > GetUplinkSubChannels (void)
 get a list of sub channel to use in the downlink
virtual Ptr< SpectrumValueCreateTxPowerSpectralDensity ()=0
 Compute the TX Power Spectral Density.
void SetTxPower (double pw)
 Set the power transmisison, expressed in dBm.
double GetTxPower (void)
 Get the power transmission, expressed in dBm.
void DoDispose ()
virtual void SendIdealControlMessage (Ptr< IdealControlMessage > msg)=0
 Send SendIdealControlMessage (PDCCH map, CQI feedbacks) using the ideal control channel.
virtual void ReceiveIdealControlMessage (Ptr< IdealControlMessage > msg)=0
 Receive SendIdealControlMessage (PDCCH map, CQI feedbacks) using the ideal control channel.
void SetTti (double tti)
double GetTti (void) const
void SetNrFrames (uint32_t nrFrames)
uint32_t GetNrFrames (void) const
void SetNrSubFrames (uint32_t nrSubFrames)
uint32_t GetNrSubFrames (void) const

Static Public Member Functions

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

Detailed Description

The LtePhy models the physical layer of LTE. It is composed by two LteSpectrumPhy, one for the downlink and one for the uplink.


Member Function Documentation

virtual Ptr<SpectrumValue> ns3::LtePhy::CreateTxPowerSpectralDensity (  )  [pure virtual]

Compute the TX Power Spectral Density.

Returns:
a Ptr to a created SpectrumValue

Implemented in ns3::EnbLtePhy, and ns3::UeLtePhy.

void ns3::LtePhy::DoDispose (  )  [virtual]

This method is called by Object::Dispose or by the object's destructor, whichever comes first.

Subclasses are expected to implement their real destruction code in an overriden version of this method and chain up to their parent's implementation once they are done. i.e., for simplicity, the destructor of every subclass should be empty and its content should be moved to the associated DoDispose method.

It is safe to call GetObject from within this method.

Reimplemented from ns3::Object.

Ptr<LteNetDevice> ns3::LtePhy::GetDevice (  ) 

Get the device where the phy layer is attached.

Returns:
the pointer to the device
Ptr<SpectrumChannel> ns3::LtePhy::GetDownlinkChannel (  ) 

Get the downlink channel

Returns:
a Ptr to the downlink SpectrumChannel
Ptr<LteSpectrumPhy> ns3::LtePhy::GetDownlinkSpectrumPhy (  ) 

Get the LTE SpectrumPhy for the downlink

Returns:
a Ptr to the LTE SpectrumPhy for the downlink
std::vector<int> ns3::LtePhy::GetDownlinkSubChannels ( void   ) 

get a list of sub channel to use in the downlink

Returns:
uint32_t ns3::LtePhy::GetNrFrames ( void   )  const
Returns:
the number of the current LTE frame.
uint32_t ns3::LtePhy::GetNrSubFrames ( void   )  const
Returns:
the number of the current LTE sub-frame.
double ns3::LtePhy::GetTti ( void   )  const
Returns:
transmission time interval
double ns3::LtePhy::GetTxPower ( void   ) 

Get the power transmission, expressed in dBm.

Returns:
the power transmission
static TypeId ns3::LtePhy::GetTypeId ( void   )  [static]

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

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

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

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

Reimplemented from ns3::Object.

Reimplemented in ns3::EnbLtePhy, and ns3::UeLtePhy.

Ptr<SpectrumChannel> ns3::LtePhy::GetUplinkChannel (  ) 

Get the uplink channel

Returns:
a Ptr to the uplink SpectrumChannel
Ptr<LteSpectrumPhy> ns3::LtePhy::GetUplinkSpectrumPhy (  ) 

Get the LTE SpectrumPhy for the uplink

Returns:
a Ptr to the LTE SpectrumPhy for the
std::vector<int> ns3::LtePhy::GetUplinkSubChannels ( void   ) 

get a list of sub channel to use in the downlink

Returns:
virtual void ns3::LtePhy::ReceiveIdealControlMessage ( Ptr< IdealControlMessage msg  )  [pure virtual]

Receive SendIdealControlMessage (PDCCH map, CQI feedbacks) using the ideal control channel.

Parameters:
msg the Ideal Control Message to receive

Implemented in ns3::EnbLtePhy, and ns3::UeLtePhy.

virtual void ns3::LtePhy::SendIdealControlMessage ( Ptr< IdealControlMessage msg  )  [pure virtual]

Send SendIdealControlMessage (PDCCH map, CQI feedbacks) using the ideal control channel.

Parameters:
msg the Ideal Control Message to send

Implemented in ns3::EnbLtePhy, and ns3::UeLtePhy.

virtual bool ns3::LtePhy::SendPacket ( Ptr< PacketBurst pb  )  [pure virtual]

Start a transmission. StartTx is called by the LTE device to start packet transmission.

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

Implemented in ns3::EnbLtePhy, and ns3::UeLtePhy.

void ns3::LtePhy::SetDevice ( Ptr< LteNetDevice d  ) 

Set the device where the phy layer is attached.

Parameters:
d the device
void ns3::LtePhy::SetDownlinkChannel ( Ptr< SpectrumChannel c  ) 

Set the downlink channel

Parameters:
c the downlink channel
void ns3::LtePhy::SetDownlinkSpectrumPhy ( Ptr< LteSpectrumPhy s  ) 

Set the LTE SpectrumPhy for the downlink

Parameters:
s the LTE SpectrumPhy
void ns3::LtePhy::SetDownlinkSubChannels ( std::vector< int >  mask  ) 

set a list of sub channel to use in the downlink. A sub channel is composed by a couple of resource bloks (180KHz x 1 ms)

Parameters:
mask a vector of intefer values. Each elements of this vector carries information about the corresponding DL sub channel. If the i-th value of mask is equal to 1 (0) it means that the corresponding sub channel is used (not used) for the downlink.
void ns3::LtePhy::SetNrFrames ( uint32_t  nrFrames  ) 
Parameters:
nrFrames the number of the current LTE frame.
void ns3::LtePhy::SetNrSubFrames ( uint32_t  nrSubFrames  ) 
Parameters:
nrSubFrames the number of the current LTE sub-frame.
void ns3::LtePhy::SetTti ( double  tti  ) 
Parameters:
tti transmission time interval
void ns3::LtePhy::SetTxPower ( double  pw  ) 

Set the power transmisison, expressed in dBm.

Parameters:
pw the power transmission
void ns3::LtePhy::SetUplinkChannel ( Ptr< SpectrumChannel c  ) 

Set the uplink channel

Parameters:
c the uplink channel
void ns3::LtePhy::SetUplinkSpectrumPhy ( Ptr< LteSpectrumPhy s  ) 

Set the LTE SpectrumPhy for the uplink

Parameters:
s the LTE SpectrumPhy
void ns3::LtePhy::SetUplinkSubChannels ( std::vector< int >  mask  ) 

set a list of sub channel to use in the uplink. A sub channel is composed by a couple of resource bloks (180KHz x 1 ms)

Parameters:
mask a vector of intefer values. Each elements of this vector carries information about the corresponding UL sub channel. If the i-th value of mask is equal to 1 (0) it means that the corresponding sub channel is used (not used) for the uplink.

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

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