From 5e3fb991e206f9a343deef06179e25067f1c4ab1 Mon Sep 17 00:00:00 2001 From: Guy De Souza Date: Mon, 29 Oct 2018 18:42:27 +0100 Subject: [PATCH] type fix --- openair1/PHY/NR_TRANSPORT/nr_dlsch.c | 24 +++++++++++------------- openair1/PHY/NR_TRANSPORT/nr_dlsch.h | 7 +++---- 2 files changed, 14 insertions(+), 17 deletions(-) diff --git a/openair1/PHY/NR_TRANSPORT/nr_dlsch.c b/openair1/PHY/NR_TRANSPORT/nr_dlsch.c index 44ef5691c7..50928a7140 100644 --- a/openair1/PHY/NR_TRANSPORT/nr_dlsch.c +++ b/openair1/PHY/NR_TRANSPORT/nr_dlsch.c @@ -90,7 +90,7 @@ void nr_modulation(uint32_t *in, void nr_pdsch_codeword_modulation(uint32_t *in, uint8_t Qm, uint32_t length, - uint16_t *out) { + int16_t *out) { uint16_t offset = (Qm==2)? NR_MOD_TABLE_QPSK_OFFSET : (Qm==4)? NR_MOD_TABLE_QAM16_OFFSET : \ (Qm==6)? NR_MOD_TABLE_QAM64_OFFSET: (Qm==8)? NR_MOD_TABLE_QAM256_OFFSET : 0; @@ -111,16 +111,15 @@ void nr_pdsch_codeword_modulation(uint32_t *in, } } -void nr_pdsch_layer_mapping(uint16_t **mod_symbs, - uint8_t n_codewords, +void nr_pdsch_layer_mapping(int16_t **mod_symbs, uint8_t n_layers, uint16_t n_symbs, - uint16_t **tx_layers) { + int16_t **tx_layers) { switch (n_layers) { case 1: - memcpy((void*)tx_layers[0], (void*)mod_symbs[0], (n_symbs<<1)*sizeof(uint16_t)); + memcpy((void*)tx_layers[0], (void*)mod_symbs[0], (n_symbs<<1)*sizeof(int16_t)); break; case 2: @@ -196,7 +195,7 @@ uint8_t nr_generate_pdsch(NR_gNB_DLSCH_t dlsch, nfapi_nr_dl_config_pdcch_parameters_rel15_t pdcch_params = dci_alloc.pdcch_params; uint32_t scrambled_output[NR_MAX_NB_CODEWORDS][NR_MAX_PDSCH_ENCODED_LENGTH]; int16_t mod_symbs[NR_MAX_NB_CODEWORDS][NR_MAX_PDSCH_ENCODED_LENGTH>>1]; - uint16_t tx_layers[NR_MAX_NB_LAYERS][NR_MAX_PDSCH_ENCODED_LENGTH>>1]; + int16_t tx_layers[NR_MAX_NB_LAYERS][NR_MAX_PDSCH_ENCODED_LENGTH>>1]; uint16_t n_symbs; int8_t Wf[2], Wt[2], l0, delta; uint16_t TBS = rel15->transport_block_size; @@ -218,10 +217,10 @@ uint8_t nr_generate_pdsch(NR_gNB_DLSCH_t dlsch, n_RNTI, scrambled_output[q]); #ifdef DEBUG_DLSCH -printf("PDSCH Scrambling(TBS %d): before \t after \n", TBS); -for (int i=0; if[i], scrambled_output[0][i]); -} +//printf("PDSCH Scrambling(TBS %d): before \t after \n", TBS); +//for (int i=0; if[i], scrambled_output[0][i]); +//} #endif @@ -245,7 +244,6 @@ for (int i=0; inb_codewords, rel15->nb_layers, n_symbs, tx_layers); @@ -284,8 +282,8 @@ for (int i=0; i> 15; - ((int16_t*)txdataF[ap])[((l*frame_parms.ofdm_symbol_size + k)<<1) + 1] = (Wt[k_prime]*Wf[k_prime]*amp*mod_dmrs[(dmrs_idx<<1) + 1]) >> 15; + ((int16_t*)txdataF[ap])[(l*frame_parms.ofdm_symbol_size + k)<<1] = (Wt[k_prime]*Wf[k_prime]*amp/2*mod_dmrs[dmrs_idx<<1]) >> 15; + ((int16_t*)txdataF[ap])[((l*frame_parms.ofdm_symbol_size + k)<<1) + 1] = (Wt[k_prime]*Wf[k_prime]*amp/2*mod_dmrs[(dmrs_idx<<1) + 1]) >> 15; dmrs_idx++; n++; k_prime++; diff --git a/openair1/PHY/NR_TRANSPORT/nr_dlsch.h b/openair1/PHY/NR_TRANSPORT/nr_dlsch.h index a732ca9524..375d2d0fef 100644 --- a/openair1/PHY/NR_TRANSPORT/nr_dlsch.h +++ b/openair1/PHY/NR_TRANSPORT/nr_dlsch.h @@ -70,13 +70,12 @@ void nr_pdsch_codeword_scrambling(uint8_t *in, void nr_pdsch_codeword_modulation(uint32_t *in, uint8_t Qm, uint32_t length, - uint16_t *out); + int16_t *out); -void nr_pdsch_layer_mapping(uint16_t **mod_symbs, - uint8_t n_codewords, +void nr_pdsch_layer_mapping(int16_t **mod_symbs, uint8_t n_layers, uint16_t n_symbs, - uint16_t **tx_layers); + int16_t **tx_layers); uint8_t nr_generate_pdsch(NR_gNB_DLSCH_t dlsch, NR_gNB_DCI_ALLOC_t dci_alloc,