BioRobotics Group 3 / Mbed 2 deprecated Moving-average

Dependencies:   HIDScope MODSERIAL mbed

Fork of Signal Filter by BioRobotics Group 3

Revision:
3:04f3cca82b22
Parent:
2:e30dbfec6d1e
Child:
4:d6a3b318c744
diff -r e30dbfec6d1e -r 04f3cca82b22 main.cpp
--- a/main.cpp	Mon Sep 21 09:06:32 2015 +0000
+++ b/main.cpp	Mon Sep 21 10:30:38 2015 +0000
@@ -18,35 +18,40 @@
 
  // Define the storage variables and filter coeicients for two filters
  double f1_v1 = 0, f1_v2 = 0, f2_v1 = 0, f2_v2 = 0;
- const double f1_a1 = 1.0, f1_a2 = 2.0, f1_b0 = 1.0, f1_b1 = 3.0, f1_b2 = 4.0;
- const double f2_a1 = 1.5, f2_a2 = 1.0, f2_b0 = 0.2, f2_b1 = 1.5, f2_b2 = 3.0;
+ const double f1_a1 =  0.25071442433, f1_a2 = 0.21711875780, f1_b0 = 1.0, f1_b1 = -1.62432585007, f1_b2 = 1.0;
+ const double f2_a1 = -1.77682226139, f2_a2 = 0.80213897411, f2_b0 = 1.0, f2_b1 =  -1.62432585007, f2_b2 = 1.0;
 
- double biquad( double u, double &v1, double &v2, // Input and storage variables
- const double a1, const double a2, const double b0, const double b1, const double b2 ){
- double v = u − a1∗v1 − a2∗v2;
- double y = b0∗v + b1∗v1 + b2∗v2;
+ double biquad( double u, double &v1, double &v2, const double a1, const double a2, const double b0, const double b1, const double b2 )
+ {
+ double v = u-a1*v1-a2*v2;
+ double y = b0*v + b1*v1 + b2*v2;
  v2 = v1; v1 = v;
  return y;
  }
 
  // This is your controller, call it using a Ticker
- void myController() {
- // double u1 = ..., u2 = ... ;
- double y1 = biquad( u1, f1_v1, f1_v2, f1_a1, f1_a2, f1_b0, f1_b1, f1_b2 );
- double y2 = biquad( u2, f2_v1, f2_v2, f2_a1, f2_a2, f2_b0, f2_b1, f2_b2 );
- }
+// void myController() {
+ //double u1 = EMG, u2 = y1 ;
+ //double y1 = biquad( u1, f1_v1, f1_v2, f1_a1, f1_a2, f1_b0, f1_b1, f1_b2 );
+ //double y2 = biquad( u2, f2_v1, f2_v2, f2_a1, f2_a2, f2_b0, f2_b1, f2_b2 );
+ //}
 
 
 
 
 void scopeSend(){
-u1=EMG;
-u2=y1   ;
-scope.set(0,y2.read());
+ double u1 = EMG  ;
+ double y1 = biquad( u1, f1_v1, f1_v2, f1_a1, f1_a2, f1_b0, f1_b1, f1_b2 );
+ double u2 = y1;
+ double y2 = biquad( u2, f2_v1, f2_v2, f2_a1, f2_a2, f2_b0, f2_b1, f2_b2 );   
+scope.set(0,y2);
 scope.send();
  }
+ 
 int main()
-{  scopeTimer.attach_us(&scopeSend,1e4);
+{
+    
+    scopeTimer.attach_us(&scopeSend,1e4);
      while(1){}
         
 }
\ No newline at end of file