diff options
author | Andreas Eversberg <jolly@eversberg.eu> | 2021-03-13 17:10:08 +0100 |
---|---|---|
committer | Andreas Eversberg <jolly@eversberg.eu> | 2021-03-21 09:03:06 +0100 |
commit | f90f421b165c7880cd88db8795f00073dd768f60 (patch) | |
tree | 1b2c56ae0d2b8b463bb7999229c63b303c64926b /src/libfilter/iir_filter.h | |
parent | 72b0d35e6c52a13f133e26b74b2414cf94fbc8e8 (diff) |
Add libs
Diffstat (limited to 'src/libfilter/iir_filter.h')
-rw-r--r-- | src/libfilter/iir_filter.h | 17 |
1 files changed, 17 insertions, 0 deletions
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 */ |