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

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

#include "lte-ue-phy.h"

+ Inheritance diagram for ns3::LteUePhy:
+ Collaboration diagram for ns3::LteUePhy:

Classes

struct  PssElement
 PssElement structure. More...
 
struct  UeMeasurementsElement
 Summary results of measuring a specific cell. Used for layer-1 filtering. More...
 

Public Types

typedef void(* RsrpRsrqTracedCallback) (uint16_t rnti, uint16_t cellId, double rsrp, double rsrq, bool isServingCell, uint8_t componentCarrierId)
 TracedCallback signature for cell RSRP and RSRQ. More...
 
typedef void(* RsrpSinrTracedCallback) (uint16_t cellId, uint16_t rnti, double rsrp, double sinr, uint8_t componentCarrierId)
 TracedCallback signature for cell RSRP and SINR report. More...
 
enum  State { CELL_SEARCH = 0, SYNCHRONIZED, NUM_STATES }
 The states of the UE PHY entity. More...
 
typedef void(* StateTracedCallback) (uint16_t cellId, uint16_t rnti, State oldState, State newState)
 TracedCallback signature for state transition events. More...
 

Public Member Functions

 LteUePhy ()
 
 LteUePhy (Ptr< LteSpectrumPhy > dlPhy, Ptr< LteSpectrumPhy > ulPhy)
 
virtual ~LteUePhy ()
 
Ptr< DlCqiLteControlMessageCreateDlCqiFeedbackMessage (const SpectrumValue &sinr)
 Create the DL CQI feedback from SINR values perceived at the physical layer with the signal received from eNB. More...
 
virtual Ptr< SpectrumValueCreateTxPowerSpectralDensity ()
 Create the PSD for the TX. More...
 
virtual void DoDispose (void)
 Destructor implementation. More...
 
virtual void DoInitialize (void)
 Initialize() implementation. 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...
 
virtual void GenerateMixedCqiReport (const SpectrumValue &sinr)
 Create the mixed CQI report. More...
 
Ptr< LteSpectrumPhyGetDlSpectrumPhy () const
 
LteUeCphySapProviderGetLteUeCphySapProvider ()
 Get the CPHY SAP provider. More...
 
LteUePhySapProviderGetLteUePhySapProvider ()
 Get the PHY SAP provider. More...
 
uint8_t GetMacChDelay (void) const
 
double GetNoiseFigure () const
 
State GetState () const
 
std::vector< int > GetSubChannelsForReception (void)
 Get a list of sub channels to use in RX. More...
 
std::vector< int > GetSubChannelsForTransmission (void)
 Get a list of sub channels to use in RX. More...
 
double GetTxPower () const
 
Ptr< LteSpectrumPhyGetUlSpectrumPhy () const
 
Ptr< LteUePowerControlGetUplinkPowerControl () const
 
void PhyPduReceived (Ptr< Packet > p)
 PhySpectrum received a new PHY-PDU. More...
 
virtual void ReceiveLteControlMessageList (std::list< Ptr< LteControlMessage > > msgList)
 Receive LTE control message list function. More...
 
virtual void ReceiveLteDlHarqFeedback (DlInfoListElement_s mes)
 PhySpectrum generated a new DL HARQ feedback. More...
 
virtual void ReceivePss (uint16_t cellId, Ptr< SpectrumValue > p)
 Receive PSS function. More...
 
virtual void ReportDataInterference (const SpectrumValue &interf)
 Create the mixed CQI report. 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 SendSrs ()
 Send the SRS signal in the last symbols of the frame. More...
 
void SetHarqPhyModule (Ptr< LteHarqPhy > harq)
 Set the HARQ PHY module. More...
 
void SetLteUeCphySapUser (LteUeCphySapUser *s)
 Set the CPHY SAP User. More...
 
void SetLteUePhySapUser (LteUePhySapUser *s)
 Set the PHY SAP User. More...
 
void SetNoiseFigure (double nf)
 
void SetSubChannelsForReception (std::vector< int > mask)
 Get a list of sub channels to use in RX. More...
 
void SetSubChannelsForTransmission (std::vector< int > mask)
 Set a list of sub channels to use in TX. More...
 
void SetTxPower (double pow)
 
void SubframeIndication (uint32_t frameNo, uint32_t subframeNo)
 trigger from eNB the start from a new frame More...
 
- Public Member Functions inherited from ns3::LtePhy
 LtePhy ()
 
 LtePhy (Ptr< LteSpectrumPhy > dlPhy, Ptr< LteSpectrumPhy > ulPhy)
 
virtual ~LtePhy ()
 
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

void DoConfigureReferenceSignalPower (int8_t referenceSignalPower)
 Configure reference signal power function. More...
 
void DoConfigureUplink (uint32_t ulEarfcn, uint8_t ulBandwidth)
 Configure UL uplink function. More...
 
void DoReset ()
 Reset function. More...
 
virtual void DoSendLteControlMessage (Ptr< LteControlMessage > msg)
 Send LTE conrol message function. More...
 
virtual void DoSendMacPdu (Ptr< Packet > p)
 Queue the MAC PDU to be sent (according to m_macChTtiDelay) More...
 
virtual void DoSendRachPreamble (uint32_t prachId, uint32_t raRnti)
 Send RACH preamble function. More...
 
void DoSetDlBandwidth (uint8_t dlBandwidth)
 Set DL bandwidth function. More...
 
void DoSetPa (double pa)
 Set PA function. More...
 
void DoSetRnti (uint16_t rnti)
 Set RNTI function. More...
 
void DoSetSrsConfigurationIndex (uint16_t srcCi)
 Set SRS configuration index function. More...
 
void DoSetTransmissionMode (uint8_t txMode)
 Set transmission mode function. More...
 
void DoStartCellSearch (uint32_t dlEarfcn)
 Start the cell search function. More...
 
void DoSynchronizeWithEnb (uint16_t cellId)
 Synchronize with ENB function. More...
 
void DoSynchronizeWithEnb (uint16_t cellId, uint32_t dlEarfcn)
 Synchronize with ENB function. More...
 
void GenerateCqiRsrpRsrq (const SpectrumValue &sinr)
 internal method that takes care of generating CQI reports, calculating the RSRP and RSRQ metrics, and generating RSRP+SINR traces More...
 
