filters emg signaal
Dependencies: HIDScope MODSERIAL biquadFilter mbed
main.cpp
00001 #include "mbed.h" 00002 #include "HIDScope.h" 00003 //#include "BiQuad.h" 00004 00005 //Define EMG parameters 00006 AnalogIn emg0(A0); //emg signaal 1 00007 Ticker sample_timer; 00008 HIDScope scope( 2 ); // aantal channels op de HIDscope 00009 volatile double emg_1; 00010 DigitalOut led(LED_GREEN); 00011 00012 00013 00014 //compute biquad function door Biquad(b0, b1, b2, a0, a1) in te vullen 00015 //BiQuadChain bqc; //chain voor High Pass en Notch 00016 //BiQuad bq1(0.39131200825291007, -0.7826240165058201, 0.39131200825291007, -0.36950493743858204, 0.1957430955730582); //High Pass Filter 00017 //BiQuad bq2( 9.91104e-01, -1.60364e+00, 9.91104e-01, -1.60364e+00, 9.82207e-01); //Notch Filter 00018 //BiQuad bq3(0.06947941610796837, 0.13895883221593675, 0.06947941610796837, -1.1772781186813919, 0.4551957831132653); //Low Pass Filter 00019 00020 00021 void sample() 00022 { 00023 emg_1 = emg0.read(); //EMG signal 00024 // double FilterStep1 = bqc.step(emg_1); //High Pass + Notch 00025 //double RectifyEMG = fabs(FilterStep1); //Rectify Signal 00026 // double Filtered_emg_1 = bq3.step(RectifyEMG); //Low Pass 00027 00028 // scope.set(0,emg_1); //set raw emg signal 00029 // scope.set(1,Filtered_emg_1); //set filtered emg signal 00030 00031 // scope.send(); //send to hidscope 00032 } 00033 00034 int main() 00035 { 00036 led = 0; 00037 // bqc.add( &bq1 ).add( &bq2 ); //make BiQuadChain 00038 sample_timer.attach(&sample, 0.002); //500 Hz 00039 while (1) {} 00040 }
Generated on Mon Aug 22 2022 03:06:02 by 1.7.2