A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ns3::LteSpectrumPhy Class Reference

The LteSpectrumPhy models the physical layer of LTE. More...

#include <lte-spectrum-phy.h>

+ Inheritance diagram for ns3::LteSpectrumPhy:
+ Collaboration diagram for ns3::LteSpectrumPhy:

Public Types

enum  State { IDLE, TX, RX_DATA, RX_CTRL }
 PHY states. More...
 

Public Member Functions

 LteSpectrumPhy ()
 
virtual ~LteSpectrumPhy ()
 
void AddCtrlSinrChunkProcessor (Ptr< LteSinrChunkProcessor > p)
 
void AddDataSinrChunkProcessor (Ptr< LteSinrChunkProcessor > p)
 
void AddExpectedTb (uint16_t rnti, uint8_t ndi, uint16_t size, uint8_t mcs, std::vector< int > map, uint8_t layer, uint8_t harqId, uint8_t rv, bool downlink)
 
void AddInterferenceCtrlChunkProcessor (Ptr< LteSinrChunkProcessor > p)
 LteSinrChunkProcessor devoted to evaluate interference + noise power in control symbols of the subframe. More...
 
void AddInterferenceDataChunkProcessor (Ptr< LteSinrChunkProcessor > p)
 LteSinrChunkProcessor devoted to evaluate interference + noise power in data symbols of the subframe. More...
 
void AddRsPowerChunkProcessor (Ptr< LteSinrChunkProcessor > p)
 
int64_t AssignStreams (int64_t stream)
 Assign a fixed random variable stream number to the random variables used by this model. More...
 
virtual void DoDispose ()
 This method is called by Object::Dispose or by the object's destructor, whichever comes first. More...
 
Ptr< SpectrumChannelGetChannel ()
 
Ptr< NetDeviceGetDevice ()
 get the associated NetDevice instance More...
 
Ptr< MobilityModelGetMobility ()
 get the associated MobilityModel instance More...
 
Ptr< AntennaModelGetRxAntenna ()
 get the AntennaModel used by the NetDevice for reception More...
 
Ptr< const SpectrumModelGetRxSpectrumModel () const
 
void Reset ()
 reset the internal state More...
 
void SetAntenna (Ptr< AntennaModel > a)
 set the AntennaModel to be used More...
 
void SetCellId (uint16_t cellId)
 
void SetChannel (Ptr< SpectrumChannel > c)
 Set the channel attached to this device. More...
 
void SetDevice (Ptr< NetDevice > d)
 set the associated NetDevice instance More...
 
void SetHarqPhyModule (Ptr< LteHarqPhy > harq)
 
void SetLtePhyDlHarqFeedbackCallback (LtePhyDlHarqFeedbackCallback c)
 set the callback for the DL HARQ feedback as part of the interconnections between the LteSpectrumPhy and the PHY More...
 
void SetLtePhyRxCtrlEndErrorCallback (LtePhyRxCtrlEndErrorCallback c)
 set the callback for the erroneous end of a RX ctrl frame, as part of the interconnections between the LteSpectrumPhy and the PHY More...
 
void SetLtePhyRxCtrlEndOkCallback (LtePhyRxCtrlEndOkCallback c)
 set the callback for the successful end of a RX ctrl frame, as part of the interconnections between the LteSpectrumPhy and the PHY More...
 
void SetLtePhyRxDataEndErrorCallback (LtePhyRxDataEndErrorCallback c)
 set the callback for the end of a RX in error, as part of the interconnections between the PHY and the MAC More...
 
void SetLtePhyRxDataEndOkCallback (LtePhyRxDataEndOkCallback c)
 set the callback for the successful end of a RX, as part of the interconnections between the PHY and the MAC More...
 
void SetLtePhyRxPssCallback (LtePhyRxPssCallback c)
 set the callback for the reception of the PSS as part of the interconnections between the LteSpectrumPhy and the UE PHY More...
 
void SetLtePhyTxEndCallback (LtePhyTxEndCallback c)
 set the callback for the end of a TX, as part of the interconnections between the PHY and the MAC More...
 
void SetLtePhyUlHarqFeedbackCallback (LtePhyUlHarqFeedbackCallback c)
 set the callback for the UL HARQ feedback as part of the interconnections between the LteSpectrumPhy and the PHY More...
 
void SetMobility (Ptr< MobilityModel > m)
 Set the mobility model associated with this device. More...
 
void SetNoisePowerSpectralDensity (Ptr< const SpectrumValue > noisePsd)
 set the noise power spectral density More...
 
void SetState (State newState)
 Set the state of the phy layer. More...
 
void SetTransmissionMode (uint8_t txMode)
 
void SetTxPowerSpectralDensity (Ptr< SpectrumValue > txPsd)
 set the Power Spectral Density of outgoing signals in W/Hz. More...
 
void StartRx (Ptr< SpectrumSignalParameters > params)
 Notify the SpectrumPhy instance of an incoming signal. More...
 
void StartRxCtrl (Ptr< SpectrumSignalParameters > params)
 
void StartRxData (Ptr< LteSpectrumSignalParametersDataFrame > params)
 
bool StartTxDataFrame (Ptr< PacketBurst > pb, std::list< Ptr< LteControlMessage > > ctrlMsgList, Time duration)
 Start a transmission of data frame in DL and UL. More...
 
