Podstawy Informatyki: Kody. Korekcja błędów.

Podobne dokumenty
W11 Kody nadmiarowe, zastosowania w transmisji danych

Matematyka dyskretna

Kodowanie i kompresja Tomasz Jurdziński Studia Wieczorowe Wykład Kody liniowe - kodowanie w oparciu o macierz parzystości

0 + 0 = 0, = 1, = 1, = 0.

Teoria informacji i kodowania Ćwiczenia Sem. zimowy 2016/2017

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 6

Detekcja i korekcja błędów w transmisji cyfrowej

Kody blokowe Wykład 2, 10 III 2011

Laboratorium ochrony danych

Teoria Informacji - wykład. Kodowanie wiadomości

Detekcja i korekcja błędów w transmisji cyfrowej

teoria informacji Kanały komunikacyjne, kody korygujące Mariusz Różycki 25 sierpnia 2015

1 WPROWADZENIE 1. Agata Pilitowska. parzysta. 3. Znaleźć odległość kodu kontroli parzystości nad ciałem GF (q).

Kody blokowe Wykład 1, 3 III 2011

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Elementy teorii informacji i kodowania

xx + x = 1, to y = Jeśli x = 0, to y = 0 Przykładowy układ Funkcja przykładowego układu Metody poszukiwania testów Porównanie tabel prawdy

Teoria informacji i kodowania Ćwiczenia

WST P DO TEORII INFORMACJI I KODOWANIA. Grzegorz Szkibiel. Wiosna 2013/14

Kody Tunstalla. Kodowanie arytmetyczne

Systemy bezpieczne i FTC (Niezawodne Systemy Cyfrowe)

Przestrzeń unitarna. Jacek Kłopotowski. 23 października Katedra Matematyki i Ekonomii Matematycznej SGH

teoria informacji Entropia, informacja, kodowanie Mariusz Różycki 24 sierpnia 2015

Kodowanie i entropia

1 WPROWADZENIE 1. Agata Pilitowska. parzysta. 3. Znaleźć odległość kodu kontroli parzystości nad ciałem GF (q).

Teoria informacji i kodowania

Podstawowe pojęcia. Teoria informacji

Modulacja i Kodowanie. Labolatorium. Kodowanie Kanałowe Kody Hamminga

Kody splotowe. Zastosowanie

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 9,

Kompresja bezstratna. Entropia. Kod Huffmana

Teoria Informacji i Metody Kompresji Danych

WST P DO TEORII INFORMACJI I KODOWANIA. Grzegorz Szkibiel. Wiosna 2013/14

Tranzystor JFET i MOSFET zas. działania

Nierówność Krafta-McMillana, Kodowanie Huffmana

Wykład VIII. Systemy kryptograficzne Kierunek Matematyka - semestr IV. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Wygra Polska czy Brazylia, czyli o tym jak zwięźle zapisywać informacje

Kompresja danych kodowanie Huffmana. Dariusz Sobczuk

Kody blokowe Wykład 5a;

12. Wprowadzenie Sygnały techniki cyfrowej Systemy liczbowe. Matematyka: Elektronika:

Według raportu ISO z 1988 roku algorytm JPEG składa się z następujących kroków: 0.5, = V i, j. /Q i, j

Sieci Komputerowe Mechanizmy kontroli błędów w sieciach

Teoria informacji i kodowania Ćwiczenia Sem. zimowy 2016/2017

Entropia to wielkość określająca liczbę bitów informacji zawartej w danej wiadomości lub źródle. Spełnia ona trzy naturalne warunki: I(s) jest

#09. Systemy o złożonej strukturze

Def. Kod jednoznacznie definiowalny Def. Kod przedrostkowy Def. Kod optymalny. Przykłady kodów. Kody optymalne

Temat 7. Dekodery, enkodery

Kodowanie informacji. Kody liczbowe

Lokalna odwracalność odwzorowań, odwzorowania uwikłane

Zestaw zadań 5: Sumy i sumy proste podprzestrzeni. Baza i wymiar. Rzędy macierzy. Struktura zbioru rozwiązań układu równań.

Krzysztof Leszczyński Adam Sosnowski Michał Winiarski. Projekt UCYF

Algorytmy i struktury danych. wykład 8

Granica kompresji Kodowanie Shannona Kodowanie Huffmana Kodowanie ciągów Kodowanie arytmetyczne. Kody. Marek Śmieja. Teoria informacji 1 / 35

Bramki logiczne Podstawowe składniki wszystkich układów logicznych

Podstawy Automatyki. Wykład 9 - Podstawy matematyczne automatyki procesów dyskretnych. dr inż. Jakub Możaryn. Instytut Automatyki i Robotyki

Architektura systemów komputerowych

Wstęp do Informatyki

UKŁADY MIKROPROGRAMOWALNE

Kody splotowe (konwolucyjne)

Baza w jądrze i baza obrazu ( )

φ(x 1,..., x n ) = a i x 2 i +

Wykład 4 Udowodnimy teraz, że jeśli U, W są podprzetrzeniami skończenie wymiarowej przestrzeni V to zachodzi wzór: dim(u + W ) = dim U + dim W dim(u

Zastosowanie teorii liczb w kryptografii na przykładzie szyfru RSA

Wykład 5. Ker(f) = {v V ; f(v) = 0}

KODOWANIE KANAŁOWE (NADMIAROWE) ERROR CONTROL CODING

Przekształcenia liniowe

Kodowanie informacji

Sieci komputerowe. Wykład 11: Kodowanie i szyfrowanie. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Równania liniowe. Rozdział Przekształcenia liniowe. Niech X oraz Y będą dwiema niepustymi przestrzeniami wektorowymi nad ciałem

Systemy liczbowe. 1. Przedstawić w postaci sumy wag poszczególnych cyfr liczbę rzeczywistą R = (10).

Algebra Abstrakcyjna i Kodowanie Lista zadań

DZIESIĘTNY SYSTEM LICZBOWY

Kodowanie transformacyjne. Plan 1. Zasada 2. Rodzaje transformacji 3. Standard JPEG

Wstęp Statyczne kody Huffmana Dynamiczne kody Huffmana Praktyka. Kodowanie Huffmana. Dawid Duda. 4 marca 2004

Zapis liczb binarnych ze znakiem

Akwizycja i przetwarzanie sygnałów cyfrowych

Polska-Brazylia 5:0, czyli o poprawianiu błędów w przekazywanych informacjach

Algorytmy kodowania entropijnego

f we DZIELNIKI I PODZIELNIKI CZĘSTOTLIWOŚCI Dzielnik częstotliwości: układ dający impuls na wyjściu co P impulsów na wejściu

O oszczędnym dziennikarzu, czyli czym jest

Algorytmy zachłanne. dr inż. Urszula Gałązka

Technologie cyfrowe semestr letni 2018/2019

1 Motywacje. 2 Zastosowania kodów. 3 Podstawowe definicje i oznaczenia. Sieci komputerowe II. Uniwersytet Warszawski Podanie notatek

Instrukcje dla zawodników

Pracownia Komputerowa wyk ad VII

Pracownia Komputerowa wykład V

Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy

Wprowadzenie do telekomunikacji i teleinformatyki

Notatki z Podstaw kodowania i kryptografii. switch486 WIZ : PWr na podstawie folii z wykładu i ćwiczeń dr inż. E. Kukli Złożone W Systemie L A TEX

mgr inż. Grzegorz Kraszewski SYSTEMY MULTIMEDIALNE wykład 4, strona 1. GOLOMBA I RICE'A

Przykład: Σ = {0, 1} Σ - zbiór wszystkich skończonych ciagów binarnych. L 1 = {0, 00, 000,...,1, 11, 111,... } L 2 = {01, 1010, 001, 11}

Teoretyczne Podstawy Informatyki

dr Mariusz Grządziel 15,29 kwietnia 2014 Przestrzeń R k R k = R R... R k razy Elementy R k wektory;

Postać Jordana macierzy

Algebra liniowa. 1. Macierze.

Prawdopodobieństwo i statystyka

Przemysłowe Sieci Informatyczne (PSI) Wykład #3 kodowanie i wstęp do teorii informacji WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI KATEDRA INŻYNIERII

1. Synteza automatów Moore a i Mealy realizujących zadane przekształcenie 2. Transformacja automatu Moore a w automat Mealy i odwrotnie

PODSTAWY TELEKOMUNIKACJI Egzamin I (za każde polecenie - 6 punktów)

Entropia Kodowanie. Podstawy kompresji. Algorytmy kompresji danych. Sebastian Deorowicz

Transkrypt:

Podstawy Informatyki: Kody. Korekcja błędów. Adam Kolany Instytut Techniczny adamkolany@pm.katowice.pl Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 1 / 1

Alfabet Morse a Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 2 / 1

Alfabet Morse a Litera Wyraz Kod Litera Wyraz Kod A A-ZOT N NO-GA B BO-TA-NI-KA O O-PO-CZNO C CO-RAZ-MOC-NIEJ P PE-LO-PO-NEZ D DO-LI-NA Q GO-SPO-DAR-STWO E ELK R RE-FOR-MA F FI-LAN-TRO-PIA S SA-HA-RA G GO-SPO-DA T TOM H HA-LA-BAR-DA U UR-SY-NÓW I I-GLA V VIN-CENT-VAN-GOGH J JE-DNO-KON-NO W WI-NO-ROŚL K KO-LA-NO X XO-XY-MIL-KO L LE-O-NI-DAS Y YORK-HULL-OX-FORD M MO-TOR Z ZLO-TO-LI-STNA Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 3 / 1

Kod Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 4 / 1

Kod W zbiór wiadomości, Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 4 / 1

Kod W zbiór wiadomości, X dowolny alfabetem Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 4 / 1

Kod W zbiór wiadomości, X dowolny alfabetem (na ogół #W > #X ). Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 4 / 1

Kod W zbiór wiadomości, X dowolny alfabetem (na ogół #W > #X ). Kodem nazywamy odwzorowanie κ : W X Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 4 / 1

Przykład W - słowa języka polskiego, X = { 0,..., 9 }, Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 5 / 1

Przykład W - słowa języka polskiego, X = { 0,..., 9 }, κ(ω) = suma numerów UTF8 liter wchodzących w skład ω Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 5 / 1

Przykład W - słowa języka polskiego, X = { 0,..., 9 }, κ(ω) = suma numerów UTF8 liter wchodzących w skład ω κ(źrebię) = 1149, κ(ynalok64@wp.pl) = 1321 Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 5 / 1

Kody blokowe κ jest kodem blokowym, jeśli jest homomorfizmem. Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 6 / 1

Kody blokowe κ jest kodem blokowym, jeśli jest homomorfizmem. Tzn. κ(w 1... w n) = κ(w 1)... κ(w n), w 1,..., w n W Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 6 / 1

Kody blokowe κ jest kodem blokowym, jeśli jest homomorfizmem. Tzn. κ(w 1... w n) = κ(w 1)... κ(w n), w 1,..., w n W κ(w) słowo kodowe, w W. Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 6 / 1

Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 7 / 1

Kod nieosobliwy: Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 7 / 1

Kod nieosobliwy: κ(w) κ(w ), w w, w, w W. Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 7 / 1

Przykład W i X jak poprzednio, κ(l) = kod UTF8 znaku l κ(ynalok64@wp.pl) = 121 110 97 108 111 107 54 52 64 119 112 46 112 108 Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 8 / 1

Kod jednoznacznie dekodowalny: κ(w 1... w n) = κ(v 1... v n) = w 1 = v 1,... w n = v n. Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 9 / 1

Przykład Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 10 / 1

Przykład a 10 b 001 c 1 d 1011 Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 10 / 1

Przykład a 10 b 001 c 1 d 1011 acc = d Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 10 / 1

Kod jednoznacznie dekodowalny bez opóźnienia: κ(w 1... w n) = κ(v 1... v m) = n = m & w 1 = v 1,... w n = v n. Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 11 / 1

Przykład Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 12 / 1

Przykład Kody Shannona Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 12 / 1

Przykład Kody Shannona, Shannona-Fano Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 12 / 1

Przykład Kody Shannona, Shannona-Fano i Huffmana. Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 12 / 1

Wykrywanie i korygowanie błędów Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 13 / 1

zakłócenia sygnał wejściowy kanał komunikacyjny sygnał wyjściowy Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 14 / 1

Kody korekcyjne Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 15 / 1

Kody korekcyjne Blokowe Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 15 / 1

Kody korekcyjne Blokowe Splotowe Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 15 / 1

Kody blokowe Korekcyjne kody blokowe wymagają rozbicia ciągu informacyjnego na bloki k-elementowe i wykonania operacji kodowania na każdym bloku niezależnie od pozostałych. Podczas kodowania do bloku informacji dołączana jest tzw. sekwencja kontrolna umożliwiająca wykrycie lub korekcję błędów. Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 16 / 1

Kody splotowe Kody splotowe nie wymagają podziału informacji na bloki, a kodowanie odbywa się na bieżąco, w takt napływającej informacji. Elementy kodu uzależnione są od bieżącego elementu informacji oraz pewnej liczby elementów poprzednich. Koder kodu splotowego przyjmuje ciąg informacyjny i przetwarza go na ciąg kodowy o większej liczbie znaków. Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 17 / 1

Kody blokowe Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 18 / 1

Kody blokowe Kody liniowe Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 18 / 1

Kody blokowe Kody liniowe Kody cykliczne Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 18 / 1

Kody blokowe Kod blokowy: dowolny podzbiór K przestrzeni F n p, gdzie p P, n N. Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 19 / 1

Odległość Hamminga Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 20 / 1

Odległość Hamminga Odległością Hamminga ciągów α i β jest liczba: Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 20 / 1

Odległość Hamminga Odległością Hamminga ciągów α i β jest liczba: h(α, β) = # { j : α j β j } Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 20 / 1

Rozstęp Hamminga Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 21 / 1

Rozstęp Hamminga Rozstęp Hamminga kodu K: Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 21 / 1

Rozstęp Hamminga Rozstęp Hamminga kodu K: d(k) = min { h(u, v) : u, v K, u v } Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 21 / 1

Zdolność detekcyjna kodu Uwaga: Kod blokowy o rozstępie Hamminga d wykrywa: n w = d 1 błędów. Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 22 / 1

Tzn. u K & h(u, v) d 1 v K Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 23 / 1

Tzn. u K & h(u, v) d 1 v K Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 23 / 1

Zdolność korekcyjna kodu Uwaga: Kod blokowy o rozstępie Hamminga d koryguje: d 1 n k = 2 błędów. Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 24 / 1

Tzn. u, w K & h(u, v), h(w, v) d 1 2 w = u Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 25 / 1

Tzn. u, w K & h(u, v), h(w, v) d 1 2 w = u Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 25 / 1

Stwierdzenie Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 26 / 1

Stwierdzenie Aby kod korygował n w błędów, jego rozstęp Hamminga d musi spełniać nierówność: d 2t + 1 Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 26 / 1

Stwierdzenie Aby kod korygował n w błędów, jego rozstęp Hamminga d musi spełniać nierówność: d 2t + 1 Aby kod korygował n w, a wykrywał n k błędów (n k n w ), jego rozstęp Hamminga d musi spełniać nierówność: d n w + n k + 1 Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 26 / 1

Kody liniowe Kod liniowy: dowolna podprzestrzeń K przestrzeni F n p. Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 27 / 1

Kody liniowe Kod liniowy K F n p jest (n, k)-kodem jeśli jego wymiar wynosi k. Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 28 / 1

Kody liniowe Kod liniowy K F n p jest (n, k)-kodem systematycznym, jeśli { (x1,..., x k ) : xk+1,...,x n (x 1,..., x k, x k+1,..., x n) K } = F k p Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 29 / 1

Twierdzenie Każdy kod liniowy jest równoważny z kodem systematycznym. Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 30 / 1

Twierdzenie W (n, k)-kodzie liniowym rozstęp Hamminga d spełnia nierówność: d n k + 1 Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 31 / 1

Kodowanie Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 32 / 1

Kodowanie G = [ g1... g k ] - macierz bazowa (n, k)-kodu K Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 32 / 1

Kodowanie G = [ g1... g k ] - macierz bazowa (n, k)-kodu K (macierz generująca) Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 32 / 1

Kodowanie G = [ g1... g k ] - macierz bazowa (n, k)-kodu K (macierz generująca) v = v 1,..., v k F k p Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 32 / 1

Kodowanie G = [ g1... g k ] - macierz bazowa (n, k)-kodu K (macierz generująca) v = v 1,..., v k F k p Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 32 / 1

Kodowanie G = [ g1... g k ] - macierz bazowa (n, k)-kodu K (macierz generująca) v = v 1,..., v k F k p v G = v 1g 1 +... + v k g k F n p Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 32 / 1

Dekodowanie Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 33 / 1

Dekodowanie Macierz parzystości H kodu: w K H w T = 0. 0 Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 33 / 1

Dekodowanie Macierz parzystości H kodu: w K H w T = H G T = Θ 0. 0 Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 33 / 1

Dekodowanie Macierz parzystości H kodu: w K H w T = H G T = Θ 0. 0 ( wiersze G i H są wzajemnie prostopadłe ) Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 33 / 1

Dekodowanie Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 34 / 1

Dekodowanie Jeśli G = [I A], to macierzą parzystości jest H = [ A T I ] Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 34 / 1

Dekodowanie Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 35 / 1

Dekodowanie Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 35 / 1

Dekodowanie Dane w F n p Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 35 / 1

Dekodowanie Dane w F n p Liczymy syndrom s = Hw T. Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 35 / 1

Dekodowanie Dane w F n p Liczymy syndrom s = Hw T. Znajdujemy reprezentanta e warstwy o syndromie s Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 35 / 1

Dekodowanie Dane w F n p Liczymy syndrom s = Hw T. Znajdujemy reprezentanta e warstwy o syndromie s (przygotowane zawczasu); Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 35 / 1

Dekodowanie Dane w F n p Liczymy syndrom s = Hw T. Znajdujemy reprezentanta e warstwy o syndromie s (przygotowane zawczasu); Zakładamy, że wysłanym słowem jest v = w e. Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 35 / 1

Przykład G = [ 1 0 0 0 1 1 0 1 0 1 0 1 0 0 1 1 1 0 ], Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 36 / 1

Przykład G = [ 1 0 0 0 1 1 0 1 0 1 0 1 0 0 1 1 1 0 ], H = [ 0 1 1 1 0 0 1 0 1 0 1 0 1 1 0 0 0 1 ] Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 36 / 1

Przykład reprezentant syndrom 000000 000 000001 001 000010 010 100000 011 000100 100 010000 101 001000 110 010010 111 Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 37 / 1

Przykład reprezentant syndrom 000000 000 000001 001 000010 010 100000 011 000100 100 010000 101 001000 110 010010 111 (reprezentanty o najmniejszej wadze Hamminga) Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 37 / 1

Przykład reprezentant syndrom 000000 000 000001 001 000010 010 100000 011 000100 100 010000 101 001000 110 010010 111 (reprezentanty o najmniejszej wadze Hamminga) w = 1, 1, 1, 1, 1, 1 Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 37 / 1

Przykład reprezentant syndrom 000000 000 000001 001 000010 010 100000 011 000100 100 010000 101 001000 110 010010 111 (reprezentanty o najmniejszej wadze Hamminga) w = 1, 1, 1, 1, 1, 1 s(w) = 111 Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 37 / 1

Przykład reprezentant syndrom 000000 000 000001 001 000010 010 100000 011 000100 100 010000 101 001000 110 010010 111 (reprezentanty o najmniejszej wadze Hamminga) w = 1, 1, 1, 1, 1, 1 s(w) = 111 e = 010010 Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 37 / 1

Przykład reprezentant syndrom 000000 000 000001 001 000010 010 100000 011 000100 100 010000 101 001000 110 010010 111 (reprezentanty o najmniejszej wadze Hamminga) w = 1, 1, 1, 1, 1, 1 s(w) = 111 e = 010010 w = 1, 0, 1, 1, 0, 1 Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 37 / 1

Kody Hamminga Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 38 / 1

Kody Hamminga Kod Hamminga KH m Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 38 / 1

Kody Hamminga Kod Hamminga KH m binarny kod liniowy Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 38 / 1

Kody Hamminga Kod Hamminga KH m binarny kod liniowy z macierzą parzystości 0 0 0 0 1 0 1....................... H = 0 1 1 0 0 1 1 1 0 1 1 1 1 1 Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 38 / 1

Kody Hamminga Kod Hamminga KH m binarny kod liniowy z macierzą parzystości 0 0 0 0 1 0 1....................... H = 0 1 1 0 0 1 1 (1, 2,..., 2 m 1 dwójkowo) 1 0 1 1 1 1 1 Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 38 / 1

Kody Hamminga Kod Hamminga KH m binarny kod liniowy z macierzą parzystości 0 0 0 0 1 0 1....................... H = 0 1 1 0 0 1 1 (1, 2,..., 2 m 1 dwójkowo) 1 0 1 1 1 1 1 syndrom = numer błędnego bitu! Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 38 / 1

Przykład Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 39 / 1

Przykład m = 3 Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 39 / 1

Przykład m = 3 H = [ 0 0 0 0 1 0 1 0 1 1 0 0 1 1 1 0 1 1 1 1 1 ] Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 39 / 1

Przykład m = 3 H = [ 0 0 0 0 1 0 1 0 1 1 0 0 1 1 1 0 1 1 1 1 1 ] G - baza przestrzeni rozwiązań równania HX = [ 0 0 0 ] Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 39 / 1

Przykład, c.d. H x 1 x 2 x 3 x 4 x 5 x 6 x 0 = [ 0 0 0 ] Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 40 / 1

Przykład, c.d. H x 1 x 2 x 3 x 4 x 5 x 6 x 0 = [ 0 0 0 ] [ 0 0 0 0 1 0 1 0 1 1 0 0 1 1 1 0 1 1 1 1 1 ] x 1 x 2 x 3 x 4 x 5 x 6 x 7 = [ 0 0 0 ] Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 40 / 1

Przykład, c.d. 0 + 0 + 0 + x 4 + x 5 + x 6 + x 7 = 0 0 + x 2 + x 3 + 0 + 0 + x 6 + x 7 = 0 x 1 + 0 + x 3 + 0 + x 5 + 0 + x 7 = 0 Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 41 / 1

Przykład, c.d. x 5 + x 6 + x 7 = x 4 0 + x 6 + x 7 = x 2 + x 3 x 5 + 0 + x 7 = x 1 + x 3 Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 42 / 1

Przykład, c.d. x 5 + x 6 + x 7 = x 4 0 + x 6 + x 7 = x 2 + x 3 x 5 + 0 + x 7 = x 1 + x 3 [ 1 1 1 0 1 1 1 0 1 ] [ x5 x 6 x 7 ] = [ x4 x 2 + x 3 x 1 + x 3 ] Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 42 / 1

Przykład, c.d. [ x5 x 6 x 7 ] = [ 1 1 1 0 1 1 1 0 1 ] 1 [ x4 x 2 + x 3 x 1 + x 3 ] = [ 1 1 0 1 0 1 1 1 1 ] [ x4 x 2 + x 3 x 1 + x 3 ] Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 43 / 1

Przykład, c.d. [ x5 x 6 x 7 ] = [ x2 + x 3 + x 4 x 1 + x 3 + x 4 x 1 + x 2 + x 4 ] X = x 1 x 2 x 3 x 4 x 5 x 6 x 0 = x 1 1 0 0 0 0 1 1 + x 2 0 1 0 0 1 0 1 + x 3 0 0 1 0 1 1 0 + x 4 0 0 0 1 1 1 1 Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 44 / 1

Przykład, c.d. G = 1 0 0 0 0 1 1 0 1 0 0 1 0 1 0 0 1 0 1 1 0 0 0 0 1 1 1 1 Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 45 / 1

Przykład, c.d. Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 46 / 1

Przykład, c.d. Kodujemy: 0, 1, 0, 1 [0, 1, 0, 1] 1 0 0 0 0 1 1 0 1 0 0 1 0 1 0 0 1 0 1 1 0 0 0 0 1 1 1 1 = [0, 1, 0, 1, 0, 1, 0] Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 46 / 1

Przykład, c.d. Kodujemy: 0, 1, 0, 1 [0, 1, 0, 1] Odebrany jest 0, 1, 0, 1, 0, 0, 0. 1 0 0 0 0 1 1 0 1 0 0 1 0 1 0 0 1 0 1 1 0 0 0 0 1 1 1 1 = [0, 1, 0, 1, 0, 1, 0] Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 46 / 1

Przykład, c.d. Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 47 / 1

Przykład, c.d. Wyznaczamy syndrom: Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 47 / 1

Przykład, c.d. Wyznaczamy syndrom: [0, 1, 0, 1, 0, 0, 0] [ 0 0 0 1 1 1 1 0 1 1 0 0 1 1 1 0 1 0 1 0 1 ]T = = [0, 1, 0, 1, 0, 0, 0] 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 = [1, 1, 0] Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 47 / 1

Przykład, c.d. Wyznaczamy syndrom: [0, 1, 0, 1, 0, 0, 0] Wadliwy jest 6. bit! [ 0 0 0 1 1 1 1 0 1 1 0 0 1 1 1 0 1 0 1 0 1 ]T = = [0, 1, 0, 1, 0, 0, 0] 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 = [1, 1, 0] Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 47 / 1

Kod Hamminga kilka własności Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 48 / 1

Kod Hamminga kilka własności Minimalna odległość Hamminga dla KH m wynosi 3. Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 48 / 1

Kod Hamminga kilka własności Minimalna odległość Hamminga dla KH m wynosi 3. Każdy ciąg niekodowy jest w odległości 1 od jakiegoś ciągu kodowego. Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 48 / 1

Kod Hamminga kilka własności Minimalna odległość Hamminga dla KH m wynosi 3. Każdy ciąg niekodowy jest w odległości 1 od jakiegoś ciągu kodowego. Przekłamanie dwu bitów jest niewykrywalna. Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 48 / 1

Inne rozwiązania Kody Reeda-Müllera Kody cykliczne (BCH)... Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 49 / 1

Dziękuję za uwagę... Adam Kolany (PWSZ Nowy Sącz, IT) Podstawy Informatyki: Kody. Korekcja błędów. 11 stycznia 2012 50 / 1