VVSDK  1.0
The VVAmbisonic Library
BSplineFilter.h
Go to the documentation of this file.
1 // BSplineFilter.h: interface for the CBSplineFilter class.
2 //
4 
5 #if !defined(AFX_BSplineFilter_H__3925C571_FE92_4761_A6A5_18994C833ED5__INCLUDED_)
6 #define AFX_BSplineFilter_H__3925C571_FE92_4761_A6A5_18994C833ED5__INCLUDED_
7 
8 #if _MSC_VER > 1000
9 #pragma once
10 #endif // _MSC_VER > 1000
11 
12 #include "FFTReal.h"
13 #include "FFTFilter.h"
14 
15 class CBSplineFilter : protected CFFTFilter
16 {
17 public:
19  CBSplineFilter(bool minPhase);
20  virtual ~CBSplineFilter();
21  virtual bool canProcess();
22 
23  void addPoint(float freq, float gain);
24  //void SetXML(CXMLElement *xml);
25 
26 protected:
28  void setSamplingRate(float newSR);
29 
30 #define maxN (102)
31 #define maxK (4)
32  double Px[maxN+1], Py[maxN+1]; // response curve
33  double ti[maxN + (2 * maxK) + 1]; // knot vector
34  double N[maxN + maxK + 2][MAXFFTFILTSIZE]; // basis functions
35  int n;
36 };
37 
38 #endif // !defined(AFX_BSplineFilter_H__3925C571_FE92_4761_A6A5_18994C833ED5__INCLUDED_)
virtual bool canProcess()
Definition: BSplineFilter.cpp:47
virtual ~CBSplineFilter()
Definition: BSplineFilter.cpp:42
void addPoint(float freq, float gain)
Definition: BSplineFilter.cpp:52
CBSplineFilter()
Definition: BSplineFilter.cpp:28
double N[maxN+maxK+2][MAXFFTFILTSIZE]
Definition: BSplineFilter.h:34
int n
Definition: BSplineFilter.h:35
#define maxK
Definition: BSplineFilter.h:31
#define maxN
Definition: BSplineFilter.h:30
Definition: FFTFilter.h:19
#define MAXFFTFILTSIZE
Definition: FFTFilter.h:46
bool m_bMinPhase
Definition: BSplineFilter.h:27
void setSamplingRate(float newSR)
Definition: BSplineFilter.cpp:80
double ti[maxN+(2 *maxK)+1]
Definition: BSplineFilter.h:33
Definition: BSplineFilter.h:15
double Px[maxN+1]
Definition: BSplineFilter.h:32
double Py[maxN+1]
Definition: BSplineFilter.h:32