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

Tempate Class for iir filter. More...

#include <iir.h>

Public Types

typedef mixed_type< Numeric,
Coeff >::dtype 
mult_type
 

Public Member Functions

 iir (iir_coeff &design)
 ord = Filter order More...
 
 iir (long ord=1)
 ord = Filter order More...
 
void clear ()
 
void realloc (iir_coeff &design)
 
 ~iir ()
 Destructor. More...
 
int stages ()
 
void reset ()
 Reset history. More...
 
void set_coeffs (iir_coeff &design)
 Set 2nd order IIR coefficients. More...
 
void set_round_bits (int stage, int bits)
 Set 2nd order IIR coefficients. More...
 
void print ()
 print coefficients More...
 
Numeric clock (Numeric in)
 Clock in sample and get output. More...
 

Public Attributes

long order
 
long odd
 
long n2
 
std::vector< iir_2nd< Numeric,
Coeff > > 
sos
 
iir_lpf1< Numeric, Coeff > fos
 
Coeff gain
 
quantiser< Numeric > Q
 

Detailed Description

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

Tempate Class for iir filter.

consisting of first and second order filter sections

Author
Tony Kirke

Member Typedef Documentation

template<class Numeric, class Coeff = float_type>
typedef mixed_type<Numeric,Coeff>::dtype SPUC::iir< Numeric, Coeff >::mult_type

Constructor & Destructor Documentation

template<class Numeric, class Coeff = float_type>
SPUC::iir< Numeric, Coeff >::iir ( iir_coeff design)
inline

ord = Filter order

References SPUC::iir_coeff::n2, SPUC::iir_coeff::odd, SPUC::iir_coeff::order, and SPUC::iir< Numeric, Coeff >::set_coeffs().

Here is the call graph for this function:

template<class Numeric, class Coeff = float_type>
SPUC::iir< Numeric, Coeff >::iir ( long  ord = 1)
inline

ord = Filter order

template<class Numeric, class Coeff = float_type>
SPUC::iir< Numeric, Coeff >::~iir ( )
inline

Destructor.

Member Function Documentation

template<class Numeric, class Coeff = float_type>
void SPUC::iir< Numeric, Coeff >::clear ( )
inline
template<class Numeric, class Coeff = float_type>
Numeric SPUC::iir< Numeric, Coeff >::clock ( Numeric  in)
inline

Clock in sample and get output.

References SPUC::iir_lpf1< Numeric, Coeff >::clock(), SPUC::iir< Numeric, Coeff >::n2, SPUC::iir< Numeric, Coeff >::odd, and SPUC::iir< Numeric, Coeff >::Q.

Referenced by main().

Here is the call graph for this function:

template<class Numeric, class Coeff = float_type>
void SPUC::iir< Numeric, Coeff >::print ( void  )
inline

print coefficients

References SPUC::iir< Numeric, Coeff >::n2, and SPUC::iir_lpf1< Numeric, Coeff >::print().

Referenced by main().

Here is the call graph for this function:

template<class Numeric, class Coeff = float_type>
void SPUC::iir< Numeric, Coeff >::realloc ( iir_coeff design)
inline
template<class Numeric, class Coeff = float_type>
void SPUC::iir< Numeric, Coeff >::reset ( void  )
inline

Reset history.

References SPUC::iir< Numeric, Coeff >::n2, and SPUC::iir_lpf1< Numeric, Coeff >::reset().

Referenced by SPUC::iir< Numeric, Coeff >::realloc().

Here is the call graph for this function:

template<class Numeric, class Coeff = float_type>
void SPUC::iir< Numeric, Coeff >::set_coeffs ( iir_coeff design)
inline
template<class Numeric, class Coeff = float_type>
void SPUC::iir< Numeric, Coeff >::set_round_bits ( int  stage,
int  bits 
)
inline

Set 2nd order IIR coefficients.

References SPUC::iir_lpf1< Numeric, Coeff >::set_round_bits().

Here is the call graph for this function:

template<class Numeric, class Coeff = float_type>
int SPUC::iir< Numeric, Coeff >::stages ( )
inline

Member Data Documentation

template<class Numeric, class Coeff = float_type>
iir_lpf1< Numeric, Coeff > SPUC::iir< Numeric, Coeff >::fos
template<class Numeric, class Coeff = float_type>
Coeff SPUC::iir< Numeric, Coeff >::gain
template<class Numeric, class Coeff = float_type>
long SPUC::iir< Numeric, Coeff >::n2
template<class Numeric, class Coeff = float_type>
long SPUC::iir< Numeric, Coeff >::odd
template<class Numeric, class Coeff = float_type>
long SPUC::iir< Numeric, Coeff >::order
template<class Numeric, class Coeff = float_type>
quantiser<Numeric> SPUC::iir< Numeric, Coeff >::Q
template<class Numeric, class Coeff = float_type>
std::vector<iir_2nd< Numeric, Coeff > > SPUC::iir< Numeric, Coeff >::sos

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