Filter emg 7-10-15 v1

Dependencies:   HIDScope mbed MODSERIAL

Committer:
Bartvaart
Date:
Tue Oct 06 12:02:22 2015 +0000
Revision:
0:557b1ff83a8a
Child:
1:98be4152a539
Weet niet zeker of die van net goed ging dus nog een keer voor we op compile gaan drukken. Spannend!

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Bartvaart 0:557b1ff83a8a 1 #include "Filter.h"
Bartvaart 0:557b1ff83a8a 2
Bartvaart 0:557b1ff83a8a 3 double Filter(double u, double &v1, double &v2, const double a1, const double a2, const double b0, const double b1, const double b2){
Bartvaart 0:557b1ff83a8a 4 // volgens direct form 2, uit de embedded filtering and control sheets van T.J.W. Lankhorst
Bartvaart 0:557b1ff83a8a 5 // u = ingangssignaal (zonder filter)
Bartvaart 0:557b1ff83a8a 6 // v = tussentap
Bartvaart 0:557b1ff83a8a 7 // v1 = v bij u(x-1), dus v van 1 geleden
Bartvaart 0:557b1ff83a8a 8 // v2 = v bij u(x-2), dus v van 2 geleden
Bartvaart 0:557b1ff83a8a 9 // a1 en a2 variabele uit ASN filter, a0 =1
Bartvaart 0:557b1ff83a8a 10 // b0, b1, b2 variabele uit ASN filter
Bartvaart 0:557b1ff83a8a 11 // y = uitgangssignaal (gefilterd)
Bartvaart 0:557b1ff83a8a 12
Bartvaart 0:557b1ff83a8a 13 double v = u - a1 * v1 - a2 * v2;
Bartvaart 0:557b1ff83a8a 14 double y = b0 * v + b1 * v1 + b2 * v2
Bartvaart 0:557b1ff83a8a 15
Bartvaart 0:557b1ff83a8a 16 v2 = v1; // signalen doorschuiven, zodat bij volgende input, de vorige waardes vsn v worden onthouden
Bartvaart 0:557b1ff83a8a 17 v1 = v;
Bartvaart 0:557b1ff83a8a 18
Bartvaart 0:557b1ff83a8a 19 return y;
Bartvaart 0:557b1ff83a8a 20 }