SPUC::allpass_halfband< Numeric > Class Template Reference
[IIR filters]
Template Class for Allpass halfband IIR Filter.
More...
#include <allpass_halfband.h>
Collaboration diagram for SPUC::allpass_halfband< Numeric >:
[legend]List of all members.
|
Public Member Functions |
| allpass_halfband (Numeric c0, Numeric c1) |
void | reset () |
| reset
|
Numeric | clock (Numeric input) |
| Shift inputs by one time sample and place new sample into array.
|
Public Attributes |
char | even |
Protected Attributes |
allpass_1< Numeric > | A0 |
| The 2 1st order allpass filters.
|
allpass_1< Numeric > | A1 |
Numeric | out0 |
| Individual filter outputs.
|
Numeric | out1 |
Detailed Description
template<class Numeric>
class SPUC::allpass_halfband< Numeric >
Template Class for Allpass halfband IIR Filter.
: The filter is a combination of 2 Allpass sections of the form G(z) = (a*z*z + 1)/(z*z+a) so that the overall H(z) is H(z) = 1/z*G(z,a0) + G(z,a1) The combination of these two allpass functions result in a lowpass/highpass complementary pair. The class only uses the low pass filter. This is similar to allpass_iir, except since this is used as a halfband filter the output samples are decimated by 2. So that if the member function clock is called at the higher (input) sampling rate, the outputs are only valid even second sample. This is taken advantage off by running the individual sections effectively at the lower rate. The invalid samples are set to zero. This class needs the allpass_1 class
Constructor & Destructor Documentation
Member Function Documentation
|
Shift inputs by one time sample and place new sample into array.
|
Member Data Documentation
|
The 2 1st order allpass filters.
|
|
Individual filter outputs.
|
The documentation for this class was generated from the following file:
Generated on Fri Sep 16 11:08:25 2005 for spuc by
1.4.4