Statistikk og Simulering

Veke 6. Estimering av feilsannsyn

Estimering av feilsannsyn

6.4. Estimering av feilsannsyn

  6.4.1 Feilrettande kodar
  6.4.2 Simulator med koding
  6.4.3 Ordfeil

Denne øvinga byggjer på labøvinga frå forrige veke. Det er viktig at du gjer deg ferdig med dén, før du tek fatt på denne. Me kan byrja dagen i dag med å gjera dei siste to oppgåvene, om pdf- og cdf-funksjonane, men resten av øvinga bør du ha vore igjennom før timen i dag.

Etter økta i dag, gjenstår ei oppgåve av prosjektet, om intervalestimering. Me skal likevel gå vidare med eit nytt prosjekt neste veke, og heller avslutta dette prosjektet seinare.

Neste prosjekt er gruppearbeid med grupper på 3–4 personar; me dannar grupper i labben neste fredag, det er lov å prata saman på førehand, og so langt som råd kan de velja grupper sjølve, men der er alltid eit par personar som eg må plassera der det er plass.

6.4.1. Feilrettande kodar

pict


Figur 4: Channel with coding.

Feilrettande kodar vert brukt for å hindra kommunikasjonsfeil, som vist i figur 6.4.2. Vha. kodeteori er det mogleg å kommunisera påliteleg over svært dårlege kanalar; dvs. sjølv om bitfeilsannsynet p er neste 50%, er det mogleg å få neglisjerbar ordfeilsannsyn. Prisen ein betaler er at svært få meldingsbits, krev mange bits på kanalen.

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 6.5 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.

6.4.2. Simulator med koding

Ta fram att simulatoren frå forrige veke. I dag skal me utvida han med koding som i figur . Dvs. at me må leggja til koding mellom meldingsgeneratoren og kanalen, og dekoding mellom kanalen og samanlikninga. Dette skal me gjera to gongar; både med hammingkoden og BCH-koden.

Oppgåve 6.6 Skriv ein funksjon som simulerer m forsøk med hammingkoden på BSC, og som tel antall bitfeil X. Funksjonen må ta p (bitfeilsannsynet) som innparameter og returnera ein observasjon av X. (Hugs at meldinga alltid er k = 4 bits med hammingkoden.) Simuler m = 100 sendte meldingar med bitfeilsannsyn π = 0,1 og plot eit histogram for X.

Oppgåve 6.7 Simuler m = 100 ukoda meldingar med lengd n = 4 med bitfeilsannsyn π = 0,1 og plot eit histogram for talet X på bitfeil per melding. Samanlikna plottet med forrige oppgåve; kva ser du? Merk at dei to plotta er samanliknbare sidan meldinga er fire bits lang i båe falla.

Oppgåve 6.8 Gjenta oppgåve 6.6 med BCH-koden, og oppgåve 6.7 med meldingslengd n = 11. Samanlikna dei to histogramma; kva ser du?

Oppgåve 6.9 (Drøfting) Er talet på bitfeil (X) binomialfordelt når du bruker hammingkoden? Kva med BCH-koden? Du kan godt gjenta oppgåvene over med andre verdiar for p, dersom det gjer svaret tydlegare.

6.4.3. Ordfeil

Hittil har me berre talt bitfeil. Me skal no telja ordfeil i staden. Når du sender eitt ord får du anten éin ordfeil eller ingen. Me skal estimera sannsynet for at ein slik ordfeil oppstår.

Oppgåve 6.10 (Drøfting) Tenk deg at du sender m ord og tel talet på ordfeil Y . Er Y binomialfordelt? Kvifor (ikkje)?

Oppgåve 6.11 Skriv nye versjonar av simulatoren din, slik at han tel ordfeil i staden for bitfeil. Simulatoren skal kunna simulera m ord og returnera talet på ordfeil Y . Køyr simulatoren for m = 100 og p = 0,1 for fire ulike scenario:

1.
Hammingkoden (fire bits melding)
2.
Ukoda, med fire bits melding
3.
BCH-koden (elleve bits melding)
4.
Ukoda, med elleve bits melding

Oppgåve 6.12 Ordfeilsannsynet vert som regel estimert som P̂ = Ym. Rekn ut estimatet for kvart av dei fire scenarioa i forrige oppgåve.

Oppgåve 6.13 (Drøfting) Samanlikna scenarioa frå forrige oppgåve. Kva gir mest/minst robust kommunikasjon? Kvifor?

Oppgåve 6.14 (Drøfting) Estimatoren Yn er ein stokastisk variabel. Korleis kan me estimera standardfeilen (standardavviket) til estimatoren?