NR_UE: slightly improve timing synchronization by minimizing the adjustment of the filtered peak position value

This commit is contained in:
Thomas Schlichter
2022-11-03 09:42:47 +01:00
parent a7d9f94ef3
commit 39fe985681
+2 -2
View File
@@ -798,10 +798,10 @@ void syncInFrame(PHY_VARS_NR_UE *UE, openair0_timestamp *timestamp) {
int computeSamplesShift(PHY_VARS_NR_UE *UE) {
int samples_shift = -(UE->rx_offset>>1);
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 = 0; // reset IIR filter when sample shift is applied
if (samples_shift != 0) {
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->max_pos_fil += samples_shift; // reset IIR filter when sample shift is applied
}
return samples_shift;
}