bool StartTxDlCtrlFrame (std::list< Ptr< LteControlMessage > > ctrlMsgList, bool pss)
 Start a transmission of control frame in DL. More...
 
bool StartTxUlSrsFrame ()
 Start a transmission of control frame in UL. More...
 
void UpdateSinrPerceived (const SpectrumValue &sinr)
 
- Public Member Functions inherited from ns3::SpectrumPhy
 SpectrumPhy ()
 
virtual ~SpectrumPhy ()
 
- Public Member Functions inherited from ns3::Object
 Object ()
 
virtual ~Object ()
 
void AggregateObject (Ptr< Object > other)
 
void Dispose (void)
 Run the DoDispose methods of this object and all the objects aggregated to it. More...
 
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 Initialize (void)
 This method calls the virtual DoInitialize method on all the objects aggregated to this object. More...
 
- Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
 SimpleRefCount ()
 Constructor. More...
 
 SimpleRefCount (const SimpleRefCount &o)
 Copy constructor. More...
 
uint32_t GetReferenceCount (void) const
 Get the reference count of the object. More...
 
SimpleRefCountoperator= (const SimpleRefCount &o)
 Assignment. More...
 
void Ref (void) const
 Increment the reference count. More...
 
void Unref (void) const
 Decrement the reference count. More...
 
- Public Member Functions inherited from ns3::ObjectBase
virtual ~ObjectBase ()
 Virtual destructor. More...
 
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)
 
- Static Public Member Functions inherited from ns3::SpectrumPhy
static TypeId GetTypeId (void)
 
- Static Public Member Functions inherited from ns3::Object
static TypeId GetTypeId (void)
 Register this type. More...
 
- Static Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
static void Cleanup (void)
 Noop. More...
 
- Static Public Member Functions inherited from ns3::ObjectBase
static TypeId GetTypeId (void)
 Get the type ID. More...
 

Private Member Functions

void ChangeState (State newState)
 
void EndRxData ()
 
void EndRxDlCtrl ()
 
void EndRxUlSrs ()
 
void EndTx ()
 
void SetTxModeGain (uint8_t txMode, double gain)
 

Private Attributes

Ptr< AntennaModelm_antenna
 
uint16_t m_cellId
 
Ptr< SpectrumChannelm_channel
 
bool m_ctrlErrorModelEnabled
 
bool m_dataErrorModelEnabled
 
Ptr< NetDevicem_device
 
TracedCallback
< PhyReceptionStatParameters
m_dlPhyReception
 Trace information regarding PHY stats from DL Rx perspective PhyReceptionStatParameters (see lte-common.h) More...
 
EventId m_endRxDataEvent
 
EventId m_endRxDlCtrlEvent
 
EventId m_endRxUlSrsEvent
 
EventId m_endTxEvent
 
expectedTbs_t m_expectedTbs
 
Time m_firstRxDuration
 
Time m_firstRxStart
 
Ptr< LteHarqPhym_harqPhyModule
 
Ptr< LteInterferencem_interferenceCtrl
 
Ptr< LteInterferencem_interferenceData
 
uint8_t m_layersNum
 
LtePhyDlHarqFeedbackCallback m_ltePhyDlHarqFeedbackCallback
 
LtePhyRxCtrlEndErrorCallback m_ltePhyRxCtrlEndErrorCallback
 
LtePhyRxCtrlEndOkCallback m_ltePhyRxCtrlEndOkCallback
 
LtePhyRxDataEndErrorCallback m_ltePhyRxDataEndErrorCallback
 
LtePhyRxDataEndOkCallback m_ltePhyRxDataEndOkCallback
 
LtePhyRxPssCallback m_ltePhyRxPssCallback
 
LtePhyTxEndCallback m_ltePhyTxEndCallback
 
LtePhyUlHarqFeedbackCallback m_ltePhyUlHarqFeedbackCallback
 
Ptr< MobilityModelm_mobility
 
TracedCallback< Ptr< const
Packet > > 
m_phyRxEndErrorTrace
 
TracedCallback< Ptr< const
Packet > > 
m_phyRxEndOkTrace
 
TracedCallback< Ptr< const
PacketBurst > > 
m_phyRxStartTrace
 
TracedCallback< Ptr< const
PacketBurst > > 
m_phyTxEndTrace
 
TracedCallback< Ptr< const
PacketBurst > > 
m_phyTxStartTrace
 
Ptr< UniformRandomVariablem_random
 Provides uniform random variables. More...
 
std::list< Ptr
< LteControlMessage > > 
m_rxControlMessageList
 
std::list< Ptr< PacketBurst > > m_rxPacketBurstList
 
Ptr< const SpectrumModelm_rxSpectrumModel
 
SpectrumValue m_sinrPerceived
 
State m_state
 
uint8_t m_transmissionMode
 
std::list< Ptr
< LteControlMessage > > 
m_txControlMessageList
 
std::vector< double > m_txModeGain
 
Ptr< PacketBurstm_txPacketBurst
 
Ptr< SpectrumValuem_txPsd
 
TracedCallback
< PhyReceptionStatParameters
m_ulPhyReception
 Trace information regarding PHY stats from UL Rx perspective PhyReceptionStatParameters (see lte-common.h) More...
 

