VVSDK  1.0
The VVAmbisonic Library
FFTFilter.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2014-2016 David McGriffy, all rights reserved
3  */
4 
5 #ifndef FFTFILTER_H_INCLUDED
6 #define FFTFILTER_H_INCLUDED
7 
8 #if _MSC_VER > 1000
9 #pragma once
10 #endif // _MSC_VER > 1000
11 
12 #include "FFTReal.h"
13 #include "Filter.h"
14 #include "FilterCoefficients.h"
15 
19 class CFFTFilter : protected CFilter
20 {
21 public:
22  CFFTFilter();
23  CFFTFilter(bool minPhase);
24  virtual ~CFFTFilter();
27  void setSamplingRate(float sr);
28  bool canProcess();
29  void setMinPhase(bool newMinPhase);
30  bool getMinPhase();
31  void doFilter(float *node, long sampleframes);
32  void clearBuffers();
34 protected:
35  void init();
36 
37  // filter buffers and such
39  unsigned int m_nFiltSize;
40  bool m_bMinPhase;
41 
42  FFTReal *m_fft;
43 
44 // fixed at double the buffer size
45 #define KSMPS (1024)
46 #define MAXFFTFILTSIZE (2 * KSMPS)
50  unsigned int m_nBufPos;
51 
55 };
56 
57 #endif
void setSamplingRate(float sr)
Definition: FFTFilter.cpp:100
bool getMinPhase()
Definition: FFTFilter.cpp:77
FFTReal::flt_t m_fFreqCoefs[MAXFFTFILTSIZE]
Definition: FFTFilter.h:52
bool canProcess()
Definition: FFTFilter.cpp:200
void setMinPhase(bool newMinPhase)
Definition: FFTFilter.cpp:72
#define MAXFFTFILTSIZE
Definition: FFTFilter.h:46
bool m_bMinPhase
Definition: FFTFilter.h:40
double flt_t
Definition: FFTReal.h:41
unsigned int m_nBufPos
Definition: FFTFilter.h:50
CFFTFilter()
Definition: FFTFilter.cpp:25
Definition: Filter.h:20
virtual ~CFFTFilter()
Definition: FFTFilter.cpp:39
void doFilter(float *node, long sampleframes)
Definition: FFTFilter.cpp:205
CFilterCoefficients * m_coefficients
Definition: FFTFilter.h:38
void init()
Definition: FFTFilter.cpp:43
unsigned int m_nFiltSize
Definition: FFTFilter.h:39
Definition: FFTReal.h:32
FFTReal * m_fft
Definition: FFTFilter.h:42
FFTReal::flt_t m_fFreqBuf[MAXFFTFILTSIZE]
Definition: FFTFilter.h:54
Definition: FFTFilter.h:19
FFTReal::flt_t m_fBuffer[MAXFFTFILTSIZE]
Definition: FFTFilter.h:47
FFTReal::flt_t m_fSaveBuffer[MAXFFTFILTSIZE]
Definition: FFTFilter.h:48
Definition: FilterCoefficients.h:22
void clearBuffers()
Definition: FFTFilter.cpp:82
FFTReal::flt_t m_fCoefficients[MAXFFTFILTSIZE]
Definition: FFTFilter.h:53
void setCoefficients(CFilterCoefficients *coef)
Definition: FFTFilter.cpp:95
FFTReal::flt_t m_fOutBuffer[MAXFFTFILTSIZE]
Definition: FFTFilter.h:49