Co to jest kodowanie blokowe?
Częścią teorii kodów jest to, że kodowanie blokowe jest formą korekcji błędów przesyłania dalej (FEC), znaną również jako kod kanału, która konwertuje wiadomości na określone kody i wysyła informacje jako blok danych o określonej długości. Większe bloki danych ułatwiają komputerowi odbierającemu odkodowanie informacji i poprawienie błędów, które występują podczas przesyłania. Kody blokowe i kody splotowe to dwa typy kodów powszechnie stosowane w FEC. Tego rodzaju kody pozwalają na wysłanie wiadomości przez niewiarygodne połączenie i nadal mogą być rozszyfrowane, gdy nadejdzie.
Zastosowanie kodowania blokowego jest konieczne ze względu na szum, który pojawia się podczas wysyłania wiadomości. Gdy dane muszą przebyć duży dystans lub niewiarygodne połączenie, do określenia prawdopodobieństwa błędów używa się masy i odległości Hamminga. Waga Hamminga to liczba cyfr potrzebnych do wyrażenia wszystkich możliwych kombinacji kodów, a odległość Hamminga to liczba błędów, które musiałyby wystąpić, zanim bit reprezentowałby wiarygodną, ale złą informację.
Na przykład, jeśli nadawca korzystający z kodowania blokowego chciałby wysłać wiadomość, która mogłaby użyć tylko trzech możliwych kodów o długości trzech cyfr, waga Hamminga wynosiłaby trzy. Kody mogą mieć postać 000, 010 i 011. Jeśli błąd spowodowałby zmianę jednej cyfry, na przykład 000 na 010, kod zostałby odczytany jako prawidłowy kod (010), ale nie kod zamierzony przez nadawcę (000) . Zatem odległość Hamminga dla tego kodu jest jedna, ponieważ tylko jedna cyfra musi się zmienić, aby spowodować błąd, którego komputer nie może naprawić.
Aby zmniejszyć odległość Hamminga i zmniejszyć liczbę błędów, dane są wysyłane jako blok kodu, który jest zakodowany w określonych słowach kodowych o określonej długości. Oryginalne bity danych wiadomości są określane jako k bitów. K bitów jest tłumaczonych na odpowiednie n bitów, które są kodami, które zostały wybrane jako dłuższe kody dla każdego k bitu. Dodawane są jedynki lub zera, aby bity miały jednolitą długość i zmniejszyć odległość Hamminga. Następnie te bloki n bitów są przesyłane do komputera odbierającego.
Myślenie o kodowaniu blokowym jest najprostsze, gdy porównamy go do dwóch osób prowadzących rozmowę. Gdy rozmawiasz w hałaśliwym pokoju lub krzyczysz z dużej odległości, jest więcej miejsca na błędy w tym, co słyszy odbiorca. Jeśli zdanie jest długie, osoba może poprawić więcej błędów, biorąc całe zdanie w kontekście, ale krótkie zdania mają wyższy wskaźnik błędów, ponieważ trudniej jest rozszyfrować to, co mówi.
Na przykład, jeśli jedna osoba krzyczy „Czerwony kot”, a druga słyszy „Karmiony kot”, niepoprawnie przerywają zdanie. Jeśli jednak pierwsza osoba powiedziała: „Mam kota w kolorze czerwonym”, a druga usłyszała: „Mam kota w kolorze karmionym”, kontekst zdania ułatwia określenie osoby, która faktycznie powiedziała „czerwony” i nie „karmione”. Jest to podstawowa zasada kodowania blokowego i stosowania dłuższych, jednolitych kodów, aby pomóc komputerom w dokładnym przetłumaczeniu bloku informacji.