5G-MAG Reference Tools - MBMS Modem
|
Frame processor for CAS subframes. More...
#include <CasFrameProcessor.h>
Public Member Functions | |
CasFrameProcessor (const libconfig::Config &cfg, Phy &phy, srsran::rlc &rlc, RestHandler &rest, unsigned rx_channels) | |
Default constructor. More... | |
virtual | ~CasFrameProcessor () |
Default destructor. More... | |
bool | init () |
Initialize signal- and softbuffers, init all underlying components. More... | |
bool | process (uint32_t tti) |
Process the sample data in the signal buffer. More... | |
void | set_cell (srsran_cell_t cell) |
Set the parameters for the cell (Nof PRB, etc). More... | |
cf_t ** | rx_buffer () |
Get a handle of the signal buffer to store samples for processing in. More... | |
uint32_t | rx_buffer_size () |
Size of the signal buffer. More... | |
void | unlock () |
Unlock the processor. More... | |
std::vector< uint8_t > | ce_values () |
Get the CE values (time domain) for displaying the spectrum of the received signal. More... | |
std::vector< uint8_t > | pdsch_data () |
Get the constellation diagram data (I/Q data of the subcarriers after CE) More... | |
float | cinr_db () |
Get the CINR estimate (in dB) More... | |
Private Attributes | |
const libconfig::Config & | _cfg |
srsran::rlc & | _rlc |
Phy & | _phy |
RestHandler & | _rest |
cf_t * | _signal_buffer_rx [SRSRAN_MAX_PORTS] = {} |
uint32_t | _signal_buffer_max_samples = 0 |
srsran_softbuffer_rx_t | _softbuffer |
uint8_t * | _data [SRSRAN_MAX_CODEWORDS] |
srsran_ue_dl_t | _ue_dl = {} |
srsran_ue_dl_cfg_t | _ue_dl_cfg = {} |
srsran_dl_sf_cfg_t | _sf_cfg = {} |
srsran_cell_t | _cell |
std::mutex | _mutex |
unsigned | _rx_channels |
Frame processor for CAS subframes.
Handles the complete processing chain for a CAS subframe: calls FFT and channel estimation, decodes PCFICH and PDCCH and gets DCI(s), decodes PDSCH and passes received PDUs to RLC.
Definition at line 37 of file CasFrameProcessor.h.
|
inline |
Default constructor.
cfg | Config singleton reference |
phy | PHY reference |
rlc | RLC reference |
rest | RESTful API handler reference |
Definition at line 47 of file CasFrameProcessor.h.
|
virtual |
auto CasFrameProcessor::ce_values | ( | ) |
Get the CE values (time domain) for displaying the spectrum of the received signal.
Definition at line 165 of file CasFrameProcessor.cpp.
|
inline |
auto CasFrameProcessor::init | ( | ) |
Initialize signal- and softbuffers, init all underlying components.
Must be called once before the first call to process().
Definition at line 24 of file CasFrameProcessor.cpp.
auto CasFrameProcessor::pdsch_data | ( | ) |
Get the constellation diagram data (I/Q data of the subcarriers after CE)
Definition at line 175 of file CasFrameProcessor.cpp.
auto CasFrameProcessor::process | ( | uint32_t | tti | ) |
Process the sample data in the signal buffer.
Data must already be present in the buffer obtained through the handle returnd by rx_buffer()
tti | TTI of the subframe the data belongs to |
Definition at line 89 of file CasFrameProcessor.cpp.
|
inline |
Get a handle of the signal buffer to store samples for processing in.
Definition at line 84 of file CasFrameProcessor.h.
|
inline |
void CasFrameProcessor::set_cell | ( | srsran_cell_t | cell | ) |
Set the parameters for the cell (Nof PRB, etc).
cell | The cell we're camping on |
Definition at line 83 of file CasFrameProcessor.cpp.
|
inline |
Unlock the processor.
Definition at line 96 of file CasFrameProcessor.h.
|
private |
Definition at line 130 of file CasFrameProcessor.h.
|
private |
Definition at line 115 of file CasFrameProcessor.h.
|
private |
Definition at line 124 of file CasFrameProcessor.h.
|
private |
Definition at line 131 of file CasFrameProcessor.h.
|
private |
Definition at line 117 of file CasFrameProcessor.h.
|
private |
Definition at line 118 of file CasFrameProcessor.h.
|
private |
Definition at line 116 of file CasFrameProcessor.h.
|
private |
Definition at line 132 of file CasFrameProcessor.h.
|
private |
Definition at line 128 of file CasFrameProcessor.h.
|
private |
Definition at line 121 of file CasFrameProcessor.h.
|
private |
Definition at line 120 of file CasFrameProcessor.h.
|
private |
Definition at line 123 of file CasFrameProcessor.h.
|
private |
Definition at line 126 of file CasFrameProcessor.h.
|
private |
Definition at line 127 of file CasFrameProcessor.h.