добавление в bench_time измерения периода
улучшение фильтров (эксп и авераге)
This commit is contained in:
@@ -264,13 +264,32 @@ typedef struct _FilterLUT_t{
|
||||
int FilterMedian_Init(FilterMedian_t* filter, uint8_t size);
|
||||
float FilterMedian_Process(FilterMedian_t* filter, float input);
|
||||
int FilterExp_Init(FilterExp_t* filter, float alpha);
|
||||
float FilterExp_Process(FilterExp_t* filter, float input);
|
||||
float FilterExp_Process(FilterExp_t* filter, float input);
|
||||
int FilterAverage_Init(FilterAverage_t* filter, uint32_t size, FilterMode_t mode);
|
||||
float FilterAverage_Process(FilterAverage_t* filter, float input);
|
||||
int FilterPoly_Init(FilterPoly_t* filter, float* coeffs, uint8_t order);
|
||||
float FilterPoly_Process(FilterPoly_t* filter, float input);
|
||||
int FilterLUT_Init(FilterLUT_t* filter, float* input_arr, float* output_arr, uint16_t size, uint8_t interpolation);
|
||||
float FilterLUT_Process(FilterLUT_t* filter, float input);
|
||||
|
||||
|
||||
// Расчет всякого
|
||||
#define FilterExp_CalcAlpha(tau, TsUs) (((float)TsUs/1000000) / (((float)TsUs/1000000) + (tau)))
|
||||
|
||||
/* Расчет alpha для времени нарастания до 63% */
|
||||
#define FilterExp_CalcAlpha63(rise_time, TsUs) FilterExp_CalcAlpha((rise_time) / 1.0f, TsUs)
|
||||
|
||||
/* Расчет alpha для времени нарастания до 86% */
|
||||
#define FilterExp_CalcAlpha86(rise_time, TsUs) FilterExp_CalcAlpha((rise_time) / 2.0f, TsUs)
|
||||
|
||||
/* Расчет alpha для времени нарастания до 95% */
|
||||
#define FilterExp_CalcAlpha95(rise_time, TsUs) FilterExp_CalcAlpha((rise_time) / 3.0f, TsUs)
|
||||
|
||||
/* Расчет alpha для времени нарастания до 98% */
|
||||
#define FilterExp_CalcAlpha98(rise_time, TsUs) FilterExp_CalcAlpha((rise_time) / 4.0f, TsUs)
|
||||
|
||||
/* Расчет alpha для времени нарастания до 99% */
|
||||
#define FilterExp_CalcAlpha99(rise_time, TsUs) FilterExp_CalcAlpha((rise_time) / 5.0f, TsUs)
|
||||
// ==================== INT32_T ВЕРСИИ ====================
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user