A Discrete-Event Network Simulator
API
Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
ns3::LteEnbPhy Class Reference

LteEnbPhy models the physical layer for the eNodeB. More...

#include "lte-enb-phy.h"

+ Inheritance diagram for ns3::LteEnbPhy:

Public Types

typedef void(* ReportInterferenceTracedCallback) (uint16_t cellId, Ptr< SpectrumValue > spectrumValue)
 TracedCallback signature for the linear average of SRS SINRs. More...
 
typedef void(* ReportUeSinrTracedCallback) (uint16_t cellId, uint16_t rnti, double sinrLinear, uint8_t componentCarrierId)
 TracedCallback signature for the linear average of SRS SINRs. More...
 

Public Member Functions

 LteEnbPhy ()
 
 LteEnbPhy (Ptr< LteSpectrumPhy > dlPhy, Ptr< LteSpectrumPhy > ulPhy)
 
virtual ~LteEnbPhy ()
 
void CalcChannelQualityForUe (std::vector< double > sinr, Ptr< LteSpectrumPhy > ue)
 Calculate the channel quality for a given UE. More...
 
FfMacSchedSapProvider::SchedUlCqiInfoReqParameters CreatePuschCqiReport (const SpectrumValue &sinr)
 Create the UL CQI feedback from SINR values perceived at the physical layer with the PUSCH signal received from eNB. More...
 
FfMacSchedSapProvider::SchedUlCqiInfoReqParameters CreateSrsCqiReport (const SpectrumValue &sinr)
 Create the UL CQI feedback from SINR values perceived at the physical layer with the SRS signal received from eNB. More...
 
virtual Ptr< SpectrumValueCreateTxPowerSpectralDensity ()
 Create the PSD for TX. More...
 
virtual Ptr< SpectrumValueCreateTxPowerSpectralDensityWithPowerAllocation ()
 Create the PSD for TX with power allocation for each RB. More...
 
std::list< UlDciLteControlMessageDequeueUlDci (void)
 
virtual void DoDispose (void)
 Destructor implementation. More...
 
int8_t DoGetReferenceSignalPower () const
 
virtual void DoInitialize (void)
 Initialize() implementation. More...
 
void EndFrame (void)
 End a LTE frame. More...
 
void EndSubFrame (void)
 End a LTE sub frame. More...
 
virtual void GenerateCtrlCqiReport (const SpectrumValue &sinr)
 generate a CQI report based on the given SINR of Ctrl frame More...
 
virtual void GenerateDataCqiReport (const SpectrumValue &sinr)
 
generate a CQI report based on the given SINR of Data frame (used for PUSCH CQIs) More...
 
