Agora  1.2.0
Agora project
Config Class Reference

#include <config.h>

Collaboration diagram for Config:

Public Member Functions

 Config (std::string jsonfilename)
 
 ~Config ()
 
void Running (bool value)
 
bool Running () const
 
size_t BsAntNum () const
 
void BsAntNum (size_t n_bs_ant)
 
size_t BfAntNum () const
 
size_t UeNum () const
 
size_t UeAntNum () const
 
size_t UeAntOffset () const
 
size_t UeAntTotal () const
 
size_t OfdmCaNum () const
 
size_t CpLen () const
 
size_t OfdmDataNum () const
 
size_t OfdmDataStart () const
 
size_t OfdmDataStop () const
 
size_t OfdmPilotSpacing () const
 
bool HwFramer () const
 
bool UeHwFramer () const
 
size_t UeResyncPeriod () const
 
double FreqGhz () const
 
double Freq () const
 
double Rate () const
 
double Nco () const
 
double RadioRfFreq () const
 
double BwFilter () const
 
bool SingleGain () const
 
double TxGainA () const
 
double RxGainA () const
 
double TxGainB () const
 
double RxGainB () const
 
double CalibTxGainA () const
 
double CalibTxGainB () const
 
double ClientTxGainA (size_t id) const
 
double ClientRxGainA (size_t id) const
 
double ClientTxGainB (size_t id) const
 
double ClientRxGainB (size_t id) const
 
const std::vector< double > & ClientTxGainA () const
 
const std::vector< double > & ClientRxGainA () const
 
const std::vector< double > & ClientTxGainB () const
 
const std::vector< double > & ClientRxGainB () const
 
size_t NumCells () const
 
size_t NumRadios () const
 
size_t InitCalibRepeat () const
 
size_t NumChannels () const
 
size_t NumUeChannels () const
 
size_t RefAnt (size_t id) const
 
size_t RefRadio (size_t id) const
 
size_t BeaconAnt () const
 
size_t BeaconLen () const
 
bool Beamsweep () const
 
bool SampleCalEn () const
 
bool ImbalanceCalEn () const
 
size_t BeamformingAlgo () const
 
std::string Beamforming () const
 
bool ExternalRefNode (size_t id) const
 
std::string Channel () const
 
std::string UeChannel () const
 
size_t RecipCalDlAnt (size_t frame_id, size_t dl_cal_symbol) const
 
size_t ModifyRecCalIndex (size_t previous_index, int mod_value=0) const
 
size_t RecipCalIndex (size_t frame_id) const
 
size_t RecipCalUlRxIndex (size_t frame_id, size_t ant) const
 
size_t RecipCalFrameCnt () const
 
size_t CoreOffset () const
 
size_t WorkerThreadNum () const
 
size_t SocketThreadNum () const
 
size_t UeCoreOffset () const
 
size_t UeWorkerThreadNum () const
 
size_t UeSocketThreadNum () const
 
size_t FftThreadNum () const
 
size_t DemulThreadNum () const
 
size_t DecodeThreadNum () const
 
size_t BeamThreadNum () const
 
size_t DemulBlockSize () const
 
size_t DemulEventsPerSymbol () const
 
size_t BeamBlockSize () const
 
size_t BeamBatchSize () const
 
size_t BeamEventsPerSymbol () const
 
size_t FftBlockSize () const
 
size_t EncodeBlockSize () const
 
bool FreqOrthogonalPilot () const
 
size_t OfdmTxZeroPrefix () const
 
size_t OfdmTxZeroPostfix () const
 
size_t OfdmRxZeroPrefixBs () const
 
size_t OfdmRxZeroPrefixCalUl () const
 
void OfdmRxZeroPrefixCalUl (size_t prefix)
 
size_t OfdmRxZeroPrefixCalDl () const
 
void OfdmRxZeroPrefixCalDl (const size_t prefix)
 
size_t OfdmRxZeroPrefixClient () const
 
size_t SampsPerSymbol () const
 
size_t SampsPerFrame () const
 
size_t PacketLength () const
 
float Scale () const
 
bool BigstationMode () const
 
size_t DlPacketLength () const
 
std::string Modulation (Direction dir) const
 
size_t ModOrderBits (Direction dir) const
 
size_t NumBytesPerCb (Direction dir) const
 
size_t NumPaddingBytesPerCb (Direction dir) const
 
size_t MacDataBytesNumPerframe (Direction dir) const
 
size_t MacBytesNumPerframe (Direction dir) const
 
size_t MacPacketLength (Direction dir) const
 
size_t MacPayloadMaxLength (Direction dir) const
 
size_t MacPacketsPerframe (Direction dir) const
 
const LDPCconfigLdpcConfig (Direction dir) const
 
Table< complex_float > & ModTable (Direction dir)
 
const nlohmann::jsonMCSParams (Direction dir) const
 
size_t SubcarrierPerCodeBlock (Direction dir) const
 
bool ScrambleEnabled () const
 
std::string UeServerAddr () const
 
std::string BsServerAddr () const
 
std::string UeRruAddr () const
 
std::string BsRruAddr () const
 
int BsServerPort () const
 
int BsRruPort () const
 
int UeServerPort () const
 
int UeRruPort () const
 
size_t FramesToTest () const
 
float NoiseLevel () const
 
bool FftInRru () const
 
uint16_t DpdkNumPorts () const
 
uint16_t DpdkPortOffset () const
 
const std::string & DpdkMacAddrs () const
 
size_t BsMacRxPort () const
 
size_t BsMacTxPort () const
 
size_t UeMacRxPort () const
 
size_t UeMacTxPort () const
 
const std::string & LogListenerAddr () const
 
size_t LogListenerPort () const
 
const std::vector< int > & ClTxAdvance () const
 
const std::vector< float > & ClCorrScale () const
 
const FrameStatsFrame () const
 
const std::vector< std::complex< float > > & PilotCf32 () const
 
const std::vector< std::complex< float > > & GoldCf32 () const
 
const std::vector< uint32_t > & Coeffs () const
 
const std::vector< uint32_t > & Pilot () const
 
const std::vector< uint32_t > & Beacon () const
 
const complex_floatPilotsSgn () const
 
const std::vector< std::complex< float > > & CommonPilot () const
 
const std::vector< std::string > & RadioId () const
 
const std::vector< std::string > & HubId () const
 
const std::vector< std::string > & UeRadioId () const
 
const std::vector< std::string > & UeRadioName () const
 
const std::vector< size_t > & CellId () const
 
Table< complex_float > & UeSpecificPilot ()
 
Table< std::complex< int16_t > > & UeSpecificPilotT ()
 
std::vector< std::complex< int16_t > > & PilotCi16 ()
 
std::vector< std::complex< int16_t > > & BeaconCi16 ()
 
Table< int8_t > & DlBits ()
 
Table< int8_t > & UlBits ()
 
Table< int8_t > & DlModBits ()
 
