Classes | |
| class | constellation_metrics_cf |
| Evaluate metrics for use by the Viterbi algorithm. More... | |
| class | encoder |
| Convolutional encoder. More... | |
| class | fsm |
| Finite State Machine Specification class. More... | |
| class | interleaver |
| INTERLEAVER class. More... | |
| class | metrics |
| Evaluate metrics for use by the Viterbi algorithm. More... | |
| class | pccc_decoder_blk |
| class | pccc_decoder_combined_blk |
| class | pccc_encoder |
| PCCC encoder. More... | |
| class | permutation |
| Permutation. More... | |
| class | sccc_decoder_blk |
| class | sccc_decoder_combined_blk |
| class | sccc_encoder |
| SCCC encoder. More... | |
| class | siso_combined_f |
| class | siso_f |
| class | viterbi |
| class | viterbi_combined |
Typedefs | |
| typedef encoder< std::uint8_t, std::uint8_t > | encoder_bb |
| typedef encoder< std::uint8_t, std::int16_t > | encoder_bs |
| typedef encoder< std::uint8_t, std::int32_t > | encoder_bi |
| typedef encoder< std::int16_t, std::int16_t > | encoder_ss |
| typedef encoder< std::int16_t, std::int32_t > | encoder_si |
| typedef encoder< std::int32_t, std::int32_t > | encoder_ii |
| typedef metrics< std::int16_t > | metrics_s |
| typedef metrics< std::int32_t > | metrics_i |
| typedef metrics< float > | metrics_f |
| typedef metrics< gr_complex > | metrics_c |
| typedef pccc_decoder_blk< std::uint8_t > | pccc_decoder_b |
| typedef pccc_decoder_blk< std::int16_t > | pccc_decoder_s |
| typedef pccc_decoder_blk< std::int32_t > | pccc_decoder_i |
| typedef pccc_decoder_combined_blk< float, std::uint8_t > | pccc_decoder_combined_fb |
| typedef pccc_decoder_combined_blk< float, std::int16_t > | pccc_decoder_combined_fs |
| typedef pccc_decoder_combined_blk< float, std::int32_t > | pccc_decoder_combined_fi |
| typedef pccc_decoder_combined_blk< gr_complex, std::uint8_t > | pccc_decoder_combined_cb |
| typedef pccc_decoder_combined_blk< gr_complex, std::int16_t > | pccc_decoder_combined_cs |
| typedef pccc_decoder_combined_blk< gr_complex, std::int32_t > | pccc_decoder_combined_ci |
| typedef pccc_encoder< std::uint8_t, std::uint8_t > | pccc_encoder_bb |
| typedef pccc_encoder< std::uint8_t, std::int16_t > | pccc_encoder_bs |
| typedef pccc_encoder< std::uint8_t, std::int32_t > | pccc_encoder_bi |
| typedef pccc_encoder< std::int16_t, std::int16_t > | pccc_encoder_ss |
| typedef pccc_encoder< std::int16_t, std::int32_t > | pccc_encoder_si |
| typedef pccc_encoder< std::int32_t, std::int32_t > | pccc_encoder_ii |
| typedef sccc_decoder_blk< std::uint8_t > | sccc_decoder_b |
| typedef sccc_decoder_blk< std::int16_t > | sccc_decoder_s |
| typedef sccc_decoder_blk< std::int32_t > | sccc_decoder_i |
| typedef sccc_decoder_combined_blk< float, std::uint8_t > | sccc_decoder_combined_fb |
| typedef sccc_decoder_combined_blk< float, std::int16_t > | sccc_decoder_combined_fs |
| typedef sccc_decoder_combined_blk< float, std::int32_t > | sccc_decoder_combined_fi |
| typedef sccc_decoder_combined_blk< gr_complex, std::uint8_t > | sccc_decoder_combined_cb |
| typedef sccc_decoder_combined_blk< gr_complex, std::int16_t > | sccc_decoder_combined_cs |
| typedef sccc_decoder_combined_blk< gr_complex, std::int32_t > | sccc_decoder_combined_ci |
| typedef sccc_encoder< std::uint8_t, std::uint8_t > | sccc_encoder_bb |
| typedef sccc_encoder< std::uint8_t, std::int16_t > | sccc_encoder_bs |
| typedef sccc_encoder< std::uint8_t, std::int32_t > | sccc_encoder_bi |
| typedef sccc_encoder< std::int16_t, std::int16_t > | sccc_encoder_ss |
| typedef sccc_encoder< std::uint8_t, std::int32_t > | sccc_encoder_si |
| typedef sccc_encoder< std::int32_t, std::int32_t > | sccc_encoder_ii |
| typedef viterbi< std::uint8_t > | viterbi_b |
| typedef viterbi< std::int16_t > | viterbi_s |
| typedef viterbi< std::int32_t > | viterbi_i |
| typedef viterbi_combined< std::int16_t, std::uint8_t > | viterbi_combined_sb |
| typedef viterbi_combined< std::int16_t, std::int16_t > | viterbi_combined_ss |
| typedef viterbi_combined< std::int16_t, std::int32_t > | viterbi_combined_si |
| typedef viterbi_combined< std::int32_t, std::uint8_t > | viterbi_combined_ib |
| typedef viterbi_combined< std::int32_t, std::int16_t > | viterbi_combined_is |
| typedef viterbi_combined< std::int32_t, std::int32_t > | viterbi_combined_ii |
| typedef viterbi_combined< float, std::uint8_t > | viterbi_combined_fb |
| typedef viterbi_combined< float, std::int16_t > | viterbi_combined_fs |
| typedef viterbi_combined< float, std::int32_t > | viterbi_combined_fi |
| typedef viterbi_combined< gr_complex, std::uint8_t > | viterbi_combined_cb |
| typedef viterbi_combined< gr_complex, std::int16_t > | viterbi_combined_cs |
| typedef viterbi_combined< gr_complex, std::int32_t > | viterbi_combined_ci |
Enumerations | |
| enum | siso_type_t { TRELLIS_MIN_SUM = 200 , TRELLIS_SUM_PRODUCT } |
Functions | |
| bool | dec2base (unsigned int num, int base, std::vector< int > &s) |
| change base | |
| bool | dec2bases (unsigned int num, const std::vector< int > &bases, std::vector< int > &s) |
| unsigned int | base2dec (const std::vector< int > &s, int base) |
| unsigned int | bases2dec (const std::vector< int > &s, const std::vector< int > &bases) |
| template<class T> | |
| void | calc_metric (int O, int D, const std::vector< T > &TABLE, const T *input, float *metric, digital::trellis_metric_type_t type) |
| void | calc_metric (int O, int D, const std::vector< gr_complex > &TABLE, const gr_complex *input, float *metric, digital::trellis_metric_type_t type) |
| float | min (float a, float b) |
| float | min_star (float a, float b) |
| template<class T> | |
| void | viterbi_algorithm (int I, int S, int O, const std::vector< int > &NS, const std::vector< int > &OS, const std::vector< std::vector< int > > &PS, const std::vector< std::vector< int > > &PI, int K, int S0, int SK, const float *in, T *out) |
| template<class Ti, class To> | |
| void | viterbi_algorithm_combined (int I, int S, int O, const std::vector< int > &NS, const std::vector< int > &OS, const std::vector< std::vector< int > > &PS, const std::vector< std::vector< int > > &PI, int K, int S0, int SK, int D, const std::vector< Ti > &TABLE, digital::trellis_metric_type_t TYPE, const Ti *in, To *out) |
| void | siso_algorithm (int I, int S, int O, const std::vector< int > &NS, const std::vector< int > &OS, const std::vector< std::vector< int > > &PS, const std::vector< std::vector< int > > &PI, int K, int S0, int SK, bool POSTI, bool POSTO, float(*p2mymin)(float, float), const float *priori, const float *prioro, float *post) |
| template<class T> | |
| void | siso_algorithm_combined (int I, int S, int O, const std::vector< int > &NS, const std::vector< int > &OS, const std::vector< std::vector< int > > &PS, const std::vector< std::vector< int > > &PI, int K, int S0, int SK, bool POSTI, bool POSTO, float(*p2mymin)(float, float), int D, const std::vector< T > &TABLE, digital::trellis_metric_type_t TYPE, const float *priori, const T *observations, float *post) |
| template<class T> | |
| void | sccc_decoder (const fsm &FSMo, int STo0, int SToK, const fsm &FSMi, int STi0, int STiK, const interleaver &INTERLEAVER, int blocklength, int iterations, float(*p2mymin)(float, float), const float *iprioro, T *data) |
| template<class Ti, class To> | |
| void | sccc_decoder_combined (const fsm &FSMo, int STo0, int SToK, const fsm &FSMi, int STi0, int STiK, const interleaver &INTERLEAVER, int blocklength, int iterations, float(*p2mymin)(float, float), int D, const std::vector< Ti > &TABLE, digital::trellis_metric_type_t METRIC_TYPE, float scaling, const Ti *observations, To *data) |
| template<class T> | |
| void | pccc_decoder (const fsm &FSM1, int ST10, int ST1K, const fsm &FSM2, int ST20, int ST2K, const interleaver &INTERLEAVER, int blocklength, int iterations, float(*p2mymin)(float, float), const float *cprioro, T *data) |
| template<class Ti, class To> | |
| void | pccc_decoder_combined (const fsm &FSM1, int ST10, int ST1K, const fsm &FSM2, int ST20, int ST2K, const interleaver &INTERLEAVER, int blocklength, int iterations, float(*p2mymin)(float, float), int D, const std::vector< Ti > &TABLE, digital::trellis_metric_type_t METRIC_TYPE, float scaling, const Ti *observations, To *data) |
| typedef encoder<std::uint8_t, std::uint8_t> gr::trellis::encoder_bb |
| typedef encoder<std::uint8_t, std::int32_t> gr::trellis::encoder_bi |
| typedef encoder<std::uint8_t, std::int16_t> gr::trellis::encoder_bs |
| typedef encoder<std::int32_t, std::int32_t> gr::trellis::encoder_ii |
| typedef encoder<std::int16_t, std::int32_t> gr::trellis::encoder_si |
| typedef encoder<std::int16_t, std::int16_t> gr::trellis::encoder_ss |
| typedef metrics<gr_complex> gr::trellis::metrics_c |
| typedef metrics<float> gr::trellis::metrics_f |
| typedef metrics<std::int32_t> gr::trellis::metrics_i |
| typedef metrics<std::int16_t> gr::trellis::metrics_s |
| typedef pccc_decoder_blk<std::uint8_t> gr::trellis::pccc_decoder_b |
| typedef pccc_decoder_combined_blk<gr_complex, std::uint8_t> gr::trellis::pccc_decoder_combined_cb |
| typedef pccc_decoder_combined_blk<gr_complex, std::int32_t> gr::trellis::pccc_decoder_combined_ci |
| typedef pccc_decoder_combined_blk<gr_complex, std::int16_t> gr::trellis::pccc_decoder_combined_cs |
| typedef pccc_decoder_combined_blk<float, std::uint8_t> gr::trellis::pccc_decoder_combined_fb |
| typedef pccc_decoder_combined_blk<float, std::int32_t> gr::trellis::pccc_decoder_combined_fi |
| typedef pccc_decoder_combined_blk<float, std::int16_t> gr::trellis::pccc_decoder_combined_fs |
| typedef pccc_decoder_blk<std::int32_t> gr::trellis::pccc_decoder_i |
| typedef pccc_decoder_blk<std::int16_t> gr::trellis::pccc_decoder_s |
| typedef pccc_encoder<std::uint8_t, std::uint8_t> gr::trellis::pccc_encoder_bb |
| typedef pccc_encoder<std::uint8_t, std::int32_t> gr::trellis::pccc_encoder_bi |
| typedef pccc_encoder<std::uint8_t, std::int16_t> gr::trellis::pccc_encoder_bs |
| typedef pccc_encoder<std::int32_t, std::int32_t> gr::trellis::pccc_encoder_ii |
| typedef pccc_encoder<std::int16_t, std::int32_t> gr::trellis::pccc_encoder_si |
| typedef pccc_encoder<std::int16_t, std::int16_t> gr::trellis::pccc_encoder_ss |
| typedef sccc_decoder_blk<std::uint8_t> gr::trellis::sccc_decoder_b |
| typedef sccc_decoder_combined_blk<gr_complex, std::uint8_t> gr::trellis::sccc_decoder_combined_cb |
| typedef sccc_decoder_combined_blk<gr_complex, std::int32_t> gr::trellis::sccc_decoder_combined_ci |
| typedef sccc_decoder_combined_blk<gr_complex, std::int16_t> gr::trellis::sccc_decoder_combined_cs |
| typedef sccc_decoder_combined_blk<float, std::uint8_t> gr::trellis::sccc_decoder_combined_fb |
| typedef sccc_decoder_combined_blk<float, std::int32_t> gr::trellis::sccc_decoder_combined_fi |
| typedef sccc_decoder_combined_blk<float, std::int16_t> gr::trellis::sccc_decoder_combined_fs |
| typedef sccc_decoder_blk<std::int32_t> gr::trellis::sccc_decoder_i |
| typedef sccc_decoder_blk<std::int16_t> gr::trellis::sccc_decoder_s |
| typedef sccc_encoder<std::uint8_t, std::uint8_t> gr::trellis::sccc_encoder_bb |
| typedef sccc_encoder<std::uint8_t, std::int32_t> gr::trellis::sccc_encoder_bi |
| typedef sccc_encoder<std::uint8_t, std::int16_t> gr::trellis::sccc_encoder_bs |
| typedef sccc_encoder<std::int32_t, std::int32_t> gr::trellis::sccc_encoder_ii |
| typedef sccc_encoder<std::uint8_t, std::int32_t> gr::trellis::sccc_encoder_si |
| typedef sccc_encoder<std::int16_t, std::int16_t> gr::trellis::sccc_encoder_ss |
| typedef viterbi<std::uint8_t> gr::trellis::viterbi_b |
| typedef viterbi_combined<gr_complex, std::uint8_t> gr::trellis::viterbi_combined_cb |
| typedef viterbi_combined<gr_complex, std::int32_t> gr::trellis::viterbi_combined_ci |
| typedef viterbi_combined<gr_complex, std::int16_t> gr::trellis::viterbi_combined_cs |
| typedef viterbi_combined<float, std::uint8_t> gr::trellis::viterbi_combined_fb |
| typedef viterbi_combined<float, std::int32_t> gr::trellis::viterbi_combined_fi |
| typedef viterbi_combined<float, std::int16_t> gr::trellis::viterbi_combined_fs |
| typedef viterbi_combined<std::int32_t, std::uint8_t> gr::trellis::viterbi_combined_ib |
| typedef viterbi_combined<std::int32_t, std::int32_t> gr::trellis::viterbi_combined_ii |
| typedef viterbi_combined<std::int32_t, std::int16_t> gr::trellis::viterbi_combined_is |
| typedef viterbi_combined<std::int16_t, std::uint8_t> gr::trellis::viterbi_combined_sb |
| typedef viterbi_combined<std::int16_t, std::int32_t> gr::trellis::viterbi_combined_si |
| typedef viterbi_combined<std::int16_t, std::int16_t> gr::trellis::viterbi_combined_ss |
| typedef viterbi<std::int32_t> gr::trellis::viterbi_i |
| typedef viterbi<std::int16_t> gr::trellis::viterbi_s |
| unsigned int gr::trellis::base2dec | ( | const std::vector< int > & | s, |
| int | base ) |
| unsigned int gr::trellis::bases2dec | ( | const std::vector< int > & | s, |
| const std::vector< int > & | bases ) |
| void gr::trellis::calc_metric | ( | int | O, |
| int | D, | ||
| const std::vector< gr_complex > & | TABLE, | ||
| const gr_complex * | input, | ||
| float * | metric, | ||
| digital::trellis_metric_type_t | type ) |
References D.
| void gr::trellis::calc_metric | ( | int | O, |
| int | D, | ||
| const std::vector< T > & | TABLE, | ||
| const T * | input, | ||
| float * | metric, | ||
| digital::trellis_metric_type_t | type ) |
References D.
| bool gr::trellis::dec2base | ( | unsigned int | num, |
| int | base, | ||
| std::vector< int > & | s ) |
change base
| bool gr::trellis::dec2bases | ( | unsigned int | num, |
| const std::vector< int > & | bases, | ||
| std::vector< int > & | s ) |
| float gr::trellis::min | ( | float | a, |
| float | b ) |
| float gr::trellis::min_star | ( | float | a, |
| float | b ) |
| void gr::trellis::pccc_decoder | ( | const fsm & | FSM1, |
| int | ST10, | ||
| int | ST1K, | ||
| const fsm & | FSM2, | ||
| int | ST20, | ||
| int | ST2K, | ||
| const interleaver & | INTERLEAVER, | ||
| int | blocklength, | ||
| int | iterations, | ||
| float(* | p2mymin )(float, float), | ||
| const float * | cprioro, | ||
| T * | data ) |
| void gr::trellis::pccc_decoder_combined | ( | const fsm & | FSM1, |
| int | ST10, | ||
| int | ST1K, | ||
| const fsm & | FSM2, | ||
| int | ST20, | ||
| int | ST2K, | ||
| const interleaver & | INTERLEAVER, | ||
| int | blocklength, | ||
| int | iterations, | ||
| float(* | p2mymin )(float, float), | ||
| int | D, | ||
| const std::vector< Ti > & | TABLE, | ||
| digital::trellis_metric_type_t | METRIC_TYPE, | ||
| float | scaling, | ||
| const Ti * | observations, | ||
| To * | data ) |
References D.
| void gr::trellis::sccc_decoder | ( | const fsm & | FSMo, |
| int | STo0, | ||
| int | SToK, | ||
| const fsm & | FSMi, | ||
| int | STi0, | ||
| int | STiK, | ||
| const interleaver & | INTERLEAVER, | ||
| int | blocklength, | ||
| int | iterations, | ||
| float(* | p2mymin )(float, float), | ||
| const float * | iprioro, | ||
| T * | data ) |
| void gr::trellis::sccc_decoder_combined | ( | const fsm & | FSMo, |
| int | STo0, | ||
| int | SToK, | ||
| const fsm & | FSMi, | ||
| int | STi0, | ||
| int | STiK, | ||
| const interleaver & | INTERLEAVER, | ||
| int | blocklength, | ||
| int | iterations, | ||
| float(* | p2mymin )(float, float), | ||
| int | D, | ||
| const std::vector< Ti > & | TABLE, | ||
| digital::trellis_metric_type_t | METRIC_TYPE, | ||
| float | scaling, | ||
| const Ti * | observations, | ||
| To * | data ) |
References D.
| void gr::trellis::siso_algorithm | ( | int | I, |
| int | S, | ||
| int | O, | ||
| const std::vector< int > & | NS, | ||
| const std::vector< int > & | OS, | ||
| const std::vector< std::vector< int > > & | PS, | ||
| const std::vector< std::vector< int > > & | PI, | ||
| int | K, | ||
| int | S0, | ||
| int | SK, | ||
| bool | POSTI, | ||
| bool | POSTO, | ||
| float(* | p2mymin )(float, float), | ||
| const float * | priori, | ||
| const float * | prioro, | ||
| float * | post ) |
References S.
| void gr::trellis::siso_algorithm_combined | ( | int | I, |
| int | S, | ||
| int | O, | ||
| const std::vector< int > & | NS, | ||
| const std::vector< int > & | OS, | ||
| const std::vector< std::vector< int > > & | PS, | ||
| const std::vector< std::vector< int > > & | PI, | ||
| int | K, | ||
| int | S0, | ||
| int | SK, | ||
| bool | POSTI, | ||
| bool | POSTO, | ||
| float(* | p2mymin )(float, float), | ||
| int | D, | ||
| const std::vector< T > & | TABLE, | ||
| digital::trellis_metric_type_t | TYPE, | ||
| const float * | priori, | ||
| const T * | observations, | ||
| float * | post ) |
| void gr::trellis::viterbi_algorithm | ( | int | I, |
| int | S, | ||
| int | O, | ||
| const std::vector< int > & | NS, | ||
| const std::vector< int > & | OS, | ||
| const std::vector< std::vector< int > > & | PS, | ||
| const std::vector< std::vector< int > > & | PI, | ||
| int | K, | ||
| int | S0, | ||
| int | SK, | ||
| const float * | in, | ||
| T * | out ) |
References S.
| void gr::trellis::viterbi_algorithm_combined | ( | int | I, |
| int | S, | ||
| int | O, | ||
| const std::vector< int > & | NS, | ||
| const std::vector< int > & | OS, | ||
| const std::vector< std::vector< int > > & | PS, | ||
| const std::vector< std::vector< int > > & | PI, | ||
| int | K, | ||
| int | S0, | ||
| int | SK, | ||
| int | D, | ||
| const std::vector< Ti > & | TABLE, | ||
| digital::trellis_metric_type_t | TYPE, | ||
| const Ti * | in, | ||
| To * | out ) |