W11 Kody nadmiarowe, zastosowania w transmisji danych

Podobne dokumenty
Laboratorium ochrony danych

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

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

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

Matematyka dyskretna

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

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 6

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

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

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

Niezawodność i diagnostyka systemów cyfrowych projekt 2015

KODOWANIE KANAŁOWE (NADMIAROWE) ERROR CONTROL CODING

Systemy bezpieczne i FTC (Niezawodne Systemy Cyfrowe)

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

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

Kody blokowe Wykład 2, 10 III 2011

Kody blokowe Wykład 1, 3 III 2011

Teoria informacji i kodowania

Kody splotowe. Zastosowanie

- Quadrature Amplitude Modulation

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

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

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

Kody splotowe (konwolucyjne)

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

Kodowe zabezpieczenie przed błędami oraz kanał telekomunikacyjny i jego właściwości

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

Wprowadzanie nadmiaru informacyjnego dla transmitowanych szeregowo danych w kompaktowych sterownikach PLC firmy Mitsubishi Electric

sieci mobilne 2 sieci mobilne 2

. : a 1,..., a n F. . a n Wówczas (F n, F, +, ) jest przestrzenią liniową, gdzie + oraz są działaniami zdefiniowanymi wzorami:

Steganografia z wykorzystaniem cyklicznych kodów korekcji błędów

WŁADYSŁAW MOCHNACKI KODY KOREKCYJNE I KRYPTOGRAFIA

4. Systemy algebraiczne i wielomiany nad ciałami zastosowania Rodzaje systemów algebraicznych ciała, grupy, pierścienie

Instytut Telekomunikacji Wydział Elektroniki i Technik Informacyjnych.

(12) OPIS PATENTOWY (19) PL (11)

0.1 Pierścienie wielomianów

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

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

Instytut Telekomunikacji Wydział Elektroniki i Technik Informacyjnych.

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

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

Temat 7. Dekodery, enkodery

Ocena wpływu algorytmu dupleksowego systemu transmisji danych na szybkość transmisji

. Rodzaje transmisji sygnału i RS-232

Założenia i obszar zastosowań. JPEG - algorytm kodowania obrazu. Geneza algorytmu KOMPRESJA OBRAZÓW STATYCZNYCH - ALGORYTM JPEG

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

Systemy i Sieci Radiowe

Teoria Informacji - wykład. Kodowanie wiadomości

Algebra Abstrakcyjna i Kodowanie Lista zadań

Lista. Algebra z Geometrią Analityczną. Zadanie 1 Przypomnij definicję grupy, które z podanych struktur są grupami:

Ciała i wielomiany 1. przez 1, i nazywamy jedynką, zaś element odwrotny do a 0 względem działania oznaczamy przez a 1, i nazywamy odwrotnością a);

Dr inż. Robert Wójcik, p. 313, C-3, tel Katedra Informatyki Technicznej (K-9) Wydział Elektroniki (W-4) Politechnika Wrocławska

Sieci komputerowe - podstawowe technologie. Plan wykładu. Piotr Kowalski KAiTI

Funkcja kwadratowa. f(x) = ax 2 + bx + c,

Kody blokowe Wykład 5a;

Projektowanie Sieci Lokalnych i Rozległych wykład 11: systemy przywoławcze

(12) TŁUMACZENIE PATENTU EUROPEJSKIEGO (19) PL (11) PL/EP (96) Data i numer zgłoszenia patentu europejskiego:

ZAKŁAD SYSTEMÓW ELEKTRONICZNYCH I TELEKOMUNIKACYJNYCH Laboratorium Podstaw Telekomunikacji WPŁYW SZUMÓW NA TRANSMISJĘ CYFROWĄ

Wybrane metody kompresji obrazów

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

WYDZIAŁ ELEKTRYCZNY KATEDRA TELEKOMUNIKACJI I APARATURY ELEKTRONICZNEJ. Instrukcja do zajęć laboratoryjnych. Numer ćwiczenia: 5

Treść wykładu. Pierścienie wielomianów. Dzielenie wielomianów i algorytm Euklidesa Pierścienie ilorazowe wielomianów

Tranzystor JFET i MOSFET zas. działania

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 9,

Funkcja kwadratowa. f(x) = ax 2 + bx + c = a

