5G-LENA nr-v3.0-32-g83aee33
The 5G/NR module for the ns-3 simulator
Loading...
Searching...
No Matches
ns3::NrGnbPhySapUser Class Referenceabstract

SAP interface between the ENB PHY and the ENB MAC. More...

#include "nr-phy-sap.h"

+ Inheritance diagram for ns3::NrGnbPhySapUser:

Public Member Functions

virtual ~NrGnbPhySapUser ()
 ~NrGnbPhySapUser
 
virtual void BeamChangeReport (BeamId beamId, uint8_t rnti)=0
 Called by the PHY to notify MAC that beam has changed. Not in any standard.
 
virtual std::shared_ptr< DciInfoElementTdmaGetDlCtrlDci () const =0
 Retrieve a dci for a DL CTRL allocation.
 
virtual uint8_t GetDlCtrlSymbols () const =0
 Retrieve the DL CTRL symbols.
 
virtual uint32_t GetNumRbPerRbg () const =0
 PHY requests information from MAC. While MAC normally act as user of PHY services, in this case exceptionally MAC provides information/service to PHY.
 
virtual std::shared_ptr< DciInfoElementTdmaGetUlCtrlDci () const =0
 Retrieve a dci for a UL CTRL allocation.
 
virtual void ReceiveControlMessage (Ptr< NrControlMessage > msg)=0
 Receive SendLteControlMessage (PDCCH map, CQI feedbacks) using the ideal control channel.
 
virtual void ReceivePhyPdu (Ptr< Packet > p)=0
 Notify the MAC of the reception of a new PHY-PDU.
 
virtual void ReceiveRachPreamble (uint32_t raId)=0
 Notify the reception of a RACH preamble on the PRACH.
 
virtual void SetCurrentSfn (const SfnSf &sfn)=0
 Set the current Sfn. The state machine has advanced by one slot.
 
virtual void SlotDlIndication (const SfnSf &sfn, LteNrTddSlotType slotType)=0
 Trigger MAC layer to generate a DL slot for the SfnSf indicated.
 
virtual void SlotUlIndication (const SfnSf &sfn, LteNrTddSlotType slotType)=0
 Trigger MAC layer to generate an UL slot for the SfnSf indicated.
 
virtual void UlCqiReport (NrMacSchedSapProvider::SchedUlCqiInfoReqParameters ulcqi)=0
 Returns to MAC level the UL-CQI evaluated.
 
virtual void UlHarqFeedback (UlHarqInfo params)=0
 Notify the HARQ on the UL transmission status.
 

Detailed Description

SAP interface between the ENB PHY and the ENB MAC.

This SAP is normally used so that PHY can send to MAC indications and providing to MAC some information. The relationship between MAC and PHY is that PHY is service provider to MAC, and MAC is user. Exceptionally, PHY can also request some information from MAC through this interface, such as GetNumRbPerRbg.

As a general rule, no caching is allowed for the values returned by any Get* method, because those values can change dynamically.

Definition at line 156 of file nr-phy-sap.h.

Constructor & Destructor Documentation

◆ ~NrGnbPhySapUser()

virtual ns3::NrGnbPhySapUser::~NrGnbPhySapUser ( )
inlinevirtual

~NrGnbPhySapUser

Definition at line 162 of file nr-phy-sap.h.

Member Function Documentation

◆ BeamChangeReport()

virtual void ns3::NrGnbPhySapUser::BeamChangeReport ( BeamId  beamId,
uint8_t  rnti 
)
pure virtual

Called by the PHY to notify MAC that beam has changed. Not in any standard.

Parameters
beamIdthe new beam ID
rntithe RNTI of the user

◆ GetDlCtrlDci()

virtual std::shared_ptr< DciInfoElementTdma > ns3::NrGnbPhySapUser::GetDlCtrlDci ( ) const
pure virtual

Retrieve a dci for a DL CTRL allocation.

Returns
a pointer to a dci that contains a DL CTRL allocation

◆ GetDlCtrlSymbols()

