Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: HIDScope MODSERIAL mbed-dsp mbed
Fork of emg_filter by
Revision 55:f215d954533c, committed 2014-10-20
- Comitter:
- Tanja2211
- Date:
- Mon Oct 20 11:17:50 2014 +0000
- Parent:
- 54:f3a9fa5f2b0e
- Child:
- 56:57a5fcfdce72
- Commit message:
- calibratie
Changed in this revision
| EMGfilter.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/EMGfilter.cpp Mon Oct 20 10:26:11 2014 +0000
+++ b/EMGfilter.cpp Mon Oct 20 11:17:50 2014 +0000
@@ -4,7 +4,6 @@
#include "arm_math.h"
-
// ****** emg filter shizzle ******
//Define objects
@@ -13,6 +12,7 @@
float filtered_emgB;
float filtered_emgT;
+float MeanT1, MeanT2, MeanB1, MeanB2, MeanB3;
float B0, B1, B2, B3, B4, B5, B6, B7, B8, B9, MOVAVG_B;
float T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, MOVAVG_T;
float drempelwaardeB1, drempelwaardeB2, drempelwaardeB3, drempelwaardeT1, drempelwaardeT2;
@@ -48,6 +48,39 @@
* local in the looper function only.
**/
+// Calibratie
+
+pc.printf("Calibratie drempelwaarde Triceps stand 1\n");
+wait(0.5);
+int i;
+int j=19;
+
+
+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();
+
+ //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
+{
+
+ 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
+
+
+}
+
+
+
//BICEP EMG LEZEN
void looperB()
{
@@ -70,7 +103,6 @@
scope.send();
// Moving Average Filter Biceps
-
{
B0=filtered_emgB;
@@ -84,11 +116,8 @@
B3=B2;
B2=B1;
B1=B0;
-
}
}
-
-
// Triceps EMG lezen
void looperT()
{
@@ -110,9 +139,7 @@
scope.set(3,filtered_emgT); //processed float
scope.send();
- // Moving Average Filter Triceps
-
-
+ // 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;
@@ -126,11 +153,9 @@
T3=T2;
T2=T1;
T1=T0;
-
}
}
-
int main()
{
Ticker log_timer;
