annotate dsp/signalconditioning/DFProcess.h @ 320:b4b98fdad2ad

Added tag qm-vamp-plugins-v1.7 for changeset 2f42a967fd82
author Chris Cannam <c.cannam@qmul.ac.uk>
date Tue, 05 Apr 2011 13:48:18 +0100
parents d5014ab8b0e5
children 88f3cfcff55f
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 CDFPROCESS_H
c@225 17 #define CDFPROCESS_H
c@225 18
c@225 19 #include <stdio.h>
c@225 20 #include "FiltFilt.h"
c@225 21
c@225 22 struct DFProcConfig{
c@225 23 unsigned int length;
c@225 24 unsigned int LPOrd;
c@225 25 double *LPACoeffs;
c@225 26 double *LPBCoeffs;
c@225 27 unsigned int winPre;
c@225 28 unsigned int winPost;
c@225 29 double AlphaNormParam;
c@237 30 bool isMedianPositive;
c@237 31 };
c@225 32
c@225 33 class DFProcess
c@225 34 {
c@225 35 public:
c@225 36 DFProcess( DFProcConfig Config );
c@225 37 virtual ~DFProcess();
c@225 38
c@225 39 void process( double* src, double* dst );
c@225 40
c@225 41
c@225 42 private:
c@225 43 void initialise( DFProcConfig Config );
c@225 44 void deInitialise();
c@225 45 void removeDCNormalize( double *src, double*dst );
c@225 46 void medianFilter( double* src, double* dst );
c@225 47
c@299 48 int m_length;
c@299 49 int m_FFOrd;
c@225 50
c@299 51 int m_winPre;
c@299 52 int m_winPost;
c@225 53
c@225 54 double m_alphaNormParam;
c@225 55
c@225 56 double* filtSrc;
c@225 57 double* filtDst;
c@225 58
c@225 59 double* m_filtScratchIn;
c@225 60 double* m_filtScratchOut;
c@225 61
c@225 62 FiltFiltConfig m_FilterConfigParams;
c@225 63
c@225 64 FiltFilt* m_FiltFilt;
c@225 65
c@225 66 bool m_isMedianPositive;
c@225 67 };
c@225 68
c@225 69 #endif