A Discrete-Event Network Simulator
API
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_DL_CTRL, TX_DATA, TX_UL_SRS,
  RX_DL_CTRL, RX_DATA, RX_UL_SRS
}
 PHY states. More...
 

Public Member Functions

 LteSpectrumPhy ()
 
virtual ~LteSpectrumPhy ()
 
void AddCtrlSinrChunkProcessor (Ptr< LteChunkProcessor > p)
 
void AddDataPowerChunkProcessor (Ptr< LteChunkProcessor > p)
 
void AddDataSinrChunkProcessor (Ptr< LteChunkProcessor > 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< LteChunkProcessor > p)
 LteChunkProcessor devoted to evaluate interference + noise power in control symbols of the subframe. More...
 
void AddInterferenceDataChunkProcessor (Ptr< LteChunkProcessor > p)
 LteChunkProcessor devoted to evaluate interference + noise power in data symbols of the subframe. More...
 
void AddRsPowerChunkProcessor (Ptr< LteChunkProcessor > 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 ()
 Destructor implementation. More...
 
Ptr< SpectrumChannelGetChannel ()
 
Ptr< NetDeviceGetDevice () const
 Get the associated NetDevice instance. More...
 
Ptr< MobilityModelGetMobility () const
 Get the associated MobilityModel instance. More...
 
Ptr< AntennaModelGetRxAntenna () const
 Get the AntennaModel used by the NetDevice for reception. More...
 
Ptr< const SpectrumModelGetRxSpectrumModel () const
 
void RemoveExpectedTb (uint16_t rnti)
 Remove expected transport block. More...
 
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 SetComponentCarrierId (uint8_t componentCarrierId)
 
void SetDevice (Ptr< NetDevice > d)
 Set the associated NetDevice instance. More...
 
void SetHarqPhyModule (Ptr< LteHarqPhy > harq)
 Set HARQ phy function. More...
 
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 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 StartRxData (Ptr< LteSpectrumSignalParametersDataFrame > params)
 Start receive data function. More...
 
void StartRxDlCtrl (Ptr< LteSpectrumSignalParametersDlCtrlFrame > lteDlCtrlRxParams)
 Start receive DL control function. More...
 
void StartRxUlSrs (Ptr< LteSpectrumSignalParametersUlSrsFrame > lteUlSrsRxParams)
 Start receive UL SRS function. More...
 
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 ()
 Constructor. More...
 
virtual ~Object ()
 Destructor. More...
 
void AggregateObject (Ptr< Object > other)
 Aggregate two Objects together. More...
 
void Dispose (void)
 Dispose of this Object. More...
 
AggregateIterator GetAggregateIterator (void) const
 Get an iterator to the Objects aggregated to this one. More...
 
virtual TypeId GetInstanceTypeId (void) const
 Get the most derived TypeId for this Object. More...
 
template<typename T >
Ptr< T > GetObject (void) const
 Get a pointer to the requested aggregated Object. More...
 
template<typename T >
Ptr< T > GetObject (TypeId tid) const
 Get a pointer to the requested aggregated Object by TypeId. More...
 
template<>
Ptr< ObjectGetObject () const
 Specialization of () for objects of type ns3::Object. More...
 
template<>
Ptr< ObjectGetObject (TypeId tid) const
 Specialization of (TypeId tid) for objects of type ns3::Object. More...
 
void Initialize (void)
 Invoke DoInitialize on all Objects aggregated to this one. More...
 
bool IsInitialized (void) const
 Check if the object has been initialized. More...
 
- Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
 SimpleRefCount ()
 Default 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 operator. 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
 Get the value of an attribute, raising fatal errors if unsuccessful. More...
 
bool GetAttributeFailSafe (std::string name, AttributeValue &value) const
 Get the value of an attribute without raising erros. More...
 
void SetAttribute (std::string name, const AttributeValue &value)
 Set a single attribute, raising fatal errors if unsuccessful. More...
 
bool SetAttributeFailSafe (std::string name, const AttributeValue &value)
 Set a single attribute without raising errors. More...
 
bool TraceConnect (std::string name, std::string context, const CallbackBase &cb)
 Connect a TraceSource to a Callback with a context. More...
 
bool TraceConnectWithoutContext (std::string name, const CallbackBase &cb)
 Connect a TraceSource to a Callback without a context. More...
 
bool TraceDisconnect (std::string name, std::string context, const CallbackBase &cb)
 Disconnect from a TraceSource a Callback previously connected with a context. More...
 
bool TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb)
 Disconnect from a TraceSource a Callback previously connected without a context. More...
 

