Föreläsning 7. Felrättande koder

Relevanta dokument
Lösningsförslag till övningsuppgifter, del V

DIGITAL KOMMUNIKATION

x 23 + y 160 = 1, 2 23 = ,

repetitionskoder blockkoder Felrättande koder

Efternamn förnamn pnr årskurs

SF1624 Algebra och geometri

Oändligtdimensionella vektorrum

SF1624 Algebra och geometri

1 Duala problem vid linjär optimering

1 De fyra fundamentala underrummen till en matris

Lösning till tentamensskrivning i Diskret Matematik för CINTE, CL2 och Media 1, SF1610 och 5B1118, onsdagen den 17 augusti 2011, kl

Linjär Algebra, Föreläsning 8

SF1624 Algebra och geometri

VEKTORRUMMET R n. 1. Introduktion

15 september, Föreläsning 5. Tillämpad linjär algebra

November 17, 2015 (1) en enda lsg. Obs det A = 1 0. (2) k-parameter lsg. Obs det A = 0. k-kolonner efter sista ledande ettan

Digital- och datorteknik

6.1 Skalärprodukt, norm och ortogonalitet. TMV141 Linjär algebra E VT 2011 Vecka 6. Lärmål 6.1. Skalärprodukt. Viktiga begrepp

Matematiska Institutionen KTH. Lösning till tentamensskrivning på kursen Linjär algebra II, SF1604, den 9 juni 2011 kl

Optimala koder. Övre gräns för optimala koder. Gränser. Övre gräns för optimala koder, forts.

Optimala koder. Det existerar förstås flera koder som har samma kodordsmedellängd. Enklaste fallet är att bara byta 0:or mot 1:or.

6. Matriser Definition av matriser 62 6 MATRISER. En matris är ett rektangulärt schema av tal: a 11 a 12 a 13 a 1n a 21 a 22 a 23 a 2n A =

1 som går genom punkten (1, 3) och är parallell med vektorn.

Tentamen i Linjär algebra (TATA31/TEN1) ,

Linjär Algebra, Föreläsning 9

Digital- och datorteknik

14 september, Föreläsning 5. Tillämpad linjär algebra

Källkodning. Egenskaper hos koder. Några exempel

Föreläsningsanteckningar Linjär Algebra II Lärarlyftet

1 LP-problem på standardform och Simplexmetoden

SF1624 Algebra och geometri

Geometriska vektorer

. b. x + 2 y 3 z = 1 3 x y + 2 z = a x 5 y + 8 z = 1 lösning?

Minsta kvadratmetoden

Digital- och datorteknik

SF1624 Algebra och geometri

Egenvärden och egenvektorer

Vektorgeometri för gymnasister

SF1624 Algebra och geometri Lösningsförslag till tentamen DEL A

Algebraiska egenskaper hos R n i)u + v = v + U

LÖSNINGAR TILL LINJÄR ALGEBRA kl 8 13 LUNDS TEKNISKA HÖGSKOLA MATEMATIK. 1. Volymen med tecken ges av determinanten.

Övningar. MATEMATISKA INSTITUTIONEN STOCKHOLMS UNIVERSITET Avd. Matematik. Linjär algebra 2. Senast korrigerad:

Definition 1 Ett vektorrum M (över R) är en mängd element, vektorer, sådan att det finns en kommutativ operation + på mängden M som uppfyller

SF1624 Algebra och geometri Bedömningskriterier till tentamen Fredagen den 22 oktober, 2010

Lösningsförslag till Tentamen i 5B1118 Diskret matematik 5p 14 augusti, 2002

Linjär Algebra M/TD Läsvecka 1

Vektorgeometri för gymnasister

tal. Mängden av alla trippel av reella tal betecknas med R 3 och x 1 x 2 En sekvens av n reella tal betecknas med (x 1, x 2,, x n ) eller

SF1624 Algebra och geometri Lösningsförslag till tentamen DEL A. (1 p) (c) Bestäm avståndet mellan A och linjen l.

