Serial concatenated convolutional codes: Difference between revisions

Content deleted Content added
Typo/general fixing, replaced: the "the → "the, removed orphan tag, typo(s) fixed: 1990's → 1990s, removed leftover AFC comment; using AWB
Line 1:
'''Serial concatenated convolutional codes (SCCC)''' are a class of [[forward error correction]] (FEC) codes highly suitable for [[Turbo code|turbo]] (iterative) decoding.<ref name="Minoli2008">{{cite book|last=Minoli|first=Daniel|title=Satellite Systems Engineering in an IPv6 Environment|url=http://books.google.com/books?id=4yJi1UQDPp8C&pg=PA152|accessdate=4 June 2014|date=2008-12-18|publisher=CRC Press|isbn=9781420078695|pages=152–}}</ref><ref name="RyanLin2009">{{cite book|last1=Ryan|first1=William|last2=Lin|first2=Shu|title=Channel Codes: Classical and Modern|url=http://books.google.com/books?id=0gwqxBU_t-QC&pg=PA320|accessdate=4 June 2014|date=2009-09-17|publisher=Cambridge University Press|isbn=9781139483018|pages=320–}}</ref> Data to be transmitted over a noisy channel may first be encoded using an SCCC. Upon reception, the coding may be use to remove any errors introduced during transmission. The decoding is performed by repeated decoding and [de]interleaving of the received symbols.
{{Orphan|date=June 2014}}
 
SCCCs typically include an [[inner code]], an [[outer code]], and a linking interleaver. A distinguishing feature of SCCCs is the use of a recursive [[convolutional code]] as the inner code. The recursive inner code provides the 'interleaver gain' for the SCCC, which is the source of the excellent performance of these codes.
 
The analysis of SCCCs was spawned in part by the earlier discovery of [[turbo codes]] in 1993. This analysis of SCCC's took place in the 1990's1990s in a series of publications from NASA's [[Jet Propulsion Laboratory]] (JPL). The research offered SCCC's as a form of turbo-like serial concatenated codes that 1) were iteratively ('turbo') decodable with reasonable [[complexity]], and 2) gave error correction performance comparable with the turbo codes.
'''Serial concatenated convolutional codes (SCCC)''' are a class of [[forward error correction]] (FEC) codes highly suitable for [[Turbo code|turbo]] (iterative) decoding.<ref name="Minoli2008">{{cite book|last=Minoli|first=Daniel|title=Satellite Systems Engineering in an IPv6 Environment|url=http://books.google.com/books?id=4yJi1UQDPp8C&pg=PA152|accessdate=4 June 2014|date=2008-12-18|publisher=CRC Press|isbn=9781420078695|pages=152–}}</ref><ref name="RyanLin2009">{{cite book|last1=Ryan|first1=William|last2=Lin|first2=Shu|title=Channel Codes: Classical and Modern|url=http://books.google.com/books?id=0gwqxBU_t-QC&pg=PA320|accessdate=4 June 2014|date=2009-09-17|publisher=Cambridge University Press|isbn=9781139483018|pages=320–}}</ref> Data to be transmitted over a noisy channel may first be encoded using an SCCC. Upon reception, the coding may be use to remove any errors introduced during transmission. The decoding is performed by repeated decoding and [de]interleaving of the received symbols.
 
SCCCs typically include an [[inner code]], an [[outer code]], and a linking interleaver. A distinguishing feature of SCCCs is the use of a recursive [[convolutional code]] as the inner code. The recursive inner code provides the 'interleaver gain' for the SCCC, which is the source of the excellent performance of these codes.
 
The analysis of SCCCs was spawned in part by the earlier discovery of [[turbo codes]] in 1993. This analysis of SCCC's took place in the 1990's in a series of publications from NASA's [[Jet Propulsion Laboratory]] (JPL). The research offered SCCC's as a form of turbo-like serial concatenated codes that 1) were iteratively ('turbo') decodable with reasonable [[complexity]], and 2) gave error correction performance comparable with the turbo codes.
 