WIELOMIANY. ZADANIE 1 (5 PKT) Reszta z dzielenia wielomianu x 3 + px 2 x + q przez trójmian (x + 2) 2 wynosi 1 x. Wyznacz pierwiastki tego wielomianu.

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

1 Określenie pierścienia

Algorytmy i struktury danych. wykład 8

Algorytm Euklidesa. ZADANIE 1. Oblicz korzystając z algorytmu Euklidesa: (a) NWD(120, 195), (b) NWD(80, 208), (c) NWD(36, 60, 90),

Kody korekcyjne - Konspekt wykładu

Pracownia Komputerowa wykład V

Podstawy Informatyki

Podstawowe struktury algebraiczne

Kodowanie informacji. Kody liczbowe

Kody Tunstalla. Kodowanie arytmetyczne

Wysokowydajna implementacja kodów nadmiarowych typu "erasure codes" z wykorzystaniem architektur wielordzeniowych

Wersja testu A 18 czerwca 2012 r. x 2 +x dx

Kombinacyjne bloki funkcjonalne

4. UKŁADY FUNKCJONALNE TECHNIKI CYFROWEJ

Matematyka dyskretna. Andrzej Łachwa, UJ, /10

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

Ciała skończone. 1. Ciała: podstawy

Sieci Komputerowe Modele warstwowe sieci

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

Kody transmisyjne. Systemy PCM Sieci ISDN Sieci SDH Systemy dostępowe Transmisja w torach przewodowych i światłowodowych

Projekt Era inżyniera pewna lokata na przyszłość jest współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q

Poziomy zabezpieczeń danych w sieciach szerokopasmowych opartych na technice ATM

Informatyka Stosowana. a b c d a a b c d b b d a c c c a d b d d c b a

Protokoły sieciowe model ISO-OSI Opracował: Andrzej Nowak

Transmisja przewodowa

Cyfrowy system łączności dla bezzałogowych statków powietrznych średniego zasięgu. 20 maja, 2016 R. Krenz 1

2. STRUKTURA RADIOFONICZNYCH SYGNAŁÓW CYFROWYCH

WYDZIAŁ MATEMATYKI KARTA PRZEDMIOTU

Przestrzenie wektorowe

Algebra liniowa. 1. Macierze.

Wprowadzenie do telekomunikacji i teleinformatyki

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

Kody korekcyjne - Konspekt wykładu

Transkrypt:

W11 Kody nadmiarowe, zastosowania w transmisji danych Henryk Maciejewski Jacek Jarnicki Marek Woda www.zsk.iiar.pwr.edu.pl Plan wykładu 1. Kody nadmiarowe w systemach transmisji cyfrowej 2. Typy kodów, własności 3. Kody blokowe Np. Władysław Mochnacki, Kody korekcyjne i kryptografia. 2 1

Kody nadmiarowe w systemie transmisji cyfrowej losowe zakłócenia Kanał 10010110011 koder dekoder 10010010011 transmisyjny dane nadawane dane odbierane Elementowa stopa błędów (BER - bit error rate) prawdopodobieństwo przekłamania bitu w czasie transmisji = liczba bitów odebranych błędnie / liczba bitów przesyłanych BER ~ 10-2 10-5 w typowych kanałach; wymagania na system transmisji danych BER ~ 10-6 10-9. Kody nadmiarowe metoda dołączania dodatkowych bitów do danych nadawanych w celu zabezpieczenia danych przed błędami transmisji 3 Typowa zależność stopy błędów (sb=ber) od S/N S moc sygnału, N moc szumu 1 kanał bez korekcji 2 korekcja kodem Hamminga(15,11), zdolność korekcyjna t=1 3 korekcja kodem BCH(127,64), zdolność korekcyjna t=10 4 2

Zastosowania kodów nadmiarowych Kanał 10010110011 koder dekoder 10010010011 transmisyjny dane nadawane losowe zakłócenia dane odbierane ARQ Automatic Repeat Request koder dodaje informację nadmiarową do bloku danych dekoder sprawdza czy pakiet został przesłany poprawnie, jeśli nie wysyłane jest żądanie ponownej transmisji bloku (kanał zwrotny) kod detekcyjny np. bit parzystości dodawany do bloku o długości n 5 Zastosowania kodów nadmiarowych Kanał 10010110011 koder dekoder 10010010011 transmisyjny dane nadawane losowe zakłócenia dane odbierane FEC Forward Error Correction dekoder wykorzystuje informację nadmiarową do skorygowania błędów kod korekcyjny np. potrajanie bitów (0 000, 1 111) dekoder stosuje algorytm głosujący Systemy hybrydowe ARQ z FEC w celu zmniejszenia liczby retransmisji 6 3

