view WindowFunctions.h @ 1:6422640a802f

first upload
author Wen X <xue.wen@elec.qmul.ac.uk>
date Tue, 05 Oct 2010 10:45:57 +0100
parents
children
line wrap: on
line source
#ifndef WindowFunctionsH
#define WindowFunctionsH

/*
  WindowFunctions.cpp - implements a few common window functions.
*/

enum WindowType
{
  wtRectangle,
  wtTriangular,
  wtHamming,
  wtBlackman,
  wtGaussian,
  wtKaiser,
  wtHalfCosine,
  wtHann,
  wtHannSqr,
  wtHann3sqrt
};

//--window function computation routines-------------------------------------
void FillWindow(double* newwindow, WindowType wt, int Count, int* ips=0, double* dps=0);
double* NewWindow(WindowType wt, int Count, int* ips=0, double* dps=0, double* newwindow=0);
double* NewWindow8(WindowType wt, int Count, int* ips=0, double* dps=0, double* newwindow=0);
double* NewdWindow(WindowType wt, int Count, int* ips=0, double* dps=0, double* newdwindow=0);
double* NewddWindow(WindowType wt, int Count, int* ips=0, double* dps=0, double* newddwindow=0);
double* NewdddWindow(WindowType wt, int Count, int* ips=0, double* dps=0, double* newdddwindow=0);

//--other functions----------------------------------------------------------
void windowspec(WindowType wt, int N, int* M, double* c, double* iH2, double* d=0);

#endif