November 6, { b1 = k a

TMV166 Linjär algebra för M, vt 2016

Multiplicera 7med A λ 1 I från vänster: c 1 (Av 1 λ 1 v 1 )+c 2 (Av 2 λ 1 v 2 )+c 3 (Av 3 λ 1 v 3 ) = 0

MVE022 Urval av bevis (på svenska)

Lösningar till några övningar inför lappskrivning nummer 3 på kursen Linjär algebra för D, vt 15.

Moment 5.5 Övningsuppgifter I 5.60a. 5.60b, 5.60.c, 61

SF1624 Algebra och geometri Lösningsförslag till tentamen DEL A

Linjär Algebra, Föreläsning 2

Vektorrum. EX. Plan och linjer i rummet genom origo. Allmänt; mängden av lösningar till AX = 0.

Basbyten och linjära avbildningar

Carl Olsson Carl Olsson Linjär Algebra / 18

Linjär algebra F1 Ekvationssystem och matriser

3 1 = t 2 2 = ( 1) ( 2) 1 2 = A(t) = t 1 10 t

1 Linjära ekvationssystem. 2 Vektorer

SF1624 Algebra och geometri

TMV166/186 Linjär Algebra M/TD 2011/2012 Läsvecka 1. Omfattning. Innehåll Lay, kapitel , Linjära ekvationer i linjär algebra

SF1624 Algebra och geometri Lösningsförslag till tentamen DEL A

Här är ett antal uppgifter, en del tagna från gamla tentamina, som handlar om basbyte. respektive B = uttryckta i basen A

Andragradspolynom Några vektorrum P 2

29 november, 2016, Föreläsning 21. Ortonormala baser (ON-baser) Gram-Schmidt s ortogonaliseringsprocess

10.4. Linjära höljet LINJÄRA RUM

Hemuppgift 1, SF1861 Optimeringslära, VT 2017

Linjär algebra I, vt 12 Vecko PM läsvecka 4

Föreläsning 13 Linjär Algebra och Geometri I

Uppsala Universitet Matematiska Institutionen Thomas Erlandsson

5 Linjär algebra. 5.1 Addition av matriser 5 LINJÄR ALGEBRA

Frågorna 1 till 6 ska svaras med ett kryss för varje korrekt påstående. Varje uppgift ger 1 poäng.

Övningar. c) Om någon vektor i R n kan skrivas som linjär kombination av v 1,..., v m på precis ett sätt så. m = n.

Uppsala Universitet Matematiska Institutionen Bo Styf. Sammanfattning av föreläsningarna

x 2 x 1 W 24 november, 2016, Föreläsning 20 Tillämpad linjär algebra Innehåll: Projektionssatsen Minsta-kvadratmetoden

SF1624 Algebra och geometri Tentamen med lösningsförslag onsdag, 11 januari 2017

FFM234, Klassisk fysik och vektorfält - Föreläsningsanteckningar

16.7. Nollrum, värderum och dimensionssatsen

Vektorgeometri för gymnasister

Linjär Algebra, Föreläsning 2

Linjär algebra Föreläsning 10

. (2p) 2x + 2y + z = 4 y + 2z = 2 4x + 3y = 6

Inför tentamen i Linjär algebra TNA002.

A = (3 p) (b) Bestäm alla lösningar till Ax = [ 5 3 ] T.. (3 p)

Matriser och vektorer i Matlab

Dagens ämnen. Linjära ekvationssystem: Successiv elimination Vektorer Definitionen Grundläggande räkneoperationer Bas och koordinater Ortsvektorer

16.7. Nollrum, värderum och dimensionssatsen

Matriser och linjära ekvationssystem

1 Grundläggande kalkyler med vektorer och matriser

Innehåll. 1 Linjärt ekvationssystem (ES) 5. 2 Grundläggande algebra 13

Lösningar till MVE021 Linjär algebra för I

Ortogonal dekomposition. Minstakvadratmetoden.

Föreläsning 3, Linjär algebra IT VT Skalärprodukt

