Agora  1.2.0
Agora project
mat_logger.h
Go to the documentation of this file.
1 
7 #ifndef MAT_LOGGER_H_
8 #define MAT_LOGGER_H_
9 
10 #include <cstddef>
11 #include <string>
12 
13 #include "armadillo"
14 #include "csv_logger.h"
15 
16 namespace CsvLog {
17 
18 constexpr size_t kFrames = 10;
19 constexpr size_t kFrameStart = 100;
20 constexpr size_t kSCs = 304;
21 constexpr size_t kBSAnts = 8;
22 constexpr size_t kUEAnts = 1;
23 
24 class MatLogger : public CsvLogger {
25  public:
26  MatLogger(size_t mat_log_id, Config* const cfg, Direction dir);
27  bool UpdateMatBuf([[maybe_unused]] const size_t frame_id,
28  [[maybe_unused]] const size_t sc_id,
29  [[maybe_unused]] const arma::cx_fmat& mat_in);
30  ~MatLogger();
31 
32  private:
33  void SaveMatBuf();
34 #if defined(ENABLE_MAT_LOG)
35  std::array<std::array<arma::cx_fmat::fixed<kBSAnts, kUEAnts>, kSCs>, kFrames>
36  mat_buffer_;
37 #endif
38 }; //Class MatLogger;
39 
40 } //namespace CsvLog
41 #endif //MAT_LOGGER_H_
CsvLog::kSCs
constexpr size_t kSCs
Definition: mat_logger.h:20
size
end IFFT Reshape the symbol vector into two different spatial streams size
Definition: generate_data.m:73
Direction
Direction
Definition: symbols.h:39
csv_logger.h
Declaration file for the CsvLogger class which records runtime physical-layer performance into csv fi...
logger.h
Logging macros that can be optimized out by the compiler.
CsvLog::CsvLogger
Definition: csv_logger.h:46
CsvLog::MatLogger
Definition: mat_logger.h:24
CsvLog::kMatHeader
static const std::string kMatHeader
Definition: mat_logger.cc:14
mat_logger.h
Declaration file for the MatLogger class which records runtime zero-forcing matrices into csv files....
CsvLog::CsvLogger::Write
void Write(const std::string &)
Definition: csv_logger.h:62
CsvLog
Definition: csv_logger.cc:19
CsvLog::MatLogger::~MatLogger
~MatLogger()
Definition: mat_logger.cc:19
i
for i
Definition: generate_data.m:107
CsvLog::MatLogger::UpdateMatBuf
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::kCsvLogs
@ kCsvLogs
Definition: csv_logger.h:33
CsvLog::kFrameStart
constexpr size_t kFrameStart
Definition: mat_logger.h:19
Config
Definition: config.h:26
AGORA_LOG_INFO
#define AGORA_LOG_INFO(...)
Definition: logger.h:62
CsvLog::kFrames
constexpr size_t kFrames
Definition: mat_logger.h:18
CsvLog::MatLogger::MatLogger
MatLogger(size_t mat_log_id, Config *const cfg, Direction dir)
Definition: mat_logger.cc:16
CsvLog::kBSAnts
constexpr size_t kBSAnts
Definition: mat_logger.h:21
CsvLog::kUEAnts
constexpr size_t kUEAnts
Definition: mat_logger.h:22
CsvLog::MatLogger::SaveMatBuf
void SaveMatBuf()
Definition: mat_logger.cc:42