Quality characteristics of finite linear codes

Podobne dokumenty
PEWNE RODZINY CHARAKTERYSTYCZNE KODÓW LINIOWYCH

arxiv: v1 [cs.it] 9 Nov 2014

Kody blokowe Wykład 1, 3 III 2011

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 6

Kody blokowe Wykład 2, 10 III 2011

Kodowanie i kompresja Tomasz Jurdziński Studia Wieczorowe Wykład Kody liniowe - kodowanie w oparciu o macierz parzystości

Matematyka dyskretna

Laboratorium ochrony danych

Teoria informacji i kodowania Ćwiczenia Sem. zimowy 2016/2017

Przekształcenia liniowe

W11 Kody nadmiarowe, zastosowania w transmisji danych

0 + 0 = 0, = 1, = 1, = 0.

Wykład 12 i 13 Macierz w postaci kanonicznej Jordana , 0 A 2

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Sylabus do programu kształcenia obowiązującego od roku akademickiego 2012/13

Przestrzenie wektorowe

Wektory i wartości własne

Algebra liniowa. Macierze i układy równań liniowych

14. Przestrzenie liniowe

Wektory i wartości własne

Zał nr 4 do ZW. Dla grupy kursów zaznaczyć kurs końcowy. Liczba punktów ECTS charakterze praktycznym (P)

Baza w jądrze i baza obrazu ( )

Zadania z algebry liniowej Iloczyn skalarny, przestrzenie euklidesowe

Podstawy Informatyki: Kody. Korekcja błędów.

PODSTAWY AUTOMATYKI. MATLAB - komputerowe środowisko obliczeń naukowoinżynierskich - podstawowe operacje na liczbach i macierzach.

φ(x 1,..., x n ) = a i x 2 i +

Zadania z Algebry liniowej 4 Semestr letni 2009

Treść wykładu. Układy równań i ich macierze. Rząd macierzy. Twierdzenie Kroneckera-Capellego.

Sylabus do programu kształcenia obowiązującego od roku akademickiego 2014/15

Równania liniowe. Rozdział Przekształcenia liniowe. Niech X oraz Y będą dwiema niepustymi przestrzeniami wektorowymi nad ciałem

Macierze. Rozdział Działania na macierzach

Układy równań liniowych

dr Mariusz Grządziel 15,29 kwietnia 2014 Przestrzeń R k R k = R R... R k razy Elementy R k wektory;

1 WPROWADZENIE 1. Agata Pilitowska. parzysta. 3. Znaleźć odległość kodu kontroli parzystości nad ciałem GF (q).

Przestrzeń unitarna. Jacek Kłopotowski. 23 października Katedra Matematyki i Ekonomii Matematycznej SGH

Lista. Przestrzenie liniowe. Zadanie 1 Sprawdź, czy (V, +, ) jest przestrzenią liniową nadr :

ALGEBRA LINIOWA Z GEOMETRIĄ, LISTA ZADAŃ NR 8

