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

#include <iir_shelf.h>

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

Public Member Functions

 iir_shelf (Coeff A0, Coeff A1, Coeff B, long rb=0)
 
 iir_shelf (float_type ca, float_type cb)
 
void set (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. More...
 
void set_round_bits (long x)
 
int get_round_bits ()
 
void reset ()
 Reset. More...
 

Protected Attributes

long round_bits
 
Coeff b
 
Coeff a0
 
Coeff a1
 
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

References SPUC::iir_shelf< Numeric, Coeff >::reset().

Here is the call graph for this function:

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

References SPUC::iir_shelf< Numeric, Coeff >::reset().

Here is the call graph for this function:

Member Function Documentation

template<class Numeric , class Coeff = float_type>
Numeric SPUC::iir_shelf< Numeric, Coeff >::clock ( Numeric  input)
inline
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
template<class Numeric , class Coeff = float_type>
void SPUC::iir_shelf< Numeric, Coeff >::set ( float_type  ca,
float_type  cb 
)
inline

References SPUC::iir_shelf< Numeric, Coeff >::reset().

Here is the call graph for this function:

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

References SPUC::quantiser< Numeric >::set_bits().

Here is the call graph for this function:

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: