SPUC::iir_shelf< Numeric, Coeff > Class Template Reference
[SPUC double templatesIIR filters]

#include <iir_shelf.h>

Collaboration diagram for SPUC::iir_shelf< Numeric, Coeff >:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 iir_shelf (Coeff A0, Coeff A1, Coeff B, long rb=0)
 iir_shelf (float_type ca, float_type cb)
Coeff get_a0 ()
Coeff get_a1 ()
Coeff get_b ()
Numeric clock (Numeric input)
 Input new sample and calculate output.
void set_round_bits (long x)
int get_round_bits ()
void reset ()
 Reset.

Protected Attributes

long round_bits
Coeff a0
Coeff a1
Coeff b
Numeric out
Numeric previous_out
Numeric previous_in
quantiser< Numeric > Q

Detailed Description

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

Template for shelving filter

The filter is assumed of the form $ H(s) = \frac{s+A}{s+B} $ which becomes $ H(z) = \frac{(A+1)+(A-1)*z^-1}{(B+1)+(B-1)*z^-1} $

Author:
Tony Kirke
iir_shelf.png


Constructor & Destructor Documentation

template<class Numeric, class Coeff = float_type>
SPUC::iir_shelf< Numeric, Coeff >::iir_shelf ( Coeff  A0,
Coeff  A1,
Coeff  B,
long  rb = 0 
) [inline]

template<class Numeric, class Coeff = float_type>
SPUC::iir_shelf< Numeric, Coeff >::iir_shelf ( float_type  ca,
float_type  cb 
) [inline]


Member Function Documentation

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

Input new sample and calculate output.

template<class Numeric, class Coeff = float_type>
Coeff SPUC::iir_shelf< Numeric, Coeff >::get_a0 (  )  [inline]

template<class Numeric, class Coeff = float_type>
Coeff SPUC::iir_shelf< Numeric, Coeff >::get_a1 (  )  [inline]

template<class Numeric, class Coeff = float_type>
Coeff SPUC::iir_shelf< Numeric, Coeff >::get_b (  )  [inline]

template<class Numeric, class Coeff = float_type>
int SPUC::iir_shelf< Numeric, Coeff >::get_round_bits (  )  [inline]

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

Reset.

template<class Numeric, class Coeff = float_type>
void SPUC::iir_shelf< Numeric, Coeff >::set_round_bits ( long  x  )  [inline]


Member Data Documentation

template<class Numeric, class Coeff = float_type>
Coeff SPUC::iir_shelf< Numeric, Coeff >::a0 [protected]

template<class Numeric, class Coeff = float_type>
Coeff SPUC::iir_shelf< Numeric, Coeff >::a1 [protected]

template<class Numeric, class Coeff = float_type>
Coeff SPUC::iir_shelf< Numeric, Coeff >::b [protected]

template<class Numeric, class Coeff = float_type>
Numeric SPUC::iir_shelf< Numeric, Coeff >::out [protected]

template<class Numeric, class Coeff = float_type>
Numeric SPUC::iir_shelf< Numeric, Coeff >::previous_in [protected]

template<class Numeric, class Coeff = float_type>
Numeric SPUC::iir_shelf< Numeric, Coeff >::previous_out [protected]

template<class Numeric, class Coeff = float_type>
quantiser<Numeric> SPUC::iir_shelf< Numeric, Coeff >::Q [protected]

template<class Numeric, class Coeff = float_type>
long SPUC::iir_shelf< Numeric, Coeff >::round_bits [protected]


The documentation for this class was generated from the following file:
Generated on Mon Jun 9 19:40:47 2008 for DSPTemplates by  doxygen 1.4.7