summaryrefslogtreecommitdiff
path: root/gr-trellis/src/lib/core_algorithms.h
diff options
context:
space:
mode:
authorJosh Blum <josh@joshknows.com>2011-09-28 22:16:41 -0700
committerJosh Blum <josh@joshknows.com>2011-09-28 22:16:41 -0700
commit3f7db0afa99caeecb18428d7514dadd380d88d56 (patch)
treeb513683057e96d03ff8138100d6059d80e7b3265 /gr-trellis/src/lib/core_algorithms.h
parent60fd23a703bb16065717159bdd5ec9edf03d7302 (diff)
parent9e73c4e8372bc581d686d5e82a808894d41523ec (diff)
Merge branch 'next' into digital
Conflicts: gnuradio-core/src/lib/filter/gr_pfb_clock_sync_ccf.h gnuradio-core/src/lib/general/general.i gnuradio-core/src/lib/general/gr_pll_carriertracking_cc.cc gnuradio-core/src/lib/general/gr_pll_freqdet_cf.cc gnuradio-core/src/lib/general/gr_pll_refout_cc.cc gnuradio-core/src/python/gnuradio/gr/qa_pll_carriertracking.py gnuradio-core/src/python/gnuradio/gr/qa_pll_freqdet.py gnuradio-core/src/python/gnuradio/gr/qa_pll_refout.py
Diffstat (limited to 'gr-trellis/src/lib/core_algorithms.h')
-rw-r--r--gr-trellis/src/lib/core_algorithms.h36
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