From 58f1c9a91226f4954a4799fab082f186923aa806 Mon Sep 17 00:00:00 2001 From: Andreas Eversberg Date: Sat, 3 Oct 2020 16:25:48 +0200 Subject: Add libraries from Osmocom-Analog --- 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