Wykład 4 Udowodnimy teraz, że jeśli U, W są podprzetrzeniami skończenie wymiarowej przestrzeni V to zachodzi wzór: dim(u + W ) = dim U + dim W dim(u

ALGEBRA LINIOWA Z ELEMENTAMI GEOMETRII ANALITYCZNEJ

Zadania z algebry liniowej - sem. I Przestrzenie liniowe, bazy, rząd macierzy

spis treści 1 Zbiory i zdania... 5

Przestrzenie liniowe

Lista. Algebra z Geometrią Analityczną. Zadanie 1 Przypomnij definicję grupy, które z podanych struktur są grupami:

Przekształcenia liniowe

Rozdział 5. Macierze. a 11 a a 1m a 21 a a 2m... a n1 a n2... a nm

1. Zbadać liniową niezależność funkcji x, 1, x, x 2 w przestrzeni liniowej funkcji ciągłych na przedziale [ 1, ).

5. Algebra działania, grupy, grupy permutacji, pierścienie, ciała, pierścień wielomianów.

a 11 a a 1n a 21 a a 2n... a m1 a m2... a mn a 1j a 2j R i = , C j =

4 Przekształcenia liniowe

RÓWNANIE DYNAMICZNE RUCHU KULISTEGO CIAŁA SZTYWNEGO W UKŁADZIE PARASOLA

Wprowadzenie do metod numerycznych Wykład 3 Metody algebry liniowej I Wektory i macierze

Wektor, prosta, płaszczyzna; liniowa niezależność, rząd macierzy

jest rozwiązaniem równania jednorodnego oraz dla pewnego to jest toŝsamościowo równe zeru.

SIMR 2016/2017, Analiza 2, wykład 1, Przestrzeń wektorowa

MODELOWANIE PRZESTRZENI ZA POMOCĄ MULTIILOCZYNÓW WEKTORÓW

1 Zbiory i działania na zbiorach.

1 WPROWADZENIE 1. Agata Pilitowska. parzysta. 3. Znaleźć odległość kodu kontroli parzystości nad ciałem GF (q).

. : a 1,..., a n F. . a n Wówczas (F n, F, +, ) jest przestrzenią liniową, gdzie + oraz są działaniami zdefiniowanymi wzorami:

cx cx 1,cx 2,cx 3,...,cx n. Przykład 4, 5

Algebra liniowa. 1. Macierze.

Przekształcenia liniowe

Algebra Liniowa 2 (INF, TIN), MAP1152 Lista zadań

B jest liniowo niezależny V = lin (B) 1. Układ pusty jest bazą przestrzeni trywialnej {θ}. a i v i = i I. b i v i, (a i b i ) v i = θ.

9 Przekształcenia liniowe

R n = {(x 1, x 2,..., x n ): x i R, i {1,2,...,n} },

Endomorfizmy liniowe

Wykład 5. Ker(f) = {v V ; f(v) = 0}

Algebra z Geometrią Analityczną. { x + 2y = 5 x y = 9. 4x + 5y 3z = 9, 2x + 4y 3z = 1. { 2x + 3y + z = 5 4x + 5y 3z = 9 7 1,

MODEL RACHUNKU OPERATORÓW DLA RÓŻ NICY WSTECZNEJ PRZY PODSTAWACH

Detekcja i korekcja błędów w transmisji cyfrowej

Diagonalizacja macierzy i jej zastosowania

PRZEWODNIK PO PRZEDMIOCIE

Wykład 14. Elementy algebry macierzy

Zadania z Algebry liniowej 3 semestr zimowy 2008/2009

Wykład VIII. Systemy kryptograficzne Kierunek Matematyka - semestr IV. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

WYDZIAŁ MATEMATYKI KARTA PRZEDMIOTU

Modulacja i Kodowanie. Labolatorium. Kodowanie Kanałowe Kody Hamminga

Ciała skończone. 1. Ciała: podstawy

Wykład Ćwiczenia Laboratorium Projekt Seminarium Liczba godzin zajęć zorganizowanych w Uczelni ,5 1

Programowanie liniowe

Akwizycja i przetwarzanie sygnałów cyfrowych

1. PODSTAWY TEORETYCZNE

3 Przestrzenie liniowe

1. Liczby zespolone i

Układy liniowo niezależne

Zadania egzaminacyjne

1.1 Definicja. 1.2 Przykład. 1.3 Definicja. Niech G oznacza dowolny, niepusty zbiór.

Seria zadań z Algebry IIR nr kwietnia 2017 r. i V 2 = B 2, B 4 R, gdzie

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Numeryczna algebra liniowa. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

DB Algebra liniowa 1 semestr letni 2018

Automatyzacja procesu tworzenia sprzętowego narzędzia służącego do rozwiązywania zagadnienia logarytmu dyskretnego na krzywych eliptycznych

Zestaw zadań 5: Sumy i sumy proste podprzestrzeni. Baza i wymiar. Rzędy macierzy. Struktura zbioru rozwiązań układu równań.

wszystkich kombinacji liniowych wektorów układu, nazywa się powłoką liniową uk ładu wektorów

Symulacja obliczeń kwantowych

Suma i przeciȩcie podprzestrzeni, przestrzeń ilorazowa Javier de Lucas

1 Motywacje. 2 Zastosowania kodów. 3 Podstawowe definicje i oznaczenia. Sieci komputerowe II. Uniwersytet Warszawski Podanie notatek

Przekształcanie równań stanu do postaci kanonicznej diagonalnej

1 Rząd macierzy. 2 Liniowa niezależność. Algebra liniowa. V. Rząd macierzy. Baza podprzestrzeni wektorowej

Lista. Algebra z Geometrią Analityczną. Zadanie 1 Zapisz za pomocą spójników logicznych i kwantyfikatorów: x jest większe niż 6 lub mniejsze niż 4

Transkrypt:

Studia i Materiały Informatyki Stosowanej, Tom 6, Nr 17, 2014 str 10-15 OCENA JAKOŚCIOWA KODÓW LINIOWYCH O SKOŃCZONYCH CHARAKTERYSTYKACH Mariusz Frydrych, Wojciech Horzelski, Dariusz Doliwa Uniwersytet Łódzki Wydział Matematyki i Informatyki ulbanacha 22, 90-238 Łódź e-mail: frydrych@mathunilodzpl horzel@mathunilodzpl doliwa@mathunilodzpl Streszczenie: Praca opisuje właściwości jakościowe kodów liniowych w wymiarze połówkowym, tzn gdy wymiar kodu jest równy jego kowymiarowi Przedstawiona została analiza odległości Hamminga dla kodów reprezentowanych w przestrzeni wektorowej nad ciałem skończonym charakterystyki większej niż dwa Konstrukcja kodów została oparta o automorfizm Frobeniusa Rozpatrywano kody o wymiarze trzy zanurzone w sześcioelementowej przestrzeni nad ciałem siedmioelementowym Słowa kluczowe: kody liniowe, kodowanie, odległość Hamminga Quality characteristics of finite linear codes Abstarct: Paper describes the qualitative properties of linear codes in the dimension of "half-width", ie when the code dimension is equal to its co-dimension The codes are constructed with use of Frobenius automorphism in a vector space over a finite field of the characteristic more than two We considered three dimensions codes embedded in six dimensional space over the field with seven elements An analysis of the Hamming distance for such a codes is also represented in the paper Keywords: 1 WSTĘP 10 Linear codes, coding, Hamming distance Kody liniowe stosowane są powszechnie w przesyłaniu danych w zaszumionym medium transmisyjnym Przez wymiar kodu rozumie się tu wielkość pojedynczego słowa kodowego, z kolei kowymiar kodu, mierzy tak zwaną nadmiarowość czyli ilość informacji niezbędnej do wykrywania i ewentualnej korekcji błędów przesyłanych danych, co łącznie daje przepustowość łącza Liniowość kodu znakomicie upraszcza procesy kodowania i dekodowania, co skutkuje duża wydajnością implementowanych algorytmów Z oczywistych powodów, najczęściej stosuje się kody binarne, co znacznie zawęża spektrum możliwej do uzyskania jakości kodu Zastosowanie większej liczby stanów (ciał skończonych charakterystyki większej niż dwa), daje elastyczną strukturę kolekcji kodów liniowych Wykorzystywana tutaj metoda szybkiego generowania takich kodów została przedstawiona w pracy [2] 2 KOD LINIOWY Niech q = p w,, p liczba pierwsza, Definicja Każdą k-wymiarową podprzestrzeń wektorową C przestrzeni n-wymiarowej nazywamy kodem liniowym o długości n, wymiaru k, nad ciałem [1][4] Wybór bazy indukuje monomorfizm przestrzeni liniowych

Mariusz Frydrych, Wojciech Horzelski, Dariusz Doliwa,Ocena jakościowa kodów liniowych o skończonych charakterystykach zwany kodem liniowym Dostajemy tzw krótki ciąg dokładny przestrzeni wektorowych Składając π z dowolnym izomorfizmem dostajemy ponownie krótki ciąg dokładny Operator (macierz) H nazywamy anihilatorem, macierzą kontrolną (check matrix) kodu C anihilator (macierz kontrolna) H ma następującą postać: gdzie, są macierzami jednostkowymi odpowiednich wymiarów 3 METRYKA HAMMINGA Definicja Rozszerzając metrykę dyskretną (jedyną) w ciele do normy L 1 w przestrzeni wzorem Kowymiar podprzestrzeni codimc = n - k to ilość stopni kontrolnych kodu (inaczej nadmiarowość), a wymiar dimc = k odpowiada zawartości informacji Wektory bazowe otrzymujemy tzw metrykę Hamminga są liniowo niezależne, więc znajdziemy podciąg Definicja Dla kodu liniowego liczbę taki że macierz, nazywamy minimalną odległością Hamminga lub krócej odległością Hamminga[4] Odległość Hamminga kodu jest nieosobliwa jest równa minimalnej liczbie liniowo zależnych kolumn anihilatora kodu C Dla takiego kodowania możliwe jest wykrycie d błędów kodu C oraz korekcja tych błędów[4] 4 GENERATOR KODÓW P jest odpowiednią macierzą permutacji osi współrzędnych przestrzeni Jest to tzw standardowa postać bazowa kodu liniowego C Dla postaci standardowej kodu C Generator kodów został zaimplementowany w języku C, przy wykorzystaniu biblioteki algebraicznej Computer Algebra System z Uniwersytetu w Bordeaux Wybrano ciało skończone rzędu 7 6 = 117 649 przyjmując następujące wartości parametrów: 11

Studia i Materiały Informatyki Stosowanej, Tom 6, Nr 15, 2014 str 10-15 p = 7, k = 3, n = 2k = 6, wielomian nieprzywiedlny stopnia n=6: Macierze automorfizmu Frobeniusa oraz inwolucja : generator (pierwiastek pierwotny) g ciała rzędu 7 6-1= 117 648: Do obliczeń wykorzystano funkcje biblioteki Computer Algebra System (w szczególności wykorzystywane były funkcje ffinit(),ffgen(), ffprimroot(), fforder()) : void init_kody(long prec) GEN p1; p = pol_x(fetch_user_var("p")); k = pol_x(fetch_user_var("k")); n = pol_x(fetch_user_var("n")); f = pol_x(fetch_user_var("f")); t = pol_x(fetch_user_var("t")); g = pol_x(fetch_user_var("g")); p = stoi(7); k = stoi(5); n = gmulsg(2, k); f = ffinit(p, gtos(n), -1); t = ffgen(f, -1); g = ffprimroot(t, NULL); p1 = fforder(g, NULL); GEN j; for (j = gen_0; gcmp(j, p1) <= 0; j = gaddgs(j, 1)) pari_printf("%ps; %Ps\n", j, gpow(g, j, prec)); return; operatory rzutu (idempotenty) π + i π - : bazy podprzestrzeni V + i V - (jako odpowiednie kolumny macierzy): oraz elementy : Dla ujednolicenia oznaczeń bazę przestrzeni oraz bazę podprzestrzeni V + :, oznaczmy: Realizacją ciała jest ucięta algebra wielomianów: Obliczenia prowadzone były w uporządkowanej bazie sześciowymiarowej przestrzeni wektorowej nad ciałem : Mnożenie w ciele można przedstawić jako tensor 12

Mariusz Frydrych, Wojciech Horzelski, Dariusz Doliwa,Ocena jakościowa kodów liniowych o skończonych charakterystykach else f( a, k, b ); gdzie współczynniki są stałymi struktury (mnożenia) Gdy mnożenie przez lewy czynnik ograniczymy do podprzestrzeni to otrzymamy częściowy tensor w postaci trzech macierzy: int act( int u[_k]) int v[_n], w[_n], r[_n][_k]; static unsigned long l= 1UL; mulv3( v, Vplus, u ); addv( w, v, xi0 ); mul3u( r, w ); print3u( r ); W wyniku tych działań otrzymujemy poszukiwane kody: 1 [6 5 1 0 0 0 1 0 0 1 1 0 0 0 0 0 0 1] Włożenie generujące 7 3 +1=344 kodów liniowych: Realizowane jest następująco: 2 [5 2 4 5 4 0 6 2 6 3 4 0 2 6 5 5 0 4] 3 [6 0 5 0 6 0 2 3 2 2 3 6 1 4 6 5 0 4] Ogólnie, każda podprzestrzeń jednowymiarowa nad odwzorowywana na podprzestrzeń wymiaru trzy nad pomocą operacji: jest za 344[2 5 6 4 3 1 3 4 5 6 0 0 2 1 4 4 6 3] Poniżej przedstawiono niektóre z funkcji realizujące obliczanie kodów Funkcja tuple() generuje potrzebne krotki, natomiast wywoływana przez nią funkcja act() wykonuje odpowiednie operacja macierzowe: void tuple( int n, int k, int d, int (*f)( int*, int, int[_n][_k] ), int *a, int b[_n][_k]) if( d > 0 ) int j; for( j=0; j<n; ++j ) a[d-1]= j; tuple( n, k, d-1, f, a, b ); 13 5 ANALIZA JAKOŚCIOWA KODÓW Dla rozważanego przykładu możliwe odległości Hamminga wynoszą 1,2,3 oraz 4: Ponieważ wyznaczanie odległości Hamminga dla kodów liniowych jest problemem NP-trudnym [5], do obliczenia wag Hamminga wykorzystany został podstawowy algorytm (brute force): int check( int *a, int k, int b[_n][_k] ) int u[_n], j, non0= 0; mulv3( u, b, a ); for( j=0; j < _n; ++j ) if( u[j] ) ++non0;

Studia i Materiały Informatyki Stosowanej, Tom 6, Nr 15, 2014 str 10-15 if( non0> 0 && disthamming > non0 ) disthamming= non0; return non0; Rysunek 1 przedstawia odległości Hamminga dla wcześniej wygenerowanych kodów Nieznaczna ilość otrzymanych kodów (sześć kodów) jest całkowicie bezużyteczna Odległość Hamminga wynosi dla nich 1, co nie pozwala nawet na wykrycie błędów Kolejne osiemdziesiąt sześć kodów również ma niewielkie zastosowanie - odległość Hamminga wynosi dla nich 2, co umożliwia wykrywanie błędów, ale nie pozwala na ich korekcję Dla większości otrzymanych kodów, dokładnie dla 252, możliwe jest zarówno wykrywanie, jak i korekcja błędów, tj odległość Hamminga jest większa od 2 Wśród nich uzyskano siedem optymalnych kodów o maksymalnej dla tego przykładu odległości Hamminga wynoszącej 4 1 4 5 4 5 3 5 3 3 6 1 6] 135[4 3 0 0 6 2 3 1 3 4 5 5 0 6 5 3 5 6] 164[2 3 0 5 4 5 3 4 5 6 0 1 3 4 6 0 2 0] 179[2 3 0 5 4 3 4 6 4 6 0 2 4 2 0 2 4 0] 205[4 2 4 4 3 6 2 6 4 4 5 1 3 6 5 6 1 1] 222[6 5 6 1 0 4 2 3 2 2 3 0 2 0 1 1 3 1] Szczegółowy rozkład wyników został zaprezentowany na rysunku 2: Rysunek 1 Dystrybucja odległości Hamminga kodów Optymalne kody: 5[1 6 2 6 5 3 0 3 2 0 1 5 0 1 4 2 4 5] Rysunek 2 Rozkład minimalnych odległości Hamminga Jak widać na omówionym przykładzie opisywana metoda pozwala na generowanie kodów liniowych umożliwiających efektywne korygowanie błędów transmisji W przyszłości autorzy zamierzają przeprowadzić kompleksowe badania kodów generowanych przy pomocy takiej metody 112[4 3 0 0 6 6 14

Mariusz Frydrych, Wojciech Horzelski, Dariusz Doliwa,Ocena jakościowa kodów liniowych o skończonych charakterystykach Literatura 1 Biswas S, Introduction to Codding Theory: Basic codes and Shannon s theorem http://wwwmathuchicagoedu/ ~may/vigre/vigre2008/reupapers/biswaspdf, 2011 2 Frydrych M, Horzelski W, Generator kodów liniowych o skończonych charakterystykach, arxiv 11/2014, CoRR abs/1411, 2014 3 MacWilliams FJ, Sloane NJA, The Theory of Error- Correcting Codes North-Holland Publishing Company, 1978 4 Pless V, Introduction to the Theory of Error-Correcting Codes John Wiley and Sons, Inc, 1998 5 Xiao-Yu Hu,Fossorier, MPC, Eleftheriou, E, On the computation of the minimum distance of low-density paritycheck codess Communications, IEEE International Conference, 2004 15