Modulo-N-kod - Modulo-N code

Modulo-N-kod är en förlustkomprimeringsalgoritm som används för att komprimera korrelerade datakällor med modulo-aritmetik .

Kompression

När de tillämpas på två noder i ett nätverk vars data ligger nära varandra ligger Modulo-N-kod en nod (säger udda) för att skicka det kodade datavärdet som rådata ; jämn nod krävs för att skicka kodade data som . Därför namnet Modulo-N-kod.

Eftersom det är känt att för ett nummer K krävs åtminstone bitar för att representera det i binär. Så modulokodad data för de två noderna kräver helt . Som vi i allmänhet kan förvänta oss alltid, för . Detta är hur kompression uppnås.

Ett uppnått kompressionsförhållande är .

Dekompression

Vid mottagaren genom gemensam avkodning kan vi slutföra processen för att extrahera data och bygga om de ursprungliga värdena. Koden från den jämna noden rekonstrueras genom antagandet att den måste ligga nära data från den udda noden. Därför hämtar avkodningsalgoritmen jämn noddata som .

Avkodaren hittar i huvudsak den närmaste anpassningen till och det avkodade värdet deklareras som

Exempel

För en mod-8-kod har vi Encoder

D_o=43,D_e=47
M_o=43,M_e=47 mod(8) = 7,

Avkodare

 M_o=43,M_e=47 mod(8) = 7,
 D_o=43,D_e=CLOSEST(43,8⋅k + 7)
 
 D_o=43,D_e=47

Modulo-N-avkodning liknar fasuppackning och har samma begränsning: Om skillnaden från en nod till nästa är mer än N / 2 (om fasen ändras från ett prov till nästa mer än ), leder avkodning till en felaktigt värde.

Se även

  • DISCUS är en mer sofistikerad teknik för komprimering av korrelerade datakällor.
  • Delta-kodning är en relaterad algoritm som används i förlustfri komprimeringsalgoritmer utformade för korrelerade datakällor.