Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

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 >:

Collaboration graph
[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

allpass_halfband.gif


Constructor & Destructor Documentation

template<class Numeric>
SPUC::allpass_halfband< Numeric >::allpass_halfband Numeric  c0,
Numeric  c1
[inline]
 


Member Function Documentation

template<class Numeric>
Numeric SPUC::allpass_halfband< Numeric >::clock Numeric  input  )  [inline]
 

Shift inputs by one time sample and place new sample into array.

template<class Numeric>
void SPUC::allpass_halfband< Numeric >::reset void   )  [inline]
 

reset


Member Data Documentation

template<class Numeric>
allpass_1<Numeric> SPUC::allpass_halfband< Numeric >::A0 [protected]
 

The 2 1st order allpass filters.

template<class Numeric>
allpass_1<Numeric> SPUC::allpass_halfband< Numeric >::A1 [protected]
 

template<class Numeric>
char SPUC::allpass_halfband< Numeric >::even
 

template<class Numeric>
Numeric SPUC::allpass_halfband< Numeric >::out0 [protected]
 

Individual filter outputs.

template<class Numeric>
Numeric SPUC::allpass_halfband< Numeric >::out1 [protected]
 


The documentation for this class was generated from the following file:
Generated on Fri Sep 16 11:08:25 2005 for spuc by  doxygen 1.4.4