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

Dependencies:   HIDScope mbed-dsp mbed

Fork of P5-2 by Daan

Files at this revision

API Documentation at this revision

Comitter:
DominiqueC
Date:
Thu Oct 16 19:30:22 2014 +0000
Parent:
27:2ccef1104c16
Commit message:
werkend filter, met absoluteren en gain van 10

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
diff -r 2ccef1104c16 -r c40dc343033f main.cpp
--- a/main.cpp	Thu Oct 16 19:17:00 2014 +0000
+++ b/main.cpp	Thu Oct 16 19:30:22 2014 +0000
@@ -30,7 +30,7 @@
 float highpass_states[4];
 //constants for 80Hz lowpass
 arm_biquad_casd_df1_inst_f32 lowpass;
-float lowpass_const[] = {0.6389437261127493, 1.2778874522254986, 0.6389437261127493, 1.1429772843080919, 0.41279762014290533};
+float lowpass_const[] = {0.638945525159022, 1.277891050318045, 0.638945525159022, -1.142980502539901, -0.412801598096189};
 //state values
 float lowpass_states[4];
 
@@ -39,35 +39,26 @@
 {
     /*variable to store value in*/    
     uint16_t emg_value;
-    float filtered_emg;
+    float emg_value_f32;
     float filtered_emg_notch;
     float filtered_emg_notch_highpass;
     float filtered_emg_notch_highpass_lowpass;
-    float filtered_emg_abs;
-    float emg_value_f32;
-    float filtered_emg_lowpass;
+    float filtered_emg_eindsignaal_abs;
     /*put raw emg value both in red and in emg_value*/
     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_value_f32, &filtered_emg, 1 );
-    //filtered_emg_abs = fabs(filtered_emg);
-    //arm_biquad_cascade_df1_f32(&notch, &filtered_emg, &filtered_emg_notch, 1 );
-    //arm_biquad_cascade_df1_f32(&lowpass, &filtered_emg_notch, &filtered_emg_lowpass, 1 );       
-    
     arm_biquad_cascade_df1_f32(&notch, &emg_value_f32, &filtered_emg_notch, 1 );
     arm_biquad_cascade_df1_f32(&highpass, &filtered_emg_notch, &filtered_emg_notch_highpass, 1 );
     arm_biquad_cascade_df1_f32(&lowpass, &filtered_emg_notch_highpass, &filtered_emg_notch_highpass_lowpass, 1 );
+    filtered_emg_eindsignaal_abs = 10*fabs(filtered_emg_notch_highpass_lowpass);
     
-    scope.set(0,emg_value_f32);     //uint value
-    //scope.set(1,filtered_emg);  //processed float
+    scope.set(0,emg_value_f32);
     scope.set(1,filtered_emg_notch); 
     scope.set(2,filtered_emg_notch_highpass);
     scope.set(3,filtered_emg_notch_highpass_lowpass);
-    //scope.set(3,filtered_emg_abs); 
-    //scope.set(4,filtered_emg_lowpass);
-    //scope.set(5,emg_value);
+    scope.set(4,filtered_emg_eindsignaal_abs);
     scope.send();
 }