Static Public Member Functions

static TypeId GetTypeId (void)
 Get the type ID. More...
 
- Static Public Member Functions inherited from ns3::SpectrumPhy
static TypeId GetTypeId (void)
 Get the type ID. More...
 
- Static Public Member Functions inherited from ns3::Object
static TypeId GetTypeId (void)
 Register this type. 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)
 
Change state function More...
 
void EndRxData ()
 End receive data function. More...
 
void EndRxDlCtrl ()
 End receive DL control function. More...
 
void EndRxUlSrs ()
 End receive UL SRS function. More...
 
void EndTxData ()
 End transmit data function. More...
 
void EndTxDlCtrl ()
 End transmit DL control function. More...
 
void EndTxUlSrs ()
 End transmit UL SRS function. More...
 
void SetTxModeGain (uint8_t txMode, double gain)
 
Set transmit mode gain function More...
 

Private Attributes

Ptr< AntennaModelm_antenna
 the antenna model More...
 
uint16_t m_cellId
 the cell ID More...
 
Ptr< SpectrumChannelm_channel
 the channel More...
 
uint8_t m_componentCarrierId
 the component carrier ID More...
 
bool m_ctrlErrorModelEnabled
 when true (default) the phy error model is enabled for DL ctrl frame More...
 
bool m_dataErrorModelEnabled
 when true (default) the phy error model is enabled More...
 
Ptr< NetDevicem_device
 the device More...
 
TracedCallback< PhyReceptionStatParametersm_dlPhyReception
 Trace information regarding PHY stats from DL Rx perspective PhyReceptionStatParameters (see lte-common.h) More...
 
EventId m_endRxDataEvent
 end receive data event More...
 
EventId m_endRxDlCtrlEvent
 end receive DL control event More...
 
EventId m_endRxUlSrsEvent
 end receive UL SRS event More...
 
EventId m_endTxEvent
 end transmit event More...
 
expectedTbs_t m_expectedTbs
 the expected TBS More...
 
Time m_firstRxDuration
 the first receive duration More...
 
Time m_firstRxStart
 the first receive start More...
 
Ptr< LteHarqPhym_harqPhyModule
 the HARQ phy module More...
 
Ptr< LteInterferencem_interferenceCtrl
 the control interference More...
 
Ptr< LteInterferencem_interferenceData
 the data interference More...
 
uint8_t m_layersNum
 layers num More...
 
LtePhyDlHarqFeedbackCallback m_ltePhyDlHarqFeedbackCallback
 the LTE phy DL HARQ feedback callback More...
 
LtePhyRxCtrlEndErrorCallback m_ltePhyRxCtrlEndErrorCallback
 the LTE phy receive control end error callback More...
 
LtePhyRxCtrlEndOkCallback m_ltePhyRxCtrlEndOkCallback
 the LTE phy receive control end ok callback More...
 
LtePhyRxDataEndErrorCallback m_ltePhyRxDataEndErrorCallback
 the LTE phy receive data end error callback More...
 
LtePhyRxDataEndOkCallback m_ltePhyRxDataEndOkCallback
 the LTE phy receive data end ok callback More...
 
LtePhyRxPssCallback m_ltePhyRxPssCallback
 the LTE phy receive PSS callback More...
 
LtePhyUlHarqFeedbackCallback m_ltePhyUlHarqFeedbackCallback
 the LTE phy UL HARQ feedback callback More...
 
Ptr< MobilityModelm_mobility
 the modility model More...
 
TracedCallback< Ptr< const Packet > > m_phyRxEndErrorTrace
 the phy receive end error trace callback More...
 
