Miniprojekt 3: Fejlkorligerende køder Fejlkorrigerende koder



Relaterede dokumenter
Fejlkorligerende køder Fejlkorrigerende koder

Secret Sharing. Olav Geil Institut for Matematiske Fag Aalborg Universitet URL: olav.

Oversigt [LA] 6, 7, 8

DesignMat Egenværdier og Egenvektorer

Funktionalligninger - løsningsstrategier og opgaver

Fejlkorligerende køder Fejlkorrigerende koder

Om hvordan Google ordner websider

Løsning af præmie- og ekstraopgave

LinAlg Skriftlig prøve 20. januar 2009, 9 12 Vejledende besvarelse

Afstand fra et punkt til en linje

Differentiation af Logaritmer

Fejlkorligerende køder Fejlkorrigerende koder

Forslag til løsning af Opgaver til ligningsløsning (side172)

Ligninger med reelle løsninger

Arealer under grafer

Manual til TI-89. Af: Martin Kyhl og Andreas Kristansen. Med denne i hånden til eksamen burde de fleste opgaver kunne løses på få minutter.

Analyse 1, Prøve juni r+1. Men vi har øjensynligt, at 2. r r+1

Grafteori, Kirsten Rosenkilde, september Grafteori

DesignMat Uge 11 Vektorrum

Moderne kryptografi. Olav Geil Institut for Matematiske Fag Aalborg Universitet. Elektronik og IT-Gruppen 24. april 2008

Oversigt [LA] 3, 4, 5

Projekt 4.8. Kerners henfald (Excel)

Afstandsformlerne i Rummet

TALTEORI Wilsons sætning og Euler-Fermats sætning.

Læsevejledning til resultater på regionsplan

Login til den digitale ansøgningsportal

DM02 opgaver ugeseddel 2

Tal, funktioner og grænseværdi

LUP læsevejledning til regionsrapporter

Temaopgave: Parameterkurver Form: 6 timer med vejledning Januar 2010

Inverse funktioner. John V Petersen

TALTEORI Wilsons sætning og Euler-Fermats sætning.

TALTEORI Primfaktoropløsning og divisorer.

Projekt 10.1 Er der huller i Euklids argumentation? Et moderne aksiomsystem (især for A)

Induktion: fra naturlige tal til generaliseret skønhed Dan Saattrup Nielsen

Frank Villa. 15. juni 2012

Polynomier et introforløb til TII

Oversigt [LA] 6, 7, 8

Opgave 1 Alle tallene er reelle tal, så opgaven er at finde den mindste talmængde, som resultaterne tilhører.

Inverse funktioner og Sektioner

1. Send Digitalt knappen anvendes til at afsende meddelelsen til de valgte modtagere. (Alt- S)

Statistik med GeoGebra

Variabel- sammenhænge

AU-HR Sharepoint Vejledning Medarbejder indplacering

Vejledning til Photofiltre nr.129 Side 1

Manual til skinnelayoutprogram

Picasa Web. En ressource i SkoleIntra. Version: August 2012

Kort og godt om NemID. En ny og sikker adgang til det digitale Danmark

Indhold. Vigtige pointer. Hvordan ser en god jobannonce ud? Gode råd til teksten

Bedre vilkår for at fastholde ældre medarbejdere og for at ansætte pensionister

VEJLEDNING SPAMFILTERET. 1. Udgave, august 2015 Tilpasset FirstClass version 12.1, Dansk

Ansøgervejledning for elever i 9. kl. Brugervejledning til Optagelse.dk

Når mor eller far er ulykkesskadet. når mor eller far er ulykkesskadet

Funktioner af flere variable

Finde invers funktion til en 2-gradsfunktion - ved parallelforskydning. John V Petersen

UANMODEDE HENVENDELSER (SPAM)

Privatansatte mænd bliver desuden noget hurtigere chef end kvinderne og forholdsvis flere ender i en chefstilling.

Clublog Dansk vejledning af OZ0J Version 1.0 opdateret juli Forord. Denne vejledning indeholder opstart og løbende brug af Clublog.

