NR_UE: increase the accuracy of the filtered peak position value
This commit is contained in:
+1
-1
@@ -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,
|
|||||||
|
|
||||||
// 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;
|
||||||
|
|||||||
Reference in New Issue
Block a user