A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
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 ()
 
 ~LteSpectrumPhy () override
 
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.
 
void AddInterferenceDataChunkProcessor (Ptr< LteChunkProcessor > p)
 LteChunkProcessor devoted to evaluate interference + noise power in data symbols of the subframe.
 
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.
 
void DoDispose () override
 Destructor implementation.
 
Ptr< ObjectGetAntenna () const override
 Get the AntennaModel used by this SpectrumPhy instance for transmission and/or reception.
 
Ptr< SpectrumChannelGetChannel ()
 
Ptr< NetDeviceGetDevice () const override
 Get the associated NetDevice instance.
 
Ptr< MobilityModelGetMobility () const override
 Get the associated MobilityModel instance.
 
Ptr< const SpectrumModelGetRxSpectrumModel () const override
 
void RemoveExpectedTb (uint16_t rnti)
 Remove expected transport block.
 
void Reset ()
 reset the internal state
 
void SetAntenna (Ptr< AntennaModel > a)
 set the AntennaModel to be used
 
void SetCellId (uint16_t cellId)
 
void SetChannel (Ptr< SpectrumChannel > c) override
 Set the channel attached to this device.
 
void SetComponentCarrierId (uint8_t componentCarrierId)
 
void SetDevice (Ptr< NetDevice > d) override
 Set the associated NetDevice instance.
 
void SetHarqPhyModule (Ptr< LteHarqPhy > harq)
 Set HARQ phy function.
 
void SetLtePhyDlHarqFeedbackCallback (LtePhyDlHarqFeedbackCallback c)
 set the callback for the DL HARQ feedback as part of the interconnections between the LteSpectrumPhy and the PHY
 
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
 
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
 
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
 
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
 
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
 
void SetLtePhyUlHarqFeedbackCallback (LtePhyUlHarqFeedbackCallback c)
 set the callback for the UL HARQ feedback as part of the interconnections between the LteSpectrumPhy and the PHY
 
void SetMobility (Ptr< MobilityModel > m) override
 Set the mobility model associated with this device.
 
void SetNoisePowerSpectralDensity (Ptr< const SpectrumValue > noisePsd)
 set the noise power spectral density
 
void SetState (State newState)
 Set the state of the phy layer.
 
void SetTransmissionMode (uint8_t txMode)
 
void SetTxPowerSpectralDensity (Ptr< SpectrumValue > txPsd)
 set the Power Spectral Density of outgoing signals in W/Hz.
 
void StartRx (Ptr< SpectrumSignalParameters > params) override
 Notify the SpectrumPhy instance of an incoming signal.
 
void StartRxData (Ptr< LteSpectrumSignalParametersDataFrame > params)
 Start receive data function.
 
void StartRxDlCtrl (Ptr< LteSpectrumSignalParametersDlCtrlFrame > lteDlCtrlRxParams)
 Start receive DL control function.
 
void StartRxUlSrs (Ptr< LteSpectrumSignalParametersUlSrsFrame > lteUlSrsRxParams)
 Start receive UL SRS function.
 
bool StartTxDataFrame (Ptr< PacketBurst > pb, std::list< Ptr< LteControlMessage > > ctrlMsgList, Time duration)
 Start a transmission of data frame in DL and UL.
 
bool StartTxDlCtrlFrame (std::list< Ptr< LteControlMessage > > ctrlMsgList, bool pss)
 Start a transmission of control frame in DL.
 
bool StartTxUlSrsFrame ()
 Start a transmission of control frame in UL.
 
void UpdateSinrPerceived (const SpectrumValue &sinr)
 
- Public Member Functions inherited from ns3::SpectrumPhy
 SpectrumPhy ()
 
 SpectrumPhy (const SpectrumPhy &)=delete
 
 ~SpectrumPhy () override
 
SpectrumPhyoperator= (const SpectrumPhy &)=delete
 
- Public Member Functions inherited from ns3::Object
 Object ()
 Constructor.
 
 ~Object () override
 Destructor.
 
void AggregateObject (Ptr< Object > other)
 Aggregate two Objects together.
 
void Dispose ()
 Dispose of this Object.
 
AggregateIterator GetAggregateIterator () const
 Get an iterator to the Objects aggregated to this one.
 
TypeId GetInstanceTypeId () const override
 Get the most derived TypeId for this Object.
 
template<typename T >
Ptr< T > GetObject () const
 Get a pointer to the requested aggregated Object.
 
