Emg filter function script for a uni project. Made by Teun van der Molen

Dependencies:   HIDScope MODSERIAL mbed

Fork of frdm_EMG by Teun van der Molen

Revision:
2:ce5ead27b7cc
Parent:
1:75f61e111ed0
Child:
3:499c71ca30a0
--- a/main.cpp	Fri Sep 18 13:31:04 2015 +0000
+++ b/main.cpp	Mon Sep 21 08:23:37 2015 +0000
@@ -8,9 +8,9 @@
 
 double v1=0, v2=0, u=0, y=0;
 const double 
-b0 = 0.9999999999999999,b1 = 1.9999999999999998,b2 = 0.9999999999999999, a1 = 1.9999999999999998 ,a2 = 0.9999999999999998;
-//b0 = 0.02008333102602092 ,b1 = 0.04016666205204184 ,b2 = 0.02008333102602092, a1 = -1.5610153912536877 ,a2 = 0.6413487153577715;
-
+b0 = 0.9999999999999999,b1 = 1.9999999999999998,b2 = 0.9999999999999999, a1 = 1.9999999999999998 ,a2 = 0.9999999999999998; //low-pass Fc = 50hz
+//b0 = 0.02008333102602092 ,b1 = 0.04016666205204184 ,b2 = 0.02008333102602092, a1 = -1.5610153912536877 ,a2 = 0.6413487153577715; //low-pass Fc = 5hz
+//b0 = 0.8005910266528649,b1 = -1.6011820533057297,b2 = 0.8005910266528649,a1 = -1.5610153912536877,a2 = 0.6413487153577715; //high-pass Fc = 5hz
 
 void computeBiquad(){
     double v = u - a1*v1 - a2*v2;
@@ -36,7 +36,7 @@
      float i = 1;
     while(1) {
             // sinewave output
-          float u = 0.5 + 0.5*sin(i); 
+          float u = (0.25 + 0.1*sin(i) + (0.25 + 0.1*sin(100*i))); 
            double v = u - a1*v1 - a2*v2;
     y= b0*v + b1*v1 +b2*v2;
     v2=v1;