Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: HIDScope MODSERIAL QEI TextLCD mbed
Filter.cpp@2:ae55928ff00f, 2015-10-06 (annotated)
- Committer:
 - Bartvaart
 - Date:
 - Tue Oct 06 12:19:27 2015 +0000
 - Revision:
 - 2:ae55928ff00f
 - Parent:
 - 1:98be4152a539
 - Child:
 - 3:344b173f85fe
 
Aan het filter is een gain toegevoegd die de uitkomstwaarde met een bepaalde constante vermenigvuldigd
Who changed what in which revision?
| User | Revision | Line number | New contents of line | 
|---|---|---|---|
| Bartvaart | 0:557b1ff83a8a | 1 | #include "Filter.h" | 
| Bartvaart | 0:557b1ff83a8a | 2 | |
| Bartvaart | 2:ae55928ff00f | 3 | double 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){ | 
| 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 | 2:ae55928ff00f | 14 | double y = gain * (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 | } |