26 #include <ns3/lte-phy.h>
27 #include <ns3/ff-mac-common.h>
29 #include <ns3/lte-control-messages.h>
30 #include <ns3/lte-amc.h>
31 #include <ns3/lte-ue-phy-sap.h>
32 #include <ns3/lte-ue-cphy-sap.h>
34 #include <ns3/lte-amc.h>
70 static TypeId GetTypeId (
void);
218 void SetTxMode1Gain (
double gain);
219 void SetTxMode2Gain (
double gain);
220 void SetTxMode3Gain (
double gain);
221 void SetTxMode4Gain (
double gain);
222 void SetTxMode5Gain (
double gain);
223 void SetTxMode6Gain (
double gain);
224 void SetTxMode7Gain (
double gain);
225 void SetTxModeGain (uint8_t txMode,
double gain);
227 void QueueSubChannelsForTransmission (std::vector <int> rbMap);
231 void DoSyncronizeWithEnb (uint16_t cellId, uint16_t dlEarfcn);
232 void DoSetDlBandwidth (uint8_t ulBandwidth);
233 void DoConfigureUplink (uint16_t ulEarfcn, uint8_t ulBandwidth);
234 void DoSetRnti (uint16_t rnti);
235 void DoSetTransmissionMode (uint8_t txMode);
236 void DoSetSrsConfigurationIndex (uint16_t srcCi);
241 virtual void DoSendRachPreamble (uint32_t prachId, uint32_t raRnti);
243 std::vector <int> m_subChannelsForTransmission;
244 std::vector <int> m_subChannelsForReception;
246 std::vector< std::vector <int> > m_subChannelsForTransmissionQueue;
256 Time m_a30CqiPeriocity;
267 uint8_t m_transmissionMode;
268 std::vector <double> m_txModeGain;
270 uint16_t m_srsPeriodicity;
271 uint16_t m_srsSubframeOffset;
272 uint16_t m_srsConfigured;
278 bool m_rsReceivedPowerUpdated;
283 uint32_t m_raPreambleId;
291 uint16_t m_rsrpSinrSamplePeriod;
292 uint16_t m_rsrpSinrSampleCounter;
double GetNoiseFigure() const
Ptr< LteSpectrumPhy > GetUlSpectrumPhy() const
smart pointer class similar to boost::intrusive_ptr
void SetNoiseFigure(double pow)
virtual void GenerateDataCqiReport(const SpectrumValue &sinr)
uint8_t GetMacChDelay(void) const
std::vector< int > GetSubChannelsForTransmission(void)
Get a list of sub channels to use in RX.
virtual void GenerateCtrlCqiReport(const SpectrumValue &sinr)
TracedCallback< uint16_t, uint16_t, double, double > m_reportCurrentCellRsrpSinrTrace
void SetSubChannelsForTransmission(std::vector< int > mask)
Set a list of sub channels to use in TX.
virtual void DoSendMacPdu(Ptr< Packet > p)
Queue the MAC PDU to be sent (according to m_macChTtiDelay)
std::vector< int > GetSubChannelsForReception(void)
Get a list of sub channels to use in RX.
void SetHarqPhyModule(Ptr< LteHarqPhy > harq)
Set the HARQ PHY module.
void SetLteUePhySapUser(LteUePhySapUser *s)
Set the PHY SAP User.
Ptr< DlCqiLteControlMessage > CreateDlCqiFeedbackMessage(const SpectrumValue &sinr)
Create the DL CQI feedback from SINR values perceived at the physical layer with the signal received ...
void SendSrs()
Send the SRS signal in the last symbols of the frame.
See section 4.3.23 dlInfoListElement.
virtual void ReceiveLteDlHarqFeedback(DlInfoListElement_s mes)
PhySpectrum generated a new DL HARQ feedback.
double GetTxPower() const
void SubframeIndication(uint32_t frameNo, uint32_t subframeNo)
trigger from eNB the start from a new frame
virtual void DoInitialize(void)
an identifier for simulation events.
void SetTxPower(double pow)
LteUePhySapProvider * GetLteUePhySapProvider()
Get the PHY SAP provider.
void SetLteUeCphySapUser(LteUeCphySapUser *s)
Set the CPHY SAP User.
void PhyPduReceived(Ptr< Packet > p)
PhySpectrum received a new PHY-PDU.
Ptr< LteSpectrumPhy > GetDlSpectrumPhy() const
virtual void ReportRsReceivedPower(const SpectrumValue &power)
LteUeCphySapProvider * GetLteUeCphySapProvider()
Get the CPHY SAP provider.
Set of values corresponding to a given SpectrumModel.
a unique identifier for an interface.
TracedCallback< PhyTransmissionStatParameters > m_ulPhyTransmission
virtual void ReportInterference(const SpectrumValue &interf)
virtual Ptr< SpectrumValue > CreateTxPowerSpectralDensity()
Create the PSD for the TX.
void SetSubChannelsForReception(std::vector< int > mask)
Get a list of sub channels to use in RX.
virtual void DoDispose(void)