Lineær kode

I kodningsteorien, en lineær kode er en speciel blok kode , hvor kodeordene er elementer af en finite-dimensionalt vektorrum over en finit felt . En kode er lineær, hvis og kun hvis den er et underrum af .

Lineære koder har den fordel, at metoder til lineær algebra kan anvendes. De er derfor lette at kode og afkode. De fleste af de vigtige koder er lineære: Hamming-kode , paritetskontrolkode med lav densitet , Reed-Muller-kode , Hadamard-kode , alle cykliske koder (inklusive BCH , Reed-Solomon-koder , Golay-koder og Goppa Koder ).

Er vektorrumdimensionen for den lineære kode er lig , kaldes den en kode eller en Hamming-afstand på lige kode .

egenskaber

Da er et underrum af , er der et grundlag for . Hvis du sammenfatter dette grundlag i en matrix

sammen opnår man en producentmatrix . Koden har også en kontrolmatrix . Det gælder for dem, hvis og kun hvis der er et kodeord. Den rang af sige , der er af . Den Hammingafstand af er det mindste antal af lineært afhængige søjler i kontrolgruppen matrix.

Den Hamming vægt af et kodeord er lig med antallet af dem, der er forskellig fra nul. F.eks. Har kodeordet en Hamming-vægt på 4. Hamming-afstanden for koden er lig med den mindste Hamming-vægt af alle kodeord undtagen nul-ordet.

Hvis kodeordens individuelle koordinater er permuteret, opnås en såkaldt ækvivalent kode . Med dette og ved hjælp af lineær algebra kan man finde en ækvivalent for hver lineær kode, som har en generatormatrix af formen . Hvor er den - identitet matrix , og er en - matrix. Derefter kaldes det producentmatrix i reduceret form. De første koordinater kan fortolkes som informationssymboler og de sidste som kontrolsymboler. Er en generatormatrix i reduceret form, kan en kontrolmatrix findes med det samme . En lineær kode er allerede bestemt af dens generatormatrix eller dens kontrolmatrix.

eksempel

Den binære - Hamming-kode har følgende generatormatrix i reduceret form og den tilhørende kontrolmatrix:

   
   

Kodning

Et ord fra rummet kodes ved at danne produktet . Kodningen af ​​ordet med - Hamming-koden illustreret eksempel, følgende udsagn.

Da tilføjelsen finder sted herinde, gælder følgende

Afkodning

Med afkodningen kaldes tilknytning en modtaget, muligvis defekt inputvektor  til en kodevektor  . Afkodningen er ikke den omvendte funktion af kodningen, som tildeler en vektor til en kodevektor .

Som en dekodningsmetode, der er i kodningsteorien, anvendes mest maksimal sandsynlighed (engelsk: maksimum sandsynlighed afkodning ). En modtaget vektor afkodes i kodevektoren , som sandsynligvis er identisk med den kodevektor  , der  faktisk sendes  . Den vektor, som de færreste steder (fejl) skal rettes for, antages ofte at være den mest sandsynlige. I matematiske termer betyder det at kigge efter  kodevektoren med den mindste Hamming-afstand til den modtagne vektor  . Denne sag er også en metode til henholdsvis nærmeste naboer (engelsk: nærmeste nabo-afkodning ). Ved at kende typen af ​​data, der sendes, eller den kanal, der anvendes, kan anden information bruges til at bestemme sandsynligheden for visse kodevektorer.

Lad det være den (kode) vektor, der faktisk er sendt og den modtagne vektor. Afkodningen ser efter den kodevektor eller de vektorer, der sandsynligvis blev sendt fra alle kodevektorer .

Med den nærmeste nabo afkodning :

Det skal bemærkes, at denne tildeling ikke er unik for de fleste koder for alle fejlvektorer. Der er så nogle fejlvektorer, der ikke kan tildeles, fordi de har mere end en nærmeste nabo. Hvis en unik afkodning er mulig for hver fejlvektor, kaldes koden perfekt .

Afkodning af syndrom

En mere effektiv fremgangsmåde til dekodning er såkaldt syndrom dekodning . Den syndromet en vektor opnås ved at multiplicere kontrol matrix  med .

Lad det være fejlvektoren for . I er netop disse koordinater ikke lig med nul, for hvilke der opstod fejl under overførslen.

På grund af kodens linearitet gælder følgende for syndromet :

Da syndromet med fejlfri kodevektorer altid er nul, følger det:

Alle (forkerte) ord med den samme fejlvektor er i det samme affine underrum , dvs. syndromet er konstant for sådanne ord .

Alle vektorer, der er dukket fra fastlåste vektor ved at subtrahere enhver kodevektor danne et datterselskab klasse af den undergruppe af . Vektoren med den mindste vægt i denne klasse kaldes leder af den sekundære klasse (engelsk: coset leader ). Dette er grunden til, at udtrykket "coset leader decoding" også er udbredt.

