📄 index1.htm
字号:
<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en"><html><head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta name="Author" content="Robert Morelos-Zaragoza"> <meta name="description" 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"><title>The Art of Error Correcting Coding: SISO decoding</title></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 SISOdecoding 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="turbo_MAP.cpp">turbo_MAP.cpp</a> <a href="random.cpp">random.cpp</a><a href="random.h">random.h</a></p><p>Simulation of a binary rate-1/3 turbo code with two identical rate-1/2component recursive convolutional encoders. The memory of the encoderscan be selected betwen 2, 3 and 4, corresponding to 4, 8 and 16 state trellisesrespectively. Files <i>turbo_MAP.cpp</i> and <i>random.cpp</i> mustbe 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="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 turbocodes with tail bits, specially with short interleaver lengths. Also, theencoder 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="turbo_MAP_punc.cpp">turbo_MAP_punc.cpp</a> <a href="random.cpp">random.cpp</a><a href="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) computationstage, very much in the same way as in the convolutional code case. Inthis version, the puncturing rule is hard-coded in the program, but itshould be easy to specified it in a file, just as in the case of binary<a href="../5_Convolutional/index.html">puncturedconvolutional codes</a>.<br>All other comments made for the rate-1/3 turbo code above are pertinentto the punctured rate-1/2 turbo code.<br></p> <p><b><a href="../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 RobertH. Morelos-Zaragoza.</font></small></h6></body></html><!-- text below generated by server. PLEASE REMOVE --><!-- Counter/Statistics data collection code --><script language="JavaScript" src="http://us.js2.yimg.com/us.js.yimg.com/lib/smb/js/hosting/cp/js_source/whv2_001.js"></script><script language="javascript">geovisit();</script><noscript><img src="http://visit.webhosting.yahoo.com/visit.gif?us1223490025" alt="setstats" border="0" width="1" height="1"></noscript>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -