annotate dsp/signalconditioning/DFProcess.h @ 225:49844bc8a895

* Queen Mary C++ DSP library
author Chris Cannam <c.cannam@qmul.ac.uk>
date Wed, 05 Apr 2006 17:35:59 +0000
parents
children da277e8b5244
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@225 7 This file copyright 2005-2006 Christian Landone.
c@225 8 All rights reserved.
c@225 9 */
c@225 10
c@225 11 #ifndef CDFPROCESS_H
c@225 12 #define CDFPROCESS_H
c@225 13
c@225 14 #include <stdio.h>
c@225 15 #include "FiltFilt.h"
c@225 16
c@225 17 struct DFProcConfig{
c@225 18 unsigned int length;
c@225 19 unsigned int LPOrd;
c@225 20 double *LPACoeffs;
c@225 21 double *LPBCoeffs;
c@225 22 unsigned int winPre;
c@225 23 unsigned int winPost;
c@225 24 double AlphaNormParam;
c@225 25 bool isMedianPositive;};
c@225 26
c@225 27 class DFProcess
c@225 28 {
c@225 29 public:
c@225 30 DFProcess( DFProcConfig Config );
c@225 31 virtual ~DFProcess();
c@225 32
c@225 33 void process( double* src, double* dst );
c@225 34
c@225 35
c@225 36 private:
c@225 37 void initialise( DFProcConfig Config );
c@225 38 void deInitialise();
c@225 39 void removeDCNormalize( double *src, double*dst );
c@225 40 void medianFilter( double* src, double* dst );
c@225 41
c@225 42 unsigned int m_length;
c@225 43 unsigned int m_FFOrd;
c@225 44
c@225 45 unsigned int m_winPre;
c@225 46 unsigned int m_winPost;
c@225 47
c@225 48 double m_alphaNormParam;
c@225 49
c@225 50 double* filtSrc;
c@225 51 double* filtDst;
c@225 52
c@225 53 double* m_filtScratchIn;
c@225 54 double* m_filtScratchOut;
c@225 55
c@225 56 FiltFiltConfig m_FilterConfigParams;
c@225 57
c@225 58 FiltFilt* m_FiltFilt;
c@225 59
c@225 60 bool m_isMedianPositive;
c@225 61 };
c@225 62
c@225 63 #endif