atoombom
Dependencies: Encoder HIDScope mbed
Fork of EMG by
LowPassFilter.cpp@18:4ebf5e640f0c, 2015-09-28 (annotated)
- 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?
User | Revision | Line number | New 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 | } |