newest version,

Dependencies:   QEI mbed

Committer:
NickDGreg
Date:
Fri Oct 23 13:26:52 2015 +0000
Revision:
1:5c1fc4e9401a
Parent:
0:fc6fa085d591
Child:
2:b90bb3ef67cf
same problem different errors. Fuck it. ; Tried passing as AnalogIn not pinName and as reference to analogIn. Neither worked. Been many hours and I'm stuck.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
NickDGreg 0:fc6fa085d591 1 /*
NickDGreg 0:fc6fa085d591 2 * read_filter_emg.h
NickDGreg 0:fc6fa085d591 3 *
NickDGreg 0:fc6fa085d591 4 * Created on: Oct 14, 2015
NickDGreg 0:fc6fa085d591 5 * Author: User
NickDGreg 0:fc6fa085d591 6 */
NickDGreg 0:fc6fa085d591 7
NickDGreg 0:fc6fa085d591 8 #ifndef READ_FILTER_EMG_H_
NickDGreg 0:fc6fa085d591 9 #define READ_FILTER_EMG_H_
NickDGreg 0:fc6fa085d591 10
NickDGreg 0:fc6fa085d591 11 class EMG {
NickDGreg 0:fc6fa085d591 12 public:
NickDGreg 0:fc6fa085d591 13 //create instance of the EMG class
NickDGreg 1:5c1fc4e9401a 14 EMG(AnalogIn &aI_, double &v1_, double &v2_);
NickDGreg 1:5c1fc4e9401a 15 AnalogIn aI(PinName);
NickDGreg 0:fc6fa085d591 16 double v1;
NickDGreg 0:fc6fa085d591 17 double v2;
NickDGreg 0:fc6fa085d591 18 double input_sample;
NickDGreg 0:fc6fa085d591 19 double filtered_sample;
NickDGreg 0:fc6fa085d591 20
NickDGreg 0:fc6fa085d591 21 //reads emg value and saves as input_sample
NickDGreg 0:fc6fa085d591 22 void sample();
NickDGreg 0:fc6fa085d591 23
NickDGreg 0:fc6fa085d591 24 /*general biquad function to be used in the filtering
NickDGreg 0:fc6fa085d591 25 biquad coefficients are in the filter functions */
NickDGreg 0:fc6fa085d591 26 double biquad(double u, double &v1, double &v2, const double a1,
NickDGreg 0:fc6fa085d591 27 const double a2, const double b0, const double b1, const double b2);
NickDGreg 0:fc6fa085d591 28
NickDGreg 0:fc6fa085d591 29 //20 hz highpass filter contains 3 biquads. Returns filtered value
NickDGreg 0:fc6fa085d591 30 double highpass_filter(double hpInput);
NickDGreg 0:fc6fa085d591 31
NickDGreg 0:fc6fa085d591 32 //Rectify the input (take absolute value). Input is output of highpass
NickDGreg 0:fc6fa085d591 33 double rectify(double rcInput);
NickDGreg 0:fc6fa085d591 34
NickDGreg 0:fc6fa085d591 35 //6 hz low pass filter, contains 3 biquads, input output of rectify
NickDGreg 0:fc6fa085d591 36 double lowpass_filter(double lpInput);
NickDGreg 0:fc6fa085d591 37
NickDGreg 0:fc6fa085d591 38 //function containing all three filter steps. Input raw signal value, output is filtered envelope value
NickDGreg 0:fc6fa085d591 39 double filter(double input);
NickDGreg 0:fc6fa085d591 40 };
NickDGreg 0:fc6fa085d591 41
NickDGreg 0:fc6fa085d591 42 #endif /* READ_FILTER_EMG_H_ */
NickDGreg 0:fc6fa085d591 43