annotate dsp/signalconditioning/DFProcess.h @ 245:cdfd0948a852

* First cut at properly integrating the segmenter and making it work right
author Chris Cannam <c.cannam@qmul.ac.uk>
date Wed, 09 Jan 2008 16:50:04 +0000
parents 343915d55ec5
children 769da847732b
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@237 25 bool isMedianPositive;
c@237 26 };
c@225 27
c@225 28 class DFProcess
c@225 29 {
c@225 30 public:
c@225 31 DFProcess( DFProcConfig Config );
c@225 32 virtual ~DFProcess();
c@225 33
c@225 34 void process( double* src, double* dst );
c@225 35
c@225 36
c@225 37 private:
c@225 38 void initialise( DFProcConfig Config );
c@225 39 void deInitialise();
c@225 40 void removeDCNormalize( double *src, double*dst );
c@225 41 void medianFilter( double* src, double* dst );
c@225 42
c@225 43 unsigned int m_length;
c@225 44 unsigned int m_FFOrd;
c@225 45
c@225 46 unsigned int m_winPre;
c@225 47 unsigned int m_winPost;
c@225 48
c@225 49 double m_alphaNormParam;
c@225 50
c@225 51 double* filtSrc;
c@225 52 double* filtDst;
c@225 53
c@225 54 double* m_filtScratchIn;
c@225 55 double* m_filtScratchOut;
c@225 56
c@225 57 FiltFiltConfig m_FilterConfigParams;
c@225 58
c@225 59 FiltFilt* m_FiltFilt;
c@225 60
c@225 61 bool m_isMedianPositive;
c@225 62 };
c@225 63
c@225 64 #endif