Filterd vier EMG signalen en zend naar HIDscope

Dependencies:   MovingAverage mbed HIDScope biquadFilter

Committer:
aschut
Date:
Sat Apr 20 20:08:23 2019 +0000
Revision:
31:4011beb5a03c
Parent:
23:f01a1bd3b3c4
Code om 4 EMG signalen te filteren en met hidscope af te lezen

Who changed what in which revision?

UserRevisionLine numberNew contents of line
aschut 23:f01a1bd3b3c4 1 #include "mbed.h"
aschut 23:f01a1bd3b3c4 2
aschut 23:f01a1bd3b3c4 3 //BiQuad Chains for each EMG, total 4 chains
aschut 23:f01a1bd3b3c4 4 //EMG1!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
aschut 23:f01a1bd3b3c4 5 //Highpass
aschut 23:f01a1bd3b3c4 6 BiQuadChain highp1;
aschut 23:f01a1bd3b3c4 7 BiQuad highp1_1( 9.21171e-01, -1.84234e+00, 9.21171e-01, -1.88661e+00, 8.90340e-01 );
aschut 23:f01a1bd3b3c4 8 BiQuad highp1_2( 1.00000e+00, -2.00000e+00, 1.00000e+00, -1.94922e+00, 9.53070e-01 );
aschut 23:f01a1bd3b3c4 9
aschut 23:f01a1bd3b3c4 10 //Notch
aschut 23:f01a1bd3b3c4 11 BiQuadChain notch1;
aschut 23:f01a1bd3b3c4 12 BiQuad notch1_1( 9.56543e-01, -1.82035e+00, 9.56543e-01, -1.84459e+00, 9.53626e-01 );
aschut 23:f01a1bd3b3c4 13 BiQuad notch1_2( 1.00000e+00, -1.90305e+00, 1.00000e+00, -1.87702e+00, 9.59471e-01 );
aschut 23:f01a1bd3b3c4 14
aschut 23:f01a1bd3b3c4 15 //Lowpass 4th order cutoff 3Hz
aschut 23:f01a1bd3b3c4 16 BiQuadChain lowp1;
aschut 23:f01a1bd3b3c4 17 BiQuad lowp1_1( 7.69910e-09, 1.53982e-08, 7.69910e-09, -1.96542e+00, 9.65769e-01 );
aschut 23:f01a1bd3b3c4 18 BiQuad lowp1_2( 1.00000e+00, 2.00000e+00, 1.00000e+00, -1.98532e+00, 9.85677e-01 );
aschut 23:f01a1bd3b3c4 19
aschut 23:f01a1bd3b3c4 20 //EMG2!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
aschut 23:f01a1bd3b3c4 21 //Highpass
aschut 23:f01a1bd3b3c4 22 BiQuadChain highp2;
aschut 23:f01a1bd3b3c4 23 BiQuad highp2_1( 9.21171e-01, -1.84234e+00, 9.21171e-01, -1.88661e+00, 8.90340e-01 );
aschut 23:f01a1bd3b3c4 24 BiQuad highp2_2( 1.00000e+00, -2.00000e+00, 1.00000e+00, -1.94922e+00, 9.53070e-01 );
aschut 23:f01a1bd3b3c4 25
aschut 23:f01a1bd3b3c4 26 //Notch
aschut 23:f01a1bd3b3c4 27 BiQuadChain notch2;
aschut 23:f01a1bd3b3c4 28 BiQuad notch2_1( 9.56543e-01, -1.82035e+00, 9.56543e-01, -1.84459e+00, 9.53626e-01 );
aschut 23:f01a1bd3b3c4 29 BiQuad notch2_2( 1.00000e+00, -1.90305e+00, 1.00000e+00, -1.87702e+00, 9.59471e-01 );
aschut 23:f01a1bd3b3c4 30
aschut 23:f01a1bd3b3c4 31 //Lowpass 4th order cutoff 3Hz
aschut 23:f01a1bd3b3c4 32 BiQuadChain lowp2;
aschut 23:f01a1bd3b3c4 33 BiQuad lowp2_1( 7.69910e-09, 1.53982e-08, 7.69910e-09, -1.96542e+00, 9.65769e-01 );
aschut 23:f01a1bd3b3c4 34 BiQuad lowp2_2( 1.00000e+00, 2.00000e+00, 1.00000e+00, -1.98532e+00, 9.85677e-01 );
aschut 23:f01a1bd3b3c4 35
aschut 23:f01a1bd3b3c4 36 //EMG3!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
aschut 23:f01a1bd3b3c4 37 //Highpass
aschut 23:f01a1bd3b3c4 38 BiQuadChain highp3;
aschut 23:f01a1bd3b3c4 39 BiQuad highp3_1( 9.21171e-01, -1.84234e+00, 9.21171e-01, -1.88661e+00, 8.90340e-01 );
aschut 23:f01a1bd3b3c4 40 BiQuad highp3_2( 1.00000e+00, -2.00000e+00, 1.00000e+00, -1.94922e+00, 9.53070e-01 );
aschut 23:f01a1bd3b3c4 41
aschut 23:f01a1bd3b3c4 42 //Notch
aschut 23:f01a1bd3b3c4 43 BiQuadChain notch3;
aschut 23:f01a1bd3b3c4 44 BiQuad notch3_1( 9.56543e-01, -1.82035e+00, 9.56543e-01, -1.84459e+00, 9.53626e-01 );
aschut 23:f01a1bd3b3c4 45 BiQuad notch3_2( 1.00000e+00, -1.90305e+00, 1.00000e+00, -1.87702e+00, 9.59471e-01 );
aschut 23:f01a1bd3b3c4 46
aschut 23:f01a1bd3b3c4 47 //Lowpass 4th order cutoff 3Hz
aschut 23:f01a1bd3b3c4 48 BiQuadChain lowp3;
aschut 23:f01a1bd3b3c4 49 BiQuad lowp3_1( 7.69910e-09, 1.53982e-08, 7.69910e-09, -1.96542e+00, 9.65769e-01 );
aschut 23:f01a1bd3b3c4 50 BiQuad lowp3_2( 1.00000e+00, 2.00000e+00, 1.00000e+00, -1.98532e+00, 9.85677e-01 );
aschut 23:f01a1bd3b3c4 51
aschut 23:f01a1bd3b3c4 52 //EMG4!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
aschut 23:f01a1bd3b3c4 53 //Highpass
aschut 23:f01a1bd3b3c4 54 BiQuadChain highp4;
aschut 23:f01a1bd3b3c4 55 BiQuad highp4_1( 9.21171e-01, -1.84234e+00, 9.21171e-01, -1.88661e+00, 8.90340e-01 );
aschut 23:f01a1bd3b3c4 56 BiQuad highp4_2( 1.00000e+00, -2.00000e+00, 1.00000e+00, -1.94922e+00, 9.53070e-01 );
aschut 23:f01a1bd3b3c4 57
aschut 23:f01a1bd3b3c4 58 //Notch
aschut 23:f01a1bd3b3c4 59 BiQuadChain notch4;
aschut 23:f01a1bd3b3c4 60 BiQuad notch4_1( 9.56543e-01, -1.82035e+00, 9.56543e-01, -1.84459e+00, 9.53626e-01 );
aschut 23:f01a1bd3b3c4 61 BiQuad notch4_2( 1.00000e+00, -1.90305e+00, 1.00000e+00, -1.87702e+00, 9.59471e-01 );
aschut 23:f01a1bd3b3c4 62
aschut 23:f01a1bd3b3c4 63 //Lowpass 4th order cutoff 3Hz
aschut 23:f01a1bd3b3c4 64 BiQuadChain lowp4;
aschut 23:f01a1bd3b3c4 65 BiQuad lowp4_1( 7.69910e-09, 1.53982e-08, 7.69910e-09, -1.96542e+00, 9.65769e-01 );
aschut 23:f01a1bd3b3c4 66 BiQuad lowp4_2( 1.00000e+00, 2.00000e+00, 1.00000e+00, -1.98532e+00, 9.85677e-01 );