59 float d =
expf(-
M_PI * bandwidth * filter->
Ts);
85 float a = (1 + filter->
d2) * 0.5;
static void notch_filter_update(struct SecondOrderNotchFilter *filter, float *input_signal, float *output_signal)
Notch filter propagate.
static void notch_filter_set_sampling_frequency(struct SecondOrderNotchFilter *filter, uint16_t frequency)
Set sampling frequency of the notch filter.
static void notch_filter_set_filter_frequency(struct SecondOrderNotchFilter *filter, float frequency)
Set notch filter frequency in Hz.
static void notch_filter_set_bandwidth(struct SecondOrderNotchFilter *filter, float bandwidth)
Set bandwidth of the notch filter.
static float notch_filter_get_output(struct SecondOrderNotchFilter *filter)
Get notch filter output.
static void notch_filter_init(struct SecondOrderNotchFilter *filter, float cutoff_frequency, float bandwidth, uint16_t sample_frequency)
Initialize second order notch filter.
unsigned short uint16_t
Typedef defining 16 bit unsigned short type.