cuPHY
0.1
CUDA PHY Layer Acceration Library
|
Struct that tracks all necessary parameters for PDSCH DMRS computation. This struct is also used in PDSCH modulation. There is one PdschDmrsParams struct per TB.
#include <cuphy.h>
Data Fields | |
float | beta_dmrs |
float | beta_qam |
uint16_t | BWP_start_PRB |
uint32_t | cell_id |
uint8_t | cell_index_in_cell_group |
void * | cell_output_tensor_addr |
uint64_t | data_sym_loc |
uint32_t | dmrs_scid |
uint16_t | dmrs_sym_loc |
uint8_t | enablePrcdBf |
uint32_t | n_scid |
uint8_t | Np |
uint16_t | num_BWP_PRBs |
uint8_t | num_data_symbols |
uint8_t | num_dmrs_symbols |
uint8_t | num_layers |
uint16_t | num_Rbs |
__half2 | pmW [MAX_DL_LAYERS_PER_TB *MAX_DL_PORTS] |
uint8_t | port_ids [MAX_DL_LAYERS_PER_TB] |
uint8_t | ref_point |
uint32_t | slot_number |
uint16_t | start_Rb |
uint8_t | symbol_number |
uint8_t | ueGrp_idx |
float PdschDmrsParams::beta_dmrs |
DMRS amplitude scaling
float PdschDmrsParams::beta_qam |
QAM amplitude scaling
uint16_t PdschDmrsParams::BWP_start_PRB |
start PRB for this bandwidth part. Used only if ref_point is 1.
uint32_t PdschDmrsParams::cell_id |
gnb_pars.cellId
uint8_t PdschDmrsParams::cell_index_in_cell_group |
Different than cell_id.
void* PdschDmrsParams::cell_output_tensor_addr |
output address for the cell this TB belong to. NB: replicates information across all TBs in the same cell. Could alternatively add a field with the cell index in cell group, and maintain a separate array of cell indices to be used both by DMRS and modulation.
uint64_t PdschDmrsParams::data_sym_loc |
Starting from least significant bit the first 4 * num_data_symbols bits are valid and specify the location of the data symbols. 4 bits are used for each position.
uint32_t PdschDmrsParams::dmrs_scid |
DMRS scrambling Id
uint16_t PdschDmrsParams::dmrs_sym_loc |
Starting from least significant bit the first 4 * num_drms_symbols bits are valid and specify the location of the DMRS symbols. 4 bits are used for each position.
uint8_t PdschDmrsParams::enablePrcdBf |
is pre-coding enabled
uint32_t PdschDmrsParams::n_scid |
scrambling Id used
uint8_t PdschDmrsParams::Np |
number of antenna ports for this UE when precoding is enabled (enablePrcdBf true); 0 otherwise.
uint16_t PdschDmrsParams::num_BWP_PRBs |
number of PRBs in this bandwidth part.
uint8_t PdschDmrsParams::num_data_symbols |
number of data symbols
uint8_t PdschDmrsParams::num_dmrs_symbols |
number of DMRS symbols
uint8_t PdschDmrsParams::num_layers |
number of layers
uint16_t PdschDmrsParams::num_Rbs |
number of allocated RBs (Resource Blocks), at most 273. 0=Don't format modulator output
__half2 PdschDmrsParams::pmW[MAX_DL_LAYERS_PER_TB *MAX_DL_PORTS] |
pre-coding matrix to be used only if enablePrcdBf is true with num_layers rows and Np columns
uint8_t PdschDmrsParams::port_ids[MAX_DL_LAYERS_PER_TB] |
at most 8 ports supported for DMRS configuration type 1 per UE, but this is per TB; only the first num_layers values are valid; actual port is +1000
uint8_t PdschDmrsParams::ref_point |
DMRS reference point: 0 or 1
uint32_t PdschDmrsParams::slot_number |
from gnb_pars.slotNumber
uint16_t PdschDmrsParams::start_Rb |
initial RB (0 indexing)
uint8_t PdschDmrsParams::symbol_number |
index of initial symbol (0-based).
uint8_t PdschDmrsParams::ueGrp_idx |
UE group identifier associated with this TB