Friends

class LteUePhy
 

Additional Inherited Members

- Protected Member Functions inherited from ns3::Object
 Object (const Object &o)
 
virtual void DoInitialize (void)
 This method is called only once by Object::Initialize. More...
 
virtual void NotifyNewAggregate (void)
 This method is invoked whenever two sets of objects are aggregated together. More...
 
- Protected Member Functions inherited from ns3::ObjectBase
void ConstructSelf (const AttributeConstructionList &attributes)
 
virtual void NotifyConstructionCompleted (void)
 This method is invoked once all member attributes have been initialized. More...
 

Detailed Description

The LteSpectrumPhy models the physical layer of LTE.

It supports a single antenna model instance which is used for both transmission and reception.

Config Paths

ns3::LteSpectrumPhy is accessible through the following paths with Config::Set and Config::Connect:

  • /NodeList/[i]/DeviceList/[i]/$ns3::LteEnbNetDevice/LteEnbPhy/DlSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::LteEnbNetDevice/LteEnbPhy/UlSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::LteNetDevice/$ns3::LteEnbNetDevice/LteEnbPhy/DlSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::LteNetDevice/$ns3::LteEnbNetDevice/LteEnbPhy/UlSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::LteNetDevice/$ns3::LteUeNetDevice/LteUePhy/DlSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::LteNetDevice/$ns3::LteUeNetDevice/LteUePhy/UlSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::LteUeNetDevice/LteUePhy/DlSpectrumPhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::LteUeNetDevice/LteUePhy/UlSpectrumPhy

Attributes

  • DataErrorModelEnabled: Activate/Deactivate the error model of data (TBs of PDSCH and PUSCH) [by default is active].
    • Set with class: BooleanValue
    • Underlying type: bool
    • Initial value: true
    • Flags: construct write read
  • CtrlErrorModelEnabled: Activate/Deactivate the error model of control (PCFICH-PDCCH decodification) [by default is active].
    • Set with class: BooleanValue
    • Underlying type: bool
    • Initial value: true
    • Flags: construct write read

TraceSources

  • 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
  • RxEndOk: Trace fired when a previosuly started RX terminates successfully
  • RxEndError: Trace fired when a previosuly started RX terminates with an error
  • DlPhyReception: DL reception PHY layer statistics.
  • UlPhyReception: DL reception PHY layer statistics.

Definition at line 153 of file lte-spectrum-phy.h.

Member Enumeration Documentation

PHY states.

Enumerator
IDLE 
TX 
RX_DATA 
RX_CTRL 

Definition at line 163 of file lte-spectrum-phy.h.

Constructor & Destructor Documentation

ns3::LteSpectrumPhy::LteSpectrumPhy ( )

Definition at line 116 of file lte-spectrum-phy.cc.

References m_interferenceCtrl, m_interferenceData, m_random, m_txModeGain, NS_LOG_FUNCTION, and ns3::ObjectBase::SetAttribute().

+ Here is the call graph for this function:

ns3::LteSpectrumPhy::~LteSpectrumPhy ( )
virtual

Definition at line 136 of file lte-spectrum-phy.cc.

References m_expectedTbs, m_txModeGain, and NS_LOG_FUNCTION.

Member Function Documentation

void ns3::LteSpectrumPhy::AddCtrlSinrChunkProcessor ( Ptr< LteSinrChunkProcessor p)
Parameters
pthe new LteSinrChunkProcessor to be added to the ctrl processing chain

Definition at line 1145 of file lte-spectrum-phy.cc.

References m_interferenceCtrl.

void ns3::LteSpectrumPhy::AddDataSinrChunkProcessor ( Ptr< LteSinrChunkProcessor p)
Parameters
pthe new LteSinrChunkProcessor to be added to the data processing chain

Definition at line 1127 of file lte-spectrum-phy.cc.

References m_interferenceData.

void ns3::LteSpectrumPhy::AddExpectedTb ( uint16_t  rnti,
uint8_t  ndi,
uint16_t  size,
uint8_t  mcs,
std::vector< int >  map,
uint8_t  layer,
uint8_t  harqId,
uint8_t  rv,
bool  downlink 
)
Parameters
rntithe rnti of the source of the TB
ndinew data indicator flag
sizethe size of the TB
mcsthe MCS of the TB
mapthe map of RB(s) used
layerthe layer (in case of MIMO tx)
harqIdthe id of the HARQ process (valid only for DL)
downlinktrue when the TB is for DL

Definition at line 837 of file lte-spectrum-phy.cc.

References m_expectedTbs, ns3::TbId_t::m_layer, ns3::TbId_t::m_rnti, and NS_LOG_FUNCTION.

void ns3::LteSpectrumPhy::AddInterferenceCtrlChunkProcessor ( Ptr< LteSinrChunkProcessor p)

LteSinrChunkProcessor devoted to evaluate interference + noise power in control symbols of the subframe.

Parameters
pthe new LteSinrChunkProcessor to be added to the data processing chain

Definition at line 1133 of file lte-spectrum-phy.cc.

References m_interferenceCtrl.

void ns3::LteSpectrumPhy::AddInterferenceDataChunkProcessor ( Ptr< LteSinrChunkProcessor p)

