Nagy Szilvia 10. Reed—Solomon-kódok

Slides:



Advertisements
Hasonló előadás
Integritási tartományok
Advertisements

Lineáris egyenletrendszerek
A Floyd-Warshall algoritmus
A polinomalgebra elemei
Lineáris egyenletrendszerek megoldása Gauss elimináció, Cramer-szabály Dr. Kovács Sándor DE GVK Gazdaságelemzési és Statiszikai Tanszék.
Készítette: Kosztyán Zsolt Tibor
Nevezetes algoritmusok
Kódelmélet.
Gábor Dénes Főiskola Informatikai Rendszerek Intézete Informatikai Alkalmazások Tanszék Infokommunikáció Beszédjelek Házman DIGITÁLIS BESZÉDJEL ÁTVITEL.
Függvények Egyenlőre csak valós-valós függvényekkel foglalkozunk.
MI 2003/ A következőkben más megközelítés: nem közvetlenül az eloszlásokból indulunk ki, hanem a diszkriminancia függvényeket keressük. Legegyszerűbb:
Halmazok, műveletek halmazokkal
Kötelező alapkérdések
Kalman-féle rendszer definíció
Híranyagok tömörítése
GNSS elmélete és felhasználása Fázismérések lineáris kombinációi. A ciklustöbbértelműség feloldása.
Illeszkedési mátrix Villamosságtani szempontból legfontosabb mátrixreprezentáció. Legyen G egy irányított gráf, n ponton e éllel. Az n x e –es B(G) mátrixot.
Matematika II. 2. előadás Geodézia szakmérnöki szak 2012/2013. tanév Műszaki térinformatika ágazat őszi félév.
Illés Tibor – Hálózati folyamok
I. Adott egy lineáris bináris kód a következő generátormátrixszal
Prímtesztelés Témavezető: Kátai Imre Komputeralgebra Tanszék Nagy Gábor:
Euklidészi gyűrűk Definíció.
Egy f  R[x] polinom cS -beli helyettesítési értéke
1.
Gyűrűk Definíció. Az (R, +, ·) algebrai struktúra gyűrű, ha + és · R-en binér műveletek, valamint I. (R, +) Abel-csoport, II. (R, ·) félcsoport, és III.
4. VÉGES HALMAZOK 4.1 Alaptulajdonságok
Az összehasonlító rendezések
Algebra a matematika egy ága
Papp Róbert, Blaskovics Viktor, Hantos Norbert
OPERÁCIÓKUTATÁS Kalmár János, 2011 Tartalom Több lineáris célfüggvényes LP Tiszta egészértékű LP.
OPERÁCIÓKUTATÁS Kalmár János, 2012 Tartalom A nulla-egy LP megoldása Hátizsák feladat.
A digitális számítás elmélete
Év eleji információk Előadó: Hosszú Ferenc II. em Konzultáció: Szerda 9:50 – 10:35 II. em
Lineáris algebra Mátrixok, determinánsok, lineáris egyenletrendszerek
Integrálszámítás Mire fogjuk használni az integrálszámítást a matematikában, hova szeretnénk eljutni? Hol használható és mire az integrálszámítás? (már.
Valós számok Def. Egy algebrai struktúra rendezett test, ha test és rendezett integritási tartomány. Def. Egy (T; +,  ;  ) rendezett test felső határ.
MATEMATIKA ÉS INFORMATIKA I.
Lineáris algebra.
Ciklikus, lineáris kódok megvalósítása shift-regiszterekkel
Lineáris programozás Elemi példa Alapfogalmak Általános vizsg.
Alapsokaság (populáció)
Vektorterek Definíció. Legyen V Abel-csoport, F test, továbbá
2005. Információelmélet Nagy Szilvia 8. Hamming-kódok.
Nagy Szilvia 3. Konvolúciós kódolás
1. MATEMATIKA ELŐADÁS Halmazok, Függvények.
Lineáris algebra.
Nagy Szilvia 5. Út a csatornán át

Műveletek, függvények és tulajdonságaik Mátrix struktúrák:
Nagy Szilvia 13. Konvolúciós kódolás
2005. Információelmélet Nagy Szilvia 3. Forráskódolási módszerek.
Kommunikációs Rendszerek
Többdimenziós valószínűségi eloszlások
Nagy Szilvia 7. Lineáris blokk-kódok
2005. Információelmélet Nagy Szilvia 2. A forráskódolás elmélete.
Nagy Szilvia 9. Ciklikus kódolás
2005. Információelmélet Nagy Szilvia 12. A hibacsomók elleni védekezés.
Hibajavító kódok.
előadások, konzultációk
2005. Információelmélet Nagy Szilvia 14. Viterbi-algoritmus.
T.5. tétel (minimálpolinom egyértelmű létezése)
Nagy Szilvia 6. Csatornakódolás
Nagy Szilvia 2. Lineáris blokk-kódok II.
2005. Információelmélet Nagy Szilvia 1. Az információelmélet alapfogalmai 2. A forráskódolás elmélete 3. Forráskódolási módszerek.
HÁLÓZAT Maximális folyam, minimális vágás
Lineáris programozás Elemi példa Alapfogalmak Általános vizsg.
Integrálszámítás.
Mediánok és rendezett minták
II. konzultáció Analízis Sorozatok Egyváltozós valós függvények I.
Lineáris egyenletrendszerek megoldása Gauss elimináció, Cramer-szabály Dr. Kovács Sándor DE GVK Gazdaságelemzési és Statiszikai Tanszék.
Előadás másolata:

Nagy Szilvia 10. Reed—Solomon-kódok Információelmélet Nagy Szilvia 10. Reed—Solomon-kódok 2005.

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

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

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

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 cK 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

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

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

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

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

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

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

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.

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

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

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, …, n1, 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

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

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

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 M1} 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)

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, 1 0 és 1 1. Minden számhoz rendeljünk egy legfeljebb 21=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:

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:

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

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

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

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

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

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.

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=(3 0 1 4) GF(5 )-beli 4 komponensű vektor Fourier-transzfor-máltjának komponenseit J =3-mal:

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

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

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

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=(3 0 1 4) és a b=(2 0 2 1) 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

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

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) = 0. 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

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

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

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 gb i-edik komponense. Tehát c = gb. 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

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

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

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

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

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

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

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

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

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:

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

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

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 (0 2 6 7 1 1) ü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

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 (6 10 7 5 0 8 0 5 6 0) vett vektorból kapott szindróma: (233 108 230 141)≡ ≡(2 9 10 9). 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

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 (6 10 7 5 0 8 0 5 6 0) vektort. A szindróma: (2 9 10 9). 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

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 (6 10 7 5 0 8 0 5 6 0) 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

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 (6 10 7 5 0 8 0 5 6 0) 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

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.

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:

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 (2 9 10 9) volt,

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 (2 9 10 9) volt,

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

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

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 (6 10 7 5 0 8 0 5 6 0) vektort. A hibavektor komponensei: A javított kódszó: (6 10 1 5 3 8 0 5 6 0) 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

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.

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

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

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