void QueueSubChannelsForTransmission (std::vector< int > rbMap)
 queue subchannels for transmission function More...
 
void ReportUeMeasurements ()
 Layer-1 filtering of RSRP and RSRQ measurements and reporting to the RRC entity. More...
 
void SetTxMode1Gain (double gain)
 Set transmit mode 1 gain function. More...
 
void SetTxMode2Gain (double gain)
 Set transmit mode 2 gain function. More...
 
void SetTxMode3Gain (double gain)
 Set transmit mode 3 gain function. More...
 
void SetTxMode4Gain (double gain)
 Set transmit mode 4 gain function. More...
 
void SetTxMode5Gain (double gain)
 Set transmit mode 5 gain function. More...
 
void SetTxMode6Gain (double gain)
 Set transmit mode 6 gain function. More...
 
void SetTxMode7Gain (double gain)
 Set transmit mode 7 gain function. More...
 
void SetTxModeGain (uint8_t txMode, double gain)
 Set transmit mode gain function. More...
 
void SwitchToState (State s)
 Switch the UE PHY to the given state. More...
 

Private Attributes

Time m_a30CqiLast
 last aperiodic CQI More...
 
Time m_a30CqiPeriodicity
 SubBand Aperiodic CQI. More...
 
Ptr< LteAmcm_amc
 AMC. More...
 
SpectrumValue m_dataInterferencePower
 data interference power More...
 
bool m_dataInterferencePowerUpdated
 data interference power updated? More...
 
bool m_dlConfigured
 DL configured? More...
 
bool m_enableUplinkPowerControl
 The EnableUplinkPowerControl attribute. More...
 
Ptr< LteHarqPhym_harqPhyModule
 HARQ phy module. More...
 
Ptr< SpectrumValuem_noisePsd
 Noise power spectral density for the configured bandwidth. More...
 
Time m_p10CqiLast
 last periodic CQI More...
 
Time m_p10CqiPeriodicity
 Wideband Periodic CQI. 2, 5, 10, 16, 20, 32, 40, 64, 80 or 160 ms. More...
 
double m_paLinear
 PA linear. More...
 
Ptr< LteUePowerControlm_powerControl
 Pointer to UE Uplink Power Control entity. More...
 
std::list< PssElementm_pssList
 PSS list. More...
 
bool m_pssReceived
 PSS received? More...
 
double m_pssReceptionThreshold
 The RsrqUeMeasThreshold attribute. More...
 
uint32_t m_raPreambleId
 RA preamble ID. More...
 
uint32_t m_raRnti
 RA rnti. More...
 
TracedCallback< uint16_t, uint16_t, double, double, uint8_t > m_reportCurrentCellRsrpSinrTrace
 The ReportCurrentCellRsrpSinr trace source. More...
 
TracedCallback< uint16_t, uint16_t, double, double, bool, uint8_t > m_reportUeMeasurements
 The ReportUeMeasurements trace source. More...
 
uint16_t m_rnti
 the RNTI More...
 
SpectrumValue m_rsInterferencePower
 RS interference power. More...
 
bool m_rsInterferencePowerUpdated
 RS interference power updated? More...
 
SpectrumValue m_rsReceivedPower
 RS receive power. More...
 
bool m_rsReceivedPowerUpdated
 RS receive power updated? More...
 
uint16_t m_rsrpSinrSampleCounter
 The RsrpSinrSampleCounter attribute. More...
 
uint16_t m_rsrpSinrSamplePeriod
 The RsrpSinrSamplePeriod attribute. More...
 
EventId m_sendSrsEvent
 send SRS event More...
 
uint16_t m_srsConfigured
 SRS configured. More...
 
uint16_t m_srsPeriodicity
 SRS periodicity. More...
 
Time m_srsStartTime
 SRS start time. More...
 
uint16_t m_srsSubframeOffset
 SRS subframe offset. More...
 
State m_state
 The current UE PHY state. More...
 
TracedCallback< uint16_t, uint16_t, State, Statem_stateTransitionTrace
 The StateTransition trace source. More...
 
std::vector< int > m_subChannelsForReception
 A list of sub channels to use in RX. More...
 
std::vector< int > m_subChannelsForTransmission
 A list of sub channels to use in TX. More...
 
std::vector< std::vector< int > > m_subChannelsForTransmissionQueue
 subchannels for transmission queue More...
 
uint8_t m_subframeNo
 
uint8_t m_transmissionMode
 the transmission mode More...
 
std::vector< double > m_txModeGain
 the transmit mode gain More...
 
LteUeCphySapProviderm_ueCphySapProvider
 UE CPhy SAP provider. More...
 
LteUeCphySapUserm_ueCphySapUser
 UE CPhy SAP user. More...
 
Time m_ueMeasurementsFilterLast
 
Time m_ueMeasurementsFilterPeriod
 The UeMeasurementsFilterPeriod attribute. More...
 
std::map< uint16_t, UeMeasurementsElementm_ueMeasurementsMap
 Store measurement results during the last layer-1 filtering period. More...
 
LteUePhySapProviderm_uePhySapProvider
 UE Phy SAP provider. More...
 
LteUePhySapUserm_uePhySapUser
 UE Phy SAP user. More...
 
bool m_ulConfigured
 UL configured? More...
 
TracedCallback< PhyTransmissionStatParametersm_ulPhyTransmission
 The UlPhyTransmission trace source. More...
 

Friends

class MemberLteUeCphySapProvider< LteUePhy >
 allow MemberLteUeCphySapProvider<LteUePhy> class friend access More...
 
class UeMemberLteUePhySapProvider
 allow UeMemberLteUePhySapProvider 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 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...
 
uint32_t m_ulEarfcn
 The uplink carrier frequency. More...
 
Ptr< LteSpectrumPhym_uplinkSpectrumPhy
 The uplink LteSpectrumPhy associated to this LtePhy. More...
 

Detailed Description

The LteSpectrumPhy models the physical layer of LTE.

Config Paths

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

  • "/NodeList/[i]/DeviceList/[i]/$ns3::LteNetDevice/$ns3::LteUeNetDevice/ComponentCarrierMapUe/[i]/LteUePhy"
  • "/NodeList/[i]/DeviceList/[i]/$ns3::LteUeNetDevice/ComponentCarrierMapUe/[i]/LteUePhy"

