A Discrete-Event Network Simulator
API
Public Member Functions | Private Attributes | List of all members
ns3::LteHarqPhy Class Reference

The LteHarqPhy class implements the HARQ functionalities related to PHY layer (i.e., decodification buffers for incremental redundancy management) More...

#include "lte-harq-phy.h"

+ Inheritance diagram for ns3::LteHarqPhy:

Public Member Functions

 LteHarqPhy ()
 
 ~LteHarqPhy ()
 
double GetAccumulatedMiDl (uint8_t harqProcId, uint8_t layer)
 Return the cumulated MI of the HARQ procId in case of retransmissions for DL (asynchronous) More...
 
double GetAccumulatedMiUl (uint16_t rnti)
 Return the cumulated MI of the HARQ procId in case of retransmissions for UL (synchronous) More...
 
HarqProcessInfoList_t GetHarqProcessInfoDl (uint8_t harqProcId, uint8_t layer)
 Return the info of the HARQ procId in case of retransmissions for DL (asynchronous) More...
 
HarqProcessInfoList_t GetHarqProcessInfoUl (uint16_t rnti, uint8_t harqProcId)
 Return the info of the HARQ procId in case of retransmissions for UL (asynchronous) More...
 
void ResetDlHarqProcessStatus (uint8_t id)
 Reset the info associated to the decodification of an HARQ process for DL (asynchronous) More...
 
void ResetUlHarqProcessStatus (uint16_t rnti, uint8_t id)
 Reset the info associated to the decodification of an HARQ process for DL (asynchronous) More...
 
void SubframeIndication (uint32_t frameNo, uint32_t subframeNo)
 Subframe Indication function. More...
 
void UpdateDlHarqProcessStatus (uint8_t id, uint8_t layer, double mi, uint16_t infoBytes, uint16_t codeBytes)
 Update the Info associated to the decodification of an HARQ process for DL (asynchronous) More...
 
void UpdateUlHarqProcessStatus (uint16_t rnti, double mi, uint16_t infoBytes, uint16_t codeBytes)
 Update the MI value associated to the decodification of an HARQ process for DL (asynchronous) More...
 
- Public Member Functions inherited from ns3::SimpleRefCount< LteHarqPhy >
 SimpleRefCount ()
 Default constructor. More...
 
 SimpleRefCount (const SimpleRefCount &o)
 Copy constructor. More...
 
uint32_t GetReferenceCount (void) const
 Get the reference count of the object. More...
 
SimpleRefCountoperator= (const SimpleRefCount &o)
 Assignment operator. More...
 
void Ref (void) const
 Increment the reference count. More...
 
void Unref (void) const
 Decrement the reference count. More...
 

Private Attributes

std::vector< std::vector< HarqProcessInfoList_t > > m_miDlHarqProcessesInfoMap
 MI DL HARQ processes info map. More...
 
std::map< uint16_t, std::vector< HarqProcessInfoList_t > > m_miUlHarqProcessesInfoMap
 MI UL HARQ processes info map. More...
 

Detailed Description

The LteHarqPhy class implements the HARQ functionalities related to PHY layer (i.e., decodification buffers for incremental redundancy management)

Definition at line 56 of file lte-harq-phy.h.

Constructor & Destructor Documentation

◆ LteHarqPhy()

ns3::LteHarqPhy::LteHarqPhy ( )

Definition at line 34 of file lte-harq-phy.cc.

References m_miDlHarqProcessesInfoMap.

◆ ~LteHarqPhy()

ns3::LteHarqPhy::~LteHarqPhy ( )

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

References m_miDlHarqProcessesInfoMap, and m_miUlHarqProcessesInfoMap.

Member Function Documentation

◆ GetAccumulatedMiDl()

double ns3::LteHarqPhy::GetAccumulatedMiDl ( uint8_t  harqProcId,
uint8_t  layer 
)

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

Parameters
harqProcIdthe HARQ proc id
layerlayer no. (for MIMO spatial multiplexing)
Returns
the MI accumulated

Definition at line 71 of file lte-harq-phy.cc.

References list, m_miDlHarqProcessesInfoMap, and NS_LOG_FUNCTION.

◆ GetAccumulatedMiUl()

double ns3::LteHarqPhy::GetAccumulatedMiUl ( uint16_t  rnti)

Return the cumulated MI of the HARQ procId in case of retransmissions for UL (synchronous)