void GeneratePowerAllocationMap (uint16_t rnti, int rbId)
 Generate power allocation map (i.e. More...
 
Ptr< LteSpectrumPhyGetDlSpectrumPhy () const
 
std::vector< int > GetDownlinkSubChannels (void)
 
LteEnbCphySapProviderGetLteEnbCphySapProvider ()
 Get the CPHY SAP provider. More...
 
LteEnbPhySapProviderGetLteEnbPhySapProvider ()
 Get the PHY SAP provider. More...
 
uint8_t GetMacChDelay (void) const
 
double GetNoiseFigure () const
 
double GetTxPower () const
 
Ptr< LteSpectrumPhyGetUlSpectrumPhy () const
 
void PhyPduReceived (Ptr< Packet > p)
 PhySpectrum received a new PHY-PDU. More...
 
void QueueUlDci (UlDciLteControlMessage m)
 
virtual void ReceiveLteControlMessage (Ptr< LteControlMessage > msg)
 Receive the control message. More...
 
virtual void ReceiveLteControlMessageList (std::list< Ptr< LteControlMessage > >)
 PhySpectrum received a new list of LteControlMessage. More...
 
virtual void ReceiveLteUlHarqFeedback (UlInfoListElement_s mes)
 PhySpectrum generated a new UL HARQ feedback. More...
 
virtual void ReportInterference (const SpectrumValue &interf)
 generate a report based on the linear interference and noise power perceived during DATA frame NOTE: used only by eNB More...
 
virtual void ReportRsReceivedPower (const SpectrumValue &power)
 generate a report based on the linear RS power perceived during CTRL frame NOTE: used only by UE for evaluating RSRP More...
 
void SendControlChannels (std::list< Ptr< LteControlMessage > > ctrlMsgList)
 Send the PDCCH and PCFICH in the first 3 symbols. More...
 
void SendDataChannels (Ptr< PacketBurst > pb)
 Send the PDSCH. More...
 
void SetDownlinkSubChannels (std::vector< int > mask)
 set the resource blocks (a.k.a. More...
 
void SetDownlinkSubChannelsWithPowerAllocation (std::vector< int > mask)
 set the resource blocks (a.k.a. More...
 
void SetHarqPhyModule (Ptr< LteHarqPhy > harq)
 PhySpectrum generated a new UL HARQ feedback. More...
 
void SetLteEnbCphySapUser (LteEnbCphySapUser *s)
 Set the CPHY SAP User. More...
 
void SetLteEnbPhySapUser (LteEnbPhySapUser *s)
 Set the PHY SAP User. More...
 
void SetMacChDelay (uint8_t delay)
 
void SetNoiseFigure (double pow)
 
void SetTxPower (double pow)
 
void StartFrame (void)
 Start a LTE frame. More...
 
void StartSubFrame (void)
 Start a LTE sub frame. More...
 
- Public Member Functions inherited from ns3::LtePhy
 LtePhy ()
 
 LtePhy (Ptr< LteSpectrumPhy > dlPhy, Ptr< LteSpectrumPhy > ulPhy)
 
virtual ~LtePhy ()
 
void DoDispose ()
 Destructor implementation. More...
 
void DoSetCellId (uint16_t cellId)
 
uint8_t GetComponentCarrierId ()
 Get the component carrier ID. More...
 
std::list< Ptr< LteControlMessage > > GetControlMessages (void)
 
Ptr< LteNetDeviceGetDevice () const
 Get the device where the phy layer is attached. More...
 
Ptr< LteSpectrumPhyGetDownlinkSpectrumPhy ()
 
Ptr< PacketBurstGetPacketBurst (void)
 
uint8_t GetRbgSize (void) const
 
uint16_t GetSrsPeriodicity (uint16_t srcCi) const
 
uint16_t GetSrsSubframeOffset (uint16_t srcCi) const
 
double GetTti (void) const
 
Ptr< LteSpectrumPhyGetUplinkSpectrumPhy ()
 
void SetComponentCarrierId (uint8_t index)
 Set the component carrier ID. More...
 
void SetControlMessages (Ptr< LteControlMessage > m)
 
void SetDevice (Ptr< LteNetDevice > d)
 Set the device where the phy layer is attached. More...
 
void SetDownlinkChannel (Ptr< SpectrumChannel > c)
 Set the downlink channel. More...
 
void SetMacPdu (Ptr< Packet > p)
 
void SetTti (double tti)
 
void SetUplinkChannel (Ptr< SpectrumChannel > c)
 Set the uplink channel. More...
 
- 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...
 
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::LtePhy
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

bool AddUePhy (uint16_t rnti)
 Add the given RNTI to the list of attached UE m_ueAttached. More...
 
void CreateSrsReport (uint16_t rnti, double srs)
 Create SRS report function. More...
 
bool DeleteUePhy (uint16_t rnti)
 Remove the given RNTI from the list of attached UE m_ueAttached. More...
 
void DoAddUe (uint16_t rnti)
 Add UE. More...
 
uint8_t DoGetMacChTtiDelay ()
 Get MAC ch TTI delay function. More...
 
void DoRemoveUe (uint16_t rnti)
 Remove UE. More...
 
void DoSendLteControlMessage (Ptr< LteControlMessage > msg)
 Send LTE Control Message function. More...
 
void DoSendMacPdu (Ptr< Packet > p)
 Queue the MAC PDU to be sent (according to m_macChTtiDelay) More...
 
void DoSetBandwidth (uint8_t ulBandwidth, uint8_t dlBandwidth)
 Set bandwidth function. More...
 
void DoSetEarfcn (uint32_t dlEarfcn, uint32_t ulEarfcn)
 Set EARFCN. More...
 
void DoSetMasterInformationBlock (LteRrcSap::MasterInformationBlock mib)
 Set master information block. More...
 
void DoSetPa (uint16_t rnti, double pa)
 Set PA. More...
 
void DoSetSrsConfigurationIndex (uint16_t rnti, uint16_t srcCi)
 Set source configuration index. More...
 
void DoSetSystemInformationBlockType1 (LteRrcSap::SystemInformationBlockType1 sib1)
 Set system information block. More...
 
void DoSetTransmissionMode (uint16_t rnti, uint8_t txMode)
 Set transmission mode. More...
 

Private Attributes

uint16_t m_currentSrsOffset
 current SRS offset More...
 
std::vector< int > m_dlDataRbMap
 DL data RB map. More...
 
TracedCallback< PhyTransmissionStatParametersm_dlPhyTransmission
 The DlPhyTransmission trace source. More...
 
std::map< int, double > m_dlPowerAllocationMap
 DL power allocation map. More...
 
LteEnbCphySapProviderm_enbCphySapProvider
 ENB CPhy SAP provider. More...
 
LteEnbCphySapUserm_enbCphySapUser
 ENB CPhy SAP user. More...
 
LteEnbPhySapProviderm_enbPhySapProvider
 ENB Phy SAP provider. More...
 
LteEnbPhySapUserm_enbPhySapUser
 ENB Phy SAP user. More...
 
Ptr< LteHarqPhym_harqPhyModule
 HARQ Phy module. More...
 
uint16_t m_interferenceSampleCounter
 interference sample counter More...
 
uint16_t m_interferenceSamplePeriod
 The InterferenceSamplePeriod attribute. More...
 
std::vector< int > m_listOfDownlinkSubchannel
 A vector of integers, if the i-th value is j it means that the j-th resource block is used for transmission in the downlink. More...
 
LteRrcSap::MasterInformationBlock m_mib
 The Master Information Block message to be broadcasted every frame. More...
 
uint32_t m_nrFrames
 The frame number currently served. More...
 
uint32_t m_nrSubFrames
 The subframe number currently served. More...
 
std::map< uint16_t, double > m_paMap
 P_A per UE RNTI. More...
 
TracedCallback< uint16_t, Ptr< SpectrumValue > > m_reportInterferenceTrace
 The ReportInterference trace source. More...
 
TracedCallback< uint16_t, uint16_t, double, uint8_t > m_reportUeSinr
 The ReportUeSinr trace source. More...
 
LteRrcSap::SystemInformationBlockType1 m_sib1
 The System Information Block Type 1 message to be broadcasted. More...
 
std::map< uint16_t, uint16_t > m_srsCounter
 SRS counter. More...
 
uint16_t m_srsPeriodicity
 SRS periodicity. More...
 
std::map< uint16_t, uint16_t > m_srsSampleCounterMap
 SRS sample counter map. More...
 
uint16_t m_srsSamplePeriod
 The UeSinrSamplePeriod trace source. More...
 
Time m_srsStartTime
 SRS start time. More...
 
std::vector< uint16_t > m_srsUeOffset
 SRS UE offset. More...
 
std::set< uint16_t > m_ueAttached
 List of RNTI of attached UEs. More...
 
std::vector< std::list< UlDciLteControlMessage > > m_ulDciQueue
 For storing info on future receptions. More...
 

Friends

class EnbMemberLteEnbPhySapProvider
 allow EnbMemberLteEnbPhySapProvider class friend access More...
 
class MemberLteEnbCphySapProvider< LteEnbPhy >
 allow MemberLteEnbCphySapProvider<LteEnbPhy> class friend access More...
 

Additional Inherited Members

- Protected Member Functions inherited from ns3::Object
 Object (const Object &o)
 Copy an Object. 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...
 
- Protected Attributes inherited from ns3::LtePhy
uint16_t m_cellId
 Cell identifier. More...
 
uint8_t m_componentCarrierId
 component carrier Id used to address sap More...
 
std::vector< std::list< Ptr< LteControlMessage > > > m_controlMessagesQueue
 A queue of control messages to be sent. More...
 
uint8_t m_dlBandwidth
 The DL bandwidth in number of PRBs. More...
 
uint32_t m_dlEarfcn
 The downlink carrier frequency. More...
 
Ptr< LteSpectrumPhym_downlinkSpectrumPhy
 The downlink LteSpectrumPhy associated to this LtePhy. More...
 
uint8_t m_macChTtiDelay
 Delay between MAC and channel layer in terms of TTIs. More...
 
Ptr< LteNetDevicem_netDevice
 Pointer to the NetDevice where this PHY layer is attached. More...
 
double m_noiseFigure
 Loss (dB) in the Signal-to-Noise-Ratio due to non-idealities in the receiver. More...
 
std::vector< Ptr< PacketBurst > > m_packetBurstQueue
 A queue of packet bursts to be sent. More...
 
uint8_t m_rbgSize
 The RB group size according to the bandwidth. More...
 
double m_tti
 Transmission time interval. More...
 
double m_txPower
 Transmission power in dBm. More...
 
uint8_t m_ulBandwidth
 The UL bandwidth in number of PRBs. More...
 
uint32_t m_ulEarfcn
 The uplink carrier frequency. More...
 
Ptr< LteSpectrumPhym_uplinkSpectrumPhy
 The uplink LteSpectrumPhy associated to this LtePhy. More...
 

Detailed Description

LteEnbPhy models the physical layer for the eNodeB.


Config Paths

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

Attributes

TraceSources

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

Definition at line 47 of file lte-enb-phy.h.

Member Typedef Documentation

◆ ReportInterferenceTracedCallback

typedef void(* ns3::LteEnbPhy::ReportInterferenceTracedCallback) (uint16_t cellId, Ptr< SpectrumValue > spectrumValue)

TracedCallback signature for the linear average of SRS SINRs.

Parameters
[in]cellId
[in]spectrumValue
Deprecated:
The non-const Ptr<SpectrumValue> argument is deprecated and will be changed to Ptr<const SpectrumValue> in a future release.

Definition at line 320 of file lte-enb-phy.h.

◆ ReportUeSinrTracedCallback

typedef void(* ns3::LteEnbPhy::ReportUeSinrTracedCallback) (uint16_t cellId, uint16_t rnti, double sinrLinear, uint8_t componentCarrierId)

TracedCallback signature for the linear average of SRS SINRs.

Parameters
[in]cellId
[in]rnti
[in]sinrLinear

Definition at line 309 of file lte-enb-phy.h.

Constructor & Destructor Documentation

◆ LteEnbPhy() [1/2]

ns3::LteEnbPhy::LteEnbPhy ( )
Warning
the default constructor should not be used

Definition at line 149 of file lte-enb-phy.cc.

References NS_FATAL_ERROR, and NS_LOG_FUNCTION.

◆ LteEnbPhy() [2/2]

ns3::LteEnbPhy::LteEnbPhy ( Ptr< LteSpectrumPhy dlPhy,
Ptr< LteSpectrumPhy ulPhy 
)

◆ ~LteEnbPhy()

ns3::LteEnbPhy::~LteEnbPhy ( )
virtual

Definition at line 249 of file lte-enb-phy.cc.

Member Function Documentation

◆ AddUePhy()

bool ns3::LteEnbPhy::AddUePhy ( uint16_t  rnti)
private

Add the given RNTI to the list of attached UE m_ueAttached.

Parameters
rntiRNTI of a UE
Returns
true if the RNTI has not existed before, or false otherwise.

Definition at line 394 of file lte-enb-phy.cc.

References m_ueAttached, NS_LOG_ERROR, and NS_LOG_FUNCTION.

Referenced by DoAddUe().

◆ CalcChannelQualityForUe()

void ns3::LteEnbPhy::CalcChannelQualityForUe ( std::vector< double >  sinr,
Ptr< LteSpectrumPhy ue 
)

Calculate the channel quality for a given UE.

Parameters
sinra list of computed SINR
uethe UE

Definition at line 514 of file lte-enb-phy.cc.

References NS_LOG_FUNCTION.

◆ CreatePuschCqiReport()

FfMacSchedSapProvider::SchedUlCqiInfoReqParameters ns3::LteEnbPhy::CreatePuschCqiReport ( const SpectrumValue sinr)

Create the UL CQI feedback from SINR values perceived at the physical layer with the PUSCH signal received from eNB.

Parameters
sinrSINR values vector
Returns
UL CQI feedback in the format usable by an FF MAC scheduler

Definition at line 883 of file lte-enb-phy.cc.

References ns3::SpectrumValue::ConstValuesBegin(), ns3::SpectrumValue::ConstValuesEnd(), ns3::LteFfConverter::double2fpS11dot3(), ns3::UlCqi_s::m_sinr, ns3::UlCqi_s::m_type, ns3::FfMacSchedSapProvider::SchedUlCqiInfoReqParameters::m_ulCqi, NS_LOG_FUNCTION, and ns3::UlCqi_s::PUSCH.

Referenced by GenerateDataCqiReport().

◆ CreateSrsCqiReport()

FfMacSchedSapProvider::SchedUlCqiInfoReqParameters ns3::LteEnbPhy::CreateSrsCqiReport ( const SpectrumValue sinr)

◆ CreateSrsReport()

void ns3::LteEnbPhy::CreateSrsReport ( uint16_t  rnti,
double  srs 
)
private

Create SRS report function.

Parameters
rntithe RNTI
srsthe SRS

Definition at line 1019 of file lte-enb-phy.cc.

References ns3::LtePhy::m_cellId, ns3::LtePhy::m_componentCarrierId, m_reportUeSinr, m_srsSampleCounterMap, m_srsSamplePeriod, and NS_LOG_FUNCTION.

Referenced by CreateSrsCqiReport().

◆ CreateTxPowerSpectralDensity()

Ptr< SpectrumValue > ns3::LteEnbPhy::CreateTxPowerSpectralDensity ( )
virtual

◆ CreateTxPowerSpectralDensityWithPowerAllocation()

Ptr< SpectrumValue > ns3::LteEnbPhy::CreateTxPowerSpectralDensityWithPowerAllocation ( )
virtual

◆ DeleteUePhy()

bool ns3::LteEnbPhy::DeleteUePhy ( uint16_t  rnti)
private

Remove the given RNTI from the list of attached UE m_ueAttached.

Parameters
rntiRNTI of a UE
Returns
true if the RNTI has existed before, or false otherwise.

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

References m_ueAttached, NS_LOG_ERROR, and NS_LOG_FUNCTION.

Referenced by DoRemoveUe().

◆ DequeueUlDci()

std::list< UlDciLteControlMessage > ns3::LteEnbPhy::DequeueUlDci ( void  )
Returns
the list of UL-CQI to be processed

Definition at line 1052 of file lte-enb-phy.cc.

References m_ulDciQueue, and NS_LOG_FUNCTION.

Referenced by StartSubFrame().

◆ DoAddUe()

void ns3::LteEnbPhy::DoAddUe ( uint16_t  rnti)
private

Add UE.

Parameters
rntiRNTI

Definition at line 937 of file lte-enb-phy.cc.

References AddUePhy(), DoSetPa(), NS_ASSERT_MSG(), and NS_LOG_FUNCTION.

◆ DoDispose()

void ns3::LteEnbPhy::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 254 of file lte-enb-phy.cc.

References ns3::LtePhy::DoDispose(), m_enbCphySapProvider, m_enbPhySapProvider, m_srsUeOffset, m_ueAttached, and NS_LOG_FUNCTION.

◆ DoGetMacChTtiDelay()

uint8_t ns3::LteEnbPhy::DoGetMacChTtiDelay ( )
private

Get MAC ch TTI delay function.

Returns
delay value

Definition at line 439 of file lte-enb-phy.cc.

References ns3::LtePhy::m_macChTtiDelay.

Referenced by ns3::EnbMemberLteEnbPhySapProvider::GetMacChTtiDelay().

◆ DoGetReferenceSignalPower()

int8_t ns3::LteEnbPhy::DoGetReferenceSignalPower ( ) const
Returns
the transmission power in dBm

Definition at line 334 of file lte-enb-phy.cc.

References ns3::LtePhy::m_txPower, and NS_LOG_FUNCTION.

◆ DoInitialize()

void ns3::LteEnbPhy::DoInitialize ( void  )
virtual

Initialize() implementation.

This method is called only once by Initialize(). If the user calls Initialize() multiple times, DoInitialize() is called only the first time.

Subclasses are expected to override this method and chain up to their parent's implementation once they are done. It is safe to call GetObject() and AggregateObject() from within this method.

Reimplemented from ns3::Object.

Definition at line 265 of file lte-enb-phy.cc.

References ns3::LteSpectrumValueHelper::CreateNoisePowerSpectralDensity(), ns3::Object::DoInitialize(), ns3::Node::GetId(), ns3::LtePhy::m_netDevice, ns3::LtePhy::m_noiseFigure, ns3::LtePhy::m_ulBandwidth, ns3::LtePhy::m_ulEarfcn, ns3::LtePhy::m_uplinkSpectrumPhy, NS_LOG_FUNCTION, ns3::Simulator::ScheduleNow(), ns3::Simulator::ScheduleWithContext(), ns3::Seconds(), and StartFrame().

◆ DoRemoveUe()

void ns3::LteEnbPhy::DoRemoveUe ( uint16_t  rnti)
private

Remove UE.

Parameters
rntiRNTI

Definition at line 949 of file lte-enb-phy.cc.

References DeleteUePhy(), m_paMap, NS_ASSERT_MSG(), and NS_LOG_FUNCTION.

◆ DoSendLteControlMessage()

void ns3::LteEnbPhy::DoSendLteControlMessage ( Ptr< LteControlMessage msg)
private

Send LTE Control Message function.

Parameters
msgLTE control message

Definition at line 521 of file lte-enb-phy.cc.

References NS_LOG_FUNCTION, and ns3::LtePhy::SetControlMessages().

Referenced by ns3::EnbMemberLteEnbPhySapProvider::SendLteControlMessage().

◆ DoSendMacPdu()

void ns3::LteEnbPhy::DoSendMacPdu ( Ptr< Packet p)
privatevirtual

Queue the MAC PDU to be sent (according to m_macChTtiDelay)

Parameters
pthe MAC PDU to sent

Implements ns3::LtePhy.

Definition at line 432 of file lte-enb-phy.cc.

References NS_LOG_FUNCTION, and ns3::LtePhy::SetMacPdu().

Referenced by ns3::EnbMemberLteEnbPhySapProvider::SendMacPdu().

◆ DoSetBandwidth()

void ns3::LteEnbPhy::DoSetBandwidth ( uint8_t  ulBandwidth,
uint8_t  dlBandwidth 
)
private

Set bandwidth function.

Parameters
ulBandwidthUL bandwidth
dlBandwidthDL bandwidth

Definition at line 905 of file lte-enb-phy.cc.

References ns3::LtePhy::m_dlBandwidth, ns3::LtePhy::m_rbgSize, ns3::LtePhy::m_ulBandwidth, NS_LOG_FUNCTION, and ns3::Type0AllocationRbg.

Referenced by ns3::EnbMemberLteEnbPhySapProvider::SetBandwidth().

◆ DoSetEarfcn()

void ns3::LteEnbPhy::DoSetEarfcn ( uint32_t  dlEarfcn,
uint32_t  ulEarfcn 
)
private

Set EARFCN.

Parameters
dlEarfcnDL EARFCN
ulEarfcnUL EARFCN

Definition at line 928 of file lte-enb-phy.cc.

References ns3::LtePhy::m_dlEarfcn, ns3::LtePhy::m_ulEarfcn, and NS_LOG_FUNCTION.

◆ DoSetMasterInformationBlock()

void ns3::LteEnbPhy::DoSetMasterInformationBlock ( LteRrcSap::MasterInformationBlock  mib)
private

Set master information block.

Parameters
mibLteRrcSap::MasterInformationBlock

Definition at line 1107 of file lte-enb-phy.cc.

References m_mib, and NS_LOG_FUNCTION.

◆ DoSetPa()

void ns3::LteEnbPhy::DoSetPa ( uint16_t  rnti,
double  pa 
)
private

Set PA.

Parameters
rntiRNTI
paPA

Definition at line 966 of file lte-enb-phy.cc.

References m_paMap, and NS_LOG_FUNCTION.

Referenced by DoAddUe().

◆ DoSetSrsConfigurationIndex()

void ns3::LteEnbPhy::DoSetSrsConfigurationIndex ( uint16_t  rnti,
uint16_t  srcCi 
)
private

◆ DoSetSystemInformationBlockType1()

void ns3::LteEnbPhy::DoSetSystemInformationBlockType1 ( LteRrcSap::SystemInformationBlockType1  sib1)
private

Set system information block.

Parameters
sib1LteRrcSap::SystemInformationBlockType1

Definition at line 1115 of file lte-enb-phy.cc.

References m_sib1, and NS_LOG_FUNCTION.

◆ DoSetTransmissionMode()

void ns3::LteEnbPhy::DoSetTransmissionMode ( uint16_t  rnti,
uint8_t  txMode 
)
private

Set transmission mode.

Parameters
rntiRNTI
txModetransmit mode

Definition at line 1038 of file lte-enb-phy.cc.

References NS_LOG_FUNCTION.

◆ EndFrame()

void ns3::LteEnbPhy::EndFrame ( void  )

End a LTE frame.

Definition at line 834 of file lte-enb-phy.cc.

References ns3::Simulator::Now(), NS_LOG_FUNCTION, ns3::Simulator::ScheduleNow(), and StartFrame().

Referenced by EndSubFrame().

◆ EndSubFrame()

void ns3::LteEnbPhy::EndSubFrame ( void  )

End a LTE sub frame.

Definition at line 819 of file lte-enb-phy.cc.

References EndFrame(), m_nrSubFrames, ns3::Simulator::Now(), NS_LOG_FUNCTION, ns3::Simulator::ScheduleNow(), and StartSubFrame().

Referenced by StartSubFrame().

◆ GenerateCtrlCqiReport()

void ns3::LteEnbPhy::GenerateCtrlCqiReport ( const SpectrumValue sinr)
virtual

generate a CQI report based on the given SINR of Ctrl frame

Parameters
sinrthe SINR vs frequency measured by the device

Implements ns3::LtePhy.

Definition at line 842 of file lte-enb-phy.cc.

References CreateSrsCqiReport(), m_enbPhySapUser, m_srsStartTime, ns3::Simulator::Now(), NS_LOG_FUNCTION, and ns3::LteEnbPhySapUser::UlCqiReport().

Referenced by ns3::LteHelper::InstallSingleEnbDevice().

◆ GenerateDataCqiReport()

void ns3::LteEnbPhy::GenerateDataCqiReport ( const SpectrumValue sinr)
virtual


generate a CQI report based on the given SINR of Data frame (used for PUSCH CQIs)

Parameters
sinrthe SINR vs frequency measured by the device

Implements ns3::LtePhy.

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

References CreatePuschCqiReport(), m_enbPhySapUser, NS_LOG_FUNCTION, and ns3::LteEnbPhySapUser::UlCqiReport().

Referenced by ns3::LteHelper::InstallSingleEnbDevice().

◆ GeneratePowerAllocationMap()

void ns3::LteEnbPhy::GeneratePowerAllocationMap ( uint16_t  rnti,
int  rbId 
)

Generate power allocation map (i.e.

tx power level for each RB)

Parameters
rntiindicates which UE will occupy this RB
rbIdindicates which RB UE is using, power level for this RB is power level of UE

Definition at line 478 of file lte-enb-phy.cc.

References m_dlPowerAllocationMap, m_paMap, ns3::LtePhy::m_txPower, and NS_LOG_FUNCTION.

Referenced by StartSubFrame().

◆ GetDlSpectrumPhy()

Ptr< LteSpectrumPhy > ns3::LteEnbPhy::GetDlSpectrumPhy ( ) const
Returns
a pointer to the LteSpectrumPhy instance relative to the downlink

Definition at line 382 of file lte-enb-phy.cc.

References ns3::LtePhy::m_downlinkSpectrumPhy.

Referenced by GetTypeId().

◆ GetDownlinkSubChannels()

std::vector< int > ns3::LteEnbPhy::GetDownlinkSubChannels ( void  )
Returns
a vector of integers, if the i-th value is j it means that the j-th resource block is used for transmission in the downlink. If there is no i such that the value of the i-th element is j, it means that RB j is not used.

Definition at line 471 of file lte-enb-phy.cc.

References m_listOfDownlinkSubchannel, and NS_LOG_FUNCTION.

Referenced by CreateTxPowerSpectralDensity(), and CreateTxPowerSpectralDensityWithPowerAllocation().

◆ GetLteEnbCphySapProvider()

LteEnbCphySapProvider * ns3::LteEnbPhy::GetLteEnbCphySapProvider ( )

Get the CPHY SAP provider.

Returns
a pointer to the SAP Provider

Definition at line 313 of file lte-enb-phy.cc.

References m_enbCphySapProvider, and NS_LOG_FUNCTION.

◆ GetLteEnbPhySapProvider()

LteEnbPhySapProvider * ns3::LteEnbPhy::GetLteEnbPhySapProvider ( )

Get the PHY SAP provider.

Returns
a pointer to the SAP Provider of the PHY

Definition at line 300 of file lte-enb-phy.cc.

References m_enbPhySapProvider.

◆ GetMacChDelay()

uint8_t ns3::LteEnbPhy::GetMacChDelay ( void  ) const
Returns
the TTI delay between MAC and channel

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

References ns3::LtePhy::m_macChTtiDelay.

Referenced by GetTypeId().

◆ GetNoiseFigure()

double ns3::LteEnbPhy::GetNoiseFigure ( ) const
Returns
the noise figure in dB

Definition at line 348 of file lte-enb-phy.cc.

References ns3::LtePhy::m_noiseFigure, and NS_LOG_FUNCTION.

Referenced by GetTypeId().

◆ GetTxPower()

double ns3::LteEnbPhy::GetTxPower ( ) const
Returns
the transmission power in dBm

Definition at line 327 of file lte-enb-phy.cc.

References ns3::LtePhy::m_txPower, and NS_LOG_FUNCTION.

Referenced by GetTypeId().

◆ GetTypeId()

TypeId ns3::LteEnbPhy::GetTypeId ( void  )
static

◆ GetUlSpectrumPhy()

Ptr< LteSpectrumPhy > ns3::LteEnbPhy::GetUlSpectrumPhy ( ) const
Returns
a pointer to the LteSpectrumPhy instance relative to the uplink

Definition at line 388 of file lte-enb-phy.cc.

References ns3::LtePhy::m_uplinkSpectrumPhy.

Referenced by GetTypeId().

◆ PhyPduReceived()

void ns3::LteEnbPhy::PhyPduReceived ( Ptr< Packet p)

PhySpectrum received a new PHY-PDU.

Parameters
pthe packet received

Definition at line 446 of file lte-enb-phy.cc.

References m_enbPhySapUser, NS_LOG_FUNCTION, and ns3::LteEnbPhySapUser::ReceivePhyPdu().

Referenced by ns3::LteHelper::InstallSingleEnbDevice().

◆ QueueUlDci()

void ns3::LteEnbPhy::QueueUlDci ( UlDciLteControlMessage  m)
Parameters
mthe UL-CQI to be queued

Definition at line 1045 of file lte-enb-phy.cc.

References m_ulDciQueue, NS_LOG_FUNCTION, and UL_PUSCH_TTIS_DELAY.

Referenced by StartSubFrame().

◆ ReceiveLteControlMessage()

void ns3::LteEnbPhy::ReceiveLteControlMessage ( Ptr< LteControlMessage msg)
virtual

Receive the control message.

Parameters
msgthe received message

Definition at line 531 of file lte-enb-phy.cc.

References m_enbPhySapUser, NS_FATAL_ERROR, NS_LOG_FUNCTION, and ns3::LteEnbPhySapUser::ReceiveLteControlMessage().

◆ ReceiveLteControlMessageList()

void ns3::LteEnbPhy::ReceiveLteControlMessageList ( std::list< Ptr< LteControlMessage > >  msgList)
virtual

◆ ReceiveLteUlHarqFeedback()

void ns3::LteEnbPhy::ReceiveLteUlHarqFeedback ( UlInfoListElement_s  mes)
virtual

PhySpectrum generated a new UL HARQ feedback.

Parameters
mesUlInfoListElement_s

Definition at line 1130 of file lte-enb-phy.cc.

References m_enbPhySapUser, NS_LOG_FUNCTION, and ns3::LteEnbPhySapUser::UlInfoListElementHarqFeeback().

Referenced by ns3::LteHelper::InstallSingleEnbDevice().

◆ ReportInterference()

void ns3::LteEnbPhy::ReportInterference ( const SpectrumValue interf)
virtual

generate a report based on the linear interference and noise power perceived during DATA frame NOTE: used only by eNB

Parameters
interfthe interference + noise power measured by the device

Implements ns3::LtePhy.

Definition at line 862 of file lte-enb-phy.cc.

References ns3::LtePhy::m_cellId, m_interferenceSampleCounter, m_interferenceSamplePeriod, m_reportInterferenceTrace, and NS_LOG_FUNCTION.

Referenced by ns3::LteHelper::InstallSingleEnbDevice().

◆ ReportRsReceivedPower()

void ns3::LteEnbPhy::ReportRsReceivedPower ( const SpectrumValue power)
virtual

generate a report based on the linear RS power perceived during CTRL frame NOTE: used only by UE for evaluating RSRP

Parameters
powerthe RS power measured by the device

Implements ns3::LtePhy.

Definition at line 875 of file lte-enb-phy.cc.

◆ SendControlChannels()

void ns3::LteEnbPhy::SendControlChannels ( std::list< Ptr< LteControlMessage > >  ctrlMsgList)

Send the PDCCH and PCFICH in the first 3 symbols.

Parameters
ctrlMsgListthe list of control messages of PDCCH

Definition at line 785 of file lte-enb-phy.cc.

References ns3::LtePhy::m_cellId, ns3::LtePhy::m_dlBandwidth, ns3::LtePhy::m_downlinkSpectrumPhy, m_nrSubFrames, NS_LOG_FUNCTION, NS_LOG_LOGIC(), and SetDownlinkSubChannels().

Referenced by StartSubFrame().

◆ SendDataChannels()

void ns3::LteEnbPhy::SendDataChannels ( Ptr< PacketBurst pb)

Send the PDSCH.

Parameters
pbthe PacketBurst to be sent

Definition at line 806 of file lte-enb-phy.cc.

References ns3::DL_DATA_DURATION, m_dlDataRbMap, ns3::LtePhy::m_downlinkSpectrumPhy, NS_LOG_LOGIC(), and SetDownlinkSubChannelsWithPowerAllocation().

Referenced by StartSubFrame().

◆ SetDownlinkSubChannels()

void ns3::LteEnbPhy::SetDownlinkSubChannels ( std::vector< int >  mask)

set the resource blocks (a.k.a.

sub channels) to be used in the downlink for transmission

Parameters
maska vector of integers, if the i-th value is j it means that the j-th resource block is used for transmission in the downlink. If there is no i such that the value of the i-th element is j, it means that RB j is not used.

Definition at line 453 of file lte-enb-phy.cc.

References CreateTxPowerSpectralDensity(), ns3::LtePhy::m_downlinkSpectrumPhy, m_listOfDownlinkSubchannel, and NS_LOG_FUNCTION.

Referenced by SendControlChannels().

◆ SetDownlinkSubChannelsWithPowerAllocation()

void ns3::LteEnbPhy::SetDownlinkSubChannelsWithPowerAllocation ( std::vector< int >  mask)

set the resource blocks (a.k.a.

sub channels) and its power to be used in the downlink for transmission

Parameters
maska vector of integers, if the i-th value is j it means that the j-th resource block is used for transmission in the downlink. If there is no i such that the value of the i-th element is j, it means that RB j is not used.

Definition at line 462 of file lte-enb-phy.cc.

References CreateTxPowerSpectralDensityWithPowerAllocation(), ns3::LtePhy::m_downlinkSpectrumPhy, m_listOfDownlinkSubchannel, and NS_LOG_FUNCTION.

Referenced by SendDataChannels().

◆ SetHarqPhyModule()

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

PhySpectrum generated a new UL HARQ feedback.

Parameters
harqthe HARQ Phy

Definition at line 1123 of file lte-enb-phy.cc.

References m_harqPhyModule.

◆ SetLteEnbCphySapUser()

void ns3::LteEnbPhy::SetLteEnbCphySapUser ( LteEnbCphySapUser s)

Set the CPHY SAP User.

Parameters
sa pointer to the SAP user

Definition at line 306 of file lte-enb-phy.cc.

References m_enbCphySapUser, and NS_LOG_FUNCTION.

◆ SetLteEnbPhySapUser()

void ns3::LteEnbPhy::SetLteEnbPhySapUser ( LteEnbPhySapUser s)

Set the PHY SAP User.

Parameters
sa pointer to the PHY SAP user

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

References m_enbPhySapUser.

◆ SetMacChDelay()

void ns3::LteEnbPhy::SetMacChDelay ( uint8_t  delay)
Parameters
delaythe TTI delay between MAC and channel

Definition at line 355 of file lte-enb-phy.cc.

References ns3::LtePhy::m_controlMessagesQueue, ns3::LtePhy::m_macChTtiDelay, ns3::LtePhy::m_packetBurstQueue, m_ulDciQueue, NS_LOG_FUNCTION, and UL_PUSCH_TTIS_DELAY.

Referenced by GetTypeId().

◆ SetNoiseFigure()

void ns3::LteEnbPhy::SetNoiseFigure ( double  pow)
Parameters
powthe noise figure in dB

Definition at line 341 of file lte-enb-phy.cc.

References ns3::LtePhy::m_noiseFigure, and NS_LOG_FUNCTION.

Referenced by GetTypeId().

◆ SetTxPower()

void ns3::LteEnbPhy::SetTxPower ( double  pow)
Parameters
powthe transmission power in dBm

Definition at line 320 of file lte-enb-phy.cc.

References ns3::LtePhy::m_txPower, and NS_LOG_FUNCTION.

Referenced by GetTypeId().

◆ StartFrame()

void ns3::LteEnbPhy::StartFrame ( void  )

◆ StartSubFrame()

void ns3::LteEnbPhy::StartSubFrame ( void  )

Start a LTE sub frame.

Definition at line 615 of file lte-enb-phy.cc.

References DequeueUlDci(), ns3::DL_CTRL_DELAY_FROM_SUBFRAME_START, ns3::LteControlMessage::DL_DCI, EndSubFrame(), GeneratePowerAllocationMap(), ns3::LtePhy::GetControlMessages(), ns3::Time::GetMilliSeconds(), ns3::LtePhy::GetPacketBurst(), ns3::LtePhy::GetRbgSize(), ns3::LtePhy::GetTti(), ns3::PhyTransmissionStatParameters::m_ccId, ns3::PhyTransmissionStatParameters::m_cellId, ns3::LtePhy::m_cellId, ns3::LtePhy::m_componentCarrierId, ns3::LtePhy::m_controlMessagesQueue, ns3::UlDciListElement_s::m_cqiRequest, ns3::UlGrant_s::m_cqiRequest, m_currentSrsOffset, m_dlDataRbMap, m_dlPhyTransmission, m_dlPowerAllocationMap, m_enbPhySapUser, m_harqPhyModule, ns3::UlDciListElement_s::m_hopping, ns3::UlGrant_s::m_hopping, ns3::PhyTransmissionStatParameters::m_imsi, ns3::PhyTransmissionStatParameters::m_layer, ns3::UlDciListElement_s::m_mcs, ns3::PhyTransmissionStatParameters::m_mcs, ns3::UlGrant_s::m_mcs, ns3::UlDciListElement_s::m_ndi, ns3::PhyTransmissionStatParameters::m_ndi, m_nrFrames, m_nrSubFrames, ns3::UlDciListElement_s::m_rbLen, ns3::UlGrant_s::m_rbLen, ns3::UlDciListElement_s::m_rbStart, ns3::UlGrant_s::m_rbStart, ns3::UlDciListElement_s::m_rnti, ns3::PhyTransmissionStatParameters::m_rnti, ns3::UlGrant_s::m_rnti, ns3::PhyTransmissionStatParameters::m_rv, m_sib1, ns3::PhyTransmissionStatParameters::m_size, m_srsPeriodicity, ns3::UlDciListElement_s::m_tbSize, ns3::UlGrant_s::m_tbSize, ns3::PhyTransmissionStatParameters::m_timestamp, ns3::UlDciListElement_s::m_tpc, ns3::UlGrant_s::m_tpc, ns3::PhyTransmissionStatParameters::m_txMode, m_ueAttached, ns3::LtePhy::m_uplinkSpectrumPhy, ns3::Simulator::Now(), NS_ASSERT_MSG(), NS_FATAL_ERROR, NS_LOG_DEBUG, NS_LOG_ERROR, NS_LOG_FUNCTION, NS_LOG_INFO, QueueUlDci(), ns3::LteControlMessage::RAR, ns3::Simulator::Schedule(), ns3::Seconds(), SendControlChannels(), SendDataChannels(), ns3::UlDciLteControlMessage::SetDci(), ns3::LteEnbPhySapUser::SubframeIndication(), and ns3::LteControlMessage::UL_DCI.

Referenced by EndSubFrame(), and StartFrame().

Friends And Related Function Documentation

◆ EnbMemberLteEnbPhySapProvider

friend class EnbMemberLteEnbPhySapProvider
friend

allow EnbMemberLteEnbPhySapProvider class friend access

Definition at line 50 of file lte-enb-phy.h.

Referenced by LteEnbPhy().

◆ MemberLteEnbCphySapProvider< LteEnbPhy >

friend class MemberLteEnbCphySapProvider< LteEnbPhy >
friend

allow MemberLteEnbCphySapProvider<LteEnbPhy> class friend access

Definition at line 52 of file lte-enb-phy.h.

Member Data Documentation

◆ m_currentSrsOffset

uint16_t ns3::LteEnbPhy::m_currentSrsOffset
private

current SRS offset

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

Referenced by CreateSrsCqiReport(), and StartSubFrame().

◆ m_dlDataRbMap

std::vector<int> ns3::LteEnbPhy::m_dlDataRbMap
private

DL data RB map.

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

Referenced by SendDataChannels(), and StartSubFrame().

◆ m_dlPhyTransmission

TracedCallback<PhyTransmissionStatParameters> ns3::LteEnbPhy::m_dlPhyTransmission
private

The DlPhyTransmission trace source.

Contains trace information regarding PHY stats from DL Tx perspective. Exporting a structure with type PhyTransmissionStatParameters.

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

Referenced by GetTypeId(), and StartSubFrame().

◆ m_dlPowerAllocationMap

std::map<int, double> ns3::LteEnbPhy::m_dlPowerAllocationMap
private

DL power allocation map.

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

Referenced by CreateTxPowerSpectralDensityWithPowerAllocation(), GeneratePowerAllocationMap(), and StartSubFrame().

◆ m_enbCphySapProvider

LteEnbCphySapProvider* ns3::LteEnbPhy::m_enbCphySapProvider
private

ENB CPhy SAP provider.

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

Referenced by DoDispose(), GetLteEnbCphySapProvider(), and LteEnbPhy().

◆ m_enbCphySapUser

LteEnbCphySapUser* ns3::LteEnbPhy::m_enbCphySapUser
private

ENB CPhy SAP user.

Definition at line 451 of file lte-enb-phy.h.

Referenced by SetLteEnbCphySapUser().

◆ m_enbPhySapProvider

LteEnbPhySapProvider* ns3::LteEnbPhy::m_enbPhySapProvider
private

ENB Phy SAP provider.

Definition at line 447 of file lte-enb-phy.h.

Referenced by DoDispose(), GetLteEnbPhySapProvider(), and LteEnbPhy().

◆ m_enbPhySapUser

LteEnbPhySapUser* ns3::LteEnbPhy::m_enbPhySapUser
private

◆ m_harqPhyModule

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

HARQ Phy module.

Definition at line 483 of file lte-enb-phy.h.

Referenced by LteEnbPhy(), SetHarqPhyModule(), and StartSubFrame().

◆ m_interferenceSampleCounter

uint16_t ns3::LteEnbPhy::m_interferenceSampleCounter
private

interference sample counter

Definition at line 511 of file lte-enb-phy.h.

Referenced by ReportInterference().

◆ m_interferenceSamplePeriod

uint16_t ns3::LteEnbPhy::m_interferenceSamplePeriod
private

The InterferenceSamplePeriod attribute.

The sampling period for reporting interference stats.

Todo:
In what unit is this?

Definition at line 510 of file lte-enb-phy.h.

Referenced by GetTypeId(), and ReportInterference().

◆ m_listOfDownlinkSubchannel

std::vector<int> ns3::LteEnbPhy::m_listOfDownlinkSubchannel
private

A vector of integers, if the i-th value is j it means that the j-th resource block is used for transmission in the downlink.

If there is no i such that the value of the i-th element is j, it means that RB j is not used.

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

Referenced by GetDownlinkSubChannels(), SetDownlinkSubChannels(), and SetDownlinkSubChannelsWithPowerAllocation().

◆ m_mib

LteRrcSap::MasterInformationBlock ns3::LteEnbPhy::m_mib
private

The Master Information Block message to be broadcasted every frame.

The message content is specified by the upper layer through the RRC SAP.

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

Referenced by DoSetMasterInformationBlock(), and StartFrame().

◆ m_nrFrames

uint32_t ns3::LteEnbPhy::m_nrFrames
private

The frame number currently served.

In ns-3, frame number starts from 1. In contrast, the 3GPP standard's frame number starts from 0.

Definition at line 457 of file lte-enb-phy.h.

Referenced by StartFrame(), and StartSubFrame().

◆ m_nrSubFrames

uint32_t ns3::LteEnbPhy::m_nrSubFrames
private

The subframe number currently served.

In ns-3, subframe number starts from 1. In contrast, the 3GPP standard's subframe number starts from 0. The number resets to the beginning again after 10 subframes.

Definition at line 463 of file lte-enb-phy.h.

Referenced by EndSubFrame(), SendControlChannels(), StartFrame(), and StartSubFrame().

◆ m_paMap

std::map<uint16_t,double> ns3::LteEnbPhy::m_paMap
private

P_A per UE RNTI.

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

Referenced by DoRemoveUe(), DoSetPa(), and GeneratePowerAllocationMap().

◆ m_reportInterferenceTrace

TracedCallback<uint16_t, Ptr<SpectrumValue> > ns3::LteEnbPhy::m_reportInterferenceTrace
private

The ReportInterference trace source.

Reporting the interference per PHY RB (TS 36.214 section 5.2.2, measured on DATA). Exporting cell ID and interference linear power per RB basis.

Deprecated:
The non-const Ptr<SpectrumValue> argument is deprecated and will be changed to Ptr<const SpectrumValue> in a future release.

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

Referenced by GetTypeId(), and ReportInterference().

◆ m_reportUeSinr

TracedCallback<uint16_t, uint16_t, double, uint8_t> ns3::LteEnbPhy::m_reportUeSinr
private

The ReportUeSinr trace source.

Reporting the linear average of SRS SINR. Exporting cell ID, RNTI, SINR in linear unit and ComponentCarrierId

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

Referenced by CreateSrsReport(), and GetTypeId().

◆ m_sib1

LteRrcSap::SystemInformationBlockType1 ns3::LteEnbPhy::m_sib1
private

The System Information Block Type 1 message to be broadcasted.

SIB1 is broadcasted every 6th subframe of every odd-numbered radio frame. The message content is specified by the upper layer through the RRC SAP.

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

Referenced by DoSetSystemInformationBlockType1(), and StartSubFrame().

◆ m_srsCounter

std::map<uint16_t,uint16_t> ns3::LteEnbPhy::m_srsCounter
private

SRS counter.

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

Referenced by DoSetSrsConfigurationIndex().

◆ m_srsPeriodicity

uint16_t ns3::LteEnbPhy::m_srsPeriodicity
private

SRS periodicity.

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

Referenced by DoSetSrsConfigurationIndex(), and StartSubFrame().

◆ m_srsSampleCounterMap

std::map<uint16_t,uint16_t> ns3::LteEnbPhy::m_srsSampleCounterMap
private

SRS sample counter map.

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

Referenced by CreateSrsReport().

◆ m_srsSamplePeriod

uint16_t ns3::LteEnbPhy::m_srsSamplePeriod
private

The UeSinrSamplePeriod trace source.

The sampling period for reporting UEs' SINR stats.

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

Referenced by CreateSrsReport(), and GetTypeId().

◆ m_srsStartTime

Time ns3::LteEnbPhy::m_srsStartTime
private

SRS start time.

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

Referenced by DoSetSrsConfigurationIndex(), and GenerateCtrlCqiReport().

◆ m_srsUeOffset

std::vector<uint16_t> ns3::LteEnbPhy::m_srsUeOffset
private

SRS UE offset.

Definition at line 468 of file lte-enb-phy.h.

Referenced by CreateSrsCqiReport(), DoDispose(), and DoSetSrsConfigurationIndex().

◆ m_ueAttached

std::set<uint16_t> ns3::LteEnbPhy::m_ueAttached
private

List of RNTI of attached UEs.

Used for quickly determining whether a UE is attached to this eNodeB or not.

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

Referenced by AddUePhy(), DeleteUePhy(), DoDispose(), ReceiveLteControlMessageList(), and StartSubFrame().

◆ m_ulDciQueue

std::vector< std::list<UlDciLteControlMessage> > ns3::LteEnbPhy::m_ulDciQueue
private

For storing info on future receptions.

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

Referenced by DequeueUlDci(), QueueUlDci(), and SetMacChDelay().


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