A Discrete-Event Network Simulator
API
ns3::LteEnbPhy Class Reference

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

#include "lte-enb-phy.h"

+ Inheritance diagram for ns3::LteEnbPhy:
+ Collaboration 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)
 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)
 
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)
 
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 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
 Implement the GetInstanceTypeId method defined in ObjectBase. 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 ()
 Constructor. More...
 
 SimpleRefCount (const SimpleRefCount &o)
 Copy constructor. More...
 
uint32_t GetReferenceCount (void) const
 Get the reference count of the object. More...
 
SimpleRefCountoperator= (const SimpleRefCount &o)
 Assignment. More...
 
void Ref (void) const
 Increment the reference count. More...
 
void Unref (void) const
 Decrement the reference count. More...
 
- Public Member Functions inherited from ns3::ObjectBase
virtual ~ObjectBase ()
 Virtual destructor. More...
 
void GetAttribute (std::string name, AttributeValue &value) const
 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)
 
- Static Public Member Functions inherited from ns3::LtePhy
static TypeId GetTypeId (void)
 
- Static Public Member Functions inherited from ns3::Object
static TypeId GetTypeId (void)
 Register this type. More...
 
- Static Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
static void Cleanup (void)
 Noop. More...
 
- Static Public Member Functions inherited from ns3::ObjectBase
static TypeId GetTypeId (void)
 Get the type ID. More...
 

Private Member Functions

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)
 
bool DeleteUePhy (uint16_t rnti)
 Remove the given RNTI from the list of attached UE m_ueAttached. More...
 
void DoAddUe (uint16_t rnti)
 
uint8_t DoGetMacChTtiDelay ()
 
void DoRemoveUe (uint16_t rnti)
 
void DoSendLteControlMessage (Ptr< LteControlMessage > msg)
 
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)
 
void DoSetEarfcn (uint16_t dlEarfcn, uint16_t ulEarfcn)
 
void DoSetMasterInformationBlock (LteRrcSap::MasterInformationBlock mib)
 
void DoSetPa (uint16_t rnti, double pa)
 
void DoSetSrsConfigurationIndex (uint16_t rnti, uint16_t srcCi)
 
void DoSetSystemInformationBlockType1 (LteRrcSap::SystemInformationBlockType1 sib1)
 
void DoSetTransmissionMode (uint16_t rnti, uint8_t txMode)
 

Private Attributes

uint16_t m_currentSrsOffset
 
std::vector< int > m_dlDataRbMap
 
TracedCallback< PhyTransmissionStatParametersm_dlPhyTransmission
 The DlPhyTransmission trace source. More...
 
std::map< int, double > m_dlPowerAllocationMap
 DL power allocation map. More...
 
LteEnbCphySapProviderm_enbCphySapProvider
 
LteEnbCphySapUserm_enbCphySapUser
 
LteEnbPhySapProviderm_enbPhySapProvider
 
LteEnbPhySapUserm_enbPhySapUser
 
Ptr< LteHarqPhym_harqPhyModule
 
uint16_t m_interferenceSampleCounter
 
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 > 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
 
uint16_t m_srsPeriodicity
 
std::map< uint16_t, uint16_t > m_srsSampleCounterMap
 
uint16_t m_srsSamplePeriod
 The UeSinrSamplePeriod trace source. More...
 
Time m_srsStartTime
 
std::vector< uint16_t > m_srsUeOffset
 
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
 
class MemberLteEnbCphySapProvider< LteEnbPhy >
 

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...
 
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...
 
uint16_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 gruop 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...
 
uint16_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:

  • "/NodeList/[i]/DeviceList/[i]/$ns3::LteNetDevice/$ns3::LteEnbNetDevice/LteEnbPhy"
  • "/NodeList/[i]/DeviceList/[i]/$ns3::LteEnbNetDevice/LteEnbPhy"

