summaryrefslogtreecommitdiff
path: root/gnuradio-examples/python/channel-coding/fsm_files/awgn2o3_4_msb.fsm
diff options
context:
space:
mode:
authoranastas2006-08-16 20:07:36 +0000
committeranastas2006-08-16 20:07:36 +0000
commitd5c192f9e3cde58589845b7b51057afc45d3bc79 (patch)
tree04dc746388bb19f66bae93d110e4f2a5ca14c64b /gnuradio-examples/python/channel-coding/fsm_files/awgn2o3_4_msb.fsm
parent1f0a124c68a40b2eee063267d4f7aeba4ed87619 (diff)
downloadgnuradio-d5c192f9e3cde58589845b7b51057afc45d3bc79.tar.gz
gnuradio-d5c192f9e3cde58589845b7b51057afc45d3bc79.tar.bz2
gnuradio-d5c192f9e3cde58589845b7b51057afc45d3bc79.zip
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 'gnuradio-examples/python/channel-coding/fsm_files/awgn2o3_4_msb.fsm')
-rw-r--r--gnuradio-examples/python/channel-coding/fsm_files/awgn2o3_4_msb.fsm46
1 files changed, 46 insertions, 0 deletions
diff --git a/gnuradio-examples/python/channel-coding/fsm_files/awgn2o3_4_msb.fsm b/gnuradio-examples/python/channel-coding/fsm_files/awgn2o3_4_msb.fsm
new file mode 100644
index 000000000..551b71101
--- /dev/null
+++ b/gnuradio-examples/python/channel-coding/fsm_files/awgn2o3_4_msb.fsm
@@ -0,0 +1,46 @@
+4 4 8
+
+0 1 2 3
+0 1 2 3
+0 1 2 3
+0 1 2 3
+
+0 5 3 6
+4 1 7 2
+7 2 4 1
+3 6 0 5
+
+
+This is generated by the 1/2 AWGN code (5 7) operated twice, ie,
+(xk+1 xki) [xk-1 xk-2] -> [xk+1 xki].
+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).
+
+intermediate states:
+
+00 21 02 23
+00 21 02 23
+10 31 12 33
+10 31 12 33
+
+output before puncturing:
+
+00 31 03 32
+30 01 33 02
+13 22 10 21
+23 12 20 11
+
+output after punturing the MSB:
+
+00 11 03 12
+10 01 13 02
+13 02 10 01
+03 12 00 11
+
+and in decimal:
+
+0 5 3 6
+4 1 7 2
+7 2 4 1
+3 6 0 5