Corrected header file include guards.
Dependencies: FiniteStateMachine HipControl Knee LinearBlend1 LocalFileSystem_Read dataComm hapticFeedback initExoVars mbed Blend_Generator Brad_poly_gait Gait_Generator MM_gait Encoders IMUdriver
Fork of Motion Control by
Filter/filter.cpp
- Committer:
- nathanhonka
- Date:
- 2015-07-02
- Revision:
- 54:9d0e871dd00a
- Parent:
- 0:d38d627c922f
File content as of revision 54:9d0e871dd00a:
#include "mbed.h" #include "filter.h" filter::filter() { memset(xv, 0,sizeof(xv)); //reset filter memset(yv,0,sizeof(yv)); //reset filter memset(xv1, 0,sizeof(xv)); //reset filter memset(yv1,0,sizeof(yv)); //reset filter } /********************************************************** 2nd Order Lowpass Butterworth Filter **********************************************************/ /* Digital filter designed by mkfilter/mkshape/gencode A.J. Fisher Command line: /www/usr/fisher/helpers/mkfilter -Bu -Lp -o 2 -a 2.5000000000e-01 0.0000000000e+00 -l */ //2nd order 50Hz LP BW filter float xv[NZEROS+1], yv[NPOLES+1]; float filter::Butterworth(float input) { xv[0] = xv[1]; xv[1] = xv[2]; xv[2] = input/GAIN; yv[0] = yv[1]; yv[1] = yv[2]; yv[2] = (xv[0] + xv[2]) + 2 * xv[1]+ ( -0.4128015981 * yv[0]) + ( 1.1429805025 * yv[1]); return yv[2]; } /* Digital filter designed by mkfilter/mkshape/gencode A.J. Fisher Command line: /www/usr/fisher/helpers/mkfilter -Bu -Lp -o 2 -a 5.0000000000e-02 0.0000000000e+00 -l */ //2nd order 50Hz LP BW filter at 1kHz sample freq. float xv1[NZEROS+1], yv1[NPOLES+1]; float filter::Butterworth_1K(float input) { xv1[0] = xv1[1]; xv1[1] = xv1[2]; xv1[2] = input/GAIN1; yv1[0] = yv1[1]; yv1[1] = yv1[2]; yv1[2] = (xv1[0] + xv1[2]) + 2 * xv1[1]+ ( -0.6413515381 * yv1[0]) + ( 1.5610180758 * yv1[1]); return yv1[2]; }