diff options
author | Tom Rondeau <trondeau@vt.edu> | 2011-09-02 12:15:24 -0400 |
---|---|---|
committer | Tom Rondeau <trondeau@vt.edu> | 2011-09-02 12:15:24 -0400 |
commit | 492446d2ec6ed85d6437bb35caf4700b02930147 (patch) | |
tree | 28ae6ce82b4d3879dd334625146ce3c8c0bb789f /gr-trellis/src/lib/core_algorithms.h | |
parent | 52f9290374a64fef2ff2c0f9199166bed27fc955 (diff) | |
parent | 0f43bdb085f98e1182dbd940db9ed1fb52119186 (diff) |
Merge branch 'master' into next
* master:
Minor fixes in turbo GRC blocks
Minor fixes in turbo GRC blocks and one more example added.
Added pccc combined turbo decoder and corresponding GRC block
More examples and turbo decoder blocks added.
Added more turbo encoder/decoder blocks and examples.
Added SCCC encoder/decoder grc blocksi and examples. Also moved all grc blocks related to trellis inside the gr-trellis/grc directory
added grc directory in gr-trellis
updated Makefile.am and block_tree.xml to reflect changes in grc file for gr-trellis
Moved grc files from grc/block to gr-trellis/grc
Diffstat (limited to 'gr-trellis/src/lib/core_algorithms.h')
-rw-r--r-- | gr-trellis/src/lib/core_algorithms.h | 36 |
1 files changed, 24 insertions, 12 deletions
diff --git a/gr-trellis/src/lib/core_algorithms.h b/gr-trellis/src/lib/core_algorithms.h index fd45844c09..cab7086ba7 100644 --- a/gr-trellis/src/lib/core_algorithms.h +++ b/gr-trellis/src/lib/core_algorithms.h @@ -91,11 +91,21 @@ void siso_algorithm_combined(int I, int S, int O, ); +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 repetitions, + const interleaver &INTERLEAVER, int blocklength, int iterations, float (*p2mymin)(float,float), int D, const std::vector<Ti> &TABLE, trellis_metric_type_t METRIC_TYPE, @@ -103,26 +113,28 @@ void sccc_decoder_combined( const Ti *observations, To *data ); - 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 repetitions, +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 *iprioro, T *data + const float *cprioro, T *data ); - -template<class T> -void pccc_decoder( +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 repetitions, + const interleaver &INTERLEAVER, int blocklength, int iterations, float (*p2mymin)(float,float), - const float *cprioro, T *data + int D, const std::vector<Ti> &TABLE, + trellis_metric_type_t METRIC_TYPE, + float scaling, + const Ti *observations, To *data ); + #endif |