annotate dsp/signalconditioning/Filter.h @ 309:d5014ab8b0e5

* Add GPL and README; some tidying
author Chris Cannam <c.cannam@qmul.ac.uk>
date Mon, 13 Dec 2010 14:55:28 +0000
parents 49844bc8a895
children 715f779d0b4f
rev   line source
c@225 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
c@225 2
c@225 3 /*
c@225 4 QM DSP Library
c@225 5
c@225 6 Centre for Digital Music, Queen Mary, University of London.
c@309 7 This file 2005-2006 Christian Landone.
c@309 8
c@309 9 This program is free software; you can redistribute it and/or
c@309 10 modify it under the terms of the GNU General Public License as
c@309 11 published by the Free Software Foundation; either version 2 of the
c@309 12 License, or (at your option) any later version. See the file
c@309 13 COPYING included with this distribution for more information.
c@225 14 */
c@225 15
c@225 16 #ifndef FILTER_H
c@225 17 #define FILTER_H
c@225 18
c@225 19 #ifndef NULL
c@225 20 #define NULL 0
c@225 21 #endif
c@225 22
c@225 23 struct FilterConfig{
c@225 24 unsigned int ord;
c@225 25 double* ACoeffs;
c@225 26 double* BCoeffs;
c@225 27 };
c@225 28
c@225 29 class Filter
c@225 30 {
c@225 31 public:
c@225 32 Filter( FilterConfig Config );
c@225 33 virtual ~Filter();
c@225 34
c@225 35 void reset();
c@225 36
c@225 37 void process( double *src, double *dst, unsigned int length );
c@225 38
c@225 39
c@225 40 private:
c@225 41 void initialise( FilterConfig Config );
c@225 42 void deInitialise();
c@225 43
c@225 44 unsigned int m_ord;
c@225 45
c@225 46 double* m_inBuffer;
c@225 47 double* m_outBuffer;
c@225 48
c@225 49 double* m_ACoeffs;
c@225 50 double* m_BCoeffs;
c@225 51 };
c@225 52
c@225 53 #endif