LteSinrChunkProcessor devoted to evaluate interference + noise power in data symbols of the subframe.

Parameters
pthe new LteSinrChunkProcessor to be added to the data processing chain

Definition at line 1139 of file lte-spectrum-phy.cc.

References m_interferenceData.

void ns3::LteSpectrumPhy::AddRsPowerChunkProcessor ( Ptr< LteSinrChunkProcessor p)
Parameters
pthe new LteSinrChunkProcessor to be added to the RS power processing chain

Definition at line 1120 of file lte-spectrum-phy.cc.

References m_interferenceCtrl.

int64_t ns3::LteSpectrumPhy::AssignStreams ( int64_t  stream)

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.

Parameters
streamfirst stream index to use
Returns
the number of stream indices assigned by this model

Definition at line 1187 of file lte-spectrum-phy.cc.

References m_random, NS_LOG_FUNCTION, and ns3::RandomVariableStream::SetStream().

+ Here is the call graph for this function:

void ns3::LteSpectrumPhy::ChangeState ( State  newState)
private

Definition at line 404 of file lte-spectrum-phy.cc.

References m_state, and NS_LOG_LOGIC.

Referenced by EndRxData(), EndRxDlCtrl(), EndRxUlSrs(), EndTx(), SetState(), StartRxCtrl(), StartRxData(), StartTxDataFrame(), StartTxDlCtrlFrame(), and StartTxUlSrsFrame().

+ Here is the caller graph for this function:

void ns3::LteSpectrumPhy::DoDispose ( void  )
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.

Definition at line 143 of file lte-spectrum-phy.cc.

References ns3::Object::DoDispose(), m_channel, m_device, m_interferenceCtrl, m_interferenceData, m_ltePhyDlHarqFeedbackCallback, m_ltePhyRxCtrlEndErrorCallback, m_ltePhyRxCtrlEndOkCallback, m_ltePhyRxDataEndErrorCallback, m_ltePhyRxDataEndOkCallback, m_ltePhyRxPssCallback, m_ltePhyTxEndCallback, m_ltePhyUlHarqFeedbackCallback, m_mobility, and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

void ns3::LteSpectrumPhy::EndRxData ( )
private

Definition at line 857 of file lte-spectrum-phy.cc.

References ns3::DlInfoListElement_s::ACK, ChangeState(), ns3::EffectiveCodingRate, ns3::LteRadioBearerTag::GetLayer(), ns3::Time::GetMilliSeconds(), ns3::LteRadioBearerTag::GetRnti(), ns3::LteMiErrorModel::GetTbDecodificationStats(), ns3::UniformRandomVariable::GetValue(), IDLE, ns3::Callback< R, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::IsNull(), list, ns3::PhyReceptionStatParameters::m_cellId, m_cellId, ns3::PhyReceptionStatParameters::m_correctness, m_dataErrorModelEnabled, m_dlPhyReception, m_expectedTbs, m_harqPhyModule, ns3::DlInfoListElement_s::m_harqProcessId, ns3::DlInfoListElement_s::m_harqStatus, ns3::PhyReceptionStatParameters::m_imsi, m_interferenceData, ns3::TbId_t::m_layer, ns3::PhyReceptionStatParameters::m_layer, m_layersNum, m_ltePhyDlHarqFeedbackCallback, m_ltePhyRxCtrlEndOkCallback, m_ltePhyRxDataEndOkCallback, m_ltePhyUlHarqFeedbackCallback, ns3::PhyReceptionStatParameters::m_mcs, ns3::PhyReceptionStatParameters::m_ndi, m_phyRxEndErrorTrace, m_phyRxEndOkTrace, m_random, ns3::UlInfoListElement_s::m_receptionStatus, ns3::TbId_t::m_rnti, ns3::PhyReceptionStatParameters::m_rnti, ns3::UlInfoListElement_s::m_rnti, ns3::DlInfoListElement_s::m_rnti, ns3::PhyReceptionStatParameters::m_rv, m_rxControlMessageList, m_rxPacketBurstList, m_sinrPerceived, ns3::PhyReceptionStatParameters::m_size, m_state, ns3::PhyReceptionStatParameters::m_timestamp, ns3::UlInfoListElement_s::m_tpc, m_transmissionMode, ns3::PhyReceptionStatParameters::m_txMode, m_txModeGain, m_ulPhyReception, ns3::TbStats_t::mi, ns3::DlInfoListElement_s::NACK, ns3::UlInfoListElement_s::NotOk, ns3::Simulator::Now(), NS_ASSERT, NS_ASSERT_MSG, NS_LOG_DEBUG, NS_LOG_FUNCTION, NS_LOG_INFO, NS_LOG_LOGIC, ns3::UlInfoListElement_s::Ok, RX_DATA, and ns3::TbStats_t::tbler.

Referenced by StartRxData().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LteSpectrumPhy::EndRxUlSrs ( )
private

Definition at line 1104 of file lte-spectrum-phy.cc.

References ChangeState(), IDLE, m_interferenceCtrl, m_state, NS_ASSERT, and RX_CTRL.

