przemysłowe sieci informatyczne (psi) - w03... · 2017. 4. 8. ·...
TRANSCRIPT
Przemysłowe Sieci Informatyczne (PSI)
Wykład #3 –
kodowanie i wstęp do teorii informacji WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI – KATEDRA INŻYNIERII SYSTEMÓW STEROWANIA
Jarosław Tarnawski, dr inż.
Gdańsk, marzec 2017
Schemat ogólny systemu komunikacyjnego [1]
•Prowadzący zajęcia i informacje kontaktowe
•Literatura do przedmiotu
2
SHANNON, C. E., A Mathematical Theory of Communication, The Bell System
Technical Journal, Vol. 27, pp. 379–423, 623–656, July, October, 1948
Definicja informacji, komunikacji, wiadomość, dane
3
Transmisja danych – przekazywanie informacji pomiędzy punktami
(węzłami) umożliwiające przetworzenie, odczytanie, wykorzystanie
tej informacji
Kodowanie – zapisanie informacji za pomocą kodu np. w celu
uporządkowania, oznaczenia ale również przesłania (dostosowanie
do możliwości kanału komunikacyjnego). Zamienia informację na
sygnał możliwy do przesłania: myśl na mowę, wezwanie pomocy na
sygnał świetlny, znak alfabetu na określony ciąg bitów
Kody porządkujące
Oznaczenia krajów Polska – PL telefoniczne +48 waluty - PLN
Oznaczenia lotnisk IATA Gdańsk – GDN, Wa-wa–WAW, NYC-JFK
Oznaczenia rejonów pocztowe – 80-233
Oznaczenia tel. międzymiastowych 0-58 pomorskie
Przykłady kodów
•Morse’a – litera na sygnały dźwiękowe kropki i kreski
•ASCII – numery przyporządkowane do znaków
•Kod flagowy na statkach i żaglówkach
•Znaki drogowe
•Kod pocztowy
•Kod oznaczenia lotnisk
•Kod telefonicznych numerów kierunkowych
•Kod kreskowy
•Kod poleceń np. w protokole Modbus
•Kod kulturowy
4
Kodowanie a szyfrowanie
5
Potocznie kodowanie i szyfrowanie mogą być uważane za
synonimy
http://sjp.pwn.pl/szukaj/kodowanie.html
Kodowanie a szyfrowanie
6
Jednak w zastosowaniach technicznych jest istotna
różnica pomiędzy kodowaniem a szyfrowaniem.
Szyfrowanie następuje w celu ukrycia zawartości,
uniemożliwienia (utrudnienia) odczytania przekazywanej
informacji przed niepowołanymi do zapoznania się z
treścią osobami.
Natomiast kodowanie ma uformować, przygotować,
przekształcić informację umożliwiając jej przekazanie,
przesłanie informacji przez kanał komunikacyjny, tak aby
mogła być zdekodowana i odtworzona
Encryption <> Encoding
Kodowanie – przykłady kodów
7
International Martime
Signal Flags
http://www.alamy.com/stock-photo-
rigging-and-flags-of-the-dar-mlodziezy-in-
falmouth-harbour-during-112409532.html
Kodowanie – przykłady kodów
8
Kod Morse’a
Kodowanie – przykłady kodów
9
NATO
Alfabet fonetyczny
Kodowanie – przykłady kodów
10http://www.braille.pl/index.php?body=system
Alfabet Braille’a
Kodowanie – przykłady kodów
11http://www.latarnica.pl/index.php/tag/stilo/page/2/
Polskie latarnie morskie – każda ma własny kod świetlny
Przykłady kodów
12
http://eia.pg.edu.pl/kiss/dydaktyka/psi
Kody wygenerowano z użyciem
http://www.barcode-generator.org/
Alfabet – jedno z największych osiągnięć ludzkości
Piktogram rysunek przedstawiający dokładnie to co ma znaczyć
Ideogramy konceptualny rysunkowy wyraz abstrakcyjnej myśli
Alfabet fonetyczny – oderwanie znaków od ich znaczeń
Zamiast piktogramów czyli obrazowego przekazywania myśli, znaków itd. Posłużono
się stosunkowo małą liczbą znaków do reprezentowania wszystkich treści.
13
Kamień z Rosetty – klucz do odczytania hieroglifów
14https://learnodo-newtonic.com/the-rosetta-stone-facts
196 BC
Hieroglify,
pismo demotyczne,
greka
Rodzaje sygnałów w komunikacji
•Przekazywanie myśli za pomocą mowy oznacza
zakodowanie myśli w postaci fali akustycznej. Ciśnienie
akustyczne może przyjmować dowolne wartości z
pewnego zakresu zatem mamy do czynienia z sygnałem
analogowym – ciągłym.
15
Rodzaje sygnałów w komunikacji
•Określenie pewnych dopuszczalnych poziomów
dopuszczalnych sygnałów (kwantów) i ich określonej
liczby to cyfryzacja sygnału.
•Przekształcanie sygnału analogowego w cyfrowy:
•Próbkowanie
•Kwantyzacja
•Kodowanie
•Coś tracimy, coś zyskujemy
16
Rodzaje sygnałów w komunikacji
•Szczególnym rodzajem sygnału cyfrowego jest sygnał
binarny mogący przyjmować dwa poziomy – umowne 0 i
1.
•Do ZAKODOWANIA informacji potrzeba jest pewna
umowa jak traktować te 0 i 1.
•Jaki poziom sygnału to 0 a jaki to 1? Jaka jest kolejność
bitów? Jaka liczba bitów stanowi informację. Jakie jest
znaczenie tych bitów?
17
Przykłady kodów
18https://en.wikibooks.org/wiki/Communication_Systems/Line_Codes
NRZ - Non-Return to Zero
RZ - Return to Zero
Przykłady kodów
19https://en.wikibooks.org/wiki/Communication_Systems/Line_Codes
Kodowanie – przykłady kodów
20http://worldpowersystems.com/archives/codes/X3.4-1963/index.html
Kod ASCII
Zabezpieczanie informacji
21
Oprócz samego przesłania informacji, niezmiernie istotne jest to,
aby nie była ona zniekształcona czyli, aby dało się ją bez żadnej
straty odczytać
Zabawa w głuchy telefon ilustruje jak bardzo przekazywana
informacja może zostać zniekształcona.
Przykład degradacji sygnału
22
https://pl.khanacademy.org/computing/computer-
science/informationtheory#info-theory
Zabezpieczanie informacji sumy kontrolne
23
Suma kontrolna to liczba (w szczególnym przypadku cyfra), która
powstaje w wyniku „sumowania” wysyłanej porcji danych i zostaje
wysłana razem z danymi. Odbiornik po otrzymaniu danych również
sumuje otrzymane dane i porównuje sumę z tą otrzymaną od
nadajnika.
Szczególne przypadki – ze względu na niewielkie porcje danych
nie suma, a cyfra zabezpieczająca
kod parzystości/nieparzystości w transmisji szeregowej
RS232/422/485
Zabezpieczenie PESEL/NIP, numerach kont bankowych itd.
Sumy kontrolne stosowane są przy transmisji danych w Ethernecie,
zapisywaniu danych na twardych dyskach, płytach CD,DVD,BR,
zapisywaniu danych w pamięci RAM itd.
Zabezpieczanie informacji - częste źródła błędów
24•http://zylla.wipos.p.lodz.pl/ut/kody.html
Zabezpieczanie informacji - częste źródła błędów
25•http://zylla.wipos.p.lodz.pl/ut/kody.html
Zabezpieczanie informacji - kontrola parzystości
26
Przy kontroli parzystości (even) uzupełniamy bit kontrolny tak, aby liczba 1
w słowie była parzysta.
Przy kontroli nieparzystości (odd) uzupełniamy bit kontrolny tak, aby liczba
1 w słowie była nieparzysta.
01001000 dane
010010000 dane z bitem parzystości
010010001 dane z bitem nieparzystości
Pojawia się nadmiarowość!
Zabezpieczanie informacji sumy kontrolne
27
Kod Hamminga (7,4) – 7 bitów słowo, 4 bity danych 3 bity kontrolne
Kod umożliwiający automatyczną naprawę jednej usterki przy transmisji
Na bitach o pozycji 1,2,4 (i ewentualnie kolejnych potęgach 2) w słowie
znajdują się bity kontrolne – bity parzystości
k1 = b3 * b5 * b7
k2 = b3 * b6 * b7
k4 = b5 * b6 * b7
Zabezpieczanie informacji sumy kontrolne
28
CRC (Cyclic Redundancy Check) – suma kontrolna służąca do wykrywania
błędów związanych z komunikacją lub magazynowaniem danych binarnych.
https://eewiki.net/display/microcontroller/CRC+Basics
Efektywność w przekazywaniu informacji
29
Efektywność w przekazywaniu informacji – biorąc
pod uwagę częstość występowania
poszczególnych znaków (analiza zecerska
najczęściej psujących się znaków na maszynach
do pisania) przypisano do częściej występujących
znaków prostsze (krótsze) sygnały.
Średnio znak w tabeli wymaga 11,2 kropki, jednak
przyporządkowanie częściej występujących
znaków do prostszych symboli Morse’a pozwala
uzyskać 9,04 kroki na emitowany znak.
•Simmonds A., Wprowadzenie
do transmisji danych, WKŁ1999
Miara informacji – ile jest informacji w informacji
30
Rzut kostką
3 rzuty monetą
Karty do pokera
Wynik ruletki
Litera alfabetu
Ilość informacji zależy od zróżnicowania!
Czym więcej różnic tym więcej trzeba zasobów do
zapisania i przesłania informacji
Użyteczne jest podejście – ile muszę zadać pytań
TAK/NIE aby otrzymać odpowiedź
Miara informacji – ile jest informacji w informacji
31
Zawartość informacyjna wiadomości I jest liczbą
nieujemną i>=0
Każdej wiadomości możemy przypisać
prawdopodobieństwo odbioru- wiadomości
oczekiwanej duże, wiadomości zaskakującej małe.
1>= P >= 0
Gdzie
P=0 zdarzenie nieprawdopodobne.
P=1 zdarzenie pewne
P=1/2 zdarzenie zachodzące w 50% przypadków
Zdarzenie pewne nie niesia żadnej istotnej
informacji więc gdy P = 1 to I = 0
Zdarzenie niemożliwe niesie nieskończoną ilość
informacji
Miara informacji – ile jest informacji w informacji
32
Zawartość informacyjna mierzona jest w bitach wg
zależności
I = log2(1/P)
Średnia zawartość informacyjna H (ENTROPIA).
Rozważmy dwa zdarzenia A i B o nie jednakowych
prawdopodobieństwach. Wtedy
H = PA log2(1/PA) + PB log2(1/PB)
•Simmonds A.,
Wprowadzenie do
transmisji danych,
WKŁ1999
Kodowanie Huffmana
33•Simmonds A., Wprowadzenie do transmisji danych, WKŁ1999
Kodowanie Huffmana
34
Zawartość
•Simmonds A., Wprowadzenie do transmisji danych,
WKŁ1999
Literatura i użyteczne źródła
•Simmonds A., Wprowadzenie do transmisji danych,
WKŁ1999
•SHANNON, C. E., A Mathematical Theory of
Communication, The Bell System Technical Journal, Vol.
27, pp. 379–423, 623–656, July, October, 1948
•https://pl.khanacademy.org/computing/computer-
science/informationtheory#info-theory
•https://pl.khanacademy.org/computing/computer-
science/informationtheory#moderninfotheory
•http://zylla.wipos.p.lodz.pl/ut/kody.htmlTanenbaum, A.S., Computer Networks, Prentice Hall, 1981
https://eewiki.net/display/microcontroller/CRC+Basics35
36