Table< int8_t > & UlModBits ()
 
Table< complex_float > & UlIqF ()
 
Table< complex_float > & DlIqF ()
 
Table< std::complex< int16_t > > & UlIqT ()
 
Table< std::complex< int16_t > > & DlIqT ()
 
void GenData ()
 
void UpdateUlMCS (const nlohmann::json &mcs)
 
void UpdateDlMCS (const nlohmann::json &mcs)
 
size_t GetSymbolId (size_t input_id) const
 TODO document and review. More...
 
bool IsBeacon (size_t, size_t) const
 
bool IsPilot (size_t, size_t) const
 
bool IsDlPilot (size_t, size_t) const
 
bool IsCalDlPilot (size_t, size_t) const
 
bool IsCalUlPilot (size_t, size_t) const
 
bool IsDownlink (size_t, size_t) const
 
bool IsUplink (size_t, size_t) const
 
SymbolType GetSymbolType (size_t symbol_id) const
 Return the symbol type of this symbol in this frame. More...
 
size_t GetTotalDataSymbolIdx (size_t frame_id, size_t symbol_id) const
 
size_t GetTotalDataSymbolIdxUl (size_t frame_id, size_t symbol_idx_ul) const
 
size_t GetTotalDataSymbolIdxDl (size_t frame_id, size_t symbol_idx_dl) const
 
size_t GetBeaconDlIdx (size_t symbol_id) const
 
size_t GetPilotUlIdx (size_t symbol_id) const
 
double GetFrameDurationSec () const
 Return the frame duration in seconds. More...
 
complex_floatGetDataBuf (Table< complex_float > &data_buffers, size_t frame_id, size_t symbol_id) const
 
size_t GetBeamScId (size_t sc_id) const
 
complex_floatGetCalibBuffer (Table< complex_float > &calib_buffer, size_t frame_id, size_t sc_id) const
 Get the calibration buffer for this frame and subcarrier ID. More...
 
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. More...
 
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. More...
 
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. More...
 
size_t GetOFDMPilotNum () const
 
size_t GetOFDMDataNum () const
 
size_t GetOFDMDataIndex (size_t sc_id) const
 
bool IsDataSubcarrier (size_t sc_id) const
 
const std::string & ConfigFilename () const
 
const std::string & TraceFilename () const
 
const std::string & Timestamp () const
 
const std::vector< std::string > & UlTxFreqDataFiles (void) const
 

Static Public Attributes

static constexpr bool kDebugRecipCal = false
 

Private Member Functions

void Print () const
 
nlohmann::json Parse (const nlohmann::json &in_json, const std::string &json_handle)
 
void DumpMcsInfo ()
 

Private Attributes

const double freq_ghz_
 
size_t bs_ant_num_
 
size_t bf_ant_num_
 
size_t ue_num_
 
size_t ue_ant_num_
 
size_t ue_ant_total_
 
size_t ue_ant_offset_
 
size_t ofdm_ca_num_
 
size_t cp_len_
 
size_t ofdm_data_num_
 
size_t ofdm_data_start_
 
size_t ofdm_data_stop_
 
size_t ofdm_pilot_spacing_
 
std::string ul_modulation_
 
size_t ul_mod_order_
 
size_t ul_mod_order_bits_
 
std::string dl_modulation_
 
size_t dl_mod_order_
 
size_t dl_mod_order_bits_
 
Table< complex_floatul_mod_table_
 
Table< complex_floatdl_mod_table_
 
LDPCconfig ul_ldpc_config_
 
LDPCconfig dl_ldpc_config_
 
nlohmann::json ul_mcs_params_
 
nlohmann::json dl_mcs_params_
 
bool scramble_enabled_
 
FrameStats frame_
 
std::atomic< bool > running_
 
size_t dl_packet_length_
 
std::vector< SubcarrierTypesymbol_map_
 
std::vector< size_t > symbol_data_id_
 
Table< int8_t > dl_bits_
 
Table< int8_t > ul_bits_
 
Table< int8_t > ul_mod_bits_
 
Table< int8_t > dl_mod_bits_
 
Table< complex_floatdl_iq_f_
 
Table< complex_floatul_iq_f_
 
Table< std::complex< int16_t > > dl_iq_t_
 
Table< std::complex< int16_t > > ul_iq_t_
 
std::vector< std::complex< float > > gold_cf32_
 
std::vector< std::complex< int16_t > > beacon_ci16_
 
std::vector< uint32_t > coeffs_
 
std::vector< std::complex< int16_t > > pilot_ci16_
 
std::vector< std::complex< float > > pilot_cf32_
 
std::vector< uint32_t > pilot_
 
std::vector< uint32_t > beacon_
 
complex_floatpilots_
 
complex_floatpilots_sgn_
 
Table< complex_floatue_specific_pilot_
 
Table< std::complex< int16_t > > ue_specific_pilot_t_
 
std::vector< std::complex< float > > common_pilot_
 
std::vector< double > client_gain_tx_a_
 
std::vector< double > client_gain_tx_b_
 
std::vector< double > client_gain_rx_a_
 
std::vector< double > client_gain_rx_b_
 
std::vector< std::string > radio_id_
 
std::vector< std::string > hub_id_
 
std::vector< std::string > ue_radio_id_
 
std::vector< std::string > ue_radio_name_
 
std::vector< size_t > ref_radio_
 
std::vector< size_t > ref_ant_
 
std::vector< size_t > cell_id_
 
bool hw_framer_
 
bool ue_hw_framer_
 
size_t ue_resync_period_
 
double freq_
 
double rate_
 
double nco_
 
double radio_rf_freq_
 
double bw_filter_
 
bool single_gain_
 
double tx_gain_a_
 
double rx_gain_a_
 
double tx_gain_b_
 
double rx_gain_b_
 
double calib_tx_gain_a_
 
double calib_tx_gain_b_
 
std::vector< double > client_tx_gain_a_
 
std::vector< double > client_rx_gain_a_
 
std::vector< double > client_tx_gain_b_
 
std::vector< double > client_rx_gain_b_
 
size_t num_cells_
 
size_t num_radios_
 
size_t num_channels_
 
size_t num_ue_channels_
 
size_t beacon_ant_
 
size_t beacon_len_
 
size_t init_calib_repeat_
 
bool beamsweep_
 
bool sample_cal_en_
 
bool imbalance_cal_en_
 
size_t beamforming_algo_
 
std::string beamforming_str_
 
std::vector< bool > external_ref_node_
 
std::string channel_
 
std::string ue_channel_
 
size_t core_offset_
 
size_t worker_thread_num_
 
size_t socket_thread_num_
 
size_t fft_thread_num_
 
size_t demul_thread_num_
 
size_t decode_thread_num_
 
size_t beam_thread_num_
 
size_t ue_core_offset_
 
size_t ue_worker_thread_num_
 
size_t ue_socket_thread_num_
 
size_t demul_block_size_
 
