Communication classes And functions

Collaboration diagram for Communication classes And functions:


Classes

class  SPUC::base_demod< Numeric >
 base class for a demodulator (not currently used?) More...
class  SPUC::bit_scrambler
 Data scrambler. More...
class  SPUC::bpe< Numeric, Coeff >
 Block Phase Estimator. More...
class  SPUC::carrier_nco
 A specialization example of a sin/cosine look-up NCO. More...
class  SPUC::data_conv_encoder
 Convolutional encoder for punctured encoding. More...
class  SPUC::dqpsk
 Differential QPSK encoder/decoder. More...
class  SPUC::dvb_conv_encoder
 DVB Convolution encode for rate 1/2. More...
class  SPUC::fading_channel
class  SPUC::lms_dfe< Numeric, Coeff >
 Template Class for LMS Decision Feedback equalizer. More...
class  SPUC::mle< Numeric >
 A Configurable Maximum Likelihood Sequence Estimator Class. More...
class  SPUC::ofdm_data_encoder
 OFDM/802.11A/G Data Encoder. More...
class  SPUC::qam_conv_decoder
 QAM convolutional decoder. More...
class  SPUC::qam_mod
 QAM Modulator for BPSK - 64 QAM for 802.11A Data modulation. More...
class  SPUC::qam_tx< Numeric >
 Class for QAM transmitter using a root raised cosine transmit filter. More...
class  SPUC::qpsk< Numeric >
 A QPSK receiver that can operate at exactly 2 samples/symbol. More...
class  SPUC::qpsk_discriminators
 A Class incorporating several symbol and carrier discriminators for QPSK. More...
class  SPUC::qpsk_variable< Numeric >
 A QPSK receiver that can operate over a range of non-integer sampling rates. More...
class  SPUC::quad_data< Numeric >
 Class for QPSK data using a root raised cosine transmit filter. More...
class  SPUC::rls< Numeric >
 Recursive Least Squares Algorithm. More...
class  SPUC::viterbi
 A Viterbi decoder (for DVB). More...

Functions

template<class T>
SPUC::bpsk_dd_phase (complex< T > curr, complex< T > hard_data)
 Decision directed carrier phase discriminator for BPSK.
template<class T>
SPUC::bpsk_quadricorrelator (complex< T > hard_data, complex< T > prev)
 BPSK Quadricorrelator frequency discriminator.
template<class T>
SPUC::cp_afc (complex< T > prev, complex< T > curr)
 Cross-Product frequency discriminator.
template<class T>
SPUC::dd_symbol (complex< T > prev, complex< T > curr, complex< T > prev_hard_data, complex< T > hard_data)
 Decision directed timing discriminator (QPSK).
