Nagy Szilvia 7. Lineáris blokk-kódok Információelmélet Nagy Szilvia 7. Lineáris blokk-kódok 2005.
Információelmélet – Lineáris blokk-kódok Blokk-kódok: a tömörített üzenet k hosszúságú blokkjaihoz rendelnek egy-egy n hosszúságú kódszót. (n>k) Lineáris blokk-kódok olyan blokk-kódok, melyekre a kódszavak halmaza lineáris tér: K altere Cn-nek. Ha K lineáris tér (k dimenziós), akkor { g0, g1, …, gk1 } bázisrendszere, és minden ci kódszó kifejthető e bázisrendszer szerint: Lineáris blokk-kódok Definíció Generátor-mátrix Mátrixszorzás Szisztematikus kódok – G Paritásmátrix, szindróma Szisztematikus kódok – HT Mellék-osztályok
Információelmélet – Lineáris blokk-kódok Minden ci kódszó kifejthető a bázisrendszer szerint: Ha a gj-k adottak, akkor a ci-ket jól leírják a kifejtési együtthatóikból álló sorvektorok: A bázisrendszer választása még adott K mellett sem egyértelmű. Más-más bázisrendszerhez más és más együtthatók tartoznak. Lineáris blokk-kódok Definíció Generátor-mátrix Mátrixszorzás Szisztematikus kódok – G Paritásmátrix, szindróma Szisztematikus kódok – HT Mellék-osztályok
Információelmélet – Lineáris blokk-kódok Minden K kódra van egy olyan bázisrendszer, amelyben a bi=(bi0, bi1, …, bi k−1) üzenetekhez rendelt kódszó: Példa: legyen a kódszavak K tere az ötdimenziós térnek egy háromdimenziós altere, amelyet a g0=(1 0 0 1 0) g1=(0 1 0 0 1) g2=(0 0 1 1 0) vektorok határoznak meg. Adjuk meg a b=(0 1 1) üzenethez rendelt kódszót. Lineáris blokk-kódok Definíció Generátor-mátrix Mátrixszorzás Szisztematikus kódok – G Paritásmátrix, szindróma Szisztematikus kódok – HT Mellék-osztályok
Lineáris blokk-kódok g0=(1 0 0 1 0), g1=(0 1 0 0 1), g2=(0 0 1 1 0) Információelmélet – Lineáris blokk-kódok Lineáris blokk-kódok g0=(1 0 0 1 0), g1=(0 1 0 0 1), g2=(0 0 1 1 0) A b=(0 1 1) üzenethez rendelt kódszó: Lineáris blokk-kódok Definíció Generátor-mátrix Mátrixszorzás Szisztematikus kódok – G Paritásmátrix, szindróma Szisztematikus kódok – HT Mellék-osztályok
Információelmélet – Lineáris blokk-kódok Generátormátrix A { g0, g1, …, gk1 } bázisvektorokból az alábbi szabály szerint épített G mátrix a kód generátormátrixa: Az üzenet együtthatóiból a G mátrix segítségével megkapható a kódszó: Lineáris blokk-kódok Definíció Generátor-mátrix Mátrixszorzás Szisztematikus kódok – G Paritásmátrix, szindróma Szisztematikus kódok – HT Mellék-osztályok
Matematikai kitérő – Mátrixszorzásról Információelmélet – Lineáris blokk-kódok Matematikai kitérő – Mátrixszorzásról Egy sorvektor és egy oszlopvektor skaláris szorzata: A mátrixszorzás: legyen az A mátrixnak ugyanannyi oszlopa, mint amennyi sora van B-nek (j+1 db): Lineáris blokk-kódok Definíció Generátor-mátrix Mátrixszorzás Szisztematikus kódok – G Paritásmátrix, szindróma Szisztematikus kódok – HT Mellék-osztályok
Matematikai kitérő – Mátrixszorzásról Információelmélet – Lineáris blokk-kódok Matematikai kitérő – Mátrixszorzásról Az A mátrixnak a B-vel vett szorzata: Az A∙B m-edik sorának n-edik eleme az A m-edik sorvektorának és B n-edik oszlopvektorának a skalárszorzata. Lineáris blokk-kódok Definíció Generátor-mátrix Mátrixszorzás Szisztematikus kódok – G Paritásmátrix, szindróma Szisztematikus kódok – HT Mellék-osztályok
Matematikai kitérő – Mátrixszorzásról Információelmélet – Lineáris blokk-kódok Matematikai kitérő – Mátrixszorzásról Ha A sorainak a száma nem azonos B oszlopainak a számával, akkor B∙A nem értelmezett. Ha B∙A értelmezett, többnyire akkor is A∙B≠ B∙A. A mátrixszorzás nem kommutatív – nem felcserélhető. Megjegyzés: diadikus szorzat: a b oszlopvektor és a sorvektor diadikus szorzata egy j × j -s mátrix: Lineáris blokk-kódok Definíció Generátor-mátrix Mátrixszorzás Szisztematikus kódok – G Paritásmátrix, szindróma Szisztematikus kódok – HT Mellék-osztályok
Matematikai kitérő – Mátrixszorzásról Információelmélet – Lineáris blokk-kódok Matematikai kitérő – Mátrixszorzásról Egységmátrix: minden A-ra I∙A=A∙I=A Lineáris blokk-kódok Definíció Generátor-mátrix Mátrixszorzás Szisztematikus kódok – G Paritásmátrix, szindróma Szisztematikus kódok – HT Mellék-osztályok a diagonálisban 1-esek vannak, mindenhol máshol 0-k
Generátormátrix A K kód G generátormátrixa: Információelmélet – Lineáris blokk-kódok Generátormátrix A K kód G generátormátrixa: Összesen k darab bázisvektort választottunk (g0, g1, …, gk1-et), ezek jelölik ki a K alteret a Cn téren belül: G generálja a kódszavak alterét. Lineáris blokk-kódok Definíció Generátor-mátrix Mátrixszorzás Szisztematikus kódok – G Paritásmátrix, szindróma Szisztematikus kódok – HT Mellék-osztályok
Információelmélet – Lineáris blokk-kódok Generátormátrix A k darab választott bázisvektor mindegyike n hosszúságú, ugyanakkor egy k-dimenziós teret írnak le (ehhez k komponens is elég lenne): n−k szimbólum felesleges, redundáns. Ezek a szimbólumok nem tartalmaznak új információt, őket használjuk fel arra, hogy a kódszavak Hamming-távolsága nagy legyen, ők teszik lehetővé a hibajelzést és -javítást. Csatornakódolás során az entrópia csökken. Lineáris blokk-kódok Definíció Generátor-mátrix Mátrixszorzás Szisztematikus kódok – G Paritásmátrix, szindróma Szisztematikus kódok – HT Mellék-osztályok
Információelmélet – Lineáris blokk-kódok Generátormátrix Példa: legyen a kódszavak K tere az ötdimenziós térnek egy háromdimenziós altere, amelyet a g0=(1 0 0 1 0); g1=(0 1 0 0 1) és g2=(0 0 1 1 0) vektorok határoznak meg. Adjuk meg a generátormátrixsszal a b=(0 1 1) üzenethez rendelt kódszót. Lineáris blokk-kódok Definíció Generátor-mátrix Mátrixszorzás Szisztematikus kódok – G Paritásmátrix, szindróma Szisztematikus kódok – HT Mellék-osztályok
Szisztematikus kódok generátormátrixa Információelmélet – Lineáris blokk-kódok Szisztematikus kódok generátormátrixa Lineáris blokk-kódok Definíció Generátor-mátrix Mátrixszorzás Szisztematikus kódok – G Paritásmátrix, szindróma Szisztematikus kódok – HT Mellék-osztályok A szisztematikus kód olyan (n,k) paraméterű kód, amelynek minden kódszavának az első k karaktere megegyezik az üzenettel. A szisztematikus kódok generátormátrixa: üzenetszegmens paritásszegmens
Paritásmátrix, szindróma Információelmélet – Lineáris blokk-kódok Paritásmátrix, szindróma Lineáris blokk-kódok Definíció Generátor-mátrix Mátrixszorzás Szisztematikus kódok – G Paritásmátrix, szindróma Szisztematikus kódok – HT Mellék-osztályok A csatorna kimenetén kapott v vektorról el kell dönteni, hogy kódszó-e. Ha a v vektor paritásellenőrző HT mátrixszal (paritásmátrixszal) vett szorzata 0, akkor v kódszó, ha nem, akkor vK. A v vektor HT paritásmátrixszal vett szorzata a vektor szindrómája: A kódszavakra tehát: így Ezt használják fel HT előállítására.
Szisztematikus kódok paritásmátrixa Információelmélet – Lineáris blokk-kódok Szisztematikus kódok paritásmátrixa A szisztematikus kódok generátormátrixa egyszerű szerkezetű: Paritásmátrixuk szintén egyszerű és a G mátrixból könnyen előállítható: Lineáris blokk-kódok Definíció Generátor-mátrix Mátrixszorzás Szisztematikus kódok – G Paritásmátrix, szindróma Szisztematikus kódok – HT Mellék-osztályok Belátható, hogy P=P’: i-edik sorának j-edik eleme: G i-edik sorának első k ele-me I-ből származik, így közülük az i-edik elem 1, a többi 0. Ez a szakasz P’ j-edik oszlopával szorzódik, az eredmény P’ij.
Szisztematikus kódok paritásmátrixa Információelmélet – Lineáris blokk-kódok Szisztematikus kódok paritásmátrixa A szisztematikus kódok generátormátrixa egyszerű szerkezetű: Paritásmátrixuk szintén egyszerű és a G mátrixból könnyen előállítható: Lineáris blokk-kódok Definíció Generátor-mátrix Mátrixszorzás Szisztematikus kódok – G Paritásmátrix, szindróma Szisztematikus kódok – HT Mellék-osztályok G i-edik sorának utolsó nk eleme a HT egy-ségmátrix-részével szorzódik, ahonnan csak a j-edik elem 1, a többi nulla- az eredmény Pij . A teljes eredmény P’ij + Pij, ami 0, így P’ij = Pij
Hibavektorok és mellékosztályaik Információelmélet – Lineáris blokk-kódok Hibavektorok és mellékosztályaik Legyen a vett v vektorunk ahol Δc a hibavektor. A v szindrómája ekkor ami pont a Δc szindrómája. A Δci hibavektor által a K kódból generált Mi mellékosztály azon vk vektorok halmaza, amelyek a ck K kódszavakból jönnek létre. Az Mi mellékosztály összes elemének a szindrómája azonos: megegyezik Δci szindrómájával. Lineáris blokk-kódok Definíció Generátor-mátrix Mátrixszorzás Szisztematikus kódok – G Paritásmátrix, szindróma Szisztematikus kódok – HT Mellék-osztályok
Hibavektorok és mellékosztályaik Információelmélet – Lineáris blokk-kódok Hibavektorok és mellékosztályaik A Δci hibavektorok egy része előáll egy másik Δcj hibavektorból egy kódszó hozzáadásával: Ezeknek a szindrómája és egyben a mellékosztálya azonos lesz. Mivel a mellékosztályok elemei egy hibavektorból a kódszavak hozzáadásával állnak elő, a mellékosztályok tartalmazzák az összes azonos szindrómájú hibamintázatot. Lineáris blokk-kódok Definíció Generátor-mátrix Mátrixszorzás Szisztematikus kódok – G Paritásmátrix, szindróma Szisztematikus kódok – HT Mellék-osztályok
Hibavektorok és mellékosztályaik Információelmélet – Lineáris blokk-kódok Hibavektorok és mellékosztályaik A mellékosztályok tartalmazzák az összes azonos szindrómájú hibamintázatot. Lineáris blokk-kódok Definíció Generátor-mátrix Mátrixszorzás Szisztematikus kódok – G Paritásmátrix, szindróma Szisztematikus kódok – HT Mellék-osztályok
Hibavektorok és mellékosztályaik Információelmélet – Lineáris blokk-kódok Hibavektorok és mellékosztályaik A v vektorok tehát több Δcij-ből is előállnak, más és más cj kódszóból. (Mindig csak egy mellékosztály Δcij-iből! A szindróma azonos.) El kell dönteni, melyik kódszóba javítsuk őket. Abba a kódszóba javítjuk v-t, amelyiktől a legkisebb a Hamming-távolsága. Egy a=(a0, a1, …, an1) vektor w(a) súlya a nem nulla ai komponenseinek a száma. A legkisebb súlyú Δcij hibamintázat eredményezi az eredeti c vektortól a legkisebb Hamming-távolságbeli eltérést. Lineáris blokk-kódok Definíció Generátor-mátrix Mátrixszorzás Szisztematikus kódok – G Paritásmátrix, szindróma Szisztematikus kódok – HT Mellék-osztályok
Hibavektorok és mellékosztályaik Információelmélet – Lineáris blokk-kódok Hibavektorok és mellékosztályaik A legkisebb súlyú Δcij hibamintázat eredményezi az eredeti c vektortól a legkisebb Hamming-távolságbeli eltérést. A v vektor szindrómájához tartozó mellékosztályból a legkisebb súlyút, Δcij0t, vesszük hibavektornak, ezzel javítjuk ki v-t: cbecsült=v Δcij0 A mellékosztályok legkisebb súlyú elemeit a mellékosztályok vezető elemeinek nevezik. Lineáris blokk-kódok Definíció Generátor-mátrix Mátrixszorzás Szisztematikus kódok – G Paritásmátrix, szindróma Szisztematikus kódok – HT Mellék-osztályok