summaryrefslogtreecommitdiff
path: root/libs/qm-dsp/dsp/signalconditioning/DFProcess.h
diff options
context:
space:
mode:
Diffstat (limited to 'libs/qm-dsp/dsp/signalconditioning/DFProcess.h')
-rw-r--r--libs/qm-dsp/dsp/signalconditioning/DFProcess.h39
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