A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ns3::LteUePhy Class Reference

#include <lte-ue-phy.h>

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

Classes

struct  PssElement
 
struct  UeMeasurementsElement
 

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)
 
virtual void DoInitialize (void)
 
virtual void GenerateCtrlCqiReport (const SpectrumValue &sinr)
 
virtual void GenerateDataCqiReport (const SpectrumValue &sinr)
 
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
 
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
 
void PhyPduReceived (Ptr< Packet > p)
 PhySpectrum received a new PHY-PDU. More...
 
virtual void ReceiveLteControlMessageList (std::list< Ptr< LteControlMessage > >)
 
virtual void ReceiveLteDlHarqFeedback (DlInfoListElement_s mes)
 PhySpectrum generated a new DL HARQ feedback. More...
 
virtual void ReceivePss (uint16_t cellId, Ptr< SpectrumValue > p)
 
virtual void ReportInterference (const SpectrumValue &interf)
 
virtual void ReportRsReceivedPower (const SpectrumValue &power)
 
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 pow)
 
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)
 
std::list< Ptr
< LteControlMessage > > 
GetControlMessages (void)
 
Ptr< LteNetDeviceGetDevice ()
 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)
 
void SetMacPdu (Ptr< Packet > p)
 
void SetTti (double tti)
 Receive SendLteControlMessage (PDCCH map, CQI feedbacks) using the ideal control channel. More...
 
void SetUplinkChannel (Ptr< SpectrumChannel > c)
 
- Public Member Functions inherited from ns3::Object
 Object ()
 
virtual ~Object ()
 
void AggregateObject (Ptr< Object > other)
 
void Dispose (void)
 
AggregateIterator GetAggregateIterator (void) const
 
virtual TypeId GetInstanceTypeId (void) const
 
template<typename T >
Ptr< T > GetObject (void) const
 
template<typename T >
Ptr< T > GetObject (TypeId tid) const
 
void Initialize (void)
 
- Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
 SimpleRefCount ()
 
 SimpleRefCount (const SimpleRefCount &o)
 
uint32_t GetReferenceCount (void) const
 
SimpleRefCountoperator= (const SimpleRefCount &o)
 
void Ref (void) const
 
void Unref (void) const
 
- Public Member Functions inherited from ns3::ObjectBase
virtual ~ObjectBase ()
 
void GetAttribute (std::string name, AttributeValue &value) const
 
bool GetAttributeFailSafe (std::string name, AttributeValue &attribute) const
 
void SetAttribute (std::string name, const AttributeValue &value)
 
bool SetAttributeFailSafe (std::string name, const AttributeValue &value)
 
bool TraceConnect (std::string name, std::string context, const CallbackBase &cb)
 
bool TraceConnectWithoutContext (std::string name, const CallbackBase &cb)
 
bool TraceDisconnect (std::string name, std::string context, const CallbackBase &cb)
 
bool TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb)
 

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)
 
- Static Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
static void Cleanup (void)
 
- Static Public Member Functions inherited from ns3::ObjectBase
static TypeId GetTypeId (void)
 

Private Member Functions

void DoConfigureUplink (uint16_t ulEarfcn, uint8_t ulBandwidth)
 
void DoReset ()
 
virtual void DoSendLteControlMessage (Ptr< LteControlMessage > msg)
 
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)
 
void DoSetDlBandwidth (uint8_t ulBandwidth)
 
void DoSetRnti (uint16_t rnti)
 
void DoSetSrsConfigurationIndex (uint16_t srcCi)
 
void DoSetTransmissionMode (uint8_t txMode)
 
void DoSyncronizeWithEnb (uint16_t cellId, uint16_t dlEarfcn)
 
void QueueSubChannelsForTransmission (std::vector< int > rbMap)
 
void ReportUeMeasurements ()
 
void SetTxMode1Gain (double gain)
 
void SetTxMode2Gain (double gain)
 
void SetTxMode3Gain (double gain)
 
void SetTxMode4Gain (double gain)
 
void SetTxMode5Gain (double gain)
 
void SetTxMode6Gain (double gain)
 
void SetTxMode7Gain (double gain)
 
void SetTxModeGain (uint8_t txMode, double gain)
 

Private Attributes

Time m_a30CqiLast
 
Time m_a30CqiPeriocity
 