Vejledning om mulighederne for genoptagelse efter såvel lovbestemte som ulovbestemte regler. 10. april 2013

Lineær Algebra, kursusgang

Velkommen til 2. omgang af IT for let øvede

Besvarelser til Lineær Algebra Reeksamen August 2016

Lineær algebra 1. kursusgang

Matematisk modellering og numeriske metoder. Lektion 18

Module 2: Beskrivende Statistik

Det er altså muligt at dele lige på to kvalitativt forskellige måder: Deling uden forståelse af helheden Deling med forståelse af helheden

Samrådsspørgsmål R: Hvordan mener ministeren, at den nye akuttelefon-ordning i Region Hovedstaden påvirker tilliden til det danske sundhedsvæsen?

Sådan benytter du HOTLINEs ServiceDesk (SD)

Årsafslutning i SummaSummarum 4

Arbejdsmiljøgruppens problemløsning

Forslag til løsning af Opgaver til analytisk geometri (side 338)

Bilag 1b Vejledning til udfyldelse af ESPD

Spørgeskema på HVAL.DK

Spillebeskrivelse. spillehallen.dk

Potens & Kvadratrod. Navn: Klasse: Matematik Opgave Kompendium. Opgaver: 22 Ekstra: 4 Point: Matematik / Potens & Kvadratrod

Matematik Eksamensprojekt

Ledelsestilsyn/Anvisning

Manual til de lokale webredaktører

Statistikkompendium. Statistik

Borgerrådgiverens hovedopgave er først og fremmest dialog med borgerne i konkrete sager en mediatorrolle, hvor det handler om at:

HåndOffice Foreningsdata

Dokumentation. Udbyder : sms1919.dk Service : sms-dialog Version : v1.01

9.1 Egenværdier og egenvektorer

VIA læreruddannelsen Silkeborg. WordMat kompendium

UNI Login brugeradministration. - fra Lectio til UNI Login

Artikel til digst.dk om offentlige myndigheders særlige vejledningspligt ifm. kanalskifte til Digital Post

Gode råd om læsning i 3. klasse på Løjtegårdsskolen

Få mere synlighed! Vejledningshæfte

EKSEMPEL PÅ INTERVIEWGUIDE

Psykisk arbejdsmiljø og stress blandt medlemmerne af FOA

Inspektion af Statsfængslet i Ringe den 15. maj 2012

Den bedste dåse, en optimeringsopgave

Redegørelse for kvalitets- og tilsynsbesøg Hjemmepleje 2014

Adgang til MobilePay Business-modulet Vælg pakke

EPOS PORTAL VEDLIGEHOLD PORTAL-FORSIDE

Underrum - generaliserede linjer og planer

Sikkerhedsstillelse ved overførsel af affald i EU-området (ikke-midlertidig-behandling)

Service i rengøring. Service i rengøring. Daglig erhvervsrengøring

Guide: Sådan søger du om folkepension

Ansøgning om hjælpemidler, forbrugsgode og boligindretning i henhold til Servicelovens 112, 113 og 116.

Transkript:

Miniprojekt 3: Fejlkorligerende køder Fejlkorrigerende koder Denne note er skrevet med udgangspunkt i [, p 24-243, 249] Et videre studium kan eksempelvis tage udgangspunkt i [2] Eventuelle kommentarer kan sendes til olav@mathaaudk I kurset Lineær Algebra arbejder vi normalt med matricer, hvor elementerne er reelle tal Denne note behandler tilfældet, hvor elementerne i matricerne er tal i talstrukturen Z 2 = {, } Regnereglerne i Z 2 er som følger: + Bemærk, at + = = Derfor er plus og minus det samme i Z 2 Eksempel Betragt vektorene u = v = i Z 4 2 Vi har u v = + + + = + + + = + = I Matlab udregnes prikproduktet sådan her: >> u=[ ], v=[ ] u = v = >> mod(u*transpose(v),2) ans = De fleste resultater, I kender for matricer over R, gælder også for matricer over Z 2 Men ikke alle