Attributes

  • TxPower: Transmission power in dBm
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 10
    • 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: 9
    • Flags: construct write read
  • TxMode1Gain: Transmission mode 1 gain in dB
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 0
    • Flags: construct write
  • TxMode2Gain: Transmission mode 2 gain in dB
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 4.2
    • Flags: construct write
  • TxMode3Gain: Transmission mode 3 gain in dB
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: -2.8
    • Flags: construct write
  • TxMode4Gain: Transmission mode 4 gain in dB
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 0
    • Flags: construct write
  • TxMode5Gain: Transmission mode 5 gain in dB
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 0
    • Flags: construct write
  • TxMode6Gain: Transmission mode 6 gain in dB
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 0
    • Flags: construct write
  • TxMode7Gain: Transmission mode 7 gain in dB
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 0
    • Flags: construct write
  • RsrpSinrSamplePeriod: The sampling period for reporting RSRP-SINR stats (default value 1)
    • 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
  • RsrqUeMeasThreshold: Receive threshold for PSS on RSRQ [dB]
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: -1000
    • Flags: construct write read
  • UeMeasurementsFilterPeriod: Time period for reporting UE measurements, i.e., thelength of layer-1 filtering.
    • Set with class: ns3::TimeValue
    • Underlying type: Time –9223372036854775808.0ns:+9223372036854775807.0ns
    • Initial value: +200000000.0ns
    • Flags: construct write read
  • EnableUplinkPowerControl: If true, Uplink Power Control will be enabled.
    • Set with class: BooleanValue
    • Underlying type: bool
    • Initial value: true
    • Flags: construct write read

TraceSources

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

Definition at line 51 of file lte-ue-phy.h.

Member Typedef Documentation

typedef void(* ns3::LteUePhy::RsrpRsrqTracedCallback) (uint16_t rnti, uint16_t cellId, double rsrp, double rsrq, bool isServingCell, uint8_t componentCarrierId)

TracedCallback signature for cell RSRP and RSRQ.

Parameters
[in]rnti
[in]cellId
[in]rsrp
[in]rsrq
[in]isServingCell
[in]componentCarrierId

Definition at line 303 of file lte-ue-phy.h.

typedef void(* ns3::LteUePhy::RsrpSinrTracedCallback) (uint16_t cellId, uint16_t rnti, double rsrp, double sinr, uint8_t componentCarrierId)

TracedCallback signature for cell RSRP and SINR report.

Parameters
[in]cellId
[in]rnti
[in]rsrp
[in]sinr
[in]componentCarrierId

Definition at line 289 of file lte-ue-phy.h.

typedef void(* ns3::LteUePhy::StateTracedCallback) (uint16_t cellId, uint16_t rnti, State oldState, State newState)

TracedCallback signature for state transition events.

Parameters
[in]cellId
[in]rnti
[in]oldState
[in]newState

Definition at line 277 of file lte-ue-phy.h.

Constructor & Destructor Documentation

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

Definition at line 141 of file lte-ue-phy.cc.

References NS_FATAL_ERROR, and NS_LOG_FUNCTION.

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

Definition at line 177 of file lte-ue-phy.cc.

References m_txModeGain.

Member Function Documentation

Ptr< DlCqiLteControlMessage > ns3::LteUePhy::CreateDlCqiFeedbackMessage ( const SpectrumValue sinr)

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

Parameters
sinrSINR values vector
Returns
a DL CQI control message containing the CQI feedback

Definition at line 704 of file lte-ue-phy.cc.

References ns3::CqiListElement_s::A30, ns3::LtePhy::GetRbgSize(), m_a30CqiLast, m_a30CqiPeriodicity, m_amc, ns3::LtePhy::m_dlBandwidth, ns3::SbMeasResult_s::m_higherLayerSelected, m_p10CqiLast, m_p10CqiPeriodicity, m_rnti, ns3::HigherLayerSelected_s::m_sbCqi, ns3::HigherLayerSelected_s::m_sbPmi, m_transmissionMode, m_txModeGain, ns3::Simulator::Now(), NS_ASSERT, NS_ASSERT_MSG, NS_LOG_DEBUG, NS_LOG_FUNCTION, ns3::CqiListElement_s::P10, and ns3::TransmissionModesLayers::TxMode2LayerNum().

Referenced by GenerateCqiRsrpRsrq().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Create the PSD for the TX.

Returns
the pointer to the PSD

Implements ns3::LtePhy.

Definition at line 467 of file lte-ue-phy.cc.

References ns3::LteSpectrumValueHelper::CreateTxPowerSpectralDensity(), GetSubChannelsForTransmission(), ns3::LtePhy::m_txPower, ns3::LtePhy::m_ulBandwidth, ns3::LtePhy::m_ulEarfcn, and NS_LOG_FUNCTION.

Referenced by SetSubChannelsForTransmission().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LteUePhy::DoConfigureReferenceSignalPower ( int8_t  referenceSignalPower)
private

Configure reference signal power function.

Parameters
referenceSignalPowerreference signal power

Definition at line 1313 of file lte-ue-phy.cc.

References ns3::LteUePowerControl::ConfigureReferenceSignalPower(), m_powerControl, and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

void ns3::LteUePhy::DoConfigureUplink ( uint32_t  ulEarfcn,
uint8_t  ulBandwidth 
)
private

Configure UL uplink function.

Parameters
ulEarfcnUL EARFCN
ulBandwidththe UL bandwidth

Definition at line 1305 of file lte-ue-phy.cc.

References ns3::LtePhy::m_ulBandwidth, m_ulConfigured, and ns3::LtePhy::m_ulEarfcn.

void ns3::LteUePhy::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::LtePhy.

Definition at line 183 of file lte-ue-phy.cc.

References ns3::LtePhy::DoDispose(), m_ueCphySapProvider, m_uePhySapProvider, and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

void ns3::LteUePhy::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 307 of file lte-ue-phy.cc.

References ns3::Object::DoInitialize(), ns3::Node::GetId(), ns3::LtePhy::m_netDevice, NS_LOG_FUNCTION, ns3::Simulator::ScheduleNow(), ns3::Simulator::ScheduleWithContext(), ns3::Seconds(), and SubframeIndication().

