На 8 битном фильтрацию сдвигами вместо умножения делал, работает, входные условия: переменные ИНТ, отсчеты АЦП 10 бит с правым выравниванием, результат в старшем байте. 2 строки кода
Y(n+1) = Y(n) - Y(n) >> 6;
Y(n+1) = Y(n+1) + X(n);
Модель в маткаде сделал, там зависимость АЧХ от частоты оцифровки и порядка сдвига видна. Спад экспоненциальный, да и фильтр так называют.