Fouten verbeterende codes( deel 2)

In een vorig artikel bespraken we Hamming-codes. De Hamming (7,4) code codeert een 4-bits boodschap p_1p_2p_3p_4 naar een 7-bits codewoord p_1p_2p_3p_4p_5p_6p_7, door drie even pariteitsbits toe te voegen:

    \[p_5=p_1+p_2+p_4\]

    \[p_6=p_1+p_3+p_4\]

    \[p_7=p_2+p_3+p_4\]

De vergelijkingen dienen modulo 2 bekeken te worden.

Dit zijn de 16 mogelijke codewoorden. Om 0100 te zenden, stuur je het codewoord 0100101 door. Als er 1 transmissiefout op zit en je ontvangt 0101101, dan kan de ontvanger de fout vinden door het dichts bijzijnde codewoord te gebruiken. Inderdaad, 0100101 is het enige codewoord dat in slechts 1 positie verschilt van 0101101.

Neem nu even de eerste zes bits van een codewoord  en verdeel ze als p_1p_2,p_3p_4 en p_5p_6. Gebruik nu het eindige veld met 4 elementen, gedefinieerd door volgende bewerkingen:

Neem nu terug  het codewoord 0100101. De punten (1,p_1p_2)=(1,1), (2,p_3p_4)=(2,0) en (3,p_5p_6)=(3,2) blijken alle drie op de rechte y=2x+3 te  liggen. Reken na met bovenstaande bewerkingstabellen. Deze eigenschap kan gebruikt worden bij het decoderen. Veronderstel dat het ontvangen  codewoord 0101101 is. Met de zes eerste bits vormen we, zoals hierboven beschreven drie punten A(1,1),B(2,1) en C(3,1). De rechte door A en B bevat C niet.Omdat de Hamming code 1 fout kan detecteren, veronderstellen we dat 1 van de punten fout is. De oorspronkelijke rechte is dus ofwel AB:y=1, AC:y=2x+3 of BC:y=3x. Dan zouden de zes eerste bits van het originele codewoord 010101,010010 of 110110 moeten zijn. Onder deze drie mogelijkheden voldoet enkel 010010 aan p_7=p_2+p_3+p_4 mod 2. Bijgevolg decoderen we de ontvangen boodschap 0101101 als 0100101 en was de oorspronkelijke boodschap 0100.

Deze proceduren lijkt erg complex. Ze kan echter veralgemeend worden om meer fouten verbeterende codes te construeren, door gebruik te maken van veeltermen in plaats van rechten.

Het idee om dergelijke veetermen te gebruiken werd het eerst naar voren gebracht door Reed en Solomon in 1960.