Typy kodów nadmiarowych Kody blokowe ciąg informacyjny dzielony jest na bloki k-elementowe do każdego bloku dołączana jest sekwencja kontrolna powstaje słowo kodowe (wektor kodowy) Kody splotowe (rekurencyjne) brak podziału na bloki, kodowanie z wykorzystaniem rejestru przesuwnego Kody systematyczne / niesystematyczne Kod systematyczny - pierwsze k bitów w słowie kodowym to ciąg informacyjny Kody liniowe suma dowolnych dwóch wektorów kodowych jest wektorem kodowym Kody cykliczne tworzone za pomocą pierścieni wielomianów nad ciałami skończonymi 7 Kody blokowe Ciąg informacyjny dzielony jest na bloki k-elementowe, Słowo kodowe n-elementowe, n > k Kody blokowe oznaczamy symbolem (n,k) Sprawność kodu R = k/n Nadmiar kodowy = 1-R = (n-k)/n 8 4

Kody blokowe Wyjście kodera: 2 k różnych wektorów kodowych Wejście dekodera: 2 n różnych wektorów (przestrzeń wektorowa nad ciałem binarnym) (w tym 2 k wektorów kodowych, 2 n -2 k niekodowych) Po przejściu przez kanał transmisyjny wektor kodowy może: 1. zostać niezmieniony (brak zakłócenia) 2. zostać zmieniony na wektor niekodowy 3. zostać zmieniony na inny wektor kodowy Przypadek 2 błąd transmisji wykrywalny (korygowalny? dekoder może znaleźć wektor kodowy różniący się od odebranego najmniejszą liczbą pozycji) Przypadek 3 niewykrywalny błąd transmisji 9 Zdolność korekcyjna i detekcyjna kodu Odległość Hamminga: d H (u,v) pomiędzy wektorami kodowymi u,v = liczba pozycji, na których u, v różnią się. Np. u = [1,1,0,1,0,0,1] v = [1,0,0,1,0,1,1] d H (u,v) = 2 Waga wektora kodowego w(u) = liczba współrzędnych niezerowych d H (u,v) = w(u+v) u+v = [0,1,0,0,0,1,0] 10 5

Zdolność korekcyjna i detekcyjna kodu Odległość minimalna Hamminga pomiędzy wektorami kodowymi, ozn. d decyduje o zdolność detekcyjnej i korekcyjnej kodu blokowego. (zachodzi: dla kodu liniowego d = min waga niezerowego wektora kodowego) Zdolność detekcyjna = d 1 (kod o parametrze d może wykryć ciągi błędów o wadze d-1 ) Zdolność korekcyjna 11 Zapis macierzowy kodu liniowego m 1xk blok danych c X 1xn wektor kodowy G kxn macierz generująca kod c X = m G G = [I kxk P kx(n-k) ] I kxk macierz jednostkowa P kx(n-k) macierz o wierszach liniowo niezależnych 12 6

Zapis macierzowy kodu liniowego Wniosek każdy wektor kodowy jest liniową kombinacją wierszy macierzy generującej kod Przykład kodu (5,2): [a 1,a 2 ] G = [a 1, a 2, a 1, a 2, a 1 +a 2 ] 13 Macierz kontrolna (macierz parzystości) Dla każdej macierzy generującej kod istnieje G kxn istnieje macierz kontrolna H (n-k)xn tż. G H T = 0 G = [I k P kx(n-k) ] H = [ P T (n-k)xk I n-k ] Przykład kodu (5,2): 14 7

Macierz kontrolna dekodowanie c X wyjście kodera c Y = c X + e wejście dekodera (e wektor błędów) s syndrom błędu (zależy tylko od e) Syndrom liniowa kombinacja wierszy macierzy H T 15 Macierz kontrolna dekodowanie Przykład kodu (5,2): c Y = [1,1,0,1,0] stąd e = [0,0,1,0,0] (bo s=eh T ) więc wektor skorygowany: c Y + e = [1,1,0,1,0] + [0,0,1,0,0] = [1,1,1,1,0] 16 8

