filters emg signaal

Dependencies:   HIDScope MODSERIAL biquadFilter mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

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 }