Parameters
rntithe RNTI of the transmitter
Returns
the MI accumulated

Definition at line 92 of file lte-harq-phy.cc.

References list, m_miUlHarqProcessesInfoMap, NS_ASSERT_MSG(), and NS_LOG_FUNCTION.

◆ GetHarqProcessInfoDl()

HarqProcessInfoList_t ns3::LteHarqPhy::GetHarqProcessInfoDl ( uint8_t  harqProcId,
uint8_t  layer 
)

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

Parameters
harqProcIdthe HARQ proc id
layerlayer no. (for MIMO spatial multiplexing)
Returns
the vector of the info related to HARQ proc Id

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

References m_miDlHarqProcessesInfoMap, and NS_LOG_FUNCTION.

◆ GetHarqProcessInfoUl()

HarqProcessInfoList_t ns3::LteHarqPhy::GetHarqProcessInfoUl ( uint16_t  rnti,
uint8_t  harqProcId 
)

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

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

Definition at line 109 of file lte-harq-phy.cc.

References m_miUlHarqProcessesInfoMap, and NS_LOG_FUNCTION.

◆ ResetDlHarqProcessStatus()

void ns3::LteHarqPhy::ResetDlHarqProcessStatus ( uint8_t  id)

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

Parameters
idthe HARQ proc id

Definition at line 148 of file lte-harq-phy.cc.

References m_miDlHarqProcessesInfoMap, and NS_LOG_FUNCTION.

◆ ResetUlHarqProcessStatus()

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

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

Parameters
rntithe RNTI of the transmitter
idthe HARQ proc id

Definition at line 201 of file lte-harq-phy.cc.

References m_miUlHarqProcessesInfoMap, and NS_LOG_FUNCTION.

◆ SubframeIndication()

void ns3::LteHarqPhy::SubframeIndication ( uint32_t  frameNo,
uint32_t  subframeNo 
)

Subframe Indication function.

Parameters
frameNothe frame number
subframeNothe subframe number

Definition at line 54 of file lte-harq-phy.cc.

References m_miUlHarqProcessesInfoMap, and NS_LOG_FUNCTION.

◆ UpdateDlHarqProcessStatus()

void ns3::LteHarqPhy::UpdateDlHarqProcessStatus ( uint8_t  id,
uint8_t  layer,
double  mi,
uint16_t  infoBytes,
uint16_t  codeBytes 
)

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

Parameters
idthe HARQ proc id
layerlayer no. (for MIMO spatial multiplexing)
mithe new MI
infoBytesthe no. of bytes of info
codeBytesthe total no. of bytes txed

Definition at line 131 of file lte-harq-phy.cc.

References ns3::HarqProcessInfoElement_t::m_codeBits, ns3::HarqProcessInfoElement_t::m_infoBits, ns3::HarqProcessInfoElement_t::m_mi, m_miDlHarqProcessesInfoMap, and NS_LOG_FUNCTION.

◆ UpdateUlHarqProcessStatus()

void ns3::LteHarqPhy::UpdateUlHarqProcessStatus ( uint16_t  rnti,
double  mi,
uint16_t  infoBytes,
uint16_t  codeBytes 
)

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

Parameters
rntithe RNTI of the transmitter
mithe new MI
infoBytesthe no. of bytes of info
codeBytesthe total no. of bytes txed

Definition at line 160 of file lte-harq-phy.cc.

References list, ns3::HarqProcessInfoElement_t::m_codeBits, ns3::HarqProcessInfoElement_t::m_infoBits, ns3::HarqProcessInfoElement_t::m_mi, m_miUlHarqProcessesInfoMap, and NS_LOG_FUNCTION.

Member Data Documentation

◆ m_miDlHarqProcessesInfoMap

std::vector<std::vector <HarqProcessInfoList_t> > ns3::LteHarqPhy::m_miDlHarqProcessesInfoMap
private

MI DL HARQ processes info map.

Definition at line 146 of file lte-harq-phy.h.

Referenced by GetAccumulatedMiDl(), GetHarqProcessInfoDl(), LteHarqPhy(), ResetDlHarqProcessStatus(), UpdateDlHarqProcessStatus(), and ~LteHarqPhy().

◆ m_miUlHarqProcessesInfoMap

std::map<uint16_t, std::vector <HarqProcessInfoList_t> > ns3::LteHarqPhy::m_miUlHarqProcessesInfoMap
private

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