From 5070bc70bd6308926e17eee78268da56ff8d7dd7 Mon Sep 17 00:00:00 2001 From: Andreas Eversberg Date: Thu, 27 Feb 2020 18:47:54 +0100 Subject: Added FIR filter to libfilter --- src/libfilter/fir_filter.h | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 src/libfilter/fir_filter.h (limited to 'src/libfilter/fir_filter.h') diff --git a/src/libfilter/fir_filter.h b/src/libfilter/fir_filter.h new file mode 100644 index 0000000..7d94091 --- /dev/null +++ b/src/libfilter/fir_filter.h @@ -0,0 +1,21 @@ +#ifndef _FIR_FILTER_H +#define _FIR_FILTER_H + +typedef struct fir_filter { + int ntaps; + int delay; + double *taps; + double *buffer; + int buffer_pos; +} fir_filter_t; + +fir_filter_t *fir_lowpass_init(double samplerate, double cutoff, double transition_bandwidth); +fir_filter_t *fir_highpass_init(double samplerate, double cutoff, double transition_bandwidth); +fir_filter_t *fir_allpass_init(double samplerate, double transition_bandwidth); +fir_filter_t *fir_twopass_init(double samplerate, double cutoff_low, double cutoff_high, double transition_bandwidth); +void fir_exit(fir_filter_t *fir); +void fir_process(fir_filter_t *fir, sample_t *samples, int num); +int fir_get_delay(fir_filter_t *fir); + +#endif /* _FIR_FILTER_H */ + -- cgit v1.2.3