Ptr< LteAmcm_amc
 
bool m_dlConfigured
 
Ptr< LteHarqPhym_harqPhyModule
 
Time m_p10CqiLast
 
Time m_p10CqiPeriocity
 
std::list< PssElementm_pssList
 
bool m_pssReceived
 
double m_pssReceptionThreshold
 
uint32_t m_raPreambleId
 
uint32_t m_raRnti
 
TracedCallback< uint16_t,
uint16_t, double, double > 
m_reportCurrentCellRsrpSinrTrace
 
TracedCallback< uint16_t,
uint16_t, double, double, bool > 
m_reportUeMeasurements
 
uint16_t m_rnti
 
SpectrumValue m_rsIntereferencePower
 
bool m_rsInterferencePowerUpdated
 
SpectrumValue m_rsReceivedPower
 
bool m_rsReceivedPowerUpdated
 
uint16_t m_rsrpSinrSampleCounter
 
uint16_t m_rsrpSinrSamplePeriod
 
EventId m_sendSrsEvent
 
uint16_t m_srsConfigured
 
uint16_t m_srsPeriodicity
 
Time m_srsStartTime
 
uint16_t m_srsSubframeOffset
 
std::vector< int > m_subChannelsForReception
 
std::vector< int > m_subChannelsForTransmission
 
std::vector< std::vector< int > > m_subChannelsForTransmissionQueue
 
uint8_t m_subframeNo
 
uint8_t m_transmissionMode
 
std::vector< double > m_txModeGain
 
LteUeCphySapProviderm_ueCphySapProvider
 
LteUeCphySapUserm_ueCphySapUser
 
Time m_ueMeasurementsFilterLast
 
Time m_ueMeasurementsFilterPeriod
 
std::map< uint16_t,
UeMeasurementsElement
m_UeMeasurementsMap
 
LteUePhySapProviderm_uePhySapProvider
 
LteUePhySapUserm_uePhySapUser
 
bool m_ulConfigured
 
TracedCallback
< PhyTransmissionStatParameters
m_ulPhyTransmission
 

Friends

class MemberLteUeCphySapProvider< LteUePhy >
 
class UeMemberLteUePhySapProvider
 

Additional Inherited Members

- Protected Member Functions inherited from ns3::Object
 Object (const Object &o)
 
virtual void NotifyNewAggregate (void)
 
- Protected Member Functions inherited from ns3::ObjectBase
void ConstructSelf (const AttributeConstructionList &attributes)
 
virtual void NotifyConstructionCompleted (void)
 
- Protected Attributes inherited from ns3::LtePhy
uint16_t m_cellId
 
std::vector< std::list< Ptr
< LteControlMessage > > > 
m_controlMessagesQueue
 
uint8_t m_dlBandwidth
 
uint16_t m_dlEarfcn
 
Ptr< LteSpectrumPhym_downlinkSpectrumPhy
 
uint8_t m_macChTtiDelay
 
Ptr< LteNetDevicem_netDevice
 
double m_noiseFigure
 
std::vector< Ptr< PacketBurst > > m_packetBurstQueue
 
uint8_t m_rbgSize
 
double m_tti
 
double m_txPower
 
uint8_t m_ulBandwidth
 
uint16_t m_ulEarfcn
 
Ptr< LteSpectrumPhym_uplinkSpectrumPhy
 

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/LteUePhy
  • /NodeList/[i]/DeviceList/[i]/$ns3::LteUeNetDevice/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)
  • DlSpectrumPhy: The downlink LteSpectrumPhy associated to this LtePhy
    • Set with class: ns3::PointerValue
    • Underlying type: ns3::Ptr< ns3::LteSpectrumPhy >
    • Flags: read
  • UlSpectrumPhy: The uplink LteSpectrumPhy associated to this LtePhy
    • Set with class: ns3::PointerValue
    • Underlying type: ns3::Ptr< ns3::LteSpectrumPhy >
    • Flags: read
  • 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 (default 200 ms.)
    • Set with class: ns3::TimeValue
    • Underlying type: Time -9223372036854775808.0ns:+9223372036854775807.0ns
    • Initial value: +200000000.0ns
    • Flags: construct write read

