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

Template for 2nd order allpass filter. More...

#include <allpass_2nd.h>

Public Types

typedef mixed_type< Numeric,
Coeff >::dtype 
sum_type
 

Public Member Functions

 allpass_2nd (Coeff B0, Coeff A0, long b=0)
 
 allpass_2nd ()
 
void set_round_bits (long x)
 
void reset ()
 
void set_a (Coeff A0)
 
void set_b (Coeff B0)
 
Coeff get_a ()
 
Coeff get_b ()
 
void set_coeffs (Coeff B0, Coeff A0)
 
 allpass_2nd (const char *file)
 Constructor reading coefficients from a file. More...
 
void print ()
 Print out coefficients. More...
 
Numeric clock (Numeric input)
 Input new sample and calculate output. More...
 

Public Attributes

Numeric fb2
 
Numeric fb1
 
Numeric fb0
 
Numeric scale
 
quantiser< Numeric > Q
 
quantiser< Numeric > OQ
 

Protected Attributes

long round_bits
 
Coeff b
 
Coeff a
 
Numeric in [3]
 

Detailed Description

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

Template for 2nd order allpass filter.

Author
Tony Kirke
allpass_2nd.png

Template for 2nd order allpass filter

The filter is assumed to be a 2nd order allpass section of the form $ G(z) = \frac{z^2 + b*z+a}{(a*z^2+b*z+1)} $

Member Typedef Documentation

template<class Numeric, class Coeff = float_type>
typedef mixed_type<Numeric,Coeff>::dtype SPUC::allpass_2nd< Numeric, Coeff >::sum_type

Constructor & Destructor Documentation

template<class Numeric, class Coeff = float_type>
SPUC::allpass_2nd< Numeric, Coeff >::allpass_2nd ( Coeff  B0,
Coeff  A0,
long  b = 0 
)
inline

References SPUC::allpass_2nd< Numeric, Coeff >::b, and SPUC::allpass_2nd< Numeric, Coeff >::reset().

Here is the call graph for this function:

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

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

Here is the call graph for this function:

template<class Numeric, class Coeff = float_type>
SPUC::allpass_2nd< Numeric, Coeff >::allpass_2nd ( const char *  file)
inline

Constructor reading coefficients from a file.

References SPUC::allpass_2nd< Numeric, Coeff >::a, SPUC::allpass_2nd< Numeric, Coeff >::b, and SPUC::allpass_2nd< Numeric, Coeff >::reset().

Here is the call graph for this function:

Member Function Documentation

template<class Numeric, class Coeff = float_type>
Numeric SPUC::allpass_2nd< Numeric, Coeff >::clock ( Numeric  input)
inline
template<class Numeric, class Coeff = float_type>
Coeff SPUC::allpass_2nd< Numeric, Coeff >::get_a ( )
inline
template<class Numeric, class Coeff = float_type>
Coeff SPUC::allpass_2nd< Numeric, Coeff >::get_b ( )
inline
template<class Numeric, class Coeff = float_type>
void SPUC::allpass_2nd< Numeric, Coeff >::print ( )
inline
template<class Numeric, class Coeff = float_type>
void SPUC::allpass_2nd< Numeric, Coeff >::reset ( )
inline
template<class Numeric, class Coeff = float_type>
void SPUC::allpass_2nd< Numeric, Coeff >::set_a ( Coeff  A0)
inline
template<class Numeric, class Coeff = float_type>
void SPUC::allpass_2nd< Numeric, Coeff >::set_b ( Coeff  B0)
inline
template<class Numeric, class Coeff = float_type>
void SPUC::allpass_2nd< Numeric, Coeff >::set_coeffs ( Coeff  B0,
Coeff  A0 
)
inline
template<class Numeric, class Coeff = float_type>
void SPUC::allpass_2nd< Numeric, Coeff >::set_round_bits ( long  x)
inline

Member Data Documentation

template<class Numeric, class Coeff = float_type>
Coeff SPUC::allpass_2nd< Numeric, Coeff >::a
protected
template<class Numeric, class Coeff = float_type>
Coeff SPUC::allpass_2nd< Numeric, Coeff >::b
protected
template<class Numeric, class Coeff = float_type>
Numeric SPUC::allpass_2nd< Numeric, Coeff >::fb0
template<class Numeric, class Coeff = float_type>
Numeric SPUC::allpass_2nd< Numeric, Coeff >::fb1
template<class Numeric, class Coeff = float_type>
Numeric SPUC::allpass_2nd< Numeric, Coeff >::fb2
template<class Numeric, class Coeff = float_type>
Numeric SPUC::allpass_2nd< Numeric, Coeff >::in[3]
protected
template<class Numeric, class Coeff = float_type>
quantiser<Numeric> SPUC::allpass_2nd< Numeric, Coeff >::OQ
template<class Numeric, class Coeff = float_type>
quantiser<Numeric> SPUC::allpass_2nd< Numeric, Coeff >::Q
template<class Numeric, class Coeff = float_type>
long SPUC::allpass_2nd< Numeric, Coeff >::round_bits
protected
template<class Numeric, class Coeff = float_type>
Numeric SPUC::allpass_2nd< Numeric, Coeff >::scale

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