Referenced by StartRxCtrl().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LteSpectrumPhy::EndTx ( )
private
Ptr< SpectrumChannel > ns3::LteSpectrumPhy::GetChannel ( void  )
Returns
the previously set channel

Definition at line 269 of file lte-spectrum-phy.cc.

References m_channel.

Ptr< NetDevice > ns3::LteSpectrumPhy::GetDevice ( )
virtual

get the associated NetDevice instance

Returns
a Ptr to the associated NetDevice instance

Implements ns3::SpectrumPhy.

Definition at line 230 of file lte-spectrum-phy.cc.

References m_device, and NS_LOG_FUNCTION.

Ptr< MobilityModel > ns3::LteSpectrumPhy::GetMobility ( )
virtual

get the associated MobilityModel instance

Returns
a Ptr to the associated MobilityModel instance

Implements ns3::SpectrumPhy.

Definition at line 238 of file lte-spectrum-phy.cc.

References m_mobility, and NS_LOG_FUNCTION.

Ptr< AntennaModel > ns3::LteSpectrumPhy::GetRxAntenna ( )
virtual

get the AntennaModel used by the NetDevice for reception

Returns
a Ptr to the AntennaModel used by the NetDevice for reception

Implements ns3::SpectrumPhy.

Definition at line 384 of file lte-spectrum-phy.cc.

References m_antenna.

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.

Definition at line 275 of file lte-spectrum-phy.cc.

References m_rxSpectrumModel.

void ns3::LteSpectrumPhy::Reset ( void  )
void ns3::LteSpectrumPhy::SetAntenna ( Ptr< AntennaModel a)

set the AntennaModel to be used

Parameters
athe Antenna Model

Definition at line 390 of file lte-spectrum-phy.cc.

References m_antenna, and NS_LOG_FUNCTION.

void ns3::LteSpectrumPhy::SetCellId ( uint16_t  cellId)
Parameters
cellIdthe Cell Identifier

Definition at line 1113 of file lte-spectrum-phy.cc.

References m_cellId.

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

Set the channel attached to this device.

Parameters
cthe channel

Implements ns3::SpectrumPhy.

Definition at line 262 of file lte-spectrum-phy.cc.

References m_channel, and NS_LOG_FUNCTION.

void ns3::LteSpectrumPhy::SetDevice ( Ptr< NetDevice d)
virtual

set the associated NetDevice instance

Parameters
dthe NetDevice instance

Implements ns3::SpectrumPhy.

Definition at line 246 of file lte-spectrum-phy.cc.

References m_device, and NS_LOG_FUNCTION.

void ns3::LteSpectrumPhy::SetHarqPhyModule ( Ptr< LteHarqPhy harq)

Definition at line 412 of file lte-spectrum-phy.cc.

References m_harqPhyModule.

void ns3::LteSpectrumPhy::SetLtePhyDlHarqFeedbackCallback ( LtePhyDlHarqFeedbackCallback  c)

set the callback for the DL HARQ feedback as part of the interconnections between the LteSpectrumPhy and the PHY

Parameters
cthe callback

Definition at line 369 of file lte-spectrum-phy.cc.

References m_ltePhyDlHarqFeedbackCallback, and NS_LOG_FUNCTION.

void ns3::LteSpectrumPhy::SetLtePhyRxCtrlEndErrorCallback ( LtePhyRxCtrlEndErrorCallback  c)

set the callback for the erroneous end of a RX ctrl frame, as part of the interconnections between the LteSpectrumPhy and the PHY

Parameters
cthe callback

Definition at line 354 of file lte-spectrum-phy.cc.

References m_ltePhyRxCtrlEndErrorCallback, and NS_LOG_FUNCTION.

void ns3::LteSpectrumPhy::SetLtePhyRxCtrlEndOkCallback ( LtePhyRxCtrlEndOkCallback  c)

set the callback for the successful end of a RX ctrl frame, as part of the interconnections between the LteSpectrumPhy and the PHY

Parameters
cthe callback

Definition at line 347 of file lte-spectrum-phy.cc.

References m_ltePhyRxCtrlEndOkCallback, and NS_LOG_FUNCTION.

void ns3::LteSpectrumPhy::SetLtePhyRxDataEndErrorCallback ( LtePhyRxDataEndErrorCallback  c)

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

Parameters
cthe callback

Definition at line 332 of file lte-spectrum-phy.cc.

References m_ltePhyRxDataEndErrorCallback, and NS_LOG_FUNCTION.

void ns3::LteSpectrumPhy::SetLtePhyRxDataEndOkCallback ( LtePhyRxDataEndOkCallback  c)

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

Parameters
cthe callback

Definition at line 340 of file lte-spectrum-phy.cc.

References m_ltePhyRxDataEndOkCallback, and NS_LOG_FUNCTION.

void ns3::LteSpectrumPhy::SetLtePhyRxPssCallback ( LtePhyRxPssCallback  c)

set the callback for the reception of the PSS as part of the interconnections between the LteSpectrumPhy and the UE PHY

Parameters
cthe callback

Definition at line 362 of file lte-spectrum-phy.cc.

References m_ltePhyRxPssCallback, and NS_LOG_FUNCTION.

void ns3::LteSpectrumPhy::SetLtePhyTxEndCallback ( LtePhyTxEndCallback  c)

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

