| x
    | 
sinest.h
  
Go to the documentation of this file.
   36 void ddWindow(cdouble* ddx, cdouble* dx, cdouble* x, double f, int N, int M, double* c, int K1, int K2);
   41 double IPWindow(double f, cdouble* x, int N, int M, double* c, double iH2, int K1, int K2, bool returnamplitude);
   44 double ddIPWindow(double f, cdouble* x, int N, int M, double* c, double iH2, int K1, int K2, double& dipwindow, double& ipwindow);
   46 double sIPWindow(double f, int L, cdouble** x, int N, int M, double* c, double iH2, int K1, int K2, cdouble* ej2ph=0);
   48 double dsIPWindow(double f, int L, cdouble** x, int N, int M, double* c, double iH2, int K1, int K2, double& sip);
   50 double ddsIPWindow(double f, int L, cdouble** x, int N, int M, double* c, double iH2, int K1, int K2, double& dsip, double& sip);
   52 double ddsIPWindow_unn(double f, cdouble* x, int N, int M, double* c, int K1, int K2, double& dsipwindow, double& sipwindow, cdouble* w_unn=0);
   54 double sIPWindowC(double f, int L, double offst_rel, cdouble** x, int N, int M, double* c, double iH2, int K1, int K2, cdouble* ej2ph=0);
   56 double dsIPWindowC(double f, int L, double offst_rel, cdouble** x, int N, int M, double* c, double iH2, int K1, int K2, double& sip);
   58 double ddsIPWindowC(double f, int L, double offst_rel, cdouble** x, int N, int M, double* c, double iH2, int K1, int K2, double& dsip, double& sip);
   62 double LSESinusoid(cdouble* x, int N, double B, int M, double* c, double iH2, double& a, double& pp, double epf=1e-6);
   63 void LSESinusoid(double& f, cdouble* x, int N, double B, int M, double* c, double iH2, double& a, double& pp, double epf=1e-6);
   64 double LSESinusoid(int f1, int f2, cdouble* x, int N, double B, int M, double* c, double iH2, double& a, double& pp, double epf);
   65 int LSESinusoid(double& f, double f1, double f2, cdouble* x, int N, double B, int M, double* c, double iH2, double& a, double& pp, double epf);
   66 double LSESinusoidMP(double& f, double f1, double f2, cdouble** x, int Fr, int N, double B, int M, double* c, double iH2, double* a, double* ph, double epf);
   69 void IPMulti(int I, double* f, cdouble* lmd, cdouble* x, int Wid, int K1, int K2, int M, double* c, double eps=0);
   70 void IPMulti(int I, double* f, cdouble* lmd, cfloat* x, int Wid, int K1, int K2, int M, double* c, double eps=0, double* sens=0, double* r1=0);
   71 void IPMultiSens(int I, double* f, int Wid, int K1, int K2, int M, double* c, double* sens, double eps=0);
   72 double IPMulti(int I, double* f, cdouble* lmd, cdouble* x, int Wid, int M, double* c, double iH2, int B);
   73 double IPMulti_Direct(int I, double* f, double* ph, double* a, cdouble* x, int Wid, int M, double* c, double iH2, int B);
   74 double IPMulti_GS(int I, double* f, double* ph, double* a, cdouble* x, int Wid, int M, double* c, double iH2, int B, double** L=0, double** Q=0);
   75 cdouble* IPMulti(int I, int J, double* f, double* ph, double* a, cdouble* x, int Wid, int M, double* c, cdouble** wt=0, cdouble** Q=0, double** L=0, MList* RetList=0);
   79 double ddWindowDuo(double df, int N, double* d, int M, double& dwindow, double& window, cdouble* w);
   80 double sIPWindowDuo(double f1, double f2, cdouble* x, int N, double* c, double* d, int M, double iH2, int K1, int K2, cdouble& lmd1, cdouble& lmd2);
   82 void ddsIPWindowDuo(double* ddsip2, double f1, double f2, cdouble* x, int N, double* c, double* d, int M, double iH2, int K1, int K2, cdouble& lmd1, cdouble& lmd2);
   84 int LSEDuo(double& f2, double fmin, double fmax, double f1, cdouble* x, int N, double B, double* c, double* d, int M, double iH2, cdouble& r1, cdouble &r2, double epf);
   87 void TFReas(double& f, double& t, double& fslope, int Wid, cdouble* data, double* win, double* dwin, double* ddwin, double* plogaslope=0);
   88 void TFReas(double& f, double t, double& a, double& ph, double& fslope, int Wid, cdouble* data, double* w, double* dw, double* ddw, double* win=0);
   91 typedef double (*TBasicAnalyzer)(double* fs, double* as, double* phs, double* das, cdouble* x, int Count, int Wid, int Offst, __int16* ref, int reserved, bool LogA);
   92 void AdditiveUpdate(double* fs, double* as, double* phs, double* das, cdouble* x, int Count, int Wid, int Offst, TBasicAnalyzer BasicAnalyzer, int reserved, bool LogA=false);
   93 void AdditiveAnalyzer(double* fs, double* as, double* phs, double* das, cdouble* x, int Count, int Wid, int Offst, __int16* ref, TBasicAnalyzer BasicAnalyzer, int reserved, bool LogA=false);
   94 void MultiplicativeUpdate(double* fs, double* as, double* phs, double* das, cdouble* x, int Count, int Wid, int Offst, TBasicAnalyzer BasicAnalyzer, int reserved, bool LogA=false);
   95 void MultiplicativeAnalyzer(double* fs, double* as, double* phs, double* das, cdouble* x, int Count, int Wid, int Offst, __int16* ref, TBasicAnalyzer BasicAnalyzer, int reserved, bool LogA=false);
   96 void MultiplicativeUpdateF(double* fs, double* as, double* phs, __int16* x, int Fr, int frst, int fren, int Wid, int Offst);
   98 void ReEstFreq(int FrCount, int Wid, int Offst, double* x, double* fbuf, double* abuf, double* pbuf, double* win, int M, double* c, double iH2, cdouble* w, cdouble* xc, cdouble* xs, double* ps, double* fa, double* fb, double* fc, double* fd, double* ns, int* Wids=0);
   99 void ReEstFreq_2(int FrCount, int Wid, int Offst, double* x, double* fbuf, double* abuf, double* pbuf, double* win, int M, double* c, double iH2, cdouble* w, cdouble* xc, cdouble* xs, double* f3, double* f2, double* f1, double* f0, double* ns);
  100 void ReEstFreqAmp(int FrCount, int Wid, int Offst, double* x, double* fbuf, double* abuf, double* pbuf, double* win, int M, double* c, double iH2, cdouble* w, cdouble* xc, cdouble* xs, double* ps, double* as, double* fa, double* fb, double* fc, double* fd, double* aa, double* ab, double* ac, double* ad, double* ns, int* Wids=0);
  101 int Reestimate2(int FrCount, int Wid, int Offst, double* win, int M, double* c, double iH2, double* x, double* ae, double* fe, double* pe, double* aret, double* fret, double *pret, int maxiter, int* Wids=0);
  104 void Derivative(int M, double (**h)(double t, void*), double (**dh)(double t, void*), cdouble* r, int p0s, int* p0, int q0s, int* q0, int Wid, double* s, double** win, double omg, void* harg);
  105 void DerivativeLS(int K, int M, double (**h)(double t, void* harg), double (**dh)(double t, void* harg), cdouble* r, int p0s, int* p0, int q0s, int* q0, int Wid, double* s, double** win, double omg, void* harg, bool r0=false);
  106 void DerivativeLS(int Fr, int K, int M, double (**h)(double t, void* harg), double (**dh)(double t, void* harg), cdouble* r, int p0s, int* p0, int q0s, int* q0, int Wid, double* s, double** win, double omg, void* harg, bool r0=false);
  109 void TFAS05(double& f, double& t, double& a, double& ph, double& aesp, double& fslope, int Wid, double* data, double* w, double res=1);
  110 void TFAS05_enh(double& f, double& t, double& a, double& ph, double& aesp, double& fslope, int Wid, double* data, double* w, double res=1);
  111 void TFAS05_enh(double& f, double& t, double& a, double& ph, int Wid, double* data, double* w, double res=1);
  114 void DerivativePiecewise(int N, cdouble* aita, int L, double* f, int T, cdouble* s, double*** A, int M, double** h, int I, cdouble** u, cdouble** du, int endmode=0, cdouble* ds=0);
  115 void DerivativePiecewise2(int Np, double* p, int Nq, double* q, int L, double* f, int T, cdouble* s, double*** A, double*** B, int M, double** h, int I, cdouble** u, cdouble** du, int endmode=0, cdouble* ds=0);
  116 void DerivativePiecewise3(int Np, double* p, int Nq, double* q, int L, double* f, int T, cdouble* s, double*** DA, double*** B, int M, double** h, int I, cdouble** u, cdouble** du, int endmode=0, cdouble* ds=0, double** dh=0);
  124 void ssLinearSpline(int L, int T, int M, int &N, double** &h, double*** &A, MList* mlist, int mode=0);
  125 void ssCubicHermite(int L, int T, int M, int& N, double** &h, double*** &A, MList* mlist, int mode=0);
  126 void ssCubicSpline(int L, int T, int M, int& N, double** &h, double*** &A, MList* mlist, int mode=0);
  127 void DerivativePiecewiseI(cdouble* aita, int L, double* f, int T, cdouble* s, int M, void (*SpecifyA)(int L, int T, int M, int &N, double*** &A, MList* mlist, int mode), int ssmode=0, int WinOrder=2, int I=2, int endmode=0, cdouble* ds=0);
  128 void DerivativePiecewiseII(double* p, double* q, int L, double* f, int T, cdouble* s, int M, void (*SpecifyA)(int L, int T, int M, int &N, double*** &A, MList* mlist, int mode), int ssAmode, void (*SpecifyB)(int L, int T, int M, int &N, double*** &B, MList* mlist, int mode), int ssBmode, int WinOrder=2, int I=2, int endmode=0, cdouble* ds=0);
  129 void DerivativePiecewiseIII(double* p, double* q, int L, double* f, int T, cdouble* s, int M,   void (*SpecifyA)(int L, int T, int M, int &N, double*** &A, MList* mlist, int mode), int ssAmode,       void (*SpecifyB)(int L, int T, int M, int &N, double*** &B, MList* mlist, int mode), int ssBmode,       int WinOrder=2, int I=2, int endmode=0, cdouble* ds=0);
  130 double AmpPhCorrectionExpA(cdouble* s2, int N, cdouble* aita, int L, int T, cdouble* sre, int M, double** h, double** dih, double*** A, void (*SpecifyA)(int L, int T, int M, int &N, double*** &A, MList* mlist, int mode), int WinOrder);
  145 template<class Ts>cdouble DerivativeLSv(int Wid, Ts* s, int I, cdouble** v, cdouble** dv, int M, double **h, cdouble* lmd, int p0s, int* p0, int q0s, int* q0)
  148   if (I<ceil(Kr/2.0)) throw("insufficient test functions"); //Kr/2 complex equations are needed to solve the unknowns
  212 template<class Ts, class Tu>cdouble DerivativeLS(int Wid, Ts* s, int I, double omg, Tu** u, Tu** du, int M, double **h, cdouble* lmd, int p0s, int* p0, int q0s, int* q0)
  239 template<class Tu>cdouble DerivativeLS_AmpPh(int Wid, int M, double** integr_h, cdouble* lmd, double omg, Tu* u0, cdouble sv0)
  263 template<class Tu, class Ts>cdouble DerivativeLS_AmpPh(int Wid, int M, double** integr_h, cdouble* lmd, double omg, Tu* u0, Ts* s)
  278 cdouble DerivativeLSv_AmpPh(int, int, double**, cdouble*, cdouble*, cdouble); //the "v" version is implemented as a normal function in SinEst.cpp.
  291 template<class Ts> void DerivativeLSv(int Wid, Ts* s, int I, cdouble** v, cdouble** dv, int M, double **h, double **integr_h, cdouble* lmd, int p0s, int* p0, int q0s, int* q0)
  309 template<class Ts, class Tu>void DerivativeLS(int Wid, Ts* s, int I, double omg, Tu** u, Tu** du, int M, double **h, double **integr_h, cdouble* lmd, int p0s, int* p0, int q0s, int* q0)
  334   C[0]=1.0/(1<<(K-1)); double lC=C[0]; for (int i=1; i+i<=K; i++){lC=lC*(K-i+1)/i; C[i]=(i%2)?(-lC):lC;}
  353   if (K%2==0){double tmp=C[K/2]*0.5; if (K/2%2) tmp=-tmp; for (int n=0; n<=Wid; n++) w[0][n]+=tmp;}
