|
Infuse-IoT SDK API 0.0.1
A Scalable Open Source RTOS
|
filter API More...
Data Structures | |
| struct | iir_filter_single_pole_s16 |
| Signed 16-bit IIR single-pole filter with fraction saving. More... | |
| struct | iir_filter_single_pole_s32 |
| Signed 32-bit IIR single-pole filter with fraction saving. More... | |
| struct | iir_filter_single_pole_f32 |
| Floating point IIR single-pole filter. More... | |
Functions | |
| static uint32_t | iir_filter_alpha_init (float alpha) |
| Convert a filter alpha to a form compatible with IIR filters. | |
| static void | iir_filter_single_pole_s16_init (struct iir_filter_single_pole_s16 *filter, uint32_t alpha, int16_t initial) |
| Initialise the integer IIR single-pole filter. | |
| static int16_t | iir_filter_single_pole_s16_step (struct iir_filter_single_pole_s16 *filter, int16_t x) |
| Run the filter for one step. | |
| static void | iir_filter_single_pole_s32_init (struct iir_filter_single_pole_s32 *filter, uint32_t alpha, int32_t initial) |
| Initialise the integer IIR single-pole filter. | |
| static int32_t | iir_filter_single_pole_s32_step (struct iir_filter_single_pole_s32 *filter, int32_t x) |
| Run the filter for one step. | |
| static void | iir_filter_single_pole_f32_init (struct iir_filter_single_pole_f32 *filter, float alpha, float initial) |
| Initialise the float IIR single-pole filter. | |
| static float | iir_filter_single_pole_f32_step (struct iir_filter_single_pole_f32 *filter, float x) |
| Run the filter for one step. | |
filter API
|
inlinestatic |
#include <infuse/math/filter.h>
Convert a filter alpha to a form compatible with IIR filters.
| alpha | Filter alpha value, between 0.0f and 1.0f exclusive. |
|
inlinestatic |
#include <infuse/math/filter.h>
Initialise the float IIR single-pole filter.
| filter | Filter state |
| alpha | Filter time constant |
| initial | Initial value for filter output |
|
inlinestatic |
#include <infuse/math/filter.h>
Run the filter for one step.
| filter | Filter state |
| x | Filter input value |
|
inlinestatic |
#include <infuse/math/filter.h>
Initialise the integer IIR single-pole filter.
| filter | Filter state |
| alpha | Filter time constant (α=1−e^(−Δt/RC)), 0-1 scaled by (1 << 32) |
| initial | Initial value for filter output |
|
inlinestatic |
#include <infuse/math/filter.h>
Run the filter for one step.
| filter | Filter state |
| x | Filter input value |
|
inlinestatic |
#include <infuse/math/filter.h>
Initialise the integer IIR single-pole filter.
| filter | Filter state |
| alpha | Filter time constant (α=1−e^(−Δt/RC)), 0-1 scaled by (1 << 32) |
| initial | Initial value for filter output |
|
inlinestatic |
#include <infuse/math/filter.h>
Run the filter for one step.
| filter | Filter state |
| x | Filter input value |