size_t demul_events_per_symbol_
 
size_t beam_block_size_
 
size_t beam_batch_size_
 
size_t beam_events_per_symbol_
 
size_t fft_block_size_
 
size_t encode_block_size_
 
bool freq_orthogonal_pilot_
 
size_t ofdm_tx_zero_prefix_
 
size_t ofdm_tx_zero_postfix_
 
size_t ofdm_rx_zero_prefix_bs_
 
size_t ofdm_rx_zero_prefix_cal_ul_
 
size_t ofdm_rx_zero_prefix_cal_dl_
 
size_t ofdm_rx_zero_prefix_client_
 
size_t samps_per_symbol_
 
size_t packet_length_
 
std::vector< int > cl_tx_advance_
 
std::vector< float > cl_corr_scale_
 
float scale_
 
bool bigstation_mode_
 
bool correct_phase_shift_
 
size_t ul_data_bytes_num_persymbol_
 
size_t ul_mac_data_bytes_num_perframe_
 
size_t ul_mac_bytes_num_perframe_
 
size_t ul_mac_packet_length_
 
size_t ul_mac_data_length_max_
 
size_t dl_data_bytes_num_persymbol_
 
size_t dl_mac_data_bytes_num_perframe_
 
size_t dl_mac_bytes_num_perframe_
 
size_t dl_mac_packet_length_
 
size_t dl_mac_data_length_max_
 
size_t dl_mac_packets_perframe_
 
size_t ul_mac_packets_perframe_
 
std::string ue_server_addr_
 
std::string bs_server_addr_
 
std::string bs_rru_addr_
 
std::string ue_rru_addr_
 
std::string mac_remote_addr_
 
std::string log_listener_addr_
 
int bs_server_port_
 
int bs_rru_port_
 
int ue_server_port_
 
int ue_rru_port_
 
uint16_t dpdk_num_ports_
 
uint16_t dpdk_port_offset_
 
std::string dpdk_mac_addrs_
 
size_t bs_mac_rx_port_
 
size_t bs_mac_tx_port_
 
size_t ue_mac_rx_port_
 
size_t ue_mac_tx_port_
 
size_t log_listener_port_
 
size_t frames_to_test_
 
size_t transport_block_size_
 
float noise_level_
 
size_t ul_num_bytes_per_cb_
 
size_t dl_num_bytes_per_cb_
 
size_t ul_num_padding_bytes_per_cb_
 
size_t dl_num_padding_bytes_per_cb_
 
bool fft_in_rru_
 
const std::string config_filename_
 
std::string trace_file_
 
std::string timestamp_
 
std::vector< std::string > ul_tx_f_data_files_
 

Static Private Attributes

static const size_t kDefaultSymbolNumPerFrame = 70
 
static const size_t kDefaultPilotSymPerFrame = 8
 
static const size_t kDefaultULSymPerFrame = 30
 
static const size_t kDefaultULSymStart = 9
 
static const size_t kDefaultDLSymPerFrame = 30
 
static const size_t kDefaultDLSymStart = 40
 
static constexpr size_t kCbPerSymbol = 1
 

Constructor & Destructor Documentation

◆ Config()

Config::Config ( std::string  jsonfilename)
explicit
Here is the call graph for this function:

◆ ~Config()

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

Member Function Documentation

◆ Beacon()

const std::vector<uint32_t>& Config::Beacon ( ) const
inline
Here is the caller graph for this function:

◆ BeaconAnt()

size_t Config::BeaconAnt ( ) const
inline
Here is the caller graph for this function:

◆ BeaconCi16()

std::vector<std::complex<int16_t> >& Config::BeaconCi16 ( )
inline
Here is the caller graph for this function:

◆ BeaconLen()

size_t Config::BeaconLen ( ) const
inline
Here is the caller graph for this function:

◆ BeamBatchSize()

size_t Config::BeamBatchSize ( ) const
inline
Here is the caller graph for this function:

◆ BeamBlockSize()

size_t Config::BeamBlockSize ( ) const
inline
Here is the caller graph for this function:

◆ BeamEventsPerSymbol()

size_t Config::BeamEventsPerSymbol ( ) const
inline
Here is the caller graph for this function:

◆ Beamforming()

std::string Config::Beamforming ( ) const
inline
Here is the caller graph for this function:

◆ BeamformingAlgo()

size_t Config::BeamformingAlgo ( ) const
inline
Here is the caller graph for this function:

◆ Beamsweep()

bool Config::Beamsweep ( ) const
inline
Here is the caller graph for this function:

◆ BeamThreadNum()

size_t Config::BeamThreadNum ( ) const
inline

◆ BfAntNum()

size_t Config::BfAntNum ( ) const
inline
Here is the caller graph for this function:

◆ BigstationMode()

bool Config::BigstationMode ( ) const
inline

◆ BsAntNum() [1/2]

size_t Config::BsAntNum ( ) const
inline

◆ BsAntNum() [2/2]

void Config::BsAntNum ( size_t  n_bs_ant)
inline

◆ BsMacRxPort()

size_t Config::BsMacRxPort ( ) const
inline
Here is the caller graph for this function:

◆ BsMacTxPort()

size_t Config::BsMacTxPort ( ) const
inline
Here is the caller graph for this function:

◆ BsRruAddr()

std::string Config::BsRruAddr ( ) const
inline
Here is the caller graph for this function:

◆ BsRruPort()

int Config::BsRruPort ( ) const
inline
Here is the caller graph for this function:

◆ BsServerAddr()

std::string Config::BsServerAddr ( ) const
inline
Here is the caller graph for this function:

◆ BsServerPort()

int Config::BsServerPort ( ) const
inline
Here is the caller graph for this function:

◆ BwFilter()

double Config::BwFilter ( ) const
inline
Here is the caller graph for this function:

◆ CalibTxGainA()

double Config::CalibTxGainA ( ) const
inline

◆ CalibTxGainB()

double Config::CalibTxGainB ( ) const
inline

◆ CellId()

const std::vector<size_t>& Config::CellId ( ) const
inline
Here is the caller graph for this function:

◆ Channel()

std::string Config::Channel ( ) const
inline
Here is the caller graph for this function:

◆ ClCorrScale()

const std::vector<float>& Config::ClCorrScale ( ) const
inline

◆ ClientRxGainA() [1/2]

const std::vector<double>& Config::ClientRxGainA ( ) const
inline

◆ ClientRxGainA() [2/2]

double Config::ClientRxGainA ( size_t  id) const
inline
Here is the caller graph for this function:

◆ ClientRxGainB() [1/2]

const std::vector<double>& Config::ClientRxGainB ( ) const
inline

◆ ClientRxGainB() [2/2]

double Config::ClientRxGainB ( size_t  id) const
inline
Here is the caller graph for this function:

◆ ClientTxGainA() [1/2]

const std::vector<double>& Config::ClientTxGainA ( ) const
inline

◆ ClientTxGainA() [2/2]