TraceSources

  • ReportCurrentCellRsrpSinr: RSRP and SINR statistics.
  • UlPhyTransmission: DL transmission PHY layer statistics.
  • ReportUeMeasurements: Report UE measurements RSRP (dBm) and RSRQ (dB).

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

Constructor & Destructor Documentation

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

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

References NS_FATAL_ERROR, and NS_LOG_FUNCTION.

ns3::LteUePhy::~LteUePhy ( )
virtual

Definition at line 147 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

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

References ns3::CqiListElement_s::A30, ns3::LtePhy::GetRbgSize(), m_a30CqiLast, m_a30CqiPeriocity, m_amc, ns3::LtePhy::m_dlBandwidth, ns3::SbMeasResult_s::m_higherLayerSelected, m_p10CqiLast, m_p10CqiPeriocity, 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 GenerateCtrlCqiReport().

+ 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 397 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::DoConfigureUplink ( uint16_t  ulEarfcn,
uint8_t  ulBandwidth 
)
private
void ns3::LteUePhy::DoDispose ( void  )
virtual

This method is called by Object::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 153 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

This method is called only once by Object::Initialize. If the user calls Object::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 263 of file lte-ue-phy.cc.

References ns3::Object::DoInitialize(), and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

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

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

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

Referenced by GenerateCtrlCqiReport(), 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 346 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

Definition at line 694 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  ulBandwidth)
private
void ns3::LteUePhy::DoSetRnti ( uint16_t  rnti)
private

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

References m_rnti, and NS_LOG_FUNCTION.

void ns3::LteUePhy::DoSetSrsConfigurationIndex ( uint16_t  srcCi)
private
void ns3::LteUePhy::DoSetTransmissionMode ( uint8_t  txMode)
private
void ns3::LteUePhy::DoSyncronizeWithEnb ( uint16_t  cellId,
uint16_t  dlEarfcn 
)
private
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 535 of file lte-ue-phy.cc.

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

Definition at line 334 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 292 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 277 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 328 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 306 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:

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 389 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 381 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 320 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 340 of file lte-ue-phy.cc.

References ns3::LtePhy::m_uplinkSpectrumPhy.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

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

PhySpectrum received a new PHY-PDU.

Definition at line 355 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

Definition at line 875 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::ReceiveLteDlHarqFeedback ( DlInfoListElement_s  mes)
virtual

PhySpectrum generated a new DL HARQ feedback.

Definition at line 1173 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::ReceivePss ( uint16_t  cellId,
Ptr< SpectrumValue p 
)
virtual
void ns3::LteUePhy::ReportInterference ( const SpectrumValue power)
virtual

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

Parameters
sinrthe interference + noise power measured by the device

Implements ns3::LtePhy.

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

References m_rsIntereferencePower, m_rsInterferencePowerUpdated, and NS_LOG_FUNCTION.

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

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

Parameters
sinrthe RS power measured by the device

Implements ns3::LtePhy.

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

References m_rsReceivedPower, m_rsReceivedPowerUpdated, and NS_LOG_FUNCTION.

void ns3::LteUePhy::SendSrs ( )

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

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

References ns3::LtePhy::m_cellId, m_rnti, 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.

Definition at line 1183 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 285 of file lte-ue-phy.cc.

References m_ueCphySapUser, NS_LOG_FUNCTION, and s.

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

Set the PHY SAP User.

Parameters
sa pointer to the SAP user

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

References m_uePhySapUser, NS_LOG_FUNCTION, and s.

void ns3::LteUePhy::SetNoiseFigure ( double  pow)
Parameters
pwthe noise figure in dB

Definition at line 299 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 373 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 361 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

Definition at line 1100 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

Definition at line 1106 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

Definition at line 1112 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

Definition at line 1118 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

Definition at line 1124 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

Definition at line 1130 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

Definition at line 1136 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

Definition at line 1143 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
pwthe transmission power in dBm

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

Friends And Related Function Documentation

friend class MemberLteUeCphySapProvider< LteUePhy >
friend

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

friend class UeMemberLteUePhySapProvider
friend

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

Referenced by LteUePhy().

Member Data Documentation

Time ns3::LteUePhy::m_a30CqiLast
private

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

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

Time ns3::LteUePhy::m_a30CqiPeriocity
private

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

Referenced by CreateDlCqiFeedbackMessage(), and GenerateCtrlCqiReport().

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

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

