Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Kod Hamminga Podstawy Telekomunikacji Autor: Paweł Zajdel Damian Sitarek Kamil Cisek.

Podobne prezentacje


Prezentacja na temat: "Kod Hamminga Podstawy Telekomunikacji Autor: Paweł Zajdel Damian Sitarek Kamil Cisek."— Zapis prezentacji:

1 Kod Hamminga Podstawy Telekomunikacji Autor: Paweł Zajdel Damian Sitarek Kamil Cisek

2 Zadanie 1 Proszę zakodować następujące ciągi 5-cio bitowe: a)11010 b)01011 c)10001 d)11110 e)10101 a) Bity nadmiarowe występują na pozycjach będących potęgami liczby 2 tj. 1,2,4,8,16 … Pozycje numerujemy od lewej do prawej. Dany ciąg uzupełniamy o miejsca na których wystąpią bity nadmiarowe __1_101_0 Przykładowe numerowanie pozycji: pozycja 1 pozycja 7 Algorytm sprawdzania bitów: Obliczając bit na i-tej pozycji sprawdzamy i-1 bitów (następujących po bicie na i-tej pozycji), następnie opuszczamy i bitów, sprawdzamy i bitów, opuszczamy i bitów itd.

3 Zadanie 1 c.d. a)Obliczamy kod nadmiarowy dla wiadomości x= Zapisujemy najpierw to słowo zostawiając miejsce na bity nadmiarowe: __1_101_0. Obliczamy x1: __1_101_0 x1=1 Obliczamy x2: 1_1_101_0 x2=0 Obliczamy x4: 101_101_0 x4=0 Obliczamy x8: _0 x8=0 Odpowiedź: b)x= Zapisujemy najpierw to słowo zostawiając miejsce na bity nadmiarowe: __0_101_1. Obliczamy x1: __0_101_1 x1=1 Obliczamy x2: 1_0_101_1 x2=1 Obliczamy x4: 110_101_1 x4=0 Obliczamy x8: _1 x8=1 Odpowiedź:

4 Zadanie 1 c.d. c) x= Zapisujemy to słowo zostawiając miejsce na bity nadmiarowe: __1_000_1. Obliczamy x1: __1_000_1 x1=0 Obliczamy x2: 0_1_000_1 x2=1 Obliczamy x4: 011_000_1 x4=0 Obliczamy x8: _1 x8=1 Odpowiedź: d)x= Zapisujemy to słowo zostawiając miejsce na bity nadmiarowe: __1_111_0. Obliczamy x1: __1_111_0 x1=1 Obliczamy x2: 1_1_111_0 x2=1 Obliczamy x4: 111_111_0 x4=1 Obliczamy x8: _0 x8=0 Odpowiedź: e) x= Zapisujemy to słowo zostawiając miejsce na bity nadmiarowe: __1_010_1. Obliczamy x1: __1_010_1 x1=0 Obliczamy x2: 0_1_010_1 x2=0 Obliczamy x4: 001_010_1 x4=1 Obliczamy x8: _1 x8=1 Odpowiedź:

5 Zadanie 2 Proszę zakodować następujące ciągi 8-bitowe: a) b) c) d) e) a)x= Zapisujemy słowo zostawiając miejsce na bity nadmiarowe: __1_011_0100 Obliczamy x1: __1_011_0100 x1=0 Obliczamy x2: 0_1_011_0100 x2=0 Obliczamy x4: 001_011_0100 x4=0 Obliczamy x8: _0100 x8=1 Odpowiedź: b)x= Zapisujemy słowo zostawiając miejsce na bity nadmiarowe: __1_101_0001 Obliczamy x1: __1_101_0001 x1=1 Obliczamy x2: 1_1_101_0001 x2=0 Obliczamy x4: 101_101_0001 x4=1 Obliczamy x8: _0001 x8=1 Odpowiedź:

6 Zadanie 2 c.d. c)x= Zapisujemy słowo zostawiając miejsce na bity nadmiarowe: __1_110_1011 Obliczamy x1: __1_110_1011 x1=0 Obliczamy x2: 0_1_110_1011 x2=1 Obliczamy x4: 011_110_1011 x4=1 Obliczamy x8: _1011 x8=1 Odpowiedź: e)x= Zapisujemy słowo zostawiając miejsce na bity nadmiarowe: __0_011_0111 Obliczamy x1: __0_011_0111 x1=0 Obliczamy x2: 0_0_011_0111 x2=0 Obliczamy x4: 000_011_0111 x4=1 Obliczamy x8: _0111 x8=1 Odpowiedź: f)x= Zapisujemy słowo zostawiając miejsce na bity nadmiarowe: __0_110_1100 Obliczamy x1: __0_110_1100 x1=0 Obliczamy x2: 0_0_110_1100 x2=0 Obliczamy x4: 000_110_1100 x4=0 Obliczamy x8: _1100 x8=0 Odpowiedź:

7 Zadanie 3 Proszę zakodować następujące ciągi informacyjne w optymalnym kodzie Hamminga: a) b) c) d) e) f) a)x= Zapisujemy słowo zostawiając miejsce na bity nadmiarowe: __0_110_ _01011 Obliczamy x1: __0_110_ _01011 x1=1 Obliczamy x2: 1_0_110_ _01011 x2=1 Obliczamy x4: 110_110_ _01011 x4=1 Obliczamy x8: _ _01011 x8=1 Obliczamy x16: _01011 x16=1 Odpowiedź: b)x= Zapisujemy słowo zostawiając miejsce na bity nadmiarowe: __1_110_ _10111 Obliczamy x1: __1_110_ _10111 x1=1 Obliczamy x2: 1_1_110_ _10111 x2= 0 Obliczamy x4: 101_110_ _10111 x4=0 Obliczamy x8: _ _10111 x8=0 Obliczamy x16: _10111 x16=0

8 Zadanie 3 c.d. Odpowiedź: c)x= Zapisujemy słowo zostawiając miejsce na bity nadmiarowe: __0_001_ _10101 Obliczamy x1: __0_001_ _10101 x1=1 Obliczamy x2: 1_0_001_ _10101 x2=0 Obliczamy x4: 100_001_ _10101 x4=1 Obliczamy x8: _ _10101 x8=1 Obliczamy x16: _10101 x16=1 Odpowiedź: d)x= Zapisujemy słowo zostawiając miejsce na bity nadmiarowe: __1_111_ _11111 Obliczamy x1: __1_111_ _11111 x1=0 Obliczamy x2: 0_1_111_ _11111 x2=1 Obliczamy x4: 011_111_ _11111 x4=1 Obliczamy x8: _ _11111 x8=1 Obliczamy x16: _11111 x16=1 Odpowiedź:

9 Zadanie 3 c.d. e)x= Zapisujemy słowo zostawiając miejsce na bity nadmiarowe: __0_000_ _00001 Obliczamy x1: __0_000_ _00001 x1=1 Obliczamy x2: 1_0_000_ _00001 x2=0 Obliczamy x4: 100_000_ _00001 x4=1 Obliczamy x8: _ _00001 x8=0 Obliczamy x16: _00001 x16=1 Odpowiedź: f)x= Zapisujemy słowo zostawiając miejsce na bity nadmiarowe: __0_110_ _10110 Obliczamy x1: __0_110_ _10110 x1=0 Obliczamy x2: 0_0_110_ _10110 x2=0 Obliczamy x4: 000_110_ _10110 x4= 0 Obliczamy x8: _ _10110 x8=1 Obliczamy x16: _10110 x16=1 Odpowiedź:

10 Zadanie 4 Odebrano następujące ciągi kodowe. Proszę obliczyć syndrom dekodera, określić czy powstał błąd i określić na której pozycji. c.x.= c.x.= c.x.= c.x.= c.x.= Syndrom równy 0 oznaczą że błąd nie wystąpił. Syndrom różny od 0 oznacza powstanie błędu. Jeżeli wystąpił błąd to kod nadmiarowy błędnej wiadomości który sami obliczymy będzie inny niż ten który odebraliśmy. c.x.= Kod namiarowy (odebrany) y=100 Obliczamy dla bitów informacyjnych bity nadmiarowe. Obliczamy x1: __1_101 x1=1 Obliczamy x2: 1_1_101 x2=0 Obliczamy x4: 101_101 x4=0 Kod nadmiarowy (obliczony) y=100 Syndrom y+y (dodajemy poszczególne bity i odwracamy kolejność) =(0+0)(0+0)(1+1)=000 Błąd nie wystąpił

