Co to jest kodowanie blokowe?

Część teorii kodu, kodowanie blokowe jest formą korekcji błędów w przód (FEC), znanej również jako kod kanałowy, który konwertuje wiadomości na określone kody i wysyła informacje w postaci bloku danych o określonej długości. Większe bloki danych ułatwiają komputerowi odbierającemu dekodowanie informacji i korygowanie błędów występujących podczas przesyłania. Kody blokowe i kody splotowe to dwa typy kodów powszechnie używane w FEC. Tego typu kody umożliwiają wysyłanie wiadomości przez niewiarygodne połączenie i nadal można je rozszyfrować po nadejściu.

Użycie kodowania blokowego jest konieczne ze względu na szum, który pojawia się podczas wysyłania wiadomości. Gdy dane muszą przebyć dużą odległość lub przez niewiarygodne połączenie, waga i odległość Hamminga są używane do określenia prawdopodobieństwa błędów. Waga Hamminga to liczba cyfr potrzebnych do wyrażenia wszystkich możliwych kombinacji kodu, a odległość Hamminga to liczba błędów, które musiałyby wystąpić, zanim bit reprezentował prawidłową, ale błędną informację.

Na przykład, jeśli nadawca korzystający z kodowania blokowego chciałby wysłać wiadomość, która może używać tylko trzech możliwych kodów, z których każdy składa się z trzech cyfr, waga Hamminga będzie wynosić trzy. Kody mogą mieć postać 000, 010 i 011. Jeśli błąd spowodował zmianę dowolnej cyfry, na przykład zmianę 000 na 010, kod zostałby odczytany jako prawidłowy kod (010), ale nie taki, jaki zamierzył nadawca (000) . Tak więc odległość Hamminga dla tego kodu wynosi jeden, ponieważ tylko jedna cyfra musi się zmienić, aby spowodować błąd, którego komputer nie może naprawić.

Aby zmniejszyć odległość Hamminga i zredukować błędy, dane są wysyłane jako blok kodu, który jest zakodowany w określonych słowach kodowych o określonej długości. Pierwotne bity danych komunikatu są określane jako k bitów. K bitów jest tłumaczonych na odpowiadające n bitów, które są kodami, które zostały wybrane jako dłuższe kody dla każdego k bitu. Jedynki lub zera są dodawane, aby bity miały jednakową długość i zmniejszały odległość Hamminga. Następnie te bloki n bitów są przesyłane do komputera odbiorczego.

Myślenie o kodowaniu blokowym jest najprostsze, gdy porównamy je z dwiema osobami prowadzącymi rozmowę. Podczas rozmowy w hałaśliwym pomieszczeniu lub krzyczenia na dużą odległość jest więcej miejsca na błędy w tym, co słyszy osoba odbierająca. 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ć, co mówi osoba.

Na przykład, jeśli jedna osoba krzyczy „Czerwony kot”, a druga słyszy „Kot karmiony”, przerywają zdanie niepoprawnie. Jeśli jednak pierwsza osoba powiedziała: „Mam kota w kolorze czerwonym”, a druga osoba usłyszała: „Mam nakarmionego kolorowego kota”, kontekst zdania ułatwia ustalenie, kto rzeczywiście powiedział „czerwony” i nie „nakarmiony”. Jest to podstawowa zasada kodowania blokowego i używania dłuższych, jednolitych kodów, aby pomóc komputerom dokładnie przetłumaczyć blok informacji.