HARDT - The Ham Radio DSP Toolkit
hcombfilter.h
1 #ifndef __HCOMBFILTER_H
2 #define __HCOMBFILTER_H
3 
12 template <class T>
13 class HCombFilter : public HFilter<T>
14 {
15  private:
16 
17  enum COMB_FILTER_TYPE {FEED_BACK, FEED_FORWARD};
18 
19  private:
20 
21  int _length;
22  T* _taps;
23  COMB_FILTER_TYPE _type;
24  float _alpha;
25 
26 
27  void Init(H_SAMPLE_RATE rate, size_t blocksize, int frequency);
28 
29  virtual T FeedBack(T* src)
30  {
31  return *src;
32  }
33 
34  public:
35 
37  HCombFilter(HWriter<T>* writer, H_SAMPLE_RATE rate, int frequency, float alpha, size_t blocksize, HProbe<T>* probe = NULL);
38 
40  HCombFilter(HWriterConsumer<T>* consumer, H_SAMPLE_RATE rate, int frequency, float alpha, size_t blocksize, HProbe<T>* probe = NULL);
41 
43  HCombFilter(HReader<T>* reader, H_SAMPLE_RATE rate, int frequency, float alpha, size_t blocksize, HProbe<T>* probe = NULL);
44 
46  ~HCombFilter();
47 
49  virtual void Filter(T* src, T* dest, size_t blocksize);
50 };
51 
52 #endif
HCombFilter
Definition: hcombfilter.h:13
HWriter
Definition: hwriter.h:10
HCombFilter::Filter
virtual void Filter(T *src, T *dest, size_t blocksize)
Definition: hcombfilter.cpp:144
HFilter
Definition: hfilter.h:14
HReader
Definition: hreader.h:24
HProbe
Definition: hprobe.h:10
HCombFilter::~HCombFilter
~HCombFilter()
Definition: hcombfilter.cpp:137
HCombFilter::HCombFilter
HCombFilter(HWriter< T > *writer, H_SAMPLE_RATE rate, int frequency, float alpha, size_t blocksize, HProbe< T > *probe=NULL)
Definition: hcombfilter.cpp:7
HWriterConsumer
Definition: hwriterconsumer.h:8