+ Here is the call graph for this function:

void ns3::LteUePhy::DoSendLteControlMessage ( Ptr< LteControlMessage msg)
privatevirtual

Send LTE conrol message function.

Parameters
msgthe LTE control message

Definition at line 847 of file lte-ue-phy.cc.

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

Referenced by GenerateCqiRsrpRsrq(), and ns3::UeMemberLteUePhySapProvider::SendLteControlMessage().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LteUePhy::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-ue-phy.cc.

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

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LteUePhy::DoSendRachPreamble ( uint32_t  prachId,
uint32_t  raRnti 
)
privatevirtual

Send RACH preamble function.

Parameters
prachIdthe RACH preamble ID
raRntithe rnti

Definition at line 855 of file lte-ue-phy.cc.

References ns3::LtePhy::m_controlMessagesQueue, m_raPreambleId, m_raRnti, and NS_LOG_FUNCTION.

Referenced by ns3::UeMemberLteUePhySapProvider::SendRachPreamble().

+ Here is the caller graph for this function:

void ns3::LteUePhy::DoSetDlBandwidth ( uint8_t  dlBandwidth)
private

Set DL bandwidth function.

Parameters
dlBandwidththe DL bandwidth

Definition at line 1274 of file lte-ue-phy.cc.

References ns3::LteSpectrumValueHelper::CreateNoisePowerSpectralDensity(), ns3::LtePhy::m_dlBandwidth, m_dlConfigured, ns3::LtePhy::m_dlEarfcn, ns3::LtePhy::m_downlinkSpectrumPhy, ns3::LtePhy::m_noiseFigure, m_noisePsd, ns3::LtePhy::m_rbgSize, NS_LOG_FUNCTION, and ns3::Type0AllocationRbg.

Referenced by DoStartCellSearch(), and DoSynchronizeWithEnb().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LteUePhy::DoSetPa ( double  pa)
private

Set PA function.

Parameters
pathe PA value

Definition at line 1352 of file lte-ue-phy.cc.

References m_paLinear, and NS_LOG_FUNCTION.

void ns3::LteUePhy::DoSetRnti ( uint16_t  rnti)
private

Set RNTI function.

Parameters
rntithe RNTI

Definition at line 1320 of file lte-ue-phy.cc.

References ns3::LtePhy::m_cellId, m_powerControl, m_rnti, NS_LOG_FUNCTION, ns3::LteUePowerControl::SetCellId(), and ns3::LteUePowerControl::SetRnti().

+ Here is the call graph for this function:

void ns3::LteUePhy::DoSetSrsConfigurationIndex ( uint16_t  srcCi)
private

Set SRS configuration index function.

Parameters
srcCithe SRS configuration index

Definition at line 1338 of file lte-ue-phy.cc.

References ns3::LtePhy::GetSrsPeriodicity(), ns3::LtePhy::GetSrsSubframeOffset(), ns3::LtePhy::m_cellId, m_rnti, m_srsConfigured, m_srsPeriodicity, m_srsStartTime, m_srsSubframeOffset, ns3::MilliSeconds(), ns3::Simulator::Now(), NS_LOG_DEBUG, and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

void ns3::LteUePhy::DoSetTransmissionMode ( uint8_t  txMode)
private

Set transmission mode function.

Parameters
txModethe transmission mode

Definition at line 1330 of file lte-ue-phy.cc.

References ns3::LtePhy::m_downlinkSpectrumPhy, m_transmissionMode, and NS_LOG_FUNCTION.

void ns3::LteUePhy::DoStartCellSearch ( uint32_t  dlEarfcn)
private

Start the cell search function.

Parameters
dlEarfcnthe DL EARFCN

Definition at line 1234 of file lte-ue-phy.cc.

References CELL_SEARCH, DoSetDlBandwidth(), ns3::LtePhy::m_dlEarfcn, NS_LOG_FUNCTION, and SwitchToState().

+ Here is the call graph for this function:

void ns3::LteUePhy::DoSynchronizeWithEnb ( uint16_t  cellId)
private

Synchronize with ENB function.

Parameters
cellIdthe cell ID

Definition at line 1251 of file lte-ue-phy.cc.

References DoSetDlBandwidth(), ns3::LtePhy::m_cellId, m_dlConfigured, ns3::LtePhy::m_downlinkSpectrumPhy, m_ulConfigured, ns3::LtePhy::m_uplinkSpectrumPhy, NS_FATAL_ERROR, NS_LOG_FUNCTION, SwitchToState(), and SYNCHRONIZED.

Referenced by DoSynchronizeWithEnb().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LteUePhy::DoSynchronizeWithEnb ( uint16_t  cellId,
uint32_t  dlEarfcn 
)
private

Synchronize with ENB function.

Parameters
cellIdthe cell ID
dlEarfcnthe DL EARFCN

Definition at line 1243 of file lte-ue-phy.cc.

References DoSynchronizeWithEnb(), ns3::LtePhy::m_dlEarfcn, and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

void ns3::LteUePhy::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 477 of file lte-ue-phy.cc.

References GenerateCqiRsrpRsrq(), and NS_LOG_FUNCTION.

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LteUePhy::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 608 of file lte-ue-phy.cc.

void ns3::LteUePhy::GenerateMixedCqiReport ( const SpectrumValue sinr)
virtual

Create the mixed CQI report.

Parameters
sinrSINR values vector

Definition at line 614 of file lte-ue-phy.cc.

References CELL_SEARCH, GenerateCqiRsrpRsrq(), ns3::LtePhy::GetRbgSize(), ns3::LtePhy::m_cellId, m_dataInterferencePower, m_dataInterferencePowerUpdated, ns3::LtePhy::m_dlBandwidth, m_paLinear, m_rsReceivedPower, m_state, NS_ASSERT, NS_LOG_FUNCTION, and NS_LOG_LOGIC().

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

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

References ns3::LtePhy::m_downlinkSpectrumPhy.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

LteUeCphySapProvider * ns3::LteUePhy::GetLteUeCphySapProvider ( )

Get the CPHY SAP provider.

