Async  1.5.0
AsyncAudioDecimator.h
Go to the documentation of this file.
1 
22 #ifndef ASYNC_AUDIO_DECIMATOR_INCLUDED
23 #define ASYNC_AUDIO_DECIMATOR_INCLUDED
24 
25 
26 /****************************************************************************
27  *
28  * System Includes
29  *
30  ****************************************************************************/
31 
32 
33 
34 /****************************************************************************
35  *
36  * Project Includes
37  *
38  ****************************************************************************/
39 
40 #include <AsyncAudioProcessor.h>
41 
42 
43 /****************************************************************************
44  *
45  * Local Includes
46  *
47  ****************************************************************************/
48 
49 
50 
51 /****************************************************************************
52  *
53  * Forward declarations
54  *
55  ****************************************************************************/
56 
57 
58 
59 /****************************************************************************
60  *
61  * Namespace
62  *
63  ****************************************************************************/
64 
65 namespace Async
66 {
67 
68 
69 /****************************************************************************
70  *
71  * Forward declarations of classes inside of the declared namespace
72  *
73  ****************************************************************************/
74 
75 
76 
77 /****************************************************************************
78  *
79  * Defines & typedefs
80  *
81  ****************************************************************************/
82 
83 
84 
85 /****************************************************************************
86  *
87  * Exported Global Variables
88  *
89  ****************************************************************************/
90 
91 
92 
93 /****************************************************************************
94  *
95  * Class definitions
96  *
97  ****************************************************************************/
98 
117 {
118  public:
125  AudioDecimator(int decimation_factor, const float *filter_coeff,
126  int taps);
127 
131  ~AudioDecimator(void);
132 
133 
134  protected:
146  virtual void processSamples(float *dest, const float *src, int count);
147 
148 
149  private:
150  const int factor_M;
151  float *p_Z;
152  int H_size;
153  const float *p_H;
154 
156  AudioDecimator& operator=(const AudioDecimator&);
157 
158 }; /* class AudioDecimator */
159 
160 
161 } /* namespace */
162 
163 #endif /* ASYNC_AUDIO_DECIMATOR_INCLUDED */
164 
165 
166 
167 /*
168  * This file has not been truncated
169  */
170 
AudioDecimator(int decimation_factor, const float *filter_coeff, int taps)
Constructor.
virtual void processSamples(float *dest, const float *src, int count)
Process incoming samples and put them into the output buffer.
The base class for an audio processor.
Decimates a higher sample rate into a lower one.
~AudioDecimator(void)
Destructor.
Namespace for the asynchronous programming classes.
The base class for an audio processor class.