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
Revision 28:c40dc343033f, committed 2014-10-16
- 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(¬ch, &filtered_emg, &filtered_emg_notch, 1 ); - //arm_biquad_cascade_df1_f32(&lowpass, &filtered_emg_notch, &filtered_emg_lowpass, 1 ); - arm_biquad_cascade_df1_f32(¬ch, &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(); }