SPUC::loop_filter< Numeric, Coeff > Class Template Reference
[SPUC double templates with real parametersPhase lock loop functions]

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

#include <loop_filter.h>

Collaboration diagram for SPUC::loop_filter< Numeric, Coeff >:

Collaboration graph
[legend]
List of all members.

Public Types

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

Public Member Functions

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

Public Attributes

long k0_en
 enable first order branch
long k1_en
 enable second order branch
Coeff k0
 First order gain.
Coeff k1
 second order gain
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]

Reset.

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

Normal call with input, returns output.


Member Data Documentation

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

First order gain.

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

enable first order branch

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

second order gain

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

enable second order branch

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:
Generated on Mon Jun 9 19:40:48 2008 for DSPTemplates by  doxygen 1.4.7