Hibacsomók elleni védekezés Információelmélet – Hibacsomók elleni védekezés Blokkos kódátfűzés Egy DD-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

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

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 2424-es mátrixot oszlopfolytonosan. Oszloponként (24, 28) paraméterű, GF(28) feletti Reed—Solomon-kóddal kódolják az adatokat  2824-es mátrix. A kapott mátrix sorait is kódolják az iménti R—S-kóddal.  2828-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

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.

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.

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.

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

Gyakorló feladatok: LZW kód Információelmélet – Gyakorló feladatok Gyakorló feladatok: LZW kód Kódoljuk az „5 7 5 7 7 2 5 2 5 7 7 2 5 7 2 5” ü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

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ó?

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 „11 0 1 0 0 0 1 0 1 0 0 11” vett bitsorozat szindrómáját. Mi lehetett az eredeti kódszó? Milyen üzenetből jöhetett létre az iménti vett bitsorozat?

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 „2 4 3 5 1 6 2 0” vett bitsorozat szindrómáját. Mi lehetett az eredeti kódszó? Milyen üzenetből jöhetett létre az iménti vett bitsorozat?

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 „3 1 3 0 4 0” 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 „3 1 3 0 4 0”? Mi a kód paritásellenőrző polinomja? Mennyi a „3 1 3 0 4 0”-hez rendelt polinom szindrómája?

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 1 1 0 1 vektorból általa előállított kódszópolinomot. Mi a paritásellenőrző polinom? Mi t6+t5+t3+1 vett polinom szindrómapolinomja?

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=(3 0 1 8) üzenethez generált tízelemű kódszót.

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.

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

Nagy Szilvia 13. Konvolúciós kódolás Információelmélet Nagy Szilvia 13. Konvolúciós kódolás 2005.

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.

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é

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.

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

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

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=1 0 1 0 0 0 … a második ág bitsorozata: g2=1 1 1 0 0 0 … 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é

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=1 0 1 0 0 0 … a második ág bitsorozata: g2=1 1 1 0 0 0 … Az első ág kimenete: b1, b2, b3+b1, b4+b2, b5 +b3, …= = g1b A második ág kimenete: b1, b2+b1, b1+b2+b3, b2+b3+b4, b3+b4 +b5,…= =g2b 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é

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

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

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

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

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 0 0 1 0 1 1 1 0 (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

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:

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:

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é

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é

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é

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é

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é

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é

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é

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é

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. 2 2 = 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é

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

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

Konvolúciós kódok Információelmélet – Konvolúciós kódolás Példa: Kódoljuk a 01 11 00 01 00 10 11 ü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

Konvolúciós kódok Információelmélet – Konvolúciós kódolás Példa: Kódoljuk a 01 11 00 01 00 10 11 ü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

Konvolúciós kódok Információelmélet – Konvolúciós kódolás Példa: Kódoljuk a 01 11 00 01 00 10 11 ü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

Konvolúciós kódok Információelmélet – Konvolúciós kódolás Példa: Kódoljuk a 01 11 00 01 00 10 11 ü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

Konvolúciós kódok Információelmélet – Konvolúciós kódolás Példa: Kódoljuk a 01 11 00 01 00 10 11 ü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

Konvolúciós kódok Információelmélet – Konvolúciós kódolás Példa: Kódoljuk a 01 11 00 01 00 10 11 ü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

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, 11 10 kimenet) után a kimenet csupa nulla lesz.

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é

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é

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:

Nagy Szilvia 14. Viterbi-algoritmus Információelmélet Nagy Szilvia 14. Viterbi-algoritmus 2005.

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é

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.

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é

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é

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é

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é

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é

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é

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: 10 00 00 00 00 … Hamming-távolsága a 00 00 00 00 00 … üzenettől: 1 kódolt üzenet: 010 100 010 000 000 Hamming-távolsága a 000 000 000 000 000 … 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é

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

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.

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

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

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)

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:

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

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

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 0 1 0 1 1 1 0 üzenet hatására kapott kódot: 00 00 11 01 00 10 01 10. Hibázzon a csatorna a második és az ötödik bitben, így a vett bitsorozat: 01 00 01 01 00 10 01 10. Hajtsuk végre a Viterbi-dekódolást:

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: 01 00 01 01 00 10 01 10. 1. lépés: az 1. élek súlya

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: 01 00 01 01 00 10 01 10. 2. lépés: a 2. élek súlya Eddig minden csúcshoz csak egy él érkezett, nem kellett választani közülük

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: 01 00 01 01 00 10 01 10. 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

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: 01 00 01 01 00 10 01 10.

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: 01 00 01 01 00 10 01 10.

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: 01 00 01 01 00 10 01 10.

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: 01 00 01 01 00 10 01 10.

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: 01 00 01 01 00 10 01 10.

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: 01 00 01 01 00 10 01 10.

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: 01 00 01 01 00 10 01 10.

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: 01 00 01 01 00 10 01 10.

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: 01 00 01 01 00 10 01 10.

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: 01 00 01 01 00 10 01 10. 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.

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: 01 00 01 01 00 10 01 10.

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: 01 00 01 01 00 10 01 10.

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ó: 0 0 1 0 1 1 1 0 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)

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ó: 0 0 1 0 1 1 1 0 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.

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.

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 0 1 1 0 1 0 üzenet által generált bitsorozatot tiszta nulla kezdeti tárolóállapotokat feltéve. Mi marad a végén a tárolókban?