diff options
-rw-r--r-- | gr-trellis/src/python/awgn1o2_4.fsm | 15 | ||||
-rwxr-xr-x | gr-trellis/src/python/qa_trellis.py | 27 |
2 files changed, 42 insertions, 0 deletions
diff --git a/gr-trellis/src/python/awgn1o2_4.fsm b/gr-trellis/src/python/awgn1o2_4.fsm new file mode 100644 index 0000000000..9245c69ac1 --- /dev/null +++ b/gr-trellis/src/python/awgn1o2_4.fsm @@ -0,0 +1,15 @@ +2 4 4 + +0 2 +0 2 +1 3 +1 3 + +0 3 +3 0 +1 2 +2 1 + +AWGN CC from Proakis-Salehi pg 779 + + diff --git a/gr-trellis/src/python/qa_trellis.py b/gr-trellis/src/python/qa_trellis.py index c47ee2881d..e4866e7f92 100755 --- a/gr-trellis/src/python/qa_trellis.py +++ b/gr-trellis/src/python/qa_trellis.py @@ -31,5 +31,32 @@ class qa_trellis (gr_unittest.TestCase): def tearDown (self): self.fg = None + def test_001_fsm (self): + I = 2 + S = 4 + O = 4 + NS = (0, 2, 0, 2, 1, 3, 1, 3) + OS = (0, 3, 3, 0, 1, 2, 2, 1) + f = trellis.fsm(I,S,O,NS,OS) + self.assertEqual((I,S,O,NS,OS),(f.I(),f.S(),f.O(),f.NS(),f.OS())) + + def test_002_fsm (self): + I = 2 + S = 4 + O = 4 + NS = (0, 2, 0, 2, 1, 3, 1, 3) + OS = (0, 3, 3, 0, 1, 2, 2, 1) + f = trellis.fsm(I,S,O,NS,OS) + g = trellis.fsm(f) + self.assertEqual((g.I(),g.S(),g.O(),g.NS(),g.OS()),(f.I(),f.S(),f.O(),f.NS(),f.OS())) + + def test_003_fsm (self): + I = 2 + S = 4 + O = 4 + NS = (0, 2, 0, 2, 1, 3, 1, 3) + OS = (0, 3, 3, 0, 1, 2, 2, 1) + f = trellis.fsm("awgn1o2_4.fsm") + self.assertEqual((I,S,O,NS,OS),(f.I(),f.S(),f.O(),f.NS(),f.OS())) if __name__ == '__main__': gr_unittest.main () |