Returns
a pointer to the SAP Provider

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

References m_ueCphySapProvider, and NS_LOG_FUNCTION.

LteUePhySapProvider * ns3::LteUePhy::GetLteUePhySapProvider ( )

Get the PHY SAP provider.

Returns
a pointer to the SAP Provider

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

References m_uePhySapProvider, and NS_LOG_FUNCTION.

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

Definition at line 398 of file lte-ue-phy.cc.

References ns3::LtePhy::m_macChTtiDelay.

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

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

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

Referenced by GetTypeId().

+ Here is the caller graph for this function:

LteUePhy::State ns3::LteUePhy::GetState ( void  ) const
Returns
The current state

Definition at line 1449 of file lte-ue-phy.cc.

References m_state, and NS_LOG_FUNCTION.

std::vector< int > ns3::LteUePhy::GetSubChannelsForReception ( void  )

Get a list of sub channels to use in RX.

Returns
a list of sub channels

Definition at line 459 of file lte-ue-phy.cc.

References m_subChannelsForReception, and NS_LOG_FUNCTION.

std::vector< int > ns3::LteUePhy::GetSubChannelsForTransmission ( void  )

Get a list of sub channels to use in RX.

Returns
a list of sub channels

Definition at line 451 of file lte-ue-phy.cc.

References m_subChannelsForTransmission, and NS_LOG_FUNCTION.

Referenced by CreateTxPowerSpectralDensity().

+ Here is the caller graph for this function:

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

Definition at line 384 of file lte-ue-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::LteUePhy::GetUlSpectrumPhy ( ) const
Returns
a pointer to the LteSpectrumPhy instance relative to the uplink

Definition at line 410 of file lte-ue-phy.cc.

References ns3::LtePhy::m_uplinkSpectrumPhy.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

Ptr< LteUePowerControl > ns3::LteUePhy::GetUplinkPowerControl ( ) const
Returns
ptr to UE Uplink Power Control entity

Definition at line 391 of file lte-ue-phy.cc.

References m_powerControl, and NS_LOG_FUNCTION.

Referenced by LteUplinkOpenLoopPowerControlTestCase::DoRun(), LteUplinkClosedLoopPowerControlAbsoluteModeTestCase::DoRun(), and LteUplinkClosedLoopPowerControlAccumulatedModeTestCase::DoRun().

+ Here is the caller graph for this function:

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

PhySpectrum received a new PHY-PDU.

Parameters
pthe packet received

Definition at line 425 of file lte-ue-phy.cc.

References m_uePhySapUser, and ns3::LteUePhySapUser::ReceivePhyPdu().

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LteUePhy::QueueSubChannelsForTransmission ( std::vector< int >  rbMap)
private

queue subchannels for transmission function

Parameters
[in]rbMap

Definition at line 1077 of file lte-ue-phy.cc.

References ns3::LtePhy::m_macChTtiDelay, and m_subChannelsForTransmissionQueue.

Referenced by ReceiveLteControlMessageList().

+ Here is the caller graph for this function:

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

Receive LTE control message list function.

Parameters
msgListLTE control message list

Definition at line 869 of file lte-ue-phy.cc.

References ns3::LteControlMessage::DL_DCI, ns3::Time::GetMilliSeconds(), ns3::LtePhy::GetRbgSize(), ns3::PhyTransmissionStatParameters::m_ccId, ns3::PhyTransmissionStatParameters::m_cellId, ns3::LtePhy::m_cellId, ns3::LtePhy::m_componentCarrierId, ns3::LtePhy::m_downlinkSpectrumPhy, m_enableUplinkPowerControl, m_harqPhyModule, ns3::PhyTransmissionStatParameters::m_imsi, ns3::PhyTransmissionStatParameters::m_layer, ns3::PhyTransmissionStatParameters::m_mcs, ns3::PhyTransmissionStatParameters::m_ndi, m_powerControl, m_raPreambleId, m_raRnti, ns3::PhyTransmissionStatParameters::m_rnti, m_rnti, ns3::PhyTransmissionStatParameters::m_rv, ns3::PhyTransmissionStatParameters::m_size, ns3::PhyTransmissionStatParameters::m_timestamp, ns3::PhyTransmissionStatParameters::m_txMode, m_ueCphySapUser, m_uePhySapUser, m_ulPhyTransmission, ns3::LteControlMessage::MIB, ns3::Simulator::Now(), NS_ASSERT, NS_FATAL_ERROR, NS_LOG_DEBUG, NS_LOG_FUNCTION, NS_LOG_INFO, QueueSubChannelsForTransmission(), ns3::LteControlMessage::RAR, ns3::LteUePhySapUser::ReceiveLteControlMessage(), ns3::LteUeCphySapUser::RecvMasterInformationBlock(), ns3::LteUeCphySapUser::RecvSystemInformationBlockType1(), ns3::LteUePowerControl::ReportTpc(), SetSubChannelsForReception(), ns3::LteControlMessage::SIB1, ns3::LteControlMessage::UL_DCI, and UL_PUSCH_TTIS_DELAY.

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LteUePhy::ReceiveLteDlHarqFeedback ( DlInfoListElement_s  mes)
virtual

PhySpectrum generated a new DL HARQ feedback.

Parameters
mesthe DlInfoListElement_s

Definition at line 1432 of file lte-ue-phy.cc.

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

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LteUePhy::ReportDataInterference ( const SpectrumValue interf)
virtual

Create the mixed CQI report.

Parameters
interfinterference values vector

Definition at line 670 of file lte-ue-phy.cc.

References m_dataInterferencePower, m_dataInterferencePowerUpdated, and NS_LOG_FUNCTION.

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

+ Here is the caller graph for this function:

void ns3::LteUePhy::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 662 of file lte-ue-phy.cc.

References m_rsInterferencePower, m_rsInterferencePowerUpdated, and NS_LOG_FUNCTION.

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

+ Here is the caller graph for this function:

void ns3::LteUePhy::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 679 of file lte-ue-phy.cc.

References ns3::SpectrumValue::ConstValuesBegin(), ns3::SpectrumValue::ConstValuesEnd(), m_enableUplinkPowerControl, m_powerControl, m_rsReceivedPower, m_rsReceivedPowerUpdated, NS_LOG_FUNCTION, NS_LOG_INFO, and ns3::LteUePowerControl::SetRsrp().

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LteUePhy::ReportUeMeasurements ( )
private

