Menu
Jest wolny
Zameldować się
główny  /  Instalacja i konfiguracja / Centrum edukacyjne i metodyczne dla szkolenia językowego AVTF KZ. Centrum edukacyjne i metodyczne dla szkolenia językowego AVTOF CZ zawiera przydatne informacje w prefiksie cyklicznym

Centrum edukacyjne i metodyczne dla szkolenia językowego AVTF KZ. Centrum edukacyjne i metodyczne dla szkolenia językowego AVTOF CZ zawiera przydatne informacje w prefiksie cyklicznym

6. Korekta błędów za pomocą kodów cyklicznych

W sekcji 3 pokazano, że do dekodowania prawidłowo odebranego słowa kodu, tj. Znalezienie odpowiedniego słowa informacyjnego, dość wielomian odpowiadający odebrane słowo kodowe, podzielić się w wytwarzający kod kodu. Jeśli jednak wystąpiły błędy podczas transmisji, w trakcie procesu dekodowania należy naprawić te błędy.

Ponieważ kody cykliczne są liniowe, proces wykrywania i poprawiania błędów jest związany ze znalezieniem zespołu przyjętego wektora. Przypomnijmy ten zespół wektorowy u.oblicza się jako produkt wektora na transponowanej matrycy kodu testowego, tj. s U.= uh t.. W przypadku kodu cyklicznego zespół jest równy pozostałości od dzielenia odpowiedniego wielomialnego do wygenerowanego kodu licznych kodu, jeśli matryca testowa jest w określony sposób. Innymi słowy, jeśli sOL.(x.) - generowanie wielomianu kodu, a następnie zespół wektorowy u. równa pozostałości u.(x.) na sOL.(x.). Jeśli nie było błędów, pozostałość, a zatem zespół przyjętego wektora wynosi 0.

Aby poprawić błędy, musimy zbudować tabelę, w której w jednej kolumnie pojawi się wszystkie możliwe wektory błędów, które można poprawić, aw drugiej kolumnie - odpowiednie syndromy. Ustalanie błędów, ogólne dla wszystkich kodów linii, będą następujące:

1. W przypadku przyjętych słów znajdziemy syndrom wielomianowy odpowiadający przyjętym słowom.

2. Jeśli zespół nie jest równy 0, w zależności od wynikowego zespołu (pozostałości pozostałości) znajdziemy wektor błędów odpowiadający mu.

3. Popraw odebrane słowo przez dodanie Modulo 2 za pomocą obliczonego wektora błędu.

Pierwszym krokiem, który jest wykonywany przez pomnożenie słowa odebranego na transpozycyjnej matrycy testowej, jest bardzo proste dla cyklicznych kodów, jeśli matryca H. Jest to macierz testowy systemu systematycznego. W tym przypadku, jOT.- Jestem ciągiem transponowanej macierzy H. T. odpowiada pozostałości z podziału wielomianu x N. -1- JOT. Generator licznych kodu, a zespół jest równy pozostałości przed dzieleniem wielomianu odpowiadającego przyjętym słowie do wygenerowanego kodu kodu.

Przykład:Rozważ cykliczny (7.1) -Code generowany przez wielomian sOL.(x.) = x. 6 + x. 5 + x. 4 + x. 3 + x. 2 + x. +1. Kod składa się z dwóch słów 0000000 i 1111111 i poprawia wszystkie kombinacje 3 lub mniej błędów. Formowanie są wszystkie logiczne długość wektora 7 Wagi 0, 1, 2 i 3. Matryca testowa jest zbudowana na prywatnym ( x. +1) z podziału x. 7 +1 ON. x. 6 + x. 5 + x. 4 + x. 3 + x. 2 + x. +1 i ma widok

