convolutiecodes
Convolutiecodes zijn een klasse foutenkorrigerende codes die data codereren met behulp van geheugen in de encoder. In de gebruikelijke opzet wordt één invoerbit per tijdstap verwerkt en ontstaan er n uitvoerbits; de coderate k/n geeft de verhouding tussen invoer- en uitvoerbits aan. De constraint length K beschrijft hoe ver terug in de tijd de huidige uitvoer nog afhankelijk is van eerdere invoerbits; bij veel systemen geldt K = m+1, waarbij m het geheugen van de encoder is. De n outputs worden bepaald door generatorpolynomen gj(D) (j = 1,...,n), waarbij D de vertragingoperator is; deze polynomen geven aan welke combinatie van de huidige en voorgaande invoerbits modulo 2 wordt uitgezonden.
Een convolutionele encoder kan worden voorgesteld als een eindige-toestandmachine met m geheugenplaatsen; elke stap verschuift het
Decoding: Voor maximale-likelihood sequence estimation wordt meestal het Viterbi-algoritme toegepast; het BCJR-algoritme kan soft-decision decoding leveren.
Historisch: De theorie en praktijk van convolutionele codes kregen een belangrijke impuls door de introductie van