Standardowa tablica
W teorii kodowania tablica ( tablica Slepiana) to listę określonego przestrzeń wektorowa . Tablice standardowe służą do dekodowania kodów liniowych ; tzn. znaleźć odpowiednie słowo kodowe dla dowolnego odebranego wektora.
Definicja
Standardowa tablica dla kodu [ n , k to tablica, w której: n
- 0 Pierwszy wiersz zawiera listę wszystkich słów kodowych (ze słowem kodowym po lewej stronie)
- Każdy rząd to coset z liderem coset w pierwszej kolumnie
- Wpis w i-tym wierszu i j-tej kolumnie jest sumą i-tego lidera cosetu i j-tego słowa kodowego.
Na przykład [ 5 , 2 ] -kod ma standardową tablicę w następujący sposób: do { 01101, 10110, 11011} 0
0 | 01101 | 10110 | 11011 |
10000 | 11101 | 00110 | 01011 |
01000 | 00101 | 11110 | 10011 |
00100 | 01001 | 10010 | 11111 |
00010 | 01111 | 10100 | 11001 |
00001 | 01100 | 10111 | 11010 |
11000 | 10101 | 01110 | 00011 |
10001 | 11100 | 00111 | 01010 |
Powyższe jest tylko jedną z możliwości dla tablicy standardowej; gdyby 00011 zostało wybrane jako pierwszy lider zestawu o wadze drugiej, zostałaby skonstruowana inna standardowa tablica reprezentująca kod.
00 Pierwszy wiersz zawiera słowa kodowe ( samo w sobie słowem kodowym). Ponadto skrajna lewa kolumna zawiera wektory o minimalnej wadze , wyliczając najpierw wektory o wadze 1, a następnie wykorzystując wektory o wadze 2. Również każdy możliwy wektor w przestrzeni wektorowej pojawia się dokładnie raz.
Konstruowanie standardowej tablicy
Ponieważ każdy możliwy wektor może wystąpić tylko raz w standardowej tablicy, należy zachować ostrożność podczas konstruowania. Standardową tablicę można utworzyć w następujący sposób:
- 0 Wymień słowa kodowe zaczynając od jako pierwszy wiersz
- Wybierz dowolny wektor o minimalnej wadze, którego nie ma jeszcze w tablicy. Wpisz to jako pierwszy wpis w następnym wierszu. Ten wektor jest oznaczony jako „ lider coset” .
- Wypełnij wiersz, dodając lidera zestawu do słowa kodowego u góry każdej kolumny. Suma i-tego lidera cosetu i j-tego słowa kodowego staje się wpisem w wierszu i, kolumnie j.
- Powtarzaj kroki 2 i 3, aż zostaną wyświetlone wszystkie wiersze/cosets, a każdy wektor pojawi się dokładnie raz.
Dodawanie wektorów odbywa się mod q. Na przykład kody binarne są dodawane mod 2 (co odpowiada bitowemu dodawaniu XOR). Na przykład w , 11000 + 11011 = 00011.
To, że wybranie różnych liderów cosetu stworzy nieco inną, ale równoważną tablicę standardową i nie wpłynie na wyniki podczas dekodowania.
Przykład konstrukcji
Niech będzie kodem binarnym [4,2] . tj. C = {0000, 1011, 0101, 1110}. Aby skonstruować tablicę standardową, najpierw wymieniamy słowa kodowe w rzędzie.
0000 | 1011 | 0101 | 1110 |
Następnie wybieramy wektor o minimalnej wadze (w tym przypadku o wadze 1), który nie był używany. Ten wektor staje się liderem cosetu dla drugiego rzędu.
0000 | 1011 | 0101 | 1110 |
1000 |
Po kroku 3 uzupełniamy wiersz, dodając lider coset do każdego słowa kodowego.
0000 | 1011 | 0101 | 1110 |
1000 | 0011 | 1101 | 0110 |
Następnie powtarzamy kroki 2 i 3, aż wszystkie rzędy zostaną zakończone. Zatrzymujemy się, gdy osiągnęliśmy wierszy.
0000 | 1011 | 0101 | 1110 |
1000 | 0011 | 1101 | 0110 |
0100 | 1111 | 0001 | 1010 |
0010 | 1001 | 0111 | 1100 |
W tym przykładzie nie mogliśmy wybrać wektora 0001 jako lidera cosetu ostatniego rzędu, mimo że spełnia on kryterium minimalnej wagi (1), ponieważ wektor był już obecny w tablicy. Mogliśmy jednak wybrać go jako pierwszego lidera cosetu i skonstruować inną standardową tablicę.
Dekodowanie za pomocą standardowej tablicy
Aby zdekodować wektor przy użyciu standardowej tablicy, odejmij wektor błędu – lub lider coset – od otrzymanego wektora. Rezultatem będzie jedno ze słów kodowych Załóżmy na przykład, że używamy kodu C = {0000, 1011, 0101, 1110} i skonstruowaliśmy odpowiednią tablicę standardową, jak pokazano w powyższym przykładzie. Jeśli otrzymamy wektor 0110 jako wiadomość, znajdziemy ten wektor w tablicy standardowej. Następnie odejmujemy lidera coset wektora, czyli 1000, aby otrzymać wynik 1110. Otrzymaliśmy słowo kodowe 1110.
Dekodowanie za pomocą standardowej tablicy jest formą dekodowania najbliższego sąsiada . W praktyce dekodowanie pomocą standardowej tablicy wymaga dużej ilości pamięci - kod z 32 słowami kodowymi wymaga standardowej tablicy . Inne formy dekodowania, takie jak dekodowanie syndromowe , są bardziej wydajne.
Dekodowanie za pomocą standardowej tablicy nie gwarantuje, że wszystkie wektory zostaną zdekodowane poprawnie. Jeśli otrzymamy wektor 1010, użycie powyższej standardowej tablicy zdekoduje wiadomość jako 1110, odległość słowa kodowego wynosi 1. Jednak 1010 jest również oddalone o 1 od słowa kodowego 1011. W takim przypadku niektóre implementacje mogą wymagać ponownego wysłania wiadomości lub niejednoznaczny bit może zostać oznaczony jako wymazanie, a następujący po nim kod zewnętrzny może go poprawić . Ta niejednoznaczność jest kolejnym powodem, dla którego czasami stosuje się różne metody dekodowania.
Zobacz też
- Hill, Raymond (1986). Pierwszy kurs teorii kodowania . Seria Oxford Applied Mathematics and Computing Science. Oxford University Press . ISBN 978-0-19-853803-5 .