Eindversie. LU: 07-11-13.

Dependencies:   MODSERIAL mbed Encoder

Files at this revision

API Documentation at this revision

Comitter:
Socrates
Date:
Fri Oct 18 09:32:49 2013 +0000
Parent:
5:1a1ce2f5cb66
Child:
7:4d2edb5b0164
Commit message:
Filters en envellope werken. 35HZ/1, 2Hz/2;

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/main.cpp	Wed Oct 16 15:26:28 2013 +0000
+++ b/main.cpp	Fri Oct 18 09:32:49 2013 +0000
@@ -35,10 +35,13 @@
     yabs1b=0;
     yabs2b=0;
 
-    numh1=0.996868235770807;
-    numh2=-0.996868235770807;
+    //High pass, 35Hz, 1e
+    numh1=0.900575535279376;
+    numh2=-0.900575535279376;
     //denh1=1;
-    denh2=-0.993736471541615;
+    denh2=-0.801151070558751;
+
+    //Low pass, 2 Hz, 2e orde
     numl1=0.391302053991682*pow(10.0,-4.0);
     numl2=0.782604107983365*pow(10.0,-4.0);
     numl3=0.391302053991682*pow(10.0,-4.0);
@@ -50,21 +53,22 @@
     while(1) {
         while(looptimerflag != true);
         looptimerflag = false;
+
         //Triceps
         kt=emgt.read();
         xt=(kt-0.5)*2.0;
 
-        //High pass, 1 Hz
+        //High pass
         //1e orde
         yt=xt*numh1+x1t*numh2-y1t*denh2;
-        
+
         //Rectify
         yabst=abs(yt);
 
-        //Low pass, 2 Hz
+        //Low pass
         //2e orde
         zt=yabst*numl1+yabs1t*numl2+yabs2t*numl3-z1t*denl2-z2t*denl3;
-        
+
         x1t=xt;
         y2t=y1t;
         y1t=yt;
@@ -72,22 +76,22 @@
         z1t=zt;
         yabs2t=yabs1t;
         yabs1t=yabst;
-        
+
         //Biceps
         kb=emgb.read();
         xb=(kb-0.5)*2.0;
 
-        //High pass, 1 Hz
+        //High pass
         //1e orde
         yb=xb*numh1+x1b*numh2-y1b*denh2;
-        
+
         //Rectify
         yabsb=abs(yb);
 
-        //Low pass, 2 Hz
+        //Low pass
         //2e orde
         zb=yabsb*numl1+yabs1b*numl2+yabs2b*numl3-z1b*denl2-z2b*denl3;
-        
+
         x1b=xb;
         y2b=y1b;
         y1b=yb;
@@ -95,16 +99,16 @@
         z1b=zb;
         yabs2b=yabs1b;
         yabs1b=yabsb;
-        
-        if (zb>zt)
-        {
-        z=zb;
+
+        if (zb>zt) {
+            z=zb;
+        } else {
+            z=zt;
         }
-        else
-        {
-        z=zt;
+
+        if (z>1.0) {
+            z=1.0;
         }
-        
-        pc.printf("%f\n\r",z);
+        pc.printf("%f\n\r",z*5.0);
     }
 }
\ No newline at end of file