Convolutional code: Difference between revisions

Content deleted Content added
Kirlf (talk | contribs)
Kirlf (talk | contribs)
Decoding convolutional codes: Too many pictures (older is removed)
Line 131:
{{see also|Viterbi algorithm}}
 
[[File:SofthardConvolutional codes PSK QAM LLR.pngsvg|thumb|right|300px|Theoretical bit-Bit error rateratio curves for uncodedconvolutional andcodes codedwith QPSK,different additiveoptions whiteof Gaussiandigital noisemodulations channel.([[Phase-shift Hardkeying|QPSK, decision8-PSK]], means[[Quadrature thatamplitude the decodermodulation|16-QAM, expects binary symbols (0's64-QAM]]) and 1's); Soft decision means that the decoder expects [[Likelihood_function#Log-likelihood|log-likelihood ratiosLLR]] Algorithms<ref>[https://www.mathworks.com/help/comm/examples/llr-vs-hard-decision-demodulation.html LLR vs. Hard Decision Demodulation (MathWorks)]</ref><ref>[https://www.mathworks.com/help/comm/ug/estimate-ber-for-hard-and-soft-decision-viterbi-decoding.html Estimate BER for Hard and Soft Decision Viterbi Decoding (MathWorks)]</ref>. (Exact<ref>[https://www.mathworks.com/help/comm/ug/digital-modulation.html#brc6yjx Digital modulation: Exact LLR Algorithm (MathWorks)]</ref> and Approximate<ref>[https://www.mathworks.com/help/comm/ug/digital-modulation.html#brc6ymu Digital modulation: Approximate LLR Algorithm (MathWorks)]</ref>) over additive white Gaussian noise channel.]]
 
[[File:Convolutional codes PSK QAM LLR.svg|thumb|right|300px| Bit error ratio curves for convolutional codes with different options of digital modulations ([[Phase-shift keying|QPSK, 8-PSK]], [[Quadrature amplitude modulation|16-QAM, 64-QAM]]) and [[Likelihood_function#Log-likelihood|LLR]] Algorithms (Exact<ref>[https://www.mathworks.com/help/comm/ug/digital-modulation.html#brc6yjx Digital modulation: Exact LLR Algorithm (MathWorks)]</ref> and Approximate<ref>[https://www.mathworks.com/help/comm/ug/digital-modulation.html#brc6ymu Digital modulation: Approximate LLR Algorithm (MathWorks)]</ref>) over additive white Gaussian noise channel.]]
 
Several [[algorithm]]s exist for decoding convolutional codes. For relatively small values of ''k'', 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.