Kody Hamminga Kody (n,k) = (2 m -1, 2 m -m-1), m liczba pozycji kontrolnych np. d = 3 korygują pojedyncze błędy (zdolność detekcyjna = 2) Wykorzystywane np. w pamięciach komputerowych 17 Kody Hamminga Przykład kodu Hamminga (7,4) [a 1, a 2, a 3, a 4 ] G = [a 1, a 2, a 3, a 4, a 5, a 6, a 7 ] a 5 = a 1 +a 2 +a 3 a 6 = a 2 +a 3 +a 4 a 7 = a 1 +a 2 +a 4 18 9

Prosta realizacja sprzętowa Przykład kodu Hamminga (7,4) [a 1, a 2, a 3, a 4 ] G = [a 1, a 2, a 3, a 4, a 5, a 6, a 7 ] a 5 = a 1 +a 2 +a 3 a 6 = a 2 +a 3 +a 4 a 7 = a 1 +a 2 +a 4 19 Kody cykliczne Ciągi informacyjne / kodowe zapisujemy w postaci wielomianów nad ciałem GF(2) (współczynniki ze zbioru {0,1}, dodawanie modulo 2): c = [a n-1, a n-2,, a 1, a 0 ] c(x) = a n-1 x n-1 + a n-2, x n-2 + +a 1 x + a 0 Przykład: c = 1011 c(x) = x 3 +x+1 20 10

Kody cykliczne wielomian generujący g(x) - wielomian generujący kod cykliczny stopień = n-k = liczba elementów kontrolnych w wektorze kodowym np. dla kodu cyklicznego Hamminga (7,4) g(x) = x 3 + x 2 + 1 (podzielnik wielomianu x 7 +1) g(x) pozwala wyznaczyć wektor kodowy dla kodu (n,k) 21 Algorytm kodowania kod (n,k) g(x) - wielomian generujący kod cykliczny stopnia n-k m(x) wielomian odpowiadający ciągowi informacyjnemu c X (x) wielomian odpowiadający wektorowi kodowemu c X (x) = x n-k m(x) + r(x) Gdzie r(x) jest resztą z dzielenia x n-k m(x) przez g(x): x n-k m(x) = q(x) g(x) + r(x) 22 11

Algorytm kodowania kod (n,k) 1. Przesuń ciąg informacyjny n-k pozycje w lewo: x n-k m(x) 2. Wyznacz resztę z dzielenia x n-k m(x) przez g(x): r(x) = r n-k-1 x n-k-1 + + r 1 x + r 0 3. Dopisz resztę r(x) na n-k najmłodszych pozycjach ciągu x n-k m(x): c X (x) = x n-k m(x) + r(x) 23 Dekodowanie kod (n,k) Otrzymany ciąg: c Y (x) = c X (x) + e(x) e(x) wielomian odpowiadający wektorowi błędów Korzystamy w własności, że każdy wektor kodowy jest podzielny przez g(x) Wyznaczamy resztę z dzielenia c Y (x) przez g(x) : c Y (x) = m(x)g(x) + r(x) jeśli r(x) = 0 brak błędu jeśli r(x) 0 wystąpiły błędy (algorytm korekcji patrz np. Mochnacki) 24 12

Przykładowe kody cykliczne Standardy CRC np. CRC-8 (WCDMA): x 8 +x 7 +x 4 +x 3 +x 2 +1 CRC-16 (CCITT): x 16 +x 12 +x 5 +1 CRC-40 (GSM): (x 23 +1)(x 17 +x 3 +1) CRC-64 https://en.wikipedia.org/wiki/cyclic_redundancy_check 25 Kody Bose Chaudhuri Hocquenghema (BCH) Parametry: długość wektora kodowego n = 2 m 1 liczba pozycji kontrolnych n-k mt min. odległość Hamminga d 2t + 1 Kod koryguje do t błędów Kody Hamming są podzbiorem kodów BCH (BCH z t=1 jest kodem Hamminga) 26 13

Kody BCH - parametry p. W. Mochnacki Kody korekcyjne 27 Kody Reeda-Solomona Podklasa kodów BCH niebinarnych, nad GF(q) Elementy ciała GF(q) są wykorzystywane w wektorach kodowych (obliczenia modulo q) Kody RS służą do korygowania błędów grupowych. 28 14

Ciało binarne GF(2) <{0,1}, +, > tabliczka dodawania i mnożenia 29 15