Цитата(Lepeksiy @ Apr 26 2007, 18:21)

VladimirYU
А как это выражается формулами?
Все очень просто, привожу не код, а алгоритм:
Исходно имеем
Summator - переменная двойной длины,
Current - результат текущих измерений (данные с прибора, АЦП ...)
Previos - предыдущий фильтрованный результат
Далее
error = Current - Previos
Summator = Summator +error
Previos = Summator>>N
N определяет степень фильтрации ( количество результатов по которым идет усреднение).
Ньюансы кода, как понимаете, зависят от формы предсавления результатов (разрядность, тип и т.д.)
А математика за этим следующая
1/(TS+1) представить можно как интегратор 1/TS охваченный единичной отрицательной
обратной связью.
W(S) = Wпр(S)/(Wпр(S)*Wос(S) + 1)