Agora
1.2.0
Agora project
|
Definitions for Agora's AVX2-based LDPC encoder.
size_t raw_buffer_rollover_
Definition: doencode.h:34
byte
Definition: core.h:388
size_t GetDLSymbolIdx(size_t symbol_number) const
Definition: framestats.cc:152
static constexpr bool kPrintRawMacData
Definition: doencode.cc:15
auto printf(const S &fmt, const T &... args) -> int
Definition: printf.h:631
~DoEncode() override
Definition: doencode.cc:48
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
Direction
Definition: symbols.h:39
uint16_t symbol_id_
Definition: message.h:33
std::array< size_t, kMaxStatBreakdown > task_duration_
Definition: stats.h:23
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
Definition: doencode.h:20
void * PaddedAlignedAlloc(Alignment_t alignment, size_t size)
Definition: memory_manage.cc:15
size_t NumRows() const
Definition: ldpc_config.h:52
int8_t * encoded_buffer_temp_
Definition: doencode.h:41
DoEncode(Config *in_config, int in_tid, Direction dir, Table< int8_t > &in_raw_data_buffer, size_t in_buffer_rollover, Table< int8_t > &in_mod_bits_buffer, Stats *in_stats_manager)
Definition: doencode.cc:17
size_t GetULSymbolIdx(size_t symbol_number) const
Definition: framestats.cc:156
static size_t BitsToBytes(size_t n_bits)
Definition: utils_ldpc.h:124
size_t SubcarrierPerCodeBlock(Direction dir) const
Definition: config.h:292
const FrameStats & Frame() const
Definition: config.h:340
static double CyclesToUs(size_t cycles, double freq_ghz)
Definition: gettime.h:97
int8_t * parity_buffer_
Definition: doencode.h:38
static size_t LdpcEncodingEncodedBufSize(size_t base_graph, size_t zc)
Definition: utils_ldpc.h:181
int tid_
Definition: doer.h:65
static constexpr bool kDebugPrintInTask
Definition: symbols.h:201
Declaration file for the Stats class. Includes definations for DurationStat and FrameSummery types.
Definition: message.h:142
size_t task_count_
Definition: stats.h:24
static constexpr bool kEnableMac
Definition: symbols.h:150
Self defined functions for message storage and passing.
size_t ClientUlPilotSymbols() const
Definition: framestats.h:73
Declaration file for the Docoding class. Includes the DoEncode and DoDecode classes.
Scramble Class and helper functions.
for i
Definition: generate_data.m:107
size_t MacPayloadMaxLength(Direction dir) const
Definition: config.h:272
Direction dir_
Definition: doencode.h:30
Plot Rx waveform for u
Definition: inspect_single_frame.m:108
Table< int8_t > & raw_data_buffer_
Definition: doencode.h:33
size_t NumBytesPerCb(Direction dir) const
Definition: config.h:251
std::unique_ptr< T > make_unique(Args &&... args)
Definition: common.h:334
Definition: ldpc_config.h:14
size_t MacPacketLength(Direction dir) const
Definition: config.h:268
static constexpr bool kPrintEncodedData
Definition: doencode.cc:14
DurationStat * duration_stat_
Definition: doencode.h:46
const LDPCconfig & LdpcConfig(Direction dir) const
Definition: config.h:280
size_t ClientDlPilotSymbols() const
Definition: framestats.h:76
double FreqGhz() const
Definition: config.h:56
Config * cfg_
Definition: doer.h:64
Table< int8_t > & mod_bits_buffer_
Definition: doencode.h:35
static constexpr bool kDebugTxData
Definition: symbols.h:365
int8_t * scrambler_buffer_
Definition: doencode.h:44
static size_t WorkerRdtsc()
Definition: gettime.h:34
uint16_t ExpansionFactor() const
Definition: ldpc_config.h:47
#define AGORA_LOG_INFO(...)
Definition: logger.h:62
Declaration file for the Doer class. The is the base class for all agora doers.
Definition: json.hpp:5213
std::unique_ptr< AgoraScrambler::Scrambler > scrambler_
Definition: doencode.h:47
size_t NumPaddingBytesPerCb(Direction dir) const
Definition: config.h:255
bool ScrambleEnabled() const
Definition: config.h:296
Definition: scrambler.cc:12
uint16_t BaseGraph() const
Definition: ldpc_config.h:46
Declaration file for the configuration class which importants json configuration values into class va...
Definition: message.h:274
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
uint32_t frame_id_
Definition: message.h:32
static size_t LdpcEncodingParityBufSize(size_t base_graph, size_t zc)
Definition: utils_ldpc.h:174
size_t ModOrderBits(Direction dir) const
Definition: config.h:247
void NumBlocksInSymbol(size_t num_blocks)
Definition: ldpc_config.h:41
uint32_t NumCbCodewLen() const
Definition: ldpc_config.h:51
EventData Launch(size_t tag) override
Definition: doencode.cc:54
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
uint16_t cb_id_
Definition: message.h:36
DurationStat * GetDurationStat(DoerType doer_type, size_t thread_id)
Definition: stats.h:162
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