From 5cd647646500a938513aff0628ecae26705cffdb Mon Sep 17 00:00:00 2001 From: Sakthivel Velumani Date: Wed, 25 Sep 2019 15:27:18 +0200 Subject: [PATCH 1/3] updated UE for PDCCH time first and interleaved mapping (cont. of commit b39d4530) --- openair1/PHY/NR_UE_TRANSPORT/dci_nr.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/openair1/PHY/NR_UE_TRANSPORT/dci_nr.c b/openair1/PHY/NR_UE_TRANSPORT/dci_nr.c index fca613b56f..3cab9718c7 100644 --- a/openair1/PHY/NR_UE_TRANSPORT/dci_nr.c +++ b/openair1/PHY/NR_UE_TRANSPORT/dci_nr.c @@ -140,11 +140,8 @@ void nr_pdcch_demapping_deinterleaving(uint32_t *llr, } f_reg = (f_bundle_j*reg_bundle_size_L)+(reg%reg_bundle_size_L); - f_reg++; // to prevent compiler warning index_z = 9*reg; - index_llr = 9*(uint16_t)floor(reg/coreset_time_dur) + (9*coreset_nbr_rb)*(reg%coreset_time_dur); // might not work for noninterleaved mapping - //index_llr = 9*(((uint16_t)floor(f_reg/reg_bundle_size_L)+(f_reg)%coreset_time_dur))*(coreset_nbr_rb); - //index_llr = 9*((uint16_t)floor(f_reg/coreset_time_dur)+((f_reg%coreset_time_dur)*(coreset_nbr_rb))); + index_llr = 9*((uint16_t)floor(f_reg/coreset_time_dur)+((f_reg%coreset_time_dur)*(coreset_nbr_rb))); for (int i=0; i<9; i++) { z[index_z + i] = llr[index_llr + i]; From 7db64f6981bbb5dd8077b940f2826abb0a29e3c1 Mon Sep 17 00:00:00 2001 From: Sakthivel Velumani Date: Thu, 26 Sep 2019 10:05:20 +0200 Subject: [PATCH 2/3] a possible fix for pdsch prb offset problem (to be tested) --- openair1/PHY/NR_TRANSPORT/nr_dlsch.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openair1/PHY/NR_TRANSPORT/nr_dlsch.c b/openair1/PHY/NR_TRANSPORT/nr_dlsch.c index aa75bd6555..efbf345042 100644 --- a/openair1/PHY/NR_TRANSPORT/nr_dlsch.c +++ b/openair1/PHY/NR_TRANSPORT/nr_dlsch.c @@ -175,7 +175,7 @@ for (int l=0; lnb_layers; l++) //to be moved to init phase potentially, for now tx_layers 1-8 are mapped on antenna ports 1000-1007 /// DMRS QPSK modulation - uint16_t n_dmrs = (rel15->n_prb*rel15->nb_re_dmrs)<<1; + uint16_t n_dmrs = ((rel15->n_prb+rel15->start_prb)*rel15->nb_re_dmrs)<<1; int16_t mod_dmrs[n_dmrs<<1]; uint8_t dmrs_type = config->pdsch_config.dmrs_type.value; uint8_t mapping_type = config->pdsch_config.mapping_type.value; From f826eff564eddcceab9c919dda7f607b639d8a3f Mon Sep 17 00:00:00 2001 From: Sakthivel Velumani Date: Thu, 26 Sep 2019 11:11:05 +0200 Subject: [PATCH 3/3] more updates on pdsch offset --- openair1/PHY/NR_TRANSPORT/nr_dlsch.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/openair1/PHY/NR_TRANSPORT/nr_dlsch.c b/openair1/PHY/NR_TRANSPORT/nr_dlsch.c index efbf345042..6c938349d8 100644 --- a/openair1/PHY/NR_TRANSPORT/nr_dlsch.c +++ b/openair1/PHY/NR_TRANSPORT/nr_dlsch.c @@ -220,6 +220,10 @@ ap, Wt[0], Wt[1], Wf[0], Wf[1], delta, l_prime[0], l0, dmrs_symbol); #endif uint8_t k_prime=0; uint16_t m=0, n=0, dmrs_idx=0, k=0; + if (dmrs_type == NFAPI_NR_DMRS_TYPE1) // another if condition to be included to check pdsch config type (reference of k) + dmrs_idx = rel15->start_prb*6; + else + dmrs_idx = rel15->start_prb*4; for (int l=rel15->start_symbol; lstart_symbol+rel15->nb_symbols; l++) { k = start_sc;