SPUC
3.0
|
![]() |
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 > | |
T | SPUC::bpsk_dd_phase (complex< T > curr, complex< T > hard_data) |
Decision directed carrier phase discriminator for BPSK. More... | |
template<class T > | |
T | SPUC::bpsk_quadricorrelator (complex< T > hard_data, complex< T > prev) |
BPSK Quadricorrelator frequency discriminator. More... | |
template<class T > | |
T | SPUC::cp_afc (complex< T > prev, complex< T > curr) |
Cross-Product frequency discriminator. More... | |
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) More... | |
template<class T > | |
T | SPUC::nda_symbol (complex< T > prev, complex< T > curr) |
Non-decision aided timing discriminator (Gardiner's algorithm) More... | |
void | SPUC::qam_data_demap (long rate_index, complex< long > data_in, long soft_decision_level, std::vector< long > &viterbi_input) |
Soft-decision QAM Demapper for use with QAM_MOD class. More... | |
void | SPUC::bpsk_soft_decision (complex< long > data_in, std::vector< long > &viterbi_input) |
BPSK data demapping. More... | |
void | SPUC::qpsk_soft_decision (complex< long > data_in, std::vector< long > &viterbi_input) |
QPSK data demapping. More... | |
void | SPUC::qam16_soft_decision (complex< long > data_in, long soft_decision_level, std::vector< long > &viterbi_input) |
16-QAM data demapping More... | |
void | SPUC::qam64_soft_decision (complex< long > data_in, long soft_decision_level, std::vector< long > &viterbi_input) |
64-QAM data demapping More... | |
template<class T > | |
T | SPUC::qpsk_dd_phase (complex< T > curr, complex< T > hard_data) |
Decision directed carrier phase discriminator for QPSK. More... | |
template<class T > | |
T | SPUC::qpsk_quadricorrelator (complex< T > hard_data, complex< T > prev) |
template<class T > | |
T | SPUC::qpsk_rcfd (complex< T > fmf, complex< T > curr) |
template<class T > | |
void | SPUC::raised_cosine (fir_coeff< T > &rcfir, float_type alpha, float_type rate) |
Raised Cosine functions. More... | |
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. More... | |
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
Referenced by SPUC::qpsk_discriminators::pll_disc().
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)
void SPUC::bpsk_soft_decision | ( | complex< long > | data_in, |
std::vector< long > & | viterbi_input | ||
) |
BPSK data demapping.
Referenced by SPUC::qam_data_demap().
T SPUC::cp_afc | ( | complex< T > | prev, |
complex< T > | curr | ||
) |
Cross-Product frequency discriminator.
Prev - previous symbol Curr - current symbol
Referenced by SPUC::qpsk_discriminators::cross_prod_afc().
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
References SPUC::conj().
Referenced by SPUC::qpsk< Numeric >::clock(), and SPUC::qpsk_discriminators::dd_timing_disc().
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
Referenced by SPUC::qpsk< Numeric >::clock(), and SPUC::qpsk_discriminators::nda_timing_disc().
void SPUC::qam16_soft_decision | ( | complex< long > | data_in, |
long | soft_decision_level, | ||
std::vector< long > & | viterbi_input | ||
) |
16-QAM data demapping
Referenced by SPUC::qam_data_demap().
void SPUC::qam64_soft_decision | ( | complex< long > | data_in, |
long | soft_decision_level, | ||
std::vector< long > & | viterbi_input | ||
) |
64-QAM data demapping
References SPUC::ABS().
Referenced by SPUC::qam_data_demap().
void SPUC::qam_data_demap | ( | long | rate_index, |
complex< long > | data_in, | ||
long | soft_decision_level, | ||
std::vector< long > & | viterbi_input | ||
) |
Soft-decision QAM Demapper for use with QAM_MOD class.
Soft-decision QAM Demapper (used in 802.11A)
This de-maps the QAM used in 802.11A
Returns an array of soft decision bits, array size is dependant on modulation type
References SPUC::bpsk_soft_decision(), SPUC::qam16_soft_decision(), SPUC::qam64_soft_decision(), and SPUC::qpsk_soft_decision().
Referenced by SPUC::qam_conv_decoder::data_decode().
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
References SPUC::conj().
Referenced by SPUC::qpsk< Numeric >::clock(), and SPUC::qpsk_discriminators::pll_disc().
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)
Referenced by SPUC::qpsk_discriminators::quad().
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
Referenced by SPUC::qpsk_discriminators::rcfd().
void SPUC::qpsk_soft_decision | ( | complex< long > | data_in, |
std::vector< long > & | viterbi_input | ||
) |
QPSK data demapping.
Referenced by SPUC::qam_data_demap().
void SPUC::raised_cosine | ( | fir_coeff< T > & | rcfir, |
float_type | alpha, | ||
float_type | rate | ||
) |
Raised Cosine functions.
References SPUC::fir_coeff< Numeric >::coeff, SPUC::fir_coeff< Numeric >::num_taps, and SPUC::raised_cosine_imp().
Referenced by SPUC::notch_example().
void SPUC::root_raised_cosine_quantized | ( | fir_coeff< T > & | rcfir, |
float_type | alpha, | ||
int | rate, | ||
int | bits, | ||
float_type | scale | ||
) |
Root Raised Cosine functions.
Referenced by SPUC::qpsk< Numeric >::qpsk().