Commit c5e68e14 authored by Thomas Schlichter's avatar Thomas Schlichter

NR_UE: increase the accuracy of the filtered peak position value

parent 39fe9856
...@@ -801,7 +801,7 @@ int computeSamplesShift(PHY_VARS_NR_UE *UE) { ...@@ -801,7 +801,7 @@ int computeSamplesShift(PHY_VARS_NR_UE *UE) {
if (samples_shift != 0) { if (samples_shift != 0) {
LOG_I(NR_PHY,"Adjusting frame in time by %i samples\n", samples_shift); LOG_I(NR_PHY,"Adjusting frame in time by %i samples\n", samples_shift);
UE->rx_offset = 0; // reset so that it is not applied falsely in case of SSB being only in every second frame UE->rx_offset = 0; // reset so that it is not applied falsely in case of SSB being only in every second frame
UE->max_pos_fil += samples_shift; // reset IIR filter when sample shift is applied UE->max_pos_fil += samples_shift << 15; // reset IIR filter when sample shift is applied
} }
return samples_shift; return samples_shift;
} }
......
...@@ -75,14 +75,14 @@ void nr_adjust_synch_ue(NR_DL_FRAME_PARMS *frame_parms, ...@@ -75,14 +75,14 @@ void nr_adjust_synch_ue(NR_DL_FRAME_PARMS *frame_parms,
// filter position to reduce jitter // filter position to reduce jitter
if (clear == 1) if (clear == 1)
ue->max_pos_fil = max_pos; ue->max_pos_fil = max_pos << 15;
else else
ue->max_pos_fil = ((ue->max_pos_fil * coef) + (max_pos * ncoef)) >> 15; ue->max_pos_fil = ((ue->max_pos_fil * coef) >> 15) + (max_pos * ncoef);
// do not filter to have proactive timing adjustment // do not filter to have proactive timing adjustment
//ue->max_pos_fil = max_pos; //ue->max_pos_fil = max_pos << 15;
int diff = ue->max_pos_fil - sync_pos; int diff = (ue->max_pos_fil >> 15) - sync_pos;
if (frame_parms->freq_range==nr_FR2) if (frame_parms->freq_range==nr_FR2)
sync_offset = 2; sync_offset = 2;
......
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