Transmisja danych w sieciach komputerowych - Kodowanie Hamminga

1. Kody korekcyjne dzielimy na blokowe i splotowe. 

  • Blokowe dzielimy na liniowe (Hamminga, dualne, powtórzeniowe) oraz cykliczne (Hamminga, CRC, BCH, Reeda-Salomona)
  • Splotowe (oparte na algorytmie Viterbiego)
Kody Hamminga należą zarówno do grupy liniowej jak i cyklicznej, ponieważ każda kombinacja liniowa słów kodowych jest również słowem kodowym. Ponadto kody Hamminga mają własność cykliczną, czyli przesunięcie bitowe słowa kodowego w lewo lub w prawo daje również słowo kodowe.

2. Urządzenia nadawcze wysyłają wraz z danymi niewielką dodatkową porcję informacji. Nadawca wyznacza taką informację na podstawie wysłanych danych, a odbiorca powtarza te same obliczenia, aby sprawdzić czy ramka została przesłana bez błędu.

3. Błędy:
  • pojedyncze (przekłamany jeden bit)
  • wielokrotne
  • paczkowe (przekłamana grupa bitów)
4. Kodery korekcyjne kanału:
  • detekcja błędów (konieczny kanał zwrotny, małe skomplikowanie kodera i dekodera, bardzo mały wynikowy BER, duża wydajność w dobrym kanale)
  • korekcja błędów (zbędny kanał zwrotny, stałe opóźnienie, stała wydajność, skomplikowanie kodera i dekodera)
5. Kodowy system transmisji danych to taki system, w którym zabezpieczenie transmisji przed błędami opiera się na kodowaniu przesyłanych informacji.

6. Detekcja Błędów – dodawanie do wysyłanych danych wystarczającej ilości informacji dodatkowej zwanej kodami korekcyjnymi, która umożliwia odbiornikowi stwierdzić, że doszło do błędu transmisji. W takim przypadku można poprosić o ponowne wysłanie danych.

7. Kod detekcyjny - jest to kod nadmiarowy, umożliwiający automatyczne wykrycie błędu w jednostce kodowania.

8. Korekcja błędów – dodanie do każdego wysyłanego bloku danych wystarczającej ilości informacji dodatkowej zwanej kodami korekcyjnymi, aby odbiornik mógł poprawnie zrekonstruować przekazywany znak.

9. Kod korekcyjny - jest to kod nadmiarowy, który umożliwia wykrycie błędu w jednostce kodowania i jego automatyczne usunięcie.

10. Ciągi kodowe są to ciągi informacyjne przekształcone w koderze i następnie podawane na wejście kanału cyfrowego.

11. Odległość Hamminga - liczba pozycji bitów, na których dwa słowa kodowe się różnią. Minimalna odległość Hamminga dla kodu - najmniejsza odległość dla dowolnej pary słów z danej przestrzeni kodowej. Do wykrycia błędu pojedynczego potrzeba, aby minimalna odległość między słowami wynosiła 2, natomiast do korekcji ta odległość musi wynosić 3.



12. Kontrola parzystości - polega na dodawaniu do wysyłanej wiadomości bitu kontrolnego, który nazywa się bitem parzystości lub bitem nieparzystości. Bit parzystości przyjmuje wartość 1, gdy liczba jedynek w przesyłanej wiadomości jest nieparzysta, lub 0, gdy parzysta. Bit nieparzystości przyjmuje wartość 1, gdy liczba jedynek w przesyłanej wiadomości jest parzysta, lub 0, gdy nieparzysta. W ten sposób odbiornik może stwierdzić, czy doszło do błędu transmisji.

13. Kodowanie nadmiarowe to metoda wykrywania i korygowania błędów w przesyłanym strumieniu bitów. Polega na dodawaniu do strumienia bitów dodatkowych bitów, które służą detekowaniu i korygowaniu błędów binarnych. Kodowanie nadmiarowe nie jest operacją wykonywaną na transmitowanym sygnale, lecz na strumieniu bitów, które mają być przesłane.

14. Twierdzenie Shannona to fundamentalne twierdzenie w teorii informacji, które określa maksymalną przepustowość kanału komunikacyjnego w zależności od jego właściwości. Istnieją dwa warianty tego twierdzenia: dla kanałów bezszumowych i dla kanałów zaszumionych. Twierdzenie Shannona dla kanałów bezszumowych mówi, że minimalna średnia długość słów kodowych w kodowaniu utworzonym do zapisu symboli generowanych przez pewne dyskretne źródło danych o określonej entropii nie może być mniejsza niż entropia źródła. Twierdzenie Shannona dla kanałów zaszumionych, znane też jako twierdzenie Shannona-Hartleya, mówi, że maksymalna przepustowość kanału wyrażona w bitach na sekundę jest równa iloczynowi szerokości pasma kanału i logarytmu dwójkowego z ilorazu mocy sygnału i mocy szumu.