Niech Słowo 11101101, który odpowiada wielomianowi x. 6 + x. 5 + x. 4 + x. 2 + 1. Pozostałość z podziału tego wielomialnego do generowania licznego kodu jest równy x. 3 + x.. Bezpośrednio sprawdzanie, możesz upewnić się, że przy pomnożeniu wektora u. \u003d 1110101 na transponowanej matrycy H. T., a także podczas mnożenia wektor 0001010 H. T. Okazuje się wektor 0001010, który odpowiada wielomianowi x. 3 + x.. Wektor odpowiadający wielomian. x. 3 + x., Ma wagę 2, tj. Jest formą przylegającą klasą. Po złożeniu przyjętego wektora 11101101 z generatorami 0001010 uzyskujemy słowo kodowe 1111111, tj. Błąd zostanie poprawiony.

Dla kodów liniowych liczba różnych syndromów wynosi 2 N. - K.gdzie n.-k. - liczba znaków testowych. Dlatego w przypadku kodeksu z długim kodem słownym kodem, tj. Przy wystarczająco dużej liczbie znaków testowych, tabela syndromów jest bardzo duża i zajmie dużo czasu, aby wyszukać błędy. Aby zmniejszyć liczbę wierszy w tej tabeli dla cyklicznych kodów, można użyć ścisłej struktury matematycznej takich kodów. Głównym twierdzeniem jest The Megitt Twierdzenie, który ustanawia relację między cyklicznymi zmianami wektora a ich pozostałościami od dzielenia się do generowania licznych kodu.

Twierdzenie 6.1.. (Meghhyite). Zostawiać s. - Wektor syndrome. u. Długość n.. Syndrom Cykliki SHIFT. u. zbiega się z zespołem wektorowym odpowiadającym polinie xs.(x.).

Przykład: Rozważmy (7.4) Hamming -Kod, który jest cyklicznym kodem generowanym przez wielomianę sOL.(x.) = x. 3 + x. + 1. Wektorek binarny 1011000 to słowo kodowe, ponieważ odpowiedni wielomian x. 6 + x. 4 + x. 3 podzielone przez sOL.(x.). Przypuśćmy, że gdy transmisja tego słowa kodu wystąpiła jeden błąd w wyładowaniu odpowiadającym x. 4 i przyjęła słowo u. \u003d 1001000. Syndrom. s. Przyjęty wektor jest równy 110, który odpowiada wielomianowi x. 2 + x..

Rozważmy wektor cykliczny 0010001 u.. Odpowiada wielomianowi x. 4 + 1. Bezpośrednia kontrola może być zweryfikowana, że \u200b\u200bpozostałość z podziału wielomianu x. 4 + 1 na wielomian x. 3 + x. + 1 równe x. 2 + x. + 1, tj. Zespół wektorowy 0010001 wynosi 111. Pozostałość z podziału wielomianu xs.(x.) = x. 3 + x. 2 na x. 3 + x. + 1 jest również równy x. 2 + x. + 1.

Korzystając z twierdzenia Megitt, w tabeli zespołu, można przechowywać tylko zespoły błędów odpowiadające błędom w starszym wyładowaniu. Procedura korekcji błędów zawiera następujące kroki:

1. Znajdź zespół przyjętego wektora, dzieląc odpowiednie wielomian do generowania kodu licznego kodu. Jeżeli saldo z podziału zawartego w rejestrze znajduje się 0, błędy nie były, a prywatne słowo informacyjne ma prywatne informacje. W przeciwnym razie porównaj saldo od dzielenia się ze wszystkimi zespołami zawartymi w tabeli.

2. Jeżeli pozostałość zbiegła się z jednym ze syndromów tabel, a następnie dodać odpowiedni wektor błędu do przyjętego słowa, podziel wynikające z tego słowo do generowania kodu licznych kodu; Prywatna rozszczepienie jest pożądane słowo informacyjne. Jeśli pozostałość xs.(x.) nie pokrywa się z zespołami tabeli, pomnóż s.(x.) na x. I podziel wielomian xs.(x.) Wygenerować kod wielomianowy.

