Agora
1.2.0
Agora project
|
#include <config.h>
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 LDPCconfig & | LdpcConfig (Direction dir) const |
Table< complex_float > & | ModTable (Direction dir) |
const nlohmann::json & | MCSParams (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 FrameStats & | Frame () 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_float * | PilotsSgn () 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_float * | GetDataBuf (Table< complex_float > &data_buffers, size_t frame_id, size_t symbol_id) const |
size_t | GetBeamScId (size_t sc_id) const |
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. 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 () |
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 |
|
explicit |
Config::~Config | ( | ) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
private |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
void Config::GenData | ( | ) |
|
inline |
|
inline |
Return the subcarrier ID to which we should refer to for the zeroforcing matrices of subcarrier [sc_id].
|
inline |
Get the calibration buffer for this frame and subcarrier ID.
|
inline |
Fetch the data buffer for this frame and symbol ID. The symbol must be an uplink symbol.
|
inline |
Return the frame duration in seconds.
|
inline |
Get info bits for this symbol, user and code block ID.
|
inline |
Get mac bits for this frame, symbol, user and code block ID.
|
inline |
Get encoded_buffer for this frame, symbol, user and code block ID.
|
inline |
|
inline |
|
inline |
|
inline |
size_t Config::GetSymbolId | ( | size_t | input_id | ) | const |
TODO document and review.
SymbolType Config::GetSymbolType | ( | size_t | symbol_id | ) | const |
Return the symbol type of this symbol in this frame.
|
inline |
Return total number of data symbols of all frames in a buffer that holds data of kFrameWnd frames
|
inline |
Return total number of downlink data symbols of all frames in a buffer that holds data of kFrameWnd frames
|
inline |
Return total number of uplink data symbols of all frames in a buffer that holds data of kFrameWnd frames
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
bool Config::IsBeacon | ( | size_t | , |
size_t | |||
) | const |
bool Config::IsCalDlPilot | ( | size_t | , |
size_t | symbol_id | ||
) | const |
bool Config::IsCalUlPilot | ( | size_t | , |
size_t | symbol_id | ||
) | const |
|
inline |
bool Config::IsDlPilot | ( | size_t | , |
size_t | symbol_id | ||
) | const |
bool Config::IsDownlink | ( | size_t | frame_id, |
size_t | symbol_id | ||
) | const |
bool Config::IsPilot | ( | size_t | , |
size_t | symbol_id | ||
) | const |
bool Config::IsUplink | ( | size_t | , |
size_t | symbol_id | ||
) | const |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
private |
|
inline |
|
inline |
|
inline |
|
inline |
|
private |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
void Config::UpdateDlMCS | ( | const nlohmann::json & | mcs | ) |
void Config::UpdateUlMCS | ( | const nlohmann::json & | mcs | ) |
|
inline |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
staticconstexprprivate |
|
staticconstexpr |
|
inlinestaticprivate |
|
inlinestaticprivate |
|
inlinestaticprivate |
|
inlinestaticprivate |
|
inlinestaticprivate |
|
inlinestaticprivate |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |