SPUC::qpsk< Numeric > Class Template Reference
[SPUC templates with real parametersCommunication classes And functions]

A QPSK receiver that can operate at exactly 2 samples/symbol. More...

#include <qpsk.h>

Collaboration diagram for SPUC::qpsk< Numeric >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef fundtype< Numeric
>::ftype 
CNumeric

Public Member Functions

Numeric I_data ()
Numeric Q_data ()
complex< CNumericdata ()
Numeric carrier_loop ()
Numeric symbol_loop ()
bool symclk (void)
 qpsk (void)
void reset (void)
void clock (complex< CNumeric >adc_out)

Public Attributes

a_d ADC
loop_filter< Numeric > carrier_loop_filter
loop_filter< Numeric > symbol_loop_filter
Numeric carrier_loop_out
Numeric symbol_loop_out
bool symbol_clk
bool symbol_clk_pls
bool sample_clk
bool symbol_x2_clk
bool symbol_x2_clk_pls
vco< Numeric > c_nco
fir< complex< CNumeric >,
long > 
rcv_sqrt_rc
delay< complex< CNumeric > > final_baseband_delay
delay< complex< CNumeric > > hard_decision_delay
delay< complex< CNumeric > > timing_disc_delay
long bpsk
long dec_rate_log
Numeric carrier_error
Numeric symbol_nco_out
complex< CNumericprev_sam
complex< CNumericprev_sym
complex< CNumericdecision
complex< CNumerichard_decision_prev
complex< CNumericfinal_baseband_prev
complex< CNumericbaseband
complex< CNumericresampled
complex< CNumericcarrier_in
complex< CNumericcarrier_nco_out
complex< CNumericmf_in
complex< CNumericmf_out
complex< CNumericfinal_baseband
complex< CNumerichard_decision
Numeric timing_error
Numeric nda_timing_error

Detailed Description

template<class Numeric>
class SPUC::qpsk< Numeric >

A QPSK receiver that can operate at exactly 2 samples/symbol.

to illustrate carrier phase locked loop and demod process see qpsk_variable for more comprehensive example.

Author:
Tony Kirke, Copyright(c) 2001

Tony Kirke

qpsk.gif


Member Typedef Documentation

template<class Numeric>
typedef fundtype<Numeric>::ftype SPUC::qpsk< Numeric >::CNumeric


Constructor & Destructor Documentation

template<class Numeric>
SPUC::qpsk< Numeric >::qpsk ( void   )  [inline]


Member Function Documentation

template<class Numeric>
Numeric SPUC::qpsk< Numeric >::carrier_loop (  )  [inline]

template<class Numeric>
void SPUC::qpsk< Numeric >::clock ( complex< CNumeric adc_out  )  [inline]

template<class Numeric>
complex<CNumeric> SPUC::qpsk< Numeric >::data (  )  [inline]

template<class Numeric>
Numeric SPUC::qpsk< Numeric >::I_data (  )  [inline]

template<class Numeric>
Numeric SPUC::qpsk< Numeric >::Q_data (  )  [inline]

template<class Numeric>
void SPUC::qpsk< Numeric >::reset ( void   )  [inline]

template<class Numeric>
Numeric SPUC::qpsk< Numeric >::symbol_loop (  )  [inline]

template<class Numeric>
bool SPUC::qpsk< Numeric >::symclk ( void   )  [inline]


Member Data Documentation

template<class Numeric>
a_d SPUC::qpsk< Numeric >::ADC

template<class Numeric>
complex<CNumeric> SPUC::qpsk< Numeric >::baseband

template<class Numeric>
long SPUC::qpsk< Numeric >::bpsk

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

template<class Numeric>
Numeric SPUC::qpsk< Numeric >::carrier_error

template<class Numeric>
complex<CNumeric> SPUC::qpsk< Numeric >::carrier_in

template<class Numeric>
loop_filter<Numeric> SPUC::qpsk< Numeric >::carrier_loop_filter

template<class Numeric>
Numeric SPUC::qpsk< Numeric >::carrier_loop_out

template<class Numeric>
complex<CNumeric> SPUC::qpsk< Numeric >::carrier_nco_out

template<class Numeric>
long SPUC::qpsk< Numeric >::dec_rate_log

template<class Numeric>
complex<CNumeric> SPUC::qpsk< Numeric >::decision

template<class Numeric>
complex<CNumeric> SPUC::qpsk< Numeric >::final_baseband

template<class Numeric>
delay< complex<CNumeric> > SPUC::qpsk< Numeric >::final_baseband_delay

template<class Numeric>
complex<CNumeric> SPUC::qpsk< Numeric >::final_baseband_prev

template<class Numeric>
complex<CNumeric> SPUC::qpsk< Numeric >::hard_decision

template<class Numeric>
delay< complex<CNumeric> > SPUC::qpsk< Numeric >::hard_decision_delay

template<class Numeric>
complex<CNumeric> SPUC::qpsk< Numeric >::hard_decision_prev

template<class Numeric>
complex<CNumeric> SPUC::qpsk< Numeric >::mf_in

template<class Numeric>
complex<CNumeric> SPUC::qpsk< Numeric >::mf_out

template<class Numeric>
Numeric SPUC::qpsk< Numeric >::nda_timing_error

template<class Numeric>
complex<CNumeric> SPUC::qpsk< Numeric >::prev_sam

template<class Numeric>
complex<CNumeric> SPUC::qpsk< Numeric >::prev_sym

template<class Numeric>
fir< complex<CNumeric>, long > SPUC::qpsk< Numeric >::rcv_sqrt_rc

template<class Numeric>
complex<CNumeric> SPUC::qpsk< Numeric >::resampled

template<class Numeric>
bool SPUC::qpsk< Numeric >::sample_clk

template<class Numeric>
bool SPUC::qpsk< Numeric >::symbol_clk

template<class Numeric>
bool SPUC::qpsk< Numeric >::symbol_clk_pls

template<class Numeric>
loop_filter<Numeric> SPUC::qpsk< Numeric >::symbol_loop_filter

template<class Numeric>
Numeric SPUC::qpsk< Numeric >::symbol_loop_out

template<class Numeric>
Numeric SPUC::qpsk< Numeric >::symbol_nco_out

template<class Numeric>
bool SPUC::qpsk< Numeric >::symbol_x2_clk

template<class Numeric>
bool SPUC::qpsk< Numeric >::symbol_x2_clk_pls

template<class Numeric>
delay< complex<CNumeric> > SPUC::qpsk< Numeric >::timing_disc_delay

template<class Numeric>
Numeric SPUC::qpsk< Numeric >::timing_error


The documentation for this class was generated from the following file:
Generated on Mon Jun 9 19:40:51 2008 for DSPTemplates by  doxygen 1.4.7