Wstęp do informatyki – Dariusz Mikołajewski
Uniwersytet Mikołaja Kopernika w Toruniu
Katedra Informatyki Stosowanej
Wstęp do informatyki
Wykład 2
Technika analogowa a technika cyfrowa.
Systemy liczenia i reprezentacje liczb.
Dariusz Mikołajewski
Wstęp do informatyki – Dariusz Mikołajewski
Uniwersytet Mikołaja Kopernika w Toruniu
Katedra Informatyki Stosowanej
Definicja informatyki - przypomnienie
Informatyka (ang. informatics, computer science, ale również
information technology – IT, dosł. technologia informacyjna)
zajmuje się pozyskiwaniem, przechowywaniem,
przetwarzaniem, przesyłaniem i interpretacją informacji,
zarówno w obszarze sprzętu, jak i oprogramowania.
Wstęp do informatyki – Dariusz Mikołajewski
Uniwersytet Mikołaja Kopernika w Toruniu
Katedra Informatyki Stosowanej
Skrócona historia informatyki - przypomnienie
abakus
układy
kamieni
nacięcia
palce
u rąk i nóg
węzełki
kipu
liczydła
Euklides
IV w. p.n.e.
Algorytmika –
nauka o
tworzeniu
algorytmów
Muhammad
Al-Khwarizmi
IX w. n.e.
Opis systemu
dziesiętnego
J. Napier
Pałeczki
Napiera
oraz tablice
logarytmów
Kalkulatory
mechaniczne:
1642r.
B. Pascal
1671r.
G. W. Leibniz
1625r.
W. Schickard
C. Babbage
Maszyna
różnicowa
1836-1871
Maszyna
analityczna
1801r.
Jacquard
Karty
perforowane
od 1790r.
Spisy powszechne
w USA
Początki
przetwarzania
danych
1835r.
A. A. Lovelace
Koncepcja
programowania
1890r.
H. Hollerith
Maszyna
tabulacyjna
Początki firmy
TMC
przekształconej
później w IBM
1945r.
Maszyna von
Neumanna
generacja 0
komputery na
przekaźnikach
elektro-
magnetycznych
od 1932r.
generacja I
komputery na
lampach
elektronowych
1904r.
Lampa
elektronowa
1933r.
Kotielnikow
1948r.
Shannon
Twierdzenie o
próbkowaniu
sygnałów mowy
1937-1948
Reeves, Oliver,
Pierce, Shannon
System PCM
(ang.Pulse Code
Modulation)
1947r.
Tranzystor
1960r.
Układ scalony
1969r.
Mikroprocesor
od 1958r.
generacja II
komputery na
tranzystorach
od 1968r.
generacja III
komputery na
układach
scalonych
1972r.
kalkulator
inżynierski
od 1976r.
generacja IV
komputery na
mikro-
procesorach
1976r.
Apple I
1981r.
IBM PC
1982r.
ZX Spektrum
Obecnie:
generacja
V plus i VI
1837r.
S. Morse
Telegraf.
Dwuwartościowy
sygnał telegraficzny
podobny do sygnału
binarnego
1815-1864
G. Boole
Dwu-wartościowa
algebra Boole’a,
rachunek
symboliczny
funkcji zmiennych
binarnych,
logika Boole’a
1945-50r.
A. M. Turing
Uniwersalna
maszyna Turinga
jako teoretyczny
model działania
komputera
cyfrowego.
Test Turinga na
sztuczną
inteligencję
komputerów
1620r.
E. Gunter
Skala
logarytmiczna
1624r.
H. Briggs
Dokładne
tablice
logarytmów
1632r.
W. Oughtred
Suwak
logarytmiczny
(kolisty)
Wstęp do informatyki – Dariusz Mikołajewski
Uniwersytet Mikołaja Kopernika w Toruniu
Katedra Informatyki Stosowanej
Sygnały analogowe i cyfrowe
Podział podstawowy:
Sygnał analogowy - jest sygnałem o charakterze ciągłym, zarówno w czasie
jak i w wartości.
Charakter ciągły ma większość występujących w naturze wielkości
fizycznych, m. in. temperatura, ciśnienie, oświetlenie itp.
Sygnał cyfrowy - jest sygnałem dyskretnym ze względu na czas jak i swoją
wartość.
Oznacza to, że sygnał cyfrowy nie może przyjmować dowolnych wartości, a
jedynie określone poziomy wartości i może to robić jedynie w
określonych chwilach czasowych. Najczęściej wykorzystywany sygnał
binarny, jak wskazuje jego nazwa (dwójkowy), może przyjmować tylko
dwa poziomy wartości, oznaczane umownie jako poziom wysoki i poziom
niski (np. „1” i ‘0”, w zależności od przyjętej logiki).
Wstęp do informatyki – Dariusz Mikołajewski
Uniwersytet Mikołaja Kopernika w Toruniu
Katedra Informatyki Stosowanej
Sygnały analogowe i cyfrowe [2]
Bardziej złożone podziały uwzględniają m. in. podział ze
względu na wartość (ciągłą lub dyskretną) i czas (ciągły lub
dyskretny), co daje cztery kombinacje:
• sygnał z ciągłą wartością i czasem ciągłym,
• sygnał z ciągłą wartością i dyskretnym czasem,
• sygnał z dyskretną wartością i czasem ciągłym,
• sygnał z dyskretną wartością i czasem dyskretnym.
Wstęp do informatyki – Dariusz Mikołajewski
Uniwersytet Mikołaja Kopernika w Toruniu
Katedra Informatyki Stosowanej
Sygnały analogowe i cyfrowe [3]
SYGNAŁ ANALOGOWY
SYGNAŁ CYFROWY
momenty charakterystyczne
t
umowny
poziom wysoki
umowny
poziom niski
t
Wstęp do informatyki – Dariusz Mikołajewski
Uniwersytet Mikołaja Kopernika w Toruniu
Katedra Informatyki Stosowanej
Sygnały analogowe i cyfrowe - przetwarzanie
Sygnał analogowy może być reprezentowany przez sygnał
cyfrowy - po poddaniu procesowi przetwarzania analogowo-
cyfrowego. Przetworzenie to jest (z pewnym błędem) odwracalne
– jako przetwarzanie cyfrowo-analogowe.
Uwaga:
Przetworzenie to nie zawsze zachowuje wszystkie cechy sygnału
analogowego, ale jest uznawane za wystarczające, zwłaszcza że
z reguły wykorzystuje ograniczenia zmysłów człowieka.
Wstęp do informatyki – Dariusz Mikołajewski
Uniwersytet Mikołaja Kopernika w Toruniu
Katedra Informatyki Stosowanej
Sygnał cyfrowy z punktu widzenia niniejszego wykładu
W technice cyfrowej mamy do czynienia z dwustanowymi
sygnałami cyfrowymi, tzw. sygnałami binarnymi.
Sygnały te w ustalonych chwilach czasowych t1,t2,...,tn mogą
przyjmować umowne wartości amplitudy 0[V] (tzw. stan niski –
nazwa zależna od przyjętej konwencji, tj. logiki dodatniej lub
ujemnej) lub +U[V] (tzw. stan wysoki).
W omawianych zastosowaniach wymiennie stosuje się pojęcie:
sygnał cyfrowy i sygnał binarny, gdyż w omawianych obszarach
jest to równoznaczne
Wstęp do informatyki – Dariusz Mikołajewski
Uniwersytet Mikołaja Kopernika w Toruniu
Katedra Informatyki Stosowanej
Dlaczego sygnały cyfrowe?
• odporność na zakłócenia,
• możliwość zamiany praktycznie każdego sygnału analogowego
na cyfrowy bez znacznego (zauważalnego – jeśli to istotne)
pogorszenia jakości transmisji - umożliwia to wykorzystanie
techniki cyfrowej we wszystkich dziedzinach, również tam,
gdzie sygnały docierające do użytkownika muszą być
analogowe, aby były odebrane i zrozumiane, jak np. sygnał
mowy,
• bardzo duża trwałość danych zapisanych na nośnikach
(ograniczona trwałością samego nośnika) oraz możliwość
bezstratnego powielania,
Wstęp do informatyki – Dariusz Mikołajewski
Uniwersytet Mikołaja Kopernika w Toruniu
Katedra Informatyki Stosowanej
Dlaczego sygnały cyfrowe?
•
możliwa jest integracja usług i technik – ta sama sieć
transmisyjna może być wykorzystywana zarówno do
przesyłania sygnałów telefonicznych, transmisji danych
tekstowych czy obrazów ruchomych i nieruchomych,
•
projektowanie urządzeń cyfrowych jest uproszczone dzięki
unifikacji układów cyfrowych,
•
możliwość ujęcia organizacji pozyskiwania, przetwarzania,
przesyłania i udostępniania danych w formie systemu
informacyjnego.
Wstęp do informatyki – Dariusz Mikołajewski
Uniwersytet Mikołaja Kopernika w Toruniu
Katedra Informatyki Stosowanej
Wady sygnałów cyfrowych
•
znaczne poszerzenie pasma częstotliwości niezbędnego do
transmisji informacji w porównaniu z widmem oryginalnego
sygnału analogowego,
•
występowanie błędów podczas przetwarzania A/C - m.in.
błędu kwantyzacji,
•
pomimo możliwości przesyłania różnych sygnałów tymi
samymi torami cyfrowymi poszczególne sygnały posiadają
własne wymagania na szybkość transmisji,
•
niektóre sygnały, jak np. sygnał mowy, są wrażliwe na
opóźnienia, pogarszające ich zrozumiałość (stąd
ograniczenia np. transmisji pakietowej),
Wstęp do informatyki – Dariusz Mikołajewski
Uniwersytet Mikołaja Kopernika w Toruniu
Katedra Informatyki Stosowanej
Bilans wad i zalet sygnałów cyfrowych
Ludzie nauczyli się poprawiać lub omijać omówione wady
sygnałów cyfrowych wady, stąd bilans wad i zalet wypada na ich
korzyść.
Wstęp do informatyki – Dariusz Mikołajewski
Uniwersytet Mikołaja Kopernika w Toruniu
Katedra Informatyki Stosowanej
Przyporządkowanie wiadomości ciągu sygnałów binarnych
Informację źródłową na wejściu (wynikową na wyjściu)
urządzenia cyfrowego mogą stanowić przede wszystkim :
- sygnały analogowe;
- liczby;
- znaki alfanumeryczne;
- wielkości nienumeryczne.
Wstęp do informatyki – Dariusz Mikołajewski
Uniwersytet Mikołaja Kopernika w Toruniu
Katedra Informatyki Stosowanej
Przyporządkowanie wiadomości ciągu sygnałów binarnych [2]
Mowa
(sygnał telefoniczny)
Muzyka
Sygnał np. PCM
Plik dźwiękowy
Rysunek
Zdjęcie
Plik z grafiką
wektorową
Plik z grafiką rastrową
(bitmapa)
Film
Tekst
Plik wideo
(ciąg bitmap)
Plik tekstowy
Zawartość bazy
danych
Arkusz kalkulacyjny
Plik bazodanowy
(rekordy)
Plik arkusza
(komórki)
Rodzaj sygnału
Postać cyfrowa
Ciągi bitów
Wstęp do informatyki – Dariusz Mikołajewski
Uniwersytet Mikołaja Kopernika w Toruniu
Katedra Informatyki Stosowanej
Przyporządkowanie wiadomości ciągu sygnałów binarnych [3]
Technika cyfrowa umożliwia przesyłanie różnych rodzajów
informacji w tej samej postaci:
ciągu bitów
(ang. bit =
bi
nary digi
t
– cyfra dwójkowa, czyli jednostka
systemu dwójkowego).
Wszystkie przetwarzane wielkości trzeba zakodować, czyli
przedstawić w postaci binarnej - zrozumiałej dla komputera lub
innego urządzenia cyfrowego. Postać ta oznacza najczęściej
liczby – tzw. słowa binarne sygnałów długości 8, 16, 32 czy 64
bitów.
Wstęp do informatyki – Dariusz Mikołajewski
Uniwersytet Mikołaja Kopernika w Toruniu
Katedra Informatyki Stosowanej
Przyporządkowanie wiadomości ciągu sygnałów binarnych [4]
Kodowanie sygnałów analogowych jest zależne od rodzaju
sygnału źródłowego.
Sygnały źródłowe mogą stanowić w szczególności:
- wartości logiczne (prawda/fałsz),
- liczby (całkowite: nieujemne i ze znakiem, niecałkowite:
stałopozycyjne i zmiennoprzecinkowe),
- znaki pisarskie (tekst),
- dźwięki,
- obrazy ruchome i nieruchome,
- przebiegi analogowe (mowa, muzyka, ale również EEG
itp.),
- inne.
Wstęp do informatyki – Dariusz Mikołajewski
Uniwersytet Mikołaja Kopernika w Toruniu
Katedra Informatyki Stosowanej
Kodowanie liczb. Reprezentacja liczb.
Ciekawe systemy liczenia:
• dziesiętny,
• dwójkowy (naturalny binarny, BCD, kod Graya,
kody pierścieniowe „1 z n”,
• szesnastkowy.
Wstęp do informatyki – Dariusz Mikołajewski
Uniwersytet Mikołaja Kopernika w Toruniu
Katedra Informatyki Stosowanej
Stąd: typy danych
(będzie to rozwijane w jednym z kolejnych wykładów)
Liczbowe:
•
bit (b) - ang. binary unit, przechowuje wartość 0 lub 1
•
bajt (B) = 8 bitów;
•
kilobajt: 1 kB = 1024 B
•
megabajt: 1 MB = 1 048 576 B
•
gigabajt: 1 GB = 1 073 741 824 B
•
terabajt: 1 TB = 1 099 511 627 776 B
•
1 Mb = 128 kB (= 1024/8 kB)
•
1 MB = 8 Mb
Logiczny {prawda, fałsz}
Wyliczeniowy
Wstęp do informatyki – Dariusz Mikołajewski
Uniwersytet Mikołaja Kopernika w Toruniu
Katedra Informatyki Stosowanej
Kodowanie znaków alfanumerycznych
Prekursor: 5-bitowy kod telegraficzny Baudota, znany obecnie pod nazwą
kodu telegraficznego CCITT nr 2.
Najczęściej stosowany: siedmiobitowy kod ASCII (ang. American
Standard Code for Information - Intercharge) - każdej siedmiobitowej
kombinacji „0” i „1” przyporządkowany jest znak alfanumeryczny. Za
pomocą siedmiu bitów możemy zakodować 128 różnych znaków: w
alfabecie angielskim 26 małych liter, 26 wielkich liter, 10 cyfr, ok. 26
znaków specjalnych (np. #,&) oraz ok. 40 znaków wykorzystywanych do
sterowania pracą urządzeń cyfrowych służących do przetwarzania lub
transmisji kody ASCII (informacje typu początek tekstu, koniec transmisji
itp.) oraz zakodowania znaków regionalnych (np. w języku polskim
ą
,ę,ć,ń). Jeśli słowa 8-bitowe – to np. z bitem parzystości.
Inne rozwiązanie: kod ISO-IRV, podobny do kodu ASCII.
Wstęp do informatyki – Dariusz Mikołajewski
Uniwersytet Mikołaja Kopernika w Toruniu
Katedra Informatyki Stosowanej
Kodowanie mowy
Polega na zapisywaniu jako liczb wartości próbek zgodnie poniższym
algorytmem przetwarzania (przykład dla modulacji kodowo-impulsowej –
ang. Pulse Code Modulationa - PCM, używanej w telefonii cyfrowej):
Na sygnale wejściowym (tu: sygnale telefonicznym w paśmie
częstotliwości 0,3-3,4 kHz) dokonywane są trzy kolejne operacje:
•próbkowanie,
•kwantowanie,
•kodowanie.
Założenia wstępne:
•graniczne wartości amplitudy sygnału muszą mieścić się w założonym
zakresie,
•dokładność kodowania (zrozumiałość i jakość dźwięku) zależy od ilości i
szerokości przedziałów.
Wstęp do informatyki – Dariusz Mikołajewski
Uniwersytet Mikołaja Kopernika w Toruniu
Katedra Informatyki Stosowanej
Kodowanie mowy [2]
generator
impulsów
kodowanie
kwantowanie
próbkowanie
próbka nr 1: przedział 1
→
kod 001
próbka nr 2: przedział 1
→
kod 001
próbka nr 3: przedział 2
→
kod 010
itd.
b(nT
p
)
5
4
3
1
0
b(t)
t
t
t
Wstęp do informatyki – Dariusz Mikołajewski
Uniwersytet Mikołaja Kopernika w Toruniu
Katedra Informatyki Stosowanej
Kodowanie mowy – błąd kwantyzacji
Próbki sygnału analogowego są pobierane co 125
µ
s. Między tymi
momentami układ przyjmuje, że sygnał nadal przyjmuje wartość ostatnio
pobranej próbki – stad błąd kwantyzacji.
Wstęp do informatyki – Dariusz Mikołajewski
Uniwersytet Mikołaja Kopernika w Toruniu
Katedra Informatyki Stosowanej
Kodowanie mowy – próbkowanie
Próbkowanie polega na okresowym sprawdzaniu amplitudy sygnału
próbkowanego i zapamiętywaniu wartości amplitudy tych próbek.
Trzeba pamiętać, że wartość amplitudy tych próbek ma charakter
analogowy, tzn. może ona przyjąć dowolną wartość.
Częstotliwość próbkowania wynosi 8000 Hz, czyli próbki są pobierane
8000 razy w ciągu każdej sekundy, tj. że próbka jest pobierana z sygnału
co 125
µ
s (gdyż 1/8000=125*10 do potęgi -6).
Wstęp do informatyki – Dariusz Mikołajewski
Uniwersytet Mikołaja Kopernika w Toruniu
Katedra Informatyki Stosowanej
Kodowanie mowy – próbkowanie [2]
=
t
t
Wstęp do informatyki – Dariusz Mikołajewski
Uniwersytet Mikołaja Kopernika w Toruniu
Katedra Informatyki Stosowanej
Kodowanie mowy – kwantowanie
Kwantowanie polega na podzieleniu zakresu dopuszczalnych wartości
amplitudy sygnału (a więc automatycznie zakresu dopuszczalnych
wartości amplitudy próbek) na pewną ilość przedziałów.
Ww. przedziałów ma być tyle, ile można zakodować.
Przy kodowaniu określa się więc, czy wartość amplitudy danej próbki leży
np. w czwartym przedziale kwantowania, czy w piątym, czyli - najogólniej
rzecz biorąc - zaokrągla.
Wartości próbek leżące w zakresie wartości amplitud próbek należących
do danego przedziału kwantowania są zaokrąglane do pewnej średniej
(którą wykorzystujemy do odtwarzania sygnału z próbek). Oczywiście
liczba przedziałów nie może być zbyt mała, gdyż dokładność odtworzenia
amplitudy sygnału na podstawie próbek musi mieć jakąś sensowną
wartość - zbyt mała ilość przedziałów kwantowania powodowałaby
zbytnie „uśrednianie” sygnału, czyli jego zniekształcanie.
Wstęp do informatyki – Dariusz Mikołajewski
Uniwersytet Mikołaja Kopernika w Toruniu
Katedra Informatyki Stosowanej
Kodowanie mowy – kodowanie
Kodowanie polega na przyporządkowaniu danemu przedziałowi
kwantowania jego „numeru” w kodzie binarnym.
W omawianym systemie PCM 30/32 do zakodowania wartości amplitudy
próbki wykorzystuje się 8 bitów, za pomocą których można utworzyć 256
różnych kombinacji (tj. można maksymalnie „ponumerować” 256
przedziałów kodowania).
Nie jest istotne, że np. pierwszy przedział kwantowania będzie miał
przyporządkowaną liczbę binarna 00000000, a drugi - 00000001 itd.
Ważne jest jedynie, aby jeśli w nadajniku przy kodowaniu pierwszemu
przedziałowi kwantowania przyporządkuje się ciąg binarny 01010101, a
drugiemu z kolei - 10101010, to w odbiornik musi realizować identyczne
przyporządkowanie.
Wstęp do informatyki – Dariusz Mikołajewski
Uniwersytet Mikołaja Kopernika w Toruniu
Katedra Informatyki Stosowanej
Dekodowanie mowy – czyli proces odwrotny
Odtworzenie na podstawie kodu sygnału nadanego przebiega w sposób
następujący:
1.określany jest odpowiadający przy odtwarzaniu sygnału przedział
kwantowania, w którym znajdowała się wartość amplitudy próbki na
podstawie ciągów kodowych przenoszących tę informację,
2.wierzchołek odtworzonej próbki umieszczany jest w połowie przedziału
odpowiadającemu przy odtwarzaniu przedziałowi kwantowania -
ponieważ jest to najbardziej prawdopodobne, a możliwy błąd jest wtedy
najmniejszy.
Założenie: szerokość i sposób kodowania przedziałów odpowiadających w
dekoderze przedziałom kwantowania jest taki sam jak przedziałów
kwantowania w koderze.
Wstęp do informatyki – Dariusz Mikołajewski
Uniwersytet Mikołaja Kopernika w Toruniu
Katedra Informatyki Stosowanej
Dekodowanie mowy – czyli proces odwrotny [2]
t
Przedział określony na
podstawie kodu
7
6
5
4
3
2
sygnał odtworzony
sygnał zapisany
1
0
Wstęp do informatyki – Dariusz Mikołajewski
Uniwersytet Mikołaja Kopernika w Toruniu
Katedra Informatyki Stosowanej
Kodowanie obrazu rastrowego i inne rozwiązania
Zapisywany jest w postaci prostokątnej macierzy punktów (tzw. pikseli), z
których każdemu odpowiada jeden kolor reprezentowany w postaci liczb
określających udział w nim każdej z trzech barw podstawowych
W faksach: zmodyfikowany kod Huffmana.
Wstęp do informatyki – Dariusz Mikołajewski
Uniwersytet Mikołaja Kopernika w Toruniu
Katedra Informatyki Stosowanej
Kody kontrolne
Ważne: Chcąc mieć pewność co do wierności otrzymanej wiadomości
musimy tę wierność kontrolować, gdyż należy liczyć się z wystąpieniem w
nich przekłamań (np. na skutek chwilowych zaników sygnału).
Metoda: kody kontrolne
•kody detekcyjne, które pozwalają wyłącznie wykrywać błędy,
•kody korekcyjne, które pozwalają na wykrywane i korygowanie błędów.
Przykłady: kod z kontrolą parzystości, kod z kontrolą nieparzystości, kod z
CRC (ang. Cyclic Redundancy Check), kody parzystości blokowej, kod
Hamminga.
Wstęp do informatyki – Dariusz Mikołajewski
Uniwersytet Mikołaja Kopernika w Toruniu
Katedra Informatyki Stosowanej
Pojęcia podstawowe: podsumowanie
•bit (ang. binary digit, skrót ‘b’) – cyfra binarna, najmniejsza ilość
informacji w systemie binarnym, i jego wielokrotności: kb (kilobit) = 1024
bity, Mb (megabit) itd.
•bajt (ang. byte, skrót „B”) – 8 bitów, i jego wielokrotności: kB (kilobajt),
MB (megabajt) itd.
•słowo (ang. word) – jednostka informacji, na której operuje komputer: 1,
2 4, 8, 16 bajtów,
•b/s (bit na sekundę, ang. bps) – jednostka szybkości transmisji, i jej
wielokrotności: kb/s, Mb/s itd.
Wstęp do informatyki – Dariusz Mikołajewski
Uniwersytet Mikołaja Kopernika w Toruniu
Katedra Informatyki Stosowanej
Dziękuję za uwagę