TracedCallback< Ptr< const Packet > > m_phyRxEndOkTrace
 the phy receive end ok trace callback More...
 
TracedCallback< Ptr< const PacketBurst > > m_phyRxStartTrace
 the phy receive start trace callback More...
 
TracedCallback< Ptr< const PacketBurst > > m_phyTxEndTrace
 the phy transmit end trace callback More...
 
TracedCallback< Ptr< const PacketBurst > > m_phyTxStartTrace
 the phy transmit start trace callback More...
 
Ptr< UniformRandomVariablem_random
 Provides uniform random variables. More...
 
std::list< Ptr< LteControlMessage > > m_rxControlMessageList
 the receive control message list More...
 
std::list< Ptr< PacketBurst > > m_rxPacketBurstList
 the receive burst list More...
 
Ptr< const SpectrumModelm_rxSpectrumModel
 the spectrum model More...
 
SpectrumValue m_sinrPerceived
 the preceived SINR More...
 
State m_state
 the state More...
 
uint8_t m_transmissionMode
 for UEs: store the transmission mode More...
 
std::list< Ptr< LteControlMessage > > m_txControlMessageList
 the transmit control message list More...
 
std::vector< double > m_txModeGain
 duplicate value of LteUePhy More...
 
Ptr< PacketBurstm_txPacketBurst
 the transmit packet burst More...
 
Ptr< SpectrumValuem_txPsd
 the transmit PSD More...
 
TracedCallback< PhyReceptionStatParametersm_ulPhyReception
 Trace information regarding PHY stats from UL Rx perspective PhyReceptionStatParameters (see lte-common.h) More...
 

Friends

class LteUePhy
 allow LteUePhy class friend access More...
 

Additional Inherited Members

- Protected Member Functions inherited from ns3::Object
 Object (const Object &o)
 Copy an Object. More...
 
virtual void DoInitialize (void)
 Initialize() implementation. More...
 
virtual void NotifyNewAggregate (void)
 Notify all Objects aggregated to this one of a new Object being aggregated. More...
 
- Protected Member Functions inherited from ns3::ObjectBase
void ConstructSelf (const AttributeConstructionList &attributes)
 Complete construction of ObjectBase; invoked by derived classes. More...
 
virtual void NotifyConstructionCompleted (void)
 Notifier called once the ObjectBase is fully constructed. 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::LteNetDevice/$ns3::LteEnbNetDevice/ComponentCarrierMap/[i]/LteEnbPhy/DlSpectrumPhy"
  • "/NodeList/[i]/DeviceList/[i]/$ns3::LteNetDevice/$ns3::LteEnbNetDevice/ComponentCarrierMap/[i]/LteEnbPhy/UlSpectrumPhy"
  • "/NodeList/[i]/DeviceList/[i]/$ns3::LteNetDevice/$ns3::LteUeNetDevice/ComponentCarrierMapUe/[i]/LteUePhy/DlSpectrumPhy"
  • "/NodeList/[i]/DeviceList/[i]/$ns3::LteNetDevice/$ns3::LteUeNetDevice/ComponentCarrierMapUe/[i]/LteUePhy/UlSpectrumPhy"
  • "/NodeList/[i]/DeviceList/[i]/$ns3::LteEnbNetDevice/ComponentCarrierMap/[i]/LteEnbPhy/DlSpectrumPhy"
  • "/NodeList/[i]/DeviceList/[i]/$ns3::LteEnbNetDevice/ComponentCarrierMap/[i]/LteEnbPhy/UlSpectrumPhy"
  • "/NodeList/[i]/DeviceList/[i]/$ns3::LteUeNetDevice/ComponentCarrierMapUe/[i]/LteUePhy/DlSpectrumPhy"
  • "/NodeList/[i]/DeviceList/[i]/$ns3::LteUeNetDevice/ComponentCarrierMapUe/[i]/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

Size of this type is 584 bytes (on a 64-bit architecture).

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

Member Enumeration Documentation

◆ State

PHY states.

Enumerator
IDLE 
TX_DL_CTRL 
TX_DATA 
TX_UL_SRS 
RX_DL_CTRL 
RX_DATA 
RX_UL_SRS 

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

Constructor & Destructor Documentation

◆ LteSpectrumPhy()

ns3::LteSpectrumPhy::LteSpectrumPhy ( )

Definition at line 127 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:

◆ ~LteSpectrumPhy()

ns3::LteSpectrumPhy::~LteSpectrumPhy ( )
virtual

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

References m_expectedTbs, m_txModeGain, and NS_LOG_FUNCTION.

Member Function Documentation

◆ AddCtrlSinrChunkProcessor()

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

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

References m_interferenceCtrl.

◆ AddDataPowerChunkProcessor()

void ns3::LteSpectrumPhy::AddDataPowerChunkProcessor ( Ptr< LteChunkProcessor p)
Parameters
pthe new LteChunkProcessor to be added to the Data Channel power processing chain

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

References m_interferenceData.

◆ AddDataSinrChunkProcessor()

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

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

References m_interferenceData.

◆ AddExpectedTb()

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)
rvthe redundancy version
downlinktrue when the TB is for DL

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

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

◆ AddInterferenceCtrlChunkProcessor()

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

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

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

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

References m_interferenceCtrl.

◆ AddInterferenceDataChunkProcessor()

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

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

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

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

References m_interferenceData.

◆ AddRsPowerChunkProcessor()

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

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

References m_interferenceCtrl.

◆ AssignStreams()

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 1314 of file lte-spectrum-phy.cc.

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

+ Here is the call graph for this function:

◆ ChangeState()

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


Change state function

Parameters
newStatethe new state to set

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

References m_state, and NS_LOG_LOGIC.

Referenced by EndRxData(), EndRxDlCtrl(), EndRxUlSrs(), EndTxData(), EndTxDlCtrl(), EndTxUlSrs(), SetState(), StartRxData(), StartRxDlCtrl(), StartRxUlSrs(), StartTxDataFrame(), StartTxDlCtrlFrame(), and StartTxUlSrsFrame().

+ Here is the caller graph for this function:

◆ DoDispose()

void ns3::LteSpectrumPhy::DoDispose ( void  )
virtual

Destructor implementation.

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

Subclasses are expected to implement their real destruction code in an overridden 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 155 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_ltePhyUlHarqFeedbackCallback, m_mobility, and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

◆ EndRxData()

void ns3::LteSpectrumPhy::EndRxData ( )
private

End receive data function.

Definition at line 974 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_ccId, ns3::PhyReceptionStatParameters::m_cellId, m_cellId, m_componentCarrierId, 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::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:

◆ EndRxDlCtrl()

◆ EndRxUlSrs()

void ns3::LteSpectrumPhy::EndRxUlSrs ( )
private

End receive UL SRS function.

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

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

Referenced by StartRxUlSrs().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ EndTxData()

void ns3::LteSpectrumPhy::EndTxData ( )
private

End transmit data function.

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

References ChangeState(), IDLE, m_phyTxEndTrace, m_state, m_txPacketBurst, NS_ASSERT, NS_LOG_FUNCTION, NS_LOG_LOGIC, and TX_DATA.

Referenced by StartTxDataFrame().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ EndTxDlCtrl()

void ns3::LteSpectrumPhy::EndTxDlCtrl ( )
private

End transmit DL control function.

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

References ChangeState(), IDLE, m_state, m_txPacketBurst, NS_ASSERT, NS_LOG_FUNCTION, NS_LOG_LOGIC, and TX_DL_CTRL.

Referenced by StartTxDlCtrlFrame().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ EndTxUlSrs()

void ns3::LteSpectrumPhy::EndTxUlSrs ( )
private

End transmit UL SRS function.

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

References ChangeState(), IDLE, m_state, m_txPacketBurst, NS_ASSERT, NS_LOG_FUNCTION, NS_LOG_LOGIC, and TX_UL_SRS.

Referenced by StartTxUlSrsFrame().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetChannel()

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

◆ GetDevice()

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

Get the associated NetDevice instance.

Returns
a Ptr to the associated NetDevice instance

Implements ns3::SpectrumPhy.

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

References m_device, and NS_LOG_FUNCTION.

◆ GetMobility()

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

Get the associated MobilityModel instance.

Returns
a Ptr to the associated MobilityModel instance

Implements ns3::SpectrumPhy.

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

References m_mobility, and NS_LOG_FUNCTION.

◆ GetRxAntenna()

Ptr< AntennaModel > ns3::LteSpectrumPhy::GetRxAntenna ( ) const
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 407 of file lte-spectrum-phy.cc.

References m_antenna.

◆ GetRxSpectrumModel()

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 307 of file lte-spectrum-phy.cc.

References m_rxSpectrumModel.

◆ GetTypeId()

◆ RemoveExpectedTb()

void ns3::LteSpectrumPhy::RemoveExpectedTb ( uint16_t  rnti)

Remove expected transport block.

When UE context at eNodeB is removed and if UL TB is expected to be received but not transmitted due to break in radio link. The TB with different rnti or lcid remains during the transmission of a new TB and causes problems with m_ulPhyReception trace, since the UE context was already removed. TB has to be removed when ue context at eNodeB is removed

Parameters
rntiThe RNTI of the UE

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

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

◆ Reset()

void ns3::LteSpectrumPhy::Reset ( void  )

◆ SetAntenna()

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

set the AntennaModel to be used

Parameters
athe Antenna Model

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

References m_antenna, and NS_LOG_FUNCTION.

◆ SetCellId()

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

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

References m_cellId.

◆ SetChannel()

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

Set the channel attached to this device.

Parameters
cthe channel

Implements ns3::SpectrumPhy.

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

References m_channel, and NS_LOG_FUNCTION.

◆ SetComponentCarrierId()

void ns3::LteSpectrumPhy::SetComponentCarrierId ( uint8_t  componentCarrierId)
Parameters
componentCarrierIdthe component carrier id

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

References m_componentCarrierId.

◆ SetDevice()

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

Set the associated NetDevice instance.

Parameters
dthe NetDevice instance

Implements ns3::SpectrumPhy.

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

References m_device, and NS_LOG_FUNCTION.

◆ SetHarqPhyModule()

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

Set HARQ phy function.

Parameters
harqthe HARQ phy module

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

References m_harqPhyModule.

◆ SetLtePhyDlHarqFeedbackCallback()

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 392 of file lte-spectrum-phy.cc.

References m_ltePhyDlHarqFeedbackCallback, and NS_LOG_FUNCTION.

◆ SetLtePhyRxCtrlEndErrorCallback()

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 377 of file lte-spectrum-phy.cc.

References m_ltePhyRxCtrlEndErrorCallback, and NS_LOG_FUNCTION.

◆ SetLtePhyRxCtrlEndOkCallback()

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 370 of file lte-spectrum-phy.cc.

References m_ltePhyRxCtrlEndOkCallback, and NS_LOG_FUNCTION.

◆ SetLtePhyRxDataEndErrorCallback()

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 355 of file lte-spectrum-phy.cc.

References m_ltePhyRxDataEndErrorCallback, and NS_LOG_FUNCTION.

◆ SetLtePhyRxDataEndOkCallback()

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 363 of file lte-spectrum-phy.cc.

References m_ltePhyRxDataEndOkCallback, and NS_LOG_FUNCTION.

◆ SetLtePhyRxPssCallback()

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 385 of file lte-spectrum-phy.cc.

References m_ltePhyRxPssCallback, and NS_LOG_FUNCTION.

◆ SetLtePhyUlHarqFeedbackCallback()

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 399 of file lte-spectrum-phy.cc.

References m_ltePhyUlHarqFeedbackCallback, and NS_LOG_FUNCTION.

◆ SetMobility()

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 286 of file lte-spectrum-phy.cc.

References m_mobility, and NS_LOG_FUNCTION.

◆ SetNoisePowerSpectralDensity()

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 323 of file lte-spectrum-phy.cc.

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

◆ SetState()

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

Set the state of the phy layer.

