Commit bf5ded2e authored by francescomani's avatar francescomani

adding comments for transform precoding

parent 37893f5b
...@@ -129,6 +129,7 @@ int nr_pusch_channel_estimation(PHY_VARS_gNB *gNB, ...@@ -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, ...@@ -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, ...@@ -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, ...@@ -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, ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment