From f90f421b165c7880cd88db8795f00073dd768f60 Mon Sep 17 00:00:00 2001 From: Andreas Eversberg Date: Sat, 13 Mar 2021 17:10:08 +0100 Subject: Add libs --- src/libfilter/iir_filter.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 src/libfilter/iir_filter.h (limited to 'src/libfilter/iir_filter.h') diff --git a/src/libfilter/iir_filter.h b/src/libfilter/iir_filter.h new file mode 100644 index 0000000..a5956c8 --- /dev/null +++ b/src/libfilter/iir_filter.h @@ -0,0 +1,17 @@ +#ifndef _FILTER_H +#define _FILTER_H + +typedef struct iir_filter { + int iter; + double a0, a1, a2, b1, b2; + double z1[64], z2[64]; +} iir_filter_t; + +void iir_lowpass_init(iir_filter_t *filter, double frequency, int samplerate, int iterations); +void iir_highpass_init(iir_filter_t *filter, double frequency, int samplerate, int iterations); +void iir_bandpass_init(iir_filter_t *filter, double frequency, int samplerate, int iterations); +void iir_notch_init(iir_filter_t *filter, double frequency, int samplerate, int iterations); +void iir_process(iir_filter_t *filter, sample_t *samples, int length); +void iir_process_baseband(iir_filter_t *filter, float *baseband, int length); + +#endif /* _FILTER_H */ -- cgit v1.2.3