Parameters
newStatethe state

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

References ChangeState().

+ Here is the call graph for this function:

◆ SetTransmissionMode()

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

Definition at line 1278 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:

◆ SetTxModeGain()

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


Set transmit mode gain function

Parameters
txModethe transmit mode
gainthe gain to set

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

References m_txModeGain, and NS_LOG_FUNCTION.

◆ SetTxPowerSpectralDensity()

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

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

Parameters
txPsd

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

References m_txPsd, NS_ASSERT, and NS_LOG_FUNCTION.

◆ StartRx()

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 655 of file lte-spectrum-phy.cc.

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

+ Here is the call graph for this function:

◆ StartRxData()

void ns3::LteSpectrumPhy::StartRxData ( Ptr< LteSpectrumSignalParametersDataFrame params)

Start receive data function.

Parameters
paramsPtr<LteSpectrumSignalParametersDataFrame>

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

References ChangeState(), EndRxData(), IDLE, m_cellId, m_endRxDataEvent, m_firstRxDuration, m_firstRxStart, m_interferenceData, m_phyRxStartTrace, m_rxControlMessageList, m_rxPacketBurstList, m_state, ns3::Simulator::Now(), NS_ASSERT, NS_FATAL_ERROR, NS_LOG_DEBUG, NS_LOG_FUNCTION, NS_LOG_LOGIC, RX_DATA, RX_DL_CTRL, ns3::Time::S, ns3::Simulator::Schedule(), TX_DATA, TX_DL_CTRL, and TX_UL_SRS.

Referenced by StartRx().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ StartRxDlCtrl()

void ns3::LteSpectrumPhy::StartRxDlCtrl ( Ptr< LteSpectrumSignalParametersDlCtrlFrame lteDlCtrlRxParams)

Start receive DL control function.

Parameters
lteDlCtrlRxParamsPtr<LteSpectrumSignalParametersDlCtrlFrame>

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

References ChangeState(), EndRxDlCtrl(), IDLE, ns3::Callback< R, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::IsNull(), m_cellId, m_endRxDlCtrlEvent, m_firstRxDuration, m_firstRxStart, m_interferenceCtrl, m_ltePhyRxPssCallback, m_rxControlMessageList, m_state, ns3::Simulator::Now(), NS_ASSERT, NS_ASSERT_MSG, NS_FATAL_ERROR, NS_LOG_FUNCTION, NS_LOG_LOGIC, RX_DATA, RX_DL_CTRL, RX_UL_SRS, ns3::Simulator::Schedule(), TX_DATA, TX_DL_CTRL, and TX_UL_SRS.

Referenced by StartRx().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ StartRxUlSrs()

void ns3::LteSpectrumPhy::StartRxUlSrs ( Ptr< LteSpectrumSignalParametersUlSrsFrame lteUlSrsRxParams)

Start receive UL SRS function.

Parameters
lteUlSrsRxParamsPtr<LteSpectrumSignalParametersUlSrsFrame>

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

References ChangeState(), EndRxUlSrs(), IDLE, m_cellId, m_endRxUlSrsEvent, m_firstRxDuration, m_firstRxStart, m_interferenceCtrl, m_rxControlMessageList, m_state, ns3::Simulator::Now(), NS_ASSERT, NS_FATAL_ERROR, NS_LOG_FUNCTION, NS_LOG_LOGIC, RX_DATA, RX_DL_CTRL, RX_UL_SRS, ns3::Simulator::Schedule(), TX_DATA, TX_DL_CTRL, and TX_UL_SRS.

Referenced by StartRx().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ StartTxDataFrame()

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 444 of file lte-spectrum-phy.cc.

References ChangeState(), EndTxData(), 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_DATA, RX_DL_CTRL, RX_UL_SRS, ns3::Simulator::Schedule(), TX_DATA, TX_DL_CTRL, and TX_UL_SRS.

+ Here is the call graph for this function:

◆ StartTxDlCtrlFrame()

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 503 of file lte-spectrum-phy.cc.