template<>
Ptr< ObjectGetObject () const
 Specialization of () for objects of type ns3::Object.
 
template<typename T >
Ptr< T > GetObject (TypeId tid) const
 Get a pointer to the requested aggregated Object by TypeId.
 
template<>
Ptr< ObjectGetObject (TypeId tid) const
 Specialization of (TypeId tid) for objects of type ns3::Object.
 
void Initialize ()
 Invoke DoInitialize on all Objects aggregated to this one.
 
bool IsInitialized () const
 Check if the object has been initialized.
 
void UnidirectionalAggregateObject (Ptr< Object > other)
 Aggregate an Object to another Object.
 
- Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
 SimpleRefCount ()
 Default constructor.
 
 SimpleRefCount (const SimpleRefCount &o)
 Copy constructor.
 
uint32_t GetReferenceCount () const
 Get the reference count of the object.
 
SimpleRefCountoperator= (const SimpleRefCount &o)
 Assignment operator.
 
void Ref () const
 Increment the reference count.
 
void Unref () const
 Decrement the reference count.
 
- Public Member Functions inherited from ns3::ObjectBase
virtual ~ObjectBase ()
 Virtual destructor.
 
void GetAttribute (std::string name, AttributeValue &value, bool permissive=false) const
 Get the value of an attribute, raising fatal errors if unsuccessful.
 
bool GetAttributeFailSafe (std::string name, AttributeValue &value) const
 Get the value of an attribute without raising errors.
 
void SetAttribute (std::string name, const AttributeValue &value)
 Set a single attribute, raising fatal errors if unsuccessful.
 
bool SetAttributeFailSafe (std::string name, const AttributeValue &value)
 Set a single attribute without raising errors.
 
bool TraceConnect (std::string name, std::string context, const CallbackBase &cb)
 Connect a TraceSource to a Callback with a context.
 
bool TraceConnectWithoutContext (std::string name, const CallbackBase &cb)
 Connect a TraceSource to a Callback without a context.
 
bool TraceDisconnect (std::string name, std::string context, const CallbackBase &cb)
 Disconnect from a TraceSource a Callback previously connected with a context.
 
bool TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb)
 Disconnect from a TraceSource a Callback previously connected without a context.
 

Static Public Member Functions

static TypeId GetTypeId ()
 Get the type ID.
 
- Static Public Member Functions inherited from ns3::SpectrumPhy
static TypeId GetTypeId ()
 Get the type ID.
 
- Static Public Member Functions inherited from ns3::Object
static TypeId GetTypeId ()
 Register this type.
 
- Static Public Member Functions inherited from ns3::ObjectBase
static TypeId GetTypeId ()
 Get the type ID.
 

Private Member Functions

void ChangeState (State newState)
 Change state function.
 
void EndRxData ()
 End receive data function.
 
void EndRxDlCtrl ()
 End receive DL control function.
 
void EndRxUlSrs ()
 End receive UL SRS function.
 
void EndTxData ()
 End transmit data function.
 
void EndTxDlCtrl ()
 End transmit DL control function.
 
void EndTxUlSrs ()
 End transmit UL SRS function.
 
void SetTxModeGain (uint8_t txMode, double gain)
 Set transmit mode gain function.
 

Private Attributes

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

Friends

class LteUePhy
 allow LteUePhy class friend access
 

Additional Inherited Members

- Protected Member Functions inherited from ns3::Object
 Object (const Object &o)
 Copy an Object.
 
virtual void DoInitialize ()
 Initialize() implementation.
 
virtual void NotifyNewAggregate ()
 Notify all Objects aggregated to this one of a new Object being aggregated.
 
- Protected Member Functions inherited from ns3::ObjectBase
void ConstructSelf (const AttributeConstructionList &attributes)
 Complete construction of ObjectBase; invoked by derived classes.
 
virtual void NotifyConstructionCompleted ()
 Notifier called once the ObjectBase is fully constructed.
 

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/ComponentCarrierMap/[i]/LteEnbPhy/DlSpectrumPhy"
  • "/NodeList/[i]/DeviceList/[i]/$ns3::LteEnbNetDevice/ComponentCarrierMap/[i]/LteEnbPhy/UlSpectrumPhy"
  • "/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::LteUeNetDevice/ComponentCarrierMapUe/[i]/LteUePhy/DlSpectrumPhy"
  • "/NodeList/[i]/DeviceList/[i]/$ns3::LteUeNetDevice/ComponentCarrierMapUe/[i]/LteUePhy/UlSpectrumPhy"

