summaryrefslogtreecommitdiffstats
path: root/lib/qm-dsp/dsp/signalconditioning/FiltFilt.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/qm-dsp/dsp/signalconditioning/FiltFilt.h')
-rw-r--r--lib/qm-dsp/dsp/signalconditioning/FiltFilt.h27
1 files changed, 9 insertions, 18 deletions
diff --git a/lib/qm-dsp/dsp/signalconditioning/FiltFilt.h b/lib/qm-dsp/dsp/signalconditioning/FiltFilt.h
index e5a38124cf..faa04987d6 100644
--- a/lib/qm-dsp/dsp/signalconditioning/FiltFilt.h
+++ b/lib/qm-dsp/dsp/signalconditioning/FiltFilt.h
@@ -1,5 +1,4 @@
/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
-
/*
QM DSP Library
@@ -13,37 +12,29 @@
COPYING included with this distribution for more information.
*/
-#ifndef FILTFILT_H
-#define FILTFILT_H
+#ifndef QM_DSP_FILTFILT_H
+#define QM_DSP_FILTFILT_H
#include "Filter.h"
/**
* Zero-phase digital filter, implemented by processing the data
- * through a filter specified by the given FilterConfig structure (see
+ * through a filter specified by the given filter parameters (see
* Filter) and then processing it again in reverse.
*/
class FiltFilt
{
public:
- FiltFilt( FilterConfig Config );
+ FiltFilt(Filter::Parameters);
virtual ~FiltFilt();
- void reset();
- void process( double* src, double* dst, unsigned int length );
+ void process(const double *const QM_R__ src,
+ double *const QM_R__ dst,
+ const int length);
private:
- void initialise( FilterConfig Config );
- void deInitialise();
-
- unsigned int m_ord;
-
- Filter* m_filter;
-
- double* m_filtScratchIn;
- double* m_filtScratchOut;
-
- FilterConfig m_filterConfig;
+ Filter m_filter;
+ int m_ord;
};
#endif