A Discrete-Event Network Simulator
API
lte-ue-phy.h
Go to the documentation of this file.
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2 /*
3  * Copyright (c) 2010 TELEMATICS LAB, DEE - Politecnico di Bari
4  * Copyright (c) 2018 Fraunhofer ESK : RLF extensions
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License version 2 as
8  * published by the Free Software Foundation;
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18  *
19  * Author: Giuseppe Piro <g.piro@poliba.it>
20  * Author: Marco Miozzo <mmiozzo@cttc.es>
21  * Modified by:
22  * Vignesh Babu <ns3-dev@esk.fraunhofer.de> (RLF extensions)
23  */
24 
25 #ifndef LTE_UE_PHY_H
26 #define LTE_UE_PHY_H
27 
28 
29 #include <ns3/lte-phy.h>
30 #include <ns3/ff-mac-common.h>
31 
32 #include <ns3/lte-control-messages.h>
33 #include <ns3/lte-amc.h>
34 #include <ns3/lte-ue-phy-sap.h>
35 #include <ns3/lte-ue-cphy-sap.h>
36 #include <ns3/ptr.h>
37 #include <ns3/lte-amc.h>
38 #include <set>
39 #include <ns3/lte-ue-power-control.h>
40 
41 
42 namespace ns3 {
43 
44 class PacketBurst;
45 class LteEnbPhy;
46 class LteHarqPhy;
47 
48 
54 class LteUePhy : public LtePhy
55 {
56 
61 
62 public:
66  enum State
67  {
71  };
72 
76  LteUePhy ();
77 
84 
85  virtual ~LteUePhy ();
86 
91  static TypeId GetTypeId (void);
92  // inherited from Object
93  virtual void DoInitialize (void);
94  virtual void DoDispose (void);
95 
102 
109 
116 
123 
124 
130  void SetTxPower (double pow);
131 
137  double GetTxPower () const;
138 
145 
151  void SetNoiseFigure (double nf);
152 
158  double GetNoiseFigure () const;
159 
165  uint8_t GetMacChDelay (void) const;
166 
173 
180 
187 
193  void SetSubChannelsForTransmission (std::vector <int> mask);
199  std::vector <int> GetSubChannelsForTransmission (void);
200 
206  void SetSubChannelsForReception (std::vector <int> mask);
212  std::vector <int> GetSubChannelsForReception (void);
213 
222 
223 
224 
225  // inherited from LtePhy
226  virtual void GenerateCtrlCqiReport (const SpectrumValue& sinr);
227  virtual void GenerateDataCqiReport (const SpectrumValue& sinr);
233  virtual void GenerateMixedCqiReport (const SpectrumValue& sinr);
234  virtual void ReportInterference (const SpectrumValue& interf);
240  virtual void ReportDataInterference (const SpectrumValue& interf);
241  virtual void ReportRsReceivedPower (const SpectrumValue& power);
242 
243  // callbacks for LteSpectrumPhy
256  virtual void ReceivePss (uint16_t cellId, Ptr<SpectrumValue> p);
257 
258 
264  void PhyPduReceived (Ptr<Packet> p);
265 
266 
273  void SubframeIndication (uint32_t frameNo, uint32_t subframeNo);
274 
275 
279  void SendSrs ();
280 
286  virtual void EnqueueDlHarqFeedback (DlInfoListElement_s mes);
287 
293  void SetHarqPhyModule (Ptr<LteHarqPhy> harq);
294 
300  State GetState () const;
301 
310  typedef void (* StateTracedCallback)
311  (uint16_t cellId, uint16_t rnti, State oldState, State newState);
312 
322  typedef void (* RsrpSinrTracedCallback)
323  (uint16_t cellId, uint16_t rnti,
324  double rsrp, double sinr, uint8_t componentCarrierId);
325 
336  typedef void (* RsrpRsrqTracedCallback)
337  (uint16_t rnti, uint16_t cellId, double rsrp, double rsrq,
338  bool isServingCell, uint8_t componentCarrierId);
339 
347  (uint16_t rnti, const std::vector<int>& rbs);
348 
356  (uint16_t rnti, Ptr<SpectrumValue> psd);
357 
358 private:
359 
365  void SetTxMode1Gain (double gain);
371  void SetTxMode2Gain (double gain);
377  void SetTxMode3Gain (double gain);
383  void SetTxMode4Gain (double gain);
389  void SetTxMode5Gain (double gain);
395  void SetTxMode6Gain (double gain);
401  void SetTxMode7Gain (double gain);
408  void SetTxModeGain (uint8_t txMode, double gain);
414  void QueueSubChannelsForTransmission (std::vector <int> rbMap);
423  void GenerateCqiRsrpRsrq (const SpectrumValue& sinr);
431  void ReportUeMeasurements ();
438  void SetDownlinkCqiPeriodicity (Time cqiPeriodicity);
443  void SwitchToState (State s);
453  void SetNumQoutEvalSf (uint16_t numSubframes);
463  void SetNumQinEvalSf (uint16_t numSubframes);
473  uint16_t GetNumQoutEvalSf () const;
483  uint16_t GetNumQinEvalSf () const;
484 
485  // UE CPHY SAP methods
489  void DoReset ();
495  void DoStartCellSearch (uint32_t dlEarfcn);
501  void DoSynchronizeWithEnb (uint16_t cellId);
508  void DoSynchronizeWithEnb (uint16_t cellId, uint32_t dlEarfcn);
514  uint16_t DoGetCellId ();
519  uint32_t DoGetDlEarfcn ();
525  void DoSetDlBandwidth (uint16_t dlBandwidth);
532  void DoConfigureUplink (uint32_t ulEarfcn, uint16_t ulBandwidth);
538  void DoConfigureReferenceSignalPower (int8_t referenceSignalPower);
544  void DoSetRnti (uint16_t rnti);
550  void DoSetTransmissionMode (uint8_t txMode);
556  void DoSetSrsConfigurationIndex (uint16_t srcCi);
562  void DoSetPa (double pa);
570  void DoResetPhyAfterRlf ();
579  void DoResetRlfParams ();
580 
590  void DoStartInSnycDetection ();
591 
610  void RlfDetection (double sinrdB);
619  void InitializeRlfParams ();
625  void DoSetImsi (uint64_t imsi);
634  void DoSetRsrpFilterCoefficient (uint8_t rsrpFilterCoefficient);
641  double ComputeAvgSinr (const SpectrumValue& sinr);
642 
643  // UE PHY SAP methods
644  virtual void DoSendMacPdu (Ptr<Packet> p);
657  virtual void DoSendRachPreamble (uint32_t prachId, uint32_t raRnti);
662  virtual void DoNotifyConnectionSuccessful ();
663 
665  std::vector <int> m_subChannelsForTransmission;
667  std::vector <int> m_subChannelsForReception;
668 
669  std::vector< std::vector <int> > m_subChannelsForTransmissionQueue;
670 
671 
673 
681 
685 
693 
696 
699 
700  uint16_t m_rnti;
701 
703  std::vector <double> m_txModeGain;
704 
705  uint16_t m_srsPeriodicity;
707  uint16_t m_srsConfigured;
709 
710  double m_paLinear;
711 
714 
722 
724  uint8_t m_subframeNo;
725 
728 
731 
734 
737  struct PssElement
738  {
739  uint16_t cellId;
740  double pssPsdSum;
741  uint16_t nRB;
742  };
743  std::list <PssElement> m_pssList;
744 
750 
753  {
754  double rsrpSum;
755  uint8_t rsrpNum;
756  double rsrqSum;
757  uint8_t rsrqNum;
758  };
759 
764  std::map <uint16_t, UeMeasurementsElement> m_ueMeasurementsMap;
772 
774 
775  uint32_t m_raPreambleId;
776  uint32_t m_raRnti;
777 
794 
802 
804 
811 
818 
825 
826 
829 
836  double m_qIn;
837 
843  double m_qOut;
844 
845  uint16_t m_numOfQoutEvalSf;
846  uint16_t m_numOfQinEvalSf;
847 
849  uint16_t m_numOfSubframes;
850  uint16_t m_numOfFrames;
851  double m_sinrDbFrame;
853  uint64_t m_imsi;
855 
856 }; // end of `class LteUePhy`
857 
858 
859 }
860 
861 #endif /* LTE_UE_PHY_H */
An identifier for simulation events.
Definition: event-id.h:54
The LtePhy models the physical layer of LTE.
Definition: lte-phy.h:53
Service Access Point (SAP) offered by the UE PHY to the UE RRC for control purposes.
Service Access Point (SAP) offered by the UE PHY to the UE RRC for control purposes.
The LteSpectrumPhy models the physical layer of LTE.
Definition: lte-ue-phy.h:55
void SetTxMode1Gain(double gain)
Set transmit mode 1 gain function.
Definition: lte-ue-phy.cc:1686
SpectrumValue m_dataInterferencePower
data interference power
Definition: lte-ue-phy.h:733
Time m_ueMeasurementsFilterLast
Definition: lte-ue-phy.h:771
virtual void DoInitialize(void)
Initialize() implementation.
Definition: lte-ue-phy.cc:361
void SetSubChannelsForTransmission(std::vector< int > mask)
Set a list of sub channels to use in TX.
Definition: lte-ue-phy.cc:509
void SetHarqPhyModule(Ptr< LteHarqPhy > harq)
Set the HARQ PHY module.
Definition: lte-ue-phy.cc:1769
void DoSetDlBandwidth(uint16_t dlBandwidth)
Set DL bandwidth function.
Definition: lte-ue-phy.cc:1461
uint16_t GetNumQinEvalSf() const
Get number of Qin evaluation subframes.
Definition: lte-ue-phy.cc:487
void SetTxMode3Gain(double gain)
Set transmit mode 3 gain function.
Definition: lte-ue-phy.cc:1698
uint16_t m_numOfQinEvalSf
the downlink radio link quality is estimated over this period for detecting in-syncs
Definition: lte-ue-phy.h:846
LteUePhySapUser * m_uePhySapUser
UE Phy SAP user.
Definition: lte-ue-phy.h:695
uint16_t DoGetCellId()
Get cell ID.
Definition: lte-ue-phy.cc:1449
uint16_t m_rsrpSinrSampleCounter
The RsrpSinrSampleCounter attribute.
Definition: lte-ue-phy.h:793
void(* StateTracedCallback)(uint16_t cellId, uint16_t rnti, State oldState, State newState)
TracedCallback signature for state transition events.
Definition: lte-ue-phy.h:311
virtual void ReportDataInterference(const SpectrumValue &interf)
Create the mixed CQI report.
Definition: lte-ue-phy.cc:806
void QueueSubChannelsForTransmission(std::vector< int > rbMap)
Queue subchannels for transmission function.
Definition: lte-ue-phy.cc:1239
void DoConfigureUplink(uint32_t ulEarfcn, uint16_t ulBandwidth)
Configure UL uplink function.
Definition: lte-ue-phy.cc:1492
virtual void ReceivePss(uint16_t cellId, Ptr< SpectrumValue > p)
Receive PSS function.
Definition: lte-ue-phy.cc:1185
uint16_t m_srsPeriodicity
SRS periodicity.
Definition: lte-ue-phy.h:705
void DoResetPhyAfterRlf()
Reset Phy after radio link failure function.
Definition: lte-ue-phy.cc:1553
virtual void DoNotifyConnectionSuccessful()
Notify PHY about the successful RRC connection establishment.
Definition: lte-ue-phy.cc:1012
bool m_dlConfigured
DL configured?
Definition: lte-ue-phy.h:712
LteUePhySapProvider * GetLteUePhySapProvider()
Get the PHY SAP provider.
Definition: lte-ue-phy.cc:386
Time m_srsStartTime
SRS start time.
Definition: lte-ue-phy.h:708
TracedCallback< uint16_t, Ptr< SpectrumValue > > m_reportPowerSpectralDensity
The ReportsPowerSpectralDensity trace source.
Definition: lte-ue-phy.h:824
double GetNoiseFigure() const
Get noise figure.
Definition: lte-ue-phy.cc:415
virtual void GenerateDataCqiReport(const SpectrumValue &sinr)
generate a CQI report based on the given SINR of Data frame (used for PUSCH CQIs)
Definition: lte-ue-phy.cc:726
Time m_p10CqiLast
last periodic CQI
Definition: lte-ue-phy.h:684
std::map< uint16_t, UeMeasurementsElement > m_ueMeasurementsMap
Store measurement results during the last layer-1 filtering period.
Definition: lte-ue-phy.h:764
LteUePhySapProvider * m_uePhySapProvider
UE Phy SAP provider.
Definition: lte-ue-phy.h:694
uint16_t GetNumQoutEvalSf() const
Get number of Qout evaluation subframes.
Definition: lte-ue-phy.cc:480
bool m_rsInterferencePowerUpdated
RS interference power updated?
Definition: lte-ue-phy.h:729
void(* RsrpRsrqTracedCallback)(uint16_t rnti, uint16_t cellId, double rsrp, double rsrq, bool isServingCell, uint8_t componentCarrierId)
TracedCallback signature for cell RSRP and RSRQ.
Definition: lte-ue-phy.h:337
virtual void ReceiveLteControlMessageList(std::list< Ptr< LteControlMessage > > msgList)
Receive LTE control message list function.
Definition: lte-ue-phy.cc:1030
Ptr< SpectrumValue > m_noisePsd
Noise power spectral density for the configured bandwidth.
Definition: lte-ue-phy.h:827
uint32_t DoGetDlEarfcn()
Get DL EARFCN.
Definition: lte-ue-phy.cc:1455
double ComputeAvgSinr(const SpectrumValue &sinr)
Compute average SINR among the RBs.
Definition: lte-ue-phy.cc:705
void SetLteUePhySapUser(LteUePhySapUser *s)
Set the PHY SAP User.
Definition: lte-ue-phy.cc:379
std::vector< std::vector< int > > m_subChannelsForTransmissionQueue
subchannels for transmission queue
Definition: lte-ue-phy.h:669
virtual void DoSendRachPreamble(uint32_t prachId, uint32_t raRnti)
Send RACH preamble function.
Definition: lte-ue-phy.cc:999
void DoStartCellSearch(uint32_t dlEarfcn)
Start the cell search function.
Definition: lte-ue-phy.cc:1409
void SetTxMode6Gain(double gain)
Set transmit mode 6 gain function.
Definition: lte-ue-phy.cc:1716
LteUeCphySapProvider * m_ueCphySapProvider
UE CPhy SAP provider.
Definition: lte-ue-phy.h:697
void DoReset()
Do Reset function.
Definition: lte-ue-phy.cc:1359
void SetNumQoutEvalSf(uint16_t numSubframes)
Set number of Qout evaluation subframes.
Definition: lte-ue-phy.cc:462
State m_state
The current UE PHY state.
Definition: lte-ue-phy.h:716
bool m_pssReceived
PSS received?
Definition: lte-ue-phy.h:735
TracedCallback< uint16_t, uint16_t, double, double, uint8_t > m_reportCurrentCellRsrpSinrTrace
The ReportCurrentCellRsrpSinr trace source.
Definition: lte-ue-phy.h:783
void DoSetImsi(uint64_t imsi)
Set IMSI.
Definition: lte-ue-phy.cc:1580
void SetTxMode2Gain(double gain)
Set transmit mode 2 gain function.
Definition: lte-ue-phy.cc:1692
void DoSetRsrpFilterCoefficient(uint8_t rsrpFilterCoefficient)
Do set RSRP filter coefficient.
Definition: lte-ue-phy.cc:1546
Ptr< LteUePowerControl > m_powerControl
Pointer to UE Uplink Power Control entity.
Definition: lte-ue-phy.h:680
virtual Ptr< SpectrumValue > CreateTxPowerSpectralDensity()
Create the PSD for the TX.
Definition: lte-ue-phy.cc:545
void DoConfigureReferenceSignalPower(int8_t referenceSignalPower)
Configure reference signal power function.
Definition: lte-ue-phy.cc:1500
std::list< PssElement > m_pssList
PSS list.
Definition: lte-ue-phy.h:743
void SubframeIndication(uint32_t frameNo, uint32_t subframeNo)
trigger from eNB the start from a new frame
Definition: lte-ue-phy.cc:1246
static TypeId GetTypeId(void)
Get the type ID.
Definition: lte-ue-phy.cc:201
Ptr< LteUePowerControl > GetUplinkPowerControl() const
Get Uplink power control.
Definition: lte-ue-phy.cc:437
void RlfDetection(double sinrdB)
Radio link failure detection function.
Definition: lte-ue-phy.cc:1597
std::vector< double > m_txModeGain
the transmit mode gain
Definition: lte-ue-phy.h:703
State GetState() const
Get state of the UE physical layer.
Definition: lte-ue-phy.cc:1776
SpectrumValue m_rsReceivedPower
RS receive power.
Definition: lte-ue-phy.h:727
void DoSynchronizeWithEnb(uint16_t cellId)
Synchronize with ENB function.
Definition: lte-ue-phy.cc:1426
uint8_t GetMacChDelay(void) const
Get MAC to Channel delay.
Definition: lte-ue-phy.cc:444
void DoSetSrsConfigurationIndex(uint16_t srcCi)
Set SRS configuration index function.
Definition: lte-ue-phy.cc:1525
uint16_t m_srsSubframeOffset
SRS subframe offset.
Definition: lte-ue-phy.h:706
uint8_t m_subframeNo
Definition: lte-ue-phy.h:724
uint16_t m_srsConfigured
SRS configured.
Definition: lte-ue-phy.h:707
virtual void GenerateCtrlCqiReport(const SpectrumValue &sinr)
generate a CQI report based on the given SINR of Ctrl frame
Definition: lte-ue-phy.cc:556
uint16_t m_rsrpSinrSamplePeriod
The RsrpSinrSamplePeriod attribute.
Definition: lte-ue-phy.h:788
uint64_t m_imsi
the IMSI of the UE
Definition: lte-ue-phy.h:853
uint16_t m_rnti
the RNTI
Definition: lte-ue-phy.h:700
bool m_enableUplinkPowerControl
The EnableUplinkPowerControl attribute.
Definition: lte-ue-phy.h:678
Ptr< LteSpectrumPhy > GetDlSpectrumPhy() const
Get Downlink spectrum phy.
Definition: lte-ue-phy.cc:450
void SetTxMode5Gain(double gain)
Set transmit mode 5 gain function.
Definition: lte-ue-phy.cc:1710
void DoSetTransmissionMode(uint8_t txMode)
Set transmission mode function.
Definition: lte-ue-phy.cc:1517
bool m_enableRlfDetection
Flag to enable/disable RLF detection.
Definition: lte-ue-phy.h:854
Time m_a30CqiLast
last aperiodic CQI
Definition: lte-ue-phy.h:692
void GenerateCqiRsrpRsrq(const SpectrumValue &sinr)
Get CQI, RSRP, and RSRQ.
Definition: lte-ue-phy.cc:577
SpectrumValue m_rsInterferencePower
RS interference power.
Definition: lte-ue-phy.h:730
std::vector< int > GetSubChannelsForTransmission(void)
Get a list of sub channels to use in RX.
Definition: lte-ue-phy.cc:529
void DoResetRlfParams()
Reset radio link failure parameters.
Definition: lte-ue-phy.cc:1564
void SetDownlinkCqiPeriodicity(Time cqiPeriodicity)
Set the periodicty for the downlink periodic wideband and aperiodic subband CQI reporting.
Definition: lte-ue-phy.cc:983
Ptr< LteHarqPhy > m_harqPhyModule
HARQ phy module.
Definition: lte-ue-phy.h:773
void(* PowerSpectralDensityTracedCallback)(uint16_t rnti, Ptr< SpectrumValue > psd)
TracedCallback signature for spectral value.
Definition: lte-ue-phy.h:356
virtual void DoDispose(void)
Destructor implementation.
Definition: lte-ue-phy.cc:190
EventId m_sendSrsEvent
send SRS event
Definition: lte-ue-phy.h:803
double m_qIn
The 'Qin' attribute.
Definition: lte-ue-phy.h:836
void SetNoiseFigure(double nf)
Set noise figure.
Definition: lte-ue-phy.cc:408
virtual void ReportInterference(const SpectrumValue &interf)
generate a report based on the linear interference and noise power perceived during DATA frame NOTE: ...
Definition: lte-ue-phy.cc:798
TracedCallback< uint16_t, const std::vector< int > & > m_reportUlPhyResourceBlocks
The ReportUlPhyResourceBlocks trace source.
Definition: lte-ue-phy.h:817
void DoSetPa(double pa)
Set PA function.
Definition: lte-ue-phy.cc:1539
Ptr< DlCqiLteControlMessage > CreateDlCqiFeedbackMessage(const SpectrumValue &sinr)
Create the DL CQI feedback from SINR values perceived at the physical layer with the signal received ...
Definition: lte-ue-phy.cc:840
LteUeCphySapUser * m_ueCphySapUser
UE CPhy SAP user.
Definition: lte-ue-phy.h:698
void SetNumQinEvalSf(uint16_t numSubframes)
Set number of Qin evaluation subframes.
Definition: lte-ue-phy.cc:471
void DoStartInSnycDetection()
Start in Snyc detection function.
Definition: lte-ue-phy.cc:1572
void SetLteUeCphySapUser(LteUeCphySapUser *s)
Set the CPHY SAP User.
Definition: lte-ue-phy.cc:394
double m_sinrDbFrame
the average SINR per radio frame
Definition: lte-ue-phy.h:851
virtual ~LteUePhy()
Definition: lte-ue-phy.cc:184
void(* UlPhyResourceBlocksTracedCallback)(uint16_t rnti, const std::vector< int > &rbs)
TracedCallback signature for UL Phy resource blocks.
Definition: lte-ue-phy.h:347
TracedCallback< uint16_t, uint16_t, State, State > m_stateTransitionTrace
The StateTransition trace source.
Definition: lte-ue-phy.h:721
void SetSubChannelsForReception(std::vector< int > mask)
Get a list of sub channels to use in RX.
Definition: lte-ue-phy.cc:521
bool m_rsReceivedPowerUpdated
RS receive power updated?
Definition: lte-ue-phy.h:726
void SwitchToState(State s)
Switch the UE PHY to the given state.
Definition: lte-ue-phy.cc:1784
TracedCallback< uint16_t, uint16_t, double, double, bool, uint8_t > m_reportUeMeasurements
The ReportUeMeasurements trace source.
Definition: lte-ue-phy.h:801
double m_paLinear
PA linear.
Definition: lte-ue-phy.h:710
TracedCallback< PhyTransmissionStatParameters > m_ulPhyTransmission
The UlPhyTransmission trace source.
Definition: lte-ue-phy.h:810
bool m_isConnected
set when UE RRC is in CONNECTED_NORMALLY state
Definition: lte-ue-phy.h:830
Ptr< LteAmc > m_amc
AMC.
Definition: lte-ue-phy.h:672
std::vector< int > m_subChannelsForReception
A list of sub channels to use in RX.
Definition: lte-ue-phy.h:667
void InitializeRlfParams()
Initialize radio link failure parameters.
Definition: lte-ue-phy.cc:1587
void PhyPduReceived(Ptr< Packet > p)
PhySpectrum received a new PHY-PDU.
Definition: lte-ue-phy.cc:503
LteUeCphySapProvider * GetLteUeCphySapProvider()
Get the CPHY SAP provider.
Definition: lte-ue-phy.cc:401
bool m_ulConfigured
UL configured?
Definition: lte-ue-phy.h:713
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 ...
Definition: lte-ue-phy.cc:815
SpectrumValue m_ctrlSinrForRlf
the CTRL SINR used for RLF detection
Definition: lte-ue-phy.h:852
Time m_ueMeasurementsFilterPeriod
The UeMeasurementsFilterPeriod attribute.
Definition: lte-ue-phy.h:769
uint16_t m_numOfFrames
count the number of frames for which the downlink radio link quality is estimated
Definition: lte-ue-phy.h:850
bool m_downlinkInSync
when set, DL SINR evaluation for out-of-sync indications is conducted.
Definition: lte-ue-phy.h:848
uint16_t m_numOfQoutEvalSf
the downlink radio link quality is estimated over this period for detecting out-of-syncs
Definition: lte-ue-phy.h:845
void SetTxMode7Gain(double gain)
Set transmit mode 7 gain function.
Definition: lte-ue-phy.cc:1722
void DoSetRnti(uint16_t rnti)
Set RNTI function.
Definition: lte-ue-phy.cc:1507
virtual void DoSendMacPdu(Ptr< Packet > p)
Queue the MAC PDU to be sent (according to m_macChTtiDelay)
Definition: lte-ue-phy.cc:494
double GetTxPower() const
Get transmit power.
Definition: lte-ue-phy.cc:430
virtual void EnqueueDlHarqFeedback(DlInfoListElement_s mes)
Enqueue the downlink HARQ feedback generated by LteSpectrumPhy.
Definition: lte-ue-phy.cc:1759
std::vector< int > m_subChannelsForTransmission
A list of sub channels to use in TX.
Definition: lte-ue-phy.h:665
Time m_p10CqiPeriodicity
Wideband Periodic CQI. 2, 5, 10, 16, 20, 32, 40, 64, 80 or 160 ms.
Definition: lte-ue-phy.h:683
bool m_dataInterferencePowerUpdated
data interference power updated?
Definition: lte-ue-phy.h:732
void SetTxPower(double pow)
Set transmit power.
Definition: lte-ue-phy.cc:422
State
The states of the UE PHY entity.
Definition: lte-ue-phy.h:67
uint16_t m_numOfSubframes
count the number of subframes for which the downlink radio link quality is estimated
Definition: lte-ue-phy.h:849
void SetTxMode4Gain(double gain)
Set transmit mode 4 gain function.
Definition: lte-ue-phy.cc:1704
virtual void DoSendLteControlMessage(Ptr< LteControlMessage > msg)
Send LTE control message function.
Definition: lte-ue-phy.cc:991
Time m_a30CqiPeriodicity
SubBand Aperiodic CQI.
Definition: lte-ue-phy.h:691
Ptr< LteSpectrumPhy > GetUlSpectrumPhy() const
Get Uplink spectrum phy.
Definition: lte-ue-phy.cc:456
void ReportUeMeasurements()
Layer-1 filtering of RSRP and RSRQ measurements and reporting to the RRC entity.
Definition: lte-ue-phy.cc:940
double m_pssReceptionThreshold
The RsrqUeMeasThreshold attribute.
Definition: lte-ue-phy.h:749
uint32_t m_raPreambleId
RA preamble ID.
Definition: lte-ue-phy.h:775
double m_qOut
The 'Qout' attribute.
Definition: lte-ue-phy.h:843
void SendSrs()
Send the SRS signal in the last symbols of the frame.
Definition: lte-ue-phy.cc:1337
void(* RsrpSinrTracedCallback)(uint16_t cellId, uint16_t rnti, double rsrp, double sinr, uint8_t componentCarrierId)
TracedCallback signature for cell RSRP and SINR report.
Definition: lte-ue-phy.h:323
virtual void GenerateMixedCqiReport(const SpectrumValue &sinr)
Create the mixed CQI report.
Definition: lte-ue-phy.cc:732
uint8_t m_transmissionMode
the transmission mode
Definition: lte-ue-phy.h:702
void SetTxModeGain(uint8_t txMode, double gain)
Set transmit mode gain function.
Definition: lte-ue-phy.cc:1729
std::vector< int > GetSubChannelsForReception(void)
Get a list of sub channels to use in RX.
Definition: lte-ue-phy.cc:537
uint32_t m_raRnti
RA RNTI.
Definition: lte-ue-phy.h:776
Service Access Point (SAP) offered by the UE-PHY to the UE-MAC.
Service Access Point (SAP) offered by the PHY to the MAC.
Template for the implementation of the LteUeCphySapProvider as a member of an owner class of type C t...
Smart pointer class similar to boost::intrusive_ptr.
Definition: ptr.h:74
Set of values corresponding to a given SpectrumModel.
Simulation virtual time values and global simulation resolution.
Definition: nstime.h:103
a unique identifier for an interface.
Definition: type-id.h:59
UeMemberLteUePhySapProvider class.
Definition: lte-ue-phy.cc:78
Every class exported by the ns3 library is enclosed in the ns3 namespace.
#define list
See section 4.3.23 dlInfoListElement.
PssElement structure.
Definition: lte-ue-phy.h:738
uint16_t cellId
cell ID
Definition: lte-ue-phy.h:739
double pssPsdSum
PSS PSD sum.
Definition: lte-ue-phy.h:740
uint16_t nRB
number of RB
Definition: lte-ue-phy.h:741
Summary results of measuring a specific cell. Used for layer-1 filtering.
Definition: lte-ue-phy.h:753
double rsrqSum
Sum of RSRQ sample values in linear unit.
Definition: lte-ue-phy.h:756
uint8_t rsrpNum
Number of RSRP samples.
Definition: lte-ue-phy.h:755
double rsrpSum
Sum of RSRP sample values in linear unit.
Definition: lte-ue-phy.h:754
uint8_t rsrqNum
Number of RSRQ samples.
Definition: lte-ue-phy.h:757