.
Fork of Cntrlol_Lib by
IIR_filter.h@0:e2a7d7f91e49, 2018-09-28 (annotated)
- Committer:
- altb
- Date:
- Fri Sep 28 08:34:20 2018 +0000
- Revision:
- 0:e2a7d7f91e49
ContrLib with PI, PID and Filters
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
altb | 0:e2a7d7f91e49 | 1 | class IIR_filter{ |
altb | 0:e2a7d7f91e49 | 2 | public: |
altb | 0:e2a7d7f91e49 | 3 | |
altb | 0:e2a7d7f91e49 | 4 | IIR_filter(float T, float Ts); |
altb | 0:e2a7d7f91e49 | 5 | IIR_filter(float T, float Ts, float K); |
altb | 0:e2a7d7f91e49 | 6 | IIR_filter(float w0, float D, float Ts, float K); |
altb | 0:e2a7d7f91e49 | 7 | IIR_filter(float *b, float *a, int nb_, int na_); |
altb | 0:e2a7d7f91e49 | 8 | |
altb | 0:e2a7d7f91e49 | 9 | float operator()(float u){ |
altb | 0:e2a7d7f91e49 | 10 | return filter((double)u); |
altb | 0:e2a7d7f91e49 | 11 | } |
altb | 0:e2a7d7f91e49 | 12 | virtual ~IIR_filter(); |
altb | 0:e2a7d7f91e49 | 13 | void reset(float); |
altb | 0:e2a7d7f91e49 | 14 | float filter(double); |
altb | 0:e2a7d7f91e49 | 15 | |
altb | 0:e2a7d7f91e49 | 16 | private: |
altb | 0:e2a7d7f91e49 | 17 | |
altb | 0:e2a7d7f91e49 | 18 | unsigned int nb; |
altb | 0:e2a7d7f91e49 | 19 | unsigned int na; |
altb | 0:e2a7d7f91e49 | 20 | double *B; |
altb | 0:e2a7d7f91e49 | 21 | double *A; |
altb | 0:e2a7d7f91e49 | 22 | double *uk; |
altb | 0:e2a7d7f91e49 | 23 | double *yk; |
altb | 0:e2a7d7f91e49 | 24 | double K; |
altb | 0:e2a7d7f91e49 | 25 | }; |