5G-LENA nr-v3.3-159-ga6832aa7
The 5G/NR module for the ns-3 simulator
Loading...
Searching...
No Matches
nr-mimo-chunk-processor.h
1// Copyright (c) 2024 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
2//
3// SPDX-License-Identifier: GPL-2.0-only
4
5#ifndef NR_MIMO_CHUNK_PROCESSOR_H
6#define NR_MIMO_CHUNK_PROCESSOR_H
7
8#include "nr-mimo-matrices.h"
9
10#include "ns3/nstime.h"
11#include "ns3/object.h"
12#include "ns3/ptr.h"
13#include "ns3/spectrum-value.h"
14
15namespace ns3
16{
17
20{
22 uint16_t rnti{0};
23 Time dur;
24};
25
28{
29 ComplexMatrixArray chanSpct;
31 uint16_t rnti{0};
32 Time dur;
33};
34
35using MimoSinrChunksCb = Callback<void, const std::vector<MimoSinrChunk>&>;
36using MimoSignalChunksCb = Callback<void, const std::vector<MimoSignalChunk>&>;
37
38class NrMimoChunkProcessor : public SimpleRefCount<NrMimoChunkProcessor>
39{
40 public:
43 void AddCallback(MimoSinrChunksCb cb);
44
47 void AddCallback(MimoSignalChunksCb cb);
48
50 void Start();
51
54 void EvaluateChunk(const MimoSinrChunk& mimoSinr);
55
58 void EvaluateChunk(const MimoSignalChunk& mimoSignal);
59
61 void End();
62
63 private:
64 std::vector<MimoSinrChunk> m_mimoSinrChunks;
65 std::vector<MimoSignalChunk> m_mimoSignalChunks;
66
67 std::vector<MimoSinrChunksCb> m_sinrChunksCbs;
68 std::vector<MimoSignalChunksCb> m_signalChunksCbs;
69};
70} // namespace ns3
71
72#endif // NR_MIMO_CHUNK_PROCESSOR_H
void AddCallback(MimoSinrChunksCb cb)
Add a callback for processing received SINR values.
void EvaluateChunk(const MimoSinrChunk &mimoSinr)
Store the current MIMO SINR and duration.
void Start()
Start processing a transmission, clear internal variables.
void End()
Finish calculation and inform interested objects about calculated values.
NrSinrMatrix stores the MIMO SINR matrix, with dimension rank x nRbs.
MIMO signal information used to compute CQI feedback including rank and precoding matrix.
NrCovMat interfNoiseCov
Interference-and-noise-covariance matrix.
ComplexMatrixArray chanSpct
Frequency-domain channel matrix.
Time dur
Duration of the signal.
uint16_t rnti
RNTI, required in OFDMA UL to filter received signals by UEs.
MIMO SINR used to compute the TBLER of a data transmission.
Time dur
Duration of the signal.
NrSinrMatrix mimoSinr
The MIMO SINR values, dimensions rank * nRBs.
uint16_t rnti
RNTI, required in OFDMA UL to filter received signals by UEs.