Soft Input Soft Output (SISO) modules. More...
#include <itpp/comm/siso.h>
Public Member Functions | |
SISO () | |
SISO class constructor | |
void | set_map_metric (const std::string &in_MAP_metric) |
Sets the metric for MAP algorithm (convolutional codes and multipath channels) | |
void | set_precoder_generator (const itpp::bvec &in_prec_gen) |
Sets the precoder generator polynomial for turbo equalizer. | |
void | set_precoder_generator (const int &in_prec_gen, const int &constraint_length) |
void | set_generators (const itpp::bmat &in_gen) |
Sets convolutional code generator polynomials. | |
void | set_generators (const itpp::ivec &in_gen, const int &constraint_length) |
void | set_tail (const bool &in_tail) |
Signals whether the trellis used in the MAP algorithm is terminated or not (only for convolutional codes and multipath channels) | |
void | set_viterbi_win_len (const int &win_len) |
Sets the length of the trellis used by the SOVA. | |
void | set_sova_scaling_factor (const double &scaling_factor) |
Sets the scaling factor used to normalize the reliability value computed by the SOVA. | |
void | set_sova_threshold (const double &threshold) |
Sets the threshold value used to limit the reliability value computed by SOVA. | |
void | set_viterbi_scaling_factors (const double &matching_scaling_factor, const double &nonmatching_scaling_factor) |
Sets the Viterbi algorithm scaling factors. | |
void | set_viterbi_hard_output_flag (const bool &flag) |
Sets the Viterbi algorithm hard output flag (true when only the hard output is needed) | |
void | set_noise (const double &in_sigma2) |
Sets Additive White Gaussian Noise variance for each dimension. | |
void | set_impulse_response (const itpp::vec &h) |
Sets channel impulse response for equalizer. | |
void | set_impulse_response (const itpp::mat &H) |
Sets channel impulse response for Multi-User Detectors. | |
void | set_impulse_response (const itpp::cvec &h) |
Sets the channel attenuations for demappers (when only a modulator is used) | |
void | set_impulse_response (const itpp::cmat &cH) |
Sets channel attenuations for demappers (when Space-Time codes are used) | |
void | set_scrambler_pattern (const itpp::vec &phi) |
Sets scrambler pattern. | |
void | set_scrambler_pattern (const itpp::bvec &phi) |
void | set_mud_method (const std::string &method) |
Sets Multi-User Detector method. | |
void | set_constellation (const int &in_nb_bits_symb, const itpp::cvec &in_constellation, const itpp::bmat &in_bin_constellation) |
Sets symbol constellation. | |
void | set_constellation (const int &in_nb_bits_symb, const itpp::cvec &in_constellation, const itpp::ivec &in_int_constellation) |
void | set_st_block_code (const int &Q, const itpp::cmat &A, const itpp::cmat &B, const int &N) |
Sets Space-Time block code parameters. | |
void | set_demapper_method (const std::string &method) |
Sets demapper method. | |
void | rsc (itpp::vec &extrinsic_coded, itpp::vec &extrinsic_data, const itpp::vec &intrinsic_coded, const itpp::vec &apriori_data) |
SISO decoder for RSC codes | |
void | rsc (itpp::vec &extrinsic_coded, itpp::vec &extrinsic_data, const itpp::vec &intrinsic_coded, const itpp::vec &apriori_data, const bool &tail) |
SISO decoder for RSC codes (tail is set through input) | |
void | nsc (itpp::vec &extrinsic_coded, itpp::vec &extrinsic_data, const itpp::vec &intrinsic_coded, const itpp::vec &apriori_data) |
SISO decoder for NSC codes | |
void | nsc (itpp::vec &extrinsic_coded, itpp::vec &extrinsic_data, const itpp::vec &intrinsic_coded, const itpp::vec &apriori_data, const bool &tail) |
SISO decoder for NSC codes (tail is set through input) | |
void | equalizer (itpp::vec &extrinsic_data, const itpp::vec &rec_sig, const itpp::vec &apriori_data) |
SISO equalizer | |
void | equalizer (itpp::vec &extrinsic_data, const itpp::vec &rec_sig, const itpp::vec &apriori_data, const bool &tail) |
SISO equalizer (tail is set through input) | |
void | descrambler (itpp::vec &extrinsic_coded, itpp::vec &extrinsic_data, const itpp::vec &intrinsic_coded, const itpp::vec &apriori_data) |
SISO descrambler | |
void | mud (itpp::mat &extrinsic_data, const itpp::vec &rec_sig, const itpp::mat &apriori_data) |
SISO Multi-User Detector | |
void | demapper (itpp::vec &extrinsic_data, const itpp::cvec &rec_sig, const itpp::vec &apriori_data) |
SISO demapper (when only a modulator is used) | |
void | demapper (itpp::vec &extrinsic_data, const itpp::cmat &rec_sig, const itpp::vec &apriori_data) |
SISO demapper (when Space-Time codes are used) | |
Static Public Member Functions | |
static double | threshold (const double &x, const double &value) |
Functions used to limit values at a given +- threshold. | |
static itpp::vec | threshold (const itpp::vec &in, const double &value) |
static itpp::mat | threshold (const itpp::mat &in, const double &value) |
Soft Input Soft Output (SISO) modules.
The following SISO modules are implemented:
demappers for Space Time (ST) BICM systems
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Signals whether the trellis used in the MAP algorithm is terminated or not (only for convolutional codes and multipath channels)
If the input value is true, the trellis is terminated. In order to terminate the trellis an ending bit tail is added to the input stream of the encoder.
Definition at line 604 of file siso.h.
Referenced by equalizer(), nsc(), and rsc().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Sets channel attenuations for demappers (when Space-Time codes are used)
The input is a complex matrix of dimension , where and is the number of emission and reception antennas, respectively and is the transmission duration expressed in symbol durations.
This input matrix is formed as follows:
|
inline |
|
inline |
|
inline |
Sets symbol constellation.
The correspondence between each symbol and its binary representation is given. Note that if the symbols are normalized to the square root of the number of emission antenna you should use the normalized constellation as input for this method.
in_nb_bits_symb | the number of symbols |
in_constellation | all possible symbols as a complex vector |
in_bin_constellation | binary representations of symbols as a binary matrix (each row corresponds to one symbol) |
|
inline |
in_nb_bits_symb | the number of symbols |
in_constellation | all possible symbols as a complex vector |
in_int_constellation | integer representations of symbols as a vector |
Definition at line 691 of file siso.h.
References itpp::dec2bin().
|
inline |
|
inline |
Sets demapper method.
Possible input values are:
|
inline |
|
inline |
SISO decoder for RSC codes (tail is set through input)
extrinsic_coded | extrinsic information of coded bits |
extrinsic_data | extrinsic information of data bits |
intrinsic_coded | intrinsic information of coded bits |
apriori_data | a priori information of data bits |
tail | if true the trellis is terminated |
Definition at line 721 of file siso.h.
References rsc(), and set_tail().
|
inline |
|
inline |
SISO decoder for NSC codes (tail is set through input)
extrinsic_coded | extrinsic information of coded bits |
extrinsic_data | extrinsic information of data bits |
intrinsic_coded | intrinsic information of coded bits |
apriori_data | a priori information of data bits |
tail | if true the trellis is terminated |
Definition at line 756 of file siso.h.
References nsc(), and set_tail().
|
inline |
SISO equalizer
Channel trellis is generated so that BPSK mapping is assumed: 0->+1 and 1->-1 (xor truth table is preserved)
extrinsic_data | extrinsic informations of input symbols |
rec_sig | received signal |
apriori_data | a priori informations of input symbols |
Definition at line 790 of file siso.h.
Referenced by equalizer().
|
inline |
SISO equalizer (tail is set through input)
Channel trellis is generated so that BPSK mapping is assumed: 0->+1 and 1->-1 (xor truth table is preserved)
extrinsic_data | extrinsic informations of input symbols |
rec_sig | received signal |
apriori_data | a priori informations of input symbols |
tail | if true the trellis is terminated |
Definition at line 780 of file siso.h.
References equalizer(), and set_tail().
void itpp::SISO::descrambler | ( | itpp::vec & | extrinsic_coded, |
itpp::vec & | extrinsic_data, | ||
const itpp::vec & | intrinsic_coded, | ||
const itpp::vec & | apriori_data | ||
) |
SISO descrambler
extrinsic_coded | extrinsic information of scrambled bits |
extrinsic_data | extrinsic information of informational bits |
intrinsic_coded | intrinsic information of scrambled bits |
apriori_data | a priori information of informational bits |
Definition at line 37 of file siso_mud.cpp.
|
inline |
|
inline |
|
inline |
Generated on Sat Jul 6 2013 10:54:33 for IT++ by Doxygen 1.8.2