This section describes the structs and functions of the uplink cuPHY control channel receiver. Currently only PUCCH Format 1 is supported.
More...
|
void | cuphyCopyPucchParamsToWorkspace (const PucchParams *h_pucch_params, void *pucch_workspace, cuphyDataType_t pucch_complex_data_type) |
| : Copy PUCCH params from the CPU to the allocated PUCCH receiver workspace. The location of the struct in the workspace is implementation dependent. More...
|
|
void | cuphyPucchReceiver (cuphyTensorDescriptor_t data_rx_desc, const void *data_rx_addr, cuphyTensorDescriptor_t bit_estimates_desc, void *bit_estimates_addr, const uint32_t pucch_format, const PucchParams *pucch_params, cudaStream_t strm, void *pucch_workspace, size_t allocated_workspace_size, cuphyDataType_t pucch_complex_data_type) |
| : Launch PUCCH receiver kernels that do processing at receive end of PUCCH (Physical Uplink Control Channel). More...
|
|
size_t | cuphyPucchReceiverWorkspaceSize (int num_ues, int num_bs_antennas, int num_symbols, cuphyDataType_t pucch_complex_data_type) |
| : Return workspace size, in bytes, needed for all configuration parameters and intermediate computations of the PUCCH receiver. Does not allocate any space. More...
|
|
void | cuphyUpdatePucchParamsFormat1 (PucchParams *pucch_params, const gnb_pars *gnb_params, const tb_pars *tb_params) |
| : Partially update PucchParams struct for Format 1 based on tb_pars and gnb_pars. NB: the following PucchParams fields are NOT updated in this function: (1) num_pucch_ue, (2) Wf, (3) Wt_cell, (4) low_PAPR_seq_index, (5) hopping_id, and (6) the cell_params array. More...
|
|
◆ cuphyCopyPucchParamsToWorkspace()
void cuphyCopyPucchParamsToWorkspace |
( |
const PucchParams * |
h_pucch_params, |
|
|
void * |
pucch_workspace, |
|
|
cuphyDataType_t |
pucch_complex_data_type |
|
) |
| |
- Parameters
-
[in] | h_pucch_params | pointer to PUCCH configuration parameters on the host. |
[in] | pucch_workspace | pointer to the pre-allocated pucch receiver's workspace on the device. |
[in] | pucch_complex_data_type | PUCCH receiver data type identifier: CUPHY_C_32F or CUPHY_C_16F |
◆ cuphyPucchReceiver()
- Parameters
-
[in] | data_rx_desc | input tensor descriptor; dimensions: Nf x Nt x L_BS |
[in] | data_rx_addr | pointer to input tensor data (i.e., base station received signal); each tensor element is a complex number |
[in] | bit_estimates_desc | output tensor descriptor; dimensions nUe_pucch x 2 |
[in,out] | bit_estimates_addr | pre-allocated device buffer with bit estimates |
[in] | pucch_format | PUCCH format; currently only format 1 is supported. |
[in,out] | pucch_params | pointer to PUCCH config params. |
[in] | strm | CUDA stream for kernel launch. |
[in,out] | pucch_workspace | address of user allocated workspace pucch params should have been already copied there via a cuphyCopyPucchParamsToWorkspace() call. |
[in] | allocated_workspace_size | size of pucch_workspace |
[in] | pucch_complex_data_type | PUCCH receiver data type identifier: CUPHY_C_32F or CUPHY_C_16F |
◆ cuphyPucchReceiverWorkspaceSize()
size_t cuphyPucchReceiverWorkspaceSize |
( |
int |
num_ues, |
|
|
int |
num_bs_antennas, |
|
|
int |
num_symbols, |
|
|
cuphyDataType_t |
pucch_complex_data_type |
|
) |
| |
- Parameters
-
[in] | num_ues | number of User Equipement (UEs) |
[in] | num_bs_antennas | number of Base Station (BS) antennas |
[in] | num_symbols | number of symbols; sum of DMRS and data symbols. |
[in] | pucch_complex_data_type | PUCCH receiver data type identifier: CUPHY_C_32F or CUPHY_C_16F |
- Returns
- workspace size in bytes
◆ cuphyUpdatePucchParamsFormat1()
- Parameters
-
[in,out] | pucch_params | pointer to PUCCH configuration parameters on the host. |
[in] | gnb_params | pointer to gnb_pars struct on the host. |
[in] | tb_params | pointer to tb_pars struct on the host. |