Fixing a bug in number of UL DMRS symbol computation
This commit is contained in:
committed by
Thomas Schlichter
parent
2dd941a22d
commit
8e00f8df08
@@ -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,
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
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
|
|||||||
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
|
|||||||
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
|
|||||||
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);
|
||||||
|
|||||||
Reference in New Issue
Block a user