Serial concatenated convolutional codes: Difference between revisions

Content deleted Content added
Serial Concatenated Convolutional Codes: The lead never gets a heading
Punctuation fix - plurals don't get an apostrophe
Line 4:
 
 
'''Serial concatenated convolutional codes (SCCC)''' were analyzed in the 1990's in a series of publications from NASA's Jet Propulsion Laboratories ([[JPL]]). This research yielded 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]]. The analysis of SCCC'sSCCCs was spawned in part by the earlier discovery of [[turbo codes]] in 1993.
 
SCCC'sSCCCs typically include an inner code, an outer code, and a linking interleaver. A distinguishing feature of SCCC'sSCCCs 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.
 
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.
 
Serial concatenated convolutional codes have not found wide spread commercial use, although they were proposed for communications standards such as [[DVB-S2]]. Nonetheless, the analysis of SCCC'sSCCCs has provided insight into the performance and bounds of all types of iterative decodable codes including [[turbo codes]] and [[LDPC]] codes.
 
US patent 6,023,783 covers some forms of SCCC'sSCCCs. This patent will expire on May 15, 2016.<ref>https://www.google.com/patents/US6023783</ref>
 
== History ==
Line 19:
"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." 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 SCCC'sSCCCs was done in "Coding Theorems for 'Turbo-Like' Codes" by D. Divsalar, Hui Jin, and Robert J. McEliece.<ref>http://www.mif.vu.lt/~skersys/vsd/turbo/Allerton98.pdf</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.
 
SCCC codes were further analyzed in "Serial Turbo Trellis Coded Modulation with Rate-1 Inner Code".<ref>http://trs-new.jpl.nasa.gov/dspace/bitstream/2014/18647/1/99-2030.pdf</ref> In this paper SCCC'sSCCCs were designed for use with higher order modulation schemes. Excellent performing codes with inner and outer constituent convolutional codes of only two or four states were presented.
 
== Example Encoder ==
Line 44:
== RSC Codes ==
 
[[File:Two-state_RSC_code.png|thumb|340px|none|Img. 3. Two-state recursive systematic convolutional (RSC) code. Also called an 'accumulator.' Useful for LDPC codes and inner constituent code for serial concatenated convolutional codes (SCCC'sSCCCs).]]
 
[[File:Four-state_RSC_code.png|thumb|340px|none|Img. 4. Four-state RSC code. Useful for SCCC'sSCCCs.]]
 
[[File:Sixteen-state_RSC_code.png|thumb|340px|none|Img. 5. Sixteen-state RSC code. Useful for low error rate turbo codes for applications such as satellite links. Suitable as outer code for SCCC'sSCCCs.]]
 
== Performance ==
 
SCCC'sSCCCs provide performance comparable to other iteratively decodable codes including turbo codes and LDPC codes. They are noted for having slightly worse performance at lower SNR environments (i.e. worse waterfall region), but slightly better performance at higher SNR environments (i.e. lower error floor).
 
== See also ==