adding comments for transform precoding
This commit is contained in:
@@ -129,6 +129,7 @@ int nr_pusch_channel_estimation(PHY_VARS_gNB *gNB,
|
|||||||
|
|
||||||
//------------------generate DMRS------------------//
|
//------------------generate DMRS------------------//
|
||||||
|
|
||||||
|
// transform precoding = 1 means disabled
|
||||||
if (pusch_pdu->transform_precoding == 1) {
|
if (pusch_pdu->transform_precoding == 1) {
|
||||||
nr_pusch_dmrs_rx(gNB, Ns, gNB->nr_gold_pusch_dmrs[pusch_pdu->scid][Ns][symbol], &pilot[0], 1000, 0, nb_rb_pusch,
|
nr_pusch_dmrs_rx(gNB, Ns, gNB->nr_gold_pusch_dmrs[pusch_pdu->scid][Ns][symbol], &pilot[0], 1000, 0, nb_rb_pusch,
|
||||||
(pusch_pdu->bwp_start + pusch_pdu->rb_start)*NR_NB_SC_PER_RB, pusch_pdu->dmrs_config_type);
|
(pusch_pdu->bwp_start + pusch_pdu->rb_start)*NR_NB_SC_PER_RB, pusch_pdu->dmrs_config_type);
|
||||||
|
|||||||
@@ -1317,6 +1317,7 @@ int nr_rx_pusch(PHY_VARS_gNB *gNB,
|
|||||||
rel15_ul->rb_size);
|
rel15_ul->rb_size);
|
||||||
stop_meas(&gNB->ulsch_mrc_stats);
|
stop_meas(&gNB->ulsch_mrc_stats);
|
||||||
|
|
||||||
|
// transform precoding = 0 means enabled
|
||||||
if (rel15_ul->transform_precoding == 0) {
|
if (rel15_ul->transform_precoding == 0) {
|
||||||
|
|
||||||
#ifdef __AVX2__
|
#ifdef __AVX2__
|
||||||
|
|||||||
@@ -252,7 +252,7 @@ void nr_ue_ulsch_procedures(PHY_VARS_NR_UE *UE,
|
|||||||
uint8_t u = 0, v = 0;
|
uint8_t u = 0, v = 0;
|
||||||
int16_t *dmrs_seq = NULL;
|
int16_t *dmrs_seq = NULL;
|
||||||
|
|
||||||
// enbaled
|
// if transform precoding is enbaled (value 0)
|
||||||
if (pusch_pdu->transform_precoding == 0) {
|
if (pusch_pdu->transform_precoding == 0) {
|
||||||
|
|
||||||
uint32_t nb_re_pusch=nb_rb * NR_NB_SC_PER_RB;
|
uint32_t nb_re_pusch=nb_rb * NR_NB_SC_PER_RB;
|
||||||
@@ -354,7 +354,7 @@ void nr_ue_ulsch_procedures(PHY_VARS_NR_UE *UE,
|
|||||||
if ((ul_dmrs_symb_pos >> l) & 0x01) {
|
if ((ul_dmrs_symb_pos >> l) & 0x01) {
|
||||||
is_dmrs_sym = 1;
|
is_dmrs_sym = 1;
|
||||||
|
|
||||||
// disabled
|
// transform precoding disabled (value 1)
|
||||||
if (pusch_pdu->transform_precoding == 1){
|
if (pusch_pdu->transform_precoding == 1){
|
||||||
|
|
||||||
if (dmrs_type == pusch_dmrs_type1)
|
if (dmrs_type == pusch_dmrs_type1)
|
||||||
@@ -405,7 +405,7 @@ void nr_ue_ulsch_procedures(PHY_VARS_NR_UE *UE,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (is_dmrs == 1) {
|
if (is_dmrs == 1) {
|
||||||
// if enabled
|
// if transform precoding is enabled
|
||||||
if (pusch_pdu->transform_precoding == 0) {
|
if (pusch_pdu->transform_precoding == 0) {
|
||||||
|
|
||||||
((int16_t*)txdataF[ap])[(sample_offsetF)<<1] = (Wt[l_prime[0]]*Wf[k_prime]*AMP*dmrs_seq[2*dmrs_idx]) >> 15;
|
((int16_t*)txdataF[ap])[(sample_offsetF)<<1] = (Wt[l_prime[0]]*Wf[k_prime]*AMP*dmrs_seq[2*dmrs_idx]) >> 15;
|
||||||
|
|||||||
@@ -566,7 +566,7 @@ int main(int argc, char **argv)
|
|||||||
|
|
||||||
case 'Z':
|
case 'Z':
|
||||||
|
|
||||||
transform_precoding = 0;
|
transform_precoding = 0; // enabled
|
||||||
num_dmrs_cdm_grps_no_data = 2;
|
num_dmrs_cdm_grps_no_data = 2;
|
||||||
mcs_table = 3;
|
mcs_table = 3;
|
||||||
|
|
||||||
@@ -840,6 +840,7 @@ int main(int argc, char **argv)
|
|||||||
uint16_t number_dmrs_symbols = get_dmrs_symbols_in_slot(l_prime_mask, nb_symb_sch);
|
uint16_t number_dmrs_symbols = get_dmrs_symbols_in_slot(l_prime_mask, nb_symb_sch);
|
||||||
uint8_t nb_re_dmrs = (dmrs_config_type == pusch_dmrs_type1) ? 6 : 4;
|
uint8_t nb_re_dmrs = (dmrs_config_type == pusch_dmrs_type1) ? 6 : 4;
|
||||||
|
|
||||||
|
// if transform precoding is enabled
|
||||||
if (transform_precoding == 0) {
|
if (transform_precoding == 0) {
|
||||||
|
|
||||||
AssertFatal(enable_ptrs == 0, "PTRS NOT SUPPORTED IF TRANSFORM PRECODING IS ENABLED\n");
|
AssertFatal(enable_ptrs == 0, "PTRS NOT SUPPORTED IF TRANSFORM PRECODING IS ENABLED\n");
|
||||||
@@ -1045,6 +1046,7 @@ int main(int argc, char **argv)
|
|||||||
pusch_pdu->pusch_ptrs.ptrs_ports_list = (nfapi_nr_ptrs_ports_t *) malloc(2*sizeof(nfapi_nr_ptrs_ports_t));
|
pusch_pdu->pusch_ptrs.ptrs_ports_list = (nfapi_nr_ptrs_ports_t *) malloc(2*sizeof(nfapi_nr_ptrs_ports_t));
|
||||||
pusch_pdu->pusch_ptrs.ptrs_ports_list[0].ptrs_re_offset = 0;
|
pusch_pdu->pusch_ptrs.ptrs_ports_list[0].ptrs_re_offset = 0;
|
||||||
|
|
||||||
|
// if transform precoding is enabled
|
||||||
if (transform_precoding == 0) {
|
if (transform_precoding == 0) {
|
||||||
|
|
||||||
pusch_pdu->dfts_ofdm.low_papr_group_number = *scc->physCellId % 30; // U as defined in 38.211 section 6.4.1.1.1.2
|
pusch_pdu->dfts_ofdm.low_papr_group_number = *scc->physCellId % 30; // U as defined in 38.211 section 6.4.1.1.1.2
|
||||||
@@ -1105,6 +1107,7 @@ int main(int argc, char **argv)
|
|||||||
|
|
||||||
ul_config.ul_config_list[0].pusch_config_pdu.transform_precoding = transform_precoding;
|
ul_config.ul_config_list[0].pusch_config_pdu.transform_precoding = transform_precoding;
|
||||||
|
|
||||||
|
// if transform precoding is enabled
|
||||||
if (transform_precoding == 0) {
|
if (transform_precoding == 0) {
|
||||||
|
|
||||||
ul_config.ul_config_list[0].pusch_config_pdu.dfts_ofdm.low_papr_group_number = *scc->physCellId % 30;// U as defined in 38.211 section 6.4.1.1.1.2
|
ul_config.ul_config_list[0].pusch_config_pdu.dfts_ofdm.low_papr_group_number = *scc->physCellId % 30;// U as defined in 38.211 section 6.4.1.1.1.2
|
||||||
|
|||||||
Reference in New Issue
Block a user