Agora  1.2.0
Agora project
PhyStats Class Reference

#include <phy_stats.h>

Collaboration diagram for PhyStats:

Public Member Functions

 PhyStats (Config *const cfg, Direction dir)
 
 ~PhyStats ()
 
void PrintPhyStats ()
 
void UpdateBitErrors (size_t ue_id, size_t offset, size_t frame_slot, uint8_t tx_byte, uint8_t rx_byte)
 
void UpdateDecodedBits (size_t ue_id, size_t offset, size_t frame_slot, size_t new_bits_num)
 
void UpdateBlockErrors (size_t ue_id, size_t offset, size_t frame_slot, size_t block_error_count)
 
void IncrementDecodedBlocks (size_t ue_id, size_t offset, size_t frame_slot)
 
void RecordBer (size_t frame_id)
 
void RecordSer (size_t frame_id)
 
void UpdateUncodedBitErrors (size_t ue_id, size_t offset, size_t mod_bit_size, uint8_t tx_byte, uint8_t rx_byte)
 
void UpdateUncodedBits (size_t ue_id, size_t offset, size_t new_bits_num)
 
void UpdateEvm (size_t frame_id, size_t data_symbol_id, size_t sc_id, const arma::cx_fvec &eq_vec)
 
void UpdateEvm (size_t frame_id, size_t data_symbol_id, size_t sc_id, size_t tx_ue_id, size_t rx_ue_id, arma::cx_float eq)
 
void PrintEvmStats (size_t frame_id)
 
void RecordCsiCond (size_t frame_id)
 
void RecordEvm (size_t frame_id)
 
void RecordEvmSnr (size_t frame_id)
 
float GetEvmSnr (size_t frame_id, size_t ue_id)
 
float GetNoise (size_t frame_id)
 
void ClearEvmBuffer (size_t frame_id)
 
void UpdateUlPilotSnr (size_t frame_id, size_t ue_id, size_t ant_id, complex_float *fft_data)
 
void UpdateDlPilotSnr (size_t frame_id, size_t symbol_id, size_t ant_id, complex_float *fft_data)
 
void PrintUlSnrStats (size_t frame_id)
 
void RecordUlPilotSnr (size_t frame_id)
 
void PrintDlSnrStats (size_t frame_id)
 
void RecordDlPilotSnr (size_t frame_id)
 
void RecordDlCsi (size_t frame_id, size_t num_rec_sc, const Table< complex_float > &csi_buffer)
 
void UpdateCalibPilotSnr (size_t frame_id, size_t calib_sym_id, size_t ant_id, complex_float *fft_data)
 
void PrintCalibSnrStats (size_t frame_id)
 
void UpdateCsiCond (size_t frame_id, size_t sc_id, float cond)
 
void PrintBeamStats (size_t frame_id)
 
void UpdateUlCsi (size_t frame_id, size_t sc_id, const arma::cx_fmat &mat_in)
 
void UpdateDlCsi (size_t frame_id, size_t sc_id, const arma::cx_fmat &mat_in)
 
void UpdateDlBeam (size_t frame_id, size_t sc_id, const arma::cx_fmat &mat_in)
 
void RecordCalibMat (size_t frame_id, size_t sc_id, const arma::cx_fvec &calib_buffer)
 

Private Attributes

Config const *const config_
 
Direction dir_
 
Table< size_t > decoded_bits_count_
 
Table< size_t > bit_error_count_
 
Table< size_t > frame_decoded_bits_
 
Table< size_t > frame_bit_errors_
 
Table< size_t > decoded_blocks_count_
 
Table< size_t > block_error_count_
 
Table< size_t > frame_symbol_errors_
 
Table< size_t > frame_decoded_symbols_
 
Table< size_t > uncoded_bits_count_
 
Table< size_t > uncoded_bit_error_count_
 
Table< float > evm_buffer_
 
Table< float > evm_sc_buffer_
 
Table< float > ul_pilot_snr_
 
Table< float > dl_pilot_snr_
 
Table< float > dl_pilot_rssi_
 
Table< float > dl_pilot_noise_
 
Table< float > calib_pilot_snr_
 
Table< float > csi_cond_
 
Table< float > bs_noise_
 
Table< float > calib_
 
arma::cx_fcube gt_cube_
 
size_t num_rx_symbols_
 
size_t num_rxdata_symbols_
 
CsvLog::CsvLogger logger_snr_
 
CsvLog::CsvLogger logger_rssi_
 
CsvLog::CsvLogger logger_noise_
 
CsvLog::CsvLogger logger_evm_
 
CsvLog::CsvLogger logger_evm_sc_
 
CsvLog::CsvLogger logger_evm_snr_
 
CsvLog::CsvLogger logger_ber_
 
CsvLog::CsvLogger logger_ser_
 
CsvLog::CsvLogger logger_csi_
 