References ChangeState(), ns3::DL_CTRL_DURATION, EndTxDlCtrl(), 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_DATA, RX_DL_CTRL, RX_UL_SRS, ns3::Simulator::Schedule(), TX_DATA, TX_DL_CTRL, and TX_UL_SRS.

+ Here is the call graph for this function:

◆ StartTxUlSrsFrame()

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 561 of file lte-spectrum-phy.cc.

References ChangeState(), EndTxUlSrs(), 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_DATA, RX_DL_CTRL, RX_UL_SRS, ns3::Simulator::Schedule(), TX_DATA, TX_DL_CTRL, TX_UL_SRS, and ns3::UL_SRS_DURATION.

+ Here is the call graph for this function:

◆ UpdateSinrPerceived()

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

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

References m_sinrPerceived, and NS_LOG_FUNCTION.

Referenced by ns3::LteHelper::InstallSingleEnbDevice(), and ns3::LteHelper::InstallSingleUeDevice().

+ Here is the caller graph for this function:

Friends And Related Function Documentation

◆ LteUePhy

friend class LteUePhy
friend

allow LteUePhy class friend access

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

Member Data Documentation

◆ m_antenna

Ptr<AntennaModel> ns3::LteSpectrumPhy::m_antenna
private

the antenna model

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

Referenced by GetRxAntenna(), SetAntenna(), StartTxDataFrame(), StartTxDlCtrlFrame(), and StartTxUlSrsFrame().

◆ m_cellId

uint16_t ns3::LteSpectrumPhy::m_cellId
private

◆ m_channel

Ptr<SpectrumChannel> ns3::LteSpectrumPhy::m_channel
private

◆ m_componentCarrierId

uint8_t ns3::LteSpectrumPhy::m_componentCarrierId
private

the component carrier ID

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

Referenced by EndRxData(), and SetComponentCarrierId().

◆ m_ctrlErrorModelEnabled

bool ns3::LteSpectrumPhy::m_ctrlErrorModelEnabled
private

when true (default) the phy error model is enabled for DL ctrl frame

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

Referenced by EndRxDlCtrl(), and GetTypeId().

◆ m_dataErrorModelEnabled

bool ns3::LteSpectrumPhy::m_dataErrorModelEnabled
private

when true (default) the phy error model is enabled

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

Referenced by EndRxData(), and GetTypeId().

◆ m_device

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

the device

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

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

◆ m_dlPhyReception

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

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

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

Referenced by EndRxData(), and GetTypeId().

◆ m_endRxDataEvent

EventId ns3::LteSpectrumPhy::m_endRxDataEvent
private

end receive data event

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

Referenced by Reset(), and StartRxData().

◆ m_endRxDlCtrlEvent

EventId ns3::LteSpectrumPhy::m_endRxDlCtrlEvent
private

end receive DL control event

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

Referenced by Reset(), and StartRxDlCtrl().

◆ m_endRxUlSrsEvent

EventId ns3::LteSpectrumPhy::m_endRxUlSrsEvent
private

end receive UL SRS event

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

Referenced by Reset(), and StartRxUlSrs().

◆ m_endTxEvent

EventId ns3::LteSpectrumPhy::m_endTxEvent
private

end transmit event

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

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

◆ m_expectedTbs

expectedTbs_t ns3::LteSpectrumPhy::m_expectedTbs
private

the expected TBS

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

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

◆ m_firstRxDuration

Time ns3::LteSpectrumPhy::m_firstRxDuration
private

the first receive duration

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

Referenced by StartRxData(), StartRxDlCtrl(), and StartRxUlSrs().

◆ m_firstRxStart

Time ns3::LteSpectrumPhy::m_firstRxStart
private

the first receive start

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

Referenced by StartRxData(), StartRxDlCtrl(), and StartRxUlSrs().

◆ m_harqPhyModule

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

the HARQ phy module

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

Referenced by EndRxData(), and SetHarqPhyModule().

◆ m_interferenceCtrl

◆ m_interferenceData

◆ m_layersNum

uint8_t ns3::LteSpectrumPhy::m_layersNum
private

layers num

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

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

◆ m_ltePhyDlHarqFeedbackCallback