Parameters
cthe callback

Definition at line 324 of file lte-spectrum-phy.cc.

References m_ltePhyTxEndCallback, and NS_LOG_FUNCTION.

void ns3::LteSpectrumPhy::SetLtePhyUlHarqFeedbackCallback ( LtePhyUlHarqFeedbackCallback  c)

set the callback for the UL HARQ feedback as part of the interconnections between the LteSpectrumPhy and the PHY

Parameters
cthe callback

Definition at line 376 of file lte-spectrum-phy.cc.

References m_ltePhyUlHarqFeedbackCallback, and NS_LOG_FUNCTION.

void ns3::LteSpectrumPhy::SetMobility ( Ptr< MobilityModel m)
virtual

Set the mobility model associated with this device.

Parameters
mthe mobility model

Implements ns3::SpectrumPhy.

Definition at line 254 of file lte-spectrum-phy.cc.

References m_mobility, and NS_LOG_FUNCTION.

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

set the noise power spectral density

Parameters
noisePsdthe Noise Power Spectral Density in power units (Watt, Pascal...) per Hz.

Definition at line 291 of file lte-spectrum-phy.cc.

References m_interferenceCtrl, m_interferenceData, m_rxSpectrumModel, NS_ASSERT, and NS_LOG_FUNCTION.

void ns3::LteSpectrumPhy::SetState ( State  newState)

Set the state of the phy layer.

Parameters
newStatethe state

Definition at line 397 of file lte-spectrum-phy.cc.

References ChangeState().

+ Here is the call graph for this function:

void ns3::LteSpectrumPhy::SetTransmissionMode ( uint8_t  txMode)
Parameters
txModeUE transmission mode (SISO, MIMO tx diversity, ...)

Definition at line 1151 of file lte-spectrum-phy.cc.

References m_layersNum, m_transmissionMode, m_txModeGain, NS_ASSERT_MSG, NS_LOG_FUNCTION, and ns3::TransmissionModesLayers::TxMode2LayerNum().

+ Here is the call graph for this function:

void ns3::LteSpectrumPhy::SetTxModeGain ( uint8_t  txMode,
double  gain 
)
private

Definition at line 1161 of file lte-spectrum-phy.cc.

References m_txModeGain, and NS_LOG_FUNCTION.

void ns3::LteSpectrumPhy::SetTxPowerSpectralDensity ( Ptr< SpectrumValue txPsd)

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

Parameters
txPsd

Definition at line 282 of file lte-spectrum-phy.cc.

References m_txPsd, NS_ASSERT, and NS_LOG_FUNCTION.

void ns3::LteSpectrumPhy::StartRx ( Ptr< SpectrumSignalParameters params)
virtual

Notify the SpectrumPhy instance of an incoming signal.

Parameters
paramsthe parameters of the signals being received

Implements ns3::SpectrumPhy.

Definition at line 616 of file lte-spectrum-phy.cc.

References m_interferenceCtrl, m_interferenceData, m_state, NS_LOG_FUNCTION, NS_LOG_LOGIC, StartRxCtrl(), and StartRxData().

Referenced by ns3::LteDownlinkDataSinrTestCase::DoRun(), ns3::LteUplinkDataSinrTestCase::DoRun(), ns3::LteDownlinkCtrlSinrTestCase::DoRun(), and ns3::LteUplinkSrsSinrTestCase::DoRun().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LteSpectrumPhy::StartRxData ( Ptr< LteSpectrumSignalParametersDataFrame params)
bool ns3::LteSpectrumPhy::StartTxDataFrame ( Ptr< PacketBurst pb,
std::list< Ptr< LteControlMessage > >  ctrlMsgList,
Time  duration 
)

Start a transmission of data frame in DL and UL.

Parameters
pbthe burst of packets to be transmitted in PDSCH/PUSCH
ctrlMsgListthe list of LteControlMessage to send
durationthe duration of the data frame
Returns
true if an error occurred and the transmission was not started, false otherwise.

Definition at line 421 of file lte-spectrum-phy.cc.

References ChangeState(), EndTx(), IDLE, m_antenna, m_cellId, m_channel, m_endTxEvent, m_phyTxStartTrace, m_state, m_txPacketBurst, m_txPsd, NS_ASSERT, NS_FATAL_ERROR, NS_LOG_FUNCTION, NS_LOG_LOGIC, RX_CTRL, RX_DATA, ns3::Simulator::Schedule(), and TX.

+ Here is the call graph for this function:

bool ns3::LteSpectrumPhy::StartTxDlCtrlFrame ( std::list< Ptr< LteControlMessage > >  ctrlMsgList,
bool  pss 
)

Start a transmission of control frame in DL.

Parameters
ctrlMsgListthe burst of control messages to be transmitted
pssthe flag for transmitting the primary synchronization signal
Returns
true if an error occurred and the transmission was not started, false otherwise.

Definition at line 477 of file lte-spectrum-phy.cc.

References ChangeState(), ns3::DL_CTRL_DURATION, EndTx(), IDLE, m_antenna, m_cellId, m_channel, m_endTxEvent, m_state, m_txPsd, NS_ASSERT, NS_FATAL_ERROR, NS_LOG_FUNCTION, NS_LOG_LOGIC, RX_CTRL, RX_DATA, ns3::Simulator::Schedule(), and TX.