Referenced by CreateDlCqiFeedbackMessage(), and LteUePhy().

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

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

Referenced by ReceiveLteControlMessageList(), and SetHarqPhyModule().

Time ns3::LteUePhy::m_p10CqiLast
private

SubBand Aperiodic CQI: activated by DCI format 0 or Random Access Response Grant

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

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

Time ns3::LteUePhy::m_p10CqiPeriocity
private

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

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

Referenced by CreateDlCqiFeedbackMessage(), and GenerateCtrlCqiReport().

std::list<PssElement> ns3::LteUePhy::m_pssList
private

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

Referenced by GenerateCtrlCqiReport(), and ReceivePss().

bool ns3::LteUePhy::m_pssReceived
private

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

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

double ns3::LteUePhy::m_pssReceptionThreshold
private

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

Referenced by GenerateCtrlCqiReport(), and GetTypeId().

uint32_t ns3::LteUePhy::m_raPreambleId
private

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

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

uint32_t ns3::LteUePhy::m_raRnti
private

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

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

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

Trace information regarding RSRP and average SINR (see TS 36.214) uint16_t cellId, uint16_t rnti, double rsrp, double sinr

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

Referenced by GenerateCtrlCqiReport(), and GetTypeId().

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

Trace information regarding RSRP and RSRQ (see TS 36.214) uint16_t rnti, uint16_t cellId, double rsrp, double sinr, bool servingCell

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

Referenced by GetTypeId(), and ReportUeMeasurements().

SpectrumValue ns3::LteUePhy::m_rsIntereferencePower
private

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

Referenced by GenerateCtrlCqiReport(), and ReportInterference().

bool ns3::LteUePhy::m_rsInterferencePowerUpdated
private

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

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

SpectrumValue ns3::LteUePhy::m_rsReceivedPower
private

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

Referenced by GenerateCtrlCqiReport(), and ReportRsReceivedPower().

bool ns3::LteUePhy::m_rsReceivedPowerUpdated
private

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

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

uint16_t ns3::LteUePhy::m_rsrpSinrSampleCounter
private

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

Referenced by DoReset(), and GenerateCtrlCqiReport().

uint16_t ns3::LteUePhy::m_rsrpSinrSamplePeriod
private

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

Referenced by GenerateCtrlCqiReport(), and GetTypeId().

EventId ns3::LteUePhy::m_sendSrsEvent
private

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

Referenced by DoReset(), and SubframeIndication().

uint16_t ns3::LteUePhy::m_srsConfigured
private

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

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

uint16_t ns3::LteUePhy::m_srsPeriodicity
private

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

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

Time ns3::LteUePhy::m_srsStartTime
private

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

Referenced by DoSetSrsConfigurationIndex(), and SubframeIndication().

uint16_t ns3::LteUePhy::m_srsSubframeOffset
private

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

Referenced by DoSetSrsConfigurationIndex(), and SubframeIndication().

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

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

Referenced by GetSubChannelsForReception(), and SetSubChannelsForReception().

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

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

Referenced by GetSubChannelsForTransmission(), and SetSubChannelsForTransmission().

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

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

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

uint8_t ns3::LteUePhy::m_subframeNo
private

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

Referenced by SubframeIndication().

uint8_t ns3::LteUePhy::m_transmissionMode
private

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

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

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

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

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

LteUeCphySapProvider* ns3::LteUePhy::m_ueCphySapProvider
private

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

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

LteUeCphySapUser* ns3::LteUePhy::m_ueCphySapUser
private
Time ns3::LteUePhy::m_ueMeasurementsFilterLast
private

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

Time ns3::LteUePhy::m_ueMeasurementsFilterPeriod
private

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

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

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

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

Referenced by GenerateCtrlCqiReport(), and ReportUeMeasurements().

LteUePhySapProvider* ns3::LteUePhy::m_uePhySapProvider
private

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

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

LteUePhySapUser* ns3::LteUePhy::m_uePhySapUser
private
bool ns3::LteUePhy::m_ulConfigured
private
TracedCallback<PhyTransmissionStatParameters> ns3::LteUePhy::m_ulPhyTransmission
private

Trace information regarding PHY stats from DL Tx perspective PhyTrasmissionStatParameters see lte-common.h

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

Referenced by GetTypeId(), and ReceiveLteControlMessageList().


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