SPUC  3.0
Public Member Functions | Protected Attributes | List of all members
SPUC::vco< Numeric > Class Template Reference

Voltage controlled oscillator with complex output. More...

#include <vco.h>

Collaboration diagram for SPUC::vco< Numeric >:
Collaboration graph
[legend]

Public Member Functions

 vco (long bits=8, long a_bits=10)
 
void reset ()
 
void set_frequency (Numeric freq)
 Set frequency control word. More...
 
void reset_frequency (Numeric freq)
 Set new frequency. More...
 
Numeric get_phase (void)
 return phase More...
 
void load (Numeric loop_filter_out)
 Update fcw. More...
 
complex< Numeric > clock (Numeric loop_filter_out)
 return output with updated input More...
 
complex< Numeric > clock ()
 return output only More...
 
template<>
float get_phase (void)
 
template<>
double get_phase (void)
 
template<>
int get_phase (void)
 
template<>
long get_phase (void)
 
template<>
complex< float > clock ()
 
template<>
complex< float > clock (float loop_filter_out)
 
template<>
complex< long > clock ()
 
template<>
complex< long > clock (long loop_filter_out)
 
template<>
complex< double > clock ()
 
template<>
complex< double > clock (double loop_filter_out)
 
template<>
complex< int > clock ()
 
template<>
complex< int > clock (int loop_filter_out)
 
template<>
int_s get_phase (void)
 
template<>
complex< int_s > clock ()
 
template<>
complex< int_s > clock (int_s loop_filter_out)
 

Protected Attributes

Numeric phase
 
Numeric acc
 
Numeric fcw
 
Numeric new_fcw
 
unsigned long phase_bits
 
long amp
 

Detailed Description

template<class Numeric>
class SPUC::vco< Numeric >

Voltage controlled oscillator with complex output.

FCW : frequency control word ACC : accumulator Frequency must be set through interface routines set_frequency or reset_frequency. Load routine is to allow frequency to be updated (typically with a loop filter).

Author
Tony Kirke
Tony Kirke
vco.gif

Constructor & Destructor Documentation

template<class Numeric>
SPUC::vco< Numeric >::vco ( long  bits = 8,
long  a_bits = 10 
)
inline

Member Function Documentation

template<>
complex< int_s > SPUC::vco< int_s >::clock ( void  )

References SPUC::arg(), SPUC::expj(), SPUC_TOLONG, and TWOPI.

Here is the call graph for this function:

template<>
complex< float > SPUC::vco< float >::clock ( void  )

References SPUC::expj(), and TWOPI.

Here is the call graph for this function:

template<>
complex< int_s > SPUC::vco< int_s >::clock ( int_s  loop_filter_out)
template<>
complex< float > SPUC::vco< float >::clock ( float  loop_filter_out)
template<>
complex< long > SPUC::vco< long >::clock ( void  )

References SPUC::arg(), SPUC::expj(), SPUC_TOLONG, and TWOPI.

Here is the call graph for this function:

template<>
complex< long > SPUC::vco< long >::clock ( long  loop_filter_out)
template<>
complex< double > SPUC::vco< double >::clock ( void  )

References SPUC::expj(), and TWOPI.

Here is the call graph for this function:

template<>
complex< double > SPUC::vco< double >::clock ( double  loop_filter_out)
template<>
complex< int > SPUC::vco< int >::clock ( void  )

References SPUC::arg(), SPUC::expj(), SPUC_TOLONG, and TWOPI.

Here is the call graph for this function:

template<>
complex< int > SPUC::vco< int >::clock ( int  loop_filter_out)
template<class Numeric>
complex<Numeric> SPUC::vco< Numeric >::clock ( Numeric  loop_filter_out)
template<class Numeric>
complex<Numeric> SPUC::vco< Numeric >::clock ( )

return output only

template<>
float SPUC::vco< float >::get_phase ( void  )
template<>
double SPUC::vco< double >::get_phase ( void  )
template<>
int_s SPUC::vco< int_s >::get_phase ( void  )
template<>
int SPUC::vco< int >::get_phase ( void  )
template<>
long SPUC::vco< long >::get_phase ( void  )
template<class Numeric>
Numeric SPUC::vco< Numeric >::get_phase ( void  )
inline

return phase

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

template<class Numeric>
void SPUC::vco< Numeric >::load ( Numeric  loop_filter_out)
inline

Update fcw.

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

template<class Numeric>
void SPUC::vco< Numeric >::reset ( void  )
inline
template<class Numeric>
void SPUC::vco< Numeric >::reset_frequency ( Numeric  freq)
inline
template<class Numeric>
void SPUC::vco< Numeric >::set_frequency ( Numeric  freq)
inline

Set frequency control word.

Member Data Documentation

template<class Numeric>
Numeric SPUC::vco< Numeric >::acc
protected
template<class Numeric>
long SPUC::vco< Numeric >::amp
protected
template<class Numeric>
Numeric SPUC::vco< Numeric >::fcw
protected
template<class Numeric>
Numeric SPUC::vco< Numeric >::new_fcw
protected
template<class Numeric>
Numeric SPUC::vco< Numeric >::phase
protected
template<class Numeric>
unsigned long SPUC::vco< Numeric >::phase_bits
protected

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