A Discrete-Event Network Simulator
API
lte-ue-phy.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2010 TELEMATICS LAB, DEE - Politecnico di Bari
3  * Copyright (c) 2018 Fraunhofer ESK : RLF extensions
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License version 2 as
7  * published by the Free Software Foundation;
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17  *
18  * Author: Giuseppe Piro <g.piro@poliba.it>
19  * Author: Marco Miozzo <mmiozzo@cttc.es>
20  * Modified by:
21  * Vignesh Babu <ns3-dev@esk.fraunhofer.de> (RLF extensions)
22  */
23 
24 #ifndef LTE_UE_PHY_H
25 #define LTE_UE_PHY_H
26 
27 #include <ns3/ff-mac-common.h>
28 #include <ns3/lte-amc.h>
29 #include <ns3/lte-control-messages.h>
30 #include <ns3/lte-phy.h>
31 #include <ns3/lte-ue-cphy-sap.h>
32 #include <ns3/lte-ue-phy-sap.h>
33 #include <ns3/lte-ue-power-control.h>
34 #include <ns3/ptr.h>
35 
36 #include <set>
37 
38 namespace ns3
39 {
40 
41 class PacketBurst;
42 class LteEnbPhy;
43 class LteHarqPhy;
44 
50 class LteUePhy : public LtePhy
51 {
56 
57  public:
61  enum State
62  {
66  };
67 
71  LteUePhy();
72 
79 
80  ~LteUePhy() override;
81 
86  static TypeId GetTypeId();
87  // inherited from Object
88  void DoInitialize() override;
89  void DoDispose() override;
90 
97 
104 
111 
118 
124  void SetTxPower(double pow);
125 
131  double GetTxPower() const;
132 
139 
145  void SetNoiseFigure(double nf);
146 
152  double GetNoiseFigure() const;
153 
159  uint8_t GetMacChDelay() const;
160 
167 
174 
181 
187  void SetSubChannelsForTransmission(std::vector<int> mask);
193  std::vector<int> GetSubChannelsForTransmission();
194 
200  void SetSubChannelsForReception(std::vector<int> mask);
206  std::vector<int> GetSubChannelsForReception();
207 
216 
217  // inherited from LtePhy
218  void GenerateCtrlCqiReport(const SpectrumValue& sinr) override;
219  void GenerateDataCqiReport(const SpectrumValue& sinr) override;
225  virtual void GenerateMixedCqiReport(const SpectrumValue& sinr);
226  void ReportInterference(const SpectrumValue& interf) override;
232  virtual void ReportDataInterference(const SpectrumValue& interf);
233  void ReportRsReceivedPower(const SpectrumValue& power) override;
234 
235  // callbacks for LteSpectrumPhy
248  virtual void ReceivePss(uint16_t cellId, Ptr<SpectrumValue> p);
249 
255  void PhyPduReceived(Ptr<Packet> p);
256 
263  void SubframeIndication(uint32_t frameNo, uint32_t subframeNo);
264 
268  void SendSrs();
269 
275  virtual void EnqueueDlHarqFeedback(DlInfoListElement_s mes);
276 
283 
289  State GetState() const;
290 
299  typedef void (*StateTracedCallback)(uint16_t cellId,
300  uint16_t rnti,
301  State oldState,
302  State newState);
303 
313  typedef void (*RsrpSinrTracedCallback)(uint16_t cellId,
314  uint16_t rnti,
315  double rsrp,
316  double sinr,
317  uint8_t componentCarrierId);
318 
329  typedef void (*RsrpRsrqTracedCallback)(uint16_t rnti,
330  uint16_t cellId,
331  double rsrp,
332  double rsrq,
333  bool isServingCell,
334  uint8_t componentCarrierId);
335 
342  typedef void (*UlPhyResourceBlocksTracedCallback)(uint16_t rnti, const std::vector<int>& rbs);
343 
350  typedef void (*PowerSpectralDensityTracedCallback)(uint16_t rnti, Ptr<SpectrumValue> psd);
351 
352  private:
358  void SetTxMode1Gain(double gain);
364  void SetTxMode2Gain(double gain);
370  void SetTxMode3Gain(double gain);
376  void SetTxMode4Gain(double gain);
382  void SetTxMode5Gain(double gain);
388  void SetTxMode6Gain(double gain);
394  void SetTxMode7Gain(double gain);
401  void SetTxModeGain(uint8_t txMode, double gain);
407  void QueueSubChannelsForTransmission(std::vector<int> rbMap);
416  void GenerateCqiRsrpRsrq(const SpectrumValue& sinr);
424  void ReportUeMeasurements();
431  void SetDownlinkCqiPeriodicity(Time cqiPeriodicity);
436  void SwitchToState(State s);
446  void SetNumQoutEvalSf(uint16_t numSubframes);
456  void SetNumQinEvalSf(uint16_t numSubframes);
466  uint16_t GetNumQoutEvalSf() const;
476  uint16_t GetNumQinEvalSf() const;
477 
478  // UE CPHY SAP methods
482  void DoReset();
488  void DoStartCellSearch(uint32_t dlEarfcn);
494  void DoSynchronizeWithEnb(uint16_t cellId);
501  void DoSynchronizeWithEnb(uint16_t cellId, uint32_t dlEarfcn);
507  uint16_t DoGetCellId();
512  uint32_t DoGetDlEarfcn();
518  void DoSetDlBandwidth(uint16_t dlBandwidth);
525  void DoConfigureUplink(uint32_t ulEarfcn, uint16_t ulBandwidth);
531  void DoConfigureReferenceSignalPower(int8_t referenceSignalPower);
537  void DoSetRnti(uint16_t rnti);
543  void DoSetTransmissionMode(uint8_t txMode);
549  void DoSetSrsConfigurationIndex(uint16_t srcCi);
555  void DoSetPa(double pa);
563  void DoResetPhyAfterRlf();
572  void DoResetRlfParams();
573 
583  void DoStartInSnycDetection();
584 
603  void RlfDetection(double sinrdB);
612  void InitializeRlfParams();
618  void DoSetImsi(uint64_t imsi);
627  void DoSetRsrpFilterCoefficient(uint8_t rsrpFilterCoefficient);
634  double ComputeAvgSinr(const SpectrumValue& sinr);
635 
636  // UE PHY SAP methods
637  void DoSendMacPdu(Ptr<Packet> p) override;
650  virtual void DoSendRachPreamble(uint32_t prachId, uint32_t raRnti);
655  virtual void DoNotifyConnectionSuccessful();
656 
660  std::vector<int> m_subChannelsForReception;
661 
662  std::vector<std::vector<int>>
664 
666 
674 
678 
686 
689 
692 
693  uint16_t m_rnti;
694 
696  std::vector<double> m_txModeGain;
697 
698  uint16_t m_srsPeriodicity;
700  uint16_t m_srsConfigured;
702 
703  double m_paLinear;
704 
707 
715 
717  uint8_t m_subframeNo;
718 
721 
724 
727 
729 
731  struct PssElement
732  {
733  uint16_t cellId;
734  double pssPsdSum;
735  uint16_t nRB;
736  };
737 
738  std::list<PssElement> m_pssList;
739 
745 
748  {
749  double rsrpSum;
750  uint8_t rsrpNum;
751  double rsrqSum;
752  uint8_t rsrqNum;
753  };
754 
759  std::map<uint16_t, UeMeasurementsElement> m_ueMeasurementsMap;
767 
769 
770  uint32_t m_raPreambleId;
771  uint32_t m_raRnti;
772 
789 
797 
799 
806 
813 
820 
823 
830  double m_qIn;
831 
837  double m_qOut;
838 
839  uint16_t m_numOfQoutEvalSf;
841  uint16_t m_numOfQinEvalSf;
843 
846  uint16_t m_numOfSubframes;
848  uint16_t m_numOfFrames;
850  double m_sinrDbFrame;
852  uint64_t m_imsi;
854 
855 }; // end of `class LteUePhy`
856 
857 } // namespace ns3
858 
859 #endif /* LTE_UE_PHY_H */
An identifier for simulation events.
Definition: event-id.h:55
The LtePhy models the physical layer of LTE.
Definition: lte-phy.h:50
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:51
void SetTxMode1Gain(double gain)
Set transmit mode 1 gain function.
Definition: lte-ue-phy.cc:1702
SpectrumValue m_dataInterferencePower
data interference power
Definition: lte-ue-phy.h:726
Time m_ueMeasurementsFilterLast
Definition: lte-ue-phy.h:766
void SetSubChannelsForTransmission(std::vector< int > mask)
Set a list of sub channels to use in TX.
Definition: lte-ue-phy.cc:502
void DoInitialize() override
Initialize() implementation.
Definition: lte-ue-phy.cc:354
void SetHarqPhyModule(Ptr< LteHarqPhy > harq)
Set the HARQ PHY module.
Definition: lte-ue-phy.cc:1772
void DoSetDlBandwidth(uint16_t dlBandwidth)
Set DL bandwidth function.
Definition: lte-ue-phy.cc:1475
uint16_t GetNumQinEvalSf() const
Get number of Qin evaluation subframes.
Definition: lte-ue-phy.cc:481
void SetTxMode3Gain(double gain)
Set transmit mode 3 gain function.
Definition: lte-ue-phy.cc:1714
uint16_t m_numOfQinEvalSf
the downlink radio link quality is estimated over this period for detecting in-syncs
Definition: lte-ue-phy.h:841
LteUePhySapUser * m_uePhySapUser
UE Phy SAP user.
Definition: lte-ue-phy.h:688
uint16_t DoGetCellId()
Get cell ID.
Definition: lte-ue-phy.cc:1463
uint16_t m_rsrpSinrSampleCounter
The RsrpSinrSampleCounter attribute.
Definition: lte-ue-phy.h:788
void(* StateTracedCallback)(uint16_t cellId, uint16_t rnti, State oldState, State newState)
TracedCallback signature for state transition events.
Definition: lte-ue-phy.h:299
virtual void ReportDataInterference(const SpectrumValue &interf)
Create the mixed CQI report.
Definition: lte-ue-phy.cc:807
void QueueSubChannelsForTransmission(std::vector< int > rbMap)
Queue subchannels for transmission function.
Definition: lte-ue-phy.cc:1250
void DoConfigureUplink(uint32_t ulEarfcn, uint16_t ulBandwidth)
Configure UL uplink function.
Definition: lte-ue-phy.cc:1507
virtual void ReceivePss(uint16_t cellId, Ptr< SpectrumValue > p)
Receive PSS function.
Definition: lte-ue-phy.cc:1196
uint16_t m_srsPeriodicity
SRS periodicity.
Definition: lte-ue-phy.h:698
void DoResetPhyAfterRlf()
Reset Phy after radio link failure function.
Definition: lte-ue-phy.cc:1569
virtual void DoNotifyConnectionSuccessful()
Notify PHY about the successful RRC connection establishment.
Definition: lte-ue-phy.cc:1016
bool m_dlConfigured
DL configured?
Definition: lte-ue-phy.h:705
LteUePhySapProvider * GetLteUePhySapProvider()
Get the PHY SAP provider.
Definition: lte-ue-phy.cc:379
Time m_srsStartTime
SRS start time.
Definition: lte-ue-phy.h:701
double GetNoiseFigure() const
Get noise figure.
Definition: lte-ue-phy.cc:407
Time m_p10CqiLast
last periodic CQI
Definition: lte-ue-phy.h:677
std::map< uint16_t, UeMeasurementsElement > m_ueMeasurementsMap
Store measurement results during the last layer-1 filtering period.
Definition: lte-ue-phy.h:759
TracedCallback< uint16_t, Ptr< SpectrumValue > > m_reportPowerSpectralDensity
The ReportsPowerSpectralDensity trace source.
Definition: lte-ue-phy.h:819
LteUePhySapProvider * m_uePhySapProvider
UE Phy SAP provider.
Definition: lte-ue-phy.h:687
void ReportRsReceivedPower(const SpectrumValue &power) override
generate a report based on the linear RS power perceived during CTRL frame NOTE: used only by UE for ...
Definition: lte-ue-phy.cc:816
uint16_t GetNumQoutEvalSf() const
Get number of Qout evaluation subframes.
Definition: lte-ue-phy.cc:474
bool m_rsInterferencePowerUpdated
RS interference power updated?
Definition: lte-ue-phy.h:722
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:329
void DoSendMacPdu(Ptr< Packet > p) override
Queue the MAC PDU to be sent (according to m_macChTtiDelay)
Definition: lte-ue-phy.cc:488
Ptr< SpectrumValue > m_noisePsd
Noise power spectral density for the configured bandwidth.
Definition: lte-ue-phy.h:821
void GenerateCtrlCqiReport(const SpectrumValue &sinr) override
generate a CQI report based on the given SINR of Ctrl frame
Definition: lte-ue-phy.cc:548
uint32_t DoGetDlEarfcn()
Get DL EARFCN.
Definition: lte-ue-phy.cc:1469
double ComputeAvgSinr(const SpectrumValue &sinr)
Compute average SINR among the RBs.
Definition: lte-ue-phy.cc:706
void SetLteUePhySapUser(LteUePhySapUser *s)
Set the PHY SAP User.
Definition: lte-ue-phy.cc:372
virtual void DoSendRachPreamble(uint32_t prachId, uint32_t raRnti)
Send RACH preamble function.
Definition: lte-ue-phy.cc:1003
void DoStartCellSearch(uint32_t dlEarfcn)
Start the cell search function.
Definition: lte-ue-phy.cc:1423
void SetTxMode6Gain(double gain)
Set transmit mode 6 gain function.
Definition: lte-ue-phy.cc:1732
LteUeCphySapProvider * m_ueCphySapProvider
UE CPhy SAP provider.
Definition: lte-ue-phy.h:690
Ptr< SpectrumValue > CreateTxPowerSpectralDensity() override
Create the PSD for the TX.
Definition: lte-ue-phy.cc:534
std::vector< std::vector< int > > m_subChannelsForTransmissionQueue
subchannels for transmission queue
Definition: lte-ue-phy.h:663
void DoReset()
Do Reset function.
Definition: lte-ue-phy.cc:1373
void SetNumQoutEvalSf(uint16_t numSubframes)
Set number of Qout evaluation subframes.
Definition: lte-ue-phy.cc:454
State m_state
The current UE PHY state.
Definition: lte-ue-phy.h:709
bool m_pssReceived
PSS received?
Definition: lte-ue-phy.h:728
TracedCallback< uint16_t, uint16_t, double, double, uint8_t > m_reportCurrentCellRsrpSinrTrace
The ReportCurrentCellRsrpSinr trace source.
Definition: lte-ue-phy.h:778
void DoSetImsi(uint64_t imsi)
Set IMSI.
Definition: lte-ue-phy.cc:1596
void SetTxMode2Gain(double gain)
Set transmit mode 2 gain function.
Definition: lte-ue-phy.cc:1708
void DoSetRsrpFilterCoefficient(uint8_t rsrpFilterCoefficient)
Do set RSRP filter coefficient.
Definition: lte-ue-phy.cc:1562
~LteUePhy() override
Definition: lte-ue-phy.cc:180
uint8_t GetMacChDelay() const
Get MAC to Channel delay.
Definition: lte-ue-phy.cc:436
Ptr< LteUePowerControl > m_powerControl
Pointer to UE Uplink Power Control entity.
Definition: lte-ue-phy.h:673
void DoConfigureReferenceSignalPower(int8_t referenceSignalPower)
Configure reference signal power function.
Definition: lte-ue-phy.cc:1515
std::list< PssElement > m_pssList
PSS list.
Definition: lte-ue-phy.h:738
void SubframeIndication(uint32_t frameNo, uint32_t subframeNo)
trigger from eNB the start from a new frame
Definition: lte-ue-phy.cc:1256
Ptr< LteUePowerControl > GetUplinkPowerControl() const
Get Uplink power control.
Definition: lte-ue-phy.cc:429
void RlfDetection(double sinrdB)
Radio link failure detection function.
Definition: lte-ue-phy.cc:1613
std::vector< double > m_txModeGain
the transmit mode gain
Definition: lte-ue-phy.h:696
State GetState() const
Get state of the UE physical layer.
Definition: lte-ue-phy.cc:1778
SpectrumValue m_rsReceivedPower
RS receive power.
Definition: lte-ue-phy.h:720
void DoSynchronizeWithEnb(uint16_t cellId)
Synchronize with ENB function.
Definition: lte-ue-phy.cc:1440
void DoSetSrsConfigurationIndex(uint16_t srcCi)
Set SRS configuration index function.
Definition: lte-ue-phy.cc:1540
uint16_t m_srsSubframeOffset
SRS subframe offset.
Definition: lte-ue-phy.h:699
uint8_t m_subframeNo
Definition: lte-ue-phy.h:717
uint16_t m_srsConfigured
SRS configured.
Definition: lte-ue-phy.h:700
uint16_t m_rsrpSinrSamplePeriod
The RsrpSinrSamplePeriod attribute.
Definition: lte-ue-phy.h:783
uint64_t m_imsi
the IMSI of the UE
Definition: lte-ue-phy.h:852
uint16_t m_rnti
the RNTI
Definition: lte-ue-phy.h:693
bool m_enableUplinkPowerControl
The EnableUplinkPowerControl attribute.
Definition: lte-ue-phy.h:671
Ptr< LteSpectrumPhy > GetDlSpectrumPhy() const
Get Downlink spectrum phy.
Definition: lte-ue-phy.cc:442
void SetTxMode5Gain(double gain)
Set transmit mode 5 gain function.
Definition: lte-ue-phy.cc:1726
void DoSetTransmissionMode(uint8_t txMode)
Set transmission mode function.
Definition: lte-ue-phy.cc:1532
bool m_enableRlfDetection
Flag to enable/disable RLF detection.
Definition: lte-ue-phy.h:853
Time m_a30CqiLast
last aperiodic CQI
Definition: lte-ue-phy.h:685
void GenerateCqiRsrpRsrq(const SpectrumValue &sinr)
Get CQI, RSRP, and RSRQ.
Definition: lte-ue-phy.cc:569
SpectrumValue m_rsInterferencePower
RS interference power.
Definition: lte-ue-phy.h:723
void DoResetRlfParams()
Reset radio link failure parameters.
Definition: lte-ue-phy.cc:1580
void SetDownlinkCqiPeriodicity(Time cqiPeriodicity)
Set the periodicty for the downlink periodic wideband and aperiodic subband CQI reporting.
Definition: lte-ue-phy.cc:987
Ptr< LteHarqPhy > m_harqPhyModule
HARQ phy module.
Definition: lte-ue-phy.h:768
void(* PowerSpectralDensityTracedCallback)(uint16_t rnti, Ptr< SpectrumValue > psd)
TracedCallback signature for spectral value.
Definition: lte-ue-phy.h:350
EventId m_sendSrsEvent
send SRS event
Definition: lte-ue-phy.h:798
double m_qIn
The 'Qin' attribute.
Definition: lte-ue-phy.h:830
virtual void ReceiveLteControlMessageList(std::list< Ptr< LteControlMessage >> msgList)
Receive LTE control message list function.
Definition: lte-ue-phy.cc:1032
void SetNoiseFigure(double nf)
Set noise figure.
Definition: lte-ue-phy.cc:400
void DoSetPa(double pa)
Set PA function.
Definition: lte-ue-phy.cc:1555
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:691
void SetNumQinEvalSf(uint16_t numSubframes)
Set number of Qin evaluation subframes.
Definition: lte-ue-phy.cc:464
void DoStartInSnycDetection()
Start in Sync detection function.
Definition: lte-ue-phy.cc:1588
void SetLteUeCphySapUser(LteUeCphySapUser *s)
Set the CPHY SAP User.
Definition: lte-ue-phy.cc:386
double m_sinrDbFrame
the average SINR per radio frame
Definition: lte-ue-phy.h:850
void(* UlPhyResourceBlocksTracedCallback)(uint16_t rnti, const std::vector< int > &rbs)
TracedCallback signature for UL Phy resource blocks.
Definition: lte-ue-phy.h:342
TracedCallback< uint16_t, uint16_t, State, State > m_stateTransitionTrace
The StateTransition trace source.
Definition: lte-ue-phy.h:714
void DoDispose() override
Destructor implementation.
Definition: lte-ue-phy.cc:186
void SetSubChannelsForReception(std::vector< int > mask)
Get a list of sub channels to use in RX.
Definition: lte-ue-phy.cc:513
bool m_rsReceivedPowerUpdated
RS receive power updated?
Definition: lte-ue-phy.h:719
void SwitchToState(State s)
Switch the UE PHY to the given state.
Definition: lte-ue-phy.cc:1785
TracedCallback< uint16_t, uint16_t, double, double, bool, uint8_t > m_reportUeMeasurements
The ReportUeMeasurements trace source.
Definition: lte-ue-phy.h:796
double m_paLinear
PA linear.
Definition: lte-ue-phy.h:703
TracedCallback< PhyTransmissionStatParameters > m_ulPhyTransmission
The UlPhyTransmission trace source.
Definition: lte-ue-phy.h:805
bool m_isConnected
set when UE RRC is in CONNECTED_NORMALLY state
Definition: lte-ue-phy.h:824
Ptr< LteAmc > m_amc
AMC.
Definition: lte-ue-phy.h:665
std::vector< int > m_subChannelsForReception
A list of sub channels to use in RX.
Definition: lte-ue-phy.h:660
void InitializeRlfParams()
Initialize radio link failure parameters.
Definition: lte-ue-phy.cc:1603
std::vector< int > GetSubChannelsForTransmission()
Get a list of sub channels to use in RX.
Definition: lte-ue-phy.cc:520
void PhyPduReceived(Ptr< Packet > p)
PhySpectrum received a new PHY-PDU.
Definition: lte-ue-phy.cc:496
LteUeCphySapProvider * GetLteUeCphySapProvider()
Get the CPHY SAP provider.
Definition: lte-ue-phy.cc:393
bool m_ulConfigured
UL configured?
Definition: lte-ue-phy.h:706
SpectrumValue m_ctrlSinrForRlf
the CTRL SINR used for RLF detection
Definition: lte-ue-phy.h:851
Time m_ueMeasurementsFilterPeriod
The UeMeasurementsFilterPeriod attribute.
Definition: lte-ue-phy.h:764
void GenerateDataCqiReport(const SpectrumValue &sinr) override
generate a CQI report based on the given SINR of Data frame (used for PUSCH CQIs)
Definition: lte-ue-phy.cc:727
uint16_t m_numOfFrames
count the number of frames for which the downlink radio link quality is estimated
Definition: lte-ue-phy.h:848
bool m_downlinkInSync
when set, DL SINR evaluation for out-of-sync indications is conducted.
Definition: lte-ue-phy.h:844
uint16_t m_numOfQoutEvalSf
the downlink radio link quality is estimated over this period for detecting out-of-syncs
Definition: lte-ue-phy.h:839
void SetTxMode7Gain(double gain)
Set transmit mode 7 gain function.
Definition: lte-ue-phy.cc:1738
void DoSetRnti(uint16_t rnti)
Set RNTI function.
Definition: lte-ue-phy.cc:1522
static TypeId GetTypeId()
Get the type ID.
Definition: lte-ue-phy.cc:195
double GetTxPower() const
Get transmit power.
Definition: lte-ue-phy.cc:422
virtual void EnqueueDlHarqFeedback(DlInfoListElement_s mes)
Enqueue the downlink HARQ feedback generated by LteSpectrumPhy.
Definition: lte-ue-phy.cc:1762
std::vector< int > m_subChannelsForTransmission
A list of sub channels to use in TX.
Definition: lte-ue-phy.h:658
Time m_p10CqiPeriodicity
Wideband Periodic CQI. 2, 5, 10, 16, 20, 32, 40, 64, 80 or 160 ms.
Definition: lte-ue-phy.h:676
bool m_dataInterferencePowerUpdated
data interference power updated?
Definition: lte-ue-phy.h:725
void SetTxPower(double pow)
Set transmit power.
Definition: lte-ue-phy.cc:414
State
The states of the UE PHY entity.
Definition: lte-ue-phy.h:62
uint16_t m_numOfSubframes
count the number of subframes for which the downlink radio link quality is estimated
Definition: lte-ue-phy.h:846
void SetTxMode4Gain(double gain)
Set transmit mode 4 gain function.
Definition: lte-ue-phy.cc:1720
virtual void DoSendLteControlMessage(Ptr< LteControlMessage > msg)
Send LTE control message function.
Definition: lte-ue-phy.cc:995
Time m_a30CqiPeriodicity
SubBand Aperiodic CQI.
Definition: lte-ue-phy.h:684
TracedCallback< uint16_t, const std::vector< int > & > m_reportUlPhyResourceBlocks
The ReportUlPhyResourceBlocks trace source.
Definition: lte-ue-phy.h:812
void ReportInterference(const SpectrumValue &interf) override
generate a report based on the linear interference and noise power perceived during DATA frame NOTE: ...
Definition: lte-ue-phy.cc:799
std::vector< int > GetSubChannelsForReception()
Get a list of sub channels to use in RX.
Definition: lte-ue-phy.cc:527
Ptr< LteSpectrumPhy > GetUlSpectrumPhy() const
Get Uplink spectrum phy.
Definition: lte-ue-phy.cc:448
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:744
uint32_t m_raPreambleId
RA preamble ID.
Definition: lte-ue-phy.h:770
double m_qOut
The 'Qout' attribute.
Definition: lte-ue-phy.h:837
void SendSrs()
Send the SRS signal in the last symbols of the frame.
Definition: lte-ue-phy.cc:1352
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:313
virtual void GenerateMixedCqiReport(const SpectrumValue &sinr)
Create the mixed CQI report.
Definition: lte-ue-phy.cc:733
uint8_t m_transmissionMode
the transmission mode
Definition: lte-ue-phy.h:695
void SetTxModeGain(uint8_t txMode, double gain)
Set transmit mode gain function.
Definition: lte-ue-phy.cc:1744
uint32_t m_raRnti
RA RNTI.
Definition: lte-ue-phy.h:771
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:78
Set of values corresponding to a given SpectrumModel.
Simulation virtual time values and global simulation resolution.
Definition: nstime.h:105
a unique identifier for an interface.
Definition: type-id.h:60
UeMemberLteUePhySapProvider class.
Definition: lte-ue-phy.cc:76
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:732
uint16_t cellId
cell ID
Definition: lte-ue-phy.h:733
double pssPsdSum
PSS PSD sum.
Definition: lte-ue-phy.h:734
uint16_t nRB
number of RB
Definition: lte-ue-phy.h:735
Summary results of measuring a specific cell. Used for layer-1 filtering.
Definition: lte-ue-phy.h:748
double rsrqSum
Sum of RSRQ sample values in linear unit.
Definition: lte-ue-phy.h:751
uint8_t rsrpNum
Number of RSRP samples.
Definition: lte-ue-phy.h:750
double rsrpSum
Sum of RSRP sample values in linear unit.
Definition: lte-ue-phy.h:749
uint8_t rsrqNum
Number of RSRQ samples.
Definition: lte-ue-phy.h:752