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 "ff-mac-common.h"
28 #include "lte-amc.h"
29 #include "lte-control-messages.h"
30 #include "lte-phy.h"
31 #include "lte-ue-cphy-sap.h"
32 #include "lte-ue-phy-sap.h"
33 #include "lte-ue-power-control.h"
34 
35 #include <ns3/ptr.h>
36 
37 #include <set>
38 
39 namespace ns3
40 {
41 
42 class PacketBurst;
43 class LteEnbPhy;
44 class LteHarqPhy;
45 
51 class LteUePhy : public LtePhy
52 {
57 
58  public:
62  enum State
63  {
67  };
68 
72  LteUePhy();
73 
80 
81  ~LteUePhy() override;
82 
87  static TypeId GetTypeId();
88  // inherited from Object
89  void DoInitialize() override;
90  void DoDispose() override;
91 
98 
105 
112 
119 
125  void SetTxPower(double pow);
126 
132  double GetTxPower() const;
133 
140 
146  void SetNoiseFigure(double nf);
147 
153  double GetNoiseFigure() const;
154 
160  uint8_t GetMacChDelay() const;
161 
168 
175 
182 
188  void SetSubChannelsForTransmission(std::vector<int> mask);
194  std::vector<int> GetSubChannelsForTransmission();
195 
201  void SetSubChannelsForReception(std::vector<int> mask);
207  std::vector<int> GetSubChannelsForReception();
208 
217 
218  // inherited from LtePhy
219  void GenerateCtrlCqiReport(const SpectrumValue& sinr) override;
220  void GenerateDataCqiReport(const SpectrumValue& sinr) override;
226  virtual void GenerateMixedCqiReport(const SpectrumValue& sinr);
227  void ReportInterference(const SpectrumValue& interf) override;
233  virtual void ReportDataInterference(const SpectrumValue& interf);
234  void ReportRsReceivedPower(const SpectrumValue& power) override;
235 
236  // callbacks for LteSpectrumPhy
249  virtual void ReceivePss(uint16_t cellId, Ptr<SpectrumValue> p);
250 
256  void PhyPduReceived(Ptr<Packet> p);
257 
264  void SubframeIndication(uint32_t frameNo, uint32_t subframeNo);
265 
269  void SendSrs();
270 
276  virtual void EnqueueDlHarqFeedback(DlInfoListElement_s mes);
277 
284 
290  State GetState() const;
291 
300  typedef void (*StateTracedCallback)(uint16_t cellId,
301  uint16_t rnti,
302  State oldState,
303  State newState);
304 
314  typedef void (*RsrpSinrTracedCallback)(uint16_t cellId,
315  uint16_t rnti,
316  double rsrp,
317  double sinr,
318  uint8_t componentCarrierId);
319 
330  typedef void (*RsrpRsrqTracedCallback)(uint16_t rnti,
331  uint16_t cellId,
332  double rsrp,
333  double rsrq,
334  bool isServingCell,
335  uint8_t componentCarrierId);
336 
343  typedef void (*UlPhyResourceBlocksTracedCallback)(uint16_t rnti, const std::vector<int>& rbs);
344 
351  typedef void (*PowerSpectralDensityTracedCallback)(uint16_t rnti, Ptr<SpectrumValue> psd);
352 
353  private:
359  void SetTxMode1Gain(double gain);
365  void SetTxMode2Gain(double gain);
371  void SetTxMode3Gain(double gain);
377  void SetTxMode4Gain(double gain);
383  void SetTxMode5Gain(double gain);
389  void SetTxMode6Gain(double gain);
395  void SetTxMode7Gain(double gain);
402  void SetTxModeGain(uint8_t txMode, double gain);
408  void QueueSubChannelsForTransmission(std::vector<int> rbMap);
417  void GenerateCqiRsrpRsrq(const SpectrumValue& sinr);
425  void ReportUeMeasurements();
432  void SetDownlinkCqiPeriodicity(Time cqiPeriodicity);
437  void SwitchToState(State s);
447  void SetNumQoutEvalSf(uint16_t numSubframes);
457  void SetNumQinEvalSf(uint16_t numSubframes);
467  uint16_t GetNumQoutEvalSf() const;
477  uint16_t GetNumQinEvalSf() const;
478 
479  // UE CPHY SAP methods
483  void DoReset();
489  void DoStartCellSearch(uint32_t dlEarfcn);
495  void DoSynchronizeWithEnb(uint16_t cellId);
502  void DoSynchronizeWithEnb(uint16_t cellId, uint32_t dlEarfcn);
508  uint16_t DoGetCellId();
513  uint32_t DoGetDlEarfcn();
519  void DoSetDlBandwidth(uint16_t dlBandwidth);
526  void DoConfigureUplink(uint32_t ulEarfcn, uint16_t ulBandwidth);
532  void DoConfigureReferenceSignalPower(int8_t referenceSignalPower);
538  void DoSetRnti(uint16_t rnti);
544  void DoSetTransmissionMode(uint8_t txMode);
550  void DoSetSrsConfigurationIndex(uint16_t srcCi);
556  void DoSetPa(double pa);
564  void DoResetPhyAfterRlf();
573  void DoResetRlfParams();
574 
584  void DoStartInSyncDetection();
585 
604  void RlfDetection(double sinrdB);
613  void InitializeRlfParams();
619  void DoSetImsi(uint64_t imsi);
628  void DoSetRsrpFilterCoefficient(uint8_t rsrpFilterCoefficient);
635  double ComputeAvgSinr(const SpectrumValue& sinr);
636 
637  // UE PHY SAP methods
638  void DoSendMacPdu(Ptr<Packet> p) override;
651  virtual void DoSendRachPreamble(uint32_t prachId, uint32_t raRnti);
656  virtual void DoNotifyConnectionSuccessful();
657 
661  std::vector<int> m_subChannelsForReception;
662 
663  std::vector<std::vector<int>>
665 
667 
675 
679 
687 
690 
693 
694  uint16_t m_rnti;
695 
697  std::vector<double> m_txModeGain;
698 
699  uint16_t m_srsPeriodicity;
703 
704  double m_paLinear;
705 
708 
716 
718  uint8_t m_subframeNo;
719 
722 
725 
728 
730 
732  struct PssElement
733  {
734  uint16_t cellId;
735  double pssPsdSum;
736  uint16_t nRB;
737  };
738 
739  std::list<PssElement> m_pssList;
740 
746 
749  {
750  double rsrpSum;
751  uint8_t rsrpNum;
752  double rsrqSum;
753  uint8_t rsrqNum;
754  };
755 
760  std::map<uint16_t, UeMeasurementsElement> m_ueMeasurementsMap;
768 
770 
771  uint32_t m_raPreambleId;
772  uint32_t m_raRnti;
773 
790 
798 
800 
807 
814 
821 
824 
831  double m_qIn;
832 
838  double m_qOut;
839 
840  uint16_t m_numOfQoutEvalSf;
842  uint16_t m_numOfQinEvalSf;
844 
847  uint16_t m_numOfSubframes;
849  uint16_t m_numOfFrames;
851  double m_sinrDbFrame;
853  uint64_t m_imsi;
855 
856 }; // end of `class LteUePhy`
857 
858 } // namespace ns3
859 
860 #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:51
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:52
void SetTxMode1Gain(double gain)
Set transmit mode 1 gain function.
Definition: lte-ue-phy.cc:1689
SpectrumValue m_dataInterferencePower
data interference power
Definition: lte-ue-phy.h:727
Time m_ueMeasurementsFilterLast
Definition: lte-ue-phy.h:767
void SetSubChannelsForTransmission(std::vector< int > mask)
Set a list of sub channels to use in TX.
Definition: lte-ue-phy.cc:498
void DoInitialize() override
Initialize() implementation.
Definition: lte-ue-phy.cc:350
void SetHarqPhyModule(Ptr< LteHarqPhy > harq)
Set the HARQ PHY module.
Definition: lte-ue-phy.cc:1759
void DoSetDlBandwidth(uint16_t dlBandwidth)
Set DL bandwidth function.
Definition: lte-ue-phy.cc:1462
uint16_t GetNumQinEvalSf() const
Get number of Qin evaluation subframes.
Definition: lte-ue-phy.cc:477
void SetTxMode3Gain(double gain)
Set transmit mode 3 gain function.
Definition: lte-ue-phy.cc:1701
uint16_t m_numOfQinEvalSf
the downlink radio link quality is estimated over this period for detecting in-syncs
Definition: lte-ue-phy.h:842
LteUePhySapUser * m_uePhySapUser
UE Phy SAP user.
Definition: lte-ue-phy.h:689
uint16_t DoGetCellId()
Get cell ID.
Definition: lte-ue-phy.cc:1450
uint16_t m_rsrpSinrSampleCounter
The RsrpSinrSampleCounter attribute.
Definition: lte-ue-phy.h:789
void(* StateTracedCallback)(uint16_t cellId, uint16_t rnti, State oldState, State newState)
TracedCallback signature for state transition events.
Definition: lte-ue-phy.h:300
virtual void ReportDataInterference(const SpectrumValue &interf)
Create the mixed CQI report.
Definition: lte-ue-phy.cc:801
void QueueSubChannelsForTransmission(std::vector< int > rbMap)
Queue subchannels for transmission function.
Definition: lte-ue-phy.cc:1237
void DoConfigureUplink(uint32_t ulEarfcn, uint16_t ulBandwidth)
Configure UL uplink function.
Definition: lte-ue-phy.cc:1494
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:699
void DoResetPhyAfterRlf()
Reset Phy after radio link failure function.
Definition: lte-ue-phy.cc:1556
virtual void DoNotifyConnectionSuccessful()
Notify PHY about the successful RRC connection establishment.
Definition: lte-ue-phy.cc:1009
bool m_dlConfigured
DL configured?
Definition: lte-ue-phy.h:706
LteUePhySapProvider * GetLteUePhySapProvider()
Get the PHY SAP provider.
Definition: lte-ue-phy.cc:375
Time m_srsStartTime
SRS start time.
Definition: lte-ue-phy.h:702
double GetNoiseFigure() const
Get noise figure.
Definition: lte-ue-phy.cc:403
Time m_p10CqiLast
last periodic CQI
Definition: lte-ue-phy.h:678
std::map< uint16_t, UeMeasurementsElement > m_ueMeasurementsMap
Store measurement results during the last layer-1 filtering period.
Definition: lte-ue-phy.h:760
TracedCallback< uint16_t, Ptr< SpectrumValue > > m_reportPowerSpectralDensity
The ReportsPowerSpectralDensity trace source.
Definition: lte-ue-phy.h:820
LteUePhySapProvider * m_uePhySapProvider
UE Phy SAP provider.
Definition: lte-ue-phy.h:688
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:810
uint16_t GetNumQoutEvalSf() const
Get number of Qout evaluation subframes.
Definition: lte-ue-phy.cc:470
bool m_rsInterferencePowerUpdated
RS interference power updated?
Definition: lte-ue-phy.h:723
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:330
void DoSendMacPdu(Ptr< Packet > p) override
Queue the MAC PDU to be sent (according to m_macChTtiDelay)
Definition: lte-ue-phy.cc:484
Ptr< SpectrumValue > m_noisePsd
Noise power spectral density for the configured bandwidth.
Definition: lte-ue-phy.h:822
void GenerateCtrlCqiReport(const SpectrumValue &sinr) override
generate a CQI report based on the given SINR of Ctrl frame
Definition: lte-ue-phy.cc:544
uint32_t DoGetDlEarfcn()
Get DL EARFCN.
Definition: lte-ue-phy.cc:1456
double ComputeAvgSinr(const SpectrumValue &sinr)
Compute average SINR among the RBs.
Definition: lte-ue-phy.cc:701
void SetLteUePhySapUser(LteUePhySapUser *s)
Set the PHY SAP User.
Definition: lte-ue-phy.cc:368
virtual void DoSendRachPreamble(uint32_t prachId, uint32_t raRnti)
Send RACH preamble function.
Definition: lte-ue-phy.cc:996
void DoStartCellSearch(uint32_t dlEarfcn)
Start the cell search function.
Definition: lte-ue-phy.cc:1410
void SetTxMode6Gain(double gain)
Set transmit mode 6 gain function.
Definition: lte-ue-phy.cc:1719
LteUeCphySapProvider * m_ueCphySapProvider
UE CPhy SAP provider.
Definition: lte-ue-phy.h:691
Ptr< SpectrumValue > CreateTxPowerSpectralDensity() override
Create the PSD for the TX.
Definition: lte-ue-phy.cc:530
std::vector< std::vector< int > > m_subChannelsForTransmissionQueue
subchannels for transmission queue
Definition: lte-ue-phy.h:664
void DoReset()
Do Reset function.
Definition: lte-ue-phy.cc:1360
void SetNumQoutEvalSf(uint16_t numSubframes)
Set number of Qout evaluation subframes.
Definition: lte-ue-phy.cc:450
State m_state
The current UE PHY state.
Definition: lte-ue-phy.h:710
bool m_pssReceived
PSS received?
Definition: lte-ue-phy.h:729
TracedCallback< uint16_t, uint16_t, double, double, uint8_t > m_reportCurrentCellRsrpSinrTrace
The ReportCurrentCellRsrpSinr trace source.
Definition: lte-ue-phy.h:779
void DoSetImsi(uint64_t imsi)
Set IMSI.
Definition: lte-ue-phy.cc:1583
void SetTxMode2Gain(double gain)
Set transmit mode 2 gain function.
Definition: lte-ue-phy.cc:1695
void DoSetRsrpFilterCoefficient(uint8_t rsrpFilterCoefficient)
Do set RSRP filter coefficient.
Definition: lte-ue-phy.cc:1549
~LteUePhy() override
Definition: lte-ue-phy.cc:176
uint8_t GetMacChDelay() const
Get MAC to Channel delay.
Definition: lte-ue-phy.cc:432
Ptr< LteUePowerControl > m_powerControl
Pointer to UE Uplink Power Control entity.
Definition: lte-ue-phy.h:674
void DoConfigureReferenceSignalPower(int8_t referenceSignalPower)
Configure reference signal power function.
Definition: lte-ue-phy.cc:1502
std::list< PssElement > m_pssList
PSS list.
Definition: lte-ue-phy.h:739
void SubframeIndication(uint32_t frameNo, uint32_t subframeNo)
trigger from eNB the start from a new frame
Definition: lte-ue-phy.cc:1243
Ptr< LteUePowerControl > GetUplinkPowerControl() const
Get Uplink power control.
Definition: lte-ue-phy.cc:425
void RlfDetection(double sinrdB)
Radio link failure detection function.
Definition: lte-ue-phy.cc:1600
std::vector< double > m_txModeGain
the transmit mode gain
Definition: lte-ue-phy.h:697
State GetState() const
Get state of the UE physical layer.
Definition: lte-ue-phy.cc:1765
SpectrumValue m_rsReceivedPower
RS receive power.
Definition: lte-ue-phy.h:721
void DoSynchronizeWithEnb(uint16_t cellId)
Synchronize with ENB function.
Definition: lte-ue-phy.cc:1427
void DoSetSrsConfigurationIndex(uint16_t srcCi)
Set SRS configuration index function.
Definition: lte-ue-phy.cc:1527
uint16_t m_srsSubframeOffset
SRS subframe offset.
Definition: lte-ue-phy.h:700
uint8_t m_subframeNo
Definition: lte-ue-phy.h:718
uint16_t m_rsrpSinrSamplePeriod
The RsrpSinrSamplePeriod attribute.
Definition: lte-ue-phy.h:784
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:694
bool m_enableUplinkPowerControl
The EnableUplinkPowerControl attribute.
Definition: lte-ue-phy.h:672
Ptr< LteSpectrumPhy > GetDlSpectrumPhy() const
Get Downlink spectrum phy.
Definition: lte-ue-phy.cc:438
void SetTxMode5Gain(double gain)
Set transmit mode 5 gain function.
Definition: lte-ue-phy.cc:1713
void DoSetTransmissionMode(uint8_t txMode)
Set transmission mode function.
Definition: lte-ue-phy.cc:1519
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:686
void GenerateCqiRsrpRsrq(const SpectrumValue &sinr)
Get CQI, RSRP, and RSRQ.
Definition: lte-ue-phy.cc:565
SpectrumValue m_rsInterferencePower
RS interference power.
Definition: lte-ue-phy.h:724
void DoResetRlfParams()
Reset radio link failure parameters.
Definition: lte-ue-phy.cc:1567
void SetDownlinkCqiPeriodicity(Time cqiPeriodicity)
Set the periodicty for the downlink periodic wideband and aperiodic subband CQI reporting.
Definition: lte-ue-phy.cc:980
Ptr< LteHarqPhy > m_harqPhyModule
HARQ phy module.
Definition: lte-ue-phy.h:769
void(* PowerSpectralDensityTracedCallback)(uint16_t rnti, Ptr< SpectrumValue > psd)
TracedCallback signature for spectral value.
Definition: lte-ue-phy.h:351
EventId m_sendSrsEvent
send SRS event
Definition: lte-ue-phy.h:799
double m_qIn
The 'Qin' attribute.
Definition: lte-ue-phy.h:831
virtual void ReceiveLteControlMessageList(std::list< Ptr< LteControlMessage >> msgList)
Receive LTE control message list function.
Definition: lte-ue-phy.cc:1025
void SetNoiseFigure(double nf)
Set noise figure.
Definition: lte-ue-phy.cc:396
void DoSetPa(double pa)
Set PA function.
Definition: lte-ue-phy.cc:1542
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:834
LteUeCphySapUser * m_ueCphySapUser
UE CPhy SAP user.
Definition: lte-ue-phy.h:692
void SetNumQinEvalSf(uint16_t numSubframes)
Set number of Qin evaluation subframes.
Definition: lte-ue-phy.cc:460
void SetLteUeCphySapUser(LteUeCphySapUser *s)
Set the CPHY SAP User.
Definition: lte-ue-phy.cc:382
double m_sinrDbFrame
the average SINR per radio frame
Definition: lte-ue-phy.h:851
void(* UlPhyResourceBlocksTracedCallback)(uint16_t rnti, const std::vector< int > &rbs)
TracedCallback signature for UL Phy resource blocks.
Definition: lte-ue-phy.h:343
TracedCallback< uint16_t, uint16_t, State, State > m_stateTransitionTrace
The StateTransition trace source.
Definition: lte-ue-phy.h:715
void DoDispose() override
Destructor implementation.
Definition: lte-ue-phy.cc:182
void SetSubChannelsForReception(std::vector< int > mask)
Get a list of sub channels to use in RX.
Definition: lte-ue-phy.cc:509
bool m_rsReceivedPowerUpdated
RS receive power updated?
Definition: lte-ue-phy.h:720
void SwitchToState(State s)
Switch the UE PHY to the given state.
Definition: lte-ue-phy.cc:1772
TracedCallback< uint16_t, uint16_t, double, double, bool, uint8_t > m_reportUeMeasurements
The ReportUeMeasurements trace source.
Definition: lte-ue-phy.h:797
double m_paLinear
PA linear.
Definition: lte-ue-phy.h:704
TracedCallback< PhyTransmissionStatParameters > m_ulPhyTransmission
The UlPhyTransmission trace source.
Definition: lte-ue-phy.h:806
bool m_isConnected
set when UE RRC is in CONNECTED_NORMALLY state
Definition: lte-ue-phy.h:825
Ptr< LteAmc > m_amc
AMC.
Definition: lte-ue-phy.h:666
std::vector< int > m_subChannelsForReception
A list of sub channels to use in RX.
Definition: lte-ue-phy.h:661
void InitializeRlfParams()
Initialize radio link failure parameters.
Definition: lte-ue-phy.cc:1590
std::vector< int > GetSubChannelsForTransmission()
Get a list of sub channels to use in RX.
Definition: lte-ue-phy.cc:516
void PhyPduReceived(Ptr< Packet > p)
PhySpectrum received a new PHY-PDU.
Definition: lte-ue-phy.cc:492
LteUeCphySapProvider * GetLteUeCphySapProvider()
Get the CPHY SAP provider.
Definition: lte-ue-phy.cc:389
bool m_ulConfigured
UL configured?
Definition: lte-ue-phy.h:707
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:765
bool m_srsConfigured
SRS configured.
Definition: lte-ue-phy.h:701
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:721
uint16_t m_numOfFrames
count the number of frames for which the downlink radio link quality is estimated
Definition: lte-ue-phy.h:849
bool m_downlinkInSync
when set, DL SINR evaluation for out-of-sync indications is conducted.
Definition: lte-ue-phy.h:845
uint16_t m_numOfQoutEvalSf
the downlink radio link quality is estimated over this period for detecting out-of-syncs
Definition: lte-ue-phy.h:840
void SetTxMode7Gain(double gain)
Set transmit mode 7 gain function.
Definition: lte-ue-phy.cc:1725
void DoSetRnti(uint16_t rnti)
Set RNTI function.
Definition: lte-ue-phy.cc:1509
static TypeId GetTypeId()
Get the type ID.
Definition: lte-ue-phy.cc:191
double GetTxPower() const
Get transmit power.
Definition: lte-ue-phy.cc:418
virtual void EnqueueDlHarqFeedback(DlInfoListElement_s mes)
Enqueue the downlink HARQ feedback generated by LteSpectrumPhy.
Definition: lte-ue-phy.cc:1749
std::vector< int > m_subChannelsForTransmission
A list of sub channels to use in TX.
Definition: lte-ue-phy.h:659
Time m_p10CqiPeriodicity
Wideband Periodic CQI. 2, 5, 10, 16, 20, 32, 40, 64, 80 or 160 ms.
Definition: lte-ue-phy.h:677
bool m_dataInterferencePowerUpdated
data interference power updated?
Definition: lte-ue-phy.h:726
void SetTxPower(double pow)
Set transmit power.
Definition: lte-ue-phy.cc:410
State
The states of the UE PHY entity.
Definition: lte-ue-phy.h:63
uint16_t m_numOfSubframes
count the number of subframes for which the downlink radio link quality is estimated
Definition: lte-ue-phy.h:847
void SetTxMode4Gain(double gain)
Set transmit mode 4 gain function.
Definition: lte-ue-phy.cc:1707
virtual void DoSendLteControlMessage(Ptr< LteControlMessage > msg)
Send LTE control message function.
Definition: lte-ue-phy.cc:988
Time m_a30CqiPeriodicity
SubBand Aperiodic CQI.
Definition: lte-ue-phy.h:685
TracedCallback< uint16_t, const std::vector< int > & > m_reportUlPhyResourceBlocks
The ReportUlPhyResourceBlocks trace source.
Definition: lte-ue-phy.h:813
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:793
std::vector< int > GetSubChannelsForReception()
Get a list of sub channels to use in RX.
Definition: lte-ue-phy.cc:523
Ptr< LteSpectrumPhy > GetUlSpectrumPhy() const
Get Uplink spectrum phy.
Definition: lte-ue-phy.cc:444
void ReportUeMeasurements()
Layer-1 filtering of RSRP and RSRQ measurements and reporting to the RRC entity.
Definition: lte-ue-phy.cc:934
double m_pssReceptionThreshold
The RsrqUeMeasThreshold attribute.
Definition: lte-ue-phy.h:745
uint32_t m_raPreambleId
RA preamble ID.
Definition: lte-ue-phy.h:771
double m_qOut
The 'Qout' attribute.
Definition: lte-ue-phy.h:838
void DoStartInSyncDetection()
Start in Sync detection function.
Definition: lte-ue-phy.cc:1575
void SendSrs()
Send the SRS signal in the last symbols of the frame.
Definition: lte-ue-phy.cc:1339
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:314
virtual void GenerateMixedCqiReport(const SpectrumValue &sinr)
Create the mixed CQI report.
Definition: lte-ue-phy.cc:727
uint8_t m_transmissionMode
the transmission mode
Definition: lte-ue-phy.h:696
void SetTxModeGain(uint8_t txMode, double gain)
Set transmit mode gain function.
Definition: lte-ue-phy.cc:1731
uint32_t m_raRnti
RA RNTI.
Definition: lte-ue-phy.h:772
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:77
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:59
UeMemberLteUePhySapProvider class.
Definition: lte-ue-phy.cc:72
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:733
uint16_t cellId
cell ID
Definition: lte-ue-phy.h:734
double pssPsdSum
PSS PSD sum.
Definition: lte-ue-phy.h:735
uint16_t nRB
number of RB
Definition: lte-ue-phy.h:736
Summary results of measuring a specific cell. Used for layer-1 filtering.
Definition: lte-ue-phy.h:749
double rsrqSum
Sum of RSRQ sample values in linear unit.
Definition: lte-ue-phy.h:752
uint8_t rsrpNum
Number of RSRP samples.
Definition: lte-ue-phy.h:751
double rsrpSum
Sum of RSRP sample values in linear unit.
Definition: lte-ue-phy.h:750
uint8_t rsrqNum
Number of RSRQ samples.
Definition: lte-ue-phy.h:753