template<class T>
SPUC::nda_symbol (complex< T > prev, complex< T > curr)
 Non-decision aided timing discriminator (Gardiner's algorithm).
void SPUC::qam_data_demap (long rate_index, complex< long > data_in, long soft_decision_level, smart_array< long > viterbi_input)
 Soft-decision QAM Demapper (used in 802.11A).
void SPUC::bpsk_soft_decision (complex< long > data_in, smart_array< long > viterbi_input)
 BPSK data demapping.
void SPUC::qpsk_soft_decision (complex< long > data_in, smart_array< long > viterbi_input)
 QPSK data demapping.
void SPUC::qam16_soft_decision (complex< long > data_in, long soft_decision_level, smart_array< long > viterbi_input)
 16-QAM data demapping
void SPUC::qam64_soft_decision (complex< long > data_in, long soft_decision_level, smart_array< long > viterbi_input)
 64-QAM data demapping
template<class T>
SPUC::qpsk_dd_phase (complex< T > curr, complex< T > hard_data)
 Decision directed carrier phase discriminator for QPSK.
template<class T>
SPUC::qpsk_quadricorrelator (complex< T > hard_data, complex< T > prev)
template<class T>
SPUC::qpsk_rcfd (complex< T > fmf, complex< T > curr)
template<class T>
void SPUC::raised_cosine (fir_coeff< T > &rcfir, float_type alpha, int rate)
 Raised Cosine functions.
template<class T>
void SPUC::root_raised_cosine_quantized (fir_coeff< T > &rcfir, float_type alpha, int rate, int bits, float_type scale)
 Root Raised Cosine functions.

Function Documentation

template<class T>
T SPUC::bpsk_dd_phase ( complex< T >  curr,
complex< T >  hard_data 
)

Decision directed carrier phase discriminator for BPSK.

Runs at the symbol rate Curr - current symbol Hard_data - Hard decision for current symbol

Author:
Tony Kirke

template<class T>
T SPUC::bpsk_quadricorrelator ( complex< T >  hard_data,
complex< T >  prev 
)

BPSK Quadricorrelator frequency discriminator.

Hard_data - Hard decision (complex) data for current symbol Prev - Previous symbol (prior to hard decision)

Author:
Tony Kirke

void SPUC::bpsk_soft_decision ( complex< long >  data_in,
smart_array< long >  viterbi_input 
)

BPSK data demapping.

Author:
Tony Kirke

template<class T>
T SPUC::cp_afc ( complex< T >  prev,
complex< T >  curr 
)

Cross-Product frequency discriminator.

Prev - previous symbol Curr - current symbol

Author:
Tony Kirke

template<class T>
T SPUC::dd_symbol ( complex< T >  prev,
complex< T >  curr,
complex< T >  prev_hard_data,
complex< T >  hard_data 
)

Decision directed timing discriminator (QPSK).

Runs at the symbol rate Curr - current symbol Hard_data - Hard decision for current symbol Prev - Previous symbol Prev_Hard_data - Hard decision for previous symbol

Author:
Tony Kirke
dd_symbol.png

template<class T>
T SPUC::nda_symbol ( complex< T >  prev,
complex< T >  curr 
)

Non-decision aided timing discriminator (Gardiner's algorithm).

Runs at twice the symbol rate Curr - current sample Prev - Previous sample

nda_timing.gif
Author:
Tony Kirke

void SPUC::qam16_soft_decision ( complex< long >  data_in,
long  soft_decision_level,
smart_array< long >  viterbi_input 
)

16-QAM data demapping

Author:
Tony Kirke

void SPUC::qam64_soft_decision ( complex< long >  data_in,
long  soft_decision_level,
smart_array< long >  viterbi_input 
)

64-QAM data demapping

Author:
Tony Kirke

void SPUC::qam_data_demap ( long  rate_index,
complex< long >  data_in,
long  soft_decision_level,
smart_array< long >  viterbi_input 
)

Soft-decision QAM Demapper (used in 802.11A).

Returns an array of soft decision bits, array size is dependant on modulation type

This de-maps the QAM used in 802.11A

template<class T>
T SPUC::qpsk_dd_phase ( complex< T >  curr,
complex< T >  hard_data 
)

Decision directed carrier phase discriminator for QPSK.

Runs at the symbol rate Curr - current symbol Hard_data - Hard decision for current symbol

Author:
Tony Kirke
qpsk_dd_phase.png
qpsk_dd_phase.gif

template<class T>
T SPUC::qpsk_quadricorrelator ( complex< T >  hard_data,
complex< T >  prev 
)

Hard_data - Hard decision (complex) data for current symbol Prev - Previous symbol (prior to hard decision)

Author:
Tony Kirke
qpsk_quadricorrelator.png
qpsk_quadricorrelator.gif

template<class T>
T SPUC::qpsk_rcfd ( complex< T >  fmf,
complex< T >  curr 
)

using the "frequency matched filter" approach derived from the Maximum likelihood principle. see

A Reduced-complexity frequency discriminator derived from the maximum likelihood principle

IEEE Transactions on Communications Oct. 1995

. FMF - output from frequency matched filter (must be done externally) Curr - current sample

Author:
Tony Kirke

void SPUC::qpsk_soft_decision ( complex< long >  data_in,
smart_array< long >  viterbi_input 
)

QPSK data demapping.

Author:
Tony Kirke

template<class T>
void SPUC::raised_cosine ( fir_coeff< T > &  rcfir,
float_type  alpha,
int  rate 
)

Raised Cosine functions.

Author:
Tony Kirke

template<class T>
void SPUC::root_raised_cosine_quantized ( fir_coeff< T > &  rcfir,
float_type  alpha,
int  rate,
int  bits,
float_type  scale 
)

Root Raised Cosine functions.

Author:
Tony Kirke


Generated on Mon Jun 9 19:40:23 2008 for DSPTemplates by  doxygen 1.4.7