Statistikk og Simulering

Økt 9. Simulering med kommunikasjonssystem

Feilrettande kodar

10.2. Feilrettande kodar

pict


Figur 3: Channel with coding.

Feilrettande kodar vert brukt for å hindra kommunikasjonsfeil, som vist i figur 3. Ein k-bits melding m vert koda som eit n-bits kodeord c. Som før vil det mottekne order r ofte vera ulik c, men fordi kodeordet har fleire bits enn meldinga (overflødige bits), vil dekodaren som regel kunne rekonstruera meldinga, trass i feil.

Her er to kodesystem som me kan testa:

Parametrane åt kodane er [n,k], der n er lengda på kodeordet (sendt på kanalen) og k er lengda på meldinga. Hamming-koden over tek altso 4 bits inn, og lagar eit 7-bits kodeord.

Oppgåve 10.2 Last ned kodaren og dekodaren for hammingkoden, og test dei i Matlab.

1.
Generer ei tilfeldig fire-bits melding m.
2.
Kod meldinga med hammingenc(m) og få kodeordet c. Korleis ser det ut?
3.
Dekod c slik at du får m̂. Er m̂ lik m eller ikkje?
4.
Lag eit kodeord med éin bitfeil, og prøv å dekoda det: 1    c1 = mod(c + [0 0 0 1 0 0 0],2) 
2    m1 = hammingdec(c1)
Samanlikn resultatet med den opprinnelege melding m. Er det korrekt dekoda?

Begge testane i øvinga skal gje eit dekoda ord lik det opprinnelege ordet m. I det fyrste tilfellet har du ingen bitfeil på kanalen, og i det andre har du éin. Hammingkoden dekodar alltid korrekt når der er høgst éin bitfeil.