double Config::ClientTxGainA ( size_t  id) const
inline
Here is the caller graph for this function:

◆ ClientTxGainB() [1/2]

const std::vector<double>& Config::ClientTxGainB ( ) const
inline

◆ ClientTxGainB() [2/2]

double Config::ClientTxGainB ( size_t  id) const
inline
Here is the caller graph for this function:

◆ ClTxAdvance()

const std::vector<int>& Config::ClTxAdvance ( ) const
inline
Here is the caller graph for this function:

◆ Coeffs()

const std::vector<uint32_t>& Config::Coeffs ( ) const
inline
Here is the caller graph for this function:

◆ CommonPilot()

const std::vector<std::complex<float> >& Config::CommonPilot ( ) const
inline
Here is the caller graph for this function:

◆ ConfigFilename()

const std::string& Config::ConfigFilename ( ) const
inline
Here is the caller graph for this function:

◆ CoreOffset()

size_t Config::CoreOffset ( ) const
inline
Here is the caller graph for this function:

◆ CpLen()

size_t Config::CpLen ( ) const
inline
Here is the caller graph for this function:

◆ DecodeThreadNum()

size_t Config::DecodeThreadNum ( ) const
inline

◆ DemulBlockSize()

size_t Config::DemulBlockSize ( ) const
inline
Here is the caller graph for this function:

◆ DemulEventsPerSymbol()

size_t Config::DemulEventsPerSymbol ( ) const
inline
Here is the caller graph for this function:

◆ DemulThreadNum()

size_t Config::DemulThreadNum ( ) const
inline

◆ DlBits()

Table<int8_t>& Config::DlBits ( )
inline
Here is the caller graph for this function:

◆ DlIqF()

Table<complex_float>& Config::DlIqF ( )
inline
Here is the caller graph for this function:

◆ DlIqT()

Table<std::complex<int16_t> >& Config::DlIqT ( )
inline
Here is the caller graph for this function:

◆ DlModBits()

Table<int8_t>& Config::DlModBits ( )
inline
Here is the caller graph for this function:

◆ DlPacketLength()

size_t Config::DlPacketLength ( ) const
inline
Here is the caller graph for this function:

◆ DpdkMacAddrs()

const std::string& Config::DpdkMacAddrs ( ) const
inline
Here is the caller graph for this function:

◆ DpdkNumPorts()

uint16_t Config::DpdkNumPorts ( ) const
inline
Here is the caller graph for this function:

◆ DpdkPortOffset()

uint16_t Config::DpdkPortOffset ( ) const
inline
Here is the caller graph for this function:

◆ DumpMcsInfo()

void Config::DumpMcsInfo ( )
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ EncodeBlockSize()

size_t Config::EncodeBlockSize ( ) const
inline
Here is the caller graph for this function:

◆ ExternalRefNode()

bool Config::ExternalRefNode ( size_t  id) const
inline
Here is the caller graph for this function:

◆ FftBlockSize()

size_t Config::FftBlockSize ( ) const
inline
Here is the caller graph for this function:

◆ FftInRru()

bool Config::FftInRru ( ) const
inline
Here is the caller graph for this function:

◆ FftThreadNum()

size_t Config::FftThreadNum ( ) const
inline

◆ Frame()

const FrameStats& Config::Frame ( ) const
inline

◆ FramesToTest()

size_t Config::FramesToTest ( ) const
inline
Here is the caller graph for this function:

◆ Freq()

double Config::Freq ( ) const
inline
Here is the caller graph for this function:

◆ FreqGhz()

double Config::FreqGhz ( ) const
inline
Here is the caller graph for this function:

◆ FreqOrthogonalPilot()

bool Config::FreqOrthogonalPilot ( ) const
inline
Here is the caller graph for this function:

◆ GenData()

void Config::GenData ( )
Here is the call graph for this function:

◆ GetBeaconDlIdx()

size_t Config::GetBeaconDlIdx ( size_t  symbol_id) const
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetBeamScId()

size_t Config::GetBeamScId ( size_t  sc_id) const
inline

Return the subcarrier ID to which we should refer to for the zeroforcing matrices of subcarrier [sc_id].

Here is the caller graph for this function:

◆ GetCalibBuffer()

complex_float* Config::GetCalibBuffer ( Table< complex_float > &  calib_buffer,
size_t  frame_id,
size_t  sc_id 
) const
inline

Get the calibration buffer for this frame and subcarrier ID.

◆ GetDataBuf()

complex_float* Config::GetDataBuf ( Table< complex_float > &  data_buffers,
size_t  frame_id,
size_t  symbol_id 
) const
inline

Fetch the data buffer for this frame and symbol ID. The symbol must be an uplink symbol.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetFrameDurationSec()

double Config::GetFrameDurationSec ( ) const
inline

Return the frame duration in seconds.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetInfoBits()

int8_t* Config::GetInfoBits ( Table< int8_t > &  info_bits,
Direction  dir,
size_t  symbol_id,
size_t  ue_id,
size_t  cb_id 
) const
inline

Get info bits for this symbol, user and code block ID.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetMacBits()

int8_t* Config::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
inline

Get mac bits for this frame, symbol, user and code block ID.

Here is the caller graph for this function:

◆ GetModBitsBuf()

int8_t* Config::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
inline

Get encoded_buffer for this frame, symbol, user and code block ID.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetOFDMDataIndex()

size_t Config::GetOFDMDataIndex ( size_t  sc_id) const
inline
Here is the caller graph for this function:

◆ GetOFDMDataNum()

size_t Config::GetOFDMDataNum ( ) const
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetOFDMPilotNum()

size_t Config::GetOFDMPilotNum ( ) const
inline
Here is the caller graph for this function:

◆ GetPilotUlIdx()

size_t Config::GetPilotUlIdx ( size_t  symbol_id) const
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetSymbolId()

size_t Config::GetSymbolId ( size_t  input_id) const

TODO document and review.

Here is the call graph for this function:

◆ GetSymbolType()

SymbolType Config::GetSymbolType ( size_t  symbol_id) const

Return the symbol type of this symbol in this frame.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetTotalDataSymbolIdx()

size_t Config::GetTotalDataSymbolIdx ( size_t  frame_id,
size_t  symbol_id 
) const
inline

Return total number of data symbols of all frames in a buffer that holds data of kFrameWnd frames

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetTotalDataSymbolIdxDl()

size_t Config::GetTotalDataSymbolIdxDl ( size_t  frame_id,
size_t  symbol_idx_dl 
) const
inline

Return total number of downlink data symbols of all frames in a buffer that holds data of kFrameWnd frames

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetTotalDataSymbolIdxUl()

size_t Config::GetTotalDataSymbolIdxUl ( size_t  frame_id,
size_t  symbol_idx_ul 
) const
inline

Return total number of uplink data symbols of all frames in a buffer that holds data of kFrameWnd frames

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GoldCf32()

