Kodeks Reed-Mulor-Wikipedia

before-content-x4

. Kody de Reed-Muller są liniowymi kodami korekcyjnymi. Ta rodzina kodów, początkowo binarna, zawdzięcza swoją nazwę dzieł Davida E. Mullera, który zaproponował zasadę kodeksu i Irvingowi S. Reedowi, która zaproponowała technikę dekodowania, opublikowaną w 1954 r. Od tego czasu ta rodzina jest szeroko badane i uogólnione na gotowe ciała ponad 2 elementów. Historycznie, kod trzciny z rzędu 1 na 5 zmiennych, który ma 64 słowa o długości 32 i koryguje 7 błędów, sondy użył Marynarz Uruchomione przez NASA w latach 1969–1973, aby zapewnić poprawną (cyfrową) transmisję zdjęć Marsa.

after-content-x4

Kod tej rodziny jest zidentyfikowana przy użyciu dwóch parametrów, ogólnie odnotowano

R {DisplayStyle r}

I

M {DisplayStyle M}

, nazywany odpowiednio zamówieniem i liczbą zmiennych. Te parametry interweniują w
Opis za pomocą funkcji logicznych: kod binarny trzciny-mullera

R {DisplayStyle r}

W

M {DisplayStyle M}

, które zauważamy

R M ( R W M ) {DisplayStyle Mathrm {rm} (r, m)}

, jest zbiorem tabel prawdy funkcji logicznych w

M {DisplayStyle M}

zmienne, których normalna postać algebraiczna (ANF) jest najwyżej stopnie

after-content-x4
R {DisplayStyle r}

.
Kiedy alfabet jest gotowym ciałem

Q {DisplayStyle Q}

elementy, po prostu rozważ funkcje

Q {DisplayStyle Q}

-Aires.

