Convolutional code: Difference between revisions

Content deleted Content added
mNo edit summary
Line 5:
 
===Decoding Convolusional Codes===
Several [[algorithm]]s exist for decoding convolutional codes. For relatively small values of <i>k</i>, the [[Viterbi algorithm]] is universally used as it provides [[maximum likelihood]] performance and is highly parallelizable. Viterbi decoders are thus easy to implement in [[VLSI]] hardware and in software on CPUs with [[SIMD]] instruction sets.

===Popular Convolusional Codes===
An especially popular Viterbi-decoded convolutional code, used at least since the [[Voyager program]] has a constraint length <i>k</i> of 7 and a rate <i>r</i> of 1/2.

* Longer constraint lengths produce more powerful codes, but the [[complexity]] of the Viterbi algorithm [[exponential growth|increases exponentially]] with constraint lengths, limiting these more powerful codes to deep space missions where the extra performance is easily worth the increased decoder complexity.

* [[Mars Pathfinder]], [[Mars Exploration Rover]] and the [[Cassini probe]] to Saturn use a <i>k</i> of 15 and a rate of 1/6; this code performs about 2 dB better than the simpler <i>k</i>=7 code at a cost of 256x in decoding complexity (compared to Voyager mission codes).
 
===Design Issues===