const std::vector<std::complex<float> >& Config::GoldCf32 ( ) const
inline
Here is the caller graph for this function:

◆ HubId()

const std::vector<std::string>& Config::HubId ( ) const
inline
Here is the caller graph for this function:

◆ HwFramer()

bool Config::HwFramer ( ) const
inline
Here is the caller graph for this function:

◆ ImbalanceCalEn()

bool Config::ImbalanceCalEn ( ) const
inline
Here is the caller graph for this function:

◆ InitCalibRepeat()

size_t Config::InitCalibRepeat ( ) const
inline
Here is the caller graph for this function:

◆ IsBeacon()

bool Config::IsBeacon ( size_t  ,
size_t   
) const

◆ IsCalDlPilot()

bool Config::IsCalDlPilot ( size_t  ,
size_t  symbol_id 
) const
Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsCalUlPilot()

bool Config::IsCalUlPilot ( size_t  ,
size_t  symbol_id 
) const
Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsDataSubcarrier()

bool Config::IsDataSubcarrier ( size_t  sc_id) const
inline
Here is the caller graph for this function:

◆ IsDlPilot()

bool Config::IsDlPilot ( size_t  ,
size_t  symbol_id 
) const
Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsDownlink()

bool Config::IsDownlink ( size_t  frame_id,
size_t  symbol_id 
) const
Here is the call graph for this function:

◆ IsPilot()

bool Config::IsPilot ( size_t  ,
size_t  symbol_id 
) const
Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsUplink()

bool Config::IsUplink ( size_t  ,
size_t  symbol_id 
) const
Here is the call graph for this function:
Here is the caller graph for this function:

◆ LdpcConfig()

const LDPCconfig& Config::LdpcConfig ( Direction  dir) const
inline
Here is the caller graph for this function:

◆ LogListenerAddr()

const std::string& Config::LogListenerAddr ( ) const
inline

◆ LogListenerPort()

size_t Config::LogListenerPort ( ) const
inline

◆ MacBytesNumPerframe()

size_t Config::MacBytesNumPerframe ( Direction  dir) const
inline
Here is the caller graph for this function:

◆ MacDataBytesNumPerframe()

size_t Config::MacDataBytesNumPerframe ( Direction  dir) const
inline
Here is the caller graph for this function:

◆ MacPacketLength()

size_t Config::MacPacketLength ( Direction  dir) const
inline
Here is the caller graph for this function:

◆ MacPacketsPerframe()

size_t Config::MacPacketsPerframe ( Direction  dir) const
inline
Here is the caller graph for this function:

◆ MacPayloadMaxLength()

size_t Config::MacPayloadMaxLength ( Direction  dir) const
inline
Here is the caller graph for this function:

◆ MCSParams()

const nlohmann::json& Config::MCSParams ( Direction  dir) const
inline
Here is the caller graph for this function:

◆ ModifyRecCalIndex()

size_t Config::ModifyRecCalIndex ( size_t  previous_index,
int  mod_value = 0 
) const
inline
Here is the caller graph for this function:

◆ ModOrderBits()

size_t Config::ModOrderBits ( Direction  dir) const
inline
Here is the caller graph for this function:

◆ ModTable()

Table<complex_float>& Config::ModTable ( Direction  dir)
inline
Here is the caller graph for this function:

◆ Modulation()

std::string Config::Modulation ( Direction  dir) const
inline
Here is the caller graph for this function:

◆ Nco()

double Config::Nco ( ) const
inline
Here is the caller graph for this function:

◆ NoiseLevel()

float Config::NoiseLevel ( ) const
inline
Here is the caller graph for this function:

◆ NumBytesPerCb()

size_t Config::NumBytesPerCb ( Direction  dir) const
inline
Here is the caller graph for this function:

◆ NumCells()

size_t Config::NumCells ( ) const
inline
Here is the caller graph for this function:

◆ NumChannels()

size_t Config::NumChannels ( ) const
inline
Here is the caller graph for this function:

◆ NumPaddingBytesPerCb()

size_t Config::NumPaddingBytesPerCb ( Direction  dir) const
inline
Here is the caller graph for this function:

◆ NumRadios()

size_t Config::NumRadios ( ) const
inline
Here is the caller graph for this function:

◆ NumUeChannels()

size_t Config::NumUeChannels ( ) const
inline
Here is the caller graph for this function:

◆ OfdmCaNum()

size_t Config::OfdmCaNum ( ) const
inline
Here is the caller graph for this function:

◆ OfdmDataNum()

size_t Config::OfdmDataNum ( ) const
inline
Here is the caller graph for this function:

◆ OfdmDataStart()

size_t Config::OfdmDataStart ( ) const
inline
Here is the caller graph for this function:

◆ OfdmDataStop()

size_t Config::OfdmDataStop ( ) const
inline
Here is the caller graph for this function:

◆ OfdmPilotSpacing()

size_t Config::OfdmPilotSpacing ( ) const
inline
Here is the caller graph for this function:

◆ OfdmRxZeroPrefixBs()

size_t Config::OfdmRxZeroPrefixBs ( ) const
inline
Here is the caller graph for this function:

◆ OfdmRxZeroPrefixCalDl() [1/2]

size_t Config::OfdmRxZeroPrefixCalDl ( ) const
inline
Here is the caller graph for this function:

◆ OfdmRxZeroPrefixCalDl() [2/2]

void Config::OfdmRxZeroPrefixCalDl ( const size_t  prefix)
inline

◆ OfdmRxZeroPrefixCalUl() [1/2]

size_t Config::OfdmRxZeroPrefixCalUl ( ) const
inline
Here is the caller graph for this function:

◆ OfdmRxZeroPrefixCalUl() [2/2]

void Config::OfdmRxZeroPrefixCalUl ( size_t  prefix)
inline

◆ OfdmRxZeroPrefixClient()

size_t Config::OfdmRxZeroPrefixClient ( ) const
inline
Here is the caller graph for this function:

◆ OfdmTxZeroPostfix()

size_t Config::OfdmTxZeroPostfix ( ) const
inline
Here is the caller graph for this function:

◆ OfdmTxZeroPrefix()

size_t Config::OfdmTxZeroPrefix ( ) const
inline
Here is the caller graph for this function:

◆ PacketLength()

size_t Config::PacketLength ( ) const
inline
Here is the caller graph for this function:

◆ Parse()

