Paparazzi UAS
v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
|
Second order notch filter. More...
#include "std.h"
Go to the source code of this file.
Data Structures | |
struct | SecondOrderNotchFilter |
Functions | |
static void | notch_filter_set_sampling_frequency (struct SecondOrderNotchFilter *filter, uint16_t frequency) |
Set sampling frequency of the notch filter. More... | |
static void | notch_filter_set_bandwidth (struct SecondOrderNotchFilter *filter, float bandwidth) |
Set bandwidth of the notch filter. More... | |
static void | notch_filter_set_filter_frequency (struct SecondOrderNotchFilter *filter, float frequency) |
Set notch filter frequency in Hz. More... | |
static void | notch_filter_update (struct SecondOrderNotchFilter *filter, int32_t *input_signal, int32_t *output_signal) |
Notch filter propagate. More... | |
static int32_t | notch_filter_get_output (struct SecondOrderNotchFilter *filter) |
Get latest notch filter output. More... | |
static void | notch_filter_init (struct SecondOrderNotchFilter *filter, float cutoff_frequency, float bandwidth, uint16_t sample_frequency) |
Initialize second order notch filter. More... | |
Second order notch filter.
Definition in file notch_filter.h.
struct SecondOrderNotchFilter |
|
inlinestatic |
Get latest notch filter output.
filter | filter data structure |
Definition at line 105 of file notch_filter.h.
References SecondOrderNotchFilter::yn1.
|
inlinestatic |
Initialize second order notch filter.
Discrete implementation: y[n] = b * y[n-1] - d^2 * y[n-2] + a * x[n] - b * x[n-1] + a * x[n-2]
cutoff_frequency | frequency to attenuate [Hz] |
bandwidth | bandwidth of the filter [Hz] |
sample_frequency | frequency at which the filter is updated |
Definition at line 119 of file notch_filter.h.
References notch_filter_set_bandwidth(), notch_filter_set_filter_frequency(), notch_filter_set_sampling_frequency(), SecondOrderNotchFilter::xn1, SecondOrderNotchFilter::xn2, SecondOrderNotchFilter::yn1, and SecondOrderNotchFilter::yn2.
Referenced by adaptive_notch_filter_init(), init_filter(), and stabilization_attitude_heli_indi_init().
|
inlinestatic |
Set bandwidth of the notch filter.
filter | filter data structure |
bandwidth | bandwidth of the filter [Hz] |
Definition at line 57 of file notch_filter.h.
References SecondOrderNotchFilter::d2, and SecondOrderNotchFilter::Ts.
Referenced by notch_filter_init().
|
inlinestatic |
Set notch filter frequency in Hz.
filter | filter data structure |
frequency | to attenuate [Hz] |
Definition at line 68 of file notch_filter.h.
References SecondOrderNotchFilter::costheta, and SecondOrderNotchFilter::Ts.
Referenced by adaptive_notch_filter_update(), indi_apply_notch_filters(), and notch_filter_init().
|
inlinestatic |
Set sampling frequency of the notch filter.
filter | filter data structure |
frequency | frequency at which the filter is updated |
Definition at line 47 of file notch_filter.h.
References SecondOrderNotchFilter::Ts.
Referenced by notch_filter_init().
|
inlinestatic |
Notch filter propagate.
Discrete implementation: y[n] = b * y[n-1] - d^2 * y[n-2] + a * x[n] - b * x[n-1] + a * x[n-2]
filter | filter data structure |
input_signal | input x[n] |
output_signal | output y[n] |
Definition at line 83 of file notch_filter.h.
References b, SecondOrderNotchFilter::costheta, SecondOrderNotchFilter::d2, SecondOrderNotchFilter::xn1, SecondOrderNotchFilter::xn2, SecondOrderNotchFilter::yn1, and SecondOrderNotchFilter::yn2.
Referenced by adaptive_notch_filter_update(), indi_apply_notch_filters(), and oneloop_andi_propagate_filters().