1234567891011121314151617181920212223242526272829 |
- #ifndef __FILTER_H
- #define __FILTER_H
- #include "stm32f1xx_hal.h"
- #include "math.h"
- extern uint16_t MovingAverageFilter(uint16_t InputData, uint16_t* Array, uint16_t Length);
- extern uint16_t GetAverageData(uint16_t* Input, uint16_t Length);
- extern uint16_t Function_Linear_3Stage(uint16_t Th1, int16_t K1, uint16_t Th2, int16_t K2, uint16_t InputData);
- extern uint16_t Coefficient_GainCal(uint16_t Min, uint16_t Max, uint16_t Th, uint16_t InputData);
- extern uint16_t TriangleWaveGenerate(uint32_t Time_Zero, uint16_t Time1, uint16_t Time2, uint16_t PeakValue);
- extern uint16_t SquareWaveGenerate(uint32_t Time_Zero, uint16_t Time1, uint16_t Time2, uint16_t PeakValue);
- extern uint16_t RampWaveGenerate(uint32_t Time_Zero, uint16_t Time1, uint16_t PeakValue);
- extern uint16_t GetMaxData(uint16_t* Array, uint16_t Length);
- extern uint16_t GetMinData(uint16_t* Array, uint16_t Length);
- extern uint32_t GetStandardDeviation(uint16_t* Input, uint16_t Length);
- extern TrueOrFalse_Flag_Struct_t CheckIsHasDouble(uint8_t* Array, uint16_t Length);
- extern uint32_t StepCalc(int16_t V_max, \
- int16_t V_Tc, \
- int16_t V_AccDecT);
- extern int16_t accDecProcess(int16_t V_Set, \
- uint32_t V_AccStep, \
- uint32_t V_DecStep, \
- int32_t* V_SetMiddle);
- extern uint16_t Standard_deviation_aver(uint16_t *data,uint8_t len, uint16_t *pAver);
- extern uint8_t CheckArrayIs0(uint8_t* Data, uint16_t Len);
- extern void ArrayFillZero(uint16_t* Array, uint16_t Length);
- extern uint16_t MovingMaxFilter(uint16_t InputData, uint16_t* Array, uint16_t Length);
- #endif
|