Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

SPUC::qpsk Class Reference
[Communication ClassesExamples]

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

#include <qpsk.h>

Collaboration diagram for SPUC::qpsk:

Collaboration graph
List of all members.

Public Member Functions

long I_data ()
long Q_data ()
complex< long > data ()
long carrier_loop ()
long symbol_loop ()
long symclk (void)
void clock (complex< long >adc_out)
 qpsk (void)

Public Attributes

a_d ADC
loop_filter< long > carrier_loop_filter
loop_filter< long > symbol_loop_filter
complex< long > prev_sam
complex< long > prev_sym
complex< long > decision
long carrier_loop_out
long symbol_loop_out
long symbol_clk
long symbol_clk_pls
long sample_clk
long symbol_x2_clk
long symbol_x2_clk_pls
carrier_nco c_nco
fir< complex< long > > rcv_sqrt_rc
delay< complex< long > > hard_decision_delay
delay< complex< long > > final_baseband_delay
delay< complex< long > > timing_disc_delay
long bpsk
long dec_rate_log
long carrier_error
long symbol_nco_out
complex< long > hard_decision_prev
complex< long > final_baseband_prev
complex< long > baseband
complex< long > resampled
complex< long > carrier_in
complex< long > carrier_nco_out
complex< long > mf_in
complex< long > mf_out
complex< long > final_baseband
long timing_error
long nda_timing_error
complex< long > hard_decision

Detailed Description

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

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.


Constructor & Destructor Documentation

SPUC::qpsk::qpsk void   ) 

alpha = 0.35 root raised cosine fir

Member Function Documentation

long SPUC::qpsk::carrier_loop  )  [inline]

void SPUC::qpsk::clock complex< long >  adc_out  ) 

Don't use NDA timing discriminator

Down conversion

Digital Interpolation/Resampling would go here

Processing at 2 times the symbol rate

input to matched filter & does calculation

Slicer - get sign bit prior to rounding!

Symbol rate processing

Matched Filter out

Symbol discriminator

Carrier discriminator

Symbol + timing loop filters

complex<long> SPUC::qpsk::data  )  [inline]

long SPUC::qpsk::I_data  )  [inline]

long SPUC::qpsk::Q_data  )  [inline]

long SPUC::qpsk::symbol_loop  )  [inline]

long SPUC::qpsk::symclk void   )  [inline]

Member Data Documentation

a_d SPUC::qpsk::ADC

complex<long> SPUC::qpsk::baseband

long SPUC::qpsk::bpsk

carrier_nco SPUC::qpsk::c_nco

long SPUC::qpsk::carrier_error

complex<long> SPUC::qpsk::carrier_in

loop_filter<long> SPUC::qpsk::carrier_loop_filter

long SPUC::qpsk::carrier_loop_out

complex<long> SPUC::qpsk::carrier_nco_out

long SPUC::qpsk::dec_rate_log

complex<long> SPUC::qpsk::decision

complex<long> SPUC::qpsk::final_baseband

delay< complex<long> > SPUC::qpsk::final_baseband_delay

complex<long> SPUC::qpsk::final_baseband_prev

complex<long> SPUC::qpsk::hard_decision

delay< complex<long> > SPUC::qpsk::hard_decision_delay

complex<long> SPUC::qpsk::hard_decision_prev

complex<long> SPUC::qpsk::mf_in

complex<long> SPUC::qpsk::mf_out

long SPUC::qpsk::nda_timing_error

complex<long> SPUC::qpsk::prev_sam

complex<long> SPUC::qpsk::prev_sym

fir< complex<long> > SPUC::qpsk::rcv_sqrt_rc

complex<long> SPUC::qpsk::resampled

long SPUC::qpsk::sample_clk

long SPUC::qpsk::symbol_clk

long SPUC::qpsk::symbol_clk_pls

loop_filter<long> SPUC::qpsk::symbol_loop_filter

long SPUC::qpsk::symbol_loop_out

long SPUC::qpsk::symbol_nco_out

long SPUC::qpsk::symbol_x2_clk

long SPUC::qpsk::symbol_x2_clk_pls

delay< complex<long> > SPUC::qpsk::timing_disc_delay

long SPUC::qpsk::timing_error

The documentation for this class was generated from the following files:
Generated on Fri Sep 16 11:08:03 2005 for spuc by  doxygen 1.4.4