nog een mooie biquad geniet ervan

Dependencies:   HIDScope biquadFilter mbed

Files at this revision

API Documentation at this revision

Comitter:
Paashaas
Date:
Fri Oct 16 09:39:22 2015 +0000
Commit message:
een nog veel mooiere filter;

Changed in this revision

HIDScope.lib Show annotated file Show diff for this revision Revisions of this file
biquadFilter.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
diff -r 000000000000 -r f9aed4422fcb HIDScope.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/HIDScope.lib	Fri Oct 16 09:39:22 2015 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/tomlankhorst/code/HIDScope/#5020a2c0934b
diff -r 000000000000 -r f9aed4422fcb biquadFilter.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/biquadFilter.lib	Fri Oct 16 09:39:22 2015 +0000
@@ -0,0 +1,1 @@
+http://developer.mbed.org/users/tomlankhorst/code/biquadFilter/#e3bf917ae0a3
diff -r 000000000000 -r f9aed4422fcb main.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Fri Oct 16 09:39:22 2015 +0000
@@ -0,0 +1,100 @@
+#include "mbed.h"
+#include "HIDScope.h"
+#include "biquadFilter.h" 
+
+AnalogIn emg1(A0); //onderste board
+AnalogIn emg2(A1); // 2e board
+AnalogIn emg3(A2); // 3e board
+AnalogIn emg4(A3); // bovenste board
+
+Ticker sample_ticker; // naam van de emg-ticker
+
+HIDScope scope(2);  // aantal kanalen voor je HIDScope
+
+//highpass filter 20 Hz
+const double numhigh_1 = 0.956543225556877;
+const double numhigh_2 = -1.91308645113754;
+const double numhigh_3 = 0.956543225556877;
+const double denhigh_2 = -1.91197067426073;
+const double denhigh_3 = 0.9149758348014341;
+
+//notchfilter 50Hz
+//biquad 1
+const double numnotch_1_1 = 1;
+const double numnotch_1_2 = -1.97538661427765;
+const double numnotch_1_3 = 1.00000018882502;
+const double dennotch_1_2 = -1.97024348390877;
+const double dennotch_1_3 = 0.995504923090779;
+
+//biquad 2
+const double numnotch_2_1 = 1;
+const double numnotch_2_2 = -1.97538624436946;
+const double numnotch_2_3 = 1.00000018882502;
+const double dennotch_2_2 = -1.97175302143845;
+const double dennotch_2_3 = 0.995629024908953;
+
+//lowpass filter 7 Hz  - envelop
+const double numlow_1 = 0.000119046743110057;
+const double numlow_2 = 0.000238093486220118;
+const double numlow_3 = 0.000119046743110057;
+const double denlow_2 = -1.968902268531908;
+const double denlow_3 = 0.9693784555043481;
+
+
+double u1 = emg1.read();                //inputvariables
+double u2 = emg2.read();
+double u3 = emg3.read();
+double u4 = emg4.read();
+
+
+biquadFilter     highpass( denhigh_2 , denhigh_3 , numhigh_1 , numhigh_2 , numhigh_3);                // removes artifacts
+biquadFilter     notch1( dennotch_1_2 , dennotch_1_3 , numnotch_1_1 , numnotch_1_2 , numnotch_1_3 );  // removes 49-51 Hz power interference
+biquadFilter     notch2( dennotch_2_2 , dennotch_2_3 , numnotch_2_1 , numnotch_2_2 , numnotch_2_3 );   //
+biquadFilter     lowpass( denlow_2 , denlow_3 , numlow_1 , numlow_2 , numlow_3 );                     // EMG envelope 
+
+biquadFilter     highpass_2( denhigh_2 , denhigh_3 , numhigh_1 , numhigh_2 , numhigh_3);
+biquadFilter     notch1_2( dennotch_1_2 , dennotch_1_3 , numnotch_1_1 , numnotch_1_2 , numnotch_1_3 );  // removes 49-51 Hz power interference
+biquadFilter     notch2_2( dennotch_2_2 , dennotch_2_3 , numnotch_2_1 , numnotch_2_2 , numnotch_2_3 );   //
+biquadFilter     lowpass_2( denlow_2 , denlow_3 , numlow_1 , numlow_2 , numlow_3 );                     // EMG envelope 
+
+biquadFilter     highpass_3( denhigh_2 , denhigh_3 , numhigh_1 , numhigh_2 , numhigh_3);
+biquadFilter     notch1_3( dennotch_1_2 , dennotch_1_3 , numnotch_1_1 , numnotch_1_2 , numnotch_1_3 );  // removes 49-51 Hz power interference
+biquadFilter     notch2_3( dennotch_2_2 , dennotch_2_3 , numnotch_2_1 , numnotch_2_2 , numnotch_2_3 );   //
+biquadFilter     lowpass_3( denlow_2 , denlow_3 , numlow_1 , numlow_2 , numlow_3 );                     // EMG envelope 
+
+biquadFilter     highpass_4( denhigh_2 , denhigh_3 , numhigh_1 , numhigh_2 , numhigh_3);
+biquadFilter     notch1_4( dennotch_1_2 , dennotch_1_3 , numnotch_1_1 , numnotch_1_2 , numnotch_1_3 );  // removes 49-51 Hz power interference
+biquadFilter     notch2_4( dennotch_2_2 , dennotch_2_3 , numnotch_2_1 , numnotch_2_2 , numnotch_2_3 );   //
+biquadFilter     lowpass_4( denlow_2 , denlow_3 , numlow_1 , numlow_2 , numlow_3 );                     // EMG envelope 
+
+void myController()
+{
+
+    highpass.step (u1);
+    notch1.step (u1);
+    notch2.step (u1);
+    lowpass.step (u1);
+    
+    highpass_2.step (u2);
+    notch1_2.step (u2);
+    notch2_2.step (u2);
+    lowpass_2.step (u2);
+    
+    highpass_3.step (u3);
+    notch1_3.step (u3);
+    notch2_3.step (u3);
+    lowpass_3.step (u3);
+    
+    highpass_4.step (u4);
+    notch1_4.step (u4);
+    notch2_4.step (u4);
+    lowpass_4.step (u4);
+
+}
+
+int main()
+{
+   sample_ticker.attach(&myController,0.002);
+   while (true){   
+    }
+}  
\ No newline at end of file
diff -r 000000000000 -r f9aed4422fcb mbed.bld
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Fri Oct 16 09:39:22 2015 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/34e6b704fe68
\ No newline at end of file