c@0: // c@0: // FIRFilter.h c@0: // Tempogram c@0: // c@0: // Created by Carl Bussey on 25/06/2014. c@0: // Copyright (c) 2014 Carl Bussey. All rights reserved. c@0: // c@0: c@0: #ifndef __Tempogram__FIRFilter__ c@0: #define __Tempogram__FIRFilter__ c@0: c@0: class FIRFilter{ c@0: public: c@0: FIRFilter(const unsigned int lengthInput, const unsigned int numberOfCoefficients); c@0: ~FIRFilter(); c@0: void process(const float *input, const float *coefficients, float *output); c@0: private: c@0: unsigned int _lengthInput; c@0: unsigned int _numberOfCoefficients; c@0: unsigned int _lengthFIRFFT; c@0: c@0: double *fftInput; c@0: double *fftCoefficients; c@0: double *fftReal1; c@0: double *fftImag1; c@0: double *fftReal2; c@0: double *fftImag2; c@0: double *fftFilteredReal; c@0: double *fftFilteredImag; c@0: double *fftOutputReal; c@0: double *fftOutputImag; c@0: c@0: void initialise(); c@0: void cleanup(); c@0: }; c@0: c@0: #endif /* defined(__Tempogram__FIRFilter__) */