Layer-1 filtering of RSRP and RSRQ measurements and reporting to the RRC entity.

Initially executed at +0.200s, and then repeatedly executed with periodicity as indicated by the UeMeasurementsFilterPeriod attribute.

Definition at line 804 of file lte-ue-phy.cc.

References ns3::LteUeCphySapUser::UeMeasurementsElement::m_cellId, ns3::LtePhy::m_cellId, ns3::LteUeCphySapUser::UeMeasurementsParameters::m_componentCarrierId, ns3::LtePhy::m_componentCarrierId, m_reportUeMeasurements, m_rnti, ns3::LteUeCphySapUser::UeMeasurementsElement::m_rsrp, ns3::LteUeCphySapUser::UeMeasurementsElement::m_rsrq, m_ueCphySapUser, m_ueMeasurementsFilterPeriod, ns3::LteUeCphySapUser::UeMeasurementsParameters::m_ueMeasurementsList, m_ueMeasurementsMap, ns3::Simulator::Now(), NS_LOG_DEBUG, NS_LOG_FUNCTION, ns3::LteUeCphySapUser::ReportUeMeasurements(), and ns3::Simulator::Schedule().

Referenced by LteUePhy().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LteUePhy::SendSrs ( )

Send the SRS signal in the last symbols of the frame.

Definition at line 1175 of file lte-ue-phy.cc.

References ns3::LteUePowerControl::GetSrsTxPower(), ns3::LtePhy::m_cellId, m_enableUplinkPowerControl, m_powerControl, m_rnti, ns3::LtePhy::m_txPower, ns3::LtePhy::m_ulBandwidth, ns3::LtePhy::m_uplinkSpectrumPhy, NS_ASSERT, NS_LOG_FUNCTION, and SetSubChannelsForTransmission().

Referenced by SubframeIndication().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Set the HARQ PHY module.

Parameters
harqthe HARQ PHY module

Definition at line 1442 of file lte-ue-phy.cc.

References m_harqPhyModule.

void ns3::LteUePhy::SetLteUeCphySapUser ( LteUeCphySapUser s)

Set the CPHY SAP User.

Parameters
sa pointer to the SAP user

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

References m_ueCphySapUser, and NS_LOG_FUNCTION.

void ns3::LteUePhy::SetLteUePhySapUser ( LteUePhySapUser s)

Set the PHY SAP User.

Parameters
sa pointer to the SAP user

Definition at line 333 of file lte-ue-phy.cc.

References m_uePhySapUser, and NS_LOG_FUNCTION.

void ns3::LteUePhy::SetNoiseFigure ( double  nf)
Parameters
nfthe noise figure in dB

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

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

Referenced by GetTypeId().

+ Here is the caller graph for this function:

void ns3::LteUePhy::SetSubChannelsForReception ( std::vector< int >  mask)

Get a list of sub channels to use in RX.

Parameters
masklist of sub channels

Definition at line 443 of file lte-ue-phy.cc.

References m_subChannelsForReception, and NS_LOG_FUNCTION.

Referenced by ReceiveLteControlMessageList().

+ Here is the caller graph for this function:

void ns3::LteUePhy::SetSubChannelsForTransmission ( std::vector< int >  mask)

Set a list of sub channels to use in TX.

Parameters
maska list of sub channels

Definition at line 431 of file lte-ue-phy.cc.

References CreateTxPowerSpectralDensity(), m_subChannelsForTransmission, ns3::LtePhy::m_uplinkSpectrumPhy, and NS_LOG_FUNCTION.

Referenced by SendSrs(), and SubframeIndication().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LteUePhy::SetTxMode1Gain ( double  gain)
private

Set transmit mode 1 gain function.

Parameters
[in]gain

Definition at line 1359 of file lte-ue-phy.cc.

References SetTxModeGain().

Referenced by GetTypeId().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LteUePhy::SetTxMode2Gain ( double  gain)
private

Set transmit mode 2 gain function.

Parameters
[in]gain

Definition at line 1365 of file lte-ue-phy.cc.

References SetTxModeGain().

Referenced by GetTypeId().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LteUePhy::SetTxMode3Gain ( double  gain)
private

Set transmit mode 3 gain function.

Parameters
[in]gain

Definition at line 1371 of file lte-ue-phy.cc.

References SetTxModeGain().

Referenced by GetTypeId().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LteUePhy::SetTxMode4Gain ( double  gain)
private

Set transmit mode 4 gain function.

Parameters
[in]gain

Definition at line 1377 of file lte-ue-phy.cc.

References SetTxModeGain().

Referenced by GetTypeId().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LteUePhy::SetTxMode5Gain ( double  gain)
private

Set transmit mode 5 gain function.

Parameters
[in]gain

Definition at line 1383 of file lte-ue-phy.cc.

References SetTxModeGain().

Referenced by GetTypeId().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LteUePhy::SetTxMode6Gain ( double  gain)
private

Set transmit mode 6 gain function.

Parameters
[in]gain

Definition at line 1389 of file lte-ue-phy.cc.

References SetTxModeGain().

Referenced by GetTypeId().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LteUePhy::SetTxMode7Gain ( double  gain)
private

Set transmit mode 7 gain function.

Parameters
[in]gain

Definition at line 1395 of file lte-ue-phy.cc.

References SetTxModeGain().

Referenced by GetTypeId().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Set transmit mode gain function.

Parameters
[in]txMode
[in]gain

Definition at line 1402 of file lte-ue-phy.cc.

References ns3::LtePhy::m_downlinkSpectrumPhy, m_txModeGain, and NS_LOG_FUNCTION.

Referenced by SetTxMode1Gain(), SetTxMode2Gain(), SetTxMode3Gain(), SetTxMode4Gain(), SetTxMode5Gain(), SetTxMode6Gain(), and SetTxMode7Gain().

+ Here is the caller graph for this function:

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

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

References m_powerControl, ns3::LtePhy::m_txPower, NS_LOG_FUNCTION, and ns3::LteUePowerControl::SetTxPower().

Referenced by GetTypeId().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::LteUePhy::SwitchToState ( State  s)
private

