filter functions within a filter class, plus corresponding h file to be included in main programme
Dependencies: mbed
read_filter_emg.h
- Committer:
- NickDGreg
- Date:
- 2015-10-16
- Revision:
- 2:2fce57d3d64a
- Parent:
- read_emg_sensors.h@ 0:fe10b6dc2ba1
File content as of revision 2:2fce57d3d64a:
/* * read_filter_emg.h * * Created on: Oct 14, 2015 * Author: User */ #ifndef READ_FILTER_EMG_H_ #define READ_FILTER_EMG_H_ class EMG { public: //create instance of the EMG class EMG(AnalogIn aI_, double &v1_, double &v2_); double v1; double v2; double input_sample; double filtered_sample; //reads emg value and saves as input_sample void sample(); /*general biquad function to be used in the filtering biquad coefficients are in the filter functions */ double biquad(double u, double &v1, double &v2, const double a1, const double a2, const double b0, const double b1, const double b2); //20 hz highpass filter contains 3 biquads. Returns filtered value double highpass_filter(double hpInput); //Rectify the input (take absolute value). Input is output of highpass double rectify(double rcInput); //6 hz low pass filter, contains 3 biquads, input output of rectify double lowpass_filter(double lpInput); //function containing all three filter steps. Input raw signal value, output is filtered envelope value double filter(double input); }; #endif /* READ_FILTER_EMG_H_ */