3. Wykonaj krok 2 aż po p. Kroki Pozostałość nie pokrywa się z jednym ze syndromów tabeli. Po tym, cyklicznie przesuwa odpowiedni wektor błędu p. Raz dodaj wynikowy wektor do przyjętego słowa, dzielimy wynikowe słowo do generowania kodu licznych kodu; Prywatna rozszczepienie jest pożądane słowo informacyjne.

Przykład: Rozważ cykliczny (7.4) Hamming -Kod generowany przez wielomianę sOL.(x.) = x. 3 + x. + 1. Odpowiednia tabela dekodowania z zespołami ma następujący formularz.

i przypuśćmy, że w przekazanym kodeksu słowa 0001011 było jeden błąd, czyli zaakceptowano, na przykład, słowo 0101011, co odpowiada wielomianowi x. 5 + x. 3 + x. + 1. Pozostałość z podziału wielomianu x. 5 + x. 3 + x. + 1 do generowania kodu wielomianowego sOL.(x.) = x. 3 + x. + 1 równe x. 2 + x. + 1, tj. Adoptowany zespół wektorowy jest inny niż 0 i równy 111. Nie ma takiej syndromu w tabeli, a zatem nie ma błędów w starszym wyładowaniu. Wiele wielomianów. x. 2 + x. + 1, odpowiadający syndromowi 111, na x. i podzielić wynikowy wielomian x. 3 + x. 2 + x. na sOL.(x.). Saldo podziału wielomianowego x. 3 + x. 2 + x. na x. 3 + x. + 1 równe x. 2 + 1, I.E. Zespół 101, odpowiednia pozostałość zbiega się z zespołem w skróconej tabeli dekodowania. W związku z tym, formowanie 100 000 przylegających klas jest przesunięty na jedną cyfrę w lewo, a wynikowy wektor 0100000 składa się z przyjętym wektorem 0101011. W rezultacie słowo 0001011 jest uzyskiwany, który jest transmitowanym słowem kodowym, tj. Błąd będzie skorygowany.

Możesz uprościć ten dekoder. W szczególności, z cykliczną przesunięciem odebranego słowa, wiele poprawionych konfiguracji błędów może pojawić się kilka razy. Jeśli usuniesz jeden z tych syndromów, a następnie z odpowiednią zmianą cykliczną, zostanie znaleziony błąd. W związku z tym dla każdej takiej pary wystarczy jeden zespół.

Białorusijski Stanowy Uniwersytet Informatyki i Radioelektronika

departament Res.

streszczenie na ten temat:

"Kody cykliczne. Kody BCH "

Mińsk, 2009.

Kody cykliczne.

Kod cykliczny nazywa się blokiem liniową (N, K) -Code, która charakteryzuje się właściwości cykliczności, tj. Pozostawione w lewo Jeden krok dowolnego dozwolonego słowa CODE Słowo zapewnia również dozwolone słowo kodowe należące do tego samego kodu, w którym zestaw słów kodowych wydaje się być zestaw wielomianów stopnia (N-1) i mniej dzielącej się na niektórych wielomianach G (x) stopień r \u003d nk, który jest czynnikiem skręconego xn +1.

Wielomian G (X) jest nazywany generowaniem.

W następujący sposób z definicji, w kodzie cyklicznym, słowa kodowe są prezentowane w postaci wielomianów


gdzie n jest długością kodu; - Współczynniki z pola GF (Q).

Jeśli kod jest skonstruowany na polu GF (2), współczynniki przyjmują wartości 0 lub 1, a kod jest nazywany binarnym.
Przykład. Jeśli kod kodowy kodeksu cyklicznego

Następnie odpowiednie wielomian

Na przykład, jeśli kod jest skonstruowany w polu GF (Q) \u003d GF (2 3), który jest przedłużeniem GF (2) przez moduł nieredukowalnego wielomianu F (Z) \u003d Z 3 + Z + 1, A elementy tego pola są oglądane w tabeli 1,

to współczynniki