void TFAS05_enh(double &f, double &t, double &a, double &ph, double &aesp, double &fslope, int Wid, double *data, double *w, double res=1)
Definition: sinest.cpp:2767
void ReEstFreqAmp(int FrCount, int Wid, int Offst, double *x, double *fbuf, double *abuf, double *pbuf, double *win, int M, double *c, double iH2, cdouble *w, cdouble *xc, cdouble *xs, double *ps, double *as, double *fa, double *fb, double *fc, double *fd, double *aa, double *ab, double *ac, double *ad, double *ns, int *Wids=0)
Definition: sinest.cpp:2026
void ReEstFreq_2(int FrCount, int Wid, int Offst, double *x, double *fbuf, double *abuf, double *pbuf, double *win, int M, double *c, double iH2, cdouble *w, cdouble *xc, cdouble *xs, double *f3, double *f2, double *f1, double *f0, double *ns)
Definition: sinest.cpp:1944
double AmpPhCorrectionExpA(cdouble *s2, int N, cdouble *aita, int L, int T, cdouble *sre, int M, double **h, double **dih, double ***A, void(*SpecifyA)(int L, int T, int M, int &N, double ***&A, MList *mlist, int mode), int WinOrder)
Definition: sinest.cpp:3875
void Derivative(int M, double(**h)(double t, void *), double(**dh)(double t, void *), cdouble *r, int p0s, int *p0, int q0s, int *q0, int Wid, double *s, double **win, double omg, void *harg)
Definition: sinest.cpp:2334
void IPMultiSens(int I, double *f, int Wid, int K1, int K2, int M, double *c, double *sens, double eps=0)
Definition: sinest.cpp:1006
cdouble DerivativeLSv(int Wid, Ts *s, int I, cdouble **v, cdouble **dv, int M, double **h, cdouble *lmd, int p0s, int *p0, int q0s, int *q0)
Definition: sinest.h:145
cdouble DerivativeLS_AmpPh(int Wid, int M, double **integr_h, cdouble *lmd, double omg, Tu *u0, cdouble sv0)
Definition: sinest.h:239
void MultiplicativeAnalyzer(double *fs, double *as, double *phs, double *das, cdouble *x, int Count, int Wid, int Offst, __int16 *ref, TBasicAnalyzer BasicAnalyzer, int reserved, bool LogA=false)
Definition: sinest.cpp:1764
void ddsIPWindowDuo(double *ddsip2, double f1, double f2, cdouble *x, int N, double *c, double *d, int M, double iH2, int K1, int K2, cdouble &lmd1, cdouble &lmd2)
Definition: sinest.cpp:1365
cdouble * Window(cdouble *x, double f, int N, int M, double *c, int K1, int K2)
Definition: sinest.cpp:102
int LSEDuo(double &f2, double fmin, double fmax, double f1, cdouble *x, int N, double B, double *c, double *d, int M, double iH2, cdouble &r1, cdouble &r2, double epf)
Definition: sinest.cpp:1415
void ddWindow(cdouble *ddx, cdouble *dx, cdouble *x, double f, int N, int M, double *c, int K1, int K2)
Definition: sinest.cpp:208
double WindowDuo(double df, int N, double *d, int M, cdouble *w)
Definition: sinest.cpp:1262
void ReEstFreq(int FrCount, int Wid, int Offst, double *x, double *fbuf, double *abuf, double *pbuf, double *win, int M, double *c, double iH2, cdouble *w, cdouble *xc, cdouble *xs, double *ps, double *fa, double *fb, double *fc, double *fd, double *ns, int *Wids=0)
Definition: sinest.cpp:1853
cdouble DerivativeLSv_AmpPh(int, int, double **, cdouble *, cdouble *, cdouble)
Definition: sinest.cpp:2801
double dsIPWindow(double f, int L, cdouble **x, int N, int M, double *c, double iH2, int K1, int K2, double &sip)
Definition: sinest.cpp:401
void AdditiveAnalyzer(double *fs, double *as, double *phs, double *das, cdouble *x, int Count, int Wid, int Offst, __int16 *ref, TBasicAnalyzer BasicAnalyzer, int reserved, bool LogA=false)
Definition: sinest.cpp:1676
void DerivativePiecewiseII(double *p, double *q, int L, double *f, int T, cdouble *s, int M, void(*SpecifyA)(int L, int T, int M, int &N, double ***&A, MList *mlist, int mode), int ssAmode, void(*SpecifyB)(int L, int T, int M, int &N, double ***&B, MList *mlist, int mode), int ssBmode, int WinOrder=2, int I=2, int endmode=0, cdouble *ds=0)
Definition: sinest.cpp:3791
double IPMulti_Direct(int I, double *f, double *ph, double *a, cdouble *x, int Wid, int M, double *c, double iH2, int B)
Definition: sinest.cpp:1085
void DerivativePiecewise2(int Np, double *p, int Nq, double *q, int L, double *f, int T, cdouble *s, double ***A, double ***B, int M, double **h, int I, cdouble **u, cdouble **du, int endmode=0, cdouble *ds=0)
Definition: sinest.cpp:3077
Definition: arrayalloc.h:83
double dsIPWindowC(double f, int L, double offst_rel, cdouble **x, int N, int M, double *c, double iH2, int K1, int K2, double &sip)
Definition: sinest.cpp:577
double sIPWindowC(double f, int L, double offst_rel, cdouble **x, int N, int M, double *c, double iH2, int K1, int K2, cdouble *ej2ph=0)
Definition: sinest.cpp:524
void DerivativePiecewiseIII(double *p, double *q, int L, double *f, int T, cdouble *s, int M, void(*SpecifyA)(int L, int T, int M, int &N, double ***&A, MList *mlist, int mode), int ssAmode, void(*SpecifyB)(int L, int T, int M, int &N, double ***&B, MList *mlist, int mode), int ssBmode, int WinOrder=2, int I=2, int endmode=0, cdouble *ds=0)
Definition: sinest.cpp:3830
double ddIPWindow(double f, cdouble *x, int N, int M, double *c, double iH2, int K1, int K2, double &dipwindow, double &ipwindow)
Definition: sinest.cpp:296
void DerivativePiecewise(int N, cdouble *aita, int L, double *f, int T, cdouble *s, double ***A, int M, double **h, int I, cdouble **u, cdouble **du, int endmode=0, cdouble *ds=0)
Definition: sinest.cpp:2892
double sIPWindowDuo(double f1, double f2, cdouble *x, int N, double *c, double *d, int M, double iH2, int K1, int K2, cdouble &lmd1, cdouble &lmd2)
Definition: sinest.cpp:1324
void TFAS05(double &f, double &t, double &a, double &ph, double &aesp, double &fslope, int Wid, double *data, double *w, double res=1)
Definition: sinest.cpp:2673
void DerivativeLS(int K, int M, double(**h)(double t, void *harg), double(**dh)(double t, void *harg), cdouble *r, int p0s, int *p0, int q0s, int *q0, int Wid, double *s, double **win, double omg, void *harg, bool r0=false)
Definition: sinest.cpp:2456
void AdditiveUpdate(double *fs, double *as, double *phs, double *das, cdouble *x, int Count, int Wid, int Offst, TBasicAnalyzer BasicAnalyzer, int reserved, bool LogA=false)
Definition: sinest.cpp:1597
void dWindow(cdouble *dx, cdouble *x, double f, int N, int M, double *c, int K1, int K2)
Definition: sinest.cpp:154
double IPWindow(double f, cdouble *x, int N, int M, double *c, double iH2, int K1, int K2, bool returnamplitude)
Definition: sinest.cpp:269
double ddWindowDuo(double df, int N, double *d, int M, double &dwindow, double &window, cdouble *w)
Definition: sinest.cpp:1291
double LSESinusoid(cdouble *x, int N, double B, int M, double *c, double iH2, double &a, double &pp, double epf=1e-6)
Definition: sinest.cpp:685
void ssLinearSpline(int L, int T, int M, int &N, double **&h, double ***&A, MList *mlist, int mode=0)
Definition: sinest.cpp:3618
double IPMulti_GS(int I, double *f, double *ph, double *a, cdouble *x, int Wid, int M, double *c, double iH2, int B, double **L=0, double **Q=0)
Definition: sinest.cpp:1143
double ddsIPWindowC(double f, int L, double offst_rel, cdouble **x, int N, int M, double *c, double iH2, int K1, int K2, double &dsip, double &sip)
Definition: sinest.cpp:624
double ddsIPWindow(double f, int L, cdouble **x, int N, int M, double *c, double iH2, int K1, int K2, double &dsip, double &sip)
Definition: sinest.cpp:485
void TFReas(double &f, double &t, double &fslope, int Wid, cdouble *data, double *win, double *dwin, double *ddwin, double *plogaslope=0)
Definition: sinest.cpp:1503
void setu(int I, int Wid, cdouble **&u, cdouble **&du, int WinOrder=2, MList *mlist=0)
Definition: sinest.cpp:3719
void ssALinearSpline(int L, int T, int M, int &N, double ***&A, MList *mlist, int mode=0)
Definition: sinest.cpp:3602
int Reestimate2(int FrCount, int Wid, int Offst, double *win, int M, double *c, double iH2, double *x, double *ae, double *fe, double *pe, double *aret, double *fret, double *pret, int maxiter, int *Wids=0)
Definition: sinest.cpp:2135
double sIPWindow(double f, int L, cdouble **x, int N, int M, double *c, double iH2, int K1, int K2, cdouble *ej2ph=0)
Definition: sinest.cpp:362
double ddsIPWindow_unn(double f, cdouble *x, int N, int M, double *c, int K1, int K2, double &dsipwindow, double &sipwindow, cdouble *w_unn=0)
Definition: sinest.cpp:440
void MultiplicativeUpdate(double *fs, double *as, double *phs, double *das, cdouble *x, int Count, int Wid, int Offst, TBasicAnalyzer BasicAnalyzer, int reserved, bool LogA=false)
Definition: sinest.cpp:1695
cdouble IPWindowC(double f, cdouble *x, int N, int M, double *c, double iH2, int K1, int K2)
Definition: sinest.cpp:335
Definition: xcomplex.h:26
void ssACubicHermite(int L, int T, int M, int &N, double ***&A, MList *mlist, int mode=0)
Definition: sinest.cpp:3632
void ssCubicHermite(int L, int T, int M, int &N, double **&h, double ***&A, MList *mlist, int mode=0)
Definition: sinest.cpp:3654
void DerivativePiecewiseI(cdouble *aita, int L, double *f, int T, cdouble *s, int M, void(*SpecifyA)(int L, int T, int M, int &N, double ***&A, MList *mlist, int mode), int ssmode=0, int WinOrder=2, int I=2, int endmode=0, cdouble *ds=0)
Definition: sinest.cpp:3756
void ssACubicSpline(int L, int T, int M, int &N, double ***&A, MList *mlist, int mode=0)
Definition: sinest.cpp:3669
void ssCubicSpline(int L, int T, int M, int &N, double **&h, double ***&A, MList *mlist, int mode=0)
Definition: sinest.cpp:3703
void IPMulti(int I, double *f, cdouble *lmd, cdouble *x, int Wid, int K1, int K2, int M, double *c, double eps=0)
Definition: sinest.cpp:930
void DerivativePiecewise3(int Np, double *p, int Nq, double *q, int L, double *f, int T, cdouble *s, double ***DA, double ***B, int M, double **h, int I, cdouble **u, cdouble **du, int endmode=0, cdouble *ds=0, double **dh=0)
Definition: sinest.cpp:3333
double LSESinusoidMP(double &f, double f1, double f2, cdouble **x, int Fr, int N, double B, int M, double *c, double iH2, double *a, double *ph, double epf)
Definition: sinest.cpp:850
Generated on Mon Oct 20 2025 07:09:23 for x by
 1.8.11
 1.8.11