LtePhyDlHarqFeedbackCallback ns3::LteSpectrumPhy::m_ltePhyDlHarqFeedbackCallback
private

the LTE phy DL HARQ feedback callback

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

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

◆ m_ltePhyRxCtrlEndErrorCallback

LtePhyRxCtrlEndErrorCallback ns3::LteSpectrumPhy::m_ltePhyRxCtrlEndErrorCallback
private

the LTE phy receive control end error callback

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

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

◆ m_ltePhyRxCtrlEndOkCallback

LtePhyRxCtrlEndOkCallback ns3::LteSpectrumPhy::m_ltePhyRxCtrlEndOkCallback
private

the LTE phy receive control end ok callback

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

Referenced by DoDispose(), EndRxData(), EndRxDlCtrl(), and SetLtePhyRxCtrlEndOkCallback().

◆ m_ltePhyRxDataEndErrorCallback

LtePhyRxDataEndErrorCallback ns3::LteSpectrumPhy::m_ltePhyRxDataEndErrorCallback
private

the LTE phy receive data end error callback

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

Referenced by DoDispose(), and SetLtePhyRxDataEndErrorCallback().

◆ m_ltePhyRxDataEndOkCallback

LtePhyRxDataEndOkCallback ns3::LteSpectrumPhy::m_ltePhyRxDataEndOkCallback
private

the LTE phy receive data end ok callback

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

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

◆ m_ltePhyRxPssCallback

LtePhyRxPssCallback ns3::LteSpectrumPhy::m_ltePhyRxPssCallback
private

the LTE phy receive PSS callback

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

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

◆ m_ltePhyUlHarqFeedbackCallback

LtePhyUlHarqFeedbackCallback ns3::LteSpectrumPhy::m_ltePhyUlHarqFeedbackCallback
private

the LTE phy UL HARQ feedback callback

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

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

◆ m_mobility

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

the modility model

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

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

◆ m_phyRxEndErrorTrace

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

the phy receive end error trace callback

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

Referenced by EndRxData(), and GetTypeId().

◆ m_phyRxEndOkTrace

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

the phy receive end ok trace callback

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

Referenced by EndRxData(), and GetTypeId().

◆ m_phyRxStartTrace

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

the phy receive start trace callback

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

Referenced by GetTypeId(), and StartRxData().

◆ m_phyTxEndTrace

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

the phy transmit end trace callback

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

Referenced by EndTxData(), and GetTypeId().

◆ m_phyTxStartTrace

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

the phy transmit start trace callback

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

Referenced by GetTypeId(), and StartTxDataFrame().

◆ m_random

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

Provides uniform random variables.

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

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

◆ m_rxControlMessageList

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

the receive control message list

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

Referenced by EndRxData(), EndRxDlCtrl(), Reset(), StartRxData(), StartRxDlCtrl(), and StartRxUlSrs().

◆ m_rxPacketBurstList

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

the receive burst list

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

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

◆ m_rxSpectrumModel

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

the spectrum model

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

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

◆ m_sinrPerceived

SpectrumValue ns3::LteSpectrumPhy::m_sinrPerceived
private

the preceived SINR

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

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

◆ m_state

◆ m_transmissionMode

uint8_t ns3::LteSpectrumPhy::m_transmissionMode
private

for UEs: store the transmission mode

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

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

◆ m_txControlMessageList

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

the transmit control message list

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

Referenced by Reset().

◆ m_txModeGain

std::vector<double> ns3::LteSpectrumPhy::m_txModeGain
private

◆ m_txPacketBurst

Ptr<PacketBurst> ns3::LteSpectrumPhy::m_txPacketBurst
private

the transmit packet burst

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

Referenced by EndTxData(), EndTxDlCtrl(), EndTxUlSrs(), Reset(), and StartTxDataFrame().

◆ m_txPsd

Ptr<SpectrumValue> ns3::LteSpectrumPhy::m_txPsd
private

the transmit PSD

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

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

◆ m_ulPhyReception

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

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

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

Referenced by EndRxData(), and GetTypeId().


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