From b7733bae40aa361b285832f8ea024dd7b39ff07f Mon Sep 17 00:00:00 2001 From: Ahmed Hussein Date: Wed, 14 Aug 2019 16:02:29 +0200 Subject: [PATCH] Minor fixes - removing "Nsymb_pusch" and "Nsc_pusch" from "NR_UE_ULSCH_t" - using "number_of_symbols" from "NR_UL_UE_HARQ_t" instead - removing "generate_ue_ulsch_params" --- .../NR_UE_TRANSPORT/nr_transport_proto_ue.h | 12 --- .../PHY/NR_UE_TRANSPORT/nr_transport_ue.h | 4 - openair1/PHY/NR_UE_TRANSPORT/nr_ulsch_ue.c | 79 ++----------------- openair1/SCHED_NR_UE/phy_procedures_nr_ue.c | 4 +- 4 files changed, 7 insertions(+), 92 deletions(-) diff --git a/openair1/PHY/NR_UE_TRANSPORT/nr_transport_proto_ue.h b/openair1/PHY/NR_UE_TRANSPORT/nr_transport_proto_ue.h index 155e08d477..d69b299ee1 100644 --- a/openair1/PHY/NR_UE_TRANSPORT/nr_transport_proto_ue.h +++ b/openair1/PHY/NR_UE_TRANSPORT/nr_transport_proto_ue.h @@ -1055,18 +1055,6 @@ int nr_ulsch_encoding(NR_UE_ULSCH_t *ulsch, NR_DL_FRAME_PARMS* frame_parms, uint8_t harq_pid); -/*! \brief Fill up NR_UE_ULSCH_t and NR_UL_UE_HARQ_t structs - @param[in] UE, Pointer to PHY_VARS_NR_UE struct - @param[in] thread_id, thread id - @param[in] gNB_id, gNB id - @param[in] harq_pid, harq id -*/ - -int generate_ue_ulsch_params(PHY_VARS_NR_UE *UE, - uint8_t thread_id, - int gNB_id, - unsigned char harq_pid); - /*! \brief Perform PUSCH scrambling. TS 38.211 V15.4.0 subclause 6.3.1.1 @param[in] in, Pointer to input bits @param[in] size, of input bits diff --git a/openair1/PHY/NR_UE_TRANSPORT/nr_transport_ue.h b/openair1/PHY/NR_UE_TRANSPORT/nr_transport_ue.h index 86b551435e..376c8b90db 100644 --- a/openair1/PHY/NR_UE_TRANSPORT/nr_transport_ue.h +++ b/openair1/PHY/NR_UE_TRANSPORT/nr_transport_ue.h @@ -159,10 +159,6 @@ typedef struct { } NR_UL_UE_HARQ_t; typedef struct { - /// Current Number of Symbols - uint8_t Nsymb_pusch; - /// Nsc_pusch, number of allocated subcarriers for ULSCH - uint16_t Nsc_pusch; /// number of DMRS resource elements uint8_t nb_re_dmrs; /// DMRS length diff --git a/openair1/PHY/NR_UE_TRANSPORT/nr_ulsch_ue.c b/openair1/PHY/NR_UE_TRANSPORT/nr_ulsch_ue.c index 25f415601e..5dc4fbe0c5 100644 --- a/openair1/PHY/NR_UE_TRANSPORT/nr_ulsch_ue.c +++ b/openair1/PHY/NR_UE_TRANSPORT/nr_ulsch_ue.c @@ -46,73 +46,6 @@ //#define DEBUG_PUSCH_MAPPING -int generate_ue_ulsch_params(PHY_VARS_NR_UE *UE, - uint8_t thread_id, - int gNB_id, - unsigned char harq_pid){ - - int N_PRB_oh, N_RE_prime, cwd_idx, length_dmrs, Nid_cell; - int nb_rb, Nsymb_pusch, first_rb, nb_codewords,mcs,rvidx; - uint16_t n_rnti; - - NR_UE_ULSCH_t *ulsch_ue; - NR_UL_UE_HARQ_t *harq_process_ul_ue; - - LOG_W(PHY,"This function should not be used. Use FAPI interfaces instead\n"); - - //--------------------------Temporary configuration-----------------------------// - length_dmrs = 1; - n_rnti = 0x1234; - Nid_cell = 0; - nb_rb = 50; - first_rb = 30; - Nsymb_pusch = 12; - nb_codewords = 1; - mcs = 9; - rvidx = 0; - //------------------------------------------------------------------------------// - - for (cwd_idx = 0; cwd_idx < nb_codewords; cwd_idx++) { - - ulsch_ue = UE->ulsch[thread_id][gNB_id][cwd_idx]; - harq_process_ul_ue = ulsch_ue->harq_processes[harq_pid]; - - ulsch_ue->length_dmrs = length_dmrs; - ulsch_ue->rnti = n_rnti; - ulsch_ue->Nid_cell = Nid_cell; - ulsch_ue->Nsc_pusch = nb_rb*NR_NB_SC_PER_RB; - ulsch_ue->Nsymb_pusch = Nsymb_pusch; - ulsch_ue->nb_re_dmrs = UE->dmrs_UplinkConfig.pusch_maxLength*(UE->dmrs_UplinkConfig.pusch_dmrs_type == pusch_dmrs_type1)?6:4; - - - N_PRB_oh = 0; // higher layer (RRC) parameter xOverhead in PUSCH-ServingCellConfig - N_RE_prime = NR_NB_SC_PER_RB*Nsymb_pusch - ulsch_ue->nb_re_dmrs - N_PRB_oh; - - if (harq_process_ul_ue) { - - harq_process_ul_ue->mcs = mcs; - harq_process_ul_ue->Nl = nb_codewords; - harq_process_ul_ue->nb_rb = nb_rb; - harq_process_ul_ue->first_rb = first_rb; - harq_process_ul_ue->number_of_symbols = Nsymb_pusch; - harq_process_ul_ue->num_of_mod_symbols = N_RE_prime*nb_rb*nb_codewords; - harq_process_ul_ue->rvidx = rvidx; - harq_process_ul_ue->TBS = nr_compute_tbs(harq_process_ul_ue->mcs, - nb_rb, - Nsymb_pusch, - ulsch_ue->nb_re_dmrs, - length_dmrs, - harq_process_ul_ue->Nl); - - } - - } - - return 0; -} - - - void nr_pusch_codeword_scrambling(uint8_t *in, uint16_t size, uint32_t Nid, @@ -196,15 +129,13 @@ uint8_t nr_ue_ulsch_procedures(PHY_VARS_NR_UE *UE, ulsch_ue->length_dmrs = length_dmrs; ulsch_ue->rnti = n_rnti; ulsch_ue->Nid_cell = Nid_cell; - ulsch_ue->Nsc_pusch = harq_process_ul_ue->nb_rb*NR_NB_SC_PER_RB; - ulsch_ue->Nsymb_pusch = harq_process_ul_ue->number_of_symbols; ulsch_ue->nb_re_dmrs = UE->dmrs_UplinkConfig.pusch_maxLength*(UE->dmrs_UplinkConfig.pusch_dmrs_type == pusch_dmrs_type1)?6:4; N_RE_prime = NR_NB_SC_PER_RB*harq_process_ul_ue->number_of_symbols - ulsch_ue->nb_re_dmrs - N_PRB_oh; harq_process_ul_ue->num_of_mod_symbols = N_RE_prime*harq_process_ul_ue->nb_rb*num_of_codewords; - TBS = nr_compute_tbs( harq_process_ul_ue->mcs, harq_process_ul_ue->nb_rb, ulsch_ue->Nsymb_pusch, ulsch_ue->nb_re_dmrs, ulsch_ue->length_dmrs, harq_process_ul_ue->Nl); + TBS = nr_compute_tbs( harq_process_ul_ue->mcs, harq_process_ul_ue->nb_rb, harq_process_ul_ue->number_of_symbols, ulsch_ue->nb_re_dmrs, ulsch_ue->length_dmrs, harq_process_ul_ue->Nl); harq_process_ul_ue->TBS = TBS; @@ -223,7 +154,7 @@ uint8_t nr_ue_ulsch_procedures(PHY_VARS_NR_UE *UE, mod_order = nr_get_Qm(harq_process_ul_ue->mcs, 1); available_bits = nr_get_G(harq_process_ul_ue->nb_rb, - ulsch_ue->Nsymb_pusch, + harq_process_ul_ue->number_of_symbols, ulsch_ue->nb_re_dmrs, ulsch_ue->length_dmrs, mod_order, @@ -260,7 +191,7 @@ uint8_t nr_ue_ulsch_procedures(PHY_VARS_NR_UE *UE, } - start_symbol = 14 - ulsch_ue->Nsymb_pusch; + start_symbol = 14 - harq_process_ul_ue->number_of_symbols; /////////////////////////DMRS Modulation///////////////////////// /////////// @@ -303,7 +234,7 @@ uint8_t nr_ue_ulsch_procedures(PHY_VARS_NR_UE *UE, uint32_t nb_re_pusch, nb_re_dmrs_per_rb; uint32_t y_offset = 0; - for (l = start_symbol; l < start_symbol + ulsch_ue->Nsymb_pusch; l++) { + for (l = start_symbol; l < start_symbol + harq_process_ul_ue->number_of_symbols; l++) { if(l == dmrs_symbol) nb_re_dmrs_per_rb = ulsch_ue->nb_re_dmrs; // [hna] ulsch_ue->nb_re_dmrs = 6 in this configuration @@ -347,7 +278,7 @@ uint8_t nr_ue_ulsch_procedures(PHY_VARS_NR_UE *UE, uint8_t k_prime=0; uint16_t m=0, n=0, dmrs_idx=0, k=0; - for (l=start_symbol; lNsymb_pusch; l++) { + for (l=start_symbol; lnumber_of_symbols; l++) { k = start_sc; diff --git a/openair1/SCHED_NR_UE/phy_procedures_nr_ue.c b/openair1/SCHED_NR_UE/phy_procedures_nr_ue.c index cf5183c075..fdf46681cb 100644 --- a/openair1/SCHED_NR_UE/phy_procedures_nr_ue.c +++ b/openair1/SCHED_NR_UE/phy_procedures_nr_ue.c @@ -2495,12 +2495,12 @@ void phy_procedures_nrUE_TX(PHY_VARS_NR_UE *ue, ulsch_ue = ue->ulsch[thread_id][gNB_id][0]; // cwd_index = 0 harq_process_ul_ue = ulsch_ue->harq_processes[harq_pid]; - TBS = nr_compute_tbs( harq_process_ul_ue->mcs, harq_process_ul_ue->nb_rb, ulsch_ue->Nsymb_pusch, ulsch_ue->nb_re_dmrs, ulsch_ue->length_dmrs, harq_process_ul_ue->Nl); + TBS = nr_compute_tbs( harq_process_ul_ue->mcs, harq_process_ul_ue->nb_rb, harq_process_ul_ue->number_of_symbols, ulsch_ue->nb_re_dmrs, ulsch_ue->length_dmrs, harq_process_ul_ue->Nl); LOG_I(PHY, "[phy_procedures_nrUE_TX] mcs = %d, nb_rb = %d \n , Nsymb_pusch = %d, nb_re_dmrs = %d, length_dmrs = %d, precod_nbr_layers = %d, TBS = %d\n", harq_process_ul_ue->mcs, harq_process_ul_ue->nb_rb, - ulsch_ue->Nsymb_pusch, + harq_process_ul_ue->number_of_symbols, ulsch_ue->nb_re_dmrs, ulsch_ue->length_dmrs, harq_process_ul_ue->Nl,