SPUC  3.0
Public Member Functions | Public Attributes | List of all members
SPUC::iir_allpass_variable_cascade< Numeric, Coeff > Class Template Reference

#include <iir_allpass_variable_cascade.h>

Collaboration diagram for SPUC::iir_allpass_variable_cascade< Numeric, Coeff >:
Collaboration graph
[legend]

Public Member Functions

 iir_allpass_variable_cascade (float_type fp=0, int n=1, int dly=2, int coeff_bits=0)
 n = Filter stages More...
 
void set_coeffs (float_type fp, int n=1, int dly=2, int coeff_bits=0)
 n = Filter stages More...
 
Coeff get_a0 (int i)
 
Coeff get_a1 (int i)
 
 ~iir_allpass_variable_cascade ()
 Destructor. More...
 
void reset ()
 Reset history. More...
 
void set_hpf (bool h)
 
Numeric clock (Numeric input)
 Clock in sample and get output. More...
 
Numeric get_hp_out ()
 Clock in sample and get output. More...
 

Public Attributes

long stages
 
allpass< Numeric, Coeff > A0
 
allpass< Numeric, Coeff > A1
 
circ_buffer< Numeric > prev_input
 
bool hpf
 
Numeric out0
 
Numeric out1
 

Detailed Description

template<class Numeric, class Coeff = float_type>
class SPUC::iir_allpass_variable_cascade< Numeric, Coeff >

This is a halfband IIR filter with two branches of cascades of 1st order allpass sections

Author
Tony Kirke
iir_allpass1_cascade.png
Tony Kirke

Constructor & Destructor Documentation

template<class Numeric, class Coeff = float_type>
SPUC::iir_allpass_variable_cascade< Numeric, Coeff >::iir_allpass_variable_cascade ( float_type  fp = 0,
int  n = 1,
int  dly = 2,
int  coeff_bits = 0 
)
inline
template<class Numeric, class Coeff = float_type>
SPUC::iir_allpass_variable_cascade< Numeric, Coeff >::~iir_allpass_variable_cascade ( )
inline

Destructor.

Member Function Documentation

template<class Numeric, class Coeff = float_type>
Numeric SPUC::iir_allpass_variable_cascade< Numeric, Coeff >::clock ( Numeric  input)
inline

Clock in sample and get output.

References SPUC::allpass< Numeric, Coeff >::clock(), SPUC::circ_buffer< T >::input(), SPUC::circ_buffer< T >::last(), and SPUC::round().

Referenced by main().

Here is the call graph for this function:

template<class Numeric, class Coeff = float_type>
Coeff SPUC::iir_allpass_variable_cascade< Numeric, Coeff >::get_a0 ( int  i)
inline
template<class Numeric, class Coeff = float_type>
Coeff SPUC::iir_allpass_variable_cascade< Numeric, Coeff >::get_a1 ( int  i)
inline
template<class Numeric, class Coeff = float_type>
Numeric SPUC::iir_allpass_variable_cascade< Numeric, Coeff >::get_hp_out ( )
inline

Clock in sample and get output.

References SPUC::round().

Here is the call graph for this function:

template<class Numeric, class Coeff = float_type>
void SPUC::iir_allpass_variable_cascade< Numeric, Coeff >::reset ( void  )
inline

Reset history.

References SPUC::allpass< Numeric, Coeff >::reset(), and SPUC::circ_buffer< T >::reset().

Here is the call graph for this function:

template<class Numeric, class Coeff = float_type>
void SPUC::iir_allpass_variable_cascade< Numeric, Coeff >::set_coeffs ( float_type  fp,
int  n = 1,
int  dly = 2,
int  coeff_bits = 0 
)
inline
template<class Numeric, class Coeff = float_type>
void SPUC::iir_allpass_variable_cascade< Numeric, Coeff >::set_hpf ( bool  h)
inline

Member Data Documentation

template<class Numeric, class Coeff = float_type>
allpass< Numeric,Coeff > SPUC::iir_allpass_variable_cascade< Numeric, Coeff >::A0
template<class Numeric, class Coeff = float_type>
allpass< Numeric,Coeff > SPUC::iir_allpass_variable_cascade< Numeric, Coeff >::A1
template<class Numeric, class Coeff = float_type>
bool SPUC::iir_allpass_variable_cascade< Numeric, Coeff >::hpf
template<class Numeric, class Coeff = float_type>
Numeric SPUC::iir_allpass_variable_cascade< Numeric, Coeff >::out0
template<class Numeric, class Coeff = float_type>
Numeric SPUC::iir_allpass_variable_cascade< Numeric, Coeff >::out1
template<class Numeric, class Coeff = float_type>
circ_buffer<Numeric> SPUC::iir_allpass_variable_cascade< Numeric, Coeff >::prev_input
template<class Numeric, class Coeff = float_type>
long SPUC::iir_allpass_variable_cascade< Numeric, Coeff >::stages

The documentation for this class was generated from the following file: