diff options
Diffstat (limited to 'gr-trellis/examples/python/fsm_files')
14 files changed, 697 insertions, 4 deletions
diff --git a/gr-trellis/examples/python/fsm_files/awgn2o3_16ungerboeck.fsm b/gr-trellis/examples/python/fsm_files/awgn2o3_16ungerboeck.fsm new file mode 100644 index 0000000000..70ead4f17a --- /dev/null +++ b/gr-trellis/examples/python/fsm_files/awgn2o3_16ungerboeck.fsm @@ -0,0 +1,50 @@ +4 16 8
+
+0 1 2 3
+4 5 6 7
+8 9 10 11
+12 13 14 15
+0 1 2 3
+4 5 6 7
+8 9 10 11
+12 13 14 15
+0 1 2 3
+4 5 6 7
+8 9 10 11
+12 13 14 15
+0 1 2 3
+4 5 6 7
+8 9 10 11
+12 13 14 15
+
+
+0 4 2 6
+1 5 3 7
+4 0 6 2
+5 1 7 3
+2 6 0 4
+3 7 1 5
+6 2 4 0
+7 3 5 1
+4 0 6 2
+5 1 7 3
+0 4 2 6
+1 5 3 7
+6 2 4 0
+7 3 5 1
+2 6 0 4
+3 7 1 5
+
+This is the rate 2/3 Ungerboeck code with 16 states for 8-PSK (natural mapping).
+The states are defined in Ungerboeck's way.
+
+d_free^2 = 2.274^2 Es --> 7.13 dB (so gain of 4.13 dB over uncoded QPSK)
+
+Parity check matrix in octal: [16 04 23]
+
+Generator Matrix:
+
+[ D 1+D+D^2 0
+ 1+D^2 D^2 D]
+
+
diff --git a/gr-trellis/examples/python/fsm_files/awgn2o3_16ungerboecka.fsm b/gr-trellis/examples/python/fsm_files/awgn2o3_16ungerboecka.fsm new file mode 100644 index 0000000000..523384362f --- /dev/null +++ b/gr-trellis/examples/python/fsm_files/awgn2o3_16ungerboecka.fsm @@ -0,0 +1,48 @@ +4 16 8
+
+0 8 2 10
+0 8 2 10
+1 9 3 11
+1 9 3 11
+0 8 2 10
+0 8 2 10
+1 9 3 11
+1 9 3 11
+4 12 6 14
+4 12 6 14
+5 13 7 15
+5 13 7 15
+4 12 6 14
+4 12 6 14
+5 13 7 15
+5 13 7 15
+
+
+0 6 2 4
+2 4 0 6
+6 0 4 2
+4 2 6 0
+4 2 6 0
+6 0 4 2
+2 4 0 6
+0 6 2 4
+1 7 3 5
+3 5 1 7
+7 1 5 3
+5 3 7 1
+5 3 7 1
+7 1 5 3
+3 5 1 7
+1 7 3 5
+
+This is the rate 2/3 Ungerboeck code with 16 states for 8-PSK (natural mapping).
+The states are defined in typical way.
+
+d_free^2 = 2.274^2Es --> 7.13 dB (so gain of 4.13 dB over uncoded QPSK)
+
+Parity check matrix in octal: [16 04 23]
+
+Generator Matrix:
+
+[ D 1+D+D^2 0
+ 1+D^2 D^2 D]
diff --git a/gr-trellis/examples/python/fsm_files/awgn2o3_32ungerboeck.fsm b/gr-trellis/examples/python/fsm_files/awgn2o3_32ungerboeck.fsm new file mode 100644 index 0000000000..a00f9c2e8d --- /dev/null +++ b/gr-trellis/examples/python/fsm_files/awgn2o3_32ungerboeck.fsm @@ -0,0 +1,83 @@ +4 32 8
+
+0 16 1 17
+0 16 1 17
+0 16 1 17
+0 16 1 17
+2 18 3 19
+2 18 3 19
+2 18 3 19
+2 18 3 19
+4 20 5 21
+4 20 5 21
+4 20 5 21
+4 20 5 21
+6 22 7 23
+6 22 7 23
+6 22 7 23
+6 22 7 23
+8 24 9 25
+8 24 9 25
+8 24 9 25
+8 24 9 25
+10 26 11 27
+10 26 11 27
+10 26 11 27
+10 26 11 27
+12 28 13 29
+12 28 13 29
+12 28 13 29
+12 28 13 29
+14 30 15 31
+14 30 15 31
+14 30 15 31
+14 30 15 31
+
+
+
+
+0 4 2 6
+4 0 6 2
+2 6 0 4
+6 2 4 0
+5 1 7 3
+1 5 3 7
+7 3 5 1
+3 7 1 5
+1 5 3 7
+5 1 7 3
+3 7 1 5
+7 3 5 1
+4 0 6 2
+0 4 2 6
+6 2 4 0
+2 6 0 4
+1 5 3 7
+5 1 7 3
+3 7 1 5
+7 3 5 1
+4 0 6 2
+0 4 2 6
+6 2 4 0
+2 6 0 4
+0 4 2 6
+4 0 6 2
+2 6 0 4
+6 2 4 0
+5 1 7 3
+1 5 3 7
+7 3 5 1
+3 7 1 5
+
+This is the rate 2/3 Ungerboeck code with 32 states for 8-PSK (natural mapping).
+The states are defined in typical way.
+
+d_free^2 = 2.405^2 Es --> 7.59 dB (so gain of 4.59 dB over uncoded QPSK)
+
+Parity check matrix in octal: [34 16 45]
+
+Generator Matrix:
+
+[ 1 D 0
+ D^4 D^2+1 D^3+D^2+D]
+
diff --git a/gr-trellis/examples/python/fsm_files/awgn2o3_32ungerboecka.fsm b/gr-trellis/examples/python/fsm_files/awgn2o3_32ungerboecka.fsm new file mode 100644 index 0000000000..b2e6ebdf44 --- /dev/null +++ b/gr-trellis/examples/python/fsm_files/awgn2o3_32ungerboecka.fsm @@ -0,0 +1,84 @@ +4 32 8
+0 16 1 17
+0 16 1 17
+0 16 1 17
+0 16 1 17
+2 18 3 19
+2 18 3 19
+2 18 3 19
+2 18 3 19
+4 20 5 21
+4 20 5 21
+4 20 5 21
+4 20 5 21
+6 22 7 23
+6 22 7 23
+6 22 7 23
+6 22 7 23
+8 24 9 25
+8 24 9 25
+8 24 9 25
+8 24 9 25
+10 26 11 27
+10 26 11 27
+10 26 11 27
+10 26 11 27
+12 28 13 29
+12 28 13 29
+12 28 13 29
+12 28 13 29
+14 30 15 31
+14 30 15 31
+14 30 15 31
+14 30 15 31
+
+
+
+
+
+0 4 2 6
+4 0 6 2
+2 6 0 4
+6 2 4 0
+1 5 3 7
+5 1 7 3
+3 7 1 5
+7 3 5 1
+3 7 1 5
+7 3 5 1
+1 5 3 7
+5 1 7 3
+2 6 0 4
+6 2 4 0
+0 4 2 6
+4 0 6 2
+1 5 3 7
+5 1 7 3
+3 7 1 5
+7 3 5 1
+0 4 2 6
+4 0 6 2
+2 6 0 4
+6 2 4 0
+2 6 0 4
+6 2 4 0
+0 4 2 6
+4 0 6 2
+3 7 1 5
+7 3 5 1
+1 5 3 7
+5 1 7 3
+
+This is the rate 2/3 Ungerboeck code with 32 states for 8-PSK (natural mapping).
+The states are defined in typical way.
+
+d_free^2 = 2.405^2 Es --> 7.59 dB (so gain of 4.59 dB over uncoded QPSK)
+
+Parity check matrix in octal: [34 16 45]
+
+Generator Matrix:
+
+[ 1 D 0
+ D^4+D 1 D^3+D^2+D]
+
+
diff --git a/gr-trellis/examples/python/fsm_files/awgn2o3_4_msb.fsm b/gr-trellis/examples/python/fsm_files/awgn2o3_4_msb.fsm index d834c52718..ff6e2a763b 100644 --- a/gr-trellis/examples/python/fsm_files/awgn2o3_4_msb.fsm +++ b/gr-trellis/examples/python/fsm_files/awgn2o3_4_msb.fsm @@ -12,7 +12,7 @@ This is generated by the 1/2 AWGN code (5 7) operated twice, ie, -(xk+1 xki) [xk-1 xk-2] -> [xk+1 xki]. +(xk+1 xk) [xk-1 xk-2] -> [xk+1 xk]. We also puncture the first (MSB) bit. This code is worse than awgn2o3_4_msbG and slightly worse than awgn2o3_4, BUT seems to be a good innner code for sctcm (with 8PSK natural). diff --git a/gr-trellis/examples/python/fsm_files/awgn2o3_4_msbG.fsm b/gr-trellis/examples/python/fsm_files/awgn2o3_4_msbG.fsm index 8956c53da2..54f9cbc3cc 100644 --- a/gr-trellis/examples/python/fsm_files/awgn2o3_4_msbG.fsm +++ b/gr-trellis/examples/python/fsm_files/awgn2o3_4_msbG.fsm @@ -11,7 +11,7 @@ This is generated by the 1/2 AWGN code (5 7) operated twice, ie, -(xk+1 xki) [xk-1 xk-2] -> [xk+1 xki]. +(xk+1 xk) [xk-1 xk-2] -> [xk+1 xk]. We also puncture the first (MSB) bit and Gray map the symbols. intermediate states: @@ -45,7 +45,7 @@ and in decimal: After Gray mapping: label -> phase 0 -> 0 -1 -> 0 +1 -> 1 2 -> 7 3 -> 2 4 -> 5 diff --git a/gr-trellis/examples/python/fsm_files/awgn2o3_4ungerboeck.fsm b/gr-trellis/examples/python/fsm_files/awgn2o3_4ungerboeck.fsm new file mode 100644 index 0000000000..160f4ea30f --- /dev/null +++ b/gr-trellis/examples/python/fsm_files/awgn2o3_4ungerboeck.fsm @@ -0,0 +1,26 @@ +4 4 8 + +0 0 1 1 +2 2 3 3 +0 0 1 1 +2 2 3 3 + + +0 4 2 6 +1 5 3 7 +2 6 0 4 +3 7 1 5 + + + +This is the Ungerboeck code for 8-PSK (natural mapping). +The states are defined in Ungerboeck's way. + +d_free^2=4 Es -> 3.0 dB over uncoded QPSK + +Parity check matrix in octal: [0 2 5] + +Generator matrix: + +[1 0 0 + 0 1+D^2 D] diff --git a/gr-trellis/examples/python/fsm_files/awgn2o3_4ungerboecka.fsm b/gr-trellis/examples/python/fsm_files/awgn2o3_4ungerboecka.fsm new file mode 100644 index 0000000000..d9c210a0e9 --- /dev/null +++ b/gr-trellis/examples/python/fsm_files/awgn2o3_4ungerboecka.fsm @@ -0,0 +1,23 @@ +4 4 8 + +0 2 0 2 +0 2 0 2 +1 3 1 3 +1 3 1 3 + +0 2 4 6 +2 0 6 4 +1 3 5 7 +3 1 7 5 + +This is the rate 2/3 Ungerboeck's code with 4 states. +The states are defined in typical way. + +d_free^2=4 Es -> 3.0 dB over uncoded QPSK + +Parity check matrix in octal: [0 2 5] + +Generator matrix: + +[1 0 0 + 0 1+D^2 D] diff --git a/gr-trellis/examples/python/fsm_files/awgn2o3_64ungerboeck.fsm b/gr-trellis/examples/python/fsm_files/awgn2o3_64ungerboeck.fsm new file mode 100644 index 0000000000..62c75c31c1 --- /dev/null +++ b/gr-trellis/examples/python/fsm_files/awgn2o3_64ungerboeck.fsm @@ -0,0 +1,150 @@ +4 64 8
+
+
+0 32 1 33
+0 32 1 33
+0 32 1 33
+0 32 1 33
+2 34 3 35
+2 34 3 35
+2 34 3 35
+2 34 3 35
+4 36 5 37
+4 36 5 37
+4 36 5 37
+4 36 5 37
+6 38 7 39
+6 38 7 39
+6 38 7 39
+6 38 7 39
+8 40 9 41
+8 40 9 41
+8 40 9 41
+8 40 9 41
+10 42 11 43
+10 42 11 43
+10 42 11 43
+10 42 11 43
+12 44 13 45
+12 44 13 45
+12 44 13 45
+12 44 13 45
+14 46 15 47
+14 46 15 47
+14 46 15 47
+14 46 15 47
+16 48 17 49
+16 48 17 49
+16 48 17 49
+16 48 17 49
+18 50 19 51
+18 50 19 51
+18 50 19 51
+18 50 19 51
+20 52 21 53
+20 52 21 53
+20 52 21 53
+20 52 21 53
+22 54 23 55
+22 54 23 55
+22 54 23 55
+22 54 23 55
+24 56 25 57
+24 56 25 57
+24 56 25 57
+24 56 25 57
+26 58 27 59
+26 58 27 59
+26 58 27 59
+26 58 27 59
+28 60 29 61
+28 60 29 61
+28 60 29 61
+28 60 29 61
+30 62 31 63
+30 62 31 63
+30 62 31 63
+30 62 31 63
+
+
+
+
+0 4 2 6
+4 0 6 2
+2 6 0 4
+6 2 4 0
+1 5 3 7
+5 1 7 3
+3 7 1 5
+7 3 5 1
+3 7 1 5
+7 3 5 1
+1 5 3 7
+5 1 7 3
+2 6 0 4
+6 2 4 0
+0 4 2 6
+4 0 6 2
+1 5 3 7
+5 1 7 3
+3 7 1 5
+7 3 5 1
+0 4 2 6
+4 0 6 2
+2 6 0 4
+6 2 4 0
+2 6 0 4
+6 2 4 0
+0 4 2 6
+4 0 6 2
+3 7 1 5
+7 3 5 1
+1 5 3 7
+5 1 7 3
+1 5 3 7
+5 1 7 3
+3 7 1 5
+7 3 5 1
+0 4 2 6
+4 0 6 2
+2 6 0 4
+6 2 4 0
+2 6 0 4
+6 2 4 0
+0 4 2 6
+4 0 6 2
+3 7 1 5
+7 3 5 1
+1 5 3 7
+5 1 7 3
+0 4 2 6
+4 0 6 2
+2 6 0 4
+6 2 4 0
+1 5 3 7
+5 1 7 3
+3 7 1 5
+7 3 5 1
+3 7 1 5
+7 3 5 1
+1 5 3 7
+5 1 7 3
+2 6 0 4
+6 2 4 0
+0 4 2 6
+4 0 6 2
+
+
+This is the rate 2/3 Ungerboeck code with 64 states for 8-PSK (natural mapping).
+The states are defined in typical way.
+
+d_free^2 = 2.52^2 Es --> 8.01 dB (so gain of 5.01 dB over uncoded QPSK)
+
+parity check matrix in octal: [074 036 105]
+
+generator matrix:
+
+[1 D 0
+ D^5 D^2+1 D^4+D^3+D^2+D]
+
+
diff --git a/gr-trellis/examples/python/fsm_files/awgn2o3_64ungerboecka.fsm b/gr-trellis/examples/python/fsm_files/awgn2o3_64ungerboecka.fsm new file mode 100644 index 0000000000..137091f1f6 --- /dev/null +++ b/gr-trellis/examples/python/fsm_files/awgn2o3_64ungerboecka.fsm @@ -0,0 +1,154 @@ +4 64 8
+
+
+0 32 1 33
+0 32 1 33
+0 32 1 33
+0 32 1 33
+2 34 3 35
+2 34 3 35
+2 34 3 35
+2 34 3 35
+4 36 5 37
+4 36 5 37
+4 36 5 37
+4 36 5 37
+6 38 7 39
+6 38 7 39
+6 38 7 39
+6 38 7 39
+8 40 9 41
+8 40 9 41
+8 40 9 41
+8 40 9 41
+10 42 11 43
+10 42 11 43
+10 42 11 43
+10 42 11 43
+12 44 13 45
+12 44 13 45
+12 44 13 45
+12 44 13 45
+14 46 15 47
+14 46 15 47
+14 46 15 47
+14 46 15 47
+16 48 17 49
+16 48 17 49
+16 48 17 49
+16 48 17 49
+18 50 19 51
+18 50 19 51
+18 50 19 51
+18 50 19 51
+20 52 21 53
+20 52 21 53
+20 52 21 53
+20 52 21 53
+22 54 23 55
+22 54 23 55
+22 54 23 55
+22 54 23 55
+24 56 25 57
+24 56 25 57
+24 56 25 57
+24 56 25 57
+26 58 27 59
+26 58 27 59
+26 58 27 59
+26 58 27 59
+28 60 29 61
+28 60 29 61
+28 60 29 61
+28 60 29 61
+30 62 31 63
+30 62 31 63
+30 62 31 63
+30 62 31 63
+
+
+
+
+
+0 4 2 6
+4 0 6 2
+2 6 0 4
+6 2 4 0
+5 1 7 3
+1 5 3 7
+7 3 5 1
+3 7 1 5
+1 5 3 7
+5 1 7 3
+3 7 1 5
+7 3 5 1
+4 0 6 2
+0 4 2 6
+6 2 4 0
+2 6 0 4
+1 5 3 7
+5 1 7 3
+3 7 1 5
+7 3 5 1
+4 0 6 2
+0 4 2 6
+6 2 4 0
+2 6 0 4
+0 4 2 6
+4 0 6 2
+2 6 0 4
+6 2 4 0
+5 1 7 3
+1 5 3 7
+7 3 5 1
+3 7 1 5
+1 5 3 7
+5 1 7 3
+3 7 1 5
+7 3 5 1
+4 0 6 2
+0 4 2 6
+6 2 4 0
+2 6 0 4
+0 4 2 6
+4 0 6 2
+2 6 0 4
+6 2 4 0
+5 1 7 3
+1 5 3 7
+7 3 5 1
+3 7 1 5
+0 4 2 6
+4 0 6 2
+2 6 0 4
+6 2 4 0
+5 1 7 3
+1 5 3 7
+7 3 5 1
+3 7 1 5
+1 5 3 7
+5 1 7 3
+3 7 1 5
+7 3 5 1
+4 0 6 2
+0 4 2 6
+6 2 4 0
+2 6 0 4
+
+
+
+
+
+This is the rate 2/3 Ungerboeck code with 64 states for 8-PSK (natural mapping).
+The states are defined in typical way.
+
+d_free^2 = 2.52^2 Es --> 8.01 dB (so gain of 5.01 dB over uncoded QPSK)
+
+parity check matrix in octal: [074 036 105]
+
+generator matrix:
+
+[1 D 0
+ D^5+D 1 D^4+D^3+D^2+D]
+
+
diff --git a/gr-trellis/examples/python/fsm_files/awgn2o3_8.fsm b/gr-trellis/examples/python/fsm_files/awgn2o3_8.fsm index 34deeb68cb..6ace4f5e14 100644 --- a/gr-trellis/examples/python/fsm_files/awgn2o3_8.fsm +++ b/gr-trellis/examples/python/fsm_files/awgn2o3_8.fsm @@ -21,5 +21,6 @@ -This is generated by the 1/2 8-state AWGN code (15 17) by puncturing the fourth bit. +This is generated by the 1/2 8-state AWGN code (15 17) by operating it twice and +puncturing the fourth bit. --> d_free=??? diff --git a/gr-trellis/examples/python/fsm_files/awgn2o3_8ungerboeck.fsm b/gr-trellis/examples/python/fsm_files/awgn2o3_8ungerboeck.fsm new file mode 100644 index 0000000000..e2f08eba25 --- /dev/null +++ b/gr-trellis/examples/python/fsm_files/awgn2o3_8ungerboeck.fsm @@ -0,0 +1,35 @@ +4 8 8 + +0 1 2 3 +4 5 6 7 +0 1 2 3 +4 5 6 7 +0 1 2 3 +4 5 6 7 +0 1 2 3 +4 5 6 7 + + +0 4 2 6 +1 5 3 7 +4 0 6 2 +5 1 7 3 +2 6 0 4 +3 7 1 5 +6 2 4 0 +7 3 5 1 + + + +This is the rate 2/3 Ungerboeck code with 8-states for 8-PSK (natural mapping). +The states are defined in Ungerboeck's way. + +d_free^2 = 4.585 Es --> 6.6 dB (so gain of 3.6 dB over uncoded QPSK) + +Parity check matrix in octal: [04 02 11] + +Generator Matrix: + +[ 1 D 0 + D^2 1 D] + diff --git a/gr-trellis/examples/python/fsm_files/awgn2o3_8ungerboecka.fsm b/gr-trellis/examples/python/fsm_files/awgn2o3_8ungerboecka.fsm new file mode 100644 index 0000000000..2425e6a01a --- /dev/null +++ b/gr-trellis/examples/python/fsm_files/awgn2o3_8ungerboecka.fsm @@ -0,0 +1,32 @@ +4 8 8
+
+0 4 1 5
+0 4 1 5
+0 4 1 5
+0 4 1 5
+2 6 3 7
+2 6 3 7
+2 6 3 7
+2 6 3 7
+
+0 4 2 6
+4 0 6 2
+2 6 0 4
+6 2 4 0
+1 5 3 7
+5 1 7 3
+3 7 1 5
+7 3 5 1
+
+This is the rate 2/3 Ungerboeck code with 8-states for 8-PSK (natural mapping).
+The states are defined in typical way.
+
+d_free^2 = 4.585 Es --> 6.6 dB (so gain of 3.6 dB over uncoded QPSK)
+
+Parity check matrix in octal: [04 02 11]
+
+Generator Matrix:
+
+[ 1 D 0
+ D^2 1 D]
+
diff --git a/gr-trellis/examples/python/fsm_files/uncoded4.fsm b/gr-trellis/examples/python/fsm_files/uncoded4.fsm new file mode 100644 index 0000000000..67cb12ce8f --- /dev/null +++ b/gr-trellis/examples/python/fsm_files/uncoded4.fsm @@ -0,0 +1,7 @@ +4 1 4 + +0 0 0 0 + +0 1 2 3 + +uncoded 4-ary transmission |