test
Dependencies: HIDScope MODSERIAL mbed-dsp mbed
Fork of emg_filter2 by
Revision 58:b5bb78380767, committed 2014-10-20
- Comitter:
- Tanja2211
- Date:
- Mon Oct 20 12:22:55 2014 +0000
- Parent:
- 57:5136d9823508
- Child:
- 59:fa8d6909d8ac
- Commit message:
- Not working, needs to shift functions to main loop
Changed in this revision
EMGfilter.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/EMGfilter.cpp Mon Oct 20 12:14:14 2014 +0000 +++ b/EMGfilter.cpp Mon Oct 20 12:22:55 2014 +0000 @@ -54,30 +54,30 @@ pc.printf("Calibratie drempelwaarde Triceps stand 1\n"); wait(0.5); { -int i; -int j=19; + int i; + int j=19; -for (i = 0, i<=j; i ++) -{ - /*variable to store value in*/ - uint16_t emg_valueT1i_C; + for (i = 0, i<=j; i ++) { + /*variable to store value in*/ + uint16_t emg_valueT1i_C; + + float emg_value_f32T1i_C; + /*put raw emg value both in red and in emg_value*/ + emg_valueT1i_C = emgT1i_C.read_u16(); // read direct ADC result, converted to 16 bit integer (0..2^16 = 0..65536 = 0..3.3V) + emg_value_f32T1i_C = emgT1i_C.read(); - float emg_value_f32T1i_C; - /*put raw emg value both in red and in emg_value*/ - emg_valueT1i_C = emgT1i_C.read_u16(); // read direct ADC result, converted to 16 bit integer (0..2^16 = 0..65536 = 0..3.3V) - emg_value_f32T1i_C = emgT1i_C.read(); + //process emg + arm_biquad_cascade_df1_f32(&highpass, &emg_value_f32T1i_C, &filtered_emgT1i_C, 1 ); + filtered_emgT1i_C = fabs(filtered_emgT1i_C); + arm_biquad_cascade_df1_f32(&lowpass, &filtered_emgT1i_C, &filtered_emgT1i_C, 1 ); + } +} +// Mean Triceps stand 1 - //process emg - arm_biquad_cascade_df1_f32(&highpass, &emg_value_f32T1i_C, &filtered_emgT1i_C, 1 ); - filtered_emgT1i_C = fabs(filtered_emgT1i_C); - arm_biquad_cascade_df1_f32(&lowpass, &filtered_emgT1i_C, &filtered_emgT1i_C, 1 ); -}} - // Mean Triceps stand 1 - - float MeanT1=filtered_emgT10_C*0.05+filtered_emgT11_C*0.05+filtered_emgT12_C*0.05+filtered_emgT13_C*0.05+filtered_emgT14_C*0.05+filtered_emgT15_C*0.05+filtered_emgT16_C*0.05+filtered_emgT17_C*0.05+filtered_emgT18_C*0.05+filtered_emgT19_C*0.05+filtered_emgT110_C*0.05+filtered_emgT111_C*0.05+filtered_emgT112_C*0.05+filtered_emgT113_C*0.05+filtered_emgT114_C*0.05+filtered_emgT115_C*0.05+filtered_emgT116_C*0.05+filtered_emgT117_C*0.05+filtered_emgT118_C*0.05+filtered_emgT119_C*0.05; +float MeanT1=filtered_emgT10_C*0.05+filtered_emgT11_C*0.05+filtered_emgT12_C*0.05+filtered_emgT13_C*0.05+filtered_emgT14_C*0.05+filtered_emgT15_C*0.05+filtered_emgT16_C*0.05+filtered_emgT17_C*0.05+filtered_emgT18_C*0.05+filtered_emgT19_C*0.05+filtered_emgT110_C*0.05+filtered_emgT111_C*0.05+filtered_emgT112_C*0.05+filtered_emgT113_C*0.05+filtered_emgT114_C*0.05+filtered_emgT115_C*0.05+filtered_emgT116_C*0.05+filtered_emgT117_C*0.05+filtered_emgT118_C*0.05+filtered_emgT119_C*0.05; - + @@ -103,7 +103,7 @@ scope.send(); // Moving Average Filter Biceps - + { B0=filtered_emgB; MOVAVG_B=B0*0.1+B1*0.1+B2*0.1+B3*0.1+B4*0.1+B5*0.1+B6*0.1+B7*0.1+B8*0.1+B9*0.1; @@ -139,21 +139,21 @@ scope.set(3,filtered_emgT); //processed float scope.send(); - // Moving Average Filter Triceps -{ - T0=filtered_emgT; - MOVAVG_T=T0*0.1+T1*0.1+T2*0.1+T3*0.1+T4*0.1+T5*0.1+T6*0.1+T7*0.1+T8*0.1+T9*0.1; + // Moving Average Filter Triceps + { + T0=filtered_emgT; + MOVAVG_T=T0*0.1+T1*0.1+T2*0.1+T3*0.1+T4*0.1+T5*0.1+T6*0.1+T7*0.1+T8*0.1+T9*0.1; - T9=T8; - T8=T7; - T7=T6; - T6=T5; - T5=T4; - T4=T3; - T3=T2; - T2=T1; - T1=T0; -} + T9=T8; + T8=T7; + T7=T6; + T6=T5; + T5=T4; + T4=T3; + T3=T2; + T2=T1; + T1=T0; + } } int main() @@ -183,35 +183,37 @@ drempelwaardeT1=4.99; drempelwaardeT2=7; int yT1, yT2; - - if (MOVAVG_T > drempelwaardeT1) { - yT1=1; - if (MOVAVG_T > drempelwaardeT2) { + + if (MOVAVG_T > drempelwaardeT1) { + yT1=1; + if (MOVAVG_T > drempelwaardeT2) { yT2=1; } else { - yT2=0; } - } else { - yT1=0; + yT2=0; } - -int positie; - - positie=yT1+yT2; - if (positie==0) { - pc.printf("Motor 2 beweegt niet\n"); - } else { - pc.printf("Motor 2 gaat beweegen\n"); } - if (positie==1) { - pc.printf("Motor 2 beweegt naar positie 1\n"); - } else { - pc.printf("Motor 1 beweegt niet naar positie 1\n"); - } - if (positie==2) { - pc.printf("Motor 1 beweegt naar positie 2\n"); - } else { - pc.printf("Motor 1 beweegt niet naar positie 2\n"); - } - + } else { + yT1=0; + } + + int positie; + + positie=yT1+yT2; + if (positie==0) { + pc.printf("Motor 2 beweegt niet\n"); + } else { + pc.printf("Motor 2 gaat beweegen\n"); + } + if (positie==1) { + pc.printf("Motor 2 beweegt naar positie 1\n"); + } else { + pc.printf("Motor 1 beweegt niet naar positie 1\n"); + } + if (positie==2) { + pc.printf("Motor 1 beweegt naar positie 2\n"); + } else { + pc.printf("Motor 1 beweegt niet naar positie 2\n"); + } +} void AntwoordB() { drempelwaardeB1=4.99; @@ -224,32 +226,35 @@ if (MOVAVG_B > drempelwaardeB1) { yB1=1; if (MOVAVG_B > drempelwaardeB2) { - yB2=1; - if (MOVAVG_B > drempelwaardeB3) { - yB3=1;} - else { - yB3=0;} + yB2=1; + if (MOVAVG_B > drempelwaardeB3) { + yB3=1; + } else { + yB3=0; + } + } else { + yB2=0; + } } else { - yB2=0; } - } else { yB1=0; } - + int snelheidsstand; - + snelheidsstand=yB1+yB2+yB3; if (snelheidsstand==1) { - pc.printf("Motor 1 beweegt met snelheid 1\n"); - } else { - pc.printf("Motor 1 beweegt niet met snelheid 1\n"); } - if (snelheidsstand==2) { - pc.printf("Motor 1 beweegt met snelheid 2\n"); - } else { - pc.printf("Motor 1 beweegt niet met snelheid 2\n"); - } - if (snelheidsstand==3) { - pc.printf("Motor 1 beweegt met snelheid 3\n"); - } else { - pc.printf("Motor 1 beweegt niet met snelheid 3\n"); - } + pc.printf("Motor 1 beweegt met snelheid 1\n"); + } else { + pc.printf("Motor 1 beweegt niet met snelheid 1\n"); } + if (snelheidsstand==2) { + pc.printf("Motor 1 beweegt met snelheid 2\n"); + } else { + pc.printf("Motor 1 beweegt niet met snelheid 2\n"); + } + if (snelheidsstand==3) { + pc.printf("Motor 1 beweegt met snelheid 3\n"); + } else { + pc.printf("Motor 1 beweegt niet met snelheid 3\n"); + } + }