diff options
Diffstat (limited to 'libs/qm-dsp/dsp/signalconditioning/DFProcess.h')
-rw-r--r-- | libs/qm-dsp/dsp/signalconditioning/DFProcess.h | 39 |
1 files changed, 31 insertions, 8 deletions
diff --git a/libs/qm-dsp/dsp/signalconditioning/DFProcess.h b/libs/qm-dsp/dsp/signalconditioning/DFProcess.h index ad40f846b9..b93b535518 100644 --- a/libs/qm-dsp/dsp/signalconditioning/DFProcess.h +++ b/libs/qm-dsp/dsp/signalconditioning/DFProcess.h @@ -6,6 +6,14 @@ Centre for Digital Music, Queen Mary, University of London. This file 2005-2006 Christian Landone. + Modifications: + + - delta threshold + Description: add delta threshold used as offset in the smoothed + detection function + Author: Mathieu Barthet + Date: June 2010 + This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the @@ -20,17 +28,31 @@ #include "FiltFilt.h" struct DFProcConfig{ - unsigned int length; - unsigned int LPOrd; - double *LPACoeffs; - double *LPBCoeffs; + unsigned int length; + unsigned int LPOrd; + double *LPACoeffs; + double *LPBCoeffs; unsigned int winPre; - unsigned int winPost; + unsigned int winPost; double AlphaNormParam; bool isMedianPositive; + float delta; //delta threshold used as an offset when computing the smoothed detection function + + DFProcConfig() : + length(0), + LPOrd(0), + LPACoeffs(NULL), + LPBCoeffs(NULL), + winPre(0), + winPost(0), + AlphaNormParam(0), + isMedianPositive(false), + delta(0) + { + } }; -class DFProcess +class DFProcess { public: DFProcess( DFProcConfig Config ); @@ -38,7 +60,7 @@ public: void process( double* src, double* dst ); - + private: void initialise( DFProcConfig Config ); void deInitialise(); @@ -59,11 +81,12 @@ private: double* m_filtScratchIn; double* m_filtScratchOut; - FiltFiltConfig m_FilterConfigParams; + FilterConfig m_FilterConfigParams; FiltFilt* m_FiltFilt; bool m_isMedianPositive; + float m_delta; //add delta threshold }; #endif |