Common#

Common utilities and definitions shared across RAN runtime components.

Overview#

The common module provides:

  • Shared Definitions - Common types and constants

  • Utility Functions - Helper functions for RAN processing

  • Cross-Component Types - Types used across multiple modules

API Reference#

constexpr int ran::common::NUM_CELLS_SUPPORTED = 1#

Maximum number of cells supported.

constexpr std::size_t ran::common::MAX_PUSCH_PIPELINES = 1#

Maximum number of PUSCH pipelines.

constexpr std::uint32_t ran::common::MAX_UES_PER_CELL = 1#

Maximum number of UEs per cell.

constexpr std::uint32_t ran::common::MAX_UES_PER_SLOT = MAX_UES_PER_CELL * NUM_CELLS_SUPPORTED#

Maximum number of UEs per slot.

constexpr std::size_t ran::common::MAX_NUM_UES_PER_UE_GRP = 12#

Maximum number of UEs per UE group.

constexpr std::size_t ran::common::MAX_NUM_CBS_PER_TB = 152#

Maximum number of code blocks per TB.

constexpr std::size_t ran::common::MAX_NUM_TBS = 1#

Maximum number of transport blocks.

constexpr std::size_t ran::common::MAX_NUM_UE_GRPS = 1#

Maximum number of UE groups.

constexpr std::size_t ran::common::MAX_NUM_LAYERS_PER_UE_GRP = 8#

Maximum layers per UE group.

constexpr std::uint32_t ran::common::MAX_UL_LAYERS = 1#

Maximum uplink layers.

constexpr std::uint32_t ran::common::MAX_ANTENNAS = 4#

Maximum number of antennas.

constexpr std::uint32_t ran::common::BANDWIDTH_SUPPORTED_MHZ = 100#

Supported bandwidth in MHz.

constexpr std::uint32_t ran::common::NUM_PRBS_SUPPORTED = 273#

Number of PRBs supported.

constexpr std::uint32_t ran::common::PUSCH_MAX_TB_SIZE_BYTES = 311386#

Maximum bytes per transport block.

constexpr int ran::common::NUM_SLOTS_PER_SF = 20#

Number of slots per subframe.

constexpr int ran::common::NUM_SFNS_PER_FRAME = 1024#

Number of system frame numbers per frame.

constexpr std::uint16_t ran::common::MAX_SFN = 1024#

Maximum system frame number.

constexpr std::uint16_t ran::common::MAX_SLOT = 20#

Maximum slot number.

constexpr std::uint16_t ran::common::INVALID_CELL_ID = 65535#

Invalid cell ID sentinel value.

constexpr std::uint32_t ran::common::OFDM_SYMBOLS_NORMAL_CYCLIC_PREFIX = 14#

Number of OFDM symbols with normal cyclic prefix.

constexpr std::uint32_t ran::common::NUM_SUBCARRIERS_PER_PRB = 12#

Number of subcarriers per PRB.

constexpr std::uint32_t ran::common::MAX_DMRS_OFDM_SYMBOLS = 1#

Maximum DMRS OFDM symbols.

constexpr std::uint32_t ran::common::REAL_IMAG_INTERLEAVED = 2#

Real & imag interleaved.

constexpr std::uint32_t ran::common::MAX_QAM_BITS = 8#

Maximum QAM bits supported.

constexpr std::uint32_t ran::common::CYCLIC_PREFIX_NORMAL = 0#

Normal cyclic prefix.

constexpr std::uint32_t ran::common::SUBCARRIER_SPACING_MU_1 = 1#

mu-1 subcarrier spacing

struct PhyParams#
#include <ran_common.hpp>

Physical layer parameters

Public Members

std::uint16_t num_rx_ant = {}#

Number of receive antennas.

std::uint8_t cyclic_prefix = {}#

Cyclic prefix.

std::uint16_t bandwidth = {}#

Bandwidth in MHz.

std::uint32_t num_prb = {}#

Number of PRBs is a function of bandwidth.