I think with the running average will never reach the final ADC value because of rounding errors.
E.g. for 10 bit ADC and say a RunAverage value of 1008, on next iteration 0.9375 should be added, but since PBP does only integer numbers, the RunAverage will sit at 1008 for ever. This would be the final value of the filter.
I suppose this kind of running average routine is for floating point maths only.
Ioannis
Bookmarks