5G-LENA nr-v4.0
The 5G/NR module for the ns-3 simulator
Loading...
Searching...
No Matches
ns3::NrCovMat Class Reference

#include "nr-mimo-matrices.h"

+ Inheritance diagram for ns3::NrCovMat:
+ Collaboration diagram for ns3::NrCovMat:

Public Member Functions

 NrCovMat (ComplexMatrixArray arr)
 
virtual void AddInterferenceSignal (const ComplexMatrixArray &rhs)
 
virtual NrIntfNormChanMat CalcIntfNormChannel (const ComplexMatrixArray &chanMat) const
 Calculate the interference-normalized channel matrix for SISO and MIMO. See NrIntfNormChanMat for details.
 
virtual void SubtractInterferenceSignal (const ComplexMatrixArray &rhs)
 

Detailed Description

NrCovMat stores the interference-plus-noise covariance matrices of a MIMO signal, with one matrix page for each frequency bin. Operations for efficient computation, addition, and subtraction of covariance matrices of interfering MIMO signals are implemented.

Definition at line 21 of file nr-mimo-matrices.h.

Constructor & Destructor Documentation

◆ NrCovMat()

ns3::NrCovMat::NrCovMat ( ComplexMatrixArray  arr)
inline

Definition at line 25 of file nr-mimo-matrices.h.

Member Function Documentation

◆ AddInterferenceSignal()

void ns3::NrCovMat::AddInterferenceSignal ( const ComplexMatrixArray &  rhs)
virtual

Add an interference signal: this += rhs * rhs.HermitianTranspose()

Parameters
rhsthe full channel matrix (including precoding)

Definition at line 11 of file nr-mimo-matrices.cc.

◆ CalcIntfNormChannel()

NrIntfNormChanMat ns3::NrCovMat::CalcIntfNormChannel ( const ComplexMatrixArray &  chanMat) const
virtual

Calculate the interference-normalized channel matrix for SISO and MIMO. See NrIntfNormChanMat for details.

Parameters
chanMatthe frequency-domain channel matrix without precoding
Returns
the channel matrix after applying interference-normalization/whitening

Compute inv(L) * chanMat, where L is the Cholesky decomposition of this covariance matrix. For SISO, the computation simplifies to 1/sqrt(covMat) * chanMat This normalizes the received signal such that the interference has an identity covariance

Definition at line 23 of file nr-mimo-matrices.cc.

Referenced by ns3::NrPmSearchFast::CreateCqiFeedbackMimo(), ns3::NrPmSearchFull::CreateCqiFeedbackMimo(), ns3::NrPmSearchIdeal::CreateCqiFeedbackMimo(), ns3::NrPmSearchMaleki::CreateCqiFeedbackMimo(), ns3::NrPmSearchSasaoka::CreateCqiFeedbackMimo(), and ns3::NrUePhy::TriggerDlCqiGeneration().

+ Here is the caller graph for this function:

◆ SubtractInterferenceSignal()

void ns3::NrCovMat::SubtractInterferenceSignal ( const ComplexMatrixArray &  rhs)
virtual

Subtract an interference signal: this -= rhs * rhs.HermitianTranspose()

Parameters
rhsthe full channel matrix (including precoding)

Definition at line 17 of file nr-mimo-matrices.cc.


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