Opgave Udregn ved hjælp af Matlab u u og v v i Z 2 Kan du få øje på et fænomen, som aldrig ville finde sted, hvis du havde regnet med reelle tal? Betragt situationen, hvor vi vil kommunikere over en støjfyldt kanal (tænk på et langt ikke-afskærmet datakabel) Vi ønsker at sende en følge af er og er svarende til indholdet af en fil At kanalen er støjfyldt betyder, at nogle af erne bliver lavet om til er, inden de når frem til modtageren Tilsvarende bliver nogle af erne lavet om til er En simpel måde, hvorpå vi kan beskytte vores datatransmission, er hvis afsenderen sender tre kopier af hvert enkelt binært symbol Istedet for sendes altså, og istedet for sendes De tilsvarende vektorer, kaldes kodeord Antag nu, at modtageren i den anden ende af informationskanalen modtager Denne vil nu regne med, at der nok er sket fejl i tredie position, hvorfor den sendte besked antages at være Tilsvarende vil man dekode til, og dermed vil man antage, at den sendte besked er Bemærk, at vi kan rette én fejl, men ikke to eller tre Lad os bringe ovenstående på matrix form Beskederne og identificeres med vektorerne [] og [], og som nævnt ovenfor skrives kodeordene som søjlevektorer af længde 3 Mængden af kodeord kaldes en kode Indkodningen ovenfor af beskeder til kodeord svarer til den lineær transformation T : Z 2 Z 3 2 som repræsenteres af matricen G = Altså er indkodningen givet ved G m, hvor m tilhører Z 2 = {, } Matricen G kaldes en generatormatrix Opgave 2 Indkod i Matlab beskeden Altså udregn G m Husk, Matlabkoden for m er 2

>> m=[] m = Hvis vi vil tjekke, om c = c c 2 c 3 Z 3 2 er et kodeord, skal vi undersøge, om alle tre komponenter er ens Dette svarer til at tjekke, om { c = c 2 c = c 3 holder, hvilket er det samme som at tjekke, om { c + c 2 = c + c 3 = holder (husk + og er det samme), hvilket igen er det samme som at tjekke om [ ] c [ ] c 2 = c 3 holder Matricen H = kaldes for en paritetstjekmatrix [ Opgave 3 Lad u = [ ] T og v = [ ] T Udregn i Matlab H u og H v og konkluder hvilket af ordene, der er et kodeord Da c = [c, c 2, c 3 ] T altså er et kodeord præcis hvis H c =, ja da er koden simpelthen nulrummet af H Eksempel 2 Koden {[ ] T, [ ] T } har dimension Fra SIF side 47 øverst plus SIF side 255 nederst har vi følgende resultat Givet en matrix, da er dimensionen af nulrummet lig med antallet af pivot-frie søjler Da koden er nulrummet af H, så må H altså have præcis en pivot-fri søjle Dette tjekkes med Matlabkommandoerne: ] 3

>> H=[ ; ] H = >> H(2,:)=mod(H(2,:)-H(,:),2) H = Antag, at c = [ ] T er afsendt, men at r = [ ] T er modtaget Vi har r = c+ e, hvor e = [] T er fejlvektoren I stedet for den tidligere beskrevne dekodningsmetode (den, hvor vi ser hvilket symbol eller, der forekommer flest gange) dekoder vi nu vha paritetstjekmatricen Det vil hjælpe os til at demonstrere et snedigt generelt princip Vi udregner H r = [ ] = [ ] () Da dette er forskelligt fra [ ] T, er der sket fejl Bemærk, at H r = H( c + e), hvor e er fejlvektoren beskrevet ovenfor Men H c =, og derfor har vi H e = H r = [ ] T Læg mærke til, at hver ikke-nul vektor i Z 2 2 forekommer præcis én gang som søjle i H, samt at højre side af () svarer til anden søjle i H Vi konkluderer, at hvis der kun er sket én fejl, da er det i position 2 Altså e = [ ] T, og dermed c = r e = = Den afsendte besked er altså lig Opgave 4 Du modtager r = [ ] T Udregn i Matlab H r Brug metoden ovenfor til at rette fejl Gentag med r = [ ] T Vi genereliserer nu ovenstående konstruktion af koder 4

Definition Et k-dimensionalt underrum af Z n 2 kaldes en [n, k]-kode Givet en [n, k]-kode C, da kaldes en n k matrix G for en en tilhørende generatormatrix, når søjlerne i G er en basis for C Tilsvarende kaldes en (n k) n matrix H for en paritetstjekmatrix for C, når C er nulrummet hørende til H En [n, k]-kode kan altså bruges til at indkode beskeder af længde k besked m Z k 2 identificeres med et kodeord c Zn 2 ved c = G m En Definition 2 Lad k < n En [n, k] kode kaldes systematisk, hvis den har en generatormatrix af formen [ ] Ik G = A (Her er A selvfølgelig en (n k) k matrix) Bemærkning Givet et kodeord i en systematisk kode, da optræder den indkodede besked som de første k komponenter Opgave 5 Indtast i Matlab en binær 7 3 matrix G som i Definition 2 Indkod forskellige beskeder (af længde 3) og tjek at Bemærkning holder Husk, mod kommandoen Sætning Lad C være en systematisk [n, k]-kode med generatormatrix G = [ Ik A Så er H = [A I n k ] en paritetstjekmatrix for C (dvs c C, hvis og kun hvis H c = ) Bevis: Lad c C være et vilkårligt kodeord, dvs c er af formen c = G m Men så er [ ] Ik H c = HG m = [A I n k ] m A ] = (A + A) m = O m = Vi har nu vist, at C er indeholdt i nulrummet hørende til H Men såvel nulrummet hørende til H som C har dimension k, så C må være lig med nulrummet 5

Eksempel 3 Koden med paritetstjekmatrix H = = kaldes en binær Hammingkode systematisk med generatormatrix G = = [A I 3 ] Ifølge Definition 2 og Sætning er den [ I4 A Der er således tale om en [7, 4]-kode Bemærk, at søjlerne i H består af samtlige ikke-nul vektorer Hver af disse forekommer præcis én gang Beskeden m = [ ] T indkodes nu til = Der sker nu fejl under transmissionen, således modtages r = Modtageren kender ej det afsendte ord, men leder efter c C, således at der gælder r = c + e, hvor e kun har én ikke-nul komponent Der regnes H r = = 6 ]

Bemærk, at H c = (jævnfør definitionen af H), og derfor har vi H r = H( c + e) = H e Hvis der kun er én ikke-nul komponent i e, da må det være den femte, da [ ] T er den femte søjle i H Modtageren dekoder derfor korrekt til c = r + e = + = Vi har i Eksempel 3 argumenteret for, at man kan bruge følgende dekodningsalgoritme for Hammingkoden: Modtageren udregner H r 2 Hvis H r =, da konkluderes det, at der nok ikke er sket fejl 3 Hvis H r, da undersøges hvilket søjlenummer j, som svarer hertil Fejlen antages at være sket i position j, og der dekodes i overensstemmelse hermed Opgave 6 Betragt den binære Hammingkode i Eksempel 3 Indkod ved hjælp af Matlab beskeden m = [ ] T Opgave 7 Betragt den binære Hammingkode i Eksempel 3 Du modtager ordet r = [ ] T Benyt Matlab og metoden beskrevet i eksemplet til at dekode Opgave 8 Betragt den binære Hammingkode fra Eksempel 3 Bring ved hjælp af rækkeoperationer H på række-echelonform (trappeform) Find antal pivotfrie søjler og bestem dimensionen af koden Udover kommandoerne fra Eksempel får du muligvis brug for noget i stil med følgende kommando, som bytter om på række og række 3: >> H([ 3],:)=H([3 ],:) References [] David Poole, Linear Algebra - A Modern Introduction, Sec ed, Thomson, 26 7

[2] J Justesen og T Høholdt, A Course In Error-Correcting Codes, European Mathematical Society, Textbooks in Mathematics, 24 8