virtual uint8_t ns3::NrGnbPhySapUser::GetDlCtrlSymbols ( ) const
pure virtual

Retrieve the DL CTRL symbols.

Returns
the DL CTRL symbols

◆ GetNumRbPerRbg()

virtual uint32_t ns3::NrGnbPhySapUser::GetNumRbPerRbg ( ) const
pure virtual

PHY requests information from MAC. While MAC normally act as user of PHY services, in this case exceptionally MAC provides information/service to PHY.

Returns
number of resource block per resource block group

Referenced by ns3::NrGnbPhy::GetNumRbPerRbg().

+ Here is the caller graph for this function:

◆ GetUlCtrlDci()

virtual std::shared_ptr< DciInfoElementTdma > ns3::NrGnbPhySapUser::GetUlCtrlDci ( ) const
pure virtual

Retrieve a dci for a UL CTRL allocation.

Returns
a pointer to a dci that contains a UL CTRL allocation

◆ ReceiveControlMessage()

virtual void ns3::NrGnbPhySapUser::ReceiveControlMessage ( Ptr< NrControlMessage msg)
pure virtual

Receive SendLteControlMessage (PDCCH map, CQI feedbacks) using the ideal control channel.

Parameters
msgthe Ideal Control Message to receive

Referenced by ns3::NrGnbPhy::PhyCtrlMessagesReceived().

+ Here is the caller graph for this function:

◆ ReceivePhyPdu()

virtual void ns3::NrGnbPhySapUser::ReceivePhyPdu ( Ptr< Packet >  p)
pure virtual

Notify the MAC of the reception of a new PHY-PDU.

Parameters
p

Referenced by ns3::NrGnbPhy::PhyDataPacketReceived().

+ Here is the caller graph for this function:

◆ ReceiveRachPreamble()

virtual void ns3::NrGnbPhySapUser::ReceiveRachPreamble ( uint32_t  raId)
pure virtual

Notify the reception of a RACH preamble on the PRACH.

Parameters
raIdthe ID of the preamble

Referenced by ns3::NrGnbPhy::PhyCtrlMessagesReceived().

+ Here is the caller graph for this function:

◆ SetCurrentSfn()

virtual void ns3::NrGnbPhySapUser::SetCurrentSfn ( const SfnSf sfn)
pure virtual

Set the current Sfn. The state machine has advanced by one slot.

Parameters
sfnThe current sfn

◆ SlotDlIndication()

virtual void ns3::NrGnbPhySapUser::SlotDlIndication ( const SfnSf sfn,
LteNrTddSlotType  slotType 
)
pure virtual

Trigger MAC layer to generate a DL slot for the SfnSf indicated.

Parameters
sfnSlot to fill with DL scheduling decisions
slotTypeSlot type requested (DL, S, F)

◆ SlotUlIndication()

virtual void ns3::NrGnbPhySapUser::SlotUlIndication ( const SfnSf sfn,
LteNrTddSlotType  slotType 
)
pure virtual

Trigger MAC layer to generate an UL slot for the SfnSf indicated.

Parameters
sfnSlot to fill with UL scheduling decisions
slotTypeSlot type requested (UL, S, F)

◆ UlCqiReport()

virtual void ns3::NrGnbPhySapUser::UlCqiReport ( NrMacSchedSapProvider::SchedUlCqiInfoReqParameters  ulcqi)
pure virtual

Returns to MAC level the UL-CQI evaluated.

Parameters
ulcqithe UL-CQI (see FF MAC API 4.3.29)

Referenced by ns3::NrGnbPhy::GenerateDataCqiReport().

+ Here is the caller graph for this function:

◆ UlHarqFeedback()

virtual void ns3::NrGnbPhySapUser::UlHarqFeedback ( UlHarqInfo  params)
pure virtual

Notify the HARQ on the UL transmission status.

Parameters
paramsParams

Referenced by ns3::NrGnbPhy::ReportUlHarqFeedback().

+ Here is the caller graph for this function:

The documentation for this class was generated from the following file: