0.3.2
Добавлена обратная функция рассчета времени нарастания для экспоненциального фильтра
This commit is contained in:
@@ -344,6 +344,54 @@ float FilterRMS_Process(FilterRMS_t* filter, float input);
|
||||
* @return Коэфициент альфа
|
||||
*/
|
||||
#define FilterExp_CalcAlpha99(rise_time, TsUs) FilterExp_CalcAlpha((rise_time) / 5.0f, TsUs)
|
||||
|
||||
/**
|
||||
* @brief Расчет постоянной времени из коэффициента альфа
|
||||
* @param alpha Коэфициент альфа фильтра
|
||||
* @param TsUs Период вызова фильтра в микросекундах
|
||||
* @return Постоянная времени tau (время нарастания до 63% от уровня сигнала)
|
||||
*/
|
||||
#define FilterExp_CalcTau(alpha, TsUs) ((((float)TsUs/1000000) * (1.0f - (alpha))) / (alpha))
|
||||
|
||||
/**
|
||||
* @brief Расчет времени нарастания до 63% из коэффициента альфа
|
||||
* @param alpha Коэфициент альфа фильтра
|
||||
* @param TsUs Период вызова фильтра в микросекундах
|
||||
* @return Время нарастания до 63%
|
||||
*/
|
||||
#define FilterExp_CalcRiseTime63(alpha, TsUs) (FilterExp_CalcTau(alpha, TsUs) * 1.0f)
|
||||
|
||||
/**
|
||||
* @brief Расчет времени нарастания до 86% из коэффициента альфа
|
||||
* @param alpha Коэфициент альфа фильтра
|
||||
* @param TsUs Период вызова фильтра в микросекундах
|
||||
* @return Время нарастания до 86%
|
||||
*/
|
||||
#define FilterExp_CalcRiseTime86(alpha, TsUs) (FilterExp_CalcTau(alpha, TsUs) * 2.0f)
|
||||
|
||||
/**
|
||||
* @brief Расчет времени нарастания до 95% из коэффициента альфа
|
||||
* @param alpha Коэфициент альфа фильтра
|
||||
* @param TsUs Период вызова фильтра в микросекундах
|
||||
* @return Время нарастания до 95%
|
||||
*/
|
||||
#define FilterExp_CalcRiseTime95(alpha, TsUs) (FilterExp_CalcTau(alpha, TsUs) * 3.0f)
|
||||
|
||||
/**
|
||||
* @brief Расчет времени нарастания до 98% из коэффициента альфа
|
||||
* @param alpha Коэфициент альфа фильтра
|
||||
* @param TsUs Период вызова фильтра в микросекундах
|
||||
* @return Время нарастания до 98%
|
||||
*/
|
||||
#define FilterExp_CalcRiseTime98(alpha, TsUs) (FilterExp_CalcTau(alpha, TsUs) * 4.0f)
|
||||
|
||||
/**
|
||||
* @brief Расчет времени нарастания до 99% из коэффициента альфа
|
||||
* @param alpha Коэфициент альфа фильтра
|
||||
* @param TsUs Период вызова фильтра в микросекундах
|
||||
* @return Время нарастания до 99%
|
||||
*/
|
||||
#define FilterExp_CalcRiseTime99(alpha, TsUs) (FilterExp_CalcTau(alpha, TsUs) * 5.0f)
|
||||
// ==================== INT32_T ВЕРСИИ ====================
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user