Может не в тему скажу, задача уменьшения джиттера для
восстановления тактовой частоты после длинной проводной линии или
радиоканала. Тоже ПИ, только если его экспоненциальным фильтром
реализовать, все просто выходит. Уравнение типа y(n+1) = y(n) -
y(n) * (1 - k) + x * k. Если k является двойкой в отрицательной
степени с целым показателем, все даже 8 разрядным процем делается
быстро на сдвигах в интах. Типа отсчеты АЦП прижимаем влево,
умножения сдвигом вправо. На С 2 строки кода. Уравнение для пояснения фильтра привел, для вычислений так будет:
y(n+1) = y(n) - y(n) * k
y(n+1) = y(n+1) + x * k.