diff options
Diffstat (limited to 'gnuradio-examples/python/channel-coding/fsm_files')
13 files changed, 573 insertions, 0 deletions
diff --git a/gnuradio-examples/python/channel-coding/fsm_files/Makefile.am b/gnuradio-examples/python/channel-coding/fsm_files/Makefile.am new file mode 100644 index 0000000000..0a931b6606 --- /dev/null +++ b/gnuradio-examples/python/channel-coding/fsm_files/Makefile.am @@ -0,0 +1,33 @@ +# +# Copyright 2004 Free Software Foundation, Inc. +# +# This file is part of GNU Radio +# +# GNU Radio is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# GNU Radio is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Radio; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. +# + +EXTRA_DIST = \ + awgn1o2_4.fsm \ + awgn1o2_8.fsm \ + awgn1o2_16.fsm \ + awgn1o2_128.fsm \ + awgn2o3_4.fsm \ + awgn2o3_4_1.fsm \ + awgn2o3_16.fsm \ + awgn2o3_8.fsm \ + awgn2o4_4.fsm \ + rep3.fsm \ + rep5.fsm diff --git a/gnuradio-examples/python/channel-coding/fsm_files/awgn1o2_128.fsm b/gnuradio-examples/python/channel-coding/fsm_files/awgn1o2_128.fsm new file mode 100644 index 0000000000..9c14d82f3c --- /dev/null +++ b/gnuradio-examples/python/channel-coding/fsm_files/awgn1o2_128.fsm @@ -0,0 +1,264 @@ +2 128 4 + +0 64 +0 64 +1 65 +1 65 +2 66 +2 66 +3 67 +3 67 +4 68 +4 68 +5 69 +5 69 +6 70 +6 70 +7 71 +7 71 +8 72 +8 72 +9 73 +9 73 +10 74 +10 74 +11 75 +11 75 +12 76 +12 76 +13 77 +13 77 +14 78 +14 78 +15 79 +15 79 +16 80 +16 80 +17 81 +17 81 +18 82 +18 82 +19 83 +19 83 +20 84 +20 84 +21 85 +21 85 +22 86 +22 86 +23 87 +23 87 +24 88 +24 88 +25 89 +25 89 +26 90 +26 90 +27 91 +27 91 +28 92 +28 92 +29 93 +29 93 +30 94 +30 94 +31 95 +31 95 +32 96 +32 96 +33 97 +33 97 +34 98 +34 98 +35 99 +35 99 +36 100 +36 100 +37 101 +37 101 +38 102 +38 102 +39 103 +39 103 +40 104 +40 104 +41 105 +41 105 +42 106 +42 106 +43 107 +43 107 +44 108 +44 108 +45 109 +45 109 +46 110 +46 110 +47 111 +47 111 +48 112 +48 112 +49 113 +49 113 +50 114 +50 114 +51 115 +51 115 +52 116 +52 116 +53 117 +53 117 +54 118 +54 118 +55 119 +55 119 +56 120 +56 120 +57 121 +57 121 +58 122 +58 122 +59 123 +59 123 +60 124 +60 124 +61 125 +61 125 +62 126 +62 126 +63 127 +63 127 + +0 3 +3 0 +1 2 +2 1 +3 0 +0 3 +2 1 +1 2 +1 2 +2 1 +0 3 +3 0 +2 1 +1 2 +3 0 +0 3 +1 2 +2 1 +0 3 +3 0 +2 1 +1 2 +3 0 +0 3 +0 3 +3 0 +1 2 +2 1 +3 0 +0 3 +2 1 +1 2 +2 1 +1 2 +3 0 +0 3 +1 2 +2 1 +0 3 +3 0 +3 0 +0 3 +2 1 +1 2 +0 3 +3 0 +1 2 +2 1 +3 0 +0 3 +2 1 +1 2 +0 3 +3 0 +1 2 +2 1 +2 1 +1 2 +3 0 +0 3 +1 2 +2 1 +0 3 +3 0 +2 1 +1 2 +3 0 +0 3 +1 2 +2 1 +0 3 +3 0 +3 0 +0 3 +2 1 +1 2 +0 3 +3 0 +1 2 +2 1 +3 0 +0 3 +2 1 +1 2 +0 3 +3 0 +1 2 +2 1 +2 1 +1 2 +3 0 +0 3 +1 2 +2 1 +0 3 +3 0 +0 3 +3 0 +1 2 +2 1 +3 0 +0 3 +2 1 +1 2 +1 2 +2 1 +0 3 +3 0 +2 1 +1 2 +3 0 +0 3 +1 2 +2 1 +0 3 +3 0 +2 1 +1 2 +3 0 +0 3 +0 3 +3 0 +1 2 +2 1 +3 0 +0 3 +2 1 +1 2 + + + +GM1o2_128=[1+D^3+D^4+D^5+D^6+D^7 1+D+D^2+D^5+D^7] + =[249 167] diff --git a/gnuradio-examples/python/channel-coding/fsm_files/awgn1o2_16.fsm b/gnuradio-examples/python/channel-coding/fsm_files/awgn1o2_16.fsm new file mode 100644 index 0000000000..2b000da691 --- /dev/null +++ b/gnuradio-examples/python/channel-coding/fsm_files/awgn1o2_16.fsm @@ -0,0 +1,39 @@ +2 16 4 + +0 8 +0 8 +1 9 +1 9 +2 10 +2 10 +3 11 +3 11 +4 12 +4 12 +5 13 +5 13 +6 14 +6 14 +7 15 +7 15 + +0 3 +3 0 +1 2 +2 1 +1 2 +2 1 +0 3 +3 0 +2 1 +1 2 +3 0 +0 3 +3 0 +0 3 +2 1 +1 2 + + + +GM1o2_16=[1+D^2+D^3+D^4 1+D+D^4]; diff --git a/gnuradio-examples/python/channel-coding/fsm_files/awgn1o2_4.fsm b/gnuradio-examples/python/channel-coding/fsm_files/awgn1o2_4.fsm new file mode 100644 index 0000000000..33e5ee315a --- /dev/null +++ b/gnuradio-examples/python/channel-coding/fsm_files/awgn1o2_4.fsm @@ -0,0 +1,17 @@ +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 +GM1o2_4=[1+D+D^2 1+D^2]; + + + diff --git a/gnuradio-examples/python/channel-coding/fsm_files/awgn1o2_8.fsm b/gnuradio-examples/python/channel-coding/fsm_files/awgn1o2_8.fsm new file mode 100644 index 0000000000..dd63b1ef50 --- /dev/null +++ b/gnuradio-examples/python/channel-coding/fsm_files/awgn1o2_8.fsm @@ -0,0 +1,24 @@ +2 8 4 + +0 4 +0 4 +1 5 +1 5 +2 6 +2 6 +3 7 +3 7 + + +0 3 +3 0 +1 2 +2 1 +3 0 +0 3 +2 1 +1 2 + + +1/2 8-state code (Proakis pg. 493) +GM1o2_8=[ 1+D+D^2+D^3 1+D+D^3]; diff --git a/gnuradio-examples/python/channel-coding/fsm_files/awgn2o3_16.fsm b/gnuradio-examples/python/channel-coding/fsm_files/awgn2o3_16.fsm new file mode 100644 index 0000000000..9630cd9afb --- /dev/null +++ b/gnuradio-examples/python/channel-coding/fsm_files/awgn2o3_16.fsm @@ -0,0 +1,40 @@ +4 16 8 + +0 8 4 12 +0 8 4 12 +0 8 4 12 +0 8 4 12 +1 9 5 13 +1 9 5 13 +1 9 5 13 +1 9 5 13 +2 10 6 14 +2 10 6 14 +2 10 6 14 +2 10 6 14 +3 11 7 15 +3 11 7 15 +3 11 7 15 +3 11 7 15 + +0 1 7 6 +6 7 1 0 +3 2 4 5 +5 4 2 3 +2 3 5 4 +4 5 3 2 +1 0 6 7 +7 6 0 1 +4 5 3 2 +2 3 5 4 +7 6 0 1 +1 0 6 7 +6 7 1 0 +0 1 7 6 +5 4 2 3 +3 2 4 5 + + +2/3 code generated from the awgn 1/2 code with 16 states and puncturing the 4th bit. +d_free= + diff --git a/gnuradio-examples/python/channel-coding/fsm_files/awgn2o3_4.fsm b/gnuradio-examples/python/channel-coding/fsm_files/awgn2o3_4.fsm new file mode 100644 index 0000000000..567948e784 --- /dev/null +++ b/gnuradio-examples/python/channel-coding/fsm_files/awgn2o3_4.fsm @@ -0,0 +1,44 @@ +4 4 8 + +0 2 1 3 +0 2 1 3 +0 2 1 3 +0 2 1 3 + +0 3 5 6 +4 7 1 2 +7 4 2 1 +3 0 6 5 + + +This is generated by the 1/2 AWGN code (5 7) by puncturing the first (MSB) bit. +--> d_free=3 + +before puncturing: + +00 03 31 32 +30 33 01 02 +13 10 22 21 +23 20 12 11 + +or in decimal representation: + + 0 3 13 14 +12 15 1 2 + 7 4 10 9 +11 8 6 5 + +by punturing the MSB you get (dmin=3) + +0 3 5 6 +4 7 1 2 +7 4 2 1 +3 0 6 5 + +and by puncturing the LSB (something is wrong with this code) + +0 1 6 7 +6 7 0 1 +3 2 5 4 +5 4 3 2 + diff --git a/gnuradio-examples/python/channel-coding/fsm_files/awgn2o3_4_1.fsm b/gnuradio-examples/python/channel-coding/fsm_files/awgn2o3_4_1.fsm new file mode 100644 index 0000000000..c5aee6983f --- /dev/null +++ b/gnuradio-examples/python/channel-coding/fsm_files/awgn2o3_4_1.fsm @@ -0,0 +1,42 @@ +4 4 8 + +0 1 2 3 +0 1 2 3 +0 1 2 3 +0 1 2 3 + +0 7 4 3 +3 4 7 0 +5 2 1 6 +6 1 2 5 + + + +This is generated by the 1/2 AWGN code (5 7) by puncturing the first (MSB) bit. +--> d_free=3 + +before puncturing: + + +or in decimal representation: + +0 7 12 11 +3 4 15 8 +13 10 1 6 +14 9 2 5 + +by punturing the MSB you get (dmin=3) + +0 7 4 3 +3 4 7 0 +5 2 1 6 +6 1 2 5 + + +and by puncturing the LSB (something is wrong with this code) + +0 3 6 5 +1 2 7 4 +6 5 0 3 +7 4 1 2 + diff --git a/gnuradio-examples/python/channel-coding/fsm_files/awgn2o3_8.fsm b/gnuradio-examples/python/channel-coding/fsm_files/awgn2o3_8.fsm new file mode 100644 index 0000000000..34deeb68cb --- /dev/null +++ b/gnuradio-examples/python/channel-coding/fsm_files/awgn2o3_8.fsm @@ -0,0 +1,25 @@ +4 8 8 + +0 4 2 6 +0 4 2 6 +0 4 2 6 +0 4 2 6 +1 5 3 7 +1 5 3 7 +1 5 3 7 +1 5 3 7 + + +0 1 7 6 +6 7 1 0 +3 2 4 5 +5 4 2 3 +6 7 1 0 +0 1 7 6 +5 4 2 3 +3 2 4 5 + + + +This is generated by the 1/2 8-state AWGN code (15 17) by puncturing the fourth bit. +--> d_free=??? diff --git a/gnuradio-examples/python/channel-coding/fsm_files/awgn2o4_4.fsm b/gnuradio-examples/python/channel-coding/fsm_files/awgn2o4_4.fsm new file mode 100644 index 0000000000..793d419c59 --- /dev/null +++ b/gnuradio-examples/python/channel-coding/fsm_files/awgn2o4_4.fsm @@ -0,0 +1,14 @@ +4 4 16 + +0 2 1 3 +0 2 1 3 +0 2 1 3 +0 2 1 3 + + 0 3 13 14 +12 15 1 2 + 7 4 10 9 +11 8 6 5 + +generated by the awgn1o2_4.fsm code +(two steps of the 1o2 code) diff --git a/gnuradio-examples/python/channel-coding/fsm_files/foo b/gnuradio-examples/python/channel-coding/fsm_files/foo new file mode 100644 index 0000000000..b511c2b01b --- /dev/null +++ b/gnuradio-examples/python/channel-coding/fsm_files/foo @@ -0,0 +1,17 @@ +" Press ? for keyboard shortcuts +" Sorted by name (.bak,~,.o,.h,.info,.swp,.obj at end of list) +"= /home/anastas/gnuradio_svn/gnuradio-examples/python/channel-coding/fsm_files/ +../ +.svn/ +Makefile.am +awgn1o2_128.fsm +awgn1o2_16.fsm +awgn1o2_4.fsm +awgn1o2_8.fsm +awgn2o3_16.fsm +awgn2o3_4.fsm +awgn2o3_4_1.fsm +awgn2o3_8.fsm +awgn2o4_4.fsm +rep3.fsm +rep5.fsm diff --git a/gnuradio-examples/python/channel-coding/fsm_files/rep3.fsm b/gnuradio-examples/python/channel-coding/fsm_files/rep3.fsm new file mode 100644 index 0000000000..1930523b3f --- /dev/null +++ b/gnuradio-examples/python/channel-coding/fsm_files/rep3.fsm @@ -0,0 +1,7 @@ +2 1 8 + +0 0 + +0 7 + +1/3 repetition code (with binary input) diff --git a/gnuradio-examples/python/channel-coding/fsm_files/rep5.fsm b/gnuradio-examples/python/channel-coding/fsm_files/rep5.fsm new file mode 100644 index 0000000000..581858ec10 --- /dev/null +++ b/gnuradio-examples/python/channel-coding/fsm_files/rep5.fsm @@ -0,0 +1,7 @@ +2 1 8 + +0 0 + +0 7 + +1/3 repetiotion code |