Zaczynamy dopiero kody i w sumie... nie mam nawet jak szukać materiałów, informacji. Dostałem takie zadanie:
Ile wykrywa, a ile koryguje błędów kod o następujących słowach kodowych:
a) 00000, 01011, 10101, 11110,
b) 000000, 010101, 101010, 11111
i nie wiem nawet jak je ugryźć. Czy ktoś mógłby mi podrzucić jakieś materiały, zasugerować coś albo wytłumaczyć o co tutaj chodzi? Będę bardzo wdzięczny! Pozdrawiam.
Kod, słowo kodowe
-
- Użytkownik
- Posty: 5101
- Rejestracja: 11 mar 2011, o 16:31
- Płeć: Mężczyzna
- Lokalizacja: 52°16'37''N 20°52'45''E
- Podziękował: 4 razy
- Pomógł: 1001 razy
Kod, słowo kodowe
Kluczowym pojęciem jest tu .
W przykładzie a) minimalna odległość Hamminga między dwoma słowami kodowymi jest równa \(\displaystyle{ 3}\). Zatem kod wykrywa \(\displaystyle{ 2}\) błędy. Jeśli otrzymasz słowo kodowe z co najwyżej dwoma przekłamaniami (ale co najmniej jednym), to zauważysz że coś jest nie tak, bo otrzymany ciąg nie będzie słowem kodowym. Jeśli będą trzy przekłamania, to na przykład słowo \(\displaystyle{ 00000}\) może się zamienić na \(\displaystyle{ 01011}\) i źle odczytasz wiadomość.
Kod ten koryguje jeden błąd. Jeśli otrzymasz błędne słowo \(\displaystyle{ w}\), ale wiesz, że tylko jeden symbol jest przekłamany, to możesz wydedukować, jakie było oryginalne słowo kodowe, bo jest tylko jedno słowo kodowe w odległości \(\displaystyle{ \le1}\) od \(\displaystyle{ w}\). Dla co najwyżej dwóch błędów już nie można skorygować, bo nie wiadomo, czy słowo \(\displaystyle{ 00011}\) powstało z \(\displaystyle{ 00000}\) czy z \(\displaystyle{ 01011}\).
W przykładzie a) minimalna odległość Hamminga między dwoma słowami kodowymi jest równa \(\displaystyle{ 3}\). Zatem kod wykrywa \(\displaystyle{ 2}\) błędy. Jeśli otrzymasz słowo kodowe z co najwyżej dwoma przekłamaniami (ale co najmniej jednym), to zauważysz że coś jest nie tak, bo otrzymany ciąg nie będzie słowem kodowym. Jeśli będą trzy przekłamania, to na przykład słowo \(\displaystyle{ 00000}\) może się zamienić na \(\displaystyle{ 01011}\) i źle odczytasz wiadomość.
Kod ten koryguje jeden błąd. Jeśli otrzymasz błędne słowo \(\displaystyle{ w}\), ale wiesz, że tylko jeden symbol jest przekłamany, to możesz wydedukować, jakie było oryginalne słowo kodowe, bo jest tylko jedno słowo kodowe w odległości \(\displaystyle{ \le1}\) od \(\displaystyle{ w}\). Dla co najwyżej dwóch błędów już nie można skorygować, bo nie wiadomo, czy słowo \(\displaystyle{ 00011}\) powstało z \(\displaystyle{ 00000}\) czy z \(\displaystyle{ 01011}\).
-
- Użytkownik
- Posty: 333
- Rejestracja: 2 lis 2011, o 20:55
- Płeć: Mężczyzna
- Lokalizacja: Warszawa
- Podziękował: 82 razy
Kod, słowo kodowe
A jak to działa w drugim przypadku? Z tego co widzę jedno słowo kodowe jest krótsze od pozostałych (ostatnie). Chyba to nie powinno tak być, prawda? Domyślam się że autor zadania miał na myśli "111111" jako ostatnie słowo kodowe. Jeżeli tak to mamy taką samą sytuację jak w pierwszym podpunkcie, minimalna odległość Hamminga wynosi 3, wykrywa 2 błędy, koryguje 1.
Mam też kolejne zadanie, które wydaje się być banalne:
W kodzie liniowym odległość między każdymi dwoma słowami kodowymi wynosi 7. Ile błędów
wykrywa, a ile koryguje ten kod?
Wykrywa 6, koryguje 3.
Mam też kolejne zadanie, które wydaje się być banalne:
W kodzie liniowym odległość między każdymi dwoma słowami kodowymi wynosi 7. Ile błędów
wykrywa, a ile koryguje ten kod?
Wykrywa 6, koryguje 3.