|
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
1.8.17