+ Here is the call graph for this function:

bool ns3::LteSpectrumPhy::StartTxUlSrsFrame ( )

Start a transmission of control frame in UL.

Returns
true if an error occurred and the transmission was not started, false otherwise.

Definition at line 535 of file lte-spectrum-phy.cc.

References ChangeState(), EndTx(), IDLE, m_antenna, m_cellId, m_channel, m_endTxEvent, m_state, m_txPsd, NS_ASSERT, NS_FATAL_ERROR, NS_LOG_FUNCTION, NS_LOG_LOGIC, RX_CTRL, RX_DATA, ns3::Simulator::Schedule(), TX, and ns3::UL_SRS_DURATION.

+ Here is the call graph for this function:

void ns3::LteSpectrumPhy::UpdateSinrPerceived ( const SpectrumValue sinr)
Parameters
sinrvector of sinr perceived per each RB

Definition at line 829 of file lte-spectrum-phy.cc.

References m_sinrPerceived, and NS_LOG_FUNCTION.

Friends And Related Function Documentation

friend class LteUePhy
friend

Definition at line 401 of file lte-spectrum-phy.h.

Member Data Documentation

Ptr<AntennaModel> ns3::LteSpectrumPhy::m_antenna
private
uint16_t ns3::LteSpectrumPhy::m_cellId
private
Ptr<SpectrumChannel> ns3::LteSpectrumPhy::m_channel
private
bool ns3::LteSpectrumPhy::m_ctrlErrorModelEnabled
private

Definition at line 467 of file lte-spectrum-phy.h.

Referenced by EndRxDlCtrl(), and GetTypeId().

bool ns3::LteSpectrumPhy::m_dataErrorModelEnabled
private

Definition at line 466 of file lte-spectrum-phy.h.

Referenced by EndRxData(), and GetTypeId().

Ptr<NetDevice> ns3::LteSpectrumPhy::m_device
private

Definition at line 425 of file lte-spectrum-phy.h.

Referenced by DoDispose(), GetDevice(), and SetDevice().

TracedCallback<PhyReceptionStatParameters> ns3::LteSpectrumPhy::m_dlPhyReception
private

Trace information regarding PHY stats from DL Rx perspective PhyReceptionStatParameters (see lte-common.h)

Definition at line 482 of file lte-spectrum-phy.h.

Referenced by EndRxData(), and GetTypeId().

EventId ns3::LteSpectrumPhy::m_endRxDataEvent
private

Definition at line 492 of file lte-spectrum-phy.h.

Referenced by Reset(), and StartRxData().

EventId ns3::LteSpectrumPhy::m_endRxDlCtrlEvent
private

Definition at line 493 of file lte-spectrum-phy.h.

Referenced by Reset(), and StartRxCtrl().

EventId ns3::LteSpectrumPhy::m_endRxUlSrsEvent
private

Definition at line 494 of file lte-spectrum-phy.h.

Referenced by Reset(), and StartRxCtrl().

EventId ns3::LteSpectrumPhy::m_endTxEvent
private

Definition at line 491 of file lte-spectrum-phy.h.

Referenced by Reset(), StartTxDataFrame(), StartTxDlCtrlFrame(), and StartTxUlSrsFrame().

expectedTbs_t ns3::LteSpectrumPhy::m_expectedTbs
private

Definition at line 461 of file lte-spectrum-phy.h.

Referenced by AddExpectedTb(), EndRxData(), Reset(), and ~LteSpectrumPhy().

Time ns3::LteSpectrumPhy::m_firstRxDuration
private

Definition at line 440 of file lte-spectrum-phy.h.

Referenced by StartRxCtrl(), and StartRxData().

Time ns3::LteSpectrumPhy::m_firstRxStart
private

Definition at line 439 of file lte-spectrum-phy.h.

Referenced by StartRxCtrl(), and StartRxData().

Ptr<LteHarqPhy> ns3::LteSpectrumPhy::m_harqPhyModule
private

Definition at line 473 of file lte-spectrum-phy.h.

Referenced by EndRxData(), and SetHarqPhyModule().

uint8_t ns3::LteSpectrumPhy::m_layersNum
private

Definition at line 470 of file lte-spectrum-phy.h.

Referenced by EndRxData(), Reset(), and SetTransmissionMode().

LtePhyDlHarqFeedbackCallback ns3::LteSpectrumPhy::m_ltePhyDlHarqFeedbackCallback
private

Definition at line 474 of file lte-spectrum-phy.h.

Referenced by DoDispose(), EndRxData(), and SetLtePhyDlHarqFeedbackCallback().

LtePhyRxCtrlEndErrorCallback ns3::LteSpectrumPhy::m_ltePhyRxCtrlEndErrorCallback
private

Definition at line 453 of file lte-spectrum-phy.h.

Referenced by DoDispose(), EndRxDlCtrl(), and SetLtePhyRxCtrlEndErrorCallback().

LtePhyRxCtrlEndOkCallback ns3::LteSpectrumPhy::m_ltePhyRxCtrlEndOkCallback
private
LtePhyRxDataEndErrorCallback ns3::LteSpectrumPhy::m_ltePhyRxDataEndErrorCallback
private

Definition at line 449 of file lte-spectrum-phy.h.

Referenced by DoDispose(), and SetLtePhyRxDataEndErrorCallback().

LtePhyRxDataEndOkCallback ns3::LteSpectrumPhy::m_ltePhyRxDataEndOkCallback
private

Definition at line 450 of file lte-spectrum-phy.h.

Referenced by DoDispose(), EndRxData(), and SetLtePhyRxDataEndOkCallback().

LtePhyRxPssCallback ns3::LteSpectrumPhy::m_ltePhyRxPssCallback
private

Definition at line 454 of file lte-spectrum-phy.h.

Referenced by DoDispose(), SetLtePhyRxPssCallback(), and StartRxCtrl().

LtePhyTxEndCallback ns3::LteSpectrumPhy::m_ltePhyTxEndCallback
private

Definition at line 448 of file lte-spectrum-phy.h.

Referenced by DoDispose(), EndTx(), and SetLtePhyTxEndCallback().

LtePhyUlHarqFeedbackCallback ns3::LteSpectrumPhy::m_ltePhyUlHarqFeedbackCallback
private

Definition at line 475 of file lte-spectrum-phy.h.

Referenced by DoDispose(), EndRxData(), and SetLtePhyUlHarqFeedbackCallback().

Ptr<MobilityModel> ns3::LteSpectrumPhy::m_mobility
private

Definition at line 423 of file lte-spectrum-phy.h.

Referenced by DoDispose(), GetMobility(), and SetMobility().

TracedCallback<Ptr<const Packet> > ns3::LteSpectrumPhy::m_phyRxEndErrorTrace
private

Definition at line 446 of file lte-spectrum-phy.h.

Referenced by EndRxData(), and GetTypeId().

TracedCallback<Ptr<const Packet> > ns3::LteSpectrumPhy::m_phyRxEndOkTrace
private

Definition at line 445 of file lte-spectrum-phy.h.

Referenced by EndRxData(), and GetTypeId().

TracedCallback<Ptr<const PacketBurst> > ns3::LteSpectrumPhy::m_phyRxStartTrace
private

Definition at line 444 of file lte-spectrum-phy.h.

Referenced by GetTypeId(), and StartRxData().

TracedCallback<Ptr<const PacketBurst> > ns3::LteSpectrumPhy::m_phyTxEndTrace
private

Definition at line 443 of file lte-spectrum-phy.h.

Referenced by EndTx(), and GetTypeId().

TracedCallback<Ptr<const PacketBurst> > ns3::LteSpectrumPhy::m_phyTxStartTrace
private

Definition at line 442 of file lte-spectrum-phy.h.

Referenced by GetTypeId(), and StartTxDataFrame().

Ptr<UniformRandomVariable> ns3::LteSpectrumPhy::m_random
private

Provides uniform random variables.

Definition at line 465 of file lte-spectrum-phy.h.

Referenced by AssignStreams(), EndRxData(), EndRxDlCtrl(), and LteSpectrumPhy().

std::list<Ptr<LteControlMessage> > ns3::LteSpectrumPhy::m_rxControlMessageList
private

Definition at line 435 of file lte-spectrum-phy.h.

Referenced by EndRxData(), EndRxDlCtrl(), Reset(), StartRxCtrl(), and StartRxData().

std::list<Ptr<PacketBurst> > ns3::LteSpectrumPhy::m_rxPacketBurstList
private

Definition at line 432 of file lte-spectrum-phy.h.

Referenced by EndRxData(), Reset(), and StartRxData().

Ptr<const SpectrumModel> ns3::LteSpectrumPhy::m_rxSpectrumModel
private

Definition at line 429 of file lte-spectrum-phy.h.

Referenced by GetRxSpectrumModel(), Reset(), and SetNoisePowerSpectralDensity().

SpectrumValue ns3::LteSpectrumPhy::m_sinrPerceived
private

Definition at line 462 of file lte-spectrum-phy.h.

Referenced by EndRxData(), EndRxDlCtrl(), and UpdateSinrPerceived().

uint8_t ns3::LteSpectrumPhy::m_transmissionMode
private

Definition at line 469 of file lte-spectrum-phy.h.

Referenced by EndRxData(), EndRxDlCtrl(), Reset(), and SetTransmissionMode().

std::list<Ptr<LteControlMessage> > ns3::LteSpectrumPhy::m_txControlMessageList
private

Definition at line 434 of file lte-spectrum-phy.h.

Referenced by Reset().

std::vector<double> ns3::LteSpectrumPhy::m_txModeGain
private
Ptr<PacketBurst> ns3::LteSpectrumPhy::m_txPacketBurst
private

Definition at line 431 of file lte-spectrum-phy.h.

Referenced by EndTx(), Reset(), and StartTxDataFrame().

Ptr<SpectrumValue> ns3::LteSpectrumPhy::m_txPsd
private
TracedCallback<PhyReceptionStatParameters> ns3::LteSpectrumPhy::m_ulPhyReception
private

Trace information regarding PHY stats from UL Rx perspective PhyReceptionStatParameters (see lte-common.h)

Definition at line 489 of file lte-spectrum-phy.h.

Referenced by EndRxData(), and GetTypeId().


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