Prosta konstrukcja [[[ modyfikator |. Modyfikator i kod ]

Wybieramy dowolne zamówienie na elementach

F 2 M = { z 0 W . . . W z 2mPierwszy } {DisplayStyle Mathbb {f} _ {2}^{m} = {z_ {0}, …, z_ {2^{m} -1}}}

. Funkcja Boolana

F {DisplayStyle f}

W

M {DisplayStyle M}

Zmienne są następnie identyfikowane z słowem binarnym zdefiniowanym przez

Innymi słowy,

C F {DisplayStyle C_ {f}}

to lista wartości pobranych przez

F {DisplayStyle f}

w dowolnej kolejności, ale naprawiono.
Następnie możemy zdefiniować

Lub

D ( F ) {DisplayStyle d (f)}

jest stopniem ANF

F {DisplayStyle f}

.

Przykład

W przykładzie podanym we wstępie kod Reeda-Mullera zamówienia 1 na 5 zmiennych,

M {DisplayStyle M}

dlatego warto

5 {DisplayStyle 5}

Funkcje logiczne w 5 zmiennych są identyfikowane z binarnym słowem długości 32

Wszystkie słowa kodu są

Zatem kod jest zbiorem prawd funkcji logicznych afektów w 5 zmiennych, tabela prawdy

F {DisplayStyle f}

Bycie po prostu wektorem

C F {DisplayStyle C_ {f}}

.

Kolejna konstrukcja [[[ modyfikator |. Modyfikator i kod ]

Opisujemy, jak zbudować matrycę generującą kod długości

N = 2 M {DisplayStyle n = 2^{m}}

. Zapytajmy:

W kosmosie

F 2 N {DisplayStyle Mathbb {f} _ {2}^{n}}

Definiujemy dla dowolnej części

A F 2 M {DisplayStyle AsubSet Mathbb {f} _ {2}^{m}}

, wektory

I A F 2 N {DisplayStyle Mathbb {i} _ {A} w Mathbb {f} _ {2}^{n}}

o

Definiujemy również

F 2 N {DisplayStyle Mathbb {f} _ {2}^{n}}

Operacja binarna:

nazywany produktem zewnętrznym.

F 2 M {DisplayStyle Mathbb {f} _ {2}^{m}}

jest wektorową przestrzenią w

M {DisplayStyle M}

Wymiary ciała

F 2 {DisplayStyle Mathbb {f} _ {2}}

, więc piszemy

( F 2 ) M = { ( X 0 W W X M Pierwszy ) |. X I F 2 } {displayStyle (Mathbb {f} _ {2})^{m} = {(x_ {0}, ldots, x_ {m-1}) | x_ {i} w mathbb {f} _ {2}}}}

W kosmosie

F 2 N {DisplayStyle Mathbb {f} _ {2}^{n}}

, definiujemy wektory długości

N {DisplayStyle n}

następny:

W 0 = ( Pierwszy W Pierwszy W Pierwszy W Pierwszy W Pierwszy W Pierwszy W Pierwszy W Pierwszy ) {DisplayStyle v_ {0} = (1,1,1,1,1,1,1,1)}

I

Lub

H I {DisplayStyle H_ {i}}

są hiperplanami

( F 2 ) M {displayStyle (Mathbb {f} _ {2})^{m}}

(rozmiar

N = 2 M Pierwszy {DisplayStyle n = 2^{m} -1}

):

Kod Reed-Muller

( R W M ) {displayStyle (r, m)}

uporządkowany

R {DisplayStyle r}

i długość

N = 2 M {DisplayStyle n = 2^{m}}

to kod generowany przez

W 0 {DisplayStyle v_ {0}}

i produkt zewnętrzny od większości

R {DisplayStyle r}

z

W I {DisplayStyle v_ {i}}

(Zgodnie z porozumieniem, jeśli istnieje mniej niż jeden wektor, produkt zewnętrzny jest stosowany jako tożsamość).

W rzeczywistości kryje się za tą konstrukcją, podawane przez funkcje logiczne. Rzeczywiście, jeśli

F {DisplayStyle f}

jest funkcją logiczną w

M {DisplayStyle M}

zmienne, na

Lub

C F {DisplayStyle C_ {f}}

jest wektorem zdefiniowanym w sekcji kodu binarnego. Wtedy łatwo to sprawdzić

Na koniec zauważ to

H I = A ei+ Pierwszy {DisplayStyle H_ {i} = a_ {e_ {i} +1}}

, Lub

To jest I {DisplayStyle e_ {i}}

jest koordynowany, tj.:

Wektor

W I {DisplayStyle v_ {i}}

jest zatem równe

C ei+ Pierwszy {DisplayStyle C_ {e_ {i} +1}}

. Rodzina produktów na świeżym powietrzu

R {DisplayStyle r}

wektory

W I {DisplayStyle v_ {i}}

, składa się zatem z wektorów formy

Oczywiście

( To jest i0+ Pierwszy ) . . . ( To jest il+ Pierwszy ) {DisplayStyle {(e_ {i_ {0}}+1) … (e_ {i_ {l}}+1)}}

są funkcjami logicznymi w

M {DisplayStyle M}

zmienne, których stopień jest dokładnie

L {displayStyle l}

I dla wszystkich

( I 0 W . . . W I L ) {displayStyle (i_ {0}, …, i_ {l})}

W

L R {DisplayStyle lleq r}

, tworzą co najwyżej funkcje generowania rodziny

R {DisplayStyle r}

.

Możemy to pokazać, kiedy

H = A F {DisplayStyle H = A_ {f}}

jest hiperplanem, funkcją

F {DisplayStyle f}

jest rafina. Dlatego wystarczy rozważyć hiperplany spowodowane niezależnymi funkcjami liniowymi w celu uzyskania w ten sposób kodów trzciny-mullera.

Ustawienia [[[ modyfikator |. Modyfikator i kod ]

Wszystkie logiczne funkcje stopnia co najwyżej

R {DisplayStyle r}

jest przestrzenią wektorową, ten kod jest zatem liniowy. Z definicji jego długość jest

2 M {DisplayStyle 2^{m}}

. Rodzina monomów stopnia

R {DisplayStyle r}

będąc bazą tej przestrzeni i posiadanie

elementy, jego wymiar to

k {DisplayStyle K}

.

Minimalna waga kodu

R M ( R W M ) {DisplayStyle Mathrm {rm} (r, m)}

jest uzyskiwana między innymi przez monoma stopnia

R {DisplayStyle r}

i warto

2 M R {DisplayStyle 2^{M-R}}

.

Gdy

R = Pierwszy {DisplayStyle r = 1}

, kod

R M ( R W M ) {DisplayStyle Mathrm {rm} (r, m)}

składa się z funkcji afektu, to znaczy funkcje formy

gdzie

A I {DisplayStyle A_ {i}}

są elementami

F 2 {DisplayStyle Mathbb {f} _ {2}}

.

Minimalna odległość od kodu Reed-Muller rzędu 1 to

2 M Pierwszy {DisplayStyle 2^{m-1}}

, co czyni go optymalnym kodem zgodnie z terminalem Griesmer: kod o co najmniej tyle słów i minimalna odległość co najmniej tak duża
nie może być krótszy niż

R M ( Pierwszy W M ) {DisplayStyle Mathrm {rm} (1, m)}

.

Możesz nawet łatwo być bardziej precyzyjnym. Rzeczywiście, po prostu obliczany jest wielomianowy wyliczenie wag::

Lub

w ( C ) {DisplayStyle w (c)}

określa ciężar uderzenia

C {DisplayStyle C}

. Oznacza to, że istnieją 3 możliwe wagi dla słów kodowych, bądź

0 {DisplayStyle 0}

za szlachetne słowo, bądź

2 M {DisplayStyle 2^{m}}

Za słowo wszystko o

Pierwszy {DisplayStyle 1}

, albo

2 M Pierwszy {DisplayStyle 2^{m-1}}

Dla wszystkich innych słów. Aby udowodnić ten wynik, po prostu rozważ kształt funkcji afinicznej podanej powyżej. Jeśli

A I {DisplayStyle A_ {i}}

są zero dla

I { Pierwszy W . . . W M Pierwszy } {DisplayStyle iin {1, …, m-1}}

, jedyna wartość przyjęta przez

F {DisplayStyle f}

Wschód

A M {DisplayStyle A_ {M}}

i otrzymujemy słowo od zera lub na jeden w zależności od wartości

A M {DisplayStyle A_ {M}}

Dlatego odpowiednio warunki

I 2m{DisplayStyle y^{2^{m}}}

I

X 2m{DisplayStyle x^{2^{m}}}

. Jeśli jeden z

A I {DisplayStyle A_ {i}}

przynajmniej nie jest zero dla

I { Pierwszy W . . . W M Pierwszy } {DisplayStyle iin {1, …, m-1}}

, potem elementy

X {DisplayStyle x}

Jak na przykład

F ( X ) = 0 {DisplayStyle f (x) = 0}

tworzyć przestrzeń do udoskonalania wymiarów

M Pierwszy {DisplayStyle M-1}

. Kardynał tej przestrzeni jest zatem

2 M Pierwszy {DisplayStyle 2^{m-1}}

. Wywniosujemy to wszystko

X {DisplayStyle x}

Jak na przykład

F ( X ) = Pierwszy {DisplayStyle f (x) = 1}

Kardynał

2 M 2 M Pierwszy = 2 M Pierwszy {DisplayStyle 2^{m} -2^{m-1} = 2^{m-1}}

. Słowo powiązane z

F {DisplayStyle f}

Podobnie jak waga

2 M Pierwszy {DisplayStyle 2^{m-1}}

. .

( 2 M + Pierwszy 2 ) {DisplayStyle (2^{m+1} -2)}

funkcje, dla których jedna z

A I {DisplayStyle A_ {i}}

przynajmniej jest to niezerowe, dlatego podaje termin

( 2 M + Pierwszy 2 ) X 2m1I 2m1{displayStyle (2^{m+1} -2) {x^{2^{m-1}} y^{2^{m-1}}}}}

.

Artykuł Od E.F. assmus na temat kodów Reed i Mullera, szczegółowo opisując wiele właściwości tych kodów.

after-content-x4