CsvLog::CsvLogger logger_calib_
 
CsvLog::MatLogger logger_ul_csi_
 
CsvLog::MatLogger logger_dl_csi_
 
CsvLog::MatLogger logger_dl_beam_
 

Constructor & Destructor Documentation

◆ PhyStats()

PhyStats::PhyStats ( Config *const  cfg,
Direction  dir 
)
explicit
Here is the call graph for this function:

◆ ~PhyStats()

PhyStats::~PhyStats ( )
Here is the call graph for this function:

Member Function Documentation

◆ ClearEvmBuffer()

void PhyStats::ClearEvmBuffer ( size_t  frame_id)
Here is the call graph for this function:

◆ GetEvmSnr()

float PhyStats::GetEvmSnr ( size_t  frame_id,
size_t  ue_id 
)
Here is the call graph for this function:

◆ GetNoise()

float PhyStats::GetNoise ( size_t  frame_id)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ IncrementDecodedBlocks()

void PhyStats::IncrementDecodedBlocks ( size_t  ue_id,
size_t  offset,
size_t  frame_slot 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrintBeamStats()

void PhyStats::PrintBeamStats ( size_t  frame_id)
Here is the call graph for this function:

◆ PrintCalibSnrStats()

void PhyStats::PrintCalibSnrStats ( size_t  frame_id)
Here is the call graph for this function:

◆ PrintDlSnrStats()

void PhyStats::PrintDlSnrStats ( size_t  frame_id)
Here is the call graph for this function:

◆ PrintEvmStats()

void PhyStats::PrintEvmStats ( size_t  frame_id)
Here is the call graph for this function:

◆ PrintPhyStats()

void PhyStats::PrintPhyStats ( )
Here is the call graph for this function:

◆ PrintUlSnrStats()

void PhyStats::PrintUlSnrStats ( size_t  frame_id)
Here is the call graph for this function:

◆ RecordBer()

void PhyStats::RecordBer ( size_t  frame_id)
Here is the call graph for this function:

◆ RecordCalibMat()

void PhyStats::RecordCalibMat ( size_t  frame_id,
size_t  sc_id,
const arma::cx_fvec &  calib_buffer 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ RecordCsiCond()

void PhyStats::RecordCsiCond ( size_t  frame_id)
Here is the call graph for this function:

◆ RecordDlCsi()

void PhyStats::RecordDlCsi ( size_t  frame_id,
size_t  num_rec_sc,
const Table< complex_float > &  csi_buffer 
)
Here is the call graph for this function:

◆ RecordDlPilotSnr()

void PhyStats::RecordDlPilotSnr ( size_t  frame_id)
Here is the call graph for this function:

◆ RecordEvm()

void PhyStats::RecordEvm ( size_t  frame_id)
Here is the call graph for this function:

◆ RecordEvmSnr()

void PhyStats::RecordEvmSnr ( size_t  frame_id)
Here is the call graph for this function:

◆ RecordSer()

void PhyStats::RecordSer ( size_t  frame_id)
Here is the call graph for this function:

◆ RecordUlPilotSnr()

void PhyStats::RecordUlPilotSnr ( size_t  frame_id)
Here is the call graph for this function:

◆ UpdateBitErrors()

void PhyStats::UpdateBitErrors ( size_t  ue_id,
size_t  offset,
size_t  frame_slot,
uint8_t  tx_byte,
uint8_t  rx_byte 
)
Here is the caller graph for this function:

◆ UpdateBlockErrors()

void PhyStats::UpdateBlockErrors ( size_t  ue_id,
size_t  offset,
size_t  frame_slot,
size_t  block_error_count 
)
Here is the caller graph for this function:

◆ UpdateCalibPilotSnr()

void PhyStats::UpdateCalibPilotSnr ( size_t  frame_id,
size_t  calib_sym_id,
size_t  ant_id,
complex_float fft_data 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ UpdateCsiCond()

void PhyStats::UpdateCsiCond ( size_t  frame_id,
size_t  sc_id,
float  cond 
)
Here is the caller graph for this function:

◆ UpdateDecodedBits()

void PhyStats::UpdateDecodedBits ( size_t  ue_id,
size_t  offset,
size_t  frame_slot,
size_t  new_bits_num 
)
Here is the caller graph for this function:

◆ UpdateDlBeam()

void PhyStats::UpdateDlBeam ( size_t  frame_id,
size_t  sc_id,
const arma::cx_fmat &  mat_in 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ UpdateDlCsi()

void PhyStats::UpdateDlCsi ( size_t  frame_id,
size_t  sc_id,
const arma::cx_fmat &  mat_in 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ UpdateDlPilotSnr()

void PhyStats::UpdateDlPilotSnr ( size_t  frame_id,
size_t  symbol_id,
size_t  ant_id,
complex_float fft_data 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ UpdateEvm() [1/2]

void PhyStats::UpdateEvm ( size_t  frame_id,
size_t  data_symbol_id,
size_t  sc_id,
const arma::cx_fvec &  eq_vec 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ UpdateEvm() [2/2]

void PhyStats::UpdateEvm ( size_t  frame_id,
size_t  data_symbol_id,
size_t  sc_id,
size_t  tx_ue_id,
size_t  rx_ue_id,
arma::cx_float  eq 
)

◆ UpdateUlCsi()

void PhyStats::UpdateUlCsi ( size_t  frame_id,
size_t  sc_id,
const arma::cx_fmat &  mat_in 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ UpdateUlPilotSnr()

void PhyStats::UpdateUlPilotSnr ( size_t  frame_id,
size_t  ue_id,
size_t  ant_id,
complex_float fft_data 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ UpdateUncodedBitErrors()

void PhyStats::UpdateUncodedBitErrors ( size_t  ue_id,
size_t  offset,
size_t  mod_bit_size,
uint8_t  tx_byte,
uint8_t  rx_byte 
)

◆ UpdateUncodedBits()

void PhyStats::UpdateUncodedBits ( size_t  ue_id,
size_t  offset,
size_t  new_bits_num 
)

Member Data Documentation

◆ bit_error_count_

Table<size_t> PhyStats::bit_error_count_
private

◆ block_error_count_

Table<size_t> PhyStats::block_error_count_
private

◆ bs_noise_

Table<float> PhyStats::bs_noise_
private

◆ calib_

Table<float> PhyStats::calib_
private

◆ calib_pilot_snr_

Table<float> PhyStats::calib_pilot_snr_
private

◆ config_

Config const* const PhyStats::config_
private

◆ csi_cond_

Table<float> PhyStats::csi_cond_
private

◆ decoded_bits_count_

Table<size_t> PhyStats::decoded_bits_count_
private

◆ decoded_blocks_count_

Table<size_t> PhyStats::decoded_blocks_count_
private

◆ dir_

Direction PhyStats::dir_
private

◆ dl_pilot_noise_

Table<float> PhyStats::dl_pilot_noise_
private

◆ dl_pilot_rssi_

Table<float> PhyStats::dl_pilot_rssi_
private

◆ dl_pilot_snr_

Table<float> PhyStats::dl_pilot_snr_
private

◆ evm_buffer_

Table<float> PhyStats::evm_buffer_
private

◆ evm_sc_buffer_

Table<float> PhyStats::evm_sc_buffer_
private

◆ frame_bit_errors_

Table<size_t> PhyStats::frame_bit_errors_
private

◆ frame_decoded_bits_

Table<size_t> PhyStats::frame_decoded_bits_
private

◆ frame_decoded_symbols_

Table<size_t> PhyStats::frame_decoded_symbols_
private

◆ frame_symbol_errors_

Table<size_t> PhyStats::frame_symbol_errors_
private

◆ gt_cube_

arma::cx_fcube PhyStats::gt_cube_
private

◆ logger_ber_

CsvLog::CsvLogger PhyStats::logger_ber_
private

◆ logger_calib_

CsvLog::CsvLogger PhyStats::logger_calib_
private

◆ logger_csi_

CsvLog::CsvLogger PhyStats::logger_csi_
private

◆ logger_dl_beam_

CsvLog::MatLogger PhyStats::logger_dl_beam_
private

◆ logger_dl_csi_

CsvLog::MatLogger PhyStats::logger_dl_csi_
private

◆ logger_evm_

CsvLog::CsvLogger PhyStats::logger_evm_
private

◆ logger_evm_sc_

CsvLog::CsvLogger PhyStats::logger_evm_sc_
private

◆ logger_evm_snr_

CsvLog::CsvLogger PhyStats::logger_evm_snr_
private

◆ logger_noise_

CsvLog::CsvLogger PhyStats::logger_noise_
private

◆ logger_rssi_

CsvLog::CsvLogger PhyStats::logger_rssi_
private

◆ logger_ser_

CsvLog::CsvLogger PhyStats::logger_ser_
private

◆ logger_snr_

CsvLog::CsvLogger PhyStats::logger_snr_
private

◆ logger_ul_csi_

CsvLog::MatLogger PhyStats::logger_ul_csi_
private

◆ num_rx_symbols_

size_t PhyStats::num_rx_symbols_
private

◆ num_rxdata_symbols_

size_t PhyStats::num_rxdata_symbols_
private

◆ ul_pilot_snr_

Table<float> PhyStats::ul_pilot_snr_
private

◆ uncoded_bit_error_count_

Table<size_t> PhyStats::uncoded_bit_error_count_
private

◆ uncoded_bits_count_

Table<size_t> PhyStats::uncoded_bits_count_
private

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