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

Template class for 1st order allpass filter with programmble gain and delay. More...

#include <allpass_1.h>

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

Public Member Functions

 allpass_1 (Coeff Gain=0, long s=1, long b=0)
 Constructor with gain and delay. More...
 
Coeff get_coefficient (void)
 
void reset ()
 Reset. More...
 
void set_gain (Coeff Gain)
 
void init (Coeff &Gain, long s)
 Initializes gain and delay. More...
 
Numeric clock (Numeric input)
 Shift inputs by one time sample and place new sample into array. More...
 

Protected Types

typedef mixed_type< Numeric,
Coeff >::dtype 
sum_type
 

Protected Attributes

long size
 number of unit sample delays More...
 
long round_bits
 
float_type gain
 
circ_buffer< Numeric > mult
 
circ_buffer< Numeric > sum
 
quantiser< Numeric > Q
 

Detailed Description

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

Template class for 1st order allpass filter with programmble gain and delay.

Template class for 1st-order Allpass filter. The filter is a "first-order" Allpass section of the form G(z,n) = (a*z^n + 1)/(z^n+a) The delay n can be specified

allpass_1.gif
Author
Tony Kirke
allpass_1.png

Member Typedef Documentation

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

Constructor & Destructor Documentation

template<class Numeric, class Coeff = float_type>
SPUC::allpass_1< Numeric, Coeff >::allpass_1 ( Coeff  Gain = 0,
long  s = 1,
long  b = 0 
)
inline

Constructor with gain and delay.

Member Function Documentation

template<class Numeric, class Coeff = float_type>
Numeric SPUC::allpass_1< Numeric, Coeff >::clock ( Numeric  input)
inline
template<class Numeric, class Coeff = float_type>
Coeff SPUC::allpass_1< Numeric, Coeff >::get_coefficient ( void  )
inline
template<class Numeric, class Coeff = float_type>
void SPUC::allpass_1< Numeric, Coeff >::init ( Coeff &  Gain,
long  s 
)
inline
template<class Numeric, class Coeff = float_type>
void SPUC::allpass_1< Numeric, Coeff >::reset ( )
inline
template<class Numeric, class Coeff = float_type>
void SPUC::allpass_1< Numeric, Coeff >::set_gain ( Coeff  Gain)
inline

Member Data Documentation

template<class Numeric, class Coeff = float_type>
float_type SPUC::allpass_1< Numeric, Coeff >::gain
protected
template<class Numeric, class Coeff = float_type>
circ_buffer<Numeric> SPUC::allpass_1< Numeric, Coeff >::mult
protected
template<class Numeric, class Coeff = float_type>
quantiser<Numeric> SPUC::allpass_1< Numeric, Coeff >::Q
protected
template<class Numeric, class Coeff = float_type>
long SPUC::allpass_1< Numeric, Coeff >::round_bits
protected
template<class Numeric, class Coeff = float_type>
long SPUC::allpass_1< Numeric, Coeff >::size
protected

number of unit sample delays

template<class Numeric, class Coeff = float_type>
circ_buffer<Numeric> SPUC::allpass_1< Numeric, Coeff >::sum
protected

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