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

Loop Filter for use in PLL circuits. More...

#include <loop_filter.h>

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

Public Types

typedef unquantized_mixed_type
< Numeric, Coeff >::dtype 
k_type
 Accumulator for k1 branch (should not be written to) More...
 

Public Member Functions

 loop_filter (void)
 Constructor. More...
 
void reset (void)
 Reset. More...
 
Numeric update (Numeric error)
 Normal call with input, returns output. More...
 

Public Attributes

long k0_en
 enable first order branch More...
 
long k1_en
 enable second order branch More...
 
Coeff k0
 First order gain. More...
 
Coeff k1
 second order gain More...
 
k_type k1_acc
 

Protected Attributes

Numeric loop_out
 
k_type k1_prod
 
k_type k0_prod
 

Detailed Description

template<class Numeric, class Coeff = double>
class SPUC::loop_filter< Numeric, Coeff >

Loop Filter for use in PLL circuits.

Template for 2nd order loop filter (for timing/carrier recovery, etc). Either branch can be enabled/disabled for 1st/2nd order operation There is no overflow protection on accumulator. Gains are not normalized.

Author
Tony Kirke
loop_filter.png
loop_filter.gif

Member Typedef Documentation

template<class Numeric, class Coeff = double>
typedef unquantized_mixed_type<Numeric,Coeff>::dtype SPUC::loop_filter< Numeric, Coeff >::k_type

Accumulator for k1 branch (should not be written to)

Constructor & Destructor Documentation

template<class Numeric, class Coeff = double>
SPUC::loop_filter< Numeric, Coeff >::loop_filter ( void  )
inline

Constructor.

Member Function Documentation

template<class Numeric, class Coeff = double>
void SPUC::loop_filter< Numeric, Coeff >::reset ( void  )
inline
template<class Numeric, class Coeff = double>
Numeric SPUC::loop_filter< Numeric, Coeff >::update ( Numeric  error)
inline

Normal call with input, returns output.

Referenced by SPUC::qpsk< Numeric >::clock(), and SPUC::qpsk_variable< Numeric >::clock().

Member Data Documentation

template<class Numeric, class Coeff = double>
Coeff SPUC::loop_filter< Numeric, Coeff >::k0
template<class Numeric, class Coeff = double>
long SPUC::loop_filter< Numeric, Coeff >::k0_en
template<class Numeric, class Coeff = double>
k_type SPUC::loop_filter< Numeric, Coeff >::k0_prod
protected
template<class Numeric, class Coeff = double>
Coeff SPUC::loop_filter< Numeric, Coeff >::k1
template<class Numeric, class Coeff = double>
k_type SPUC::loop_filter< Numeric, Coeff >::k1_acc
template<class Numeric, class Coeff = double>
long SPUC::loop_filter< Numeric, Coeff >::k1_en
template<class Numeric, class Coeff = double>
k_type SPUC::loop_filter< Numeric, Coeff >::k1_prod
protected
template<class Numeric, class Coeff = double>
Numeric SPUC::loop_filter< Numeric, Coeff >::loop_out
protected

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