EMG filter. Waarden nog niet perfekt.

Dependencies:   HIDScope mbed

Committer:
janwillembisschop
Date:
Fri Oct 21 12:11:52 2016 +0000
Revision:
0:2956e3501f8a
Child:
1:70dc835f3a37
EMG filter. Waarde nog niet perfekt.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
janwillembisschop 0:2956e3501f8a 1 #include "FilterDesign.h"
janwillembisschop 0:2956e3501f8a 2 #include "Filter.h"
janwillembisschop 0:2956e3501f8a 3
janwillembisschop 0:2956e3501f8a 4 double v1_50 = 0, v2_50 = 0;
janwillembisschop 0:2956e3501f8a 5 const double a1_50 = -1.52337295428, a2_50 = 0.93195385841;
janwillembisschop 0:2956e3501f8a 6 const double b0_50 = 1.00000000000, b1_50 = -1.61854514929, b2_50 = 1.00000000000;
janwillembisschop 0:2956e3501f8a 7 const double gain_50 = 1.00000000000;
janwillembisschop 0:2956e3501f8a 8
janwillembisschop 0:2956e3501f8a 9 double v1_LP = 0, v2_LP = 0;
janwillembisschop 0:2956e3501f8a 10 const double a1_LP = -1.93503824887, a2_LP = 0.93708289663;
janwillembisschop 0:2956e3501f8a 11 const double b0_LP = 1.00000000000, b1_LP = 2.00000000000, b2_LP = 1.00000000000;
janwillembisschop 0:2956e3501f8a 12 const double gain_LP = 0.000511;
janwillembisschop 0:2956e3501f8a 13
janwillembisschop 0:2956e3501f8a 14 double v1_HP = 0, v2_HP = 0;
janwillembisschop 0:2956e3501f8a 15 const double a1_HP = -0.76475499450, a2_HP = 0.27692273367;
janwillembisschop 0:2956e3501f8a 16 const double b0_HP = 1.00000000000, b1_HP = -2.0, b2_HP = 1.00000000000;
janwillembisschop 0:2956e3501f8a 17 const double gain_HP = 0.510419;
janwillembisschop 0:2956e3501f8a 18
janwillembisschop 0:2956e3501f8a 19 double FilterDesign(double u)
janwillembisschop 0:2956e3501f8a 20 {
janwillembisschop 0:2956e3501f8a 21
janwillembisschop 0:2956e3501f8a 22 double y_50 = Filter(u,v1_50,v2_50,a1_50,a2_50,b0_50,b1_50,b2_50,gain_50);
janwillembisschop 0:2956e3501f8a 23 double y_HP = Filter(y_50,v1_HP,v2_HP,a1_HP,a2_HP,b0_HP,b1_HP,b2_HP,gain_HP);
janwillembisschop 0:2956e3501f8a 24 double y_abs = fabs(y_HP);
janwillembisschop 0:2956e3501f8a 25 double y_LP = Filter(y_abs,v1_LP,v2_LP,a1_LP,a2_LP,b0_LP,b1_LP,b2_LP,gain_LP);
janwillembisschop 0:2956e3501f8a 26 double y = 10 + y_LP;
janwillembisschop 0:2956e3501f8a 27
janwillembisschop 0:2956e3501f8a 28 return y;
janwillembisschop 0:2956e3501f8a 29
janwillembisschop 0:2956e3501f8a 30 }