Reed-Muller-code

(Doorverwezen vanaf Reed-Mullercode)

Een Reed-Muller-code is een lineaire foutcorrigerende code, die gebruikt wordt bij draadloze communicatie, in het bijzonder in communicatie in de ruimte.[1] Bovendien steunt 5G op de nauw verwante polaire codes.[2]

Reed-Mullercodes zijn een generalisatie van Reed-Solomoncodes en Walsh-Hadamardcodes. Traditioneel gebruikt met Reed-Mullercodes als binaire codes, wat betekent dat de boodschappen en codewoorden binaire tekenreeksen zijn. De codes zijn vernoemd naar David E. Muller, een Amerikaanse wiskundige en computerwetenschapper, die de codes in 1954 ontdekte[3] en naar Irving S. Reed, een Amerikaanse wiskundige, die het eerste efficiënte decodeeralgoritme voor de codes voorstelde.[4]

Constructie bewerken

Er bestaan verschillende equivalente manieren om Reed-Mullercodes te beschrijven. Hier wordt gebruik gemaakt van de methode met generatormatrix. Een andere manier is via veeltermen. De generator-matrix van een Reed-Muller-code met lengte  wordt opgebouwd als volgt. Beschouw eerst de vectorruimte met dimensie d over het eindig lichaam  . Deze vectorruimte bevat   elementen.

 

We definiëren nu in de n-dimensionale ruimte over   de 'indicator-vectoren':

 

op deelverzamelingen   door:

 

en we definiëren in   de volgende binaire bewerking 'puntproduct':

 


  is een  -dimensionale vectorruimte over  , en is dus te schrijven als

 

We definiëren nu de volgende vectoren ter lengte   en

 

waarbij   hypervlakken in   zijn (van dimensie  ):

 

De Reed-Muller RM(d,r)-code van de orde   en lengte   is de lineaire code die wordt gegenereerd door  en de puntproducten tot en met   van de vectoren  .

Voorbeeld 1 bewerken

Zij  . Dan is derhalve   en

 ,

en

 

De RM(3,1)-code wordt gegenereerd door de verzameling

 

of, meer expliciet geformuleerd, door de rijen van de matrix:

 

De dimensie van de code is 4, dus de code bestaat uit 16 codewoorden.

Voorbeeld 2 bewerken

De RM(3,2)-code wordt gegenereerd door de verzameling

 

ofwel door de volgende matrix:

 

Eigenschappen bewerken

Volgende eigenschappen gelden voor Reed-Mullercodes:

  1. De verzameling van alle mogelijke puntproducten tot en met   van de vectoren   vormt een basis van  .
  2. De RM(d,r)-code heeft dimensie  .
  3. Er geldt RM(d,r) = RM(d-1,r) | RM(d-1,r-1) waarbij '|' voor twee lineaire codes   is gedefinieerd als  .
  4. RM(d,r) heeft minimale Hammingafstand  .