Infuse-IoT SDK API 0.0.1
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
filter.h File Reference

Data filtering library. More...

#include <math.h>
#include <zephyr/kernel.h>
#include <zephyr/sys/__assert.h>

Go to the source code of this file.

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.
 

Detailed Description

Data filtering library.

Author
Jordan Yates jorda.nosp@m.n@em.nosp@m.beint.nosp@m..com

SPDX-License-Identifier: FSL-1.1-ALv2