Filter emg 7-10-15 v1
Dependencies: HIDScope mbed MODSERIAL
Diff: Filterdesigns.cpp
- Revision:
- 7:040591b3f019
- Parent:
- 6:8197f9446daf
- Child:
- 9:1655d67d8a53
--- a/Filterdesigns.cpp Wed Oct 07 11:46:29 2015 +0000 +++ b/Filterdesigns.cpp Wed Oct 07 12:42:19 2015 +0000 @@ -1,11 +1,9 @@ #include "Filterdesigns.h" -#include "HIDScope.h" #include "Filter.h" #include "Meanvalue.h" -AnalogIn emg(A0); //Analog input van emg kabels -HIDScope scope(3); //2 scopes - +// Inputwaardes +// Filter1a: 50Hz Notch double v1_50a = 0, v2_50a = 0; const double a1_50a = -1.56858163817, a2_50a = 0.96424138921; const double b0_50a = 1.00000000000, b1_50a = -1.61854514265, b2_50a = 1.00000000000; @@ -37,18 +35,16 @@ //gemiddelde bepalen double sum = 0; -double ymean = 0; int a = 0; int delay = 40; - -void Filterdesign1() +void Filterdesign1(double u, double &y, double &ymean) { //u = input waarde //y = output waarde - double u = emg.read() - gem; // lees waarde van emg signaal uit + u = u - gem; // lees waarde van emg signaal uit // Op deze manier worden de waardes ingelezen in Filter. Zorg dus voor dezelfde volgorde, zodat de waardes goed uitgelezen worden!: // Filter(double u, double &v1, double &v2, const double a1, const double a2, const double b0, const double b1, const double b2, const double gain) @@ -66,13 +62,7 @@ // Low Pass filter. Alles vanaf 5Hz wordt weggefilterd double yLP = Filter(y1, v1_LP, v2_LP, a1_LP, a2_LP, b0_LP, b1_LP, b2_LP, gain_LP); - double y = 10 * yLP; + y = 10 * yLP; ymean = Meanvalue(y, sum, a, ymean, delay); - - // Plotten in HIDscope - scope.set(0,u); //ongefilterde waarde naar scope 1 - scope.set(1,y); //gefilterde waarde naar scope 2 - scope.set(2,ymean); // gefilterde en gemiddelde waarde naar scope 3 - scope.send(); //stuur de waardes naar HIDscope } \ No newline at end of file