filtering biceps en triceps
Dependencies: HIDScope mbed-dsp mbed
Diff: main.cpp
- Revision:
- 1:d4f3f7b24852
- Parent:
- 0:055b4123367c
- Child:
- 2:566f1af9d37d
--- a/main.cpp Fri Oct 17 17:06:59 2014 +0000 +++ b/main.cpp Fri Oct 17 17:25:46 2014 +0000 @@ -37,28 +37,40 @@ void looper() { - /*variable to store value in*/ - uint16_t emg_value; - float emg_value_f32; - float filtered_emg_notch; - float filtered_emg_notch_highpass; - float filtered_emg_notch_highpass_lowpass; - float filtered_emg_eindsignaal_abs; + /*variable to store value in for biceps*/ + uint16_t emg0_value; + float emg0_value_f32; + float filtered_emg0_eindsignaal_abs; + + /*variable to store value in for triceps*/ + uint16_t emg1_value; + float emg1_value_f32; + float filtered_emg1_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(); + emg0_value = emg0.read_u16(); // read direct ADC result, converted to 16 bit integer (0..2^16 = 0..65536 = 0..3.3V) + emg0_value_f32 = emg0.read(); //?????moet hiet eindsignaal ook bij staan??????? + + emg1_value = emg1.read_u16(); // read direct ADC result, converted to 16 bit integer (0..2^16 = 0..65536 = 0..3.3V) + emg1_value_f32 = emg1.read(); - //process emg - 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); + //process emg biceps + arm_biquad_cascade_df1_f32(¬ch, &emg0_value_f32, &filtered_emg0_notch, 1 ); + arm_biquad_cascade_df1_f32(&highpass, &filtered_emg0_notch, &filtered_emg0_notch_highpass, 1 ); + arm_biquad_cascade_df1_f32(&lowpass, &filtered_emg0_notch_highpass, &filtered_emg0_notch_highpass_lowpass, 1 ); + filtered_emg0_eindsignaal_abs = 10*fabs(filtered_emg0_notch_highpass_lowpass); - 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(4,filtered_emg_eindsignaal_abs); + //process emg triceps + arm_biquad_cascade_df1_f32(¬ch, &emg1_value_f32, &filtered_emg1_notch, 1 ); + arm_biquad_cascade_df1_f32(&highpass, &filtered_emg1_notch, &filtered_emg1_notch_highpass, 1 ); + arm_biquad_cascade_df1_f32(&lowpass, &filtered_emg1_notch_highpass, &filtered_emg1_notch_highpass_lowpass, 1 ); + filtered_emg1_eindsignaal_abs = 10*fabs(filtered_emg1_notch_highpass_lowpass); + + //send to PC + scope.set(0,emg0_value_f32); + scope.set(1,filtered_emg0_eindsignaal_abs); + scope.set(3,emg1_value_f32); + scope.set(4,filtered_emg1_eindsignaal_abs); scope.send(); }