Podejmij wartości elementów tej dziedziny i dlatego sami są wyświetlane w postaci następujących rodzajów wielomianów.
gdzie m jest stopień wielomicy, zgodnie z którym otrzymuje się rozwój pola GF (2); I - współczynniki biorące wartości elementów GF (2), tj. 0 i 1. Takie kod nazywa się qn.

Długość kodu cyklicznego nazywana jest prymityw, a sam kod jest nazywany prymitywnym, jeśli jego długość n \u003d q m -1 na gf (q).

Jeśli długość kodu jest mniejsza niż długość prymitywnego kodu, kod nazywa się skróconym lub intransivantem.

W następujący sposób z definicji ogólna właściwość Kodeksu Kodeksu cyklicznego jest ich podzielność bez pozostałości do niektórych wielomianów G (X), zwanych generujących.

Uzyskany podział skręconych X N +1 na wielomianowym G (X) jest kontrolą wielomiczką H (X).

Podczas dekodowania kodów cyklicznych, błędy E (X) i syndromiczkę S (X) są stosowane.

Numer błędu stopnia nie jest już więcej (N-1) określa się z wyrażenia

Gdzie są wielomiany, które wyświetlają odpowiednio akceptowane (z błędem) i przesyłane słowa kodowe.

Współczynniki nonalne w E (x) zajmują pozycje, które odpowiadają błędom.

Przykład.

Syndromiczna wielomialna stosowana w dekodowaniu kodu cyklicznego jest zdefiniowana jako pozostałość od dzielącej otrzymanego słowa kodowego do generowania wielomianu, tj.


lub

W związku z tym wielomiczkę syndromiczną zależy bezpośrednio od błędów E (X). Jest to używane przy konstruowaniu tabeli zespołów stosowanych w procesie dekodowania. Ta tabela zawiera listę wielomianów błędów i lista odpowiednich syndromów określonych z wyrażenia

(Patrz tabela 2).

W procesie dekodowania według otrzymanego słowa kodowego jest obliczany zespół, a następnie tabela jest odpowiednia wielomiana E (X), którego sumowanie, którego z otrzymanym słowem kodowym daje skorygowane słowo kodowe, tj.

Wymienione wielomiany można składać, pomnożyć i podzielone za pomocą znanych reguł algebry, ale w wyniku modu 2, a następnie zgodnie z MOD X N +1, jeśli stopień wyniku przekracza stopień (N-1).

Załóżmy, że długość kodu n \u003d 7, wówczas wynik jest podawany przez mod x 7 +1.

Podczas budowy i dekodowania kodów cyklicznych, w wyniku podziału wielomianów, zwykle konieczne jest nie mieć szczególnych, ale pozostałej części podziału.
Dlatego zalecana jest prostsza metoda rozszczepienia, stosując nie wielomianów, ale tylko jego współczynniki (opcja 2 w przykładzie).

Przykład.

Kod Matrix Job.

Kod cykliczny można określić poprzez generowanie i weryfikację matryc. Aby je zbudować, wystarczy poznać wielomianów generowania G (x) i weryfikacji H (x). W przypadku nieprzejednanego kodu cyklicznego macierz zbudowany jest przez cykliczną zmianę wielomianów generujących i sprawdzających, tj. Mnożąc je do x

i

Podczas konstruowania matrycy H (N, K), główny współczynnik wielomianu H (X) znajduje się po prawej stronie.

Przykład. Dla cyklicznego (7,4) -Code z generowającym wielomianem G (x) \u003d x 3 + x + 1, matryce G (N, K) i H (N, K) to:

Gdzie

W przypadku systematycznego kodu cyklicznego macierz G (N, K) jest określony z wyrażenia

gdzie jestem pojedynczą matrycą; R k, r oznacza matrycę prostokątną. Rzędy macierzy R K, R są określane na podstawie wyrażeń lub gdzie I (X) jest wartością rzędu I-th Matrix I K; I - Liczba rzędu matrycy R K, R.

Przykład. Matrix G (N, K) dla (7.4) -Code na podstawie generowania wielomianu G (x) \u003d x 3 + x + 1 jest zbudowany w następującej kolejności


lub

Określono R 4.3 za pomocą

tak jak

Podobna metoda jest określona

Kod cykliczny

Cykliczne kody odnoszą się do liczby bloków blokowych systematycznych kodów, w których każda kombinacja jest zakodowana niezależnie (w postaci bloku) w taki sposób, że informacje k i Control Ton są zawsze na

odwróć się w niektóre miejsca. Zdolność do wykrywania i poprawiania niemal wszelkich błędów o stosunkowo niskiej redundancji w porównaniu z innymi kodami, a także prostotą obwodu wdrażania urządzeń kodujących i dekodujących dokonano tych kodów powszechnych. Teoria cyklicznych kodów opiera się na teorii grup i algebry wielomianów na polu Galois.

Kodeks cykliczny - Kodeks, procedura rozkładu kombinacji kodów, w których prowadzi się w taki sposób, że podczas przełączania z dowolnej kombinacji do sąsiedniego za każdym razem, odległość kodu na hamowaniu pozostaje stała.

Kody cykliczne są całą rodziną kodów odpornych na hałas, który obejmuje jeden z gatunków kodów hamowania, ale ogólnie zapewnia większą elastyczność pod względem możliwości wykonania kodów z niezbędną zdolnością do wykrywania i prawidłowych błędów, które występują podczas przesyłania kombinacji kodów nad kanałem komunikacji. Kod cykliczny odnosi się do systematycznego bloku (N, K) -Codes, w których K Pierwsze zrzuty są kombinacją kodu podstawowego, a kolejne (N? K) zrzuty są weryfikowane.

Podstawą konstruowania kodów cyklicznych jest funkcjonowanie podziału przesyłanej kombinacji kodu do generowania nieredukowalnego wielomianu R. Saldo podziału stosuje się w tworzeniu wyładowań testowych. W tym przypadku operacje podziału poprzedza operację mnożenia, co powoduje, że przejście do lewej kombinacji kodu informacyjnego K-rozładowania na z wyładowaniach.

Wielomian (wielomian), który może być reprezentowany jako produkt wielomianów o niskiej stopniu, nazywa się (w tej dziedzinie), w przeciwnym razie nieredukowalne. Nieredukowalne wielomiany odgrywają rolę podobną do prostych liczb w teorii liczb. Nieredukowalne wielomiany p (x) można zapisać w postaci liczb dziesiętnych lub binarnych lub w postaci wielomianu algebraicznego.

Cykliczny proces kodowania

Podstawą cyklicznego kodowania opiera się na stosowaniu nieredukowalnego polinomialnego p (X), który w stosunku do kodów cyklicznych nazywany jest formowaniem, generatorem lub produkcją wielomianową (wielomian).

Jako symbole informacyjne K, połączenie kodu binarnego dla wszystkich kombinacji jest podejmowane w celu budowania kodów cyklicznych. Ogólnie rzecz biorąc, jeśli określona kombinacja kodu Q (X) jest pomnożona przez wielomianę formującą p (x), okazuje się kod cykliczny, który ma te lub inne właściwości korygujące, w zależności od wyboru p (x). Jednak w tym kodzie, m symbole sterowania znajdą się w wielu różnych miejscach kombinacji kodu. Ten kod nie jest systematyczny, co utrudnia wdrażanie programu. Sytuacja może być znacznie uproszczona, jeśli znaki sterowania są przypisane na końcu, czyli po symbolach informacyjnych. W tym celu wskazane jest użycie następującej metody:

Pomnóż kombinację kodu G (x), który musi być zakodowany, na jednym skrzydle x m, mającym taki sam stopień jak wielomianowy p (x);

Podzielymy produkt G (x) x m na wielomianie formującego p (x m):

gdzie q (x) jest prywatny z podziału; R (x) - pozostałość.

Pomnożyć wyrażenie (2.1) na p (x) i przeniesienie r (x) do innej części równości bez zmiany znaku na odwrót, otrzymujemy:

Zatem, zgodnie z równością (2.2), kod cykliczny, to znaczy zakodowany komunikat F (X) można utworzyć na dwa sposoby:

Pomnożenie o jednym kombinacji kodu kodu binarnego dla wszystkich kombinacji wielomianu p (x);

Pomnożyć dany kombinację kodu G (x) do pojedynczego wielomicznego XM, mający wielkość, która tworzy wielomian p (x), z dodatkiem pozostałości R (X) otrzymaną po dzieleniu produktu G (x) XM do formowania Wielomian p (x).

Kodując wiadomość

Wymagane jest kodowanie kombinacji kodu 1100, co odpowiada G (x) \u003d x 3 + x 2 za pomocą p (x) \u003d x 3 + x + 1.

Mnożymy G (x) na x m, który ma trzeci stopień, otrzymujemy:

Dzieląc produkt G (x) x m na wielomianę formowania p (x m), zgodnie z (2.1) otrzymujemy:

lub w równoważnym binarnym:

Tak więc, w wyniku tego, otrzymujemy prywatny q (x) w takim samym stopniu jak g (x):

Q (x) \u003d x 3 + x 2 + x\u003e 1110

i pozostałość:

W rezultacie połączenie kodu binarnego kodowanego przez kod cykliczny, zgodnie z (2.2), weźmie formularz:

F (x) \u003d 1110 1011 \u003d 1100010

Ponieważ każda dozwolona kombinacja kodu kodu cyklicznego jest wszystkie możliwe suma tworzenia wielomianowego g (x), muszą być podzielone bez pozostałości na p (x). Dlatego sprawdzenie poprawności przyjętej kombinacji kodu jest zmniejszona do identyfikacji pozostałości w dzieleniu go do wytwarzania wielomianów.

Uzyskanie pozostałości wskazuje błąd. Saldo podziału w kategoriach cyklicznych odgrywa rolę zespołu.

Na przykład, przesyłana kombinacja kodu F (x) \u003d 1100010, skonstruowana przy użyciu formowania wielomianowego p (x) \u003d 1011. Pod wpływem zakłóceń kombinacja kodu została przekształcona w kombinację F "(X) \u003d 1000010

Podzielmy przyjęty kombinację do wielkości formowania

Obecność pozostałości R (X) \u003d 001 wskazuje błąd. Nie wskazuje jednak bezpośrednio do miejsca błędu w połączeniu. Aby określić błąd, istnieje kilka metod opartych na analizie zespołu.

Definiujemy lokalizację błędu, dla tego urządzenia z dowolną ilością zera dzielą się na p (x) \u003d 1011.

Wystąpił błąd w elemencie z numerem:

Liczba pozostałości -2\u003e 4-2 \u003d 2

To jest błąd w drugim elemencie.

Jest to podklasa kodów liniowych z właściwością klejnotową, którą cykliczna permutacja znaków w zakodowanym bloku daje inny możliwy kod zakodowany tego samego kodu. Kody cykliczne opierają się na wykorzystaniu pomysłów algebraicznych teorii pól Galua1.

Wiele najważniejszych kodów komunikacyjnych interferencji systemów komunikacyjnych -

w szczególności cykliczny, oparty na strukturach końcowej arytmetyki

pola Galua. Pole zwany wieloma elementami, które kończą ostateczne pole

rangi operacji są podejmowane w cytatach, ponieważ nie zawsze są ogólnie przyjęte operacje arytmetyczne. Pole zawsze ma element zerowy (0) lub zero i pojedynczy element (1) lub jednostkę. Jeśli numer p. Elementy pola są ograniczone, pole nazywa się pole skończonelub. ostatnia dziedzina galoisi jest wyznaczony Gf (q) y Gdzie q - Polecenie pola. Najmniejsze pole galois jest dwuskładnikowym IOL Gf (2) składający się tylko z dwóch elementów 1 i 0. W celu

1 Galois Evariste (Evariste Galois, 1811 - 1832) - Francuski matematyk, położył fundamenty nowoczesnej algebry.

wykonanie operacji nad elementami Gf (2) nie prowadził do wyjścia poza granicami tej dziedziny, są one przeprowadzane w module 2 (w ogóle jest określony przez porządek pola proste pola galoisa).

Pole ma wiele właściwości matematycznych. W przypadku elementów polowych, operacje dodawania i mnożenia są określane, a wyniki tych operacji powinny należeć do tego samego zestawu.

W przypadku operacji dodatku i mnożenia wykonywane są konwencjonalne reguły stowarzyszenia - ale + (B + c) \u003d (i + B) + C, komustyczność - A + B \u003d B + Ai ale b \u003d B. ale i dystrybucja - ale (B + C) \u003d ale b. + ale z.

Dla każdego elementu polowego ale Musi istnieć element odwrotny, dodając (-ale) i jeśli ale Nie równy zero, odwrotny element przez mnożenie (Y ').

Pole musi zawierać jednostka adducitacyjna - element 0, taki ale + 0 = aledla dowolnego elementu polowego ale.

Pole musi zawierać jednostka multiplikacja - element 1, takim al \u003d a. Dla dowolnego elementu polowego ale.

Na przykład istnieją pola liczb rzeczywistych, liczb racjonalnych, numerów złożonych. Pola te zawierają nieskończoną liczbę elementów.

W rzeczywistości wszystkie zestawy utworzone przez cykliczną permutację kombinacji kodu są również kombinacjami kodu. Tak więc na przykład cykliczne permutacje kombinacji 1000101 będą również zakodowane kombinacje 0001011, 0010110, 0101100 itp. Ta właściwość umożliwia władzę w dużej mierze uproszczenie urządzenia enkodera i dekodowania, zwłaszcza gdy błędy są wykryte i korygowanie pojedynczego błędu. Uwaga na kody cykliczne wynika z faktu, że ich wrodzone wysokie właściwości naprawcze są realizowane na podstawie stosunkowo prostych metod algebraicznych. Jednocześnie metody tabelaryczne wymagające dużej ilości pamięci dekodera są częściej używane do dekodowania dowolnego kodu blokowego liniowego.

Kod cykliczny zwany blokiem liniowym (P, k) -kod, który charakteryzuje się właściwości cykliczny, tj. Przesunięcie do lewego kroku dowolnego dozwolonego słowa, daje również dozwolone słowo kodowe należące do tego samego kodu, w którym wiele słów kodowych wydają się być zestaw wielomianów (P. - 1) i mniej podzielone przez generowane wielomian g (x) stopień r \u003d n-k y Bycie fabrycznym skrętem h. P +

W kodzie cyklicznym słowa kodowe reprezentują wielomianów (wielomianów)

gdzie p - długość kodu; A ja - Współczynniki pola Galua (wartości kombinacji kodu).

Na przykład, dla kombinacji kodu 101101 Nagrywanie wielomianowe ma formularz

Przykłady kodów cyklicznych są nawet sprawdzaniem kodów, kodeksy powtarzające, kody chemingowe, kody komputerowe i turboctorów.

Kod chemmming.. Możliwości korekcji błędów w kodzie chemingu są powiązane z minimalną odległością kodu d 0. Wszystkie błędy są naprawione p. \u003d Cnt. (D 0. - L) / 2 (tutaj CNT oznacza "część całkowitą") i błędy wielokrotności d 0 - 1. Tak, kontrolując dokładność d q \u003d. 2 i wykryte są pojedyncze błędy. W kodzie hemming. d 0 \u003d. 3. Dodatkowo wprowadzono wyładowanie informacji L \u003d. LOG 2 q Nadmiar zrzutów sterowania, gdzie Q - Liczba wyładowań informacji. Parametr L.zaokrąglony do najbliższego większego znaczenia. Kod kontroli rozładowania L jest odwróconym wynikiem odłączonego dodawania (dodatek modułu 2) liczb zrzutów informacyjnych, których wartości są równe jeden.

Przykład 7.7.

Pozwól im mieć główny kod 100110, tj. Q \u003d. 6. Określ dodatkowy kod.

Decyzja

Znaleźliśmy to L. \u003d 3, a opcjonalny kod jest równy

gdzie p jest symbolem działania dodawania kości, a po inwersji mamy 000. Teraz z głównym kodem zostanie przesłany i opcjonalny. Odbiornik ponownie otwiera dodatkowy kod i porównaj z przesyłanym. Kod porównania jest rejestrowany, a jeśli różni się od zera, jego wartość jest liczbą błędnie odebranego wyładowania głównego kodu. Jeśli więc kod 100010 zostanie przekazany, obliczony kod opcjonalny jest równy inwersji z 010sh10 \u003d 100, tj. 011, co oznacza błąd w trzecim rozładowaniu.

Uogólnienie kodów chemingowych są cykliczne kody BCH, które umożliwiają dostosowanie wielu błędów w przyjętej kombinacji kodu.

Kody Reda - Salomon Na podstawie dziedzin galois lub skończonych zoli. Dodatek do działania arytmetycznego, odejmowanie, mnożenie, podział i GD. Powyżej elementów ostatniego zera podają wynikowi, który jest również elementem tego zera. Enkoder lub dekoder RiDRA - Salomon musi koniecznie wykonać te operacje. Wszystkie operacje w celu wykonania Kodeksu wymagają specjalnego sprzętu lub specjalistycznego oprogramowania.

Turbokodes. Nadmierne kody mogą być stosowane zarówno niezależnie, jak iw postaci określonej kombinacji kilku kodów, gdy zestawy symboli jednego nadmiarowego kodu są uważane za symbole podstawowych informacji o kolejnym zbędnym kodzie. Takie stowarzyszenie zaczęło dzwonić kaskada kod. Ogromną zaletą kodów kaskadowych jest to, że ich użycie umożliwia uproszczenie enkodera, a zwłaszcza dekodera w porównaniu z podobnymi urządzeniami kodów niepoślizgowych o tej samej długości i redundancji. Kodowanie kaskadowe doprowadziło do tworzenia mgły turbo. Szkło turbo. Nazywany równoległym strukturą sygnału składającą się z dwóch lub więcej systematycznych kodów. Główną zasadą ich konstrukcji jest użycie kilku równoległych enkoderów komponentów roboczych. Jako komponent, można użyć zarówno bloków, jak i konwonulacyjnych kodów, kodów chemii, kodu PC, FDM itp. Wykorzystanie perforacji (kopanie) umożliwia zwiększenie względnej prędkości kodu turbo, dostosowując go, korygując zdolność do statystycznego Charakterystyka kanału komunikacyjnego. Zasada formacji kodu turbo jest następująca: wejście x, składający się z DO bit służył równolegle N. Przeplatają się. Każdy z tych ostatnich jest urządzeniem, który ćwiczy elementy w bloku DO Bit w porządku pseudo-losowym. Wyjście przeplatające - Symbole ze zmodyfikowanymi kontynuacjami - wchodzi do odpowiednich enkoderów podstawowych. Sekwencje binarne. x r. \u003d 1.2, ..., JV, na wyjściu enkodera są symbolami weryfikacyjnymi, które wraz z bitami informacyjnymi tworzą pojedyncze słowo kodowe. Zastosowanie przeplatania umożliwia zapobieganie sekwencji skorelowanych błędów podczas dekodowania części turbo, co jest ważne przy użyciu tradycyjnej metody dekodowania nawracającego. W zależności od wyboru kodu komponentowego Turbooks są podzielone na konwonuralne turbockers i kody blokowe-działają.