Agora
1.2.0
Agora project
|
Go to the documentation of this file.
18 #include "common_typedef_sdk.h"
30 explicit Config(std::string jsonfilename);
59 inline double Nco()
const {
return this->
nco_; }
127 std::printf(
"RecipCalDlAnt (Frame %zu, Symbol %zu) tx antenna %zu\n",
128 frame_id, dl_cal_symbol, tx_ant);
134 int mod_value = 0)
const {
135 return (previous_index + mod_value) %
kFrameWnd;
148 const size_t cal_offset = (frame_id % num_frames_for_full_cal);
149 const size_t tx_ant_start = cal_offset * num_cal_per_idx;
150 const size_t tx_ant_end = tx_ant_start + (num_cal_per_idx - 1);
153 if ((ant >= tx_ant_start) && (ant <= tx_ant_end)) {
161 "RecipCalUlRxIndex (Frame %zu, Antenna %zu) index %zu - Start %zu, "
162 "End %zu, full %zu\n",
163 frame_id, ant, cal_ind, tx_ant_start, tx_ant_end,
164 num_frames_for_full_cal);
341 inline const std::vector<std::complex<float>>&
PilotCf32()
const {
344 inline const std::vector<std::complex<float>>&
GoldCf32()
const {
347 inline const std::vector<uint32_t>&
Coeffs()
const {
return this->
coeffs_; };
349 inline const std::vector<uint32_t>&
Pilot()
const {
return this->
pilot_; };
350 inline const std::vector<uint32_t>&
Beacon()
const {
return this->
beacon_; };
353 inline const std::vector<std::complex<float>>&
CommonPilot()
const {
356 inline const std::vector<std::string>&
RadioId()
const {
359 inline const std::vector<std::string>&
HubId()
const {
362 inline const std::vector<std::string>&
UeRadioId()
const {
377 inline std::vector<std::complex<int16_t>>&
PilotCi16() {
401 bool IsBeacon(
size_t ,
size_t )
const;
402 bool IsPilot(
size_t ,
size_t )
const;
407 bool IsUplink(
size_t ,
size_t )
const;
422 size_t symbol_idx_ul)
const {
429 size_t symbol_idx_dl)
const {
435 size_t symbol_idx = SIZE_MAX;
442 throw std::runtime_error(
"Invalid BS Beacon or DL symbol id " +
450 size_t symbol_idx = SIZE_MAX;
457 throw std::runtime_error(
"Invalid Ue Pilot or UL symbol id " +
472 size_t frame_id,
size_t symbol_id)
const {
473 size_t frame_slot = frame_id %
kFrameWnd;
476 return data_buffers[symbol_offset];
487 size_t frame_id,
size_t sc_id)
const {
488 size_t frame_slot = frame_id %
kFrameWnd;
489 return &calib_buffer[frame_slot][sc_id *
bs_ant_num_];
494 size_t frame_id,
size_t symbol_id,
size_t ue_id,
495 size_t cb_id)
const {
496 size_t mac_bytes_perframe;
497 size_t num_bytes_per_cb;
498 size_t mac_packet_length;
508 return &info_bits[ue_id][(frame_id %
kFrameWnd) * mac_bytes_perframe +
509 symbol_id * mac_packet_length +
510 cb_id * num_bytes_per_cb];
515 size_t symbol_id,
size_t ue_id,
516 size_t cb_id)
const {
517 size_t num_bytes_per_cb;
518 size_t num_blocks_in_symbol;
526 return &info_bits[symbol_id][Roundup<64>(num_bytes_per_cb) *
527 (num_blocks_in_symbol * ue_id + cb_id)];
532 size_t frame_id,
size_t symbol_id,
size_t ue_id,
533 size_t sc_id)
const {
534 size_t total_data_symbol_id;
535 size_t ofdm_data_num;
544 return &mod_bits_buffer[total_data_symbol_id]
545 [Roundup<64>(ofdm_data_num) * ue_id + sc_id];
575 const std::string& json_handle);
size_t NumPilotSyms() const
Definition: framestats.cc:91
static constexpr size_t kShortIdLen
Definition: config.cc:30
size_t UeWorkerThreadNum() const
Definition: config.h:184
size_t GetBeaconSymbolLast() const
Definition: framestats.h:61
static std::vector< uint32_t > Cfloat32ToUint32(const std::vector< std::complex< float >> &in, bool conj, const std::string &order)
Definition: utils.cc:291
std::string ue_server_addr_
Definition: config.h:845
bool IsDownlink(size_t, size_t) const
Definition: config.cc:1546
size_t DecodeThreadNum() const
Definition: config.h:193
std::string dpdk_mac_addrs_
Definition: config.h:881
static MKL_LONG IFFT(std::vector< std::complex< float >> &in_out, int fft_size, bool normalize=true)
Definition: comms-lib.cc:410
size_t num_cells_
Definition: config.h:719
std::string trace_file_
Definition: config.h:913
size_t SocketThreadNum() const
Definition: config.h:182
size_t ue_worker_thread_num_
Definition: config.h:744
static const std::string kDlDataFilePrefix
Definition: config.cc:38
byte
Definition: core.h:388
void GenData()
Definition: config.cc:908
Table< std::complex< int16_t > > & UeSpecificPilotT()
Definition: config.h:374
size_t ul_mac_packets_perframe_
Definition: config.h:842
size_t GetDLSymbolIdx(size_t symbol_number) const
Definition: framestats.cc:152
size_t NumDLCalSyms() const
Definition: framestats.cc:79
size_t GetBeamScId(size_t sc_id) const
Definition: config.h:481
void Running(bool value)
Definition: config.h:33
const std::string & FrameIdentifier() const
Definition: framestats.h:70
static constexpr size_t kMacUserLocalPort
Definition: symbols.h:320
std::vector< std::string > ul_tx_f_data_files_
Definition: config.h:915
bool fft_in_rru_
Definition: config.h:911
size_t UeAntNum() const
Definition: config.h:41
complex_float * GetCalibBuffer(Table< complex_float > &calib_buffer, size_t frame_id, size_t sc_id) const
Get the calibration buffer for this frame and subcarrier ID.
Definition: config.h:486
void Calloc(size_t dim1, size_t dim2, Agora_memory::Alignment_t alignment)
Definition: memory_manage.h:45
static constexpr bool kOutputUlScData
Definition: symbols.h:359
double Freq() const
Definition: config.h:57
std::vector< size_t > symbol_data_id_
Definition: config.h:658
bool IsRecCalEnabled() const
Definition: framestats.cc:97
Table< int8_t > ul_bits_
Definition: config.h:661
Definition: test_transpose.cc:22
void OfdmRxZeroPrefixCalUl(size_t prefix)
Definition: config.h:222
bool sample_cal_en_
Definition: config.h:727
std::atomic< bool > running_
Definition: config.h:653
float Scale() const
Definition: config.h:240
void UpdateDlMCS(const nlohmann::json &mcs)
Definition: config.cc:814
std::vector< size_t > cell_id_
Definition: config.h:693
int16_t MaxDecoderIter() const
Definition: ldpc_config.h:48
size_t UeSocketThreadNum() const
Definition: config.h:187
size_t SampsPerSymbol() const
Definition: config.h:234
auto printf(const S &fmt, const T &... args) -> int
Definition: printf.h:631
std::vector< float > cl_corr_scale_
Definition: config.h:801
double Rate() const
Definition: config.h:58
size_t GetDLCalSymbolIdx(size_t symbol_number) const
Definition: framestats.cc:164
static void FreeBuffer1d(T **buffer)
Definition: memory_manage.h:116
static constexpr size_t kMacBaseRemotePort
Definition: symbols.h:328
std::string UeChannel() const
Definition: config.h:114
size_t bf_ant_num_
Definition: config.h:595
const std::vector< std::string > & RadioId() const
Definition: config.h:356
size_t NumChannels() const
Definition: config.h:98
size_t NumBeaconSyms() const
Definition: framestats.cc:87
static const std::string kExperimentFilepath
Definition: config.cc:34
Table< int8_t > & UlBits()
Definition: config.h:385
size_t MacPacketsPerframe(Direction dir) const
Definition: config.h:276
static void LdpcEncodeHelper(size_t base_graph, size_t zc, size_t nRows, int8_t *encoded_buffer, int8_t *parity_buffer, const int8_t *input_buffer)
Definition: utils_ldpc.h:195
size_t GetPilotSymbol(size_t location) const
Definition: framestats.cc:122
static constexpr bool kUse12BitIQ
Definition: symbols.h:178
Table< std::complex< int16_t > > dl_iq_t_
Definition: config.h:666
size_t OfdmTxZeroPrefix() const
Definition: config.h:211
size_t CoreOffset() const
Definition: config.h:180
double ClientTxGainA(size_t id) const
Definition: config.h:70
Class defination for frame tracking.
~Config()
Definition: config.cc:1451
size_t ofdm_tx_zero_postfix_
Definition: config.h:774
float scale_
Definition: config.h:803
int ue_rru_port_
Definition: config.h:872
const std::vector< std::string > & UeRadioName() const
Definition: config.h:365
size_t ofdm_data_stop_
Definition: config.h:625
size_t GetTotalDataSymbolIdxUl(size_t frame_id, size_t symbol_idx_ul) const
Definition: config.h:421
Direction
Definition: symbols.h:39
size_t OfdmTxZeroPostfix() const
Definition: config.h:212
std::string bs_rru_addr_
Definition: config.h:852
size_t CpLen() const
Definition: config.h:46
const std::vector< std::string > & HubId() const
Definition: config.h:359
size_t OfdmRxZeroPrefixBs() const
Definition: config.h:215
static size_t LdpcNumEncodedBits(size_t base_graph, size_t zc, size_t nRows)
Definition: utils_ldpc.h:159
GeneratorWrapper< T > value(T &&value)
Definition: catch.hpp:3999
bool freq_orthogonal_pilot_
Definition: config.h:764
Table< complex_float > ul_iq_f_
Definition: config.h:665
size_t RecipCalFrameCnt() const
Definition: config.h:171
size_t bs_ant_num_
Definition: config.h:594
int8_t * GetInfoBits(Table< int8_t > &info_bits, Direction dir, size_t symbol_id, size_t ue_id, size_t cb_id) const
Get info bits for this symbol, user and code block ID.
Definition: config.h:514
static constexpr size_t kFrameWnd
Definition: symbols.h:18
#define unused(x)
Definition: utils.h:14
int bs_server_port_
Definition: config.h:864
size_t GetOFDMDataNum() const
Definition: config.h:554
void * PaddedAlignedAlloc(Alignment_t alignment, size_t size)
Definition: memory_manage.cc:15
float NoiseLevel() const
Definition: config.h:310
complex_float * pilots_sgn_
Definition: config.h:677
std::vector< std::string > ue_radio_id_
Definition: config.h:689
std::vector< SubcarrierType > symbol_map_
Definition: config.h:657
size_t BeamThreadNum() const
Definition: config.h:194
size_t NumRows() const
Definition: ldpc_config.h:52
size_t ul_mac_bytes_num_perframe_
Definition: config.h:815
double bw_filter_
Definition: config.h:706
std::vector< double > client_gain_tx_b_
Definition: config.h:683
size_t UeResyncPeriod() const
Definition: config.h:55
const std::vector< std::string > & UeRadioId() const
Definition: config.h:362
double tx_gain_a_
Definition: config.h:708
size_t GetULSymbolIdx(size_t symbol_number) const
Definition: framestats.cc:156
Table< complex_float > ul_mod_table_
Definition: config.h:639
size_t OfdmRxZeroPrefixCalUl() const
Definition: config.h:219
size_t dl_mac_bytes_num_perframe_
Definition: config.h:830
static const size_t kDefaultPilotSymPerFrame
Definition: config.h:580
int bs_rru_port_
Definition: config.h:867
float noise_level_
Definition: config.h:901
std::vector< std::complex< float > > common_pilot_
Definition: config.h:680
size_t BsAntNum() const
Definition: config.h:35
size_t MacDataBytesNumPerframe(Direction dir) const
Definition: config.h:259
static size_t BitsToBytes(size_t n_bits)
Definition: utils_ldpc.h:124
nlohmann::json dl_mcs_params_
Definition: config.h:645
std::vector< double > client_gain_rx_b_
Definition: config.h:685
size_t dl_num_bytes_per_cb_
Definition: config.h:905
double rate_
Definition: config.h:703
size_t SubcarrierPerCodeBlock(Direction dir) const
Definition: config.h:292
static constexpr size_t kMaxSupportedZc
Definition: config.cc:29
const std::vector< uint32_t > & Beacon() const
Definition: config.h:350
static float FindMaxAbs(const complex_float *in, size_t len)
Definition: comms-lib.cc:135
@ kStsSeq
Definition: comms-lib.h:32
double RxGainB() const
Definition: config.h:67
size_t ul_mod_order_
Definition: config.h:631
static void LoadTddConfig(const std::string &filename, std::string &jconfig)
Definition: utils.cc:380
#define AGORA_LOG_ERROR(...)
Definition: logger.h:39
#define TOSTRING(x)
Definition: symbols.h:14
static constexpr size_t kTransposeBlockSize
Definition: symbols.h:340
size_t GetBeaconDlIdx(size_t symbol_id) const
Definition: config.h:434
std::vector< double > client_gain_tx_a_
Definition: config.h:682
size_t GetOFDMPilotNum() const
Definition: config.h:550
std::string beamforming_str_
Definition: config.h:730
double BwFilter() const
Definition: config.h:62
static constexpr size_t kMacBaseLocalPort
Definition: symbols.h:332
size_t UeMacRxPort() const
Definition: config.h:323
void DumpMcsInfo()
Definition: config.cc:881
size_t RefRadio(size_t id) const
Definition: config.h:101
const FrameStats & Frame() const
Definition: config.h:340
std::vector< size_t > ref_ant_
Definition: config.h:692
std::vector< double > client_gain_rx_a_
Definition: config.h:684
double RadioRfFreq() const
Definition: config.h:61
int UeServerPort() const
Definition: config.h:306
size_t ofdm_pilot_spacing_
Definition: config.h:627
double tx_gain_b_
Definition: config.h:710
size_t ofdm_rx_zero_prefix_bs_
Definition: config.h:780
std::string ue_rru_addr_
Definition: config.h:856
#define AGORA_LOG_TRACE(...)
Definition: logger.h:92
size_t ue_num_
Definition: config.h:598
Table< int8_t > & DlModBits()
Definition: config.h:386
size_t ModifyRecCalIndex(size_t previous_index, int mod_value=0) const
Definition: config.h:133
complex_float * GetDataBuf(Table< complex_float > &data_buffers, size_t frame_id, size_t symbol_id) const
Definition: config.h:471
std::vector< std::complex< int16_t > > & BeaconCi16()
Definition: config.h:380
bool single_gain_
Definition: config.h:707
double Nco() const
Definition: config.h:59
LDPCconfig ul_ldpc_config_
Definition: config.h:642
static const std::map< std::string, size_t > kBeamformingStr
Definition: comms-lib.h:26
static constexpr size_t kSCsPerCacheline
Definition: symbols.h:312
static void AllocBuffer1d(T **buffer, U dim, Agora_memory::Alignment_t alignment, int init_zero)
Definition: memory_manage.h:105
static constexpr bool kDebugPrintPilot
Print the I/Q samples in the pilots.
Definition: symbols.h:206
size_t dl_data_bytes_num_persymbol_
Definition: config.h:824
static const size_t kDefaultSymbolNumPerFrame
Definition: config.h:579
size_t ul_mod_order_bits_
Definition: config.h:633
double freq_
Definition: config.h:702
Table< int8_t > dl_bits_
Definition: config.h:660
index
Definition: parse_all_dl.m:11
static size_t LdpcNumInputCols(size_t base_graph)
Definition: utils_ldpc.h:128
bool scramble_enabled_
Definition: config.h:646
std::string log_listener_addr_
Definition: config.h:862
size_t OfdmRxZeroPrefixCalDl() const
Definition: config.h:225
const std::string config_filename_
Definition: config.h:912
size_t BeamformingAlgo() const
Definition: config.h:108
void Print() const
Definition: config.cc:1561
std::string ul_modulation_
Definition: config.h:629
const std::vector< std::complex< float > > & PilotCf32() const
Definition: config.h:341
void InitModulationTable(Table< complex_float > &mod_table, size_t mod_order)
Definition: modulation.cc:42
static constexpr bool kDebugRecipCal
Definition: config.h:28
const complex_float * PilotsSgn() const
Definition: config.h:352
filename
Definition: parse_all_dl.m:14
size_t UeNum() const
Definition: config.h:40
constexpr std::chrono::duration< Rep, Period > abs(std::chrono::duration< Rep, Period > d)
Definition: chrono.h:1488
size_t fft_thread_num_
Definition: config.h:738
size_t beam_block_size_
Definition: config.h:752
bool beamsweep_
Definition: config.h:726
basic_json<> json
default specialization
Definition: json.hpp:3378
size_t socket_thread_num_
Definition: config.h:737
const nlohmann::json & MCSParams(Direction dir) const
Definition: config.h:288
size_t beam_events_per_symbol_
Definition: config.h:756
size_t OfdmDataNum() const
Definition: config.h:47
size_t ul_num_bytes_per_cb_
Definition: config.h:904
Table< std::complex< int16_t > > ul_iq_t_
Definition: config.h:667
@ kGoldIfft
Definition: comms-lib.h:36
size_t ul_mac_data_bytes_num_perframe_
Definition: config.h:812
static constexpr size_t kOutputFrameNum
Definition: symbols.h:363
bool IsPilot(size_t, size_t) const
Definition: config.cc:1495
void SetClientPilotSyms(size_t ul, size_t dl)
Definition: framestats.cc:70
static std::vector< std::complex< int16_t > > DoubleToCint16(const std::vector< std::vector< double >> &in)
Definition: utils.cc:219
bool ExternalRefNode(size_t id) const
Definition: config.h:110
size_t GetTotalDataSymbolIdx(size_t frame_id, size_t symbol_id) const
Definition: config.h:415
std::string channel_
Definition: config.h:732
size_t dl_mac_packet_length_
Definition: config.h:833
size_t GetPilotUlIdx(size_t symbol_id) const
Definition: config.h:449
static constexpr bool kDebugDownlink
Definition: symbols.h:180
bool Running() const
Definition: config.h:34
std::vector< uint32_t > coeffs_
Definition: config.h:671
const std::string & TraceFilename() const
Definition: config.h:566
double rx_gain_b_
Definition: config.h:711
std::vector< uint32_t > pilot_
Definition: config.h:674
size_t num_radios_
Definition: config.h:720
static const std::map< char, SymbolType > kSymbolMap
Definition: symbols.h:271
bool FftInRru() const
Definition: config.h:311
std::vector< int > cl_tx_advance_
Definition: config.h:800
uint16_t DpdkPortOffset() const
Definition: config.h:314
auto find(Ptr first, Ptr last, T value, Ptr &out) -> bool
Definition: core.h:2258
int BsRruPort() const
Definition: config.h:305
size_t ul_num_padding_bytes_per_cb_
Definition: config.h:908
Table< int8_t > ul_mod_bits_
Definition: config.h:662
size_t GetSymbolId(size_t input_id) const
TODO document and review.
Definition: config.cc:1476
static constexpr size_t kCbPerSymbol
Definition: config.h:589
Aligned types for SIMD compatibility.
size_t DlPacketLength() const
Definition: config.h:242
Self defined functions for message storage and passing.
void Free()
Definition: memory_manage.h:84
size_t DemulThreadNum() const
Definition: config.h:192
std::vector< double > client_tx_gain_a_
Definition: config.h:714
bool imbalance_cal_en_
Definition: config.h:728
int BsServerPort() const
Definition: config.h:304
size_t FftBlockSize() const
Definition: config.h:205
size_t encode_block_size_
Definition: config.h:762
const std::vector< std::string > & UlTxFreqDataFiles(void) const
Definition: config.h:568
std::string Beamforming() const
Definition: config.h:109
size_t FftThreadNum() const
Definition: config.h:191
size_t ClientUlPilotSymbols() const
Definition: framestats.h:73
size_t demul_block_size_
Definition: config.h:748
std::vector< std::complex< int16_t > > pilot_ci16_
Definition: config.h:672
Scramble Class and helper functions.
for i
Definition: generate_data.m:107
size_t OfdmCaNum() const
Definition: config.h:45
size_t samps_per_symbol_
Definition: config.h:793
static constexpr size_t kOffsetOfData
Definition: message.h:166
size_t MacPayloadMaxLength(Direction dir) const
Definition: config.h:272
size_t NumDlDataSyms() const
Definition: framestats.h:83
bool ImbalanceCalEn() const
Definition: config.h:107
size_t dl_mod_order_bits_
Definition: config.h:636
size_t cp_len_
Definition: config.h:614
void OfdmRxZeroPrefixCalDl(const size_t prefix)
Definition: config.h:228
void BsAntNum(size_t n_bs_ant)
Definition: config.h:36
Plot Rx waveform for u
Definition: inspect_single_frame.m:108
bool IsCalUlPilot(size_t, size_t) const
Definition: config.cc:1530
size_t ul_mac_data_length_max_
Definition: config.h:821
static std::vector< uint32_t > Cint16ToUint32(const std::vector< std::complex< int16_t >> &in, bool conj, const std::string &order)
Definition: utils.cc:275
Communications Library: a) Generate pilot/preamble sequences b) OFDM modulation.
size_t BeamBatchSize() const
Definition: config.h:201
size_t dl_mod_order_
Definition: config.h:635
size_t OfdmPilotSpacing() const
Definition: config.h:51
size_t ofdm_data_start_
Definition: config.h:621
size_t ofdm_ca_num_
Definition: config.h:610
std::vector< std::complex< int16_t > > beacon_ci16_
Definition: config.h:670
SPDLOG_INLINE std::tm localtime(const std::time_t &time_tt) SPDLOG_NOEXCEPT
Definition: os-inl.h:84
Table< complex_float > & ModTable(Direction dir)
Definition: config.h:284
size_t num_ue_channels_
Definition: config.h:722
size_t beam_thread_num_
Definition: config.h:741
static const std::string kUlDataFreqPrefix
Definition: config.cc:40
std::string BsServerAddr() const
Definition: config.h:299
Table< complex_float > dl_mod_table_
Definition: config.h:640
double ClientTxGainB(size_t id) const
Definition: config.h:76
size_t dl_mac_packets_perframe_
Definition: config.h:839
static constexpr bool kUseUHD
Definition: symbols.h:162
size_t dl_packet_length_
Definition: config.h:655
std::string Channel() const
Definition: config.h:113
size_t NumBytesPerCb(Direction dir) const
Definition: config.h:251
size_t dl_num_padding_bytes_per_cb_
Definition: config.h:909
static const size_t kDefaultULSymStart
Definition: config.h:582
static void Ifft2tx(const complex_float *in, std::complex< short > *out, size_t N, size_t prefix, size_t cp, float scale)
Definition: comms-lib.cc:656
double GetFrameDurationSec() const
Return the frame duration in seconds.
Definition: config.h:464
static constexpr bool kUseArgos
Definition: symbols.h:156
std::string timestamp_
Definition: config.h:914
size_t FramesToTest() const
Definition: config.h:309
Table< complex_float > & DlIqF()
Definition: config.h:389
complex_float ModSingleUint8(uint8_t x, Table< complex_float > &mod_table)
Definition: modulation.cc:213
size_t InitCalibRepeat() const
Definition: config.h:96
size_t ul_mac_packet_length_
Definition: config.h:818
double nco_
Definition: config.h:704
std::vector< std::string > ue_radio_name_
Definition: config.h:690
nlohmann::json ul_mcs_params_
Definition: config.h:644
size_t num_channels_
Definition: config.h:721
const std::vector< double > & ClientTxGainA() const
Definition: config.h:82
a class to store JSON values
Definition: json.hpp:3367
bool IsDataSubcarrier(size_t sc_id) const
Definition: config.h:562
@ kLteZadoffChu
Definition: comms-lib.h:35
size_t DemulEventsPerSymbol() const
Definition: config.h:197
bool ue_hw_framer_
Definition: config.h:699
size_t dl_mac_data_length_max_
Definition: config.h:836
bool BigstationMode() const
Definition: config.h:241
size_t ue_resync_period_
Definition: config.h:700
static const std::string kUlDataFilePrefix
Definition: config.cc:36
std::vector< std::complex< float > > pilot_cf32_
Definition: config.h:673
const std::string & ConfigFilename() const
Definition: config.h:565
static constexpr size_t kMaxChannels
Definition: symbols.h:292
Definition: ldpc_config.h:14
size_t OfdmRxZeroPrefixClient() const
Definition: config.h:231
size_t MacPacketLength(Direction dir) const
Definition: config.h:268
const std::string & Timestamp() const
Definition: config.h:567
size_t OfdmDataStart() const
Definition: config.h:48
size_t BsMacRxPort() const
Definition: config.h:320
size_t RecipCalIndex(size_t frame_id) const
Definition: config.h:138
size_t NumULCalSyms() const
Definition: framestats.cc:81
size_t UeCoreOffset() const
Definition: config.h:183
uint16_t dpdk_port_offset_
Definition: config.h:878
size_t ofdm_rx_zero_prefix_cal_ul_
Definition: config.h:782
const LDPCconfig & LdpcConfig(Direction dir) const
Definition: config.h:280
__attribute__((visibility("default"))) Config *ConfigNew(char *filename)
Definition: config.cc:1614
size_t ClientDlPilotSymbols() const
Definition: framestats.h:76
size_t ue_ant_offset_
Definition: config.h:607
static const size_t kDefaultDLSymPerFrame
Definition: config.h:583
double FreqGhz() const
Definition: config.h:56
size_t UeMacTxPort() const
Definition: config.h:324
static constexpr bool kDebugPrintConfiguration
Definition: config.cc:28
std::vector< std::byte, boost::alignment::aligned_allocator< std::byte, kSimdAlignment > > SimdAlignByteVector
Definition: simd_types.h:18
size_t NumDLSyms() const
Definition: framestats.cc:83
size_t beamforming_algo_
Definition: config.h:729
size_t WorkerThreadNum() const
Definition: config.h:181
size_t frames_to_test_
Definition: config.h:896
static std::vector< std::complex< float > > SeqCyclicShift(const std::vector< std::complex< float >> &in, float alpha)
Definition: comms-lib.cc:725
Table< std::complex< int16_t > > & UlIqT()
Definition: config.h:390
double calib_tx_gain_a_
Definition: config.h:712
size_t dl_mac_data_bytes_num_perframe_
Definition: config.h:827
const std::vector< size_t > & CellId() const
Definition: config.h:368
size_t GetPilotSymbolIdx(size_t symbol_number) const
Definition: framestats.cc:160
size_t UeAntTotal() const
Definition: config.h:43
LDPCconfig dl_ldpc_config_
Definition: config.h:643
SymbolType GetSymbolType(size_t symbol_id) const
Return the symbol type of this symbol in this frame.
Definition: config.cc:1557
size_t GetBeaconSymbolIdx(size_t symbol_number) const
Definition: framestats.cc:148
size_t init_calib_repeat_
Definition: config.h:725
size_t RecipCalUlRxIndex(size_t frame_id, size_t ant) const
Definition: config.h:145
static double MeasureRdtscFreq()
Definition: gettime.h:51
std::decay< ValueType >::type value(const KeyType &key, ValueType &&default_value) const
access specified object element with default value
Definition: json.hpp:21173
size_t BeamEventsPerSymbol() const
Definition: config.h:202
Table< complex_float > & UeSpecificPilot()
Definition: config.h:371
Table< std::complex< int16_t > > & DlIqT()
Definition: config.h:391
static const std::map< std::string, size_t > kModulStringMap
Definition: modulation.h:35
size_t NumULSyms() const
Definition: framestats.cc:85
size_t SampsPerFrame() const
Definition: config.h:235
size_t MacBytesNumPerframe(Direction dir) const
Definition: config.h:263
#define AGORA_LOG_SYMBOL(...)
Definition: logger.h:82
std::vector< std::string > radio_id_
Definition: config.h:687
Table< complex_float > dl_iq_f_
Definition: config.h:664
float real
Definition: test_transpose.cc:23
uint16_t ExpansionFactor() const
Definition: ldpc_config.h:47
bool Beamsweep() const
Definition: config.h:105
bool HwFramer() const
Definition: config.h:53
Table< int8_t > & DlBits()
Definition: config.h:384
Table< int8_t > & UlModBits()
Definition: config.h:387
double ClientRxGainB(size_t id) const
Definition: config.h:79
size_t NumUeChannels() const
Definition: config.h:99
void UpdateUlMCS(const nlohmann::json &mcs)
Definition: config.cc:747
#define AGORA_LOG_INFO(...)
Definition: logger.h:62
double CalibTxGainA() const
Definition: config.h:68
bool IsUplink(size_t, size_t) const
Definition: config.cc:1537
size_t RefAnt(size_t id) const
Definition: config.h:100
bool SampleCalEn() const
Definition: config.h:106
bool IsCalDlPilot(size_t, size_t) const
Definition: config.cc:1523
static size_t LdpcNumInputBits(size_t base_graph, size_t zc)
Definition: utils_ldpc.h:139
Definition: json.hpp:5213
size_t decode_thread_num_
Definition: config.h:740
size_t NumDataSyms() const
Definition: framestats.cc:101
Table< complex_float > ue_specific_pilot_
Definition: config.h:678
fwrite(fileID, pilot_f, 'float')
static constexpr size_t kOfdmSymbolPerSlot
Definition: symbols.h:362
double radio_rf_freq_
Definition: config.h:705
const std::string & DpdkMacAddrs() const
Definition: config.h:316
size_t fft_block_size_
Definition: config.h:759
std::string bs_server_addr_
Definition: config.h:848
FrameStats frame_
Definition: config.h:651
static float FindMeanAbs(const complex_float *in, size_t len)
Definition: comms-lib.cc:155
void Malloc(size_t dim1, size_t dim2, Agora_memory::Alignment_t alignment)
Definition: memory_manage.h:37
static void RtAssert(bool condition, const char *throw_str)
Definition: utils.h:104
size_t NumPaddingBytesPerCb(Direction dir) const
Definition: config.h:255
size_t beam_batch_size_
Definition: config.h:755
size_t ue_mac_tx_port_
Definition: config.h:889
size_t ue_core_offset_
Definition: config.h:743
#define AGORA_LOG_WARN(...)
Definition: logger.h:53
std::vector< std::string > hub_id_
Definition: config.h:688
size_t UeAntOffset() const
Definition: config.h:42
const std::vector< int > & ClTxAdvance() const
Definition: config.h:333
size_t LogListenerPort() const
Definition: config.h:330
std::string ue_channel_
Definition: config.h:733
size_t BeaconLen() const
Definition: config.h:103
bool ScrambleEnabled() const
Definition: config.h:296
uint32_t NumCbLen() const
Definition: ldpc_config.h:50
static constexpr size_t kMacAlignmentBytes
Definition: config.cc:27
std::vector< double > client_rx_gain_a_
Definition: config.h:715
size_type size() const noexcept
returns the number of elements
Definition: json.hpp:21854
size_t ofdm_rx_zero_prefix_cal_dl_
Definition: config.h:783
complex_float * pilots_
Definition: config.h:676
size_t GetTotalDataSymbolIdxDl(size_t frame_id, size_t symbol_idx_dl) const
Definition: config.h:428
std::string to_string() const
Definition: eth_common.h:64
bool UeHwFramer() const
Definition: config.h:54
Table< complex_float > & UlIqF()
Definition: config.h:388
size_t bs_mac_rx_port_
Definition: config.h:884
uint16_t BaseGraph() const
Definition: ldpc_config.h:46
std::string Modulation(Direction dir) const
Definition: config.h:243
bool IsDlPilot(size_t, size_t) const
Definition: config.cc:1509
int UeRruPort() const
Definition: config.h:307
size_t BeamBlockSize() const
Definition: config.h:200
size_t NumCells() const
Definition: config.h:94
std::vector< std::complex< float > > gold_cf32_
Definition: config.h:669
size_t ofdm_data_num_
Definition: config.h:617
Declaration file for the configuration class which importants json configuration values into class va...
bool SingleGain() const
Definition: config.h:63
SymbolType
Definition: symbols.h:261
size_t RecipCalDlAnt(size_t frame_id, size_t dl_cal_symbol) const
Definition: config.h:119
bool IsBeacon(size_t, size_t) const
const std::vector< double > & ClientRxGainA() const
Definition: config.h:85
std::vector< double > client_tx_gain_b_
Definition: config.h:716
int8_t * GetModBitsBuf(Table< int8_t > &mod_bits_buffer, Direction dir, size_t frame_id, size_t symbol_id, size_t ue_id, size_t sc_id) const
Get encoded_buffer for this frame, symbol, user and code block ID.
Definition: config.h:531
const std::string & LogListenerAddr() const
Definition: config.h:326
double CalibTxGainB() const
Definition: config.h:69
size_t ue_ant_total_
Definition: config.h:604
std::string mac_remote_addr_
Definition: config.h:859
const std::vector< std::complex< float > > & GoldCf32() const
Definition: config.h:344
std::vector< bool > external_ref_node_
Definition: config.h:731
double ClientRxGainA(size_t id) const
Definition: config.h:73
size_t bs_mac_tx_port_
Definition: config.h:885
Utility functions for file and text processing.
static constexpr size_t kMacUserRemotePort
Definition: symbols.h:316
std::vector< size_t > ref_radio_
Definition: config.h:691
size_t PacketLength() const
Definition: config.h:238
size_t NumUlDataSyms() const
Definition: framestats.h:80
size_t ul_data_bytes_num_persymbol_
Definition: config.h:809
Table< int8_t > dl_mod_bits_
Definition: config.h:663
Config(std::string jsonfilename)
Definition: config.cc:42
size_t beacon_ant_
Definition: config.h:723
size_t ue_socket_thread_num_
Definition: config.h:745
double RxGainA() const
Definition: config.h:65
bool FreqOrthogonalPilot() const
Definition: config.h:208
static std::vector< std::complex< float > > DoubleToCfloat(const std::vector< std::vector< double >> &in)
Definition: utils.cc:232
double calib_tx_gain_b_
Definition: config.h:713
static const std::string kLogFilepath
Definition: config.cc:32
double rx_gain_a_
Definition: config.h:709
size_t EncodeBlockSize() const
Definition: config.h:207
size_t beacon_len_
Definition: config.h:724
const std::vector< double > & ClientTxGainB() const
Definition: config.h:88
size_t NumRadios() const
Definition: config.h:95
nlohmann::json Parse(const nlohmann::json &in_json, const std::string &json_handle)
Definition: config.cc:734
sched
Definition: mm_gui.py:111
size_t transport_block_size_
Definition: config.h:899
static size_t LdpcEncodingParityBufSize(size_t base_graph, size_t zc)
Definition: utils_ldpc.h:174
static std::vector< std::vector< double > > GetSequence(size_t seq_len, int type)
Definition: comms-lib.cc:734
size_t ue_mac_rx_port_
Definition: config.h:888
size_t ModOrderBits(Direction dir) const
Definition: config.h:247
const std::vector< float > & ClCorrScale() const
Definition: config.h:336
void NumBlocksInSymbol(size_t num_blocks)
Definition: ldpc_config.h:41
size_t worker_thread_num_
Definition: config.h:736
uint32_t NumCbCodewLen() const
Definition: ldpc_config.h:51
std::string UeRruAddr() const
Definition: config.h:301
int ue_server_port_
Definition: config.h:869
bool hw_framer_
Definition: config.h:698
const std::vector< double > & ClientRxGainB() const
Definition: config.h:91
size_t GetULSymbol(size_t location) const
Definition: framestats.cc:114
size_t ue_ant_num_
Definition: config.h:600
double TxGainB() const
Definition: config.h:66
uint16_t DpdkNumPorts() const
Definition: config.h:313
size_t BeaconAnt() const
Definition: config.h:102
static const size_t kDefaultDLSymStart
Definition: config.h:584
size_t DemulBlockSize() const
Definition: config.h:195
bool bigstation_mode_
Definition: config.h:805
Definition: framestats.h:16
bool correct_phase_shift_
Definition: config.h:806
size_t packet_length_
Definition: config.h:798
size_t log_listener_port_
Definition: config.h:892
size_t demul_thread_num_
Definition: config.h:739
reference at(size_type idx)
access specified array element with bounds checking
Definition: json.hpp:20895
const std::vector< std::complex< float > > & CommonPilot() const
Definition: config.h:353
size_t ofdm_rx_zero_prefix_client_
Definition: config.h:789
size_t demul_events_per_symbol_
Definition: config.h:749
size_t GetOFDMDataIndex(size_t sc_id) const
Definition: config.h:558
Table< std::complex< int16_t > > ue_specific_pilot_t_
Definition: config.h:679
static void AdaptBitsForMod(const uint8_t *bit_seq_in, uint8_t *bytes_out, size_t len, size_t mod_type)
Fill-in the bytes of bytes_out with mod_type bits per byte, taken from the bit sequence bit_seq_in.
Definition: utils_ldpc.h:60
std::string dl_modulation_
Definition: config.h:634
const std::vector< uint32_t > & Pilot() const
Definition: config.h:349
size_t ofdm_tx_zero_prefix_
Definition: config.h:769
std::string UeServerAddr() const
Definition: config.h:298
size_t OfdmDataStop() const
Definition: config.h:50
std::vector< std::complex< int16_t > > & PilotCi16()
Definition: config.h:377
uint16_t dpdk_num_ports_
Definition: config.h:875
std::vector< double > client_rx_gain_b_
Definition: config.h:717
std::string BsRruAddr() const
Definition: config.h:302
const double freq_ghz_
Definition: config.h:592
size_t NumTotalSyms() const
Definition: framestats.cc:93
double TxGainA() const
Definition: config.h:64
type
Definition: core.h:1131
int mod_order
Definition: ofdmtxrx.py:397
const std::vector< uint32_t > & Coeffs() const
Definition: config.h:347
static const size_t kDefaultULSymPerFrame
Definition: config.h:581
size_t core_offset_
Definition: config.h:735
int8_t * GetMacBits(Table< int8_t > &info_bits, Direction dir, size_t frame_id, size_t symbol_id, size_t ue_id, size_t cb_id) const
Get mac bits for this frame, symbol, user and code block ID.
Definition: config.h:493
size_t BsMacTxPort() const
Definition: config.h:321
size_t BfAntNum() const
Definition: config.h:39
auto get() const noexcept(noexcept(std::declval< const basic_json_t & >().template get_impl< ValueType >(detail::priority_tag< 4 > {}))) -> decltype(std::declval< const basic_json_t & >().template get_impl< ValueType >(detail::priority_tag< 4 >
get a (pointer) value (explicit)
Definition: json.hpp:20700
std::vector< uint32_t > beacon_
Definition: config.h:675
void SetCpuLayoutOnNumaNodes(bool verbose, const std::vector< size_t > &cores_to_exclude)
Definition: utils.cc:87