11 Zadanie 4. c.d. c.x.= Kod namiarowy (odebrany) y=000 Obliczamy dla bitów informacyjnych bity nadmiarowe. Obliczamy x1: __1_101 x1=1 Obliczamy x2: 1_1_101 x2=0 Obliczamy x4: 101_101 x4=0 Kod nadmiarowy (obliczony) y=100 Syndrom y+y=(0+0)(0+0)(0+1)=001 Błąd wystąpił Otrzymujemy numer pozycji na której wystąpił błąd tj.: p=001 błąd na 1 pozycji c.x.= Kod namiarowy (odebrany) y=100 Obliczamy dla bitów informacyjnych bity nadmiarowe. Obliczamy x1: __1_111 x1=1 Obliczamy x2: 1_1_111 x2=1 Obliczamy x4: 111_111 x4=1 Kod nadmiarowy (obliczony) y=111 Syndrom y+y=(0+1)(0+1)(1+1)=110 Błąd wystąpił p=110 błąd na 6 pozycji

12 Zadanie 4 c.d. c.x.= Kod namiarowy (odebrany) y=001 Obliczamy dla bitów informacyjnych bity nadmiarowe. Obliczamy x1: __1_010 x1=1 Obliczamy x2: 1_1_010 x2=0 Obliczamy x4: 101_010 x4=1 Kod nadmiarowy (obliczony) y=101 Syndrom y+y=(1+1)(0+0)(0+1)=001 Błąd wystąpił p=001 błąd na 1 pozycji c.x.= Kod namiarowy (odebrany) y=111 Obliczamy dla bitów informacyjnych bity nadmiarowe. Obliczamy x1: __0_101 x1=0 Obliczamy x2: 0_0_101 x2=1 Obliczamy x4: 010_101 x4=0 Kod nadmiarowy (obliczony) y=010 Syndrom y+y=(1+0)(1+1)(1+0)=101 Błąd wystąpił p=101 błąd na 5 pozycji

13 Zadanie 5 Odebrano następujące ciągi kodowe. Proszę obliczyć syndrom dekodera, ustalić czy powstał błąd i określić na której pozycji. Proszę podać prawidłowy ciąg informacyjny. c.x.= c.x.= c.x.= c.x.= c.x.= c.x.= Kod namiarowy (odebrany) y=0001 Kod nadmiarowy (obliczony) y=1101 Syndrom y+y=(1+1)(0+0)(0+1)(0+1)=0011 Błąd wystąpił p=0011 błąd na 3 pozycji Poprawny ciąg informacyjny: c.i.= c.x.= Kod namiarowy (odebrany) y=0001 Kod nadmiarowy (obliczony) y=1011 Syndrom y+y=(1+1)(0+1)(0+0)(0+1)=0101 Błąd wystąpił p=0101 błąd na 5 pozycji Poprawny ciąg informacyjny: c.i.=

14 Zadanie 5 c.d. c.x.= Kod namiarowy (odebrany) y=0000 Kod nadmiarowy (obliczony) y=0001 Syndrom y+y=(0+1)(0+0)(0+0)(0+0)=1000 Błąd wystąpił (w kodzie nadmiarowym) p=1000 błąd na 8 pozycji Poprawny ciąg informacyjny: c.i.= c.x.= Kod namiarowy (odebrany) y=1001 Kod nadmiarowy (obliczony) y=0100 Syndrom y+y=(1+0)(0+0)(0+1)(1+0)=1011 Błąd wystąpił p=1011 błąd na 11 pozycji Poprawny ciąg informacyjny: c.i.= c.x.= Kod namiarowy (odebrany) y=1101 Kod nadmiarowy (obliczony) y=0011 Syndrom y+y=(1+1)(0+1)(1+0)(1+0)=0111 Błąd wystąpił p=0111 błąd na 7 pozycji Poprawny ciąg informacyjny: c.i.=

15 Zadanie 6 Oblicz czy ciąg odbiorczy jest poprawnym ciągiem kodowym kodu Hamminga (optymalnego), czy też jest błędny; na jakiej pozycji jest błąd; jaki jest ciąg informacyjny = = = = = c.x.= Kod namiarowy (odebrany) y=1001 Kod nadmiarowy (obliczony) y=1100 Syndrom y+y=(1+0)(0+0)(0+1)(1+1)=1010 Błąd wystąpił p=1010 błąd na 10 pozycji Poprawny ciąg informacyjny: c.i.= c.x.= Kod namiarowy (odebrany) y=0011 Kod nadmiarowy (obliczony) y=0000 Syndrom y+y=(1+0)(1+0)(0+0)(0+0)=1100 Błąd wystąpił p=1100 błąd na 12 pozycji Poprawny ciąg informacyjny: c.i.=

