annotate dsp/signalconditioning/DFProcess.h @ 74:769da847732b

* A few fixes prompted by vamp-plugin-tester
author cannam
date Mon, 08 Jun 2009 12:30:20 +0000
parents da277e8b5244
children e5907ae6de17
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@12 25 bool isMedianPositive;
cannam@12 26 };
cannam@0 27
cannam@0 28 class DFProcess
cannam@0 29 {
cannam@0 30 public:
cannam@0 31 DFProcess( DFProcConfig Config );
cannam@0 32 virtual ~DFProcess();
cannam@0 33
cannam@0 34 void process( double* src, double* dst );
cannam@0 35
cannam@0 36
cannam@0 37 private:
cannam@0 38 void initialise( DFProcConfig Config );
cannam@0 39 void deInitialise();
cannam@0 40 void removeDCNormalize( double *src, double*dst );
cannam@0 41 void medianFilter( double* src, double* dst );
cannam@0 42
cannam@74 43 int m_length;
cannam@74 44 int m_FFOrd;
cannam@0 45
cannam@74 46 int m_winPre;
cannam@74 47 int m_winPost;
cannam@0 48
cannam@0 49 double m_alphaNormParam;
cannam@0 50
cannam@0 51 double* filtSrc;
cannam@0 52 double* filtDst;
cannam@0 53
cannam@0 54 double* m_filtScratchIn;
cannam@0 55 double* m_filtScratchOut;
cannam@0 56
cannam@0 57 FiltFiltConfig m_FilterConfigParams;
cannam@0 58
cannam@0 59 FiltFilt* m_FiltFilt;
cannam@0 60
cannam@0 61 bool m_isMedianPositive;
cannam@0 62 };
cannam@0 63
cannam@0 64 #endif