Cube_Mini_Template

Dependencies:   mbed QEI MPU6050_2 BLE_API nRF51822 MCP4725 eMPL_MPU6050

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?

UserRevisionLine numberNew 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