http://kazus.ru/forums/showthread.php?p=1025804# typedef struct { float Result; //результирующее значение float Value; //исходное значение float Previous; //результат вычисления в предыдущей интерации float K; //коэффициент стабилизации, по-умолчанию = 0.1 } KalmanFloatTypeDefStruct; void KalmanFloatCalc (KalmanFloatTypeDefStruct * KalmanFloatStruct) { KalmanFloatStruct->Result = KalmanFloatStruct->K * KalmanFloatStruct->Value; KalmanFloatStruct->Value = 1.0 - KalmanFloatStruct->K; KalmanFloatStruct->Previous *= KalmanFloatStruct->Value; KalmanFloatStruct->Result += KalmanFloatStruct->Previous; KalmanFloatStruct->Previous = KalmanFloatStruct->Result; } -=-=-=-=- Взято отсюда: http://avrproject.ru/publ/poleznaja_informacija/filtr_kalmana_bascom_avr/4-1-0-164