Prior forms of [[Concatenated error correction code|serial concatenated codes]] typically did not use recursive inner codes. Additionally, the constituent codes used in prior forms of serial concatenated codes were generally too complex for reasonable soft-in-soft-out ([[Soft-in soft-out decoder|SISO]]) decoding. SISO decoding is considered essential for turbo decoding.
Line 13 ⟶ 10:
 
US patent 6,023,783 covers some forms of SCCCs. This patent will expire on May 15, 2016.<ref>{{cite web|url=https://www.google.com/patents/US6023783 |title=Patent US6023783 - Hybrid concatenated codes and iterative decoding - Google Patents |publisher=Google.com |date= |accessdate=2014-06-04}}</ref>
 
== History ==
 
Serial concatenated convolutional codes were first analyzed with a view toward turbo decoding in "Serial Concatenation of Interleaved Codes: Performance Analysis, Design, and Iterative Decoding" by S. Benedetto, D. Divsalar, G. Montorsi and F. Pollara.<ref>http://www.systems.caltech.edu/EE/Courses/EE127/EE127C/handout/serial.pdf</ref> This analysis yielded a set of observations for designing high performance, turbo decodable serial concatenated codes that resembled [[turbo codes]]. One of these observations was that the "the use of a recursive convolutional inner encoder always yields an interleaver gain."{{What?Clarify|date=June 2014}} This is in contrast to the use of block codes or non-recursive convolutional codes, which do not provide comparable interleaver gain.
 
Additional analysis of SCCCs was done in "Coding Theorems for 'Turbo-Like' Codes" by D. Divsalar, Hui Jin, and Robert J. McEliece.<ref>{{cite web|url=http://www.mif.vu.lt/~skersys/vsd/turbo/Allerton98.pdf |title=Allerton98.tex |format=PDF |date= |accessdate=2014-06-04}}</ref> This paper analyzed repeat-accumulate (RA) codes which are the serial concatenation of an inner two-state recursive convolutional code (also called an 'accumulator' or parity-check code) with a simple repeat code as the outer code, with both codes linked by an interleaver. The performance of the RA codes is quite good considering the simplicity of the constituent codes themselves.
Line 25 ⟶ 23:
Fig 1 is an example of a SCCC.
 
[[File:SCCC_EncoderSCCC Encoder.png|thumb|none|500px|Fig. 1. SCCC Encoder]]
 
The example encoder is composed of a 16-state outer convolutional code and a 2-state inner convolutional code linked by an interleaver. The natural code rate of the configuration shown is 1/4, however, the inner and/or outer codes may be punctured to achieve higher codes rates as needed. For example, an overall code rate of 1/2 may be achieved by puncturing the outer convolutional code to rate 3/4 and the inner convolutional code to rate 2/3.
 
A recursive inner convolutional code is preferable for turbo decoding of the SCCC. The inner code may be punctured to a rate as high as 1/1 with reasonable performance.
Line 35 ⟶ 33:
An example of an interative SCCC decoder.
 
[[File:SCCC_DecoderSCCC Decoder.png|thumb|none|500px|Fig. 2. SCCC Decoder]]
 
The SCCC decoder includes two soft-in-soft-out (SISO) decoders and an interleaver. While shown as separate units, the two SISO decoders may share all or part of their circuitry. The SISO decoding may be done is serial or parallel fashion, or some combination thereof. The SISO decoding is typically done using [[Maximum a posteriori]] (MAP) decoders using the [[BCJR]] algorithm.
Line 59 ⟶ 57:
 
== External links ==
 
*[http://www.scholarpedia.org/article/Concatenated_codes "Concatenated codes", Scholarpedia]
 
*[http://www.mif.vu.lt/~skersys/vsd/turbo/ryan_chapter.pdf "Concatenated Convolutional Codes and Iterative Decoding", Willian E. Ryan]
 
<!-- Just press the "Save page" button below without changing anything! Doing so will submit your article submission for review. Once you have saved this page you will find a new yellow 'Review waiting' box at the bottom of your submission page. If you have submitted your page previously, either the old pink 'Submission declined' template or the old grey 'Draft' template will still appear at the top of your submission page, but you should ignore it. Again, please don't change anything in this text box. Just press the "Save page" button below. -->
 
 
[[Category:Data]]