5G-LENA nr-v3.3-81-g75c7590d
The 5G/NR module for the ns-3 simulator
Loading...
Searching...
No Matches
ns3::NrHarqPhy Class Reference

HARQ functionalities for the PHY layer. More...

#include "nr-harq-phy.h"

Public Member Functions

 ~NrHarqPhy ()
 Destructor.
 
const NrErrorModel::NrErrorModelHistoryGetHarqProcessInfoDl (uint16_t rnti, uint8_t harqProcId)
 Return the info of the HARQ procId in case of retransmissions for DL (asynchronous)
 
const NrErrorModel::NrErrorModelHistoryGetHarqProcessInfoDlUl (bool dl, uint16_t rnti, uint8_t harqProcId)
 Return the info of the HARQ procId in case of retransmissions for DL/UL (asynchronous)
 
const NrErrorModel::NrErrorModelHistoryGetHarqProcessInfoUl (uint16_t rnti, uint8_t harqProcId)
 Return the info of the HARQ procId in case of retransmissions for UL (asynchronous)
 
void ResetDlHarqProcessStatus (uint16_t rnti, uint8_t id)
 Reset the info associated to the decodification of an HARQ process for DL (asynchronous)
 
void ResetUlHarqProcessStatus (uint16_t rnti, uint8_t id)
 Reset the info associated to the decodification of an HARQ process for UL (asynchronous)
 
void UpdateDlHarqProcessStatus (uint16_t rnti, uint8_t harqProcId, const Ptr< NrErrorModelOutput > &output)
 Update the Info associated to the decodification of an HARQ process for DL (asynchronous)
 
void UpdateUlHarqProcessStatus (uint16_t rnti, uint8_t harqProcId, const Ptr< NrErrorModelOutput > &output)
 Update the Info associated to the decodification of an HARQ process for UL (asynchronous)
 

Protected Types

typedef std::unordered_map< uint16_t, ProcIdHistoryMapHistoryMap
 Map between an RNTI and its ProcIdHistoryMap.
 
typedef std::unordered_map< uint8_t, NrErrorModel::NrErrorModelHistoryProcIdHistoryMap
 Map between a process id and its HARQ history (a vector of pointers)
 

Protected Member Functions

const NrErrorModel::NrErrorModelHistoryGetHarqProcessInfo (HistoryMap *map, uint16_t rnti, uint8_t harqProcId) const
 Return the HARQ history of a particular process id.
 
HistoryMap::iterator GetHistoryMapOf (HistoryMap *map, uint16_t rnti) const
 Return the HARQ history map of the retransmissions of all process ids of a particular RNTI.
 
ProcIdHistoryMap::iterator GetProcIdHistoryMapOf (ProcIdHistoryMap *map, uint16_t procId) const
 Return the HARQ history of a particular process id.
 
void ResetHarqProcessStatus (HistoryMap *map, uint16_t rnti, uint8_t harqProcId) const
 Reset the HARQ history of a particular process id.
 
void UpdateHarqProcessStatus (HistoryMap *map, uint16_t rnti, uint8_t harqProcId, const Ptr< NrErrorModelOutput > &output) const
 Update the HARQ history of a particular process id.
 

Detailed Description

HARQ functionalities for the PHY layer.

(i.e., decodification buffers for incremental redundancy management)

Definition at line 24 of file nr-harq-phy.h.

Member Typedef Documentation

◆ HistoryMap

typedef std::unordered_map<uint16_t, ProcIdHistoryMap> ns3::NrHarqPhy::HistoryMap
protected

Map between an RNTI and its ProcIdHistoryMap.

Definition at line 116 of file nr-harq-phy.h.

◆ ProcIdHistoryMap

typedef std::unordered_map<uint8_t, NrErrorModel::NrErrorModelHistory> ns3::NrHarqPhy::ProcIdHistoryMap
protected

Map between a process id and its HARQ history (a vector of pointers)

The HARQ history depends on the error model (LTE error model stores MI (MIESM-based), while NR error model stores SINR (EESM-based)) as well as on the HARQ combining method.

Definition at line 112 of file nr-harq-phy.h.

Constructor & Destructor Documentation

◆ ~NrHarqPhy()

ns3::NrHarqPhy::~NrHarqPhy ( )

Destructor.

Definition at line 15 of file nr-harq-phy.cc.

Member Function Documentation

◆ GetHarqProcessInfo()

const NrErrorModel::NrErrorModelHistory & ns3::NrHarqPhy::GetHarqProcessInfo ( NrHarqPhy::HistoryMap map,
uint16_t  rnti,
uint8_t  harqProcId 
) const
protected

Return the HARQ history of a particular process id.

Parameters
rntithe RNTI
idthe HARQ process id
mapthe Map between RNTIs and their history
Returns
the HARQ history of such process id

Definition at line 128 of file nr-harq-phy.cc.

References GetHistoryMapOf(), and GetProcIdHistoryMapOf().

Referenced by GetHarqProcessInfoDl(), and GetHarqProcessInfoUl().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetHarqProcessInfoDl()

const NrErrorModel::NrErrorModelHistory & ns3::NrHarqPhy::GetHarqProcessInfoDl ( uint16_t  rnti,
uint8_t  harqProcId 
)

Return the info of the HARQ procId in case of retransmissions for DL (asynchronous)

Parameters
rntithe RNTI
harqProcIdthe HARQ proc id
Returns
the vector of the info related to HARQ proc Id

Definition at line 23 of file nr-harq-phy.cc.

References GetHarqProcessInfo().

Referenced by GetHarqProcessInfoDlUl().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetHarqProcessInfoDlUl()

const NrErrorModel::NrErrorModelHistory & ns3::NrHarqPhy::GetHarqProcessInfoDlUl ( bool  dl,
uint16_t  rnti,
uint8_t  harqProcId 
)
inline

Return the info of the HARQ procId in case of retransmissions for DL/UL (asynchronous)

Parameters
dlif downlink
rntithe RNTI
harqProcIdthe HARQ proc id
Returns
the vector of the info related to HARQ proc Id

Definition at line 40 of file nr-harq-phy.h.

References GetHarqProcessInfoDl(), and GetHarqProcessInfoUl().

+ Here is the call graph for this function:

◆ GetHarqProcessInfoUl()

const NrErrorModel::NrErrorModelHistory & ns3::NrHarqPhy::GetHarqProcessInfoUl ( uint16_t  rnti,
uint8_t  harqProcId 
)

Return the info of the HARQ procId in case of retransmissions for UL (asynchronous)

Parameters
rntithe RNTI
harqProcIdthe HARQ process id
Returns
the vector of the info related to HARQ proc Id

Definition at line 30 of file nr-harq-phy.cc.

References GetHarqProcessInfo().

Referenced by GetHarqProcessInfoDlUl().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetHistoryMapOf()

NrHarqPhy::HistoryMap::iterator ns3::NrHarqPhy::GetHistoryMapOf ( NrHarqPhy::HistoryMap map,
uint16_t  rnti 
) const
protected

Return the HARQ history map of the retransmissions of all process ids of a particular RNTI.

Parameters
rntithe RNTI
mapthe Map between RNTIs and their history
Returns
the HistoryMap of such RNTI

Definition at line 69 of file nr-harq-phy.cc.

Referenced by GetHarqProcessInfo(), ResetHarqProcessStatus(), and UpdateHarqProcessStatus().

+ Here is the caller graph for this function:

◆ GetProcIdHistoryMapOf()

NrHarqPhy::ProcIdHistoryMap::iterator ns3::NrHarqPhy::GetProcIdHistoryMapOf ( NrHarqPhy::ProcIdHistoryMap map,
uint16_t  procId 
) const
protected

Return the HARQ history of a particular process id.

Parameters
procIdthe process id
mapthe Map between processes ids and their history
Returns
the ProcIdHistoryMap of such process id

Definition at line 84 of file nr-harq-phy.cc.

Referenced by GetHarqProcessInfo(), ResetHarqProcessStatus(), and UpdateHarqProcessStatus().

+ Here is the caller graph for this function:

◆ ResetDlHarqProcessStatus()

void ns3::NrHarqPhy::ResetDlHarqProcessStatus ( uint16_t  rnti,
uint8_t  id 
)

Reset the info associated to the decodification of an HARQ process for DL (asynchronous)

Parameters
rntithe RNTI
idthe HARQ process id

Definition at line 46 of file nr-harq-phy.cc.

References ResetHarqProcessStatus().

+ Here is the call graph for this function:

◆ ResetHarqProcessStatus()

void ns3::NrHarqPhy::ResetHarqProcessStatus ( NrHarqPhy::HistoryMap map,
uint16_t  rnti,
uint8_t  harqProcId 
) const
protected

Reset the HARQ history of a particular process id.

Parameters
rntithe RNTI
idthe HARQ process id
mapthe Map between RNTIs and their history

Definition at line 99 of file nr-harq-phy.cc.

References GetHistoryMapOf(), and GetProcIdHistoryMapOf().

Referenced by ResetDlHarqProcessStatus(), and ResetUlHarqProcessStatus().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ResetUlHarqProcessStatus()

void ns3::NrHarqPhy::ResetUlHarqProcessStatus ( uint16_t  rnti,
uint8_t  id 
)

Reset the info associated to the decodification of an HARQ process for UL (asynchronous)

Parameters
rntithe RNTI
idthe HARQ process id

Definition at line 62 of file nr-harq-phy.cc.

References ResetHarqProcessStatus().

+ Here is the call graph for this function:

◆ UpdateDlHarqProcessStatus()

void ns3::NrHarqPhy::UpdateDlHarqProcessStatus ( uint16_t  rnti,
uint8_t  harqProcId,
const Ptr< NrErrorModelOutput > &  output 
)

Update the Info associated to the decodification of an HARQ process for DL (asynchronous)

Parameters
rntithe RNTI
harqProcIdthe HARQ process id
outputoutput of the error model

Definition at line 37 of file nr-harq-phy.cc.

References UpdateHarqProcessStatus().

+ Here is the call graph for this function:

◆ UpdateHarqProcessStatus()

void ns3::NrHarqPhy::UpdateHarqProcessStatus ( NrHarqPhy::HistoryMap map,
uint16_t  rnti,
uint8_t  harqProcId,
const Ptr< NrErrorModelOutput > &  output 
) const
protected

Update the HARQ history of a particular process id.

Parameters
rntithe RNTI
idthe HARQ process id
mapthe Map between RNTIs and their history
outputthe new HARQ history to be included

Definition at line 113 of file nr-harq-phy.cc.

References GetHistoryMapOf(), and GetProcIdHistoryMapOf().

Referenced by UpdateDlHarqProcessStatus(), and UpdateUlHarqProcessStatus().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ UpdateUlHarqProcessStatus()

void ns3::NrHarqPhy::UpdateUlHarqProcessStatus ( uint16_t  rnti,
uint8_t  harqProcId,
const Ptr< NrErrorModelOutput > &  output 
)

Update the Info associated to the decodification of an HARQ process for UL (asynchronous)

Parameters
rntithe RNTI
harqProcIdthe HARQ process id
outputoutput of the error model

Definition at line 53 of file nr-harq-phy.cc.

References UpdateHarqProcessStatus().

+ Here is the call graph for this function:

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