Switch the UE PHY to the given state.

Parameters
sthe destination state

Definition at line 1457 of file lte-ue-phy.cc.

References ns3::LtePhy::m_cellId, m_rnti, m_state, m_stateTransitionTrace, NS_LOG_FUNCTION, NS_LOG_INFO, and ns3::ToString().

Referenced by DoStartCellSearch(), and DoSynchronizeWithEnb().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Friends And Related Function Documentation

friend class MemberLteUeCphySapProvider< LteUePhy >
friend

allow MemberLteUeCphySapProvider<LteUePhy> class friend access

Definition at line 57 of file lte-ue-phy.h.

friend class UeMemberLteUePhySapProvider
friend

allow UeMemberLteUePhySapProvider class friend access

Definition at line 55 of file lte-ue-phy.h.

Referenced by LteUePhy().

Member Data Documentation

Time ns3::LteUePhy::m_a30CqiLast
private

last aperiodic CQI

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

Referenced by CreateDlCqiFeedbackMessage(), DoReset(), and GenerateCqiRsrpRsrq().

Time ns3::LteUePhy::m_a30CqiPeriodicity
private

SubBand Aperiodic CQI.

Activated by DCI format 0 or Random Access Response Grant.

Note
Defines a periodicity for academic studies.

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

Referenced by CreateDlCqiFeedbackMessage(), and GenerateCqiRsrpRsrq().

Ptr<LteAmc> ns3::LteUePhy::m_amc
private

AMC.

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

Referenced by CreateDlCqiFeedbackMessage(), and LteUePhy().

SpectrumValue ns3::LteUePhy::m_dataInterferencePower
private

data interference power

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

Referenced by GenerateMixedCqiReport(), and ReportDataInterference().

bool ns3::LteUePhy::m_dataInterferencePowerUpdated
private

data interference power updated?

Definition at line 528 of file lte-ue-phy.h.

Referenced by GenerateMixedCqiReport(), and ReportDataInterference().

bool ns3::LteUePhy::m_dlConfigured
private

DL configured?

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

Referenced by DoReset(), DoSetDlBandwidth(), DoSynchronizeWithEnb(), and GenerateCqiRsrpRsrq().

bool ns3::LteUePhy::m_enableUplinkPowerControl
private

The EnableUplinkPowerControl attribute.

If true, Uplink Power Control will be enabled.

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

Referenced by GetTypeId(), ReceiveLteControlMessageList(), ReportRsReceivedPower(), SendSrs(), and SubframeIndication().

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

HARQ phy module.

Definition at line 569 of file lte-ue-phy.h.

Referenced by ReceiveLteControlMessageList(), and SetHarqPhyModule().

Ptr<SpectrumValue> ns3::LteUePhy::m_noisePsd
private

Noise power spectral density for the configured bandwidth.

Definition at line 609 of file lte-ue-phy.h.

Referenced by DoSetDlBandwidth().

Time ns3::LteUePhy::m_p10CqiLast
private

last periodic CQI

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

Referenced by CreateDlCqiFeedbackMessage(), DoReset(), and GenerateCqiRsrpRsrq().

Time ns3::LteUePhy::m_p10CqiPeriodicity
private

Wideband Periodic CQI. 2, 5, 10, 16, 20, 32, 40, 64, 80 or 160 ms.

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

Referenced by CreateDlCqiFeedbackMessage(), and GenerateCqiRsrpRsrq().

double ns3::LteUePhy::m_paLinear
private

PA linear.

Definition at line 506 of file lte-ue-phy.h.

Referenced by DoReset(), DoSetPa(), and GenerateMixedCqiReport().

Ptr<LteUePowerControl> ns3::LteUePhy::m_powerControl
private
std::list<PssElement> ns3::LteUePhy::m_pssList
private

PSS list.

Definition at line 539 of file lte-ue-phy.h.

Referenced by GenerateCqiRsrpRsrq(), and ReceivePss().

bool ns3::LteUePhy::m_pssReceived
private

PSS received?

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

Referenced by GenerateCqiRsrpRsrq(), ReceivePss(), and SubframeIndication().

double ns3::LteUePhy::m_pssReceptionThreshold
private

The RsrqUeMeasThreshold attribute.

Receive threshold for PSS on RSRQ in dB.

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

Referenced by GenerateCqiRsrpRsrq(), and GetTypeId().

uint32_t ns3::LteUePhy::m_raPreambleId
private

RA preamble ID.

Definition at line 571 of file lte-ue-phy.h.

Referenced by DoReset(), DoSendRachPreamble(), and ReceiveLteControlMessageList().

uint32_t ns3::LteUePhy::m_raRnti
private

RA rnti.

Definition at line 572 of file lte-ue-phy.h.

Referenced by DoReset(), DoSendRachPreamble(), and ReceiveLteControlMessageList().

TracedCallback<uint16_t, uint16_t, double, double, uint8_t> ns3::LteUePhy::m_reportCurrentCellRsrpSinrTrace
private

The ReportCurrentCellRsrpSinr trace source.

Trace information regarding RSRP and average SINR (see TS 36.214). Exporting cell ID, RNTI, RSRP, and SINR. Moreover it reports the m_componentCarrierId.

Definition at line 579 of file lte-ue-phy.h.

Referenced by GenerateCqiRsrpRsrq(), and GetTypeId().

TracedCallback<uint16_t, uint16_t, double, double, bool, uint8_t> ns3::LteUePhy::m_reportUeMeasurements
private

The ReportUeMeasurements trace source.

Contains trace information regarding RSRP and RSRQ measured from a specific cell (see TS 36.214). Exporting RNTI, the ID of the measured cell, RSRP (in dBm), RSRQ (in dB), and whether the cell is the serving cell. Moreover it report the m_componentCarrierId.

Definition at line 597 of file lte-ue-phy.h.

Referenced by GetTypeId(), and ReportUeMeasurements().

SpectrumValue ns3::LteUePhy::m_rsInterferencePower
private

RS interference power.

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

Referenced by GenerateCqiRsrpRsrq(), and ReportInterference().

bool ns3::LteUePhy::m_rsInterferencePowerUpdated
private

RS interference power updated?

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

Referenced by GenerateCqiRsrpRsrq(), ReportInterference(), and SubframeIndication().

SpectrumValue ns3::LteUePhy::m_rsReceivedPower
private

RS receive power.

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

Referenced by GenerateCqiRsrpRsrq(), GenerateMixedCqiReport(), and ReportRsReceivedPower().

bool ns3::LteUePhy::m_rsReceivedPowerUpdated
private

RS receive power updated?

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

Referenced by GenerateCqiRsrpRsrq(), ReportRsReceivedPower(), and SubframeIndication().

uint16_t ns3::LteUePhy::m_rsrpSinrSampleCounter
private

The RsrpSinrSampleCounter attribute.

The sampling counter for reporting RSRP-SINR stats.

Definition at line 589 of file lte-ue-phy.h.

Referenced by DoReset(), and GenerateCqiRsrpRsrq().

uint16_t ns3::LteUePhy::m_rsrpSinrSamplePeriod
private

The RsrpSinrSamplePeriod attribute.

The sampling period for reporting RSRP-SINR stats.

Definition at line 584 of file lte-ue-phy.h.

Referenced by GenerateCqiRsrpRsrq(), and GetTypeId().

EventId ns3::LteUePhy::m_sendSrsEvent
private

send SRS event

Definition at line 599 of file lte-ue-phy.h.

Referenced by DoReset(), and SubframeIndication().

uint16_t ns3::LteUePhy::m_srsConfigured
private

SRS configured.

Definition at line 503 of file lte-ue-phy.h.

Referenced by DoReset(), DoSetSrsConfigurationIndex(), and SubframeIndication().

uint16_t ns3::LteUePhy::m_srsPeriodicity
private

SRS periodicity.

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

Referenced by DoReset(), DoSetSrsConfigurationIndex(), and SubframeIndication().

Time ns3::LteUePhy::m_srsStartTime
private

SRS start time.

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

Referenced by DoSetSrsConfigurationIndex(), and SubframeIndication().

uint16_t ns3::LteUePhy::m_srsSubframeOffset
private

SRS subframe offset.

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

Referenced by DoSetSrsConfigurationIndex(), and SubframeIndication().

State ns3::LteUePhy::m_state
private

The current UE PHY state.

Definition at line 512 of file lte-ue-phy.h.

Referenced by GenerateCqiRsrpRsrq(), GenerateMixedCqiReport(), GetState(), and SwitchToState().

TracedCallback<uint16_t, uint16_t, State, State> ns3::LteUePhy::m_stateTransitionTrace
private

The StateTransition trace source.

Fired upon every UE PHY state transition. Exporting the serving cell ID, RNTI, old state, and new state.

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

Referenced by GetTypeId(), and SwitchToState().

std::vector<int> ns3::LteUePhy::m_subChannelsForReception
private

A list of sub channels to use in RX.

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

Referenced by GetSubChannelsForReception(), and SetSubChannelsForReception().

std::vector<int> ns3::LteUePhy::m_subChannelsForTransmission
private

A list of sub channels to use in TX.

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

Referenced by GetSubChannelsForTransmission(), and SetSubChannelsForTransmission().

std::vector< std::vector <int> > ns3::LteUePhy::m_subChannelsForTransmissionQueue
private

subchannels for transmission queue

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

Referenced by DoReset(), QueueSubChannelsForTransmission(), and SubframeIndication().

uint8_t ns3::LteUePhy::m_subframeNo
private
Todo:
Can be removed.

Definition at line 520 of file lte-ue-phy.h.

Referenced by SubframeIndication().

uint8_t ns3::LteUePhy::m_transmissionMode
private

the transmission mode

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

Referenced by CreateDlCqiFeedbackMessage(), DoReset(), and DoSetTransmissionMode().

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

the transmit mode gain

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

Referenced by CreateDlCqiFeedbackMessage(), SetTxModeGain(), and ~LteUePhy().

LteUeCphySapProvider* ns3::LteUePhy::m_ueCphySapProvider
private

UE CPhy SAP provider.

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

Referenced by DoDispose(), GetLteUeCphySapProvider(), and LteUePhy().

LteUeCphySapUser* ns3::LteUePhy::m_ueCphySapUser
private

UE CPhy SAP user.

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

Referenced by ReceiveLteControlMessageList(), ReportUeMeasurements(), and SetLteUeCphySapUser().

Time ns3::LteUePhy::m_ueMeasurementsFilterLast
private
Todo:
Can be removed.

Definition at line 567 of file lte-ue-phy.h.

Time ns3::LteUePhy::m_ueMeasurementsFilterPeriod
private

The UeMeasurementsFilterPeriod attribute.

Time period for reporting UE measurements, i.e., the length of layer-1 filtering (default 200 ms).

Definition at line 565 of file lte-ue-phy.h.

Referenced by GetTypeId(), LteUePhy(), and ReportUeMeasurements().

std::map<uint16_t, UeMeasurementsElement> ns3::LteUePhy::m_ueMeasurementsMap
private

Store measurement results during the last layer-1 filtering period.

Indexed by the cell ID where the measurements come from.

Definition at line 560 of file lte-ue-phy.h.

Referenced by GenerateCqiRsrpRsrq(), ReceivePss(), and ReportUeMeasurements().

LteUePhySapProvider* ns3::LteUePhy::m_uePhySapProvider
private

UE Phy SAP provider.

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

Referenced by DoDispose(), GetLteUePhySapProvider(), and LteUePhy().

LteUePhySapUser* ns3::LteUePhy::m_uePhySapUser
private

UE Phy SAP user.

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

Referenced by PhyPduReceived(), ReceiveLteControlMessageList(), SetLteUePhySapUser(), and SubframeIndication().

bool ns3::LteUePhy::m_ulConfigured
private

UL configured?

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

Referenced by DoConfigureUplink(), DoReset(), DoSynchronizeWithEnb(), GenerateCqiRsrpRsrq(), and SubframeIndication().

TracedCallback<PhyTransmissionStatParameters> ns3::LteUePhy::m_ulPhyTransmission
private

The UlPhyTransmission trace source.

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

Definition at line 606 of file lte-ue-phy.h.

Referenced by GetTypeId(), and ReceiveLteControlMessageList().


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