MI-AAK(Aritmetika a kódy) Konvolučníkódy c doc. Ing. Alois Pluháček, CSc., 2011 Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze Evropský sociální fond Praha& EU: Investujeme do vaší budoucnosti
K6. konvolučníkódy úvod kodér filtry FIR odezvy na impulsy diskrétní konvoluce stavový diagram mřížový diagram dekódování Viterbiho algoritmus turbokódy MI-AAK c A. Pluháček 2011
úvod konvoluční kódy versus blokové kódy: neomezená délka kódových slov malá míra informace vysoká redundance posloupnosta (tzn. vektor ) kbitovýchbloků akceptuje se m předchozích bloků posloupnost b nbitových bloků kód(n, k, m) kód(4,3,2): MI-AAK K6 1 c A. Pluháček 2011
úvod ii p-tývstupníblok: a p =( 1 a p, 2 a p,..., k a p ) q-tývýstupníblok: bq=( 1 b q, 2 b q,..., n b q ) a=(a 1,a 2,...) b=(b 1,b 2,...) i a=( i a 1, i a 2,... )... i-tébityvk-ticích j b=( j b1, j b 2,... )... j-tébityvn-ticích př.: k=3 a=111110101100011000000000... 111110101100011 konvence a 1 =111 a 2 =110 1 a=11110000... =11110 a 3 =101 a 4 =100 2 a=11001000... =11001 a 5 =011... 3 a=10101000... =10101 MI-AAK K6 2 c A. Pluháček 2011
kodér kodér: f... frekvence hodinových pulsů( uvnitř kodéru) V P 1: vstupní vyrovnávací paměť frekvencenavstupuvp1: k f frekvencenavýstupuvp1: f V P 2: výstupní vyrovnávací paměť frekvencenavstupuvp2: f frekvencenavýstupuvp2: n f i a j b: filtryfir [Finite-Impulse-Response] MI-AAK K6 3 c A. Pluháček 2011
filtry FIR příklady: kód(2,1,2) kód K 1 m=2 max.početpaměťovýchčlenův1větvi kód(3,2,1) kód K 2 m=1 max.početpaměťovýchčlenův1větvi MI-AAK K6 4 c A. Pluháček 2011
filtry FIR ii kód(4,3,2) kód K 3 m=2 max.početpaměťovýchčlenův1větvi systematický kód, tzn. ( i 1, k ) j b= i a MI-AAK K6 5 c A. Pluháček 2011
odezvy na impulsy odezvynaimpulsy[impulsesresponses] j i g: i a=1000... } j b= j ( v i) v a=0000... i g př.: kód K 2 1 1 g=11=11000... 2 1 g=01 1 2 g=01 2 2 g=10 3 1 g=11 3 2 g=10 MI-AAK K6 6 c A. Pluháček 2011
diskrétní konvoluce př.: K 1 1 g=111 2 g=101 a=011 1 b=111 0+(111 1) 1+(111 1) 2 1 b=01001= 1 g*a diskrétníkonvoluce a=011 2 b=101 0+(101 1) 1+(101 1) 2 2 b=01111= 2 g*a a=011 b=0011010111 MI-AAK K6 7 c A. Pluháček 2011
diskrétní konvoluce ii diskrétníkonvoluce g*a=b: a=(a 1, a 2,...) g=(g 1, g 2,...) b=(b 1, b 2,...) b ν = ν j=1 g j a ν j+1, přičemž ( i <1) a i def = 0 obecně: j b= k i=1 j i g i a zřejmě: a*g=g*a MI-AAK K6 8 c A. Pluháček 2011
stavový diagram kodér sekvenční obvod(automat Mealy) stavy obsah paměťových členů(klopných obvodů) stavový diagram graf přechodů a výstupů ohodnocení hran vstupní blok/ výstupní blok př.: kód K 1 a=11=110000... b=11010111 0000... MI-AAK K6 9 c A. Pluháček 2011
mřížový diagram rozvinutí stavového diagramu v čase mřížový diagram[trellis diagram] př.: kód K 1 a=11000 b=1101011100 MI-AAK K6 10 c A. Pluháček 2011
dekódování Viterbiho algoritmus dekódování zohledňující max. pravděpodobnost: c=(c 1,c 2,...) přijatéslovo γ=(γ 1, γ 2,...) nějakékódovéslovo c i a γ i i-tý nbitovýblok κ(c i,odkud,kam) metrika=hodnotícífunkce: nějakzohledněnápravděpodobnost,žeseprovstupc i může použít nějaké γ i použitelné pro přechod ze stavu odkud dostavukam nejjednodušší metrika: počet stejných bitů příklad vizmřížovýdiagramkódu K 1 κ(00,s0,s0)=2 = S0 S0 γ i =00 κ(01,s0,s1)=1 = S0 S1 γ i =11 κ(00,s2,s0)=0 = S2 S0 γ i =11... jiné metriky, např.: logaritmus podmíněné pravděpodobnosti(zaokrouhlený) metrikyzohledňující kvalitu hodnot0a1 MI-AAK K6 11 c A. Pluháček 2011
dekódování Viterbiho algoritmus ii Viterbiho algoritmus(princip): V mřížovém diagramu se ohodnocují uzly zleva doprava (po sloupcích; počáteční stav je ohodnocen 0). Uzel je ohodnocen(nejprve několikrát pro každého předchůdcejednou)součtemmetriky κ(c i,předchůdce,uzel) a ohodnocení jeho předchůdce. Z ohodnocení každého uzlu se vybere maximum(ostatní ohodnocení se škrtnou). Cesta přes max. ohodnocené uzly se považuje za správnou. MI-AAK K6 12 c A. Pluháček 2011
turbokódy turbokód: v podstatě dva paralelní konvoluční kódy řetěz vstupních data rozložen do(velkých) bloků každý blok kódován samostatně vstupní data druhého kódu permutována [ interleave] P permutace(+paměť) K1,K2 kodéry MI-AAK K6 13 c A. Pluháček 2011
turbokódy ii kodér konvolučního kódu: filtr FIR [Finite-Impulse-Response] přímovazebníregistr [feed-forward] příklad:( 1 G(D), 2 G(D))=(1+D 2,1+D+ D 2 ) jiná možnost: filtr IIR [Infinite-Impulse-Response] též zpětnovazební registr [feed-back] příklad:( 1 G(D), 2 G(D))=(1, 1+D+ D2 1+D 2 ) MI-AAK K6 14 c A. Pluháček 2011
turbokódy iii příklad zapojení kodéru MI-AAK K6 15 c A. Pluháček 2011
turbokódy iv dekódování: základ Viterbiho algoritmus metrikaznačnězohledňující kvalitu hodnot0a1 2 řetězce bitů příslušejí 1 vstupním datům standardní dekódování jednoho řetězce dekódování druhého řetězce využití výsledků prvního dekódování tzv. dekódování a posteriori MAP[Maximum A Posteriori decoding algorithm] MI-AAK K6 16 c A. Pluháček 2011