filters emg signaal

Dependencies:   HIDScope MODSERIAL biquadFilter mbed

main.cpp

Committer:
Roooos
Date:
2018-10-22
Revision:
0:9fc3cc2f74db

File content as of revision 0:9fc3cc2f74db:

#include "mbed.h"
#include "HIDScope.h"
//#include "BiQuad.h"

//Define EMG parameters
AnalogIn emg0(A0); //emg signaal 1
Ticker      sample_timer;
HIDScope    scope( 2 );        // aantal channels op de HIDscope
volatile double emg_1;
DigitalOut led(LED_GREEN);



//compute biquad function door Biquad(b0, b1, b2, a0, a1) in te vullen
//BiQuadChain bqc; //chain voor High Pass en Notch
//BiQuad bq1(0.39131200825291007, -0.7826240165058201, 0.39131200825291007, -0.36950493743858204, 0.1957430955730582); //High Pass Filter
//BiQuad bq2( 9.91104e-01, -1.60364e+00, 9.91104e-01, -1.60364e+00, 9.82207e-01); //Notch Filter
//BiQuad bq3(0.06947941610796837, 0.13895883221593675, 0.06947941610796837, -1.1772781186813919, 0.4551957831132653); //Low Pass Filter


void sample()
{
    emg_1 = emg0.read(); //EMG signal
  //  double FilterStep1 = bqc.step(emg_1); //High Pass + Notch
    //double RectifyEMG = fabs(FilterStep1); //Rectify Signal
   // double Filtered_emg_1 = bq3.step(RectifyEMG); //Low Pass

  //  scope.set(0,emg_1); //set raw emg signal
  //  scope.set(1,Filtered_emg_1);  //set filtered emg signal
    
   // scope.send(); //send to hidscope
}

int main() 
{
    led = 0;
 //   bqc.add( &bq1 ).add( &bq2 ); //make BiQuadChain
    sample_timer.attach(&sample, 0.002); //500 Hz  
    while (1) {}
}