atoombom

Dependencies:   Encoder HIDScope mbed

Fork of EMG by Tom Tom

Committer:
Bartvaart
Date:
Mon Sep 28 10:11:01 2015 +0000
Revision:
18:4ebf5e640f0c
Child:
20:4fe3cab02341
Eerste poging kopie uit sheets Biquad filter

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Bartvaart 18:4ebf5e640f0c 1 #include "encoder.h"
Bartvaart 18:4ebf5e640f0c 2 #include "led_flipper.h"
Bartvaart 18:4ebf5e640f0c 3
Bartvaart 18:4ebf5e640f0c 4 // Define a Ticker, variables for storage, input and output
Bartvaart 18:4ebf5e640f0c 5 Ticker biquadTicker;
Bartvaart 18:4ebf5e640f0c 6 double v1 = 0, v2 = 0, u = 0, y = 0;
Bartvaart 18:4ebf5e640f0c 7 const double a1 = 1.2, a2 = 2.3, b0 = 1.2, b1 = 2.2, b2 = 0.3;
Bartvaart 18:4ebf5e640f0c 8 // Implement the computation function
Bartvaart 18:4ebf5e640f0c 9 void computeBiquad()
Bartvaart 18:4ebf5e640f0c 10 {
Bartvaart 18:4ebf5e640f0c 11 double v = u − a1∗v1 − a2∗v2;
Bartvaart 18:4ebf5e640f0c 12 y = b0∗v + b1∗v1 + b2∗v2;
Bartvaart 18:4ebf5e640f0c 13 v2 = v1;
Bartvaart 18:4ebf5e640f0c 14 v1 = v;
Bartvaart 18:4ebf5e640f0c 15 }
Bartvaart 18:4ebf5e640f0c 16
Bartvaart 18:4ebf5e640f0c 17 double filter()
Bartvaart 18:4ebf5e640f0c 18 {
Bartvaart 18:4ebf5e640f0c 19 biquadTicker.attach(&computeBiquad, 0.01); // 100 Hz
Bartvaart 18:4ebf5e640f0c 20 while(1) {}
Bartvaart 18:4ebf5e640f0c 21 }