diff options
author | Andreas Eversberg <jolly@eversberg.eu> | 2020-10-03 16:25:48 +0200 |
---|---|---|
committer | Andreas Eversberg <jolly@eversberg.eu> | 2020-12-29 19:02:57 +0100 |
commit | 58f1c9a91226f4954a4799fab082f186923aa806 (patch) | |
tree | ab137478c73bcb079e3031cbc65ecc7ef37f452e /src/libfilter/fir_filter.h | |
parent | fde7cc2ce319bf294ded54da0822672fe33b1923 (diff) |
Add libraries from Osmocom-Analog
Diffstat (limited to 'src/libfilter/fir_filter.h')
-rw-r--r-- | src/libfilter/fir_filter.h | 21 |
1 files changed, 21 insertions, 0 deletions
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 */ + |