diff options
author | anastas <anastas@221aa14e-8319-0410-a670-987f0aec2ac5> | 2006-08-16 20:07:36 +0000 |
---|---|---|
committer | anastas <anastas@221aa14e-8319-0410-a670-987f0aec2ac5> | 2006-08-16 20:07:36 +0000 |
commit | d5c192f9e3cde58589845b7b51057afc45d3bc79 (patch) | |
tree | 04dc746388bb19f66bae93d110e4f2a5ca14c64b /gr-trellis/src/lib/fsm.i | |
parent | 1f0a124c68a40b2eee063267d4f7aeba4ed87619 (diff) |
Several enhancements to gr-trellis and gnuradio-examples/python/channel-coding:
-Added fsm constructor for generating FSM directly from the
generator matrix of binary convolutional codes.
-Added functionality to fsm class to compute the best way to
go from any state to any other state (useful for termination)
-Added soft-in-soft-out (SISO) block for turbo processing
-Added turbo decoding examples
git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@3322 221aa14e-8319-0410-a670-987f0aec2ac5
Diffstat (limited to 'gr-trellis/src/lib/fsm.i')
-rw-r--r-- | gr-trellis/src/lib/fsm.i | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/gr-trellis/src/lib/fsm.i b/gr-trellis/src/lib/fsm.i index eda8aeefdc..e5b1af0ca5 100644 --- a/gr-trellis/src/lib/fsm.i +++ b/gr-trellis/src/lib/fsm.i @@ -29,12 +29,17 @@ private: std::vector<int> d_OS; std::vector<int> d_PS; std::vector<int> d_PI; + std::vector<int> d_TMi; + std::vector<int> d_TMl; + void generate_PS_PI (); + void generate_TM (); public: fsm(); fsm(const fsm &FSM); - fsm(const int I, const int S, const int O, const std::vector<int> &NS, const std::vector<int> &OS); + fsm(int I, int S, int O, const std::vector<int> &NS, const std::vector<int> &OS); fsm(const char *name); - fsm(const int mod_size, const int ch_length); + fsm(int k, int n, const std::vector<int> &G); + fsm(int mod_size, int ch_length); int I () const { return d_I; } int S () const { return d_S; } int O () const { return d_O; } @@ -42,8 +47,7 @@ public: const std::vector<int> & OS () const { return d_OS; } const std::vector<int> & PS () const { return d_PS; } const std::vector<int> & PI () const { return d_PI; } + const std::vector<int> & TMi () const { return d_TMi; } + const std::vector<int> & TMl () const { return d_TMl; } }; - - - |