x 1 x 2 T (X) = T ( x 3 x 4 x 5

SKRIVNING I VEKTORGEOMETRI

LINJÄR ALGEBRA II LEKTION 3

Transkript:

Föreläsning 7 Felrättande koder Antag att vi vill skicka ett meddelande som består av bokstäver a,b,c,d. Vi kan koda a,b,c,d. Antag att det finns en viss sannolikhet att en bit i ett meddelande som skickas kan förvanskas. Ex: skickas. Det förvanskas till på vägen till mottagaren. Ett fel har alltså uppstått. Kan det korrigeras? Ex: Vi försöker med en annan kodning. a, b, c, d Om en bit förvanskas så får vi inget korrekt kodord. Vi kommer därför att upptäcka att något är fel. Men om vi t.ex. tar emot vet vi inte vilket korrekt kodord det motsvarar. Är det eller? Ex: Vi kodar nu a, a, a, a. Om ett fel uppstår nu kommer man inte bara att kunna upptäcka det utan också avgöra vad det rätta kodordet skall vara. Vi har en felrättande kod. Vi kommer i fortsättningen att studera koder där alla kodord har samma längd (till skillnad från förra avsnittet). Antag att K är en kod med kodord med längd n. Ex: K = {,,, } Maxstorleken av en kod av längd n är 2 n. Koden skall kunna användas för att m olika tecken krävs förstås att m 2 n d.v.s. n log 2 m. Avstånd: Avståndet mellan två kodord k,k 2 brukar man definiera till δ(k,k 2 )=antalet positioner där k,k 2 skiljer sig åt. Ex: δ(, ) = 3, δ(, ) = 2. Vi vill använda K och antar att bara ett fel kan uppstå per kodord. Sats: K är -felrättande om avståndet mellan alla kodord i K är 3. Bevis: Antag att kodord k i skickas. Antag att ett fel uppstår så att ordet förvanskas till ordet s som inte är ett kodord. δ(k i,s)=. Det finns inget annat k j med δ(s, k j )=.(Omdet fanns skulle δ(k i,k j )=2.) Vi kan alltså vara säkra på att s är en förvanskning av k i och vi kan då rätta felet. Problem: Vi vill skapa kod med minavstånd 3, längd n och som har så många kodord som möjligt. Hur bra går det att göra?

En övre gräns: Antag att det finns m kodord. Varje kodord har n grannar på avstånd. Om minavståndet är 3 har inga kodord några gemensamma grannar. Då måste m(n +) 2 n Så m 2n (n+). Ex: Om n =3måste m 8 4 =2. Om n =4måste m 6 5 d.v.s. m 3. Linjära koder Enklaste sättet att generera koder är att använda linjär algebra i Z 2.Vibeskriver kortfattat hur denna algebra fungerar: En vektor av längd n i Z 2 har formen (,,,,, ) (t.ex.) Alla komponenter är eller. Addition av vektorer sker komponentvis med tillägg av regeln += (d.v.s. räkning i Z 2 ). Ex: (,,,,, ) + (,,,,, ) = (,,,,, ) Vektorer kan multipliceras med talen eller. (,,,,, ) = (,,,,, ) (,,,,, ) = (,,,,, ) Obs: (,,,,, ) + (,,,,, ) = (,,,,, ) 2 vektor = vektor = Linjärt beroende: En mängd vektorer är linjärt beroende om någon av vektorerna kan skrivas som en summa av några av de övriga. Mängden är linjärt oberoende annars. Ex: Mängden (,,, ), (,,, ), (,,, ) är linjärt beroende. Mängden (,,, ), (,,, ), (,,, ) är linjärt oberoende. Linjär kod: Om det är så att summan av två kodord (tolkade som vektorer) alltid blir ett nytt kodord säger vi att koden är linjär. Vi kan också beskriva vad en linjär kod är genom att tala om hur man konstruerar en sådan: Vi tolkar kodord som vektorer av längd n i Z 2. (Totalt finns det 2 n sådana möjliga vektorer. Vi skall välja ut vissa av dem.) Antag att vi vill kunna koda m stycken olika tecken och att k är det minsta heltal log 2 m. (Vi vill skapa en kod med 2 k kodord.)

Välj ut en mängd av k linjärt oberoende vektorer b, b 2,... b k. Dessa vektorer utgör en bas för koden. (Talet k kallas för kodens dimension. Talet n kallas för kodens längd.) Det finns 2 k linjärkombinationer av b, b 2,... b k. Dessa 2 k vektorer utgör kodorden i vår linjära kod. Hur tecken kodas på kodord Vi antar nu att det finns 2 k tecken som skall kodas på lika många kodord. Vi kan först ange tecknen på binär form. (Det första som..., det andra som... o.s.v.) Om ett tecken har binära numret s s 2...s k så kodar vi det med kodordet s b + s 2 b2 +...s k bk Ex: Om b =(,,, ), b 2 =(,,, ), b 3 =(,,, ) och vi vill koda så får vi (,,, ) + (,,, ) + (,,, ) = (,,, ) Felrättande linjära koder Antag att vi har en linjär kod med dimension k och längd n. (Det finns alltså 2 k kodord.) Sats: Koden är felrättande (kan rätta fel) om inget kodord utom... har färre än 3 ettor. Problem: Givet n hur åstadkommer man en linjär felrättande kod med så stort k som möjligt. En övre gräns: På samma sätt som i en tidigare uppskattning vi gjorde får vi d.v.s. 2 k (n +) 2 n 2 k 2n (n +) För vissa smarta val av n och k går det att få likhet i olikheten. Man har då fått en optimal kod. Bra kodning: Det finns en linjär kod med n =7,k =4som är -felrättande. Den kallas för Hammingkoden. Det betyder att istället för att använda 4 bitar använder vi 7. Ett meddelande som annars skulle kräva n bitar kommer nu att kräva 7 4 bitar. För att få en felrättande kod betalar vi priset av en förlängning av koden med en faktor 7 4.

Vårt första försök till felrättand kod som innebar att vi tripplade varje kodord skulle innebär en förlängning med en faktor 3. Beskrivning av Hammingkoden: Vi beskriver koden på ett speciellt sätt. Vi bildar följande matris H i Z 2 : H = H kallas för kontrollmatrisen för koden. Kodorden definieras på följande sätt: En vektor x är ett kodord om och endast om H x =. (Alla kodord har längd 7.) Ex: x = ger H x =. Så x är ett kodord. x = ger H x =. Så x är inte ett kodord. Kolumnerna i H är talen, 2,...7 i binär form. Till varje linjär kod går det att hitta en kontrollmatris. Men Hammingkoden har en speciellt enkel form på kontrollmatrisen. Det går att se ganska enkelt att ingen vektor x med eller 2 ettor kan uppfylla H x =. Alltså har alla kodord utom fler än 2 ettor och koden är därför felrättande. En lösning av systemet H x = ger En annan beskrivning av koden

x = x 3 + x 5 + x 7 x 2 = x 3 + x 6 + x 7 x 4 = x 5 + x 6 + x 7 Man kan säga att x 3,x 5,x 6,x 7 bär informationen och att x,x 2,x 4 är kontrollsiffror. Om vi har ett binärt a a 2 a 3 a 4 sätter vi x 3 = a,x 5 = a 2,x 6 = a 3,x 7 = a 4 och beräknar sedan x,x 2,x 4. Ex: Ordet kodas till. På samma sätt kan alla 6 kodord fås. Syndromdekodning Antag att x är ett korrekt kodord och att x är x med en siffra fel. H x = s där s är en vektor med tre tal. Dessa tal bildar binära formen på ett tal mellan och7.dettatalangervilkenpositionfeletäri.vifåralltsådirektredapåvad felet är. Vektorn s brukar kallas för syndromet. Metoden att rätta fel kallas för syndromdekodning. Generella Hammingkoder Större matriser H kan konstrueras på följande sätt: Välj ett tal r.låth ha kolumner som är de binära formerna för talen, 2,...2 r. H har r rader oh 2 r kolumner. n =2 r och k =2 r r. r =3ger oss vår första Hammingkod. För r =4får vi n =5och k =. Alla dessa koder kallas för Hammingkoder.