Control Library by altb
Dependents: My_Libraries IndNav_QK3_T265
IIR_filter.h@15:c70cad2f4e64, 2020-01-16 (annotated)
- Committer:
- pmic
- Date:
- Thu Jan 16 09:12:50 2020 +0000
- Revision:
- 15:c70cad2f4e64
- Parent:
- 14:9184aa9fdac7
Revisit IIR_filter.h and IIR_filter.cpp. Change internal double to float arithmetic.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
altb2 | 13:6ad25476ec59 | 1 | #ifndef IIR_FILTER_H_ |
altb2 | 13:6ad25476ec59 | 2 | #define IIR_FILTER_H_ |
pmic | 15:c70cad2f4e64 | 3 | |
pmic | 15:c70cad2f4e64 | 4 | #include "mbed.h" |
pmic | 15:c70cad2f4e64 | 5 | |
altb | 0:d49418189c5c | 6 | class IIR_filter{ |
pmic | 15:c70cad2f4e64 | 7 | |
altb | 0:d49418189c5c | 8 | public: |
altb | 0:d49418189c5c | 9 | |
altb | 0:d49418189c5c | 10 | IIR_filter(float T, float Ts); |
altb | 0:d49418189c5c | 11 | IIR_filter(float T, float Ts, float K); |
altb | 0:d49418189c5c | 12 | IIR_filter(float w0, float D, float Ts, float K); |
pmic | 15:c70cad2f4e64 | 13 | IIR_filter(float *b, float *a, int nb, int na); |
pmic | 15:c70cad2f4e64 | 14 | IIR_filter() {}; |
altb | 0:d49418189c5c | 15 | |
altb | 0:d49418189c5c | 16 | float operator()(float u){ |
pmic | 15:c70cad2f4e64 | 17 | return filter(u); |
altb | 0:d49418189c5c | 18 | } |
pmic | 15:c70cad2f4e64 | 19 | |
pmic | 15:c70cad2f4e64 | 20 | virtual ~IIR_filter(); |
pmic | 15:c70cad2f4e64 | 21 | |
pmic | 15:c70cad2f4e64 | 22 | void setup(float T, float Ts, float K); |
pmic | 15:c70cad2f4e64 | 23 | void reset(float val); |
pmic | 15:c70cad2f4e64 | 24 | float filter(float input); |
pmic | 15:c70cad2f4e64 | 25 | |
altb | 0:d49418189c5c | 26 | private: |
altb | 0:d49418189c5c | 27 | |
pmic | 15:c70cad2f4e64 | 28 | uint8_t nb; |
pmic | 15:c70cad2f4e64 | 29 | uint8_t na; |
pmic | 15:c70cad2f4e64 | 30 | float *B; |
pmic | 15:c70cad2f4e64 | 31 | float *A; |
pmic | 15:c70cad2f4e64 | 32 | float *uk; |
pmic | 15:c70cad2f4e64 | 33 | float *yk; |
pmic | 15:c70cad2f4e64 | 34 | float K; |
altb2 | 13:6ad25476ec59 | 35 | }; |
altb2 | 13:6ad25476ec59 | 36 | #endif |