В общем, как я понял, заработало
Чтоб победить плавающие последние биты, можно вычислять среднее арифметическое нескольких семплов подряд. Сложить, например, значения 4 семплов, а потом сдвинуть эту сумму вправо на 2 бита (т.е. поделить на 4) - получится среднее значение.
Или 8 семплов сложить и сдвинуть на 3 бита вправо... и т.п.