typedef struct {
int index, /* index for next filter output */
mask; /* masking value (length - 1) */
double *buffer;
} CircularBuffer;
typedef struct {
double *coef; /* Filter coefficients */
int order; /* Number of coefficients */
CircularBuffer *y; /* Previous outputs */
} Filter