HARDT - The Ham Radio DSP Toolkit
hbiquadfilter.h
1 #ifndef __HBIQUADFILTER_H
2 #define __HBIQUADFILTER_H
3 
10 template <class BIQUAD, class T>
11 class HBiQuadFilter: public HIirFilter<T>
12 {
13  public:
14 
17  HBiQuadFilter(HWriter<T>* writer, float fCutOff, float rate, float quality, float gain, size_t blocksize, HProbe<T>* probe = NULL):
18  HIirFilter<T>(writer, (BIQUAD(fCutOff, rate, quality, gain)).Calculate(), 5, blocksize, probe)
19  {}
20 
23  HBiQuadFilter(HWriterConsumer<T>* consumer, float fCutOff, float rate, float quality, float gain, size_t blocksize, HProbe<T>* probe = NULL):
24  HIirFilter<T>(consumer, (BIQUAD(fCutOff, rate, quality, gain)).Calculate(), 5, blocksize, probe)
25  {}
26 
29  HBiQuadFilter(HReader<T>* reader, float fCutOff, float rate, float quality, float gain, size_t blocksize, HProbe<T>* probe = NULL):
30  HIirFilter<T>(reader, (BIQUAD(fCutOff, rate, quality, gain)).Calculate(), 5, blocksize, probe)
31  {}
32 
35  {}
36 
38  virtual void Filter(T* src, T* dest, size_t blocksize)
39  {
40  HIirFilter<T>::Filter(src, dest, blocksize);
41  }
42 
44  void SetCoefficients(float fCutOff, float rate, float quality, float gain, size_t blocksize)
45  {
46  HIirFilter<int16_t>::SetCoefficients((BIQUAD(fCutOff, rate, quality, gain)).Calculate(), 5);
47  }
48 };
49 
50 #endif
HIirFilter::Filter
virtual void Filter(T *src, T *dest, size_t blocksize)
Definition: hiirfilter.cpp:94
HBiQuadFilter::~HBiQuadFilter
~HBiQuadFilter()
Definition: hbiquadfilter.h:34
HBiQuadFilter
Definition: hbiquadfilter.h:11
HBiQuadFilter::HBiQuadFilter
HBiQuadFilter(HWriterConsumer< T > *consumer, float fCutOff, float rate, float quality, float gain, size_t blocksize, HProbe< T > *probe=NULL)
Definition: hbiquadfilter.h:23
HIirFilter
Definition: hiirfilter.h:16
HBiQuadFilter::HBiQuadFilter
HBiQuadFilter(HReader< T > *reader, float fCutOff, float rate, float quality, float gain, size_t blocksize, HProbe< T > *probe=NULL)
Definition: hbiquadfilter.h:29
HWriter
Definition: hwriter.h:10
HIirFilter::SetCoefficients
void SetCoefficients(float *coefficients, int length)
Definition: hiirfilter.cpp:144
HReader
Definition: hreader.h:24
HBiQuadFilter::SetCoefficients
void SetCoefficients(float fCutOff, float rate, float quality, float gain, size_t blocksize)
Definition: hbiquadfilter.h:44
HProbe
Definition: hprobe.h:10
HBiQuadFilter::HBiQuadFilter
HBiQuadFilter(HWriter< T > *writer, float fCutOff, float rate, float quality, float gain, size_t blocksize, HProbe< T > *probe=NULL)
Definition: hbiquadfilter.h:17
HBiQuadFilter::Filter
virtual void Filter(T *src, T *dest, size_t blocksize)
Definition: hbiquadfilter.h:38
HWriterConsumer
Definition: hwriterconsumer.h:8