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> | |
| T | SPUC::bpsk_dd_phase (complex< T > curr, complex< T > hard_data) |
| Decision directed carrier phase discriminator for BPSK. | |
| template<class T> | |
| T | SPUC::bpsk_quadricorrelator (complex< T > hard_data, complex< T > prev) |
| BPSK Quadricorrelator frequency discriminator. | |
| template<class T> | |
| T | SPUC::cp_afc (complex< T > prev, complex< T > curr) |
| Cross-Product frequency discriminator. | |
| 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). | |
| template<class T> | |
| 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> | |
| T | SPUC::qpsk_dd_phase (complex< T > curr, complex< T > hard_data) |
| Decision directed carrier phase discriminator for QPSK. | |
| 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, 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. | |
| 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
| 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, | |
| smart_array< long > | viterbi_input | |||
| ) |
BPSK data demapping.
| T SPUC::cp_afc | ( | complex< T > | prev, | |
| complex< T > | curr | |||
| ) |
Cross-Product frequency discriminator.
Prev - previous symbol Curr - current symbol
| 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
| 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
| 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
| 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
| 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
| 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)
| 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
| void SPUC::qpsk_soft_decision | ( | complex< long > | data_in, | |
| smart_array< long > | viterbi_input | |||
| ) |
QPSK data demapping.
| void SPUC::raised_cosine | ( | fir_coeff< T > & | rcfir, | |
| float_type | alpha, | |||
| int | rate | |||
| ) |
Raised Cosine functions.
| void SPUC::root_raised_cosine_quantized | ( | fir_coeff< T > & | rcfir, | |
| float_type | alpha, | |||
| int | rate, | |||
| int | bits, | |||
| float_type | scale | |||
| ) |
Root Raised Cosine functions.
1.4.7