werkend filter: 50 hz notch 20 hz hoogdoorlaat 80 hz laagdoorlaat geabsoluteerd vermenigvuldigd met 10

Dependencies:   HIDScope mbed-dsp mbed

Fork of Project5-filtering2 by Dominique Clevers

Revision:
6:168e7e03e166
Parent:
5:b96b7b8facbf
Child:
7:46806eb44597
--- a/main.cpp	Thu Oct 09 13:59:08 2014 +0000
+++ b/main.cpp	Fri Oct 10 08:34:27 2014 +0000
@@ -16,7 +16,7 @@
 //Define objects
 AnalogIn    emg0(PTB0); //Biceps
 AnalogIn    emg1(PTB1); //Triceps
-HIDScope scope(4);
+HIDScope scope(2);
  
 arm_biquad_casd_df1_inst_f32 notch;
 //constants for 50Hz notch
@@ -32,32 +32,21 @@
 void looper()
 {
     /*variable to store value in*/    
-    uint16_t emg_value0;
-    uint16_t emg_value1;
-    float filtered_emg0;
-    float filtered_emg1;
-    float emg_value0_f32;
-    float emg_value1_f32;
+    uint16_t emg_value;
+    float filtered_emg;
+    float emg_value_f32;
     /*put raw emg value both in red and in emg_value*/
-    emg_value0 = emg0.read_u16(); // read direct ADC result, converted to 16 bit integer (0..2^16 = 0..65536 = 0..3.3V) BICEPS
-    emg_value0_f32 = emg0.read();
-    emg_value1 = emg1.read_u16(); // read direct ADC result, converted to 16 bit integer (0..2^16 = 0..65536 = 0..3.3V) TRICEPS
-    emg_value1_f32 = emg1.read();
+    emg_value = emg0.read_u16(); // read direct ADC result, converted to 16 bit integer (0..2^16 = 0..65536 = 0..3.3V)
+    emg_value_f32 = emg0.read();
  
     //process emg
-    arm_biquad_cascade_df1_f32(&highpass, &emg_value0_f32, &filtered_emg0, 1 );
-    filtered_emg0 = fabs(filtered_emg0);
-    arm_biquad_cascade_df1_f32(&notch, &filtered_emg0, &filtered_emg0, 1 );
-    
-    arm_biquad_cascade_df1_f32(&highpass, &emg_value1_f32, &filtered_emg1, 1 );
-    filtered_emg1 = fabs(filtered_emg1);
-    arm_biquad_cascade_df1_f32(&notch, &filtered_emg1, &filtered_emg1, 1 );
+    arm_biquad_cascade_df1_f32(&highpass, &emg_value_f32, &filtered_emg, 1 );
+    filtered_emg = fabs(filtered_emg);
+    arm_biquad_cascade_df1_f32(&notch, &filtered_emg, &filtered_emg, 1 );
     
     /*send value to PC. */
-    scope.set(0,emg_value0);     //uint value
-    scope.set(1,filtered_emg0);  //processed float
-    scope.set(2,emg_value1);     //uint value
-    scope.set(3,filtered_emg1);  //processed float
+    scope.set(0,emg_value);     //uint value
+    scope.set(1,filtered_emg);  //processed float
     scope.send();
  
 }