Faltningskodare
Faltningskodare är en slags tillståndsmaskin som kodar datapaket så att de utgående bitarna beror på de inkommande och de tidigare bitarna. Detta sker genom modulo2-addering, det vill säga via XOR-grindar. Denna typ av kodning fungerar bra till att upptäcka och rätta till fel i efterhand, och den är enkel att implementera. En nackdel med den är att det är komplicerat att avkoda den.[1]
Teori
[redigera | redigera wikitext]En faltningskodare består av XOR-grindar och ett skiftregister som sparar de tidigare tillstånden, det vill säga de senast inkomna bitarna. De inkommande databitarna modulo2-adderas med de bitar som är sparade i skiftregistret. Därefter släpps två bitar ut för varje inbit. Ett jämnt antal ettor som adderas ger svaret 0 medan ett ojämnt antal ger svaret 1.[1]
Exempel
[redigera | redigera wikitext]Om man låter följande insekvens 1100 kodas i faltningskodaren på bilden och kodar från vänster till höger sker följande steg (där den fullständiga utsekvensen står underst):
- Skiftregistrerna T1 och T2 är tomma vid start och står därför på 0
- När 1 kommer till XOR-grindarna adderas 1+0+0=1 på Utdata 1 och 1+0=1 på utdata 2.
- 1 kommer därnäst. Nu har första ettan flyttat sig till T1 och T2 är fortfarande noll. Därför adderas 1+1+0=0 och till utdata 2 blir det 1+0=1.
- Vid nästa steg har både T1 och T2 fått tillståndet 1, och nu kommer en 0:a. Detta ger att utdata 1 blir 0+1+1=0 och utdata 2 blir 0+1=1
- Sista 0 kommer nu, och T1 har då en nolla och T2 en etta. Då blir utdata 1 följande: 0+0+1=1 och utdata 2 blir 0+1=1
- Den fullständiga utsekvensen: 11 01 01 11
Man kan även läsa sekvensen från höger till vänster, vilket ger ett annat resultat. Därför måste det vara fördefinierat vilken bit som är först.
Avkodning
[redigera | redigera wikitext]För att avkoda ett faltningskodat ord använder man Viterbis algoritm med hjälp av ett trellisdiagram.[2]
Referenser
[redigera | redigera wikitext]- ^ [a b] [liu.diva-portal.org/smash/get/diva2:22173/FULLTEXT01 ”Introduktion till Viterbialgoritmen i enlighet med IEEE 802.11a”]. Linköpings universitet. liu.diva-portal.org/smash/get/diva2:22173/FULLTEXT01. Läst 4 februari 2013.
- ^ ”Diferentialavkodning”. Hårdvarubaserad SOQPSK-algoritmer. Linköpings universitet. http://liu.diva-portal.org/smash/get/diva2:18542/FULLTEXT01. Läst 1 april 2013.