emg
Dependencies: HIDScope MODSERIAL mbed-dsp mbed TouchButton
Fork of test by
Revision 17:5fd768d0504f, committed 2014-10-24
- Comitter:
- Tanja2211
- Date:
- Fri Oct 24 10:21:22 2014 +0000
- Parent:
- 16:e997a6fd802a
- Child:
- 18:1110be4aab6e
- Commit message:
- filters veranderd
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Fri Oct 24 09:48:05 2014 +0000 +++ b/main.cpp Fri Oct 24 10:21:22 2014 +0000 @@ -34,13 +34,13 @@ arm_biquad_casd_df1_inst_f32 lowpassT; arm_biquad_casd_df1_inst_f32 lowpassB; //constants for 50Hz lowpass -float lowpass_const[] = {0, 0.558697707784438, 0.257307012382698, -0.292447944767337, 0.108452664934473};//{a0 a1 a2 -b1 -b2} van online calculator +float lowpass_const[] = {0.2928920553392428, 0.5857841106784856, 0.17156822135697122, 1.3007020142696517e-16, -0.17156822135697122};//{a0 a1 a2 -b1 -b2} van online calculator float lowpass_states[4]; arm_biquad_casd_df1_inst_f32 highpassT; arm_biquad_casd_df1_inst_f32 highpassB; //constants for 10Hz highpass -float highpass_const[] = {1.000000000000000, -1.957555609146701, 0.957555609146701, -1.562244197866329, 0.641280516968023};//{a0 a1 a2 -b1 -b2} +float highpass_const[] = {0.6389437261127494, -1.2778874522254988, 0.6389437261127494, 1.1429772843080923, -0.41279762014290533};//{a0 a1 a2 -b1 -b2} float highpass_states[4]; @@ -52,10 +52,9 @@ emg_value_f32T = emgT.read(); //Triceps filteren - arm_biquad_cascade_df1_f32(&highpassT, &emg_value_f32T, &filtered_emgT, 1 ); - arm_biquad_cascade_df1_f32(&lowpassT, &filtered_emgT, &filtered_emgT, 1 ); + arm_biquad_cascade_df1_f32(&lowpassT, &emg_value_f32T, &filtered_emgT, 1 ); filtered_emgT = fabs(filtered_emgT); - + arm_biquad_cascade_df1_f32(&highpassT, &filtered_emgT, &filtered_emgT, 1 ); //Triceps moving average @@ -107,9 +106,11 @@ emg_value_f32B = emgB.read(); //Biceps filteren - arm_biquad_cascade_df1_f32(&highpassB, &emg_value_f32B, &filtered_emgB, 1 ); - arm_biquad_cascade_df1_f32(&lowpassB, &filtered_emgB, &filtered_emgB, 1 ); + arm_biquad_cascade_df1_f32(&lowpassB, &emg_value_f32B, &filtered_emgB, 1 ); filtered_emgB = fabs(filtered_emgB); + arm_biquad_cascade_df1_f32(&highpassB, &filtered_emgB, &filtered_emgB, 1 ); + + //Biceps moving average B0=filtered_emgB;