Commit 8e00f8df authored by Khalid Ahmed's avatar Khalid Ahmed Committed by Thomas Schlichter

Fixing a bug in number of UL DMRS symbol computation

parent 2dd941a2
...@@ -123,7 +123,9 @@ void nr_ue_ulsch_procedures(PHY_VARS_NR_UE *UE, ...@@ -123,7 +123,9 @@ void nr_ue_ulsch_procedures(PHY_VARS_NR_UE *UE,
ulsch_ue = UE->ulsch[thread_id][gNB_id][cwd_index]; ulsch_ue = UE->ulsch[thread_id][gNB_id][cwd_index];
harq_process_ul_ue = ulsch_ue->harq_processes[harq_pid]; harq_process_ul_ue = ulsch_ue->harq_processes[harq_pid];
for (i = 0; i < NR_SYMBOLS_PER_SLOT; i++) start_symbol = harq_process_ul_ue->start_symbol;
for (i = start_symbol; i < start_symbol + harq_process_ul_ue->number_of_symbols; i++)
number_dmrs_symbols += is_dmrs_symbol(i, number_dmrs_symbols += is_dmrs_symbol(i,
0, 0,
0, 0,
...@@ -219,8 +221,6 @@ void nr_ue_ulsch_procedures(PHY_VARS_NR_UE *UE, ...@@ -219,8 +221,6 @@ void nr_ue_ulsch_procedures(PHY_VARS_NR_UE *UE,
} }
start_symbol = 14 - harq_process_ul_ue->number_of_symbols;
/////////////////////////DMRS Modulation///////////////////////// /////////////////////////DMRS Modulation/////////////////////////
/////////// ///////////
pusch_dmrs = UE->nr_gold_pusch_dmrs[slot]; pusch_dmrs = UE->nr_gold_pusch_dmrs[slot];
......
...@@ -229,18 +229,22 @@ void nr_ulsch_procedures(PHY_VARS_gNB *gNB, int frame_rx, int slot_rx, int UE_id ...@@ -229,18 +229,22 @@ void nr_ulsch_procedures(PHY_VARS_gNB *gNB, int frame_rx, int slot_rx, int UE_id
uint8_t mapping_type; uint8_t mapping_type;
uint32_t G; uint32_t G;
int Nid_cell = 0; // [hna] shouldn't be a local variable (should be signaled) int Nid_cell = 0; // [hna] shouldn't be a local variable (should be signaled)
uint16_t start_symbol, number_symbols;
mapping_type = gNB->pusch_config.pusch_TimeDomainResourceAllocation[0]->mappingType; mapping_type = gNB->pusch_config.pusch_TimeDomainResourceAllocation[0]->mappingType;
gNB->ulsch[UE_id][0]->harq_processes[harq_pid]->nb_re_dmrs = 0; gNB->ulsch[UE_id][0]->harq_processes[harq_pid]->nb_re_dmrs = 0;
for (l = 0; l < NR_SYMBOLS_PER_SLOT; l++) start_symbol = nfapi_ulsch_pdu_rel15->start_symbol;
number_symbols = nfapi_ulsch_pdu_rel15->number_symbols;
for (l = start_symbol; l < start_symbol + number_symbols; l++)
number_dmrs_symbols += is_dmrs_symbol(l, number_dmrs_symbols += is_dmrs_symbol(l,
0, 0,
0, 0,
0, 0,
0, 0,
0, 0,
nfapi_ulsch_pdu_rel15->number_symbols, number_symbols,
&gNB->dmrs_UplinkConfig, &gNB->dmrs_UplinkConfig,
mapping_type, mapping_type,
frame_parms->ofdm_symbol_size); frame_parms->ofdm_symbol_size);
...@@ -248,7 +252,7 @@ void nr_ulsch_procedures(PHY_VARS_gNB *gNB, int frame_rx, int slot_rx, int UE_id ...@@ -248,7 +252,7 @@ void nr_ulsch_procedures(PHY_VARS_gNB *gNB, int frame_rx, int slot_rx, int UE_id
gNB->ulsch[UE_id][0]->harq_processes[harq_pid]->nb_re_dmrs = ((gNB->dmrs_UplinkConfig.pusch_dmrs_type == pusch_dmrs_type1)?6:4)*number_dmrs_symbols; gNB->ulsch[UE_id][0]->harq_processes[harq_pid]->nb_re_dmrs = ((gNB->dmrs_UplinkConfig.pusch_dmrs_type == pusch_dmrs_type1)?6:4)*number_dmrs_symbols;
G = nr_get_G(nfapi_ulsch_pdu_rel15->number_rbs, G = nr_get_G(nfapi_ulsch_pdu_rel15->number_rbs,
nfapi_ulsch_pdu_rel15->number_symbols, number_symbols,
gNB->ulsch[UE_id][0]->harq_processes[harq_pid]->nb_re_dmrs, gNB->ulsch[UE_id][0]->harq_processes[harq_pid]->nb_re_dmrs,
nfapi_ulsch_pdu_rel15->length_dmrs, nfapi_ulsch_pdu_rel15->length_dmrs,
nfapi_ulsch_pdu_rel15->Qm, nfapi_ulsch_pdu_rel15->Qm,
...@@ -274,7 +278,7 @@ void nr_ulsch_procedures(PHY_VARS_gNB *gNB, int frame_rx, int slot_rx, int UE_id ...@@ -274,7 +278,7 @@ void nr_ulsch_procedures(PHY_VARS_gNB *gNB, int frame_rx, int slot_rx, int UE_id
gNB->pusch_vars[UE_id]->llr, gNB->pusch_vars[UE_id]->llr,
frame_parms, frame_parms,
frame_rx, frame_rx,
nfapi_ulsch_pdu_rel15->number_symbols, number_symbols,
slot_rx, slot_rx,
harq_pid, harq_pid,
0); 0);
......
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