IZAR Flight Controller 1.0.0
IZAR Flight Controller running with an ESP32.
median.h
Go to the documentation of this file.
1#ifndef MEDIAN_TYPED_H
2#define MEDIAN_TYPED_H
3
4#include <esp_err.h>
5#include <stdint.h>
6
7// Integer-based median filter using 32-bit samples
8typedef struct {
9 int window_size; // must be odd
10 int idx; // circular buffer index
11 int count; // num of elements in the array
12 int32_t *buffer; // raw int32_t samples
13 int *sorted_idx; // sorted indices into buffer
15
16// Float-based median filter
17typedef struct {
18 int window_size; // must be odd
19 int idx; // circular buffer index
20 int count; // num of elements in the array
21 float *buffer; // raw float samples
22 int *sorted_idx; // sorted indices into buffer
24
33esp_err_t median_init_int(median_filter_int_t *f, int32_t *buffer,
34 int *sorted_idx, int size);
35
44esp_err_t median_init_float(median_filter_float_t *f, float *buffer,
45 int *sorted_idx, int size);
46
53int32_t median_filter_int(median_filter_int_t *f, int32_t new_sample);
54
61float median_filter_float(median_filter_float_t *f, float new_sample);
62
63
64#endif // MEDIAN_TYPED_H
float median_filter_float(median_filter_float_t *f, float new_sample)
Definition median.c:58
esp_err_t median_init_float(median_filter_float_t *f, float *buffer, int *sorted_idx, int size)
Definition median.c:18
esp_err_t median_init_int(median_filter_int_t *f, int32_t *buffer, int *sorted_idx, int size)
Definition median.c:4
int32_t median_filter_int(median_filter_int_t *f, int32_t new_sample)
Definition median.c:32
Definition median.h:17
int window_size
Definition median.h:18
float * buffer
Definition median.h:21
int idx
Definition median.h:19
int count
Definition median.h:20
int * sorted_idx
Definition median.h:22
Definition median.h:8
int32_t * buffer
Definition median.h:12
int count
Definition median.h:11
int window_size
Definition median.h:9
int idx
Definition median.h:10
int * sorted_idx
Definition median.h:13