For at afkode ser man efter fejlvektoren,  hvis syndrom er identisk med syndromet, og hvis Hamming-vægt er minimal. Denne fejlvektor bruges til at beregne den nærmeste  kodevektor . Så du kan oprette en tabel med op til rækker, der indeholder den tilsvarende fejlvektor med minimal Hamming-vægt for hvert syndrom i en modtaget vektor. Hvis syndromet er lig med 0, behøver intet at blive korrigeret, ellers er afkodning begrænset til at slå fejlvektoren i denne tabel op og rette de opdagede fejl på denne måde.

Fortolket forskelligt er de sekundære klasser nøjagtigt ækvivalensklasser i ækvivalensrelationen.Lederne er repræsentanter for ækvivalensklasser; man vælger en med en minimal Hamming-vægt. Perfekte koder er kendetegnet ved, at lederne er tydeligt etablerede.

Afkodningen af ​​lineære koder er generelt NP-komplet , dvs. der kendes ingen algoritmer med en polynomisk kørselstid. De kendte lineære koder, for eksempel Hamming-koder, skelnes ved, at effektive afkodningsalgoritmer er kendt for dem. Kompleksiteten ved lineær afkodning er grundlaget for McEliece-kryptosystemet , der betragtes som sikkert, men hidtil sjældent er blevet brugt på grund af dets forholdsvis lange nøgler.

eksempel

Vil du afkode Hamming-kode (ovenfra), kommer vi ud fra den antagelse, at kun - Bit- fejl opstår. De mulige fejlvektorer er derefter

Syndromet beregnes nu for hver af disse fejlvektorer . Dette resulterer i

Hvis det forkerte ord derefter modtages, så resultater . Dette resulterer i fejlvektoren og dekodes således . Ordet med almindelig tekst er så .

Eksempel med ufuldstændig afkodning

Den ternære ( ) gentagelseskode af længde 3 er givet:

   

Hver to kolonner er lineært uafhængige, mens alle tre er lineært afhængige. Kodens mindste Hamming-afstand beregnes som det mindste antal lineært afhængige søjler i 3. Dette betyder, at højst en tegnfejl kan rettes. Syndromtabellen ser sådan ud:

Ved at bruge lineariteter kunne antallet af rækker halveres, men så skal du teste, om der er et lineært afhængigt syndrom i tabellen.

Overvej nu , . Når syndromet er , korrektionen er: . Beregningen af syndromet af resultater: . Denne værdi er ikke i syndrometabellen, så ordet kan ikke rettes.

Ansøgning

Kodningen og afkodningen, som beskrevet ovenfor, er relativt kompleks. Under kodningen skal generatormatrixen opbevares i hukommelsen, hvilket er problematisk i systemer med begrænsede ressourcer (f.eks. Mobile enheder eller rumsonder). Der kræves en stor tabel til afkodning afhængigt af korrektionshastigheden; hukommelsesforbruget er tilsvarende stort. Af denne grund bruges yderligere egenskaber for koden for at kode og afkode dem effektivt. Binære cykliske koder kan implementeres meget let ved hjælp af skiftregistre og eksklusive-eller porte , for eksempel .

Dobbelt kode

For hver (lineær) kode er der en dobbelt kode (eller også dobbelt kode) , som i sig selv er en lineær kode. Kodeordene i den dobbelte kode er alle ord, der er dobbelte med kodeordene :

Et indre produkt defineres for dette:

som kortlægger vektorerne som følger:

På trods af den samme definition er dette ikke et skalarprodukt, fordi denne bilineære form ikke er positiv . På grund af egenskaberne ved begrænsede felter er der for det meste vektorer, der ikke er lig nulvektoren, og for hvilke det indre produkt er 0. Tænk for eksempel på den binære vektor .

Ved hjælp af denne definition resulterer den dobbelte kode som:

En generatormatrix af den dobbelte kode er en kontrolmatrix for kildekoden og omvendt.

Den dobbelte kode spiller en vigtig rolle i analysen af ​​kodernes egenskaber.

De såkaldte selv-dobbelte koder er et specielt tilfælde. Dette er koder, der er identiske med deres dobbelte kode. Af dimensionelle grunde har disse altid dimensionen . Det vigtigste eksempel på en selv-dobbelt kode er den udvidede Hamming-kode, hvor den binære [7,4,3] Hamming-kode udvides med en paritetsbit til lige paritet:

litteratur

Individuelle beviser

  1. ^ ER Berlekamp, ​​RJ McEliece, HCA von Tilburg: Om den iboende ulastelighed af visse kodningsproblemer . I: IEEE-transaktioner om informationsteori 24 . 1978.