|
OBECA Receive Process
|
Frame processor for MBSFN subframes. More...
#include <MbsfnFrameProcessor.h>
Public Member Functions | |
| MbsfnFrameProcessor (const libconfig::Config &cfg, srslte::rlc &rlc, Phy &phy, srslte::log_ref log_h, RestHandler &rest) | |
| Default constructor. More... | |
| virtual | ~MbsfnFrameProcessor () |
| Default destructor. | |
| bool | init () |
| Initialize signal- and softbuffers, init all underlying components. More... | |
| int | process (uint32_t tti) |
| Process the sample data in the signal buffer. More... | |
| void | set_cell (srslte_cell_t cell) |
| Set the parameters for the cell (Nof PRB, etc). More... | |
| cf_t ** | get_rx_buffer_and_lock () |
| Get a handle of the signal buffer to store samples for processing in, and lock this processor. More... | |
| uint32_t | rx_buffer_size () |
| Size of the signal buffer. | |
| void | configure_mbsfn (uint8_t area_id, srslte_scs_t subcarrier_spacing) |
| Set MBSFN parameters: area ID and subcarrier spacing. | |
| bool | mbsfn_configured () |
| Returns tru if MBSFN params have already been configured. | |
| void | unlock () |
| Unlock the processor. More... | |
| const std::vector< uint8_t > | mch_data () const |
| Get the constellation diagram data (I/Q data of the subcarriers after CE) | |
| float | cinr_db () |
| Get the CINR estimate (in dB) | |
Frame processor for MBSFN subframes.
Handles the complete processing chain for a CAS subframe: calls FFT and channel estimation, decodes PDSCH and passes received PDUs to RLC.
Definition at line 39 of file MbsfnFrameProcessor.h.
|
inline |
Default constructor.
| cfg | Config singleton reference |
| phy | PHY reference |
| rlc | RLC reference |
| log_h | srsLTE log handle for the MCH MAC msg decoder |
| rest | RESTful API handler reference |
Definition at line 50 of file MbsfnFrameProcessor.h.
|
inline |
Get a handle of the signal buffer to store samples for processing in, and lock this processor.
The processor unlocks itself after (failed or successful) frame processing in process(). If process() is not called by the application after calling this method, it must unlock the processor itself by calling unlock()
Definition at line 91 of file MbsfnFrameProcessor.h.
| auto MbsfnFrameProcessor::init | ( | ) |
Initialize signal- and softbuffers, init all underlying components.
Must be called once before the first call to process().
Definition at line 29 of file MbsfnFrameProcessor.cpp.
| auto MbsfnFrameProcessor::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 82 of file MbsfnFrameProcessor.cpp.
| void MbsfnFrameProcessor::set_cell | ( | srslte_cell_t | cell | ) |
Set the parameters for the cell (Nof PRB, etc).
| cell | The cell we're camping on |
Definition at line 77 of file MbsfnFrameProcessor.cpp.
|
inline |
Unlock the processor.
Definition at line 113 of file MbsfnFrameProcessor.h.
1.8.17