?? the art of error correcting coding siso decoding.htm
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0043)http://the-art-of-ecc.com/7_SISO/index.html -->
<HTML><HEAD><TITLE>The Art of Error Correcting Coding: SISO decoding</TITLE>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="Robert Morelos-Zaragoza" name=Author>
<META
content="Error Control Coding,Error CorrectingCoding,Error Correcting Codes,FEC,Turbo Codes,Iterative Decoding,DigitalCommunications,Wireless,Satellite,Data,Coded Modulation,Golay,Hamming,BCH,Reed Solomon,Viterbi Decoder,Soft Decision Decoding,Sudan Algorithm,Unequal Error Protection,Variable Rate Coding,Adaptive Coding,Convolutional Codes,LDPC,Low-Density Parity-Check Codes,The Art of Error-Correcting Coding,Capacity-achieving codes,Coding is not dead, is more alive than ever"
name=description>
<META content="MSHTML 6.00.2900.3395" name=GENERATOR></HEAD>
<BODY bgColor=#ffffff>
<CENTER><B><FONT size=+1>Soft-input soft-output decoding
algorithms</FONT></B></CENTER>
<P>This page contains links to programs in C/C++ for simulating SISO decoding
algorithms. These are discussed in Chapter 7 of the <A
href="http://www.amazon.com/gp/product/0470015586/ref=sr_11_1/102-3025380-7157754?ie=UTF8">book</A>.
</P>
<P><B>MAP decoding of a parallel concatenated (turbo) convolutional code: Rate
1/3</B> <BR><A
href="http://the-art-of-ecc.com/7_SISO/turbo_MAP.cpp">turbo_MAP.cpp</A>
<A href="http://the-art-of-ecc.com/7_SISO/random.cpp">random.cpp</A> <A
href="http://the-art-of-ecc.com/7_SISO/random.h">random.h</A> </P>
<P>Simulation of a binary rate-1/3 turbo code with two identical rate-1/2
component recursive convolutional encoders. The memory of the encoders can be
selected betwen 2, 3 and 4, corresponding to 4, 8 and 16 state trellises
respectively. Files <I>turbo_MAP.cpp</I> and <I>random.cpp</I> must be
compiled together, with the "gcc" command in a unix-like environment (or
equivalent in other OS) as </P>
<P>gcc -O2 turbo_MAP.cpp random.cpp -lm </P>
<P>See also the <A href="http://the-art-of-ecc.com/7_SISO/example">example</A>
file. </P>
<P><B>NOTE</B>: This version of the program does not consider <I>tail bits</I>
to terminate the trellis. As a result, performance will be worse than turbo
codes with tail bits, specially with short interleaver lengths. Also, the
encoder structure is "hard-coded" in the program.. </P>
<P><B>MAP decoding of a parallel concatenated (turbo) convolutional code:
Puncturing and rate 1/2</B> <BR><A
href="http://the-art-of-ecc.com/7_SISO/turbo_MAP_punc.cpp">turbo_MAP_punc.cpp</A>
<A href="http://the-art-of-ecc.com/7_SISO/random.cpp">random.cpp</A> <A
href="http://the-art-of-ecc.com/7_SISO/random.h">random.h</A> </P>
<P>These programs are used for simulation of a rate-1/2 <I>punctured</I> turbo
code. A puncturing rule is applied in the branch metric (gamma) computation
stage, very much in the same way as in the convolutional code case. In this
version, the puncturing rule is hard-coded in the program, but it should be easy
to specified it in a file, just as in the case of binary <A
href="http://the-art-of-ecc.com/5_Convolutional/index.html">punctured
convolutional codes</A>.<BR>All other comments made for the rate-1/3 turbo code
above are pertinent to the punctured rate-1/2 turbo code. <BR></P>
<P><B><A href="http://the-art-of-ecc.com/topics.html">BACK TO CONTENTS</A></B>
<BR></P>
<HR>
<H6 style="FONT-WEIGHT: normal"><SMALL><FONT color=#000000>This page was last
updated on August 6, 2008, by Robert H. Morelos-Zaragoza.</FONT></SMALL></H6><!-- text below generated by server. PLEASE REMOVE --><!-- Counter/Statistics data collection code -->
<SCRIPT language=JavaScript
src="The Art of Error Correcting Coding SISO decoding.files/whv2_001.js"></SCRIPT>
<SCRIPT language=javascript>geovisit();</SCRIPT>
<NOSCRIPT><IMG height=1 alt=setstats
src="The Art of Error Correcting Coding SISO decoding.files/visit.gif" width=1
border=0></NOSCRIPT></BODY></HTML>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -