5G-LENA nr-v3.3-81-g75c7590d
The 5G/NR module for the ns-3 simulator
|
SAP interface between the MAC and the PHY. More...
#include "nr-phy-sap.h"
Public Member Functions | |
virtual | ~NrPhySapProvider ()=default |
~NrPhySapProvider | |
virtual BeamId | GetBeamId (uint8_t rnti) const =0 |
Get the beam ID from the RNTI specified. Not in any standard. | |
virtual uint16_t | GetBwpId () const =0 |
Retrieve the bandwidth part id. | |
virtual uint16_t | GetCellId () const =0 |
Retrieve the cell id. | |
virtual uint32_t | GetRbNum () const =0 |
Retrieve the number of resource blocks. | |
virtual Time | GetSlotPeriod () const =0 |
Retrieve the slot period. | |
virtual Ptr< const SpectrumModel > | GetSpectrumModel ()=0 |
Retrieve the spectrum model used by the PHY layer. | |
virtual uint32_t | GetSymbolsPerSlot () const =0 |
Retrieve the number of symbols in one slot. | |
virtual void | NotifyConnectionSuccessful ()=0 |
Notify PHY about the successful RRC connection establishment. | |
virtual void | SendControlMessage (Ptr< NrControlMessage > msg)=0 |
Send a control message. | |
virtual void | SendMacPdu (const Ptr< Packet > &p, const SfnSf &sfn, uint8_t symStart, uint16_t rnti)=0 |
Send a Mac PDU. | |
virtual void | SendRachPreamble (uint8_t PreambleId, uint8_t Rnti)=0 |
Send the RACH preamble. | |
virtual void | SetSlotAllocInfo (const SlotAllocInfo &slotAllocInfo)=0 |
Set a SlotAllocInfo inside the PHY allocations. | |
SAP interface between the MAC and the PHY.
The API between the MAC and the PHY classes, for UE and GNB, is defined in this class. The direction is from the MAC to the PHY (i.e., the MAC will have a pointer of this class, that points to a valid instance of the PHY).
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 35 of file nr-phy-sap.h.
|
pure virtual |
Get the beam ID from the RNTI specified. Not in any standard.
rnti | RNTI of the user |
The MAC asks for the BeamId of the specified used.
Referenced by ns3::NrGnbMac::DoSlotDlIndication().
|
pure virtual |
Retrieve the bandwidth part id.
Referenced by ns3::NrGnbMac::GetBwpId(), and ns3::NrUeMac::GetBwpId().
|
pure virtual |
Retrieve the cell id.
Referenced by ns3::NrGnbMac::GetCellId(), and ns3::NrUeMac::GetCellId().
|
pure virtual |
Retrieve the number of resource blocks.
Referenced by ns3::NrGnbMac::GetDlCtrlDci().
|
pure virtual |
Retrieve the slot period.
|
pure virtual |
Retrieve the spectrum model used by the PHY layer.
It is used to calculate the CQI. In the future, this method may be removed if the CQI calculation is done in the PHY layer, just reporting to MAC its value.
|
pure virtual |
Retrieve the number of symbols in one slot.
|
pure virtual |
Send a control message.
msg | the message to send |
The MAC sends to the PHY a control message. The PHY will take care of considering the MAC-TO-PHY delay.
|
pure virtual |
Send a Mac PDU.
p | PDU |
sfn | SFN |
symStart | symbol inside the SFN |
rnti | the RNTI of the receiving or transmitting UE, to map PDU to each UE's PHY signal |
The MAC sends to the PHY a MAC PDU, represented by the packet p. The PDU MUST have a NrRadioBearerTag and a NrMacPduHeader.
|
pure virtual |
Send the RACH preamble.
PreambleId | the ID of the preamble |
Rnti | the RNTI |
|
pure virtual |
Set a SlotAllocInfo inside the PHY allocations.
slotAllocInfo | the allocation |
Called by the MAC to install in the PHY the allocation that has been prepared.