12345678910111213141516171819202122 |
- 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
|