Commit da9dde5b authored by cig's avatar cig Committed by Thomas Schlichter

Replaced redundant code for BW scaling computation

- using the get_bw_scaling function
- made it generic for DL/UL computations
parent 427d2d39
...@@ -134,10 +134,10 @@ UE_MODE_t get_nrUE_mode(uint8_t Mod_id,uint8_t CC_id,uint8_t gNB_id){ ...@@ -134,10 +134,10 @@ UE_MODE_t get_nrUE_mode(uint8_t Mod_id,uint8_t CC_id,uint8_t gNB_id){
return(PHY_vars_UE_g[Mod_id][CC_id]->UE_mode[gNB_id]); return(PHY_vars_UE_g[Mod_id][CC_id]->UE_mode[gNB_id]);
} }
uint16_t get_bw_scaling(uint16_t bwp_ul_NB_RB){ // scale the 16 factor in N_TA calculation in 38.213 section 4.2 according to the used FFT size
uint16_t get_bw_scaling(uint16_t nb_rb){
uint16_t bw_scaling; uint16_t bw_scaling;
// scale the 16 factor in N_TA calculation in 38.213 section 4.2 according to the used FFT size switch (nb_rb) {
switch (bwp_ul_NB_RB) {
case 32: bw_scaling = 4; break; case 32: bw_scaling = 4; break;
case 66: bw_scaling = 8; break; case 66: bw_scaling = 8; break;
case 106: bw_scaling = 16; break; case 106: bw_scaling = 16; break;
...@@ -925,7 +925,7 @@ void nr_ue_dlsch_procedures(PHY_VARS_NR_UE *ue, ...@@ -925,7 +925,7 @@ void nr_ue_dlsch_procedures(PHY_VARS_NR_UE *ue,
uint16_t ofdm_symbol_size = ue->frame_parms.ofdm_symbol_size; uint16_t ofdm_symbol_size = ue->frame_parms.ofdm_symbol_size;
uint16_t nb_prefix_samples = ue->frame_parms.nb_prefix_samples; uint16_t nb_prefix_samples = ue->frame_parms.nb_prefix_samples;
uint32_t t_subframe = 1; // subframe duration of 1 msec uint32_t t_subframe = 1; // subframe duration of 1 msec
uint16_t bw_scaling, start_symbol; uint16_t start_symbol;
float tc_factor; float tc_factor;
is_cw0_active = dlsch0->harq_processes[harq_pid]->status; is_cw0_active = dlsch0->harq_processes[harq_pid]->status;
...@@ -1236,16 +1236,7 @@ void nr_ue_dlsch_procedures(PHY_VARS_NR_UE *ue, ...@@ -1236,16 +1236,7 @@ void nr_ue_dlsch_procedures(PHY_VARS_NR_UE *ue,
if (ue->mac_enabled == 1) { if (ue->mac_enabled == 1) {
// scale the 16 factor in N_TA calculation in 38.213 section 4.2 according to the used FFT size uint16_t bw_scaling = get_bw_scaling(ue->frame_parms.N_RB_DL);
switch (ue->frame_parms.N_RB_DL) {
case 32: bw_scaling = 4; break;
case 66: bw_scaling = 8; break;
case 106: bw_scaling = 16; break;
case 217: bw_scaling = 32; break;
case 245: bw_scaling = 32; break;
case 273: bw_scaling = 32; break;
default: abort();
}
/* Time Alignment procedure /* Time Alignment procedure
// - UE processing capability 1 // - UE processing capability 1
......
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