Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
1
Nagy Szilvia 10. Reed—Solomon-kódok
Információelmélet Nagy Szilvia 10. Reed—Solomon-kódok 2005.
2
Információelmélet – Reed—Solomon-kódok
Generálóelemek Legyen t0 , t1 , t2 , …, tn−1 a GF(N) véges test n darab különböző eleme, n<N. A Reed—Solomon-kódok a b=(b 0 , b 1 , …, b k−1 ) üzenethez azt a c=(c 0 , c 1 , …, c n−1 ) kódszót rendelik hozzá, amelynek a c i komponensei a formula szerint állnak elő. A t i generálóelemek kiválasztása határozza meg a kódot. Reed—Solomon-kódok Generáló elemek Generálóelem Paritás- egyenletek Generátor-polinom Paritás-ellenőrzés GF(NM) számtestek
3
Generálóelemek A kód generátormátrixa:
Információelmélet – Reed—Solomon-kódok Generálóelemek A kód generátormátrixa: Ha ezzel a mátrixszal állítjuk elő a kódszót a b=(b 0 , b 1 , …, b k−1 ) üzenetből, annak i-edik komponense: ami valóban b(ti). Reed—Solomon-kódok Generáló elemek Generálóelem Paritás- egyenletek Generátor-polinom Paritás-ellenőrzés GF(NM) számtestek
4
Információelmélet – Reed—Solomon-kódok
Generálóelemek Példa: Legyen t i=2 GF(5), b=(3, 1, 0, 2), a kapott c=(c 0, c 1, …, c n−1 ) kódszó c i komponense ugyanez a generátormátrix i-edik oszlopával: Reed—Solomon-kódok Generáló elemek Generálóelem Paritás- egyenletek Generátor-polinom Paritás-ellenőrzés GF(NM) számtestek
5
Információelmélet – Reed—Solomon-kódok
Maximális távolság Egy (n, k ) paraméterű Reed—Solomon-kód kódtávolsága dmin=n−k+1, azaz a kódra a Singleton-korlátban egyenlőség teljesül, tehát a Reed—Solomon-kódok maximális távolságúak (MDS-ek). Bizonyítás: Lineáris kódoknál a csupa nullából álló n hosszúságú vektor is a K halmaz eleme (kódszó), bármely cK vektornak ettől a vektortól vett eltérése a c súlya: Reed—Solomon-kódok Generáló elemek Generálóelem Paritás- egyenletek Generátor-polinom Paritás-ellenőrzés GF(NM) számtestek
6
Információelmélet – Reed—Solomon-kódok
Maximális távolság Reed—Solomon-kódok Generáló elemek Generálóelem Paritás- egyenletek Generátor-polinom Paritás-ellenőrzés GF(NM) számtestek c komponensei b(t i ) polinom-alakban állnak elő. A b(t ) polinom csak a gyökeire ad nulla eredményt. Mivel t i ≠ t j , egy gyök c-ben nem szerepelhet kétszer, a c nulla komponenseinek a száma tehát nem nagyobb, mint a b(t ) polinom gyökeinek a száma. A b(t ) k−1-edfokú polinom legfeljebb k−1 gyökkel rendelkezik, így
7
Maximális távolság A kódtávolság – minimális súly:
Információelmélet – Reed—Solomon-kódok Maximális távolság A kódtávolság – minimális súly: ugyanakkor a Singleton-korlát: E két eredményt összevetve az állítást beláttuk. Ha dmin=n−k+1, akkor a kód legfeljebb n−k hibát tud jelezni, n−k törléses és (n−k )/2 egyszerű hibát tud javítani. Reed—Solomon-kódok Generáló elemek Generálóelem Paritás- egyenletek Generátor-polinom Paritás-ellenőrzés GF(NM) számtestek
8
Egyetlen generálóelem
Információelmélet – Reed—Solomon-kódok Egyetlen generálóelem Legyen GF(N) rendje legalább n. (J ≠0) Ekkor J-nak a 0-diktól az n−1-edikig terjedő hatványai mind különbözőek lesznek, ezek lehetnek a Reed—Solomon-kódot létrehozó t i GF(N) véges testbeli elemek: A generátormátrix ezekkel: Reed—Solomon-kódok Generáló elemek Generálóelem Paritás- egyenletek Generátor-polinom Paritás-ellenőrzés GF(NM) számtestek
9
Egyetlen generálóelem
Információelmélet – Reed—Solomon-kódok Egyetlen generálóelem A GF(N) generáló elemmel definiált Reed—Solomon-kód a b=(b 0 , b 1 , …, b k−1 ) üzenethez azt a c=(c 0 , c 1 , …, c n−1 ) kódszót rendeli hozzá, amelynek a c i komponensei: avagy Reed—Solomon-kódok Generáló elemek Generálóelem Paritás- egyenletek Generátor-polinom Paritás-ellenőrzés GF(NM) számtestek
10
Egyetlen generálóelem
Információelmélet – Reed—Solomon-kódok Egyetlen generálóelem A c kódszóhoz, melynek komponensei: a ciklikus kódoknál megszokott módon polinomokat lehet rendelni: ami c i kifejezését beírva: alakú lesz. Reed—Solomon-kódok Generáló elemek Generálóelem Paritás- egyenletek Generátor-polinom Paritás-ellenőrzés GF(NM) számtestek
11
Információelmélet – Reed—Solomon-kódok
Paritásegyenletek Helyettesítsünk be a ℓ GF(N) elemeket ℓ = 0, 1, …, n k -ra a Reed—Solomon-kód egyes kódszavaihoz rendelt polinomokba: Mivel 0 < ℓ ≤ n k , és 0 ≤ j ≤ k 1, 0 < j + ℓ ≤ n 1. Mivel J legalább n-edrendű elem GF(N)-ben, Így a mértani sor összegképlete szerint: Reed—Solomon-kódok Generáló elemek Generálóelem Paritás- egyenletek Generátor-polinom Paritás-ellenőrzés GF(NM) számtestek
12
Paritásegyenletek A mértani sor összegképlete szerint:
Információelmélet – Reed—Solomon-kódok Paritásegyenletek Reed—Solomon-kódok Generáló elemek Generálóelem Paritás- egyenletek Generátor-polinom Paritás-ellenőrzés GF(NM) számtestek A mértani sor összegképlete szerint: mivel J n =1, a számláló 0, így c(J ℓ ) = 0, ℓ = 1, …, n k -ra. Ezek a Reed—Solomon-kód paritásegyenletei.
13
Információelmélet – Reed—Solomon-kódok
Paritásegyenletek A c (J ℓ ) = 0, ℓ = 1, 2, …, n k paritásegyenletek alternatív leírása: A c (J ℓ ) = 0 azt jelenti, hogy minden egyes kódszó polinomjában szerepelnek a gyöktényezők, azaz minden egyes kódszó előáll a alakban. Reed—Solomon-kódok Generáló elemek Generálóelem Paritás- egyenletek Generátor-polinom Paritás-ellenőrzés GF(NM) számtestek
14
Paritásegyenletek A Reed—Solomon-kódok minden egyes kódszava előáll a
Információelmélet – Reed—Solomon-kódok Paritásegyenletek A Reed—Solomon-kódok minden egyes kódszava előáll a alakban. A Reed—Solomon-kódok tehát tulajdonképpen ciklikus kódok, melyeknek a generátorpolinomja Reed—Solomon-kódok Generáló elemek Generálóelem Paritás- egyenletek Generátor-polinom Paritás-ellenőrzés GF(NM) számtestek
15
Információelmélet – Reed—Solomon-kódok
Generátorpolinom A Reed—Solomon-kódunkhoz rendelhető, a (t n −1) polinommal meghatározott ciklikus kód generátorpolinomja tehát gyöktényezős alakban: A (t n −1) „alap”-polinom gyökei J i -k, i=0, 1, …, n1, tehát g(t ) gyökei t n −1-nek is gyökei lesznek, így g(t ) valóban osztója lesz t n −1-nek. Bizonyítás: ha az n kódszóhossz megegyezik a J elem rendjével, akkor J n =1. Reed—Solomon-kódok Generáló elemek Generálóelem Paritás- egyenletek Generátor-polinom Paritás-ellenőrzés GF(NM) számtestek
16
Információelmélet – Reed—Solomon-kódok
Generátorpolinom Bizonyítás: ha az n kódszóhossz megegyezik a J elem rendjével, akkor J n =1. Így J in=1, tehát ha (tn−1)-ben t helyére J-t, illetve J bármely i-edik hatványát írjuk: tehát J bármely hatványa a (tn−1) polinom gyöke. Ezek közül az 1-től n−k-ig terjedő hatványokból alkotott gyöktényezők alkotják a generátorpolinomot: a többi adja a paritásellenőrző polinomot. Reed—Solomon-kódok Generáló elemek Generálóelem Paritás- egyenletek Generátor-polinom Paritás-ellenőrzés GF(NM) számtestek
17
Paritásellenőrzés A paritásellenőrző polinom tehát :
Információelmélet – Reed—Solomon-kódok Paritásellenőrzés A paritásellenőrző polinom tehát : A GF(N) generálóelemmel definiált Reed—Solomon-kód paritásellenőrző mátrixa Reed—Solomon-kódok Generáló elemek Generálóelem Paritás- egyenletek Generátor-polinom Paritás-ellenőrzés GF(NM) számtestek belátható, hogy G∙HT=0, így az állítás ellenőriz-hető.
18
Matematikai kitérő – A GF (N M ) véges számtestekről
Információelmélet – Reed—Solomon-kódok Matematikai kitérő – A GF (N M ) véges számtestekről Reed—Solomon-kódok Generáló elemek Generálóelem Paritás- egyenletek Generátor-polinom Paritás-ellenőrzés GF(NM) számtestek Egy {0, 1, 2, …, N M1} halmazon lehet úgy összeadást és szorzást definiálni, hogy véges testet alkosson. Rendeljünk hozzá a halmaz minden ele-méhez egy-egyértelműen a GF(P( t )) GF(N) feletti polinom-Galois-test elemei közül egyet, és úgy szorozzuk és adjuk össze a számokat, mint a nekik megfeleltetett polinomokat. Így tudunk nem prím, hanem prímszám egész hatványa elemszámú véges számtestet létrehozni (1 bájt=8 bit)
19
Matematikai kitérő – A GF (N M ) véges számtestekről
Információelmélet – Reed—Solomon-kódok Matematikai kitérő – A GF (N M ) véges számtestekről Reed—Solomon-kódok Generáló elemek Generálóelem Paritás- egyenletek Generátor-polinom Paritás-ellenőrzés GF(NM) számtestek Példa: másodfokú irreducíbilis polinom a t 2 + t + 1. A GF( 4 ) = GF( 22 ) véges test elemei a 0, 1, 2, 3 számok, bináris alakban 0 0, 0 1, és Minden számhoz rendeljünk egy legfeljebb 21=1-fokú GF(2) feletti polinomot a következőképpen: ha a szám bináris alakja a b, akkor a hozzá rendelt polinom a ∙ t + b. Az összeadás a következő esetekben triviális:
20
Matematikai kitérő – A GF (N M ) véges számtestekről
Információelmélet – Reed—Solomon-kódok Matematikai kitérő – A GF (N M ) véges számtestekről Reed—Solomon-kódok Generáló elemek Generálóelem Paritás- egyenletek Generátor-polinom Paritás-ellenőrzés GF(NM) számtestek Példa: GF( 4 ) = GF( 22 ) véges test, a t 2 + t + 1 másodfokú irreducíbilis polinommal. Összeadás esetén a mod 2 műveleteket is kell használni: A polinomos megfontolásokat csak néhány szorzás esetében kell használni:
21
Matematikai kitérő – A GF (N M ) véges számtestekről
Információelmélet – Reed—Solomon-kódok Matematikai kitérő – A GF (N M ) véges számtestekről A szorzások: Reed—Solomon-kódok Generáló elemek Generálóelem Paritás- egyenletek Generátor-polinom Paritás-ellenőrzés GF(NM) számtestek
22
Matematikai kitérő – A GF (N M ) véges számtestekről
Információelmélet – Reed—Solomon-kódok Matematikai kitérő – A GF (N M ) véges számtestekről A szorzások: Reed—Sólomon-kódok Generáló elemek Generálóelem Paritás- egyenletek Generátor-polinom Paritás-ellenőrzés GF(NM) számtestek Mivel az egység-elem a 0t+1, az inverz-párok: 01—01 10—11
23
Matematikai kitérő – A GF (N M ) véges számtestekről
Információelmélet – Reed—Solomon-kódok Matematikai kitérő – A GF (N M ) véges számtestekről A szorzások: Reed—Sólomon-kódok Generáló elemek Generálóelem Paritás- egyenletek Generátor-polinom Paritás-ellenőrzés GF(NM) számtestek Példa: GF( 4 ) = GF( 22 ) véges test, a t 2 + t + 1 másodfokú irreducíbilis polinommal. Összeadó- és szorzótábla: + 1 2 3 ∙ 1 2 3
24
Matematikai kitérő – A GF (N M ) véges számtestekről
Információelmélet – Reed—Solomon-kódok Matematikai kitérő – A GF (N M ) véges számtestekről Reed—Solomon-kódok Generáló elemek Generálóelem Paritás- egyenletek Generátor-polinom Paritás-ellenőrzés GF(NM) számtestek A GF( 28 ) bájtokat kezelni képes véges test GF(P( t )) polinom-Galois-testjének generáló irreducíbilis polinomja Az p 7 p 6 p 5 p 4 p 3 p 2 p 1 p 0 bináris alakú számhoz a következő, GF( 2 ) feletti, legfeljebb hetedfokú polinomot rendeljük hozzá: Vegyük észre, hogy a fenti hozzárendelés tulajdonképpen egy bináris vektor – bináris polinom hozzárendelés: 8 elemű bináris vektor hetedfokú bináris polinom
25
Reed—Solomon-kódok GF(NM) felett
Információelmélet – Reed—Solomon-kódok Reed—Solomon-kódok GF(NM) felett Reed—Solomon kódokat lehet nem csak prím, hanem prímhatvány elemszámú véges test felett is definiálni a GF(N) esettel analóg módon. A különbségek: GF(NM) összeadó- és szorzótábla GF(NM) hatványok a J generáló elemnek GF(NM)-ben kell n-ed-rendűnek lennie. Reed—Solomon-kódok Generáló elemek Generálóelem Paritás- egyenletek Generátor-polinom Paritás-ellenőrzés GF(NM) számtestek
26
Matematikai kitérő – Fourier-transzformálás véges testeken
Információelmélet – Reed—Solomon-kódok II. Matematikai kitérő – Fourier-transzformálás véges testeken Reed—Solomon-kódok II. Fourier-transzformáció Konvolúció A spektrum jellemzői Generálás a spektrumon Törléses hibák javítása Egyszerű hibák javítása Legyen a c=(c 0 , c 1 , …, c n−1 ) GF(NM )-beli n komponensű vektor C =(C 0 , C 1 , …, C n−1 ) (GF(NM ))n Fourier-transzformáltjának komponensei a képlet szerint állnak elő, J a véges test n-edrendű eleme. Szokás a C Fourier-transzformáltat F {c}-ként írni és a c spektrumának nevezni.
27
Matematikai kitérő – Fourier-transzformálás véges testeken
Információelmélet – Reed—Solomon-kódok II. Matematikai kitérő – Fourier-transzformálás véges testeken Reed—Solomon-kódok II. Fourier-transzformáció Konvolúció A spektrum jellemzői Generálás a spektrumon Törléses hibák javítása Egyszerű hibák javítása Példa: számoljuk ki a c=( ) GF(5 )-beli 4 komponensű vektor Fourier-transzfor-máltjának komponenseit J =3-mal:
28
Matematikai kitérő – Fourier-transzformálás véges testeken
Információelmélet – Reed—Solomon-kódok II. Matematikai kitérő – Fourier-transzformálás véges testeken Reed—Solomon-kódok II. Fourier-transzformáció Konvolúció A spektrum jellemzői Generálás a spektrumon Törléses hibák javítása Egyszerű hibák javítása A Fourier-transzformációnak van inverz művelete: ahol n−1 az n-nek a GF(N M) véges testen belüli inverze. Bináris esetben, azaz ha N=2, n−1=1 (ha n páratlan).
29
Matematikai kitérő – Ciklikus konvolúció
Információelmélet – Reed—Solomon-kódok II. Matematikai kitérő – Ciklikus konvolúció Legyen a t=(t 0 , t 1 , …, t n−1 ) és u=(u 0 , u 1 , …, u n−1 ) két GF(NM )-beli n komponensű vektor. Az s=t u ciklikus konvolúciója az az s =(s 0 , s 1 , …, s n−1 )(GF(NM ))n vektor, melynek komponensei: A ciklikus konvolúcióra érvényes a konvolúciós tétel: Ha az s, t, u vektorok Fourier-transzformáltjai rendre S, T, U, és a vektorok komponensei között fennáll, hogy akkor a spektrum vektorokra igaz, hogy Reed—Solomon-kódok II. Fourier-transzformáció Konvolúció A spektrum jellemzői Generálás a spektrumon Törléses hibák javítása Egyszerű hibák javítása
30
Matematikai kitérő – Ciklikus konvolúció
Információelmélet – Reed—Solomon-kódok II. Matematikai kitérő – Ciklikus konvolúció A konvolúciós tétel belátása: az s vektorok Fourier-transzformáltjának, S-nek az i-edik komponense behelyettesítve u-t, mint U-nak az inverz-Fourier-transzformáltját Reed—Solomon-kódok II. Fourier-transzformáció Konvolúció A spektrum jellemzői Generálás a spektrumon Törléses hibák javítása Egyszerű hibák javítása ha j−k<0, akkor az n-nel vett osztás utáni maradékát kell venni
31
Matematikai kitérő – Ciklikus konvolúció
Információelmélet – Reed—Solomon-kódok II. Matematikai kitérő – Ciklikus konvolúció Példa: adjuk meg az a=( ) és a b=( ) vektorok konvolúcióját GF(5) felett. (n=4, 4−1≡ 4 mod 5.) Reed—Solomon-kódok II. Fourier-transzformáció Konvolúció A spektrum jellemzői Generálás a spektrumon Törléses hibák javítása Egyszerű hibák javítása
32
Matematikai kitérő – Ciklikus konvolúció
Információelmélet – Reed—Solomon-kódok II. Matematikai kitérő – Ciklikus konvolúció Legyen J a GF(NM )test n-edrendű eleme. Egy c(GF(NM ))n vektor spektrum-polinomja a C=(C 0 , C 1 , …, C n−1 ) spektrumához rendelt legfeljebb n−1-edfokú polinom: Reed—Solomon-kódok II. Fourier-transzformáció Konvolúció A spektrum jellemzői Generálás a spektrumon Törléses hibák javítása Egyszerű hibák javítása
33
Matematikai kitérő – Ciklikus konvolúció
Információelmélet – Reed—Solomon-kódok II. Matematikai kitérő – Ciklikus konvolúció A J GF(NM ) n-edrendű elem i-edik hatványa, J i akkor és csak akkor lehet gyöke egy c( t ) polinomnak, ha a polinomhoz tartozó vektor C spektrumában az i-edik elem nulla: Bizonyítás: ha J i gyöke c(t)-nek, akkor c(J i) = Kifejtve: ami pont C i . Reed—Solomon-kódok II. Fourier-transzformáció Konvolúció A spektrum jellemzői Generálás a spektrumon Törléses hibák javítása Egyszerű hibák javítása
34
Matematikai kitérő – Ciklikus konvolúció
Információelmélet – Reed—Solomon-kódok II. Matematikai kitérő – Ciklikus konvolúció Hasonlóképpen: a J GF(NM ) n-edrendű elem i-edik hatványa, J i akkor és csak akkor lehet gyöke egy C( t ) spektrumpolinomnak, ha az eredeti c vektor i-edik komponense nulla: A bizonyítás az előző állítás belátásához hasonló. Reed—Solomon-kódok II. Fourier-transzformáció Konvolúció A spektrum jellemzői Generálás a spektrumon Törléses hibák javítása Egyszerű hibák javítása
35
A Reed—Solomon-kódok spektruma
Információelmélet – Reed—Solomon-kódok II. A Reed—Solomon-kódok spektruma Legyen a Reed—Solomon-kód generátor-polinomja g( t ), a kódolandó üzenet polinomja b( t ), a hozzárendelt kódszó-polinom c( t ). A c( t ) n−1-edfokú, b( t ) k−1-edfokú, g( t ) pedig n−k−1-edfokú. Az n−1-edfokú polinomok között a b( t )-nek és g( t )-nek az utolsó együtthatói nullák. Mindhárom polinom származtatható n komponensű vektorokból is: Reed—Solomon-kódok II. Fourier-transzformáció Konvolúció A spektrum jellemzői Generálás a spektrumon Törléses hibák javítása Egyszerű hibák javítása
36
A Reed—Solomon-kódok spektruma
Információelmélet – Reed—Solomon-kódok II. A Reed—Solomon-kódok spektruma A Reed—Solomon-kód c( t ) kódszópolinomjai a következőképpen állíthatók elő: A polinomszorzás definíciója szerint az i-edfokú együttható: ami gb i-edik komponense. Tehát c = gb. A konvolúciós tétel szerint ekkor a vektorok spektruma között a következő összefüggés áll fenn: Reed—Solomon-kódok II. Fourier-transzformáció Konvolúció A spektrum jellemzői Generálás a spektrumon Törléses hibák javítása Egyszerű hibák javítása
37
A Reed—Solomon-kódok spektruma
Információelmélet – Reed—Solomon-kódok II. A Reed—Solomon-kódok spektruma Legyen a Reed—Solomon-kódot generáló és egyben a Fourier- transzformációt definiáló n-edrendű GF(NM )-beli elem J. A generátorpolinomnak, s így minden kódszópolinomnak gyöke J 1-től n – k-adikig terjedő hatványa. Így minden kódszóvektor spektrumának az 1-től n – k-adikig terjedő indexű komponense nulla: Reed—Solomon-kódok II. Fourier-transzformáció Konvolúció A spektrum jellemzői Generálás a spektrumon Törléses hibák javítása Egyszerű hibák javítása
38
A Reed—Solomon-kódok spektruma
Információelmélet – Reed—Solomon-kódok II. A Reed—Solomon-kódok spektruma Minden kódszóvektor spektrumának az 1-től n – k-adikig terjedő indexű komponense nulla: Ez a tény lehetővé teszi a kódszavak spektrumukon keresztül történő definiálását: a (b 0 , b 1 , …,b k−1) üzenethez rendelt kódszó spektrumának az első n−k eleme 0 az utolsó k eleme b 0 , b 1 , …,b k−1 Reed—Solomon-kódok II. Fourier-transzformáció Konvolúció A spektrum jellemzői Generálás a spektrumon Törléses hibák javítása Egyszerű hibák javítása
39
Reed—Solomon-kódok II.
Információelmélet – Reed—Solomon-kódok II. A hibák javítása A paritásellenőrző mátrix: Ebből a szindróma: Elemenként kifejtve: Ismerve a szindróma n−k elemét, ennek az egyenletrendszernek kell a legkisebb súlyú Dc megoldását megkeresni Reed—Solomon-kódok II. Fourier-transzformáció Konvolúció A spektrum jellemzői Generálás a spektrumon Törléses hibák javítása Egyszerű hibák javítása
40
Törléses hibák javítása
Információelmélet – Reed—Solomon-kódok II. Törléses hibák javítása Törléses hibák esetén ismerjük azt, hogy Dc mely komponensei biztosan 0-k és melyek nem azok. A 0 elemek a HT bármely oszlopával összeszorozva 0 járulékot adnak, így a velük azonos sorszámú sorokat törölhetjük HT-ből. Összesen legfeljebb n−k nem nulla elem van Dc-ben, így legfeljebb n−k sora marad a csonkolt HT-nek. Eleve csak n−k oszlopa volt, így négyzetes mátrix marad. Legyen a csonkolt paritásellenőrző mátrix Húzzuk ki Dc-ből is a 0 elemeket, az így kapott vektor: Reed—Solomon-kódok II. Fourier-transzformáció Konvolúció A spektrum jellemzői Generálás a spektrumon Törléses hibák javítása Egyszerű hibák javítása
41
Törléses hibák javítása
Információelmélet – Reed—Solomon-kódok II. Törléses hibák javítása A kapott avagy n−k változós egyenletrendszer megoldható. Reed—Solomon-kódok II. Fourier-transzformáció Konvolúció A spektrum jellemzői Generálás a spektrumon Törléses hibák javítása Egyszerű hibák javítása
42
Egyszerű hibák javítása
Információelmélet – Reed—Solomon-kódok II. Egyszerű hibák javítása A Reed—Solomon-kódok n <(n−k)/2 egyszerű hibát tudnak javítani. Tegyük fel, hogy az ℓ-edik helyen van hiba. Ekkor minden egyenletben szerepel egy-egy nem 0 tag: J ℓ-ből egyértelműen megadható a hiba helye, csak meg kell keresni, hogy hányadik hatványa J -nak. A J ℓ mennyiség a hibahely-lokátor Reed—Solomon-kódok II. Fourier-transzformáció Konvolúció A spektrum jellemzői Generálás a spektrumon Törléses hibák javítása Egyszerű hibák javítása
43
Egyszerű hibák javítása
Információelmélet – Reed—Solomon-kódok II. Egyszerű hibák javítása Legyen a hibahely-polinom, melynek gyökei a hibahely-lokátorok inverzei. Ha meg tudjuk határozni L(t)-t, akkor a gyökeit ki tudjuk számolni meg tudjuk adni a gyökök inverzét, azaz a hibahely-lokátorokat meg tudjuk keresni, hogy azok J hányadik hatványai, azaz meg tudjuk adni, hol vannak hibák Ha a hibák helyét ismerjük, akkor törléses hibákat kell javítani, azt meg láttuk hogyan kell. Reed—Solomon-kódok II. Fourier-transzformáció Konvolúció A spektrum jellemzői Generálás a spektrumon Törléses hibák javítása Egyszerű hibák javítása
44
Egyszerű hibák javítása
Információelmélet – Reed—Solomon-kódok II. Egyszerű hibák javítása L-re igaz, hogy Szorozzuk mindkét oldalt Összegezzünk ℓ=1,2,…,n –re Helyettesítsük be L(t)=1+L1t+…+Ln tn polinom egyelőre ismeretlen együtthatóit: Reed—Solomon-kódok II. Fourier-transzformáció Konvolúció A spektrum jellemzői Generálás a spektrumon Törléses hibák javítása Egyszerű hibák javítása
45
Egyszerű hibák javítása
Információelmélet – Reed—Solomon-kódok II. Egyszerű hibák javítása Reed—Solomon-kódok II. Fourier-transzformáció Konvolúció A spektrum jellemzői Generálás a spektrumon Törléses hibák javítása Egyszerű hibák javítása Szétszorozva J hatványait: A szindróma a következő volt:
46
Egyszerű hibák javítása
Információelmélet – Reed—Solomon-kódok II. Egyszerű hibák javítása Így kaptunk egy egyenletrendszert L(t) együtthatóira, amelyben csak a szindróma szerepel: ahol j lehet 0,1,…,n . A szindróma legmagasabb indexszel a j+n -vel fordul elő az egyenletrendszerben, ami legfeljebb 2n lehet, ami nem haladja meg s komponenseinek a számát. (Hiszen legfeljebb (n−k)/2 egyszerű hiba javítható, a szindróma meg n−k komponensű.) Az egyenletrendszer tehát mindig felírható. Reed—Solomon-kódok II. Fourier-transzformáció Konvolúció A spektrum jellemzői Generálás a spektrumon Törléses hibák javítása Egyszerű hibák javítása
47
Egyszerű hibák javítása
Információelmélet – Reed—Solomon-kódok II. Egyszerű hibák javítása Legyen J =6, a GF(11) véges test tizedrendű eleme A GF(11) elemeinek az első 10 hatványa: Reed—Solomon-kódok II. Fourier-transzformáció Konvolúció A spektrum jellemzői Generálás a spektrumon Törléses hibák javítása Egyszerű hibák javítása J J 2 J 3 J 4 J 5 J 6 J 7 J 8 J 9 J 10 2 4 8 5 10 9 7 3 6 1
48
Egyszerű hibák javítása
Információelmélet – Reed—Solomon-kódok II. Egyszerű hibák javítása Legyen J =6, a GF(11) véges test feletti (10,6) paraméterű Reed—Solomon-kód generáló eleme. A generátormátrix: A ( ) üzenet által létrehozott kódszó: Reed—Solomon-kódok II. Fourier-transzformáció Konvolúció A spektrum jellemzői Generálás a spektrumon Törléses hibák javítása Egyszerű hibák javítása
49
Egyszerű hibák javítása
Információelmélet – Reed—Solomon-kódok II. Egyszerű hibák javítása Legyen J =6, a GF(11) véges test feletti (10,6) paraméterű Reed—Solomon-kód generáló eleme. A paritásellenőrző mátrix: A ( ) vett vektorból kapott szindróma: ( )≡ ≡( ). Reed—Solomon-kódok II. Fourier-transzformáció Konvolúció A spektrum jellemzői Generálás a spektrumon Törléses hibák javítása Egyszerű hibák javítása
50
Egyszerű hibák javítása
Információelmélet – Reed—Solomon-kódok II. Egyszerű hibák javítása Dekódoljuk a J =6 generáló elemű, GF(11) feletti (10,6) Reed—Solomon-kód kódszavából torzult ( ) vektort. A szindróma: ( ). alkalmazása j=0 és 1-re: azaz Reed—Solomon-kódok II. Fourier-transzformáció Konvolúció A spektrum jellemzői Generálás a spektrumon Törléses hibák javítása Egyszerű hibák javítása
51
Egyszerű hibák javítása
Információelmélet – Reed—Solomon-kódok II. Egyszerű hibák javítása Dekódoljuk a J =6 generáló elemű, GF(11) feletti (10,6) Reed—Solomon-kód kódszavából torzult ( ) vektort. Reed—Solomon-kódok II. Fourier-transzformáció Konvolúció A spektrum jellemzői Generálás a spektrumon Törléses hibák javítása Egyszerű hibák javítása
52
Egyszerű hibák javítása
Információelmélet – Reed—Solomon-kódok II. Egyszerű hibák javítása Dekódoljuk a J =6 generáló elemű, GF(11) feletti (10,6) Reed—Solomon-kód kódszavából torzult ( ) vektort. A hibahelypolinom: Gyökei: 4 és 5: Inverzeik: Reed—Solomon-kódok II. Fourier-transzformáció Konvolúció A spektrum jellemzői Generálás a spektrumon Törléses hibák javítása Egyszerű hibák javítása
53
Egyszerű hibák javítása
Információelmélet – Reed—Solomon-kódok II. Egyszerű hibák javítása J J 2 J 3 J 4 J 5 J 6 J 7 J 8 J 9 J 10 2 4 8 5 10 9 7 3 6 1 Reed—Solomon-kódok II. Fourier-transzformáció Konvolúció A spektrum jellemzői Generálás a spektrumon Törléses hibák javítása Egyszerű hibák javítása A hibák tehát a 2. és 4. helyen vannak.
54
Egyszerű hibák javítása
Információelmélet – Reed—Solomon-kódok II. Egyszerű hibák javítása A hibák tehát a 2. és 4. helyen vannak. Reed—Solomon-kódok II. Fourier-transzformáció Konvolúció A spektrum jellemzői Generálás a spektrumon Törléses hibák javítása Egyszerű hibák javítása A csonkolt paritás- ellenőrző mátrix:
55
Egyszerű hibák javítása
Információelmélet – Reed—Solomon-kódok II. Egyszerű hibák javítása A hibák tehát a 2. és 4. helyen vannak. Reed—Solomon-kódok II. Fourier-transzformáció Konvolúció A spektrum jellemzői Generálás a spektrumon Törléses hibák javítása Egyszerű hibák javítása A csonkolt paritás- ellenőrző mátrix: A csonkolt hibavektor: A szindróma ( ) volt,
56
Egyszerű hibák javítása
Információelmélet – Reed—Solomon-kódok II. Egyszerű hibák javítása A hibák tehát a 2. és 4. helyen vannak. Reed—Solomon-kódok II. Fourier-transzformáció Konvolúció A spektrum jellemzői Generálás a spektrumon Törléses hibák javítása Egyszerű hibák javítása A csonkolt paritás- ellenőrző mátrix: A csonkolt hibavektor: A szindróma ( ) volt,
57
Egyszerű hibák javítása
Információelmélet – Reed—Solomon-kódok II. Egyszerű hibák javítása Behelyettesítés után: Reed—Solomon-kódok II. Fourier-transzformáció Konvolúció A spektrum jellemzői Generálás a spektrumon Törléses hibák javítása Egyszerű hibák javítása
58
Egyszerű hibák javítása
Információelmélet – Reed—Solomon-kódok II. Egyszerű hibák javítása Átrendezve: A többi egyenletbe behelyettesítve az eredmény ellenőrizhető. Reed—Solomon-kódok II. Fourier-transzformáció Konvolúció A spektrum jellemzői Generálás a spektrumon Törléses hibák javítása Egyszerű hibák javítása
59
Egyszerű hibák javítása
Információelmélet – Reed—Solomon-kódok II. Egyszerű hibák javítása Dekódoljuk a J =6 generáló elemű, GF(11) feletti (10,6) Reed—Solomon-kód kódszavából torzult ( ) vektort. A hibavektor komponensei: A javított kódszó: ( ) Reed—Solomon-kódok II. Fourier-transzformáció Konvolúció A spektrum jellemzői Generálás a spektrumon Törléses hibák javítása Egyszerű hibák javítása
60
Nagy Szilvia 12. A hibacsomók elleni védekezés
Információelmélet Nagy Szilvia 12. A hibacsomók elleni védekezés 2005.
61
Hibacsomók elleni védekezés
Információelmélet – Hibacsomók elleni védekezés Hibacsomók Egy szimbólumsorozatban több, egymás után előforduló hibából álló sorozat a hibacsomó. Egy hosszabb hibacsomó javítása csak rendkívül hosszú kódszavakkal és főleg hosszú paritásszegmenssel lehetséges – hacsak szét nem bontjuk valahogy. Azokat az eljárásokat, amelyek során a kódolandó, illetve dekódolandó szimbólumsorozatot úgy módosítják, hogy az esetleg előforduló hibacsomók szétoszoljanak több kódszó között, kódátfűzésnek vagy interleavingnek hívjuk. Hibacsomók elleni védekezés Hibacsomó Többutas kódátfűzés Blokkos kódátfűzés CD-k hibavédelme
62
Hibacsomók elleni védekezés
Információelmélet – Hibacsomók elleni védekezés Többutas kódátfűzés több kódoló és dekódoló kell lassabb (az órajel frekvenciájának L-adrészével működő), bonyolultabb kódolási eljárások is alkalmazhatók a hibacsomó hossza egy-egy ágon L-adrészére csökken Hibacsomók elleni védekezés Hibacsomó Többutas kódátfűzés Blokkos kódátfűzés CD-k hibavédelme kódoló1 dekódoló1 csatorna kódoló2 dekódoló2 kódoló3 dekódoló3 kódolóL dekódolóL
63
Hibacsomók elleni védekezés
Információelmélet – Hibacsomók elleni védekezés Blokkos kódátfűzés a blokkba oszlopfoly-tonosan írja be a kódolt üzenetet sorfolytonosan olvassa ki és adja a csatornára vevő sorfolytonosan tölti fel a mátrixát oszlopfolytonosan olvassa ki majd dekódolja. Hibacsomók elleni védekezés Hibacsomó Többutas kódátfűzés Blokkos kódátfűzés CD-k hibavédelme csatorna
64
Hibacsomók elleni védekezés
Információelmélet – Hibacsomók elleni védekezés Blokkos kódátfűzés Egy DD-s blokk esetén a hibacsomó D-edrészére csökken. Nagyobb a memóriaigény de csak egy kódoló és dekódoló szükséges. Hosszabb ideig tart, még akkor is, ha két blokkal dolgozik, az egyiket tölti, a másikat olvassa ki. Hibacsomók elleni védekezés Hibacsomó Többutas kódátfűzés Blokkos kódátfűzés CD-k hibavédelme csatorna
65
Hibacsomók elleni védekezés: CD-k
Információelmélet – Hibacsomók elleni védekezés Hibacsomók elleni védekezés: CD-k A CD-kre írandó hangot 44,1 kHz frekvenciával mintavételezik, két bájtra kvantálják. Sztereó – két hangcsatornás: jobb és bal – rendszerek esetén a következő sorrendbe rendezik a két csatorna egy-egy mintavételezési pontjához tartozó két-két bájtját: jobb 1.bájt, jobb 2.bájt, bal 1.bájt, bal 2.bájt, jelöljük őket x i 1 , x i 2 , y i 1 , y i 2 -vel (i-edik időpont). Minden érték GF(28). Hibacsomók elleni védekezés Hibacsomó Többutas kódátfűzés Blokkos kódátfűzés CD-k hibavédelme
66
Hibacsomók elleni védekezés: CD-k
Információelmélet – Hibacsomók elleni védekezés Hibacsomók elleni védekezés: CD-k Ezekkel az adatokkal feltöltenek egy 2424-es mátrixot oszlopfolytonosan. Oszloponként (24, 28) paraméterű, GF(28) feletti Reed—Solomon-kóddal kódolják az adatokat 2824-es mátrix. A kapott mátrix sorait is kódolják az iménti R—S-kóddal. 2828-as mátrix. Soronként kiolvasva engedik a csatornára. A (24, 28)-as kóddal 2 egyszerű és 4 törléses hibát lehet kijavítani. Hibacsomók elleni védekezés Hibacsomó Többutas kódátfűzés Blokkos kódátfűzés CD-k hibavédelme
67
Hibacsomók elleni védekezés: CD-k
Információelmélet – Hibacsomók elleni védekezés Hibacsomók elleni védekezés: CD-k A vett adatokkal sorfolytonosan feltöltenek egy 28×28-as blokkot Soronként megnézik a szindrómát. Ha s=0, a sort békén hagyják s=1, a hibát kijavítják s=2, a hibák helyét határozzák meg, oda törlésés hibát generálnak s>2, az egész sorba törléses hibát generálnak Oszloponként ha a törléses hibák száma 1 vagy 2, akkor azt kijavítják ha több, interpolálnak, mert az gyorsabb (és a fül elég tehetetlen) Hibacsomók elleni védekezés Hibacsomó Többutas kódátfűzés Blokkos kódátfűzés CD-k hibavédelme 3.
68
Gyakorló feladatok: Huffman-kód
Információelmélet – Gyakorló feladatok Gyakorló feladatok: Huffman-kód Legyen a forrásábécé elemeinek előfordulási valószínűsége rendre p (p) =0,31, p (r) =0,15, p (s) =0,11, p (t) =0,19, és p (w) =0,24.
69
Gyakorló feladatok: Aritmetikai kód
Információelmélet – Gyakorló feladatok Gyakorló feladatok: Aritmetikai kód Legyen a forrásábécé elemeinek előfordulási valószínűsége rendre p (l) =0,25, p (m) =0,125, p (n) =0,0625, p (o) =0,1875, és p (p) =0,375. Rendeljük az egyes elemekhez, ilyen sorrendben a [0, 1) intervallumnak az elem valószínűségével azonos hosszát. Kódoljuk a „p o l o” üzenetet a kapott aritmetikai kóddal.
70
Gyakorló feladatok: LZ78 kód
Információelmélet – Gyakorló feladatok Gyakorló feladatok: LZ78 kód Kódoljuk a „j b c j j b c c j c j b c c j b c” üzenetet LZ78 eljárással. tüntessük fel az egyes lépésekben a kódoló kimenetén megjelenő értéket is. Használjuk az alábbi táblázatot. Adjuk meg a kódoló kimenetét. n m karakter sorozat
71
Gyakorló feladatok: LZW kód
Információelmélet – Gyakorló feladatok Gyakorló feladatok: LZW kód Kódoljuk az „ ” üzenetet LZW eljárással. tüntessük fel az egyes lépésekben a kódoló kimenetén megjelenő értéket is. Használjuk az alábbi táblázatot: n m karakter kimenet
72
Gyakorló feladatok: Hamming-kód
Információelmélet – Gyakorló feladatok Gyakorló feladatok: Hamming-kód Hozzunk létre egy szisztematikus Hamming-kódot a GF(13) számtest felett. Legyen a paritásszegmens hossza 2. Mi a paritásellenőrző mátrix és mi a generátormátrix? Hány elemű az üzenetszegmens? Mi lesz a csupa 1-esből álló üzenethez rendelt kódszó?
73
Gyakorló feladatok: Hamming-kód
Információelmélet – Gyakorló feladatok Gyakorló feladatok: Hamming-kód Adjuk meg a szisztematikus generátormátrixhoz tartozó paritáselle-nőrző mátrixot. Milyen véges test felett definiálták a kódot? Adjuk meg az „ ” vett bitsorozat szindrómáját. Mi lehetett az eredeti kódszó? Milyen üzenetből jöhetett létre az iménti vett bitsorozat?
74
Gyakorló feladatok: Hamming-kód
Információelmélet – Gyakorló feladatok Gyakorló feladatok: Hamming-kód Adjuk meg a szisztematikus generátormátrixhoz tartozó paritásellenőrző mátrixot. Milyen véges test felett definiálták a kódot? Adjuk meg az „ ” vett bitsorozat szindrómáját. Mi lehetett az eredeti kódszó? Milyen üzenetből jöhetett létre az iménti vett bitsorozat?
75
Gyakorló feladatok: Ciklikus kód
Információelmélet – Gyakorló feladatok Gyakorló feladatok: Ciklikus kód Azt tesszük fel, hogy a GF(5) felett a „ ” egy ciklikus kód érvényes kódszava. Milyen polinomot tudunk a kódszóhoz rendelni? Két ciklikus eltolás után mi lesz a polinomból? Ha a ciklikus kód generátorpolinomja g(t)=t2+4t+1, valóban kódszó-e „ ”? Mi a kód paritásellenőrző polinomja? Mennyi a „ ”-hez rendelt polinom szindrómája?
76
Gyakorló feladatok: Ciklikus kód
Információelmélet – Gyakorló feladatok Gyakorló feladatok: Ciklikus kód Egy 7 elemű kódszavakat generáló bináris ciklikus kód generátorpolinomja g(t)=t3+t+1. Adjuk meg az vektorból általa előállított kódszópolinomot. Mi a paritásellenőrző polinom? Mi t6+t5+t3+1 vett polinom szindrómapolinomja?
77
Gyakorló feladatok: R—S-kód
Információelmélet – Gyakorló feladatok Gyakorló feladatok: R—S-kód A GF(11) véges testben a 2 tizedrendű elem. Legyen 2 egy a GF(11) feletti Reed—Solomon-kódoló generáló eleme. Adjuk meg a b=( ) üzenethez generált tízelemű kódszót.
78
Gyakorló feladatok: R—S-kód
Információelmélet – Gyakorló feladatok Gyakorló feladatok: R—S-kód A GF(5) véges testben a 3 negyedrendű elem. Legyen 3 egy a GF(7) feletti Reed—Solomon-kódoló generáló eleme, s egyben a Fourier-transzformáció definíciójában szereplő elem. Adjuk meg a b=(2 2 3) üzenethez a spektrumon keresztül generált négyelemű kódszót. Adjuk meg a spektrumot is.
79
Gyakorló feladatok: R—S-kód
Információelmélet – Gyakorló feladatok Gyakorló feladatok: R—S-kód A GF(4) véges testben a 3 harmadrendű elem. Legyen 3 egy a GF(4) feletti Reed—Solomon-kódoló generáló eleme, s egyben a Fourier-transzformáció definíciójában szereplő elem. Adjuk meg a b=(2 3) a kódoló által generált háromelemű kódszót. Adjuk meg a spektrumot is. Használjuk az alábbi szorzó és összeadó táblázatokat: + 1 2 3 ∙ 1 2 3
80
Nagy Szilvia 13. Konvolúciós kódolás
Információelmélet Nagy Szilvia 13. Konvolúciós kódolás 2005.
81
Keret, kódszókeret, kódsebesség
Információelmélet – Konvolúciós kódolás Keret, kódszókeret, kódsebesség Konvolúciós kódok Alapfogalmak Állapotát-meneti gráf Trellis Polinom-reprezentáció Katasztrofális kódoló Szabad távolság Komplex kódábécé A konvolúciós kódolás során a tömörített b 1 , b 2 , b 3 , … üzenetet k bites szakaszokra – üzenetszegmensekre – bontjuk, és m+1 egymás utáni üzenetszegmensből alakítjuk ki a kódoló aktuális kimenetét. A kódoló mindig m darab k hosszúságú üzenetszegmenst – keretet – tárol, és egy van a bemenetén.
82
Keret, kódszókeret, kódsebesség
Információelmélet – Konvolúciós kódolás Keret, kódszókeret, kódsebesség Egy lépés során a kódoló beolvas egy üzenetszegmenst az m+1 darab, k hosszúságú bitsorozatból létrehoz egy n hosszúságú kimeneti bitsorozatot, a kódszókeretet. A kódsebesség: R = k/n. eldobja a legrégebben tárolt keretet és elraktározza az újonnan beolvasottat Egy üzenetszegmens m+1 lépés során befo-lyásolja a kimenetet, utána tűnik csak el a tárolókból. A kódoló kényszerhossza K = k (m+1) bit. Konvolúciós kódok Alapfogalmak Állapotát-meneti gráf Trellis Polinom-reprezentáció Katasztrofális kódoló Szabad távolság Komplex kódábécé
83
Kényszerhossz, fa-kód, trellis
Információelmélet – Konvolúciós kódolás Kényszerhossz, fa-kód, trellis Konvolúciós kódok Alapfogalmak Állapotát-meneti gráf Trellis Polinom-reprezentáció Katasztrofális kódoló Szabad távolság Komplex kódábécé Ugyanez az üzenetszegmens a kimeneten n (m+1) bit kialakításában vesz részt, az N = n (m+1) mennyiség a kódoló blokkhossza. Engedjük a kódoló bemenetére az összes lehetséges, nullával kezdődő félig végtelen bitsorozatot, és vizsgáljuk a kimeneti félig végtelen bitsorozatokat. A fa-kód ezek között a bemeneti és kimeneti sorozatok közötti hozzárendelés; a legegyszerűbben bináris fa formájában adható meg. Trellis-kódok a véges kényszerhosszú fa-kódok.
84
Információelmélet – Konvolúciós kódolás
Kódparaméterek Konvolúciós kódok Alapfogalmak Állapotát-meneti gráf Trellis Polinom-reprezentáció Katasztrofális kódoló Szabad távolság Komplex kódábécé A K kényszerhosszú, N blokkhosszú, lineáris, időinvariáns trellis kódokat (N, K) paraméterű konvolúciós kódoknak nevezzük. A konvolúciós kódok tervezése sok esetben lehetőséget nyújt a moduláció tervezésére is. Lehet nem bináris konvolúciós kódokat is tervezni, de a kód kódfája akkor nem bináris lesz. Gyakorlatban nem alkalmazzák. A konvolúciós kódolók létrehozhatók léptetőregiszterekkel, például: k=1, n=2, m=2, K=3, N=6-ra
85
Információelmélet – Konvolúciós kódolás
Kódparaméterek Konvolúciós kódok Alapfogalmak Állapotát-meneti gráf Trellis Polinom-reprezentáció Katasztrofális kódoló Szabad távolság Komplex kódábécé A konvolúciós kódolók létrehozhatók léptetőregiszterekkel, például: k=1, n=2, m=2, K=3, N=6-ra
86
Információelmélet – Konvolúciós kódolás
Jellemezzük a konvolúciós kódoló p-edik ágát egy olyan félig végtelen bitsorozattal, amelyiknek a j-edik eleme akkor és csak akkor 1, ha a p-edik ágban 1-es együtthatóval jelenik meg b i−j . A kódolónkra: az első ág bitsorozata: g1= … a második ág bitsorozata: g2= … Konvolúciós kódok Alapfogalmak Állapotát-meneti gráf Trellis Polinom-reprezentáció Katasztrofális kódoló Szabad távolság Komplex kódábécé
87
Konvolúció az első ág bitsorozata: g1=1 0 1 0 0 0 …
Információelmélet – Konvolúciós kódolás Konvolúció az első ág bitsorozata: g1= … a második ág bitsorozata: g2= … Az első ág kimenete: b1, b2, b3+b1, b4+b2, b5 +b3, …= = g1b A második ág kimenete: b1, b2+b1, b1+b2+b3, b2+b3+b4, b3+b4 +b5,…= =g2b Konvolúciós kódok Alapfogalmak Állapotát-meneti gráf Trellis Polinom-reprezentáció Katasztrofális kódoló Szabad távolság Komplex kódábécé
88
Kódfa Példaként nézzük a kódolónk bináris fáját: 0 1 – bemeneti bitek
Információelmélet – Konvolúciós kódolás Kódfa Példaként nézzük a kódolónk bináris fáját: Konvolúciós kódok Alapfogalmak Állapotát-meneti gráf Trellis Polinom-reprezentáció Katasztrofális kódoló Szabad távolság Komplex kódábécé 0 1 – bemeneti bitek i j – kimeneti bitpárosok
89
Információelmélet – Konvolúciós kódolás
Állapotátmenet-gráf Nézzük a kódolónk tárolóinak állapotai közötti átmeneteket gráfon ábrázolva: Konvolúciós kódok Alapfogalmak Állapotát-meneti gráf Trellis Polinom-reprezentáció Katasztrofális kódoló Szabad távolság Komplex kódábécé bemeneti bitek kimeneti bitpárosok
90
a trellisnek ezen része tetszőleges számszor ismételhető
Információelmélet – Konvolúciós kódolás Trellis diagram Az állapotátmenet-gráfról, vagy az áramkör blokkváz-latáról leolvashatók a különféle bemeneti kombinációk hatására a kimeneten és a tárolókban megjelent bitek, melyeket a trellisen lehet ábrázolni: Konvolúciós kódok Alapfogalmak Állapotát-meneti gráf Trellis Polinom-reprezentáció Katasztrofális kódoló Szabad távolság Komplex kódábécé a trellisnek ezen része tetszőleges számszor ismételhető a tárolók kiürítése
91
Trellis diagram Információelmélet – Konvolúciós kódolás
Az egyszerűsített trellisen az azonos tárolóállapotok, mint egy sorban lévő pontok szerepelnek, és a bemenetet sem mindig tüntetik fel az élekre (a felfelé menő piros élek az 1 bemeneti bitet, a lefelé muta tó kékek a 0-t jelentik: Konvolúciós kódok Alapfogalmak Állapotát-meneti gráf Trellis Polinom-reprezentáció Katasztrofális kódoló Szabad távolság Komplex kódábécé 11 10 01 00 első mélységbeli csomópontok
92
Információelmélet – Konvolúciós kódolás
Trellis diagram Az egyszerűsített trellisen a különböző üzenetek kódolását lehet nyomon követni: Legyen a kódolandó üzenetszakasz (trellis – rácsozat) Konvolúciós kódok Alapfogalmak Állapotát-meneti gráf Trellis Polinom-reprezentáció Katasztrofális kódoló Szabad távolság Komplex kódábécé 11 10 01 00
93
Polinom reprezentáció
Információelmélet – Konvolúciós kódolás Polinom reprezentáció Konvolúciós kódok Alapfogalmak Állapotát-meneti gráf Trellis Polinom-reprezentáció Katasztrofális kódoló Szabad távolság Komplex kódábécé Az áramkörünk tulajdonképpen két polinomszorzó eredményeit fésüli össze: A bináris polinomjaink: Az üzenethez rendelhető polinom:
94
Polinom reprezentáció
Információelmélet – Konvolúciós kódolás Polinom reprezentáció Konvolúciós kódok Alapfogalmak Állapotát-meneti gráf Trellis Polinom-reprezentáció Katasztrofális kódoló Szabad távolság Komplex kódábécé Az ágakat jellemző bináris polinomok: Az üzenethez rendelhető polinom: Az kimenet szétosztható 2 darab külön bitfolyamra, melyekhez a következő polinomok rendelhetők:
95
Polinom reprezentáció
Információelmélet – Konvolúciós kódolás Polinom reprezentáció Ha hosszabb az üzenetkeret, az üzenetet is k darab különálló bitfolyamra kell bontani, és a generáló polinomoknak is két fontos indexe lesz. Ezek a polinomok mátrixba rendezhetők: A mátrix első sora jellemzi az első bemeneti bit hatását az n darab kimenetre, a második sor a második bemeneti bitét, … Konvolúciós kódok Alapfogalmak Állapotát-meneti gráf Trellis Polinom-reprezentáció Katasztrofális kódoló Szabad távolság Komplex kódábécé
96
Polinom reprezentáció
Információelmélet – Konvolúciós kódolás Polinom reprezentáció A kódoló polinom-mátrixa: Az üzenethez és a kimenethez rendelhető polinomok vektorokba rendezhetők: Így Konvolúciós kódok Alapfogalmak Állapotát-meneti gráf Trellis Polinom-reprezentáció Katasztrofális kódoló Szabad távolság Komplex kódábécé
97
Konvolúciós kódok Példa: Nézzük a következő kódoló áramkört:
Információelmélet – Konvolúciós kódolás Konvolúciós kódok Példa: Nézzük a következő kódoló áramkört: A kódoló paraméterei: k=2, n=3, m=3, K=8, N=12. A tárolóknak összesen 2 5 = 32-féle állapota lehetséges, az állapotátmeneti gráf 32 csúccsal rendelkezik, a trellis 32 sorral. Konvolúciós kódok Alapfogalmak Állapotát-meneti gráf Trellis Polinom-reprezentáció Katasztrofális kódoló Szabad távolság Komplex kódábécé
98
Konvolúciós kódok Példa: Nézzük a következő kódoló áramkört:
Információelmélet – Konvolúciós kódolás Konvolúciós kódok Példa: Nézzük a következő kódoló áramkört: A generáló polinomok: Konvolúciós kódok Alapfogalmak Állapotát-meneti gráf Trellis Polinom-reprezentáció Katasztrofális kódoló Szabad távolság Komplex kódábécé
99
Konvolúciós kódok Példa: Nézzük a következő kódoló áramkört:
Információelmélet – Konvolúciós kódolás Konvolúciós kódok Példa: Nézzük a következő kódoló áramkört: A generáló polinom-mátrix: Konvolúciós kódok Alapfogalmak Állapotát-meneti gráf Trellis Polinom-reprezentáció Katasztrofális kódoló Szabad távolság Komplex kódábécé
100
Konvolúciós kódok Példa: Nézzük a következő kódoló áramkört:
Információelmélet – Konvolúciós kódolás Konvolúciós kódok Példa: Nézzük a következő kódoló áramkört: Az üzenet és kimenet felbontása: Konvolúciós kódok Alapfogalmak Állapotát-meneti gráf Trellis Polinom-reprezentáció Katasztrofális kódoló Szabad távolság Komplex kódábécé
101
Konvolúciós kódok Példa: Nézzük a következő kódoló áramkört:
Információelmélet – Konvolúciós kódolás Konvolúciós kódok Példa: Nézzük a következő kódoló áramkört: Az üzenethez két-, a kimenethez három komponensű polinom-vektor tartozik: Konvolúciós kódok Alapfogalmak Állapotát-meneti gráf Trellis Polinom-reprezentáció Katasztrofális kódoló Szabad távolság Komplex kódábécé
102
Konvolúciós kódok Példa: A polinom-mátrix: A kód komponensei:
Információelmélet – Konvolúciós kódolás Konvolúciós kódok Példa: A polinom-mátrix: A kód komponensei: Konvolúciós kódok Alapfogalmak Állapotát-meneti gráf Trellis Polinom-reprezentáció Katasztrofális kódoló Szabad távolság Komplex kódábécé
103
Információelmélet – Konvolúciós kódolás
Konvolúciós kódok Példa: Nézzük a következő, kicsit egyszerűbb kódoló áramkört: A kódoló paraméterei: k=2, n=3, m=2, K=6, N=9. A tárolóknak összesen 2 3 = 8-féle állapota lehetséges, az állapotátmeneti gráf 32 csúccsal rendelkezik. Ezeket fogjuk most felrajzolni = 4-féle bemeneti kombináció lehetséges, így minden csúcsból négy ág indul ki. Konvolúciós kódok Alapfogalmak Állapotát-meneti gráf Trellis Polinom-reprezentáció Katasztrofális kódoló Szabad távolság Komplex kódábécé
104
Konvolúciós kódok Információelmélet – Konvolúciós kódolás
Példa: Nézzük a következő, kicsit egyszerűbb kódolót: Konvolúciós kódok Alapfogalmak Állapotát-meneti gráf Trellis Polinom-reprezentáció Katasztrofális kódoló Szabad távolság Komplex kódábécé 00 bemenet 01 bemenet 10 bemenet 11 bemenet
105
Konvolúciós kódok Információelmélet – Konvolúciós kódolás
Példa: Nézzük a következő kódoló áramkör trellisét: Konvolúciós kódok Alapfogalmak Állapotát-meneti gráf Trellis Polinom-reprezentáció Katasztrofális kódoló Szabad távolság Komplex kódábécé 00 bemenet 01 bemenet 10 bemenet 11 bemenet
106
Konvolúciós kódok Információelmélet – Konvolúciós kódolás
Példa: Kódoljuk a üzenetet: Konvolúciós kódok Alapfogalmak Állapotát-meneti gráf Trellis Polinom-reprezentáció Katasztrofális kódoló Szabad távolság Komplex kódábécé 00 bemenet 01 bemenet 10 bemenet 11 bemenet
107
Konvolúciós kódok Információelmélet – Konvolúciós kódolás
Példa: Kódoljuk a üzenetet: Konvolúciós kódok Alapfogalmak Állapotát-meneti gráf Trellis Polinom-reprezentáció Katasztrofális kódoló Szabad távolság Komplex kódábécé 00 bemenet 01 bemenet 10 bemenet 11 bemenet
108
Konvolúciós kódok Információelmélet – Konvolúciós kódolás
Példa: Kódoljuk a üzenetet: Konvolúciós kódok Alapfogalmak Állapotát-meneti gráf Trellis Polinom-reprezentáció Katasztrofális kódoló Szabad távolság Komplex kódábécé 00 bemenet 01 bemenet 10 bemenet 11 bemenet
109
Konvolúciós kódok Információelmélet – Konvolúciós kódolás
Példa: Kódoljuk a üzenetet: Konvolúciós kódok Alapfogalmak Állapotát-meneti gráf Trellis Polinom-reprezentáció Katasztrofális kódoló Szabad távolság Komplex kódábécé 00 bemenet 01 bemenet 10 bemenet 11 bemenet
110
Konvolúciós kódok Információelmélet – Konvolúciós kódolás
Példa: Kódoljuk a üzenetet: Konvolúciós kódok Alapfogalmak Állapotát-meneti gráf Trellis Polinom-reprezentáció Katasztrofális kódoló Szabad távolság Komplex kódábécé 00 bemenet 01 bemenet 10 bemenet 11 bemenet
111
Konvolúciós kódok Információelmélet – Konvolúciós kódolás
Példa: Kódoljuk a üzenetet: Konvolúciós kódok Alapfogalmak Állapotát-meneti gráf Trellis Polinom-reprezentáció Katasztrofális kódoló Szabad távolság Komplex kódábécé 00 bemenet 01 bemenet 10 bemenet 11 bemenet
112
Katasztrofális kódoló
Információelmélet – Konvolúciós kódolás Katasztrofális kódoló Módosítsuk kicsit az első kódolónkat, és nézzük az állapotátmeneti gráfját: Konvolúciós kódok Alapfogalmak Állapotát-meneti gráf Trellis Polinom-reprezentáció Katasztrofális kódoló Szabad távolság Komplex kódábécé Engedjünk csupa 1-est a bemenetre. Ekkor rövid tranziens (két lépés, kimenet) után a kimenet csupa nulla lesz.
113
Katasztrofális kódoló
Információelmélet – Konvolúciós kódolás Katasztrofális kódoló Az olyan kódolókat amelyek nem csak tiszta nulla bemenetre, hanem valamilyen más, periodikus bemeneti sorozatra is tiszta nulla kimenetet adnak, katasztrofális kódolóknak nevezik. A katasztrofális kódolónak az állapotátmeneti gráfján mindig van egy olyan hurok, amelyik nem a tiszta nulla állapotból indul és mégis tiszta nulla a kimene- te, azaz nulla a hurok kimenetének Hamming- súlya. Konvolúciós kódok Alapfogalmak Állapotát-meneti gráf Trellis Polinom-reprezentáció Katasztrofális kódoló Szabad távolság Komplex kódábécé
114
Katasztrofális kódoló
Információelmélet – Konvolúciós kódolás Katasztrofális kódoló A katasztrofális kódoló pontos definíciója: Az olyan kódolók, melyek tetszőlegesen nagy Hamming-súlyú bemenetre is korlátos Hamming-súlyú maradhat a kimenet. (l. a kódolónkra bármennyi 1-est engedünk, a kimenet lehet 3-nál nem nagyobb súlyú.) Szeretnénk elkerülni a katasztrofális kódolókat, ezért szeretnénk egy olyan feltételt, amely az állapotátmenet-gráf (hosszadalmas) felrajzolása nélkül is megmondja, hogy katasztrofális-e a kódoló vagy nem. Konvolúciós kódok Alapfogalmak Állapotát-meneti gráf Trellis Polinom-reprezentáció Katasztrofális kódoló Szabad távolság Komplex kódábécé
115
Katasztrofális kódoló
Információelmélet – Konvolúciós kódolás Katasztrofális kódoló Konvolúciós kódok Alapfogalmak Állapotát-meneti gráf Trellis Polinom-reprezentáció Katasztrofális kódoló Szabad távolság Komplex kódábécé Ha k=1, azaz a kódsebesség 1/n, akkor létezik ilyen feltétel: a kódoló akkor és csak akkor nem katasztrofális, ha az ágait jellemző polinomok legnagyobb közös osztója 1: A katasztrofális kódolónkra:
116
Nagy Szilvia 14. Viterbi-algoritmus
Információelmélet Nagy Szilvia 14. Viterbi-algoritmus 2005.
117
Távolságprofil, szabad távolság
Információelmélet – Konvolúciós kódolás Távolságprofil, szabad távolság Vizsgáljuk a kódoló lehetséges kimeneteiből mindig az első r kódszókeretet. Az így ka-pott r ∙n hosszúságú vektoroknak értel-mezhető a Hamming-távolsága. Jelöljük ezek közül a minimálisat dr*-gal. Ekkor r növelésével ez a minimális távolság nem fog csökkenni: A d1*, d2*, d3*,… sorozatot a kódoló távolságprofiljának nevezik. A dr*-okból álló monoton növekvő sorozat határértéke, avagy ezen értékek maximuma a kód szabad távolsága: Konvolúciós kódok Alapfogalmak Állapotát-meneti gráf Trellis Polinom-reprezentáció Katasztrofális kódoló Szabad távolság Komplex kódábécé
118
Információelmélet – Konvolúciós kódolás
Kódolási nyereség Konvolúciós kódok Alapfogalmak Állapotát-meneti gráf Trellis Polinom-reprezentáció Katasztrofális kódoló Szabad távolság Komplex kódábécé A csatornakódolás során ezesetben is a kódtávolság növelésére törekedünk. Vegyük a kódolatlan üzenet dref szabad távolságát referenciának. A kódolási nyereség: a kódolt üzenet szabad kódtávolságá-nak és a referenciatávolság aránya decibelskálán.
119
Információelmélet – Konvolúciós kódolás
Komplex kódábécé A konvolúciós kódolók kimenetét nem csak n bitként lehet értelmezni, hanem komplex számként is: például a áramkör három bitnyi kimenete értelmezhető 8PSK modulátor fázisszögeként is (23=8): Konvolúciós kódok Alapfogalmak Állapotát-meneti gráf Trellis Polinom-reprezentáció Katasztrofális kódoló Szabad távolság Komplex kódábécé
120
Információelmélet – Konvolúciós kódolás
Komplex kódábécé Komplex kódábécével jelentős kódolási nyereség érhető el. Lássuk: Nézzük a kódoló állapotátmenet-gráfját Konvolúciós kódok Alapfogalmak Állapotát-meneti gráf Trellis Polinom-reprezentáció Katasztrofális kódoló Szabad távolság Komplex kódábécé
121
Komplex kódábécé Nézzük a kódoló trellisét:
Információelmélet – Konvolúciós kódolás Komplex kódábécé Nézzük a kódoló trellisét: Konvolúciós kódok Alapfogalmak Állapotát-meneti gráf Trellis Polinom-reprezentáció Katasztrofális kódoló Szabad távolság Komplex kódábécé
122
Komplex kódábécé Nézzük az egyes állapotok távolságát:
Információelmélet – Konvolúciós kódolás Komplex kódábécé Nézzük az egyes állapotok távolságát: a kiindulási bitpárokat, mint komplex számokat értelmezve a távolsá- gaik euklideszi mértékkel: a kimeneti bittrióknak, mint komplex számoknak a távolsága: Konvolúciós kódok Alapfogalmak Állapotát-meneti gráf Trellis Polinom-reprezentáció Katasztrofális kódoló Szabad távolság Komplex kódábécé
123
Komplex kódábécé Információelmélet – Konvolúciós kódolás
Keressük meg a tiszta nulla bemenetre adott tiszta nulla kimenethez euklideszi távolságban legközelebb eső kódolt üzenetet: A hozzá tartozó résztávolságok: Konvolúciós kódok Alapfogalmak Állapotát-meneti gráf Trellis Polinom-reprezentáció Katasztrofális kódoló Szabad távolság Komplex kódábécé
124
Komplex kódábécé Információelmélet – Konvolúciós kódolás
A tiszta nulla bemenetre adott tiszta nulla kimenet euklideszi távolsága a hozzá legközelebb eső kódolt üzenettől: Az eredeti üzenet távolsága a tiszta nulla üzenettől Így a kódolási nyereség: Konvolúciós kódok Alapfogalmak Állapotát-meneti gráf Trellis Polinom-reprezentáció Katasztrofális kódoló Szabad távolság Komplex kódábécé
125
Információelmélet – Konvolúciós kódolás
Komplex kódábécé A valós számokkal és Hamming-távolsággal ugyanez a kódolási nyereség: az üzenet: … Hamming-távolsága a … üzenettől: 1 kódolt üzenet: Hamming-távolsága a … kódolt üzenettől: 3 Így a kódolási nyereség: Konvolúciós kódok Alapfogalmak Állapotát-meneti gráf Trellis Polinom-reprezentáció Katasztrofális kódoló Szabad távolság Komplex kódábécé
126
Maximum likelihood dekódolás
Információelmélet – Viterbi-algoritmus Maximum likelihood dekódolás A Viterbi-dekódolás olyan algoritmus amelyet a trellis kódok maximum likelihood dekódolására fejlesztettek ki és optimalizáltak. Szemléltetés: Bináris szimmetrikus csatorna p < 1/2 paraméterrel. Legyen a csatornára adott vektor c = ( c 1 , c 2 , …, c N ), a kimeneten észlelt vektor v=( v 1 , v 2 , …, v N ). A p( v|c ) feltételes valószínűség: Viterbi-algoritmus ML dekódolás Algoritmus Működés
127
Maximum likelihood dekódolás
Információelmélet – Viterbi-algoritmus Maximum likelihood dekódolás Viterbi-algoritmus ML dekódolás Algoritmus Működés mivel a csatorna mindkét bit esetén 1−p valószínűséggel továbbít helyes jelet és p valószínűséggel hibáz; N darab szimbólum van és ebből d( v, c ) helyen tér el a két vektor egymástól, azaz ennyi helyen rontott a csatorna.
128
Maximum likelihood dekódolás
Információelmélet – Viterbi-algoritmus Maximum likelihood dekódolás Maximum likelihood döntésnél tehát a valószínűséget kell maximalizálni, azaz, mivel a d(v, c) Hamming-távolságot kell minimalizálni. Viterbi-algoritmus ML dekódolás Algoritmus Működés
129
Maximum likelihood dekódolás
Információelmélet – Viterbi-algoritmus Maximum likelihood dekódolás Viterbi-algoritmus ML dekódolás Algoritmus Működés Tehát a d(v, c) Hamming-távolságot kell minimalizálni. Jelöljük az i-edik kódszókeretet c i -vel, a belőle a csatorna kimenetén kapott szimbólumsorozatot v i -vel, távolságukat d(v i , c i )-vel. ekkor a Hamming-távolság minimumát kell keresni (d(c,v) a fenti szorzat kitevőjében van).
130
Maximum likelihood dekódolás
Információelmélet – Viterbi-algoritmus Maximum likelihood dekódolás Viterbi-algoritmus ML dekódolás Algoritmus Működés A trellisben minden kódszókeretet egy-egy él reprezentál. Rendeljünk hozzá minden élhez egy olyan súlyfaktort avagy metrikát (mértéket), amely arányos ezzel a mennyiséggel, járjunk végig minden lehetséges utat, és válasszuk ki közülük a maximális súlyút. (Ha a Hamming-távolság a metrika akkor a minimumot kell keresni) Ez a Viterbi-dekódolás alapötlete. A legegyszerűbb, ha a vett bitsorozattól mért Hamming-távolságot nevezzük ki metrikának. (BSC esetén jó is)
131
Maximum likelihood dekódolás
Információelmélet – Viterbi-algoritmus Maximum likelihood dekódolás Viterbi-algoritmus ML dekódolás Algoritmus Működés Más típusú diszkrét, emlékezet nélküli csatornánál is lehet a szorzatként előálló p(v|c) likelihood helyett olyan mennyiséget találni, amelyet egy-egy kódszókerethez tartozó részmennyiségek összegeként lehet meghatározni:
132
Információelmélet – Viterbi-algoritmus
Az algoritmus A Viterbi-dekódolás A következő ciklust hajtja végre amíg el nem fogy a vett szimbólumsorozat: beolvas egy kódszókeretet, az i-ediket: c i -t kiszámolja a trellis i-edik és i+1-edik mélységi csomópontjai közötti ágak súlyát a c i ismeretében előhívja az i-edik mélységi csomópontokig vezető utak metrikáját, ezekhez hozzáadja az újakat, így minden i+1-edik csomóponthoz kap több útvonalat különféle metrikával; Viterbi-algoritmus ML dekódolás Algoritmus Működés
133
Információelmélet – Viterbi-algoritmus
Az algoritmus előhívja az i-edik mélységi csomópontokig vezető utak metrikáját, ezekhez hozzáadja az újakat, így minden i+1-edik csomóponthoz kap több útvonalat különféle metrikával; ezeket az útvonalakat hozzárendeli azokhoz az i+1-edik mélységi csomópontokhoz, amelyekbe mutatnak. az állapotokhoz rendelt útvonalak közül kiválasztja a maximális súlyút, azt elraktározza az adott csomóponthoz, ez lesz a túlélő útvonal, a többit törli. (Hamming-távolság esetén a maximális súly a minimális Hamming-távolság.) Viterbi-algoritmus ML dekódolás Algoritmus Működés
134
A Viterbi-dekódolás működése
Információelmélet – Viterbi-algoritmus A Viterbi-dekódolás működése Nézzük az egyik egyszerű korábbi kódolónkat, és a belőle a üzenet hatására kapott kódot: Hibázzon a csatorna a második és az ötödik bitben, így a vett bitsorozat: Hajtsuk végre a Viterbi-dekódolást:
135
A Viterbi-dekódolás működése
Információelmélet – Viterbi-algoritmus A Viterbi-dekódolás működése Emlékeztetőül a trellis: A vett bitsorozat: lépés: az 1. élek súlya
136
A Viterbi-dekódolás működése
Információelmélet – Viterbi-algoritmus A Viterbi-dekódolás működése Emlékeztetőül a trellis: A vett bitsorozat: lépés: a 2. élek súlya Eddig minden csúcshoz csak egy él érkezett, nem kellett választani közülük
137
A Viterbi-dekódolás működése
Információelmélet – Viterbi-algoritmus A Viterbi-dekódolás működése Emlékeztetőül a trellis: A vett bitsorozat: a két él közül kisebb súlyút (a pirosat) választjuk, az lesz a túlélő él, a másikat töröljük
138
A Viterbi-dekódolás működése
Információelmélet – Viterbi-algoritmus A Viterbi-dekódolás működése Emlékeztetőül a trellis: A vett bitsorozat:
139
A Viterbi-dekódolás működése
Információelmélet – Viterbi-algoritmus A Viterbi-dekódolás működése Emlékeztetőül a trellis: A vett bitsorozat:
140
A Viterbi-dekódolás működése
Információelmélet – Viterbi-algoritmus A Viterbi-dekódolás működése Emlékeztetőül a trellis: A vett bitsorozat:
141
A Viterbi-dekódolás működése
Információelmélet – Viterbi-algoritmus A Viterbi-dekódolás működése Emlékeztetőül a trellis: A vett bitsorozat:
142
A Viterbi-dekódolás működése
Információelmélet – Viterbi-algoritmus A Viterbi-dekódolás működése Emlékeztetőül a trellis: A vett bitsorozat:
143
A Viterbi-dekódolás működése
Információelmélet – Viterbi-algoritmus A Viterbi-dekódolás működése Emlékeztetőül a trellis: A vett bitsorozat:
144
A Viterbi-dekódolás működése
Információelmélet – Viterbi-algoritmus A Viterbi-dekódolás működése Emlékeztetőül a trellis: A vett bitsorozat:
145
A Viterbi-dekódolás működése
Információelmélet – Viterbi-algoritmus A Viterbi-dekódolás működése Emlékeztetőül a trellis: A vett bitsorozat:
146
A Viterbi-dekódolás működése
Információelmélet – Viterbi-algoritmus A Viterbi-dekódolás működése Emlékeztetőül a trellis: A vett bitsorozat:
147
A Viterbi-dekódolás működése
Információelmélet – Viterbi-algoritmus A Viterbi-dekódolás működése Emlékeztetőül a trellis: A vett bitsorozat: Ha két egyforma súlyú útvonal vezet egy ponthoz, közülük véletlenszerűen döntünk, melyik lesz túlélő és melyike(ke)t dobjuk el.
148
A Viterbi-dekódolás működése
Információelmélet – Viterbi-algoritmus A Viterbi-dekódolás működése Emlékeztetőül a trellis: A vett bitsorozat:
149
A Viterbi-dekódolás működése
Információelmélet – Viterbi-algoritmus A Viterbi-dekódolás működése Emlékeztetőül a trellis: A vett bitsorozat:
150
A Viterbi-dekódolás működése
Információelmélet – Viterbi-algoritmus A Viterbi-dekódolás működése A kapott túlélő útvonalak közül kiválasztjuk a minimális súlyút: a 2 súlyú utat. Az útvonal és a trellis ismeretében az üzenet visszakapható: Mivel minden pontba csak egy túlélő él fut be, a hibajavítás egyértelmű, a végétől visszafelé követhető az útvonal (fordított irányban vannak elágazások)
151
A Viterbi-dekódolás működése
Információelmélet – Viterbi-algoritmus A Viterbi-dekódolás működése A kapott túlélő útvonalak közül kiválasztjuk a minimális súlyút: a 2 súlyú utat. Az útvonal és a trellis ismeretében az üzenet visszakapható: Felderíthető, hol hibázott a csatorna: amely kódszókeretnél nőtt az összsúly, annak továbbításakor volt rontás.
152
Gyakorló feladatok: Konvolúciós kódolók
Információelmélet – Gyakorló feladatok Gyakorló feladatok: Konvolúciós kódolók Legyen egy k=1-es konvolúciós kódolót jellemző két polinom: Rajzoljuk fel a kódoló blokkvázlatát! Adjuk meg a kódoló állapotátmeneti gráfját.
153
Gyakorló feladatok: Konvolúciós kódolók
Információelmélet – Gyakorló feladatok Gyakorló feladatok: Konvolúciós kódolók Legyen egy k=1-es konvolúciós kódolót jellemző állapotátmeneti gráf: Adjuk meg a kódoló trellisét a következő pontokat felhasználva. Adjuk meg a üzenet által generált bitsorozatot tiszta nulla kezdeti tárolóállapotokat feltéve. Mi marad a végén a tárolókban?
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.