Agora
1.2.0
Agora project
|
Go to the documentation of this file.
9 #include "common_typedef_sdk.h"
21 uint8_t tx_byte, uint8_t rx_byte);
25 size_t block_error_count);
30 uint8_t tx_byte, uint8_t rx_byte);
32 void UpdateEvm(
size_t frame_id,
size_t data_symbol_id,
size_t sc_id,
33 const arma::cx_fvec& eq_vec);
34 void UpdateEvm(
size_t frame_id,
size_t data_symbol_id,
size_t sc_id,
35 size_t tx_ue_id,
size_t rx_ue_id, arma::cx_float eq);
40 float GetEvmSnr(
size_t frame_id,
size_t ue_id);
51 void RecordDlCsi(
size_t frame_id,
size_t num_rec_sc,
56 void UpdateCsiCond(
size_t frame_id,
size_t sc_id,
float cond);
58 void UpdateUlCsi(
size_t frame_id,
size_t sc_id,
const arma::cx_fmat& mat_in);
59 void UpdateDlCsi(
size_t frame_id,
size_t sc_id,
const arma::cx_fmat& mat_in);
60 void UpdateDlBeam(
size_t frame_id,
size_t sc_id,
const arma::cx_fmat& mat_in);
62 const arma::cx_fvec& calib_buffer);
107 #endif // PHY_STATS_H_
void PrintUlSnrStats(size_t frame_id)
Definition: phy_stats.cc:205
Definition: phy_stats.h:15
@ kEVM
Definition: csv_logger.h:26
Table< size_t > frame_bit_errors_
Definition: phy_stats.h:70
Table< size_t > decoded_blocks_count_
Definition: phy_stats.h:71
size_t UeAntNum() const
Definition: config.h:41
void Calloc(size_t dim1, size_t dim2, Agora_memory::Alignment_t alignment)
Definition: memory_manage.h:45
CsvLog::CsvLogger logger_calib_
Definition: phy_stats.h:101
CsvLog::CsvLogger logger_evm_
Definition: phy_stats.h:95
Definition: test_transpose.cc:22
void IncrementDecodedBlocks(size_t ue_id, size_t offset, size_t frame_slot)
Definition: phy_stats.cc:570
Table< float > evm_buffer_
Definition: phy_stats.h:77
Table< size_t > frame_symbol_errors_
Definition: phy_stats.h:73
PhyStats(Config *const cfg, Direction dir)
Definition: phy_stats.cc:12
size_t NumChannels() const
Definition: config.h:98
void UpdateUncodedBits(size_t ue_id, size_t offset, size_t new_bits_num)
Definition: phy_stats.cc:588
void UpdateBlockErrors(size_t ue_id, size_t offset, size_t frame_slot, size_t block_error_count)
Definition: phy_stats.cc:563
CsvLog::CsvLogger logger_csi_
Definition: phy_stats.h:100
CsvLog::CsvLogger logger_ber_
Definition: phy_stats.h:98
Direction
Definition: symbols.h:39
Config const *const config_
Definition: phy_stats.h:65
float GetNoise(size_t frame_id)
Definition: phy_stats.cc:608
static constexpr size_t kFrameWnd
Definition: symbols.h:18
void UpdateDlPilotSnr(size_t frame_id, size_t symbol_id, size_t ant_id, complex_float *fft_data)
Definition: phy_stats.cc:477
@ kSER
Definition: csv_logger.h:30
const T * At(size_t dim1) const
Definition: memory_manage.h:93
size_t GetOFDMDataNum() const
Definition: config.h:554
@ kCalib
Definition: csv_logger.h:32
float GetEvmSnr(size_t frame_id, size_t ue_id)
Definition: phy_stats.cc:175
static constexpr size_t kBitsInByte
Definition: scrambler.cc:14
size_t BsAntNum() const
Definition: config.h:35
@ kDLCSI
Definition: csv_logger.h:36
Table< float > bs_noise_
Definition: phy_stats.h:85
CsvLog::CsvLogger logger_evm_sc_
Definition: phy_stats.h:96
Definition: csv_logger.h:46
@ kEVMSC
Definition: csv_logger.h:27
void RecordEvm(size_t frame_id)
Definition: phy_stats.cc:313
void UpdateCsiCond(size_t frame_id, size_t sc_id, float cond)
Definition: phy_stats.cc:522
size_t RefRadio(size_t id) const
Definition: config.h:101
const FrameStats & Frame() const
Definition: config.h:340
Table< float > evm_sc_buffer_
Definition: phy_stats.h:78
#define AGORA_LOG_TRACE(...)
Definition: logger.h:92
Definition: mat_logger.h:24
void UpdateBitErrors(size_t ue_id, size_t offset, size_t frame_slot, uint8_t tx_byte, uint8_t rx_byte)
Definition: phy_stats.cc:542
void RecordDlCsi(size_t frame_id, size_t num_rec_sc, const Table< complex_float > &csi_buffer)
Definition: phy_stats.cc:373
static double mean(const std::vector< double > in_vec)
Definition: timer.h:103
Table< size_t > uncoded_bits_count_
Definition: phy_stats.h:75
CsvLog::CsvLogger logger_rssi_
Definition: phy_stats.h:93
Table< float > calib_
Definition: phy_stats.h:86
snr
Definition: inspect_agora_results.m:118
constexpr std::chrono::duration< Rep, Period > abs(std::chrono::duration< Rep, Period > d)
Definition: chrono.h:1488
size_t OfdmDataNum() const
Definition: config.h:47
Table< float > csi_cond_
Definition: phy_stats.h:84
Declaration file for the MatLogger class which records runtime zero-forcing matrices into csv files....
void PrintCalibSnrStats(size_t frame_id)
Definition: phy_stats.cc:247
void UpdateDlCsi(size_t frame_id, size_t sc_id, const arma::cx_fmat &mat_in)
Definition: phy_stats.cc:598
bool ExternalRefNode(size_t id) const
Definition: config.h:110
void Write(const std::string &)
Definition: csv_logger.h:62
CsvLog::MatLogger logger_dl_csi_
Definition: phy_stats.h:103
void UpdateDecodedBits(size_t ue_id, size_t offset, size_t frame_slot, size_t new_bits_num)
Definition: phy_stats.cc:557
Table< float > dl_pilot_noise_
Definition: phy_stats.h:82
Definition: csv_logger.cc:19
@ kDlBeam
Definition: csv_logger.h:36
void UpdateCalibPilotSnr(size_t frame_id, size_t calib_sym_id, size_t ant_id, complex_float *fft_data)
Definition: phy_stats.cc:438
@ kULCSI
Definition: csv_logger.h:36
void Free()
Definition: memory_manage.h:84
Table< size_t > decoded_bits_count_
Definition: phy_stats.h:67
~PhyStats()
Definition: phy_stats.cc:97
void RecordDlPilotSnr(size_t frame_id)
Definition: phy_stats.cc:347
static constexpr bool kEnableCsvLog
Definition: symbols.h:168
size_t ClientUlPilotSymbols() const
Definition: framestats.h:73
Table< size_t > frame_decoded_symbols_
Definition: phy_stats.h:74
for i
Definition: generate_data.m:107
size_t OfdmCaNum() const
Definition: config.h:45
size_t NumDlDataSyms() const
Definition: framestats.h:83
void UpdateDlBeam(size_t frame_id, size_t sc_id, const arma::cx_fmat &mat_in)
Definition: phy_stats.cc:603
bool UpdateMatBuf([[maybe_unused]] const size_t frame_id, [[maybe_unused]] const size_t sc_id, [[maybe_unused]] const arma::cx_fmat &mat_in)
Definition: mat_logger.cc:24
CsvLog::MatLogger logger_dl_beam_
Definition: phy_stats.h:104
Table< float > dl_pilot_snr_
Definition: phy_stats.h:80
Plot Rx waveform for u
Definition: inspect_single_frame.m:108
void UpdateUlPilotSnr(size_t frame_id, size_t ue_id, size_t ant_id, complex_float *fft_data)
Definition: phy_stats.cc:456
void UpdateUncodedBitErrors(size_t ue_id, size_t offset, size_t mod_bit_size, uint8_t tx_byte, uint8_t rx_byte)
Definition: phy_stats.cc:576
void RecordSer(size_t frame_id)
Definition: phy_stats.cc:420
CsvLog::CsvLogger logger_evm_snr_
Definition: phy_stats.h:97
@ kBER
Definition: csv_logger.h:29
evm
Definition: inspect_agora_results.m:117
Table< complex_float > & DlIqF()
Definition: config.h:389
size_t num_rx_symbols_
Definition: phy_stats.h:89
@ kEVMSNR
Definition: csv_logger.h:28
CsvLog::CsvLogger logger_snr_
Definition: phy_stats.h:92
size_t OfdmDataStart() const
Definition: config.h:48
CsvLog::CsvLogger logger_noise_
Definition: phy_stats.h:94
@ kSNR
Definition: csv_logger.h:23
void RecordUlPilotSnr(size_t frame_id)
Definition: phy_stats.cc:288
size_t ClientDlPilotSymbols() const
Definition: framestats.h:76
Table< size_t > bit_error_count_
Definition: phy_stats.h:68
size_t NumDLSyms() const
Definition: framestats.cc:83
const std::vector< size_t > & CellId() const
Definition: config.h:368
@ kRSSI
Definition: csv_logger.h:24
size_t num_rxdata_symbols_
Definition: phy_stats.h:90
void UpdateEvm(size_t frame_id, size_t data_symbol_id, size_t sc_id, const arma::cx_fvec &eq_vec)
Definition: phy_stats.cc:526
size_t NumULSyms() const
Definition: framestats.cc:85
#define AGORA_LOG_INFO(...)
Definition: logger.h:62
@ kNOISE
Definition: csv_logger.h:25
Table< float > dl_pilot_rssi_
Definition: phy_stats.h:81
Table< size_t > frame_decoded_bits_
Definition: phy_stats.h:69
Direction dir_
Definition: phy_stats.h:66
Table< float > calib_pilot_snr_
Definition: phy_stats.h:83
arma::cx_fcube gt_cube_
Definition: phy_stats.h:88
noise
Definition: generate_data_dl.m:131
Table< size_t > uncoded_bit_error_count_
Definition: phy_stats.h:76
Table< complex_float > & UlIqF()
Definition: config.h:388
void ClearEvmBuffer(size_t frame_id)
Definition: phy_stats.cc:181
Declaration file for the configuration class which importants json configuration values into class va...
Table< float > ul_pilot_snr_
Definition: phy_stats.h:79
void PrintEvmStats(size_t frame_id)
Definition: phy_stats.cc:162
void PrintBeamStats(size_t frame_id)
Definition: phy_stats.cc:499
void RecordEvmSnr(size_t frame_id)
Definition: phy_stats.cc:333
CsvLog::CsvLogger logger_ser_
Definition: phy_stats.h:99
Declaration file for the PhyStats class.
size_t NumUlDataSyms() const
Definition: framestats.h:80
void UpdateUlCsi(size_t frame_id, size_t sc_id, const arma::cx_fmat &mat_in)
Definition: phy_stats.cc:593
void RecordBer(size_t frame_id)
Definition: phy_stats.cc:403
CsvLog::MatLogger logger_ul_csi_
Definition: phy_stats.h:102
void RecordCalibMat(size_t frame_id, size_t sc_id, const arma::cx_fvec &calib_buffer)
Definition: phy_stats.cc:391
evm_mat
Definition: process_rx_frame.m:61
void RecordCsiCond(size_t frame_id)
Definition: phy_stats.cc:302
size_t OfdmDataStop() const
Definition: config.h:50
Table< size_t > block_error_count_
Definition: phy_stats.h:72
void PrintDlSnrStats(size_t frame_id)
Definition: phy_stats.cc:187
void PrintPhyStats()
Definition: phy_stats.cc:126
size_t BfAntNum() const
Definition: config.h:39