Cube_Mini_Template
Dependencies: mbed QEI MPU6050_2 BLE_API nRF51822 MCP4725 eMPL_MPU6050
IIR_filter.h@17:a821e95aa21c, 2020-05-29 (annotated)
- Committer:
- BoulusAJ
- Date:
- Fri May 29 15:44:53 2020 +0000
- Revision:
- 17:a821e95aa21c
- Parent:
- 0:8e87cdf07037
Version May 29, 2020
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
BoulusAJ | 0:8e87cdf07037 | 1 | #ifndef IIR_FILTER_H_ |
BoulusAJ | 0:8e87cdf07037 | 2 | #define IIR_FILTER_H_ |
BoulusAJ | 0:8e87cdf07037 | 3 | |
BoulusAJ | 0:8e87cdf07037 | 4 | #include "mbed.h" |
BoulusAJ | 0:8e87cdf07037 | 5 | |
BoulusAJ | 0:8e87cdf07037 | 6 | class IIR_filter{ |
BoulusAJ | 0:8e87cdf07037 | 7 | |
BoulusAJ | 0:8e87cdf07037 | 8 | public: |
BoulusAJ | 0:8e87cdf07037 | 9 | |
BoulusAJ | 0:8e87cdf07037 | 10 | IIR_filter(float T, float Ts); |
BoulusAJ | 0:8e87cdf07037 | 11 | IIR_filter(float T, float Ts, float K); |
BoulusAJ | 0:8e87cdf07037 | 12 | IIR_filter(float w0, float D, float Ts, float K); |
BoulusAJ | 0:8e87cdf07037 | 13 | IIR_filter(float *b, float *a, int nb, int na); |
BoulusAJ | 0:8e87cdf07037 | 14 | IIR_filter() {}; |
BoulusAJ | 0:8e87cdf07037 | 15 | |
BoulusAJ | 0:8e87cdf07037 | 16 | float operator()(float u){ |
BoulusAJ | 0:8e87cdf07037 | 17 | return filter(u); |
BoulusAJ | 0:8e87cdf07037 | 18 | } |
BoulusAJ | 0:8e87cdf07037 | 19 | |
BoulusAJ | 0:8e87cdf07037 | 20 | virtual ~IIR_filter(); |
BoulusAJ | 0:8e87cdf07037 | 21 | |
BoulusAJ | 0:8e87cdf07037 | 22 | void setup(float T, float Ts, float K); |
BoulusAJ | 0:8e87cdf07037 | 23 | void reset(float val); |
BoulusAJ | 0:8e87cdf07037 | 24 | float filter(float input); |
BoulusAJ | 0:8e87cdf07037 | 25 | |
BoulusAJ | 0:8e87cdf07037 | 26 | private: |
BoulusAJ | 0:8e87cdf07037 | 27 | |
BoulusAJ | 0:8e87cdf07037 | 28 | uint8_t nb; |
BoulusAJ | 0:8e87cdf07037 | 29 | uint8_t na; |
BoulusAJ | 0:8e87cdf07037 | 30 | float *B; |
BoulusAJ | 0:8e87cdf07037 | 31 | float *A; |
BoulusAJ | 0:8e87cdf07037 | 32 | float *uk; |
BoulusAJ | 0:8e87cdf07037 | 33 | float *yk; |
BoulusAJ | 0:8e87cdf07037 | 34 | float K; |
BoulusAJ | 0:8e87cdf07037 | 35 | }; |
BoulusAJ | 0:8e87cdf07037 | 36 | #endif |