//Band pass butterworth filter order=4 alpha1=0.037453183520599 alpha2=0.063670411985019 class FilterBuBp4 { const float cf[9] = {0.00003743561515783600, -0.64984203758803527062, 5.22187801143368535151, -18.62939109557171590836, 38.51794268736599491376, -50.46701448849155724474, 42.90303533134298419327, -23.11211667933892854876, 7.21544634991835387439}; public: FilterBuBp4() {} float step(float x) //class II { v[0] = v[1]; v[1] = v[2]; v[2] = v[3]; v[3] = v[4]; v[4] = v[5]; v[5] = v[6]; v[6] = v[7]; v[7] = v[8]; v[8] = x * cf[0] + cf[1] * v[0] + cf[2] * v[1] + cf[3] * v[2] + cf[4] * v[3] + cf[5] * v[4] + cf[6] * v[5] + cf[7] * v[6] + cf[8] * v[7]; return (v[0] + v[8])- 4 * (v[2] + v[6]) + 6 * v[4]; } private: float v[9]{}; };