annotate dsp/signalconditioning/DFProcess.h @ 0:d7116e3183f8

* Queen Mary C++ DSP library
author cannam
date Wed, 05 Apr 2006 17:35:59 +0000
parents
children da277e8b5244
rev   line source
cannam@0 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
cannam@0 2
cannam@0 3 /*
cannam@0 4 QM DSP Library
cannam@0 5
cannam@0 6 Centre for Digital Music, Queen Mary, University of London.
cannam@0 7 This file copyright 2005-2006 Christian Landone.
cannam@0 8 All rights reserved.
cannam@0 9 */
cannam@0 10
cannam@0 11 #ifndef CDFPROCESS_H
cannam@0 12 #define CDFPROCESS_H
cannam@0 13
cannam@0 14 #include <stdio.h>
cannam@0 15 #include "FiltFilt.h"
cannam@0 16
cannam@0 17 struct DFProcConfig{
cannam@0 18 unsigned int length;
cannam@0 19 unsigned int LPOrd;
cannam@0 20 double *LPACoeffs;
cannam@0 21 double *LPBCoeffs;
cannam@0 22 unsigned int winPre;
cannam@0 23 unsigned int winPost;
cannam@0 24 double AlphaNormParam;
cannam@0 25 bool isMedianPositive;};
cannam@0 26
cannam@0 27 class DFProcess
cannam@0 28 {
cannam@0 29 public:
cannam@0 30 DFProcess( DFProcConfig Config );
cannam@0 31 virtual ~DFProcess();
cannam@0 32
cannam@0 33 void process( double* src, double* dst );
cannam@0 34
cannam@0 35
cannam@0 36 private:
cannam@0 37 void initialise( DFProcConfig Config );
cannam@0 38 void deInitialise();
cannam@0 39 void removeDCNormalize( double *src, double*dst );
cannam@0 40 void medianFilter( double* src, double* dst );
cannam@0 41
cannam@0 42 unsigned int m_length;
cannam@0 43 unsigned int m_FFOrd;
cannam@0 44
cannam@0 45 unsigned int m_winPre;
cannam@0 46 unsigned int m_winPost;
cannam@0 47
cannam@0 48 double m_alphaNormParam;
cannam@0 49
cannam@0 50 double* filtSrc;
cannam@0 51 double* filtDst;
cannam@0 52
cannam@0 53 double* m_filtScratchIn;
cannam@0 54 double* m_filtScratchOut;
cannam@0 55
cannam@0 56 FiltFiltConfig m_FilterConfigParams;
cannam@0 57
cannam@0 58 FiltFilt* m_FiltFilt;
cannam@0 59
cannam@0 60 bool m_isMedianPositive;
cannam@0 61 };
cannam@0 62
cannam@0 63 #endif