Attributes

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

TraceSources

Group: Lte

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

Definition at line 138 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 147 of file lte-spectrum-phy.h.

Constructor & Destructor Documentation

◆ LteSpectrumPhy()

ns3::LteSpectrumPhy::LteSpectrumPhy ( )

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

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

+ Here is the call graph for this function:

◆ ~LteSpectrumPhy()

ns3::LteSpectrumPhy::~LteSpectrumPhy ( )
override

Definition at line 107 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 1278 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 1254 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 1260 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 887 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 1266 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 1272 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 1248 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 1310 of file lte-spectrum-phy.cc.

References m_random, and NS_LOG_FUNCTION.

◆ ChangeState()

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

Change state function.

Parameters
newStatethe new state to set

Definition at line 383 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 ( )
overridevirtual

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 115 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, ns3::MakeNullCallback(), 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 933 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(), IDLE, ns3::Callback< R, UArgs >::IsNull(), m_cellId, m_componentCarrierId, m_dataErrorModelEnabled, m_dlPhyReception, m_expectedTbs, m_harqPhyModule, ns3::DlInfoListElement_s::m_harqProcessId, ns3::DlInfoListElement_s::m_harqStatus, m_interferenceData, ns3::TbId_t::m_layer, m_layersNum, m_ltePhyDlHarqFeedbackCallback, m_ltePhyRxCtrlEndOkCallback, m_ltePhyRxDataEndOkCallback, m_ltePhyUlHarqFeedbackCallback, m_phyRxEndErrorTrace, m_phyRxEndOkTrace, m_random, ns3::DlInfoListElement_s::m_rnti, ns3::TbId_t::m_rnti, ns3::UlInfoListElement_s::m_rnti, m_rxControlMessageList, m_rxPacketBurstList, m_sinrPerceived, m_state, ns3::UlInfoListElement_s::m_tpc, m_transmissionMode, 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()

void ns3::LteSpectrumPhy::EndRxDlCtrl ( )
private

End receive DL control function.

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

References ChangeState(), ns3::LteMiErrorModel::GetPcfichPdcchError(), IDLE, ns3::Callback< R, UArgs >::IsNull(), m_ctrlErrorModelEnabled, m_interferenceCtrl, m_ltePhyRxCtrlEndErrorCallback, m_ltePhyRxCtrlEndOkCallback, m_random, m_rxControlMessageList, m_sinrPerceived, m_state, m_transmissionMode, m_txModeGain, NS_ASSERT, NS_LOG_DEBUG, NS_LOG_FUNCTION, NS_LOG_LOGIC, and RX_DL_CTRL.

Referenced by StartRxDlCtrl().

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

◆ EndRxUlSrs()

void ns3::LteSpectrumPhy::EndRxUlSrs ( )
private

End receive UL SRS function.

Definition at line 1227 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 566 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 578 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 589 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:

◆ GetAntenna()

Ptr< Object > ns3::LteSpectrumPhy::GetAntenna ( ) const
overridevirtual

Get the AntennaModel used by this SpectrumPhy instance for transmission and/or reception.

Note that in general and depending on each module design, there can be multiple SpectrumPhy instances per NetDevice.

Returns
a Ptr to the AntennaModel used by this SpectrumPhy instance for transmission and/or reception

Implements ns3::SpectrumPhy.

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

References m_antenna.

◆ GetChannel()

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

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

References m_channel.

◆ GetDevice()

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

Get the associated NetDevice instance.

Returns
a Ptr to the associated NetDevice instance

Implements ns3::SpectrumPhy.

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

References m_device, and NS_LOG_FUNCTION.

◆ GetMobility()

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

Get the associated MobilityModel instance.

Returns
a Ptr to the associated MobilityModel instance

Implements ns3::SpectrumPhy.

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

References m_mobility, and NS_LOG_FUNCTION.

◆ GetRxSpectrumModel()

Ptr< const SpectrumModel > ns3::LteSpectrumPhy::GetRxSpectrumModel ( ) const
overridevirtual
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 264 of file lte-spectrum-phy.cc.

References m_rxSpectrumModel.

◆ GetTypeId()

TypeId ns3::LteSpectrumPhy::GetTypeId ( )
static

Get the type ID.

Returns
the object TypeId

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

