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

template class fir_decim based on FIR class More...

#include <fir_interp.h>

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

Public Member Functions

void skip ()
 if set, automaticaly increment phase More...
 
void set_rate (long r)
 Set interpolation rate. More...
 
void set_automatic (void)
 
void set_manual (int def_phase=0)
 
 fir_interp (const char *i)
 Constructor. More...
 
 fir_interp (void)
 
 fir_interp (long n)
 
void reset ()
 
Coeff coeff_sum ()
 
void input (Numeric in)
 
Numeric clock (long set_phase)
 Explicitly set the phase. More...
 
Numeric clock (void)
 
- Public Member Functions inherited from SPUC::fir< Numeric, Coeff >
void settap (long i, Coeff tap)
 Set tap weights. More...
 
void settaps (fir_coeff< Coeff > &c)
 
long number_of_taps ()
 
Coeff gettap (long i)
 
void reset ()
 Reset. More...
 
Coeff coeff_sum ()
 Get sum of coefficients. More...
 
void normalize_gain ()
 
void make_hpf ()
 
Numeric out ()
 Get current output. More...
 
Numeric check (long i)
 Clock in new sample & compute current output. More...
 
void set_round_bits (long x)
 
 ~fir (void)
 
 fir (void)
 Constructor. More...
 
 fir (long n, long rb=0)
 Constructor. More...
 
 fir (fir_coeff< Coeff > C)
 Constructor. More...
 
void set_size (long n)
 Set size of Filter. More...
 
long get_size (void)
 
 fir (const char *file)
 Constructor that gets coefficients from file (requires fir.cpp) More...
 
Numeric clock (Numeric in)
 Update filter by inputting 1 sample and returning convolved output sample. More...
 
Numeric update (Numeric in)
 
Numeric iir (Numeric in)
 
int read_taps (const char *file)
 
void print (void)
 
void settap (std::vector< Coeff > z)
 

Public Attributes

long num_low
 
long rate
 
long phase
 upsampling rate More...
 
long auto_mode
 current polyphase phase More...
 
- Public Attributes inherited from SPUC::fir< Numeric, Coeff >
std::vector< Coeff > coeff
 
std::vector< Numeric > z
 
Numeric output
 
quantiser< Numeric > Q
 
long num_taps
 

Additional Inherited Members

- Public Types inherited from SPUC::fir< Numeric, Coeff >
typedef base_type< Numeric >::btype Numeric_base
 
typedef mixed_type< Numeric,
Coeff >::dtype 
sum_type
 

Detailed Description

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

template class fir_decim based on FIR class

created to support polyphase FIR interpolation

Author
Tony Kirke

Constructor & Destructor Documentation

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

Constructor.

template<class Numeric, class Coeff = float_type>
SPUC::fir_interp< Numeric, Coeff >::fir_interp ( void  )
inline
template<class Numeric, class Coeff = float_type>
SPUC::fir_interp< Numeric, Coeff >::fir_interp ( long  n)
inline

Member Function Documentation

template<class Numeric, class Coeff = float_type>
Numeric SPUC::fir_interp< Numeric, Coeff >::clock ( long  set_phase)
inline
template<class Numeric, class Coeff = float_type>
Numeric SPUC::fir_interp< Numeric, Coeff >::clock ( void  )
inline

Phase increments when in automatic mode Otherwise phase does not change

Referenced by SPUC::fir_interp< SPUC::complex< CNumeric >, float_type >::clock().

template<class Numeric, class Coeff = float_type>
Coeff SPUC::fir_interp< Numeric, Coeff >::coeff_sum ( )
inline
template<class Numeric, class Coeff = float_type>
void SPUC::fir_interp< Numeric, Coeff >::input ( Numeric  in)
inline
template<class Numeric, class Coeff = float_type>
void SPUC::fir_interp< Numeric, Coeff >::reset ( void  )
inline
template<class Numeric, class Coeff = float_type>
void SPUC::fir_interp< Numeric, Coeff >::set_automatic ( void  )
inline
template<class Numeric, class Coeff = float_type>
void SPUC::fir_interp< Numeric, Coeff >::set_manual ( int  def_phase = 0)
inline
template<class Numeric, class Coeff = float_type>
void SPUC::fir_interp< Numeric, Coeff >::set_rate ( long  r)
inline
template<class Numeric, class Coeff = float_type>
void SPUC::fir_interp< Numeric, Coeff >::skip ( )
inline

if set, automaticaly increment phase

Skip output sample but increment phase

Member Data Documentation

template<class Numeric, class Coeff = float_type>
long SPUC::fir_interp< Numeric, Coeff >::auto_mode

current polyphase phase

template<class Numeric, class Coeff = float_type>
long SPUC::fir_interp< Numeric, Coeff >::num_low
template<class Numeric, class Coeff = float_type>
long SPUC::fir_interp< Numeric, Coeff >::phase

upsampling rate

Referenced by SPUC::quad_data< float_type >::get_fir_output().

template<class Numeric, class Coeff = float_type>
long SPUC::fir_interp< Numeric, Coeff >::rate

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