json Config::Parse ( const nlohmann::json in_json,
const std::string &  json_handle 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ Pilot()

const std::vector<uint32_t>& Config::Pilot ( ) const
inline
Here is the caller graph for this function:

◆ PilotCf32()

const std::vector<std::complex<float> >& Config::PilotCf32 ( ) const
inline
Here is the caller graph for this function:

◆ PilotCi16()

std::vector<std::complex<int16_t> >& Config::PilotCi16 ( )
inline
Here is the caller graph for this function:

◆ PilotsSgn()

const complex_float* Config::PilotsSgn ( ) const
inline
Here is the caller graph for this function:

◆ Print()

void Config::Print ( ) const
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ RadioId()

const std::vector<std::string>& Config::RadioId ( ) const
inline
Here is the caller graph for this function:

◆ RadioRfFreq()

double Config::RadioRfFreq ( ) const
inline
Here is the caller graph for this function:

◆ Rate()

double Config::Rate ( ) const
inline
Here is the caller graph for this function:

◆ RecipCalDlAnt()

size_t Config::RecipCalDlAnt ( size_t  frame_id,
size_t  dl_cal_symbol 
) const
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ RecipCalFrameCnt()

size_t Config::RecipCalFrameCnt ( ) const
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ RecipCalIndex()

size_t Config::RecipCalIndex ( size_t  frame_id) const
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ RecipCalUlRxIndex()

size_t Config::RecipCalUlRxIndex ( size_t  frame_id,
size_t  ant 
) const
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ RefAnt()

size_t Config::RefAnt ( size_t  id) const
inline
Here is the caller graph for this function:

◆ RefRadio()

size_t Config::RefRadio ( size_t  id) const
inline
Here is the caller graph for this function:

◆ Running() [1/2]

bool Config::Running ( ) const
inline

◆ Running() [2/2]

void Config::Running ( bool  value)
inline
Here is the caller graph for this function:

◆ RxGainA()

double Config::RxGainA ( ) const
inline
Here is the caller graph for this function:

◆ RxGainB()

double Config::RxGainB ( ) const
inline
Here is the caller graph for this function:

◆ SampleCalEn()

bool Config::SampleCalEn ( ) const
inline
Here is the caller graph for this function:

◆ SampsPerFrame()

size_t Config::SampsPerFrame ( ) const
inline
Here is the call graph for this function:

◆ SampsPerSymbol()

size_t Config::SampsPerSymbol ( ) const
inline
Here is the caller graph for this function:

◆ Scale()

float Config::Scale ( ) const
inline
Here is the caller graph for this function:

◆ ScrambleEnabled()

bool Config::ScrambleEnabled ( ) const
inline
Here is the caller graph for this function:

◆ SingleGain()

bool Config::SingleGain ( ) const
inline
Here is the caller graph for this function:

◆ SocketThreadNum()

size_t Config::SocketThreadNum ( ) const
inline
Here is the caller graph for this function:

◆ SubcarrierPerCodeBlock()

size_t Config::SubcarrierPerCodeBlock ( Direction  dir) const
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ Timestamp()

const std::string& Config::Timestamp ( ) const
inline

◆ TraceFilename()

const std::string& Config::TraceFilename ( ) const
inline
Here is the caller graph for this function:

◆ TxGainA()

double Config::TxGainA ( ) const
inline
Here is the caller graph for this function:

◆ TxGainB()

double Config::TxGainB ( ) const
inline
Here is the caller graph for this function:

◆ UeAntNum()

size_t Config::UeAntNum ( ) const
inline

◆ UeAntOffset()

size_t Config::UeAntOffset ( ) const
inline

◆ UeAntTotal()

size_t Config::UeAntTotal ( ) const
inline
Here is the caller graph for this function:

◆ UeChannel()

std::string Config::UeChannel ( ) const
inline
Here is the caller graph for this function:

◆ UeCoreOffset()

size_t Config::UeCoreOffset ( ) const
inline
Here is the caller graph for this function:

◆ UeHwFramer()

bool Config::UeHwFramer ( ) const
inline
Here is the caller graph for this function:

◆ UeMacRxPort()

size_t Config::UeMacRxPort ( ) const
inline
Here is the caller graph for this function:

◆ UeMacTxPort()

size_t Config::UeMacTxPort ( ) const
inline
Here is the caller graph for this function:

◆ UeNum()

size_t Config::UeNum ( ) const
inline
Here is the caller graph for this function:

◆ UeRadioId()

const std::vector<std::string>& Config::UeRadioId ( ) const
inline
Here is the caller graph for this function:

◆ UeRadioName()

const std::vector<std::string>& Config::UeRadioName ( ) const
inline
Here is the caller graph for this function:

◆ UeResyncPeriod()

size_t Config::UeResyncPeriod ( ) const
inline
Here is the caller graph for this function:

◆ UeRruAddr()

std::string Config::UeRruAddr ( ) const
inline
Here is the caller graph for this function:

◆ UeRruPort()

int Config::UeRruPort ( ) const
inline
Here is the caller graph for this function:

◆ UeServerAddr()

std::string Config::UeServerAddr ( ) const
inline
Here is the caller graph for this function:

◆ UeServerPort()

int Config::UeServerPort ( ) const
inline
Here is the caller graph for this function:

◆ UeSocketThreadNum()

size_t Config::UeSocketThreadNum ( ) const
inline
Here is the caller graph for this function:

◆ UeSpecificPilot()

Table<complex_float>& Config::UeSpecificPilot ( )
inline
Here is the caller graph for this function:

◆ UeSpecificPilotT()

Table<std::complex<int16_t> >& Config::UeSpecificPilotT ( )
inline
Here is the caller graph for this function:

◆ UeWorkerThreadNum()

size_t Config::UeWorkerThreadNum ( ) const
inline
Here is the caller graph for this function:

◆ UlBits()

Table<int8_t>& Config::UlBits ( )
inline
Here is the caller graph for this function:

◆ UlIqF()

Table<complex_float>& Config::UlIqF ( )
inline
Here is the caller graph for this function:

◆ UlIqT()

Table<std::complex<int16_t> >& Config::UlIqT ( )
inline
Here is the caller graph for this function:

◆ UlModBits()

Table<int8_t>& Config::UlModBits ( )
inline
Here is the caller graph for this function:

◆ UlTxFreqDataFiles()

const std::vector<std::string>& Config::UlTxFreqDataFiles ( void  ) const
inline
Here is the caller graph for this function:

◆ UpdateDlMCS()

void Config::UpdateDlMCS ( const nlohmann::json mcs)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ UpdateUlMCS()

void Config::UpdateUlMCS ( const nlohmann::json mcs)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ WorkerThreadNum()

size_t Config::WorkerThreadNum ( ) const
inline
Here is the caller graph for this function:

Member Data Documentation

◆ beacon_

std::vector<uint32_t> Config::beacon_
private

◆ beacon_ant_

size_t Config::beacon_ant_
private

◆ beacon_ci16_

std::vector<std::complex<int16_t> > Config::beacon_ci16_
private

◆ beacon_len_

size_t Config::beacon_len_
private

◆ beam_batch_size_

size_t Config::beam_batch_size_
private

◆ beam_block_size_

size_t Config::beam_block_size_
private

◆ beam_events_per_symbol_

size_t Config::beam_events_per_symbol_
private

◆ beam_thread_num_

size_t Config::beam_thread_num_
private

◆ beamforming_algo_

size_t Config::beamforming_algo_
private

◆ beamforming_str_

std::string Config::beamforming_str_
private

◆ beamsweep_

bool Config::beamsweep_
private

◆ bf_ant_num_

size_t Config::bf_ant_num_
private

◆ bigstation_mode_

bool Config::bigstation_mode_
private

◆ bs_ant_num_

size_t Config::bs_ant_num_
private

◆ bs_mac_rx_port_

size_t Config::bs_mac_rx_port_
private

◆ bs_mac_tx_port_

size_t Config::bs_mac_tx_port_
private

◆ bs_rru_addr_

std::string Config::bs_rru_addr_
private

◆ bs_rru_port_

int Config::bs_rru_port_
private

◆ bs_server_addr_

std::string Config::bs_server_addr_
private

◆ bs_server_port_

int Config::bs_server_port_
private

◆ bw_filter_

double Config::bw_filter_
private

◆ calib_tx_gain_a_

double Config::calib_tx_gain_a_
private

◆ calib_tx_gain_b_

double Config::calib_tx_gain_b_
private

◆ cell_id_

std::vector<size_t> Config::cell_id_
private

◆ channel_

std::string Config::channel_
private

◆ cl_corr_scale_

std::vector<float> Config::cl_corr_scale_
private

◆ cl_tx_advance_

std::vector<int> Config::cl_tx_advance_
private

◆ client_gain_rx_a_

std::vector<double> Config::client_gain_rx_a_
private

◆ client_gain_rx_b_

std::vector<double> Config::client_gain_rx_b_
private

◆ client_gain_tx_a_

std::vector<double> Config::client_gain_tx_a_
private

◆ client_gain_tx_b_

std::vector<double> Config::client_gain_tx_b_
private

◆ client_rx_gain_a_

std::vector<double> Config::client_rx_gain_a_
private

◆ client_rx_gain_b_

std::vector<double> Config::client_rx_gain_b_
private

◆ client_tx_gain_a_

std::vector<double> Config::client_tx_gain_a_
private

◆ client_tx_gain_b_

std::vector<double> Config::client_tx_gain_b_
private

◆ coeffs_

std::vector<uint32_t> Config::coeffs_
private

◆ common_pilot_

std::vector<std::complex<float> > Config::common_pilot_
private

◆ config_filename_

const std::string Config::config_filename_
private

◆ core_offset_

size_t Config::core_offset_
private

◆ correct_phase_shift_

bool Config::correct_phase_shift_
private

◆ cp_len_

size_t Config::cp_len_
private

◆ decode_thread_num_

size_t Config::decode_thread_num_
private

◆ demul_block_size_

size_t Config::demul_block_size_
private

◆ demul_events_per_symbol_

size_t Config::demul_events_per_symbol_
private

◆ demul_thread_num_

size_t Config::demul_thread_num_
private

◆ dl_bits_

Table<int8_t> Config::dl_bits_
private

◆ dl_data_bytes_num_persymbol_

size_t Config::dl_data_bytes_num_persymbol_
private

◆ dl_iq_f_

Table<complex_float> Config::dl_iq_f_
private

◆ dl_iq_t_

Table<std::complex<int16_t> > Config::dl_iq_t_
private

◆ dl_ldpc_config_

LDPCconfig Config::dl_ldpc_config_
private

◆ dl_mac_bytes_num_perframe_

size_t Config::dl_mac_bytes_num_perframe_
private

◆ dl_mac_data_bytes_num_perframe_

size_t Config::dl_mac_data_bytes_num_perframe_
private

◆ dl_mac_data_length_max_

size_t Config::dl_mac_data_length_max_
private

◆ dl_mac_packet_length_

size_t Config::dl_mac_packet_length_
private

◆ dl_mac_packets_perframe_

size_t Config::dl_mac_packets_perframe_
private

◆ dl_mcs_params_

nlohmann::json Config::dl_mcs_params_
private

◆ dl_mod_bits_

Table<int8_t> Config::dl_mod_bits_
private

◆ dl_mod_order_

size_t Config::dl_mod_order_
private

◆ dl_mod_order_bits_

size_t Config::dl_mod_order_bits_
private

◆ dl_mod_table_

Table<complex_float> Config::dl_mod_table_
private

◆ dl_modulation_

std::string Config::dl_modulation_
private

◆ dl_num_bytes_per_cb_

size_t Config::dl_num_bytes_per_cb_
private

◆ dl_num_padding_bytes_per_cb_

size_t Config::dl_num_padding_bytes_per_cb_
private

◆ dl_packet_length_

size_t Config::dl_packet_length_
private

◆ dpdk_mac_addrs_

std::string Config::dpdk_mac_addrs_
private

◆ dpdk_num_ports_

uint16_t Config::dpdk_num_ports_
private

◆ dpdk_port_offset_

uint16_t Config::dpdk_port_offset_
private

◆ encode_block_size_

size_t Config::encode_block_size_
private

◆ external_ref_node_

std::vector<bool> Config::external_ref_node_
private

◆ fft_block_size_

size_t Config::fft_block_size_
private

◆ fft_in_rru_

bool Config::fft_in_rru_
private

◆ fft_thread_num_

size_t Config::fft_thread_num_
private

◆ frame_

FrameStats Config::frame_
private

◆ frames_to_test_

size_t Config::frames_to_test_
private

◆ freq_

double Config::freq_
private

◆ freq_ghz_

const double Config::freq_ghz_
private

◆ freq_orthogonal_pilot_

bool Config::freq_orthogonal_pilot_
private

◆ gold_cf32_

std::vector<std::complex<float> > Config::gold_cf32_
private

◆ hub_id_

std::vector<std::string> Config::hub_id_
private

◆ hw_framer_

bool Config::hw_framer_
private

◆ imbalance_cal_en_

bool Config::imbalance_cal_en_
private

◆ init_calib_repeat_

size_t Config::init_calib_repeat_
private

◆ kCbPerSymbol

constexpr size_t Config::kCbPerSymbol = 1
staticconstexprprivate

◆ kDebugRecipCal

constexpr bool Config::kDebugRecipCal = false
staticconstexpr

◆ kDefaultDLSymPerFrame

const size_t Config::kDefaultDLSymPerFrame = 30
inlinestaticprivate

◆ kDefaultDLSymStart

const size_t Config::kDefaultDLSymStart = 40
inlinestaticprivate

◆ kDefaultPilotSymPerFrame

const size_t Config::kDefaultPilotSymPerFrame = 8
inlinestaticprivate

◆ kDefaultSymbolNumPerFrame

const size_t Config::kDefaultSymbolNumPerFrame = 70
inlinestaticprivate

◆ kDefaultULSymPerFrame

const size_t Config::kDefaultULSymPerFrame = 30
inlinestaticprivate

◆ kDefaultULSymStart

const size_t Config::kDefaultULSymStart = 9
inlinestaticprivate

◆ log_listener_addr_

std::string Config::log_listener_addr_
private

◆ log_listener_port_

size_t Config::log_listener_port_
private

◆ mac_remote_addr_

std::string Config::mac_remote_addr_
private

◆ nco_

double Config::nco_
private

◆ noise_level_

float Config::noise_level_
private

◆ num_cells_

size_t Config::num_cells_
private

◆ num_channels_

size_t Config::num_channels_
private

◆ num_radios_

size_t Config::num_radios_
private

◆ num_ue_channels_

size_t Config::num_ue_channels_
private

◆ ofdm_ca_num_

size_t Config::ofdm_ca_num_
private

◆ ofdm_data_num_

size_t Config::ofdm_data_num_
private

◆ ofdm_data_start_

size_t Config::ofdm_data_start_
private

◆ ofdm_data_stop_

size_t Config::ofdm_data_stop_
private

◆ ofdm_pilot_spacing_

size_t Config::ofdm_pilot_spacing_
private

◆ ofdm_rx_zero_prefix_bs_

size_t Config::ofdm_rx_zero_prefix_bs_
private

◆ ofdm_rx_zero_prefix_cal_dl_

size_t Config::ofdm_rx_zero_prefix_cal_dl_
private

◆ ofdm_rx_zero_prefix_cal_ul_

size_t Config::ofdm_rx_zero_prefix_cal_ul_
private

◆ ofdm_rx_zero_prefix_client_

size_t Config::ofdm_rx_zero_prefix_client_
private

◆ ofdm_tx_zero_postfix_

size_t Config::ofdm_tx_zero_postfix_
private

◆ ofdm_tx_zero_prefix_

size_t Config::ofdm_tx_zero_prefix_
private

◆ packet_length_

size_t Config::packet_length_
private

◆ pilot_

std::vector<uint32_t> Config::pilot_
private

◆ pilot_cf32_

std::vector<std::complex<float> > Config::pilot_cf32_
private

◆ pilot_ci16_

std::vector<std::complex<int16_t> > Config::pilot_ci16_
private

◆ pilots_

complex_float* Config::pilots_
private

◆ pilots_sgn_

complex_float* Config::pilots_sgn_
private

◆ radio_id_

std::vector<std::string> Config::radio_id_
private

◆ radio_rf_freq_

double Config::radio_rf_freq_
private

◆ rate_

double Config::rate_
private

◆ ref_ant_

std::vector<size_t> Config::ref_ant_
private

◆ ref_radio_

std::vector<size_t> Config::ref_radio_
private

◆ running_

std::atomic<bool> Config::running_
private

◆ rx_gain_a_

double Config::rx_gain_a_
private

◆ rx_gain_b_

double Config::rx_gain_b_
private

◆ sample_cal_en_

bool Config::sample_cal_en_
private

◆ samps_per_symbol_

size_t Config::samps_per_symbol_
private

◆ scale_

float Config::scale_
private

◆ scramble_enabled_

bool Config::scramble_enabled_
private

◆ single_gain_

bool Config::single_gain_
private

◆ socket_thread_num_

size_t Config::socket_thread_num_
private

◆ symbol_data_id_

std::vector<size_t> Config::symbol_data_id_
private

◆ symbol_map_

std::vector<SubcarrierType> Config::symbol_map_
private

◆ timestamp_

std::string Config::timestamp_
private

◆ trace_file_

std::string Config::trace_file_
private

◆ transport_block_size_

size_t Config::transport_block_size_
private

◆ tx_gain_a_

double Config::tx_gain_a_
private

◆ tx_gain_b_

double Config::tx_gain_b_
private

◆ ue_ant_num_

size_t Config::ue_ant_num_
private

◆ ue_ant_offset_

size_t Config::ue_ant_offset_
private

◆ ue_ant_total_

size_t Config::ue_ant_total_
private

◆ ue_channel_

std::string Config::ue_channel_
private

◆ ue_core_offset_

size_t Config::ue_core_offset_
private

◆ ue_hw_framer_

bool Config::ue_hw_framer_
private

◆ ue_mac_rx_port_

size_t Config::ue_mac_rx_port_
private

◆ ue_mac_tx_port_

size_t Config::ue_mac_tx_port_
private

◆ ue_num_

size_t Config::ue_num_
private

◆ ue_radio_id_

std::vector<std::string> Config::ue_radio_id_
private

◆ ue_radio_name_

std::vector<std::string> Config::ue_radio_name_
private

◆ ue_resync_period_

size_t Config::ue_resync_period_
private

◆ ue_rru_addr_

std::string Config::ue_rru_addr_
private

◆ ue_rru_port_

int Config::ue_rru_port_
private

◆ ue_server_addr_

std::string Config::ue_server_addr_
private

◆ ue_server_port_

int Config::ue_server_port_
private

◆ ue_socket_thread_num_

size_t Config::ue_socket_thread_num_
private

◆ ue_specific_pilot_

Table<complex_float> Config::ue_specific_pilot_
private

◆ ue_specific_pilot_t_

Table<std::complex<int16_t> > Config::ue_specific_pilot_t_
private

◆ ue_worker_thread_num_

size_t Config::ue_worker_thread_num_
private

◆ ul_bits_

Table<int8_t> Config::ul_bits_
private

◆ ul_data_bytes_num_persymbol_

size_t Config::ul_data_bytes_num_persymbol_
private

◆ ul_iq_f_

Table<complex_float> Config::ul_iq_f_
private

◆ ul_iq_t_

Table<std::complex<int16_t> > Config::ul_iq_t_
private

◆ ul_ldpc_config_

LDPCconfig Config::ul_ldpc_config_
private

◆ ul_mac_bytes_num_perframe_

size_t Config::ul_mac_bytes_num_perframe_
private

◆ ul_mac_data_bytes_num_perframe_

size_t Config::ul_mac_data_bytes_num_perframe_
private

◆ ul_mac_data_length_max_

size_t Config::ul_mac_data_length_max_
private

◆ ul_mac_packet_length_

size_t Config::ul_mac_packet_length_
private

◆ ul_mac_packets_perframe_

size_t Config::ul_mac_packets_perframe_
private

◆ ul_mcs_params_

nlohmann::json Config::ul_mcs_params_
private

◆ ul_mod_bits_

Table<int8_t> Config::ul_mod_bits_
private

◆ ul_mod_order_

size_t Config::ul_mod_order_
private

◆ ul_mod_order_bits_

size_t Config::ul_mod_order_bits_
private

◆ ul_mod_table_

Table<complex_float> Config::ul_mod_table_
private

◆ ul_modulation_

std::string Config::ul_modulation_
private

◆ ul_num_bytes_per_cb_

size_t Config::ul_num_bytes_per_cb_
private

◆ ul_num_padding_bytes_per_cb_

size_t Config::ul_num_padding_bytes_per_cb_
private

◆ ul_tx_f_data_files_

std::vector<std::string> Config::ul_tx_f_data_files_
private

◆ worker_thread_num_

size_t Config::worker_thread_num_
private

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