References m_ctrlErrorModelEnabled, m_dataErrorModelEnabled, m_dlPhyReception, m_phyRxEndErrorTrace, m_phyRxEndOkTrace, m_phyRxStartTrace, m_phyTxEndTrace, m_phyTxStartTrace, m_ulPhyReception, ns3::MakeBooleanAccessor(), ns3::MakeBooleanChecker(), ns3::MakeTraceSourceAccessor(), and ns3::TypeId::SetParent().

+ Here is the call graph for this function:

◆ 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 915 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 ( )

reset the internal state

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

References ns3::EventId::Cancel(), IDLE, m_cellId, m_channel, m_endRxDataEvent, m_endRxDlCtrlEvent, m_endRxUlSrsEvent, m_endTxEvent, m_expectedTbs, m_layersNum, m_rxControlMessageList, m_rxPacketBurstList, m_rxSpectrumModel, m_state, m_transmissionMode, m_txControlMessageList, m_txPacketBurst, and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

◆ SetAntenna()

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

set the AntennaModel to be used

Parameters
athe Antenna Model

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

References m_cellId.

◆ SetChannel()

void ns3::LteSpectrumPhy::SetChannel ( Ptr< SpectrumChannel > c)
overridevirtual

Set the channel attached to this device.

Parameters
cthe channel

Implements ns3::SpectrumPhy.

Definition at line 251 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 1242 of file lte-spectrum-phy.cc.

References m_componentCarrierId.

◆ SetDevice()

void ns3::LteSpectrumPhy::SetDevice ( Ptr< NetDevice > d)
overridevirtual

Set the associated NetDevice instance.

Parameters
dthe NetDevice instance

Implements ns3::SpectrumPhy.

Definition at line 237 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 390 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 350 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 336 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 329 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 315 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 322 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 343 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 357 of file lte-spectrum-phy.cc.

References m_ltePhyUlHarqFeedbackCallback, and NS_LOG_FUNCTION.

◆ SetMobility()

void ns3::LteSpectrumPhy::SetMobility ( Ptr< MobilityModel > m)
overridevirtual

Set the mobility model associated with this device.

Parameters
mthe mobility model

Implements ns3::SpectrumPhy.

Definition at line 244 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 278 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 377 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 1284 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 1294 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 270 of file lte-spectrum-phy.cc.

References m_txPsd, NS_ASSERT, and NS_LOG_FUNCTION.

◆ StartRx()

void ns3::LteSpectrumPhy::StartRx ( Ptr< SpectrumSignalParameters > params)
overridevirtual

Notify the SpectrumPhy instance of an incoming signal.

Parameters
paramsthe parameters of the signals being received

Implements ns3::SpectrumPhy.

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

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

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

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

◆ StartRxData()

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

Start receive data function.

Parameters
paramsPtr<LteSpectrumSignalParametersDataFrame>

Definition at line 640 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 722 of file lte-spectrum-phy.cc.

References ChangeState(), EndRxDlCtrl(), IDLE, ns3::Callback< R, UArgs >::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 806 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 396 of file lte-spectrum-phy.cc.

References ChangeState(), ns3::Create(), EndTxData(), ns3::Object::GetObject(), 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 456 of file lte-spectrum-phy.cc.

References ChangeState(), ns3::Create(), ns3::DL_CTRL_DURATION, EndTxDlCtrl(), ns3::Object::GetObject(), 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 512 of file lte-spectrum-phy.cc.

References ChangeState(), ns3::Create(), EndTxUlSrs(), ns3::Object::GetObject(), 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 880 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 Symbol Documentation

◆ LteUePhy

friend class LteUePhy
friend

allow LteUePhy class friend access

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

Member Data Documentation

◆ m_antenna

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

the antenna model

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

Referenced by GetAntenna(), 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 518 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 525 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 524 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 477 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 542 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 551 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 552 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 553 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 550 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 519 of file lte-spectrum-phy.h.

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

◆ m_firstRxDuration

Time ns3::LteSpectrumPhy::m_firstRxDuration
private

the first receive duration

Definition at line 491 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 490 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 532 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 529 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 534 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 510 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 508 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 503 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 511 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 536 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 475 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 500 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 498 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 497 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 495 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 494 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 523 of file lte-spectrum-phy.h.

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

◆ m_rxControlMessageList

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

the receive control message list

Definition at line 487 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 484 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 481 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 520 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 528 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 486 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 483 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 482 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 548 of file lte-spectrum-phy.h.

Referenced by EndRxData(), and GetTypeId().


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