Template for group 4

Dependencies:   mbed

Fork of RT2_P3_students by RT2_P3_students

GPA.h

Committer:
altb
Date:
2018-04-27
Revision:
10:85840c065e00
Parent:
6:8ed679044a72

File content as of revision 10:85840c065e00:

#ifndef GPA_H_
#define GPA_H_


class GPA
{
public:

    GPA(float fMin, float fMax, int NfexcDes, int NperMin, int NmeasMin, float Ts, float Aexc0, float Aexc1);
    GPA(float f0, float f1, float *fexcDes, int NperMin, int NmeasMin, float Ts, float Aexc0, float Aexc1);
    GPA(float *fexcDes, int NperMin, int NmeasMin, float Ts, float Aexc0, float Aexc1);

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

    virtual ~GPA();

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

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

private:

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

    double  fnyq;
    double  pi2;
    double  pi2Ts;
    double  piDiv2;

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

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

};


#endif /* GPA_H_ */