diff --git a/openair1/PHY/NR_TRANSPORT/nr_dlsch.c b/openair1/PHY/NR_TRANSPORT/nr_dlsch.c index a011b9a11812825ed38d68ed8605be7bbdf4720a..44ef5691c7b0d196d830604a54d7e8ab1789b00a 100644 --- a/openair1/PHY/NR_TRANSPORT/nr_dlsch.c +++ b/openair1/PHY/NR_TRANSPORT/nr_dlsch.c @@ -126,7 +126,7 @@ void nr_pdsch_layer_mapping(uint16_t **mod_symbs, case 2: case 3: case 4: - for (int i=0; i<n_symbs[0]/n_layers; i++) + for (int i=0; i<n_symbs/n_layers; i++) for (int l=0; l<n_layers; l++) { tx_layers[l][i<<1] = mod_symbs[0][(n_layers*i+l)<<1]; tx_layers[l][(i<<1)+1] = mod_symbs[0][((n_layers*i+l)<<1)+1]; @@ -134,12 +134,12 @@ void nr_pdsch_layer_mapping(uint16_t **mod_symbs, break; case 5: - for (int i=0; i<n_symbs[0]>>1; i++) + for (int i=0; i<n_symbs>>1; i++) for (int l=0; l<2; l++) { tx_layers[l][i<<1] = mod_symbs[0][((i<<1)+l)<<1]; tx_layers[l][(i<<1)+1] = mod_symbs[0][(((i<<1)+l)<<1)+1]; } - for (int i=0; i<n_symbs[1]/3; i++) + for (int i=0; i<n_symbs/3; i++) for (int l=2; l<5; l++) { tx_layers[l][i<<1] = mod_symbs[1][(3*i+l)<<1]; tx_layers[l][(i<<1)+1] = mod_symbs[1][((3*i+l)<<1)+1]; @@ -148,7 +148,7 @@ void nr_pdsch_layer_mapping(uint16_t **mod_symbs, case 6: for (int q=0; q<2; q++) - for (int i=0; i<n_symbs[q]/3; i++) + for (int i=0; i<n_symbs/3; i++) for (int l=0; l<3; l++) { tx_layers[l][i<<1] = mod_symbs[q][(3*i+l)<<1]; tx_layers[l][(i<<1)+1] = mod_symbs[q][((3*i+l)<<1)+1]; @@ -156,12 +156,12 @@ void nr_pdsch_layer_mapping(uint16_t **mod_symbs, break; case 7: - for (int i=0; i<n_symbs[0]/3; i++) + for (int i=0; i<n_symbs/3; i++) for (int l=0; l<3; l++) { tx_layers[l][i<<1] = mod_symbs[1][(3*i+l)<<1]; tx_layers[l][(i<<1)+1] = mod_symbs[1][((3*i+l)<<1)+1]; } - for (int i=0; i<n_symbs[1]/4; i++) + for (int i=0; i<n_symbs/4; i++) for (int l=3; l<7; l++) { tx_layers[l][i<<1] = mod_symbs[0][((i<<2)+l)<<1]; tx_layers[l][(i<<1)+1] = mod_symbs[0][(((i<<2)+l)<<1)+1]; @@ -170,7 +170,7 @@ void nr_pdsch_layer_mapping(uint16_t **mod_symbs, case 8: for (int q=0; q<2; q++) - for (int i=0; i<n_symbs[q]>>2; i++) + for (int i=0; i<n_symbs>>2; i++) for (int l=0; l<3; l++) { tx_layers[l][i<<1] = mod_symbs[q][((i<<2)+l)<<1]; tx_layers[l][(i<<1)+1] = mod_symbs[q][(((i<<2)+l)<<1)+1]; diff --git a/openair1/PHY/NR_TRANSPORT/nr_dlsch.h b/openair1/PHY/NR_TRANSPORT/nr_dlsch.h index 0067bf17037c443f85edfa06dc00d4c2f123f441..a732ca9524c91cddc6fcaf4f3e460ccc71d24147 100644 --- a/openair1/PHY/NR_TRANSPORT/nr_dlsch.h +++ b/openair1/PHY/NR_TRANSPORT/nr_dlsch.h @@ -75,7 +75,7 @@ void nr_pdsch_codeword_modulation(uint32_t *in, void nr_pdsch_layer_mapping(uint16_t **mod_symbs, uint8_t n_codewords, uint8_t n_layers, - uint16_t *n_symbs, + uint16_t n_symbs, uint16_t **tx_layers); uint8_t nr_generate_pdsch(NR_gNB_DLSCH_t dlsch,