16 Zadanie 6 c.d. c.x.= Kod namiarowy (odebrany) y=1101 Kod nadmiarowy (obliczony) y=0111 Syndrom y+y=(1+1)(0+1)(1+1)(1+0)=0101 Błąd wystąpił p=0101 błąd na 5 pozycji Poprawny ciąg informacyjny: c.i.= c.x.= Kod namiarowy (odebrany) y=1101 Kod nadmiarowy (obliczony) y=1000 Syndrom y+y=(1+0)(0+0)(1+0)(1+1)=1010 Błąd wystąpił p=1010 błąd na 10 pozycji Poprawny ciąg informacyjny: c.i.= c.x.= Kod namiarowy (odebrany) y=0111 Kod nadmiarowy (obliczony) y=0001 Syndrom y+y=(1+1)(1+0)(1+0)(0+0)=0110 Błąd wystąpił p=0110 błąd na 6 pozycji Poprawny ciąg informacyjny: c.i.=

17 Zadanie 7 Oblicz czy ciąg jest kodem Hamminga; jeżeli tak to sprawdź czy jest poprawny. Jaki jest ciąg informacyjny? c.x.= (15 bitów) c.x.= (16 bitów) c.x.= Kod namiarowy (odebrany) y=0100 Kod nadmiarowy (obliczony) y=1111 Syndrom y+y=(0+1)(0+1)(1+1)(0+1)=1101 Błąd wystąpił p=1101 błąd na 13 pozycji Poprawny ciąg informacyjny: c.i.= c.x.= Ciąg ten nie jest optymalnym kodem Hamminga.

18 Zadanie 8 Zakoduj w kodzie Hamminga następujące ciągi informacyjne: a)10 b)101 c)1110 d) e) a)Słowo 10 zapisujemy pozostawiając miejsce na nadmiarowe bity: __1_0 Obliczamy x1: __1_0 x1=1 Obliczamy x2: 1_1_0 x2= 1 Obliczamy x4: 111_0 x4=0 Odpowiedź: b)Słowo 101 zapisujemy pozostawiając miejsce na nadmiarowe bity: __1_01 Obliczamy x1: __1_01 x1=1 Obliczamy x2: 1_1_01 x2=0 Obliczamy x4: 101_01 x4 =1 Odpowiedź : c)Słowo 1110 zapisujemy pozostawiając miejsce na nadmiarowe bity: __1_110 Obliczamy x1: __1_110 x1=0 Obliczamy x2: 0_1_110 x2=0 Obliczamy x4: 001_110 x4 =0 Odpowiedź :

19 Zadanie 8 c.d. d)Słowo zapisujemy pozostawiając miejsce na nadmiarowe bity __0_011_00 Obliczamy x1: __0_011_00 x1=1 Obliczamy x2: 1_0_011_00 x2=0 Obliczamy x4: 100_011_00 x4=0 Obliczamy x8: _00 x8=0 Odpowiedź: e)Słowo zapisujemy pozostawiając miejsca na nadmiarowe bity __1_101_ _1010 Obliczamy x1: __1_101_ _1010 x1=1 Obliczamy x2: 1_1_101_ _1010 x2= 1 Obliczamy x4: 111_101_ _1010 x4=1 Obliczamy x8: _ _1010 x8 =1 Obliczamy x16: _1010 x16=0 Odpowiedź:

20 Zadanie 9 Zakoduj w kodzie Hamminga słowo KONIEC, które zostało przedstawione kodem ASCII (jako kod źródła) jako słowa 7-bitowe, K=75, O=79, N=78, C=67, E=69, I=73. Poszczególne znaki koduj osobno. Litera K binarnie: Zapisujemy dane słowo pozostawiając miejsce na nadmiarowe bity: __1_001_011 x1: __1_001_011 x1=1 x2: 1_1_001_011 x2=0 x4: 101_001_011 x4=1 x8: _011 x8=0 Zakodowane K : Postępując podobnie jak dla litery K kodujemy kolejne litery: Zakodowane O (binarnie ): Zakodowane N (binarnie ): Zakodowane I (binarnie ): Zakodowane E (binarnie ): Zakodowane C (binarnie ):


Pobierz ppt "Kod Hamminga Podstawy Telekomunikacji Autor: Paweł Zajdel Damian Sitarek Kamil Cisek."

Podobne prezentacje


Reklamy Google