#include <iir_allpass1_halfband.h>
Collaboration diagram for SPUC::iir_allpass1_halfband< Numeric, Coeff >:

Public Member Functions | |
| iir_allpass1_halfband (Coeff c0, Coeff c1, long round_bits=0) | |
| void | reset () |
| reset | |
| Numeric | clock (Numeric input) |
| Shift inputs by one time sample and place new sample into array. | |
| char | ready (void) |
Public Attributes | |
| char | even |
Protected Attributes | |
| allpass_1< Numeric, Coeff > | A0 |
| The 2 1st order allpass filters. | |
| allpass_1< Numeric, Coeff > | A1 |
| Numeric | out0 |
| Individual filter outputs. | |
| Numeric | out1 |
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
| SPUC::iir_allpass1_halfband< Numeric, Coeff >::iir_allpass1_halfband | ( | Coeff | c0, | |
| Coeff | c1, | |||
| long | round_bits = 0 | |||
| ) | [inline] |
| Numeric SPUC::iir_allpass1_halfband< Numeric, Coeff >::clock | ( | Numeric | input | ) | [inline] |
Shift inputs by one time sample and place new sample into array.
| char SPUC::iir_allpass1_halfband< Numeric, Coeff >::ready | ( | void | ) | [inline] |
| void SPUC::iir_allpass1_halfband< Numeric, Coeff >::reset | ( | void | ) | [inline] |
reset
allpass_1<Numeric,Coeff> SPUC::iir_allpass1_halfband< Numeric, Coeff >::A0 [protected] |
The 2 1st order allpass filters.
allpass_1<Numeric,Coeff> SPUC::iir_allpass1_halfband< Numeric, Coeff >::A1 [protected] |
| char SPUC::iir_allpass1_halfband< Numeric, Coeff >::even |
Numeric SPUC::iir_allpass1_halfband< Numeric, Coeff >::out0 [protected] |
Individual filter outputs.
Numeric SPUC::iir_allpass1_halfband< Numeric, Coeff >::out1 [protected] |
1.4.7