enhanced functionality in V01 vs. V00, V02 finished, conversion to double precsision in V03

Dependencies:   mbed

GPA.h

Committer:
pmic
Date:
18 months ago
Revision:
22:c895fa4d7319
Parent:
21:55b11670959e

File content as of revision 22:c895fa4d7319:

class GPA
{
public:

    GPA(float fMin, float fMax, int NfexcDes, int NperMin, int NmeasMin, float Ts, float Aexc0, float Aexc1);

    float operator()(float inp, float out) {
        return update(inp, out);
    }

    virtual ~GPA();

    void     reset();
    float    update(float inp, float out);

    void     printGPAfexcDes();
    void     printGPAmeasPara();
    void     printGPAmeasTime();

private:

    int    NfexcDes;
    int    NperMin;
    int    NmeasMin;
    float  Ts;
    float *fexcDes;
    float  aAexcDes;
    float  bAexcDes;

    float  fnyq;
    float  pi2;
    float  pi2Ts;
    float  piDiv2;

    int    Nmeas;
    int    Nper;
    float  fexc;
    float  fexcPast;
    int    ii;
    int    jj;
    float  scaleG;
    float  cr;
    float  ci;
    float *sU;
    float *sY;
    float  sinarg;
    int    NmeasTotal;
    float  Aexc;
    float  pi2Tsfexc;

    void   fexcDesLogspace(float fMin, float fMax, int NfexcDes);
    void   calcGPAmeasPara(float fexcDes_i);
    void   printLine();

};