The LteSpectrumPhy models the physical layer of LTE. More...
#include "lte-ue-phy.h"
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< DlCqiLteControlMessage > | CreateDlCqiFeedbackMessage (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< SpectrumValue > | CreateTxPowerSpectralDensity () |
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< LteSpectrumPhy > | GetDlSpectrumPhy () const |
LteUeCphySapProvider * | GetLteUeCphySapProvider () |
Get the CPHY SAP provider. More... | |
LteUePhySapProvider * | GetLteUePhySapProvider () |
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< LteSpectrumPhy > | GetUlSpectrumPhy () const |
Ptr< LteUePowerControl > | GetUplinkPowerControl () 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< LteNetDevice > | GetDevice () const |
Get the device where the phy layer is attached. More... | |
Ptr< LteSpectrumPhy > | GetDownlinkSpectrumPhy () |
Ptr< PacketBurst > | GetPacketBurst (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< LteSpectrumPhy > | GetUplinkSpectrumPhy () |
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... | |
SimpleRefCount & | operator= (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 control 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< LteAmc > | m_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< LteHarqPhy > | m_harqPhyModule |
HARQ phy module. More... | |
Ptr< SpectrumValue > | m_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< LteUePowerControl > | m_powerControl |
Pointer to UE Uplink Power Control entity. More... | |
std::list< PssElement > | m_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, State > | m_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... | |
LteUeCphySapProvider * | m_ueCphySapProvider |
UE CPhy SAP provider. More... | |
LteUeCphySapUser * | m_ueCphySapUser |
UE CPhy SAP user. More... | |
Time | m_ueMeasurementsFilterLast |
Time | m_ueMeasurementsFilterPeriod |
The UeMeasurementsFilterPeriod attribute. More... | |
std::map< uint16_t, UeMeasurementsElement > | m_ueMeasurementsMap |
Store measurement results during the last layer-1 filtering period. More... | |
LteUePhySapProvider * | m_uePhySapProvider |
UE Phy SAP provider. More... | |
LteUePhySapUser * | m_uePhySapUser |
UE Phy SAP user. More... | |
bool | m_ulConfigured |
UL configured? More... | |
TracedCallback< PhyTransmissionStatParameters > | m_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< LteSpectrumPhy > | m_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< LteNetDevice > | m_netDevice |
Pointer to the NetDevice where this PHY layer is attached. More... | |
double | m_noiseFigure |
Loss (dB) in the Signal-to-Noise-Ratio due to non-idealities in the receiver. More... | |
std::vector< Ptr< PacketBurst > > | m_packetBurstQueue |
A queue of packet bursts to be sent. More... | |
uint8_t | m_rbgSize |
The RB group size according to the bandwidth. More... | |
double | m_tti |
Transmission time interval. More... | |
double | m_txPower |
Transmission power in dBm. More... | |
uint8_t | m_ulBandwidth |
The UL bandwidth in number of PRBs. More... | |
uint32_t | m_ulEarfcn |
The uplink carrier frequency. More... | |
Ptr< LteSpectrumPhy > | m_uplinkSpectrumPhy |
The uplink LteSpectrumPhy associated to this LtePhy. More... | |
Related Functions inherited from ns3::ObjectBase | |
static TypeId | GetObjectIid (void) |
Ensure the TypeId for ObjectBase gets fully configured to anchor the inheritance tree properly. More... | |
The LteSpectrumPhy models the physical layer of LTE.
ns3::LteUePhy is accessible through the following paths with Config::Set and Config::Connect:
Size of this type is 752 bytes (on a 64-bit architecture).
Definition at line 51 of file lte-ue-phy.h.
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.
[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.
[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.
[in] | cellId | |
[in] | rnti | |
[in] | oldState | |
[in] | newState |
Definition at line 277 of file lte-ue-phy.h.
enum ns3::LteUePhy::State |
The states of the UE PHY entity.
Enumerator | |
---|---|
CELL_SEARCH | |
SYNCHRONIZED | |
NUM_STATES |
Definition at line 63 of file lte-ue-phy.h.
ns3::LteUePhy::LteUePhy | ( | ) |
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 | ||
) |
dlPhy | the downlink LteSpectrumPhy instance |
ulPhy | the uplink LteSpectrumPhy instance |
Definition at line 147 of file lte-ue-phy.cc.
References DoReset(), m_amc, ns3::LtePhy::m_macChTtiDelay, m_powerControl, m_ueCphySapProvider, m_ueMeasurementsFilterPeriod, m_uePhySapProvider, ns3::Simulator::Now(), NS_ASSERT_MSG(), ReportUeMeasurements(), ns3::Simulator::Schedule(), UeMemberLteUePhySapProvider, and UL_PUSCH_TTIS_DELAY.
|
virtual |
Definition at line 177 of file lte-ue-phy.cc.
References m_txModeGain.
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.
sinr | SINR values vector |
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().
|
virtual |
Create the PSD for the TX.
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().
|
private |
Configure reference signal power function.
referenceSignalPower | reference signal power |
Definition at line 1313 of file lte-ue-phy.cc.
References ns3::LteUePowerControl::ConfigureReferenceSignalPower(), m_powerControl, and NS_LOG_FUNCTION.
|
private |
Configure UL uplink function.
ulEarfcn | UL EARFCN |
ulBandwidth | the UL bandwidth |
Definition at line 1305 of file lte-ue-phy.cc.
References ns3::LtePhy::m_ulBandwidth, m_ulConfigured, and ns3::LtePhy::m_ulEarfcn.
|
virtual |
Destructor implementation.
This method is called by Dispose() or by the Object's destructor, whichever comes first.
Subclasses are expected to implement their real destruction code in an overridden version of this method and chain up to their parent's implementation once they are done. i.e, for simplicity, the destructor of every subclass should be empty and its content should be moved to the associated DoDispose() method.
It is safe to call GetObject() from within this method.
Reimplemented from ns3::LtePhy.
Definition at line 183 of file lte-ue-phy.cc.
References ns3::LtePhy::DoDispose(), m_ueCphySapProvider, m_uePhySapProvider, and NS_LOG_FUNCTION.
|
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().
|
private |
Reset function.
Definition at line 1197 of file lte-ue-phy.cc.
References ns3::EventId::Cancel(), m_a30CqiLast, ns3::LtePhy::m_controlMessagesQueue, m_dlConfigured, ns3::LtePhy::m_downlinkSpectrumPhy, ns3::LtePhy::m_macChTtiDelay, m_p10CqiLast, ns3::LtePhy::m_packetBurstQueue, m_paLinear, m_raPreambleId, m_raRnti, m_rnti, m_rsrpSinrSampleCounter, m_sendSrsEvent, m_srsConfigured, m_srsPeriodicity, m_subChannelsForTransmissionQueue, m_transmissionMode, m_ulConfigured, ns3::LtePhy::m_uplinkSpectrumPhy, ns3::Simulator::Now(), and NS_LOG_FUNCTION.
Referenced by LteUePhy().
|
privatevirtual |
Send LTE control message function.
msg | the 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().
Queue the MAC PDU to be sent (according to m_macChTtiDelay)
p | the 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().
|
privatevirtual |
Send RACH preamble function.
prachId | the RACH preamble ID |
raRnti | the 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().
|
private |
Set DL bandwidth function.
dlBandwidth | the 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().
|
private |
Set PA function.
pa | the PA value |
Definition at line 1352 of file lte-ue-phy.cc.
References m_paLinear, and NS_LOG_FUNCTION.
|
private |
Set RNTI function.
rnti | the 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().
|
private |
Set SRS configuration index function.
srcCi | the 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.
|
private |
Set transmission mode function.
txMode | the transmission mode |
Definition at line 1330 of file lte-ue-phy.cc.
References ns3::LtePhy::m_downlinkSpectrumPhy, m_transmissionMode, and NS_LOG_FUNCTION.
|
private |
Start the cell search function.
dlEarfcn | the 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().
|
private |
Synchronize with ENB function.
cellId | the 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().
|
private |
Synchronize with ENB function.
cellId | the cell ID |
dlEarfcn | the DL EARFCN |
Definition at line 1243 of file lte-ue-phy.cc.
References DoSynchronizeWithEnb(), ns3::LtePhy::m_dlEarfcn, and NS_LOG_FUNCTION.
|
private |
internal method that takes care of generating CQI reports, calculating the RSRP and RSRQ metrics, and generating RSRP+SINR traces
sinr |
Definition at line 485 of file lte-ue-phy.cc.
References CELL_SEARCH, ns3::SpectrumValue::ConstValuesBegin(), ns3::SpectrumValue::ConstValuesEnd(), CreateDlCqiFeedbackMessage(), DoSendLteControlMessage(), ns3::LtePhy::GetDevice(), m_a30CqiLast, m_a30CqiPeriodicity, ns3::LtePhy::m_cellId, ns3::LtePhy::m_componentCarrierId, m_dlConfigured, m_p10CqiLast, m_p10CqiPeriodicity, m_pssList, m_pssReceived, m_pssReceptionThreshold, m_reportCurrentCellRsrpSinrTrace, m_rnti, m_rsInterferencePower, m_rsInterferencePowerUpdated, m_rsReceivedPower, m_rsReceivedPowerUpdated, m_rsrpSinrSampleCounter, m_rsrpSinrSamplePeriod, m_state, m_ueMeasurementsMap, m_ulConfigured, ns3::Simulator::Now(), NS_ASSERT, NS_ASSERT_MSG(), NS_LOG_FUNCTION, NS_LOG_INFO, and NS_LOG_WARN.
Referenced by GenerateCtrlCqiReport(), and GenerateMixedCqiReport().
|
virtual |
generate a CQI report based on the given SINR of Ctrl frame
sinr | the 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().
|
virtual |
generate a CQI report based on the given SINR of Data frame (used for PUSCH CQIs)
sinr | the SINR vs frequency measured by the device |
Implements ns3::LtePhy.
Definition at line 608 of file lte-ue-phy.cc.
|
virtual |
Create the mixed CQI report.
sinr | SINR 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().
Ptr< LteSpectrumPhy > ns3::LteUePhy::GetDlSpectrumPhy | ( | ) | const |
Definition at line 404 of file lte-ue-phy.cc.
References ns3::LtePhy::m_downlinkSpectrumPhy.
Referenced by GetTypeId().
LteUeCphySapProvider * ns3::LteUePhy::GetLteUeCphySapProvider | ( | ) |
Get the CPHY 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.
Definition at line 340 of file lte-ue-phy.cc.
References m_uePhySapProvider, and NS_LOG_FUNCTION.
uint8_t ns3::LteUePhy::GetMacChDelay | ( | void | ) | const |
Definition at line 398 of file lte-ue-phy.cc.
References ns3::LtePhy::m_macChTtiDelay.
double ns3::LteUePhy::GetNoiseFigure | ( | ) | const |
Definition at line 369 of file lte-ue-phy.cc.
References ns3::LtePhy::m_noiseFigure, and NS_LOG_FUNCTION.
Referenced by GetTypeId().
LteUePhy::State ns3::LteUePhy::GetState | ( | void | ) | const |
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.
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.
Definition at line 451 of file lte-ue-phy.cc.
References m_subChannelsForTransmission, and NS_LOG_FUNCTION.
Referenced by CreateTxPowerSpectralDensity().
double ns3::LteUePhy::GetTxPower | ( | ) | const |
Definition at line 384 of file lte-ue-phy.cc.
References ns3::LtePhy::m_txPower, and NS_LOG_FUNCTION.
Referenced by GetTypeId().
|
static |
Get the type ID.
Definition at line 194 of file lte-ue-phy.cc.
References ns3::TypeId::ATTR_GET, GetDlSpectrumPhy(), GetNoiseFigure(), GetTxPower(), GetUlSpectrumPhy(), m_enableUplinkPowerControl, m_pssReceptionThreshold, m_reportCurrentCellRsrpSinrTrace, m_reportUeMeasurements, m_rsrpSinrSamplePeriod, m_stateTransitionTrace, m_ueMeasurementsFilterPeriod, m_ulPhyTransmission, ns3::MakeBooleanAccessor(), ns3::MakeBooleanChecker(), ns3::MakeDoubleAccessor(), ns3::MakePointerAccessor(), ns3::MakeTimeAccessor(), ns3::MakeTimeChecker(), ns3::MakeTraceSourceAccessor(), ns3::MakeUintegerAccessor(), ns3::MilliSeconds(), SetNoiseFigure(), ns3::TypeId::SetParent(), SetTxMode1Gain(), SetTxMode2Gain(), SetTxMode3Gain(), SetTxMode4Gain(), SetTxMode5Gain(), SetTxMode6Gain(), SetTxMode7Gain(), and SetTxPower().
Ptr< LteSpectrumPhy > ns3::LteUePhy::GetUlSpectrumPhy | ( | ) | const |
Definition at line 410 of file lte-ue-phy.cc.
References ns3::LtePhy::m_uplinkSpectrumPhy.
Referenced by GetTypeId().
Ptr< LteUePowerControl > ns3::LteUePhy::GetUplinkPowerControl | ( | ) | const |
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().
PhySpectrum received a new PHY-PDU.
p | the packet received |
Definition at line 425 of file lte-ue-phy.cc.
References m_uePhySapUser, and ns3::LteUePhySapUser::ReceivePhyPdu().
Referenced by ns3::LteHelper::InstallSingleUeDevice().
|
private |
queue subchannels for transmission function
[in] | rbMap |
Definition at line 1077 of file lte-ue-phy.cc.
References ns3::LtePhy::m_macChTtiDelay, and m_subChannelsForTransmissionQueue.
Referenced by ReceiveLteControlMessageList().
|
virtual |
Receive LTE control message list function.
msgList | LTE 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().
|
virtual |
PhySpectrum generated a new DL HARQ feedback.
mes | the 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().
|
virtual |
Receive PSS function.
cellId | the cell ID |
p | PSS list |
Definition at line 1023 of file lte-ue-phy.cc.
References ns3::LteUePhy::PssElement::cellId, ns3::SpectrumValue::ConstValuesBegin(), ns3::SpectrumValue::ConstValuesEnd(), ns3::LtePhy::m_cellId, m_pssList, m_pssReceived, m_rnti, m_ueMeasurementsMap, ns3::LteUePhy::PssElement::nRB, NS_LOG_FUNCTION, NS_LOG_INFO, ns3::LteUePhy::PssElement::pssPsdSum, ns3::LteUePhy::UeMeasurementsElement::rsrpNum, ns3::LteUePhy::UeMeasurementsElement::rsrpSum, ns3::LteUePhy::UeMeasurementsElement::rsrqNum, and ns3::LteUePhy::UeMeasurementsElement::rsrqSum.
Referenced by ns3::LteHelper::InstallSingleUeDevice().
|
virtual |
Create the mixed CQI report.
interf | interference 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().
|
virtual |
generate a report based on the linear interference and noise power perceived during DATA frame NOTE: used only by eNB
interf | the 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().
|
virtual |
generate a report based on the linear RS power perceived during CTRL frame NOTE: used only by UE for evaluating RSRP
power | the 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().
|
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().
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().
void ns3::LteUePhy::SetHarqPhyModule | ( | Ptr< LteHarqPhy > | harq | ) |
Set the HARQ PHY module.
harq | the 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.
s | a 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.
s | a 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 | ) |
nf | the 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().
void ns3::LteUePhy::SetSubChannelsForReception | ( | std::vector< int > | mask | ) |
Get a list of sub channels to use in RX.
mask | list of sub channels |
Definition at line 443 of file lte-ue-phy.cc.
References m_subChannelsForReception, and NS_LOG_FUNCTION.
Referenced by ReceiveLteControlMessageList().
void ns3::LteUePhy::SetSubChannelsForTransmission | ( | std::vector< int > | mask | ) |
Set a list of sub channels to use in TX.
mask | a 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().
|
private |
Set transmit mode 1 gain function.
[in] | gain |
Definition at line 1359 of file lte-ue-phy.cc.
References SetTxModeGain().
Referenced by GetTypeId().
|
private |
Set transmit mode 2 gain function.
[in] | gain |
Definition at line 1365 of file lte-ue-phy.cc.
References SetTxModeGain().
Referenced by GetTypeId().
|
private |
Set transmit mode 3 gain function.
[in] | gain |
Definition at line 1371 of file lte-ue-phy.cc.
References SetTxModeGain().
Referenced by GetTypeId().
|
private |
Set transmit mode 4 gain function.
[in] | gain |
Definition at line 1377 of file lte-ue-phy.cc.
References SetTxModeGain().
Referenced by GetTypeId().
|
private |
Set transmit mode 5 gain function.
[in] | gain |
Definition at line 1383 of file lte-ue-phy.cc.
References SetTxModeGain().
Referenced by GetTypeId().
|
private |
Set transmit mode 6 gain function.
[in] | gain |
Definition at line 1389 of file lte-ue-phy.cc.
References SetTxModeGain().
Referenced by GetTypeId().
|
private |
Set transmit mode 7 gain function.
[in] | gain |
Definition at line 1395 of file lte-ue-phy.cc.
References SetTxModeGain().
Referenced by GetTypeId().
|
private |
Set transmit mode gain function.
[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().
void ns3::LteUePhy::SetTxPower | ( | double | pow | ) |
pow | the 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().
void ns3::LteUePhy::SubframeIndication | ( | uint32_t | frameNo, |
uint32_t | subframeNo | ||
) |
trigger from eNB the start from a new frame
frameNo | frame number |
subframeNo | subframe number |
Definition at line 1084 of file lte-ue-phy.cc.
References ns3::LtePhy::GetControlMessages(), ns3::LtePhy::GetPacketBurst(), ns3::LteUePowerControl::GetPucchTxPower(), ns3::LteUePowerControl::GetPuschTxPower(), ns3::LtePhy::GetTti(), ns3::LtePhy::m_cellId, m_enableUplinkPowerControl, ns3::LtePhy::m_macChTtiDelay, m_powerControl, m_pssReceived, m_rnti, m_rsInterferencePowerUpdated, m_rsReceivedPowerUpdated, m_sendSrsEvent, m_srsConfigured, m_srsPeriodicity, m_srsStartTime, m_srsSubframeOffset, m_subChannelsForTransmissionQueue, m_subframeNo, ns3::LtePhy::m_txPower, m_uePhySapUser, m_ulConfigured, ns3::LtePhy::m_uplinkSpectrumPhy, ns3::Simulator::Now(), NS_ASSERT_MSG(), NS_LOG_FUNCTION, NS_LOG_INFO, NS_LOG_LOGIC(), ns3::Simulator::Schedule(), ns3::Seconds(), SendSrs(), SetSubChannelsForTransmission(), ns3::LteUePhySapUser::SubframeIndication(), ns3::UL_DATA_DURATION, and ns3::UL_SRS_DELAY_FROM_SUBFRAME_START.
Referenced by DoInitialize().
|
private |
Switch the UE PHY to the given state.
s | the 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().
|
friend |
allow MemberLteUeCphySapProvider<LteUePhy> class friend access
Definition at line 57 of file lte-ue-phy.h.
|
friend |
allow UeMemberLteUePhySapProvider class friend access
Definition at line 55 of file lte-ue-phy.h.
Referenced by LteUePhy().
|
private |
last aperiodic CQI
Definition at line 488 of file lte-ue-phy.h.
Referenced by CreateDlCqiFeedbackMessage(), DoReset(), and GenerateCqiRsrpRsrq().
|
private |
SubBand Aperiodic CQI.
Activated by DCI format 0 or Random Access Response Grant.
Definition at line 487 of file lte-ue-phy.h.
Referenced by CreateDlCqiFeedbackMessage(), and GenerateCqiRsrpRsrq().
AMC.
Definition at line 468 of file lte-ue-phy.h.
Referenced by CreateDlCqiFeedbackMessage(), and LteUePhy().
|
private |
data interference power
Definition at line 529 of file lte-ue-phy.h.
Referenced by GenerateMixedCqiReport(), and ReportDataInterference().
|
private |
data interference power updated?
Definition at line 528 of file lte-ue-phy.h.
Referenced by GenerateMixedCqiReport(), and ReportDataInterference().
|
private |
DL configured?
Definition at line 508 of file lte-ue-phy.h.
Referenced by DoReset(), DoSetDlBandwidth(), DoSynchronizeWithEnb(), and GenerateCqiRsrpRsrq().
|
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().
|
private |
HARQ phy module.
Definition at line 569 of file lte-ue-phy.h.
Referenced by ReceiveLteControlMessageList(), and SetHarqPhyModule().
|
private |
Noise power spectral density for the configured bandwidth.
Definition at line 609 of file lte-ue-phy.h.
Referenced by DoSetDlBandwidth().
|
private |
last periodic CQI
Definition at line 480 of file lte-ue-phy.h.
Referenced by CreateDlCqiFeedbackMessage(), DoReset(), and GenerateCqiRsrpRsrq().
|
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().
|
private |
PA linear.
Definition at line 506 of file lte-ue-phy.h.
Referenced by DoReset(), DoSetPa(), and GenerateMixedCqiReport().
|
private |
Pointer to UE Uplink Power Control entity.
Definition at line 476 of file lte-ue-phy.h.
Referenced by DoConfigureReferenceSignalPower(), DoSetRnti(), GetUplinkPowerControl(), LteUePhy(), ReceiveLteControlMessageList(), ReportRsReceivedPower(), SendSrs(), SetTxPower(), and SubframeIndication().
|
private |
PSS list.
Definition at line 539 of file lte-ue-phy.h.
Referenced by GenerateCqiRsrpRsrq(), and ReceivePss().
|
private |
PSS received?
Definition at line 531 of file lte-ue-phy.h.
Referenced by GenerateCqiRsrpRsrq(), ReceivePss(), and SubframeIndication().
|
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().
|
private |
RA preamble ID.
Definition at line 571 of file lte-ue-phy.h.
Referenced by DoReset(), DoSendRachPreamble(), and ReceiveLteControlMessageList().
|
private |
RA rnti.
Definition at line 572 of file lte-ue-phy.h.
Referenced by DoReset(), DoSendRachPreamble(), and ReceiveLteControlMessageList().
|
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().
|
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().
|
private |
the RNTI
Definition at line 496 of file lte-ue-phy.h.
Referenced by CreateDlCqiFeedbackMessage(), DoReset(), DoSetRnti(), DoSetSrsConfigurationIndex(), GenerateCqiRsrpRsrq(), ReceiveLteControlMessageList(), ReceivePss(), ReportUeMeasurements(), SendSrs(), SubframeIndication(), and SwitchToState().
|
private |
RS interference power.
Definition at line 526 of file lte-ue-phy.h.
Referenced by GenerateCqiRsrpRsrq(), and ReportInterference().
|
private |
RS interference power updated?
Definition at line 525 of file lte-ue-phy.h.
Referenced by GenerateCqiRsrpRsrq(), ReportInterference(), and SubframeIndication().
|
private |
RS receive power.
Definition at line 523 of file lte-ue-phy.h.
Referenced by GenerateCqiRsrpRsrq(), GenerateMixedCqiReport(), and ReportRsReceivedPower().
|
private |
RS receive power updated?
Definition at line 522 of file lte-ue-phy.h.
Referenced by GenerateCqiRsrpRsrq(), ReportRsReceivedPower(), and SubframeIndication().
|
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().
|
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().
|
private |
send SRS event
Definition at line 599 of file lte-ue-phy.h.
Referenced by DoReset(), and SubframeIndication().
|
private |
SRS configured.
Definition at line 503 of file lte-ue-phy.h.
Referenced by DoReset(), DoSetSrsConfigurationIndex(), and SubframeIndication().
|
private |
SRS periodicity.
Definition at line 501 of file lte-ue-phy.h.
Referenced by DoReset(), DoSetSrsConfigurationIndex(), and SubframeIndication().
|
private |
SRS start time.
Definition at line 504 of file lte-ue-phy.h.
Referenced by DoSetSrsConfigurationIndex(), and SubframeIndication().
|
private |
SRS subframe offset.
Definition at line 502 of file lte-ue-phy.h.
Referenced by DoSetSrsConfigurationIndex(), and SubframeIndication().
|
private |
The current UE PHY state.
Definition at line 512 of file lte-ue-phy.h.
Referenced by GenerateCqiRsrpRsrq(), GenerateMixedCqiReport(), GetState(), and SwitchToState().
|
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().
|
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().
|
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().
|
private |
subchannels for transmission queue
Definition at line 465 of file lte-ue-phy.h.
Referenced by DoReset(), QueueSubChannelsForTransmission(), and SubframeIndication().
|
private |
Definition at line 520 of file lte-ue-phy.h.
Referenced by SubframeIndication().
|
private |
the transmission mode
Definition at line 498 of file lte-ue-phy.h.
Referenced by CreateDlCqiFeedbackMessage(), DoReset(), and DoSetTransmissionMode().
|
private |
the transmit mode gain
Definition at line 499 of file lte-ue-phy.h.
Referenced by CreateDlCqiFeedbackMessage(), SetTxModeGain(), and ~LteUePhy().
|
private |
UE CPhy SAP provider.
Definition at line 493 of file lte-ue-phy.h.
Referenced by DoDispose(), GetLteUeCphySapProvider(), and LteUePhy().
|
private |
UE CPhy SAP user.
Definition at line 494 of file lte-ue-phy.h.
Referenced by ReceiveLteControlMessageList(), ReportUeMeasurements(), and SetLteUeCphySapUser().
|
private |
Definition at line 567 of file lte-ue-phy.h.
|
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().
|
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().
|
private |
UE Phy SAP provider.
Definition at line 490 of file lte-ue-phy.h.
Referenced by DoDispose(), GetLteUePhySapProvider(), and LteUePhy().
|
private |
UE Phy SAP user.
Definition at line 491 of file lte-ue-phy.h.
Referenced by PhyPduReceived(), ReceiveLteControlMessageList(), SetLteUePhySapUser(), and SubframeIndication().
|
private |
UL configured?
Definition at line 509 of file lte-ue-phy.h.
Referenced by DoConfigureUplink(), DoReset(), DoSynchronizeWithEnb(), GenerateCqiRsrpRsrq(), and SubframeIndication().
|
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().