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

Template Class for 1st Order high pass IIR filter from S-domain transformation. More...

#include <iir_hpf.h>

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

Public Member Functions

 iir_hpf (Coeff A=0, long b=0)
 
void set_coeff (Coeff A)
 
Coeff get_a0 ()
 
Coeff get_b0 ()
 
void print ()
 Print out coefficients. More...
 
Numeric clock (Numeric input)
 Input new sample and calculate output. More...
 
void reset ()
 Reset. More...
 

Protected Attributes

Coeff gain
 
Coeff a
 
Numeric out
 
Numeric previous_out
 
Numeric previous_in
 
quantiser< Numeric > Q
 

Detailed Description

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

Template Class for 1st Order high pass IIR filter from S-domain transformation.

The filter is the first order high pass digital filter generated by the bilinear transform of a first order analog filter.

$ H(s) = \frac{s}{(s+A)} $

$ H(z) = \frac{A*(1-z^-1)}{((1+A)+(1-A)z^-1)} $ where A is real

Author
Tony Kirke

Constructor & Destructor Documentation

template<class Numeric , class Coeff = float_type>
SPUC::iir_hpf< Numeric, Coeff >::iir_hpf ( Coeff  A = 0,
long  b = 0 
)
inline

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

Here is the call graph for this function:

Member Function Documentation

template<class Numeric , class Coeff = float_type>
Numeric SPUC::iir_hpf< Numeric, Coeff >::clock ( Numeric  input)
inline
template<class Numeric , class Coeff = float_type>
Coeff SPUC::iir_hpf< Numeric, Coeff >::get_a0 ( )
inline
template<class Numeric , class Coeff = float_type>
Coeff SPUC::iir_hpf< Numeric, Coeff >::get_b0 ( )
inline
template<class Numeric , class Coeff = float_type>
void SPUC::iir_hpf< Numeric, Coeff >::print ( void  )
inline

Print out coefficients.

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

Member Data Documentation

template<class Numeric , class Coeff = float_type>
Coeff SPUC::iir_hpf< Numeric, Coeff >::a
protected
template<class Numeric , class Coeff = float_type>
Coeff SPUC::iir_hpf< Numeric, Coeff >::gain
protected
template<class Numeric , class Coeff = float_type>
Numeric SPUC::iir_hpf< Numeric, Coeff >::out
protected
template<class Numeric , class Coeff = float_type>
Numeric SPUC::iir_hpf< Numeric, Coeff >::previous_in
protected
template<class Numeric , class Coeff = float_type>
Numeric SPUC::iir_hpf< Numeric, Coeff >::previous_out
protected
template<class Numeric , class Coeff = float_type>
quantiser<Numeric> SPUC::iir_hpf< Numeric, Coeff >::Q
protected

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