annotate dsp/signalconditioning/DFProcess.h @ 489:701233f8ed41

Make include-guards consistent
author Chris Cannam <cannam@all-day-breakfast.com>
date Fri, 31 May 2019 16:48:37 +0100
parents fdaa63607c15
children b1f72e469ec8
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@309 7 This file 2005-2006 Christian Landone.
c@309 8
mathieu@321 9 Modifications:
mathieu@321 10
mathieu@321 11 - delta threshold
mathieu@321 12 Description: add delta threshold used as offset in the smoothed
mathieu@321 13 detection function
mathieu@321 14 Author: Mathieu Barthet
mathieu@321 15 Date: June 2010
mathieu@321 16
c@309 17 This program is free software; you can redistribute it and/or
c@309 18 modify it under the terms of the GNU General Public License as
c@309 19 published by the Free Software Foundation; either version 2 of the
c@309 20 License, or (at your option) any later version. See the file
c@309 21 COPYING included with this distribution for more information.
c@225 22 */
c@225 23
cannam@489 24 #ifndef QM_DSP_DFPROCESS_H
cannam@489 25 #define QM_DSP_DFPROCESS_H
c@225 26
c@225 27 #include <stdio.h>
c@225 28 #include "FiltFilt.h"
c@225 29
c@225 30 struct DFProcConfig{
c@225 31 unsigned int length;
c@225 32 unsigned int LPOrd;
c@225 33 double *LPACoeffs;
c@225 34 double *LPBCoeffs;
c@225 35 unsigned int winPre;
c@225 36 unsigned int winPost;
c@225 37 double AlphaNormParam;
c@237 38 bool isMedianPositive;
c@410 39 float delta; //delta threshold used as an offset when computing the smoothed detection function
c@410 40
c@410 41 DFProcConfig() :
c@410 42 length(0),
c@410 43 LPOrd(0),
c@410 44 LPACoeffs(NULL),
c@410 45 LPBCoeffs(NULL),
c@410 46 winPre(0),
c@410 47 winPost(0),
c@410 48 AlphaNormParam(0),
c@410 49 isMedianPositive(false),
c@410 50 delta(0)
c@410 51 {
c@410 52 }
c@237 53 };
c@225 54
c@225 55 class DFProcess
c@225 56 {
c@225 57 public:
c@225 58 DFProcess( DFProcConfig Config );
c@225 59 virtual ~DFProcess();
c@225 60
c@225 61 void process( double* src, double* dst );
cannam@483 62
c@225 63 private:
c@225 64 void initialise( DFProcConfig Config );
c@225 65 void deInitialise();
c@225 66 void removeDCNormalize( double *src, double*dst );
c@225 67 void medianFilter( double* src, double* dst );
c@225 68
c@299 69 int m_length;
c@299 70 int m_FFOrd;
c@225 71
c@299 72 int m_winPre;
c@299 73 int m_winPost;
c@225 74
c@225 75 double m_alphaNormParam;
c@225 76
c@225 77 double* filtSrc;
c@225 78 double* filtDst;
c@225 79
c@225 80 double* m_filtScratchIn;
c@225 81 double* m_filtScratchOut;
c@225 82
c@225 83 FiltFilt* m_FiltFilt;
c@225 84
c@225 85 bool m_isMedianPositive;
c@410 86 float m_delta; //add delta threshold
c@225 87 };
c@225 88
c@225 89 #endif