|
A Discrete-Event Network Simulator
|
API
|
Go to the documentation of this file.
26 #include <ns3/lte-control-messages.h>
27 #include <ns3/lte-enb-phy-sap.h>
28 #include <ns3/lte-enb-cphy-sap.h>
29 #include <ns3/lte-phy.h>
30 #include <ns3/lte-harq-phy.h>
310 (uint16_t cellId, uint16_t rnti,
double sinrLinear, uint8_t componentCarrierId);
339 void DoSetEarfcn (uint32_t dlEarfcn, uint32_t ulEarfcn);
358 void DoSetPa (uint16_t rnti,
double pa);
LteEnbCphySapProvider * GetLteEnbCphySapProvider()
Get the CPHY SAP provider.
a unique identifier for an interface.
bool AddUePhy(uint16_t rnti)
Add the given RNTI to the list of attached UE m_ueAttached.
void DoSetSrsConfigurationIndex(uint16_t rnti, uint16_t srcCi)
Set source configuration index.
Ptr< LteSpectrumPhy > GetUlSpectrumPhy() const
Template for the implementation of the LteEnbCphySapProvider as a member of an owner class of type C ...
void QueueUlDci(UlDciLteControlMessage m)
Every class exported by the ns3 library is enclosed in the ns3 namespace.
std::vector< int > GetDownlinkSubChannels(void)
static TypeId GetTypeId(void)
Get the type ID.
void DoSetTransmissionMode(uint16_t rnti, uint8_t txMode)
Set transmission mode.
virtual void DoDispose(void)
Destructor implementation.
Parameters of the SCHED_UL_CQI_INFO_REQ primitive.
LteEnbPhySapUser * m_enbPhySapUser
ENB Phy SAP user.
virtual void ReportInterference(const SpectrumValue &interf)
generate a report based on the linear interference and noise power perceived during DATA frame NOTE: ...
void CalcChannelQualityForUe(std::vector< double > sinr, Ptr< LteSpectrumPhy > ue)
Calculate the channel quality for a given UE.
void EndFrame(void)
End a LTE frame.
std::map< int, double > m_dlPowerAllocationMap
DL power allocation map.
uint8_t DoGetMacChTtiDelay()
Get MAC ch TTI delay function.
std::set< uint16_t > m_ueAttached
List of RNTI of attached UEs.
Service Access Point (SAP) offered by the eNB-PHY to the eNB-MAC.
TracedCallback< uint16_t, Ptr< SpectrumValue > > m_reportInterferenceTrace
The ReportInterference trace source.
std::map< uint16_t, double > m_paMap
P_A per UE RNTI.
std::vector< int > m_listOfDownlinkSubchannel
A vector of integers, if the i-th value is j it means that the j-th resource block is used for transm...
Time m_srsStartTime
SRS start time.
The Uplink Data Control Indicator messages defines the RB allocation for the users in the uplink.
void SetDownlinkSubChannels(std::vector< int > mask)
set the resource blocks (a.k.a.
void DoSetBandwidth(uint16_t ulBandwidth, uint16_t dlBandwidth)
Set bandwidth function.
void EndSubFrame(void)
End a LTE sub frame.
uint16_t m_interferenceSamplePeriod
The InterferenceSamplePeriod attribute.
FfMacSchedSapProvider::SchedUlCqiInfoReqParameters CreatePuschCqiReport(const SpectrumValue &sinr)
Create the UL CQI feedback from SINR values perceived at the physical layer with the PUSCH signal rec...
void DoSendMacPdu(Ptr< Packet > p)
Queue the MAC PDU to be sent (according to m_macChTtiDelay)
bool DeleteUePhy(uint16_t rnti)
Remove the given RNTI from the list of attached UE m_ueAttached.
uint32_t m_nrSubFrames
The subframe number currently served.
Smart pointer class similar to boost::intrusive_ptr.
void CreateSrsReport(uint16_t rnti, double srs)
Create SRS report function.
uint16_t m_interferenceSampleCounter
interference sample counter
void SetDownlinkSubChannelsWithPowerAllocation(std::vector< int > mask)
set the resource blocks (a.k.a.
virtual void ReceiveLteControlMessage(Ptr< LteControlMessage > msg)
Receive the control message.
std::vector< std::list< UlDciLteControlMessage > > m_ulDciQueue
For storing info on future receptions.
void DoSendLteControlMessage(Ptr< LteControlMessage > msg)
Send LTE Control Message function.
std::map< uint16_t, uint16_t > m_srsSampleCounterMap
SRS sample counter map.
void DoSetMasterInformationBlock(LteRrcSap::MasterInformationBlock mib)
Set master information block.
The LtePhy models the physical layer of LTE.
void DoSetEarfcn(uint32_t dlEarfcn, uint32_t ulEarfcn)
Set EARFCN.
int8_t DoGetReferenceSignalPower() const
void GeneratePowerAllocationMap(uint16_t rnti, int rbId)
Generate power allocation map (i.e.
LteEnbPhySapProvider * m_enbPhySapProvider
ENB Phy SAP provider.
std::map< uint16_t, uint16_t > m_srsCounter
SRS counter.
uint16_t m_srsPeriodicity
SRS periodicity.
void DoRemoveUe(uint16_t rnti)
Remove UE.
void DoSetPa(uint16_t rnti, double pa)
Set PA.
void SetNoiseFigure(double pow)
Set of values corresponding to a given SpectrumModel.
Ptr< LteHarqPhy > m_harqPhyModule
HARQ Phy module.
Service Access Point (SAP) offered by the eNB-PHY to the eNB-MAC.
Simulation virtual time values and global simulation resolution.
void SetMacChDelay(uint8_t delay)
LteEnbCphySapUser * m_enbCphySapUser
ENB CPhy SAP user.
void StartSubFrame(void)
Start a LTE sub frame.
virtual Ptr< SpectrumValue > CreateTxPowerSpectralDensityWithPowerAllocation()
Create the PSD for TX with power allocation for each RB.
double GetTxPower() const
void(* ReportUeSinrTracedCallback)(uint16_t cellId, uint16_t rnti, double sinrLinear, uint8_t componentCarrierId)
TracedCallback signature for the linear average of SRS SINRs.
LteRrcSap::SystemInformationBlockType1 m_sib1
The System Information Block Type 1 message to be broadcasted.
void SetTxPower(double pow)
See section 4.3.12 ulInfoListElement.
void PhyPduReceived(Ptr< Packet > p)
PhySpectrum received a new PHY-PDU.
std::list< UlDciLteControlMessage > DequeueUlDci(void)
Service Access Point (SAP) offered by the UE PHY to the UE RRC for control purposes.
uint16_t m_srsSamplePeriod
The UeSinrSamplePeriod trace source.
LteRrcSap::MasterInformationBlock m_mib
The Master Information Block message to be broadcasted every frame.
void SetLteEnbPhySapUser(LteEnbPhySapUser *s)
Set the PHY SAP User.
void SetLteEnbCphySapUser(LteEnbCphySapUser *s)
Set the CPHY SAP User.
virtual void GenerateCtrlCqiReport(const SpectrumValue &sinr)
generate a CQI report based on the given SINR of Ctrl frame
LteEnbCphySapProvider * m_enbCphySapProvider
ENB CPhy SAP provider.
FfMacSchedSapProvider::SchedUlCqiInfoReqParameters CreateSrsCqiReport(const SpectrumValue &sinr)
Create the UL CQI feedback from SINR values perceived at the physical layer with the SRS signal recei...
void StartFrame(void)
Start a LTE frame.
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 ...
TracedCallback< PhyTransmissionStatParameters > m_dlPhyTransmission
The DlPhyTransmission trace source.
virtual void ReceiveLteControlMessageList(std::list< Ptr< LteControlMessage > >)
PhySpectrum received a new list of LteControlMessage.
std::vector< int > m_dlDataRbMap
DL data RB map.
void SetHarqPhyModule(Ptr< LteHarqPhy > harq)
Set the HARQ Phy module.
std::vector< uint16_t > m_srsUeOffset
SRS UE offset.
uint8_t GetMacChDelay(void) const
virtual void GenerateDataCqiReport(const SpectrumValue &sinr)
generate a CQI report based on the given SINR of Data frame (used for PUSCH CQIs)
void SendDataChannels(Ptr< PacketBurst > pb)
Send the PDSCH.
uint16_t m_currentSrsOffset
current SRS offset
LteEnbPhySapProvider * GetLteEnbPhySapProvider()
Get the PHY SAP provider.
void DoSetSystemInformationBlockType1(LteRrcSap::SystemInformationBlockType1 sib1)
Set system information block.
Ptr< LteSpectrumPhy > GetDlSpectrumPhy() const
virtual void ReportUlHarqFeedback(UlInfoListElement_s mes)
Report the uplink HARQ feedback generated by LteSpectrumPhy to MAC.
virtual void DoInitialize(void)
Initialize() implementation.
Service Access Point (SAP) offered by the UE PHY to the UE RRC for control purposes.
LteEnbPhy models the physical layer for the eNodeB.
double GetNoiseFigure() const
TracedCallback< uint16_t, uint16_t, double, uint8_t > m_reportUeSinr
The ReportUeSinr trace source.
void DoAddUe(uint16_t rnti)
Add UE.
virtual Ptr< SpectrumValue > CreateTxPowerSpectralDensity()
Create the PSD for TX.
void SendControlChannels(std::list< Ptr< LteControlMessage > > ctrlMsgList)
Send the PDCCH and PCFICH in the first 3 symbols.
void(* ReportInterferenceTracedCallback)(uint16_t cellId, Ptr< SpectrumValue > spectrumValue)
TracedCallback signature for the linear average of SRS SINRs.
uint32_t m_nrFrames
The frame number currently served.