annotate windowfunctions.h @ 13:de3961f74f30 tip

Add Linux/gcc Makefile; build fix
author Chris Cannam
date Mon, 05 Sep 2011 15:22:35 +0100
parents 977f541d6683
children
rev   line source
xue@11 1 /*
xue@11 2 Harmonic sinusoidal modelling and tools
xue@11 3
xue@11 4 C++ code package for harmonic sinusoidal modelling and relevant signal processing.
xue@11 5 Centre for Digital Music, Queen Mary, University of London.
xue@11 6 This file copyright 2011 Wen Xue.
xue@11 7
xue@11 8 This program is free software; you can redistribute it and/or
xue@11 9 modify it under the terms of the GNU General Public License as
xue@11 10 published by the Free Software Foundation; either version 2 of the
xue@11 11 License, or (at your option) any later version.
xue@11 12 */
xue@1 13 #ifndef WindowFunctionsH
xue@1 14 #define WindowFunctionsH
xue@1 15
Chris@5 16 /**
Chris@5 17 \file windowfunctions.h - implements a few common window functions.
xue@1 18 */
xue@1 19
xue@1 20 enum WindowType
xue@1 21 {
xue@1 22 wtRectangle,
xue@1 23 wtTriangular,
xue@1 24 wtHamming,
xue@1 25 wtBlackman,
xue@1 26 wtGaussian,
xue@1 27 wtKaiser,
xue@1 28 wtHalfCosine,
xue@1 29 wtHann,
xue@1 30 wtHannSqr,
xue@1 31 wtHann3sqrt
xue@1 32 };
xue@1 33
xue@1 34 //--window function computation routines-------------------------------------
xue@1 35 void FillWindow(double* newwindow, WindowType wt, int Count, int* ips=0, double* dps=0);
xue@1 36 double* NewWindow(WindowType wt, int Count, int* ips=0, double* dps=0, double* newwindow=0);
xue@1 37 double* NewWindow8(WindowType wt, int Count, int* ips=0, double* dps=0, double* newwindow=0);
xue@1 38 double* NewdWindow(WindowType wt, int Count, int* ips=0, double* dps=0, double* newdwindow=0);
xue@1 39 double* NewddWindow(WindowType wt, int Count, int* ips=0, double* dps=0, double* newddwindow=0);
xue@1 40 double* NewdddWindow(WindowType wt, int Count, int* ips=0, double* dps=0, double* newdddwindow=0);
xue@1 41
xue@1 42 //--other functions----------------------------------------------------------
xue@1 43 void windowspec(WindowType wt, int N, int* M, double* c, double* iH2, double* d=0);
xue@1 44
xue@1 45 #endif