Attributes

  • TxPower: Transmission power in dBm
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 30
    • Flags: construct write read
  • NoiseFigure: Loss (dB) in the Signal-to-Noise-Ratio due to non-idealities in the receiver. According to Wikipedia (http://en.wikipedia.org/wiki/Noise_figure), this is "the difference in decibels (dB) between the noise output of the actual receiver to the noise output of an ideal receiver with the same overall gain and bandwidth when the receivers are connected to sources at the standard noise temperature T0." In this model, we consider T0 = 290K.
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 5
    • Flags: construct write read
  • MacToChannelDelay: The delay in TTI units that occurs between a scheduling decision in the MAC and the actual start of the transmission by the PHY. This is intended to be used to model the latency of real PHY and MAC implementations.
    • Set with class: ns3::UintegerValue
    • Underlying type: uint8_t 0:255
    • Initial value: 2
    • Flags: construct write read
  • UeSinrSamplePeriod: The sampling period for reporting UEs' SINR stats.
    • Set with class: ns3::UintegerValue
    • Underlying type: uint16_t 0:65535
    • Initial value: 1
    • Flags: construct write read
  • InterferenceSamplePeriod: The sampling period for reporting interference stats
    • Set with class: ns3::UintegerValue
    • Underlying type: uint16_t 0:65535
    • Initial value: 1
    • Flags: construct write read
  • DlSpectrumPhy: The downlink LteSpectrumPhy associated to this LtePhy
  • UlSpectrumPhy: The uplink LteSpectrumPhy associated to this LtePhy

TraceSources

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

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

Member Typedef Documentation

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 305 of file lte-enb-phy.h.

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

TracedCallback signature for the linear average of SRS SINRs.

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

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

Constructor & Destructor Documentation

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

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

References NS_FATAL_ERROR, and NS_LOG_FUNCTION.

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

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

Member Function Documentation

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 378 of file lte-enb-phy.cc.

References m_ueAttached, NS_LOG_ERROR, and NS_LOG_FUNCTION.

Referenced by DoAddUe().

+ Here is the caller graph for this function:

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 498 of file lte-enb-phy.cc.

References NS_LOG_FUNCTION.

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 866 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().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

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

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

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

References ns3::SpectrumValue::ConstValuesBegin(), ns3::SpectrumValue::ConstValuesEnd(), CreateSrsReport(), ns3::LteFfConverter::double2fpS11dot3(), m_currentSrsOffset, ns3::UlCqi_s::m_sinr, m_srsUeOffset, ns3::VendorSpecificListElement_s::m_type, ns3::UlCqi_s::m_type, ns3::FfMacSchedSapProvider::SchedUlCqiInfoReqParameters::m_ulCqi, ns3::FfMacSchedSapProvider::SchedUlCqiInfoReqParameters::m_vendorSpecificList, NS_LOG_DEBUG, NS_LOG_FUNCTION, ns3::UlCqi_s::SRS, and SRS_CQI_RNTI_VSP.

Referenced by GenerateCtrlCqiReport().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

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

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

Referenced by CreateSrsCqiReport().

+ Here is the caller graph for this function:

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

Create the PSD for TX.

Implements ns3::LtePhy.

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

References ns3::LteSpectrumValueHelper::CreateTxPowerSpectralDensity(), GetDownlinkSubChannels(), ns3::LtePhy::m_dlBandwidth, ns3::LtePhy::m_dlEarfcn, ns3::LtePhy::m_txPower, and NS_LOG_FUNCTION.

Referenced by SetDownlinkSubChannels().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Create the PSD for TX with power allocation for each RB.

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

References ns3::LteSpectrumValueHelper::CreateTxPowerSpectralDensity(), GetDownlinkSubChannels(), ns3::LtePhy::m_dlBandwidth, ns3::LtePhy::m_dlEarfcn, m_dlPowerAllocationMap, ns3::LtePhy::m_txPower, and NS_LOG_FUNCTION.

Referenced by SetDownlinkSubChannelsWithPowerAllocation().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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 396 of file lte-enb-phy.cc.

References m_ueAttached, NS_LOG_ERROR, and NS_LOG_FUNCTION.

Referenced by DoRemoveUe().

+ Here is the caller graph for this function:

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

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

References m_ulDciQueue, and NS_LOG_FUNCTION.

Referenced by StartSubFrame().

+ Here is the caller graph for this function:

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

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

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

+ Here is the call graph for this function:

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 overriden version of this method and chain up to their parent's implementation once they are done. i.e, for simplicity, the destructor of every subclass should be empty and its content should be moved to the associated DoDispose() method.

It is safe to call GetObject() from within this method.

Reimplemented from ns3::Object.

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

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

+ Here is the call graph for this function:

uint8_t ns3::LteEnbPhy::DoGetMacChTtiDelay ( )
private

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

References ns3::LtePhy::m_macChTtiDelay.

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

+ Here is the caller graph for this function:

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

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

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

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 249 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().

+ Here is the call graph for this function:

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

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

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

+ Here is the call graph for this function:

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

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

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

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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 416 of file lte-enb-phy.cc.

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

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LteEnbPhy::DoSetBandwidth ( uint8_t  ulBandwidth,
uint8_t  dlBandwidth 
)
private
void ns3::LteEnbPhy::DoSetEarfcn ( uint16_t  dlEarfcn,
uint16_t  ulEarfcn 
)
private

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

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

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

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

References m_mib, and NS_LOG_FUNCTION.

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

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

References m_paMap, and NS_LOG_FUNCTION.

Referenced by DoAddUe().

+ Here is the caller graph for this function:

void ns3::LteEnbPhy::DoSetSrsConfigurationIndex ( uint16_t  rnti,
uint16_t  srcCi 
)
private
void ns3::LteEnbPhy::DoSetSystemInformationBlockType1 ( LteRrcSap::SystemInformationBlockType1  sib1)
private

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

References m_sib1, and NS_LOG_FUNCTION.

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

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

References NS_LOG_FUNCTION.

void ns3::LteEnbPhy::EndFrame ( void  )

End a LTE frame.

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

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

Referenced by EndSubFrame().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LteEnbPhy::EndSubFrame ( void  )

End a LTE sub frame.

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

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

Referenced by StartSubFrame().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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 825 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().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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 837 of file lte-enb-phy.cc.

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

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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 462 of file lte-enb-phy.cc.

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

Referenced by StartSubFrame().

+ Here is the caller graph for this function:

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

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

References ns3::LtePhy::m_downlinkSpectrumPhy.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

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 455 of file lte-enb-phy.cc.

References m_listOfDownlinkSubchannel, and NS_LOG_FUNCTION.

Referenced by CreateTxPowerSpectralDensity(), and CreateTxPowerSpectralDensityWithPowerAllocation().

+ Here is the caller graph for this function:

LteEnbCphySapProvider * ns3::LteEnbPhy::GetLteEnbCphySapProvider ( )

Get the CPHY SAP provider.

Returns
a pointer to the SAP Provider

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

References m_enbCphySapProvider, and NS_LOG_FUNCTION.

LteEnbPhySapProvider * ns3::LteEnbPhy::GetLteEnbPhySapProvider ( )

Get the PHY SAP provider.

Returns
a pointer to the SAP Provider of the PHY

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

References m_enbPhySapProvider.

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

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

References ns3::LtePhy::m_macChTtiDelay.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

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

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

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

Referenced by GetTypeId().

+ Here is the caller graph for this function:

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

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

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

Referenced by GetTypeId().

+ Here is the caller graph for this function:

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

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

References ns3::LtePhy::m_uplinkSpectrumPhy.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

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

PhySpectrum received a new PHY-PDU.

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

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

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

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

References m_ulDciQueue, NS_LOG_FUNCTION, and UL_PUSCH_TTIS_DELAY.

Referenced by StartSubFrame().

+ Here is the caller graph for this function:

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

Receive the control message.

Parameters
msgthe received message

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

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

+ Here is the call graph for this function:

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

PhySpectrum generated a new UL HARQ feedback.

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

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

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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 845 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().

+ Here is the caller graph for this function:

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 858 of file lte-enb-phy.cc.

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 768 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().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Send the PDSCH.

Parameters
pbthe PacketBurst to be sent

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

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

Referenced by StartSubFrame().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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 437 of file lte-enb-phy.cc.

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

Referenced by SendControlChannels().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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 446 of file lte-enb-phy.cc.

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

Referenced by SendDataChannels().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

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

References m_harqPhyModule.

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

Set the CPHY SAP User.

Parameters
sa pointer to the SAP user

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

References m_enbCphySapUser, and NS_LOG_FUNCTION.

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

Set the PHY SAP User.

Parameters
sa pointer to the PHY SAP user

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

References m_enbPhySapUser.

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

Definition at line 339 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().

+ Here is the caller graph for this function:

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

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

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

Referenced by GetTypeId().

+ Here is the caller graph for this function:

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

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

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

Referenced by LteHandoverTargetTestCase::CellShutdownCallback(), and GetTypeId().

+ Here is the caller graph for this function:

void ns3::LteEnbPhy::StartFrame ( void  )

Start a LTE frame.

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

References ns3::LtePhy::m_controlMessagesQueue, m_mib, m_nrFrames, m_nrSubFrames, NS_LOG_FUNCTION, NS_LOG_INFO, StartSubFrame(), and ns3::LteRrcSap::MasterInformationBlock::systemFrameNumber.

Referenced by DoInitialize(), and EndFrame().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LteEnbPhy::StartSubFrame ( void  )

Start a LTE sub frame.

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

References DequeueUlDci(), ns3::LteControlMessage::DL_DCI, EndSubFrame(), GeneratePowerAllocationMap(), ns3::LtePhy::GetControlMessages(), ns3::Time::GetMilliSeconds(), ns3::LtePhy::GetPacketBurst(), ns3::LtePhy::GetRbgSize(), ns3::LtePhy::GetTti(), ns3::PhyTransmissionStatParameters::m_cellId, ns3::LtePhy::m_cellId, 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::PhyTransmissionStatParameters::m_mcs, ns3::UlDciListElement_s::m_mcs, ns3::UlGrant_s::m_mcs, ns3::PhyTransmissionStatParameters::m_ndi, ns3::UlDciListElement_s::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::PhyTransmissionStatParameters::m_rnti, ns3::UlDciListElement_s::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().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Friends And Related Function Documentation

friend class EnbMemberLteEnbPhySapProvider
friend

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

Referenced by LteEnbPhy().

friend class MemberLteEnbCphySapProvider< LteEnbPhy >
friend

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

Member Data Documentation

uint16_t ns3::LteEnbPhy::m_currentSrsOffset
private

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

Referenced by CreateSrsCqiReport(), and StartSubFrame().

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

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

Referenced by SendDataChannels(), and StartSubFrame().

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 437 of file lte-enb-phy.h.

Referenced by GetTypeId(), and StartSubFrame().

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

DL power allocation map.

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

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

LteEnbCphySapProvider* ns3::LteEnbPhy::m_enbCphySapProvider
private

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

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

LteEnbCphySapUser* ns3::LteEnbPhy::m_enbCphySapUser
private

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

Referenced by SetLteEnbCphySapUser().

LteEnbPhySapProvider* ns3::LteEnbPhy::m_enbPhySapProvider
private

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

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

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

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

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

uint16_t ns3::LteEnbPhy::m_interferenceSampleCounter
private

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

Referenced by ReportInterference().

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 429 of file lte-enb-phy.h.

Referenced by GetTypeId(), and ReportInterference().

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 359 of file lte-enb-phy.h.

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

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 394 of file lte-enb-phy.h.

Referenced by DoSetMasterInformationBlock(), and StartFrame().

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 376 of file lte-enb-phy.h.

Referenced by StartFrame(), and StartSubFrame().

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 382 of file lte-enb-phy.h.

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

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

P_A per UE RNTI.

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

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

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 423 of file lte-enb-phy.h.

Referenced by GetTypeId(), and ReportInterference().

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

The ReportUeSinr trace source.

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

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

Referenced by CreateSrsReport(), and GetTypeId().

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 400 of file lte-enb-phy.h.

Referenced by DoSetSystemInformationBlockType1(), and StartSubFrame().

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

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

Referenced by DoSetSrsConfigurationIndex().

uint16_t ns3::LteEnbPhy::m_srsPeriodicity
private

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

Referenced by DoSetSrsConfigurationIndex(), and StartSubFrame().

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

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

Referenced by CreateSrsReport().

uint16_t ns3::LteEnbPhy::m_srsSamplePeriod
private

The UeSinrSamplePeriod trace source.

The sampling period for reporting UEs' SINR stats.

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

Referenced by CreateSrsReport(), and GetTypeId().

Time ns3::LteEnbPhy::m_srsStartTime
private

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

Referenced by DoSetSrsConfigurationIndex(), and GenerateCtrlCqiReport().

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

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

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

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 344 of file lte-enb-phy.h.

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

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

For storing info on future receptions.

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

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


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