A Discrete-Event Network Simulator
API
ns3::LteHarqPhy Class Reference

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

#include "lte-harq-phy.h"

+ Inheritance diagram for ns3::LteHarqPhy:
+ Collaboration 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 retranmissions for DL (asynchronous) More...
 
double GetAccumulatedMiUl (uint16_t rnti)
 Return the cumulated MI of the HARQ procId in case of retranmissions for UL (synchronous) More...
 
HarqProcessInfoList_t GetHarqProcessInfoDl (uint8_t harqProcId, uint8_t layer)
 Return the info of the HARQ procId in case of retranmissions for DL (asynchronous) More...
 
HarqProcessInfoList_t GetHarqProcessInfoUl (uint16_t rnti, uint8_t harqProcId)
 Return the info of the HARQ procId in case of retranmissions 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)
 
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 ()
 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. 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
 
std::map< uint16_t, std::vector< HarqProcessInfoList_t > > m_miUlHarqProcessesInfoMap
 

Additional Inherited Members

- Static Public Member Functions inherited from ns3::SimpleRefCount< LteHarqPhy >
static void Cleanup (void)
 Noop. More...
 

Detailed Description

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

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

Constructor & Destructor Documentation

ns3::LteHarqPhy::LteHarqPhy ( )

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

References m_miDlHarqProcessesInfoMap.

ns3::LteHarqPhy::~LteHarqPhy ( )

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

References m_miDlHarqProcessesInfoMap, and m_miUlHarqProcessesInfoMap.

Member Function Documentation

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

Return the cumulated MI of the HARQ procId in case of retranmissions 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.

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

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

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.

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

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

Parameters
harqProcIdthe HARQ proc id
layerlayer no. (for MIMO spatail 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.

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

Return the info of the HARQ procId in case of retranmissions 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.

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.

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
idthe HARQ proc id

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

References m_miUlHarqProcessesInfoMap, and NS_LOG_FUNCTION.

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

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

References m_miUlHarqProcessesInfoMap, and NS_LOG_FUNCTION.

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 spatail multiplexing)
mithe new MI
infoBytesthe no. of bytes of info
mithe 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.

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
mithe total no. of bytes txed

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

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

Member Data Documentation

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

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