Kódování dat
Střední odborná škola Otrokovice
www.zlinskedumy.cz
Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Miloš ZatloukalDostupné z Metodického portálu www.rvp.cz, ISSN: 1802-4785, financovaného z ESF a státního rozpočtu ČR.
Provozováno Výzkumným ústavem pedagogickým v Praze.
Charakteristika DUM 2
Název školy a adresa Střední odborná škola Otrokovice, tř. T. Bati 1266, 76502 Otrokovice
Číslo projektu CZ.1.07/1.5.00/34.0445 /4
Autor Ing. Miloš Zatloukal
Označení DUM VY_32_INOVACE_SOSOTR-PE-CT/2-EL-4/8
Název DUM Kódování dat
Stupeň a typ vzdělávání Středoškolské vzdělávání
Kód oboru RVP 26-41-L/52
Obor vzdělávání Provozní elektrotechnika
Vyučovací předmět Číslicová technika
Druh učebního materiálu Výukový materiál
Cílová skupina Žák, 19 – 20 let
Anotace Výukový materiál je určený k frontální výuce s doplňujícím výkladem vyučujícího; náplň: seznámení s kódováním informace, druhy kódů
Vybavení, pomůcky Dataprojektor
Klíčová slova
Číslo, číslice, kód, BCD, abeceda, kódování, váhy, řády, sedmisegmentový, Aiken, redundance, komprese, BIN, OCT, HEX, Gray, kódy k z n, ochranný, zabezpečovací, paritní, indikační, opravný, korekční, Hamming, Karnaughova mapa, CS, CRC, ASCII, UNICODE.
Datum 8. 7. 2013
Obsah tématuKód – definice, vlastnostiDůvody kódování signálůDělení kódů
BCD kódGrayův kódKódy k z nOchranné kódyZnakové kódy
Kódování dat
Kódy
Kód obecně patří do oblasti zpracování informace a zahrnuje:– předpisy, podle nichž je nějakému objektu jednoznačně přiřazena vybraná kombinace prvků množiny daného kódu– pravidlo pro jednoznačné přiřazení prvků dvou množin– že prvky první množiny jsou vyjádřeny pomocí prvků z druhé množiny
Prvek kódu:– člen množiny se označuje jako znak (písmeno, číslice, symbol, značka) – znak má přiřazen určitý význam (nese tak informaci)
Abeceda:– množina všech znaků dané skupiny
Kódování:– jde o realizaci kódovacího pravidla – provádí ji obvod zvaný kodér, nazpět dekodér. Vše může být také prováděno softwarově – tedy programem.
Kódy – pokračování
Důvody kódování signáluSignál – je fyzickým nositelem informace.
Proč se informace pro přenos signálem kóduje?– zmenšení objemu přenášené (či ukládané) informace (datová komprese, komprimace obsahu zprávy)
– ochrana obsahu přenášené zprávy před chybami, způsobenými poruchami a rušením (v tomto případě je naopak informace „zvětšována“ přidáním pomocné zabezpečovací informace – označuje se jako “nadbytečná“ – redundantní)
– ochrana obsahu zprávy před neautorizovaným čtením – šifrování (viz. např. kódovací stroj Enigma za II. světové války)
– přizpůsobení přenášené zprávy fyzikálnímu prostředí, kterým je přenášena (např. modulace signálů v rozhlasovém vysílání) – AM, FM a další).
Kódy – pokračování
Dělení kódůKódů je mnoho a záleží pro jaký účel jsou používány.
K základním pak patří používané číselné soustavy– běžně používané pro míry, váhy, vyčíslení hodnot (desítková soustava)
– pro měření času, úhlů (šedesátková soustava)
– pro vyjádření číslicové informace základnísoustava dvojková – binární (BIN) a z ní odvozené používané soustavy
osmičková (oktalová – OCT) šestnáctková (hexadecimální – HEX)
Kódy – pokračování dělení kódů
– pro vyjádření číslicové informace rozšířenéBCD kód (dvojkově desítkový – binárně dekadický)Grayůvkódy k z nochranné kódy
paritnísamoopravný – Hammingův
znakové kódypětibitový (telegrafní a dálnopisný)sedmibitový (ASCII)osmibitový (ACSII 2, ISO 8)šestnáctibitoý (Unicode)
Pozn. Existuje množství dalších kódů – např. čarové kódy (označování výrobků a dílů) nebo QR kódy (pro rychlé zjištění informace pomocí mobilního telefonu a internetu) a mnohé další…
BCD kód- BCD = Binary Coded Decimal (dvojkově vyjádřené desítkové číslo)- jde o zápis desítkových čísel pomocí čtyř bitů- typů BCD je více, nejběžnějším typem je BCD kód s vahami 8-4-2-1- jde o kód smíšený
- kombinuje vlastnosti jak kódu desítkového, tak dvojkového. - z desítkového převzal řády – např. jednotky, desítky, stovky… - z dvojkového pak vyjádření každé desítkové číslice čtveřicí bitů dvojkového čísla
- ve srovnání s přímým dvojkovým kódem je méně úsporný (např. pro dvojkové číslo o 10 bitech potřebuje 12 bitů v BCD vyjádření)
Použití BCD kódu: – u čítačů, kde se čítají události a zjištěné počty se zobrazují
(například u desítkového čítače do 999 má každá dekáda jednu čtyřbitovou BCD číslici)
– u A/Č převodu metodou sériového porovnávání po řádech– jako vstupní kód u dekodéru (např. BCD kódu na kód
sedmisegmentových zobrazovačů nebo na kód 1 z 10)
BCD kód – pokračování - výhoda BCD kódu s vahami 8-4-2-1
- čísla v tomto kódu BCD jsou shodná s šestnáctkovými čísly – tedy v „povoleném“ rozsahu 0 až 9 (0000 až 1001)
Příklad č. 1: Převeďte desítkové číslo 849 do kódu BCDŘešení: 8421 8421 8421(849)10 = (1000 0100 1001)BCD = (100001001001)BCD
8 4 9 (bez mezer mezi čtveřicemi)
Příklad č. 2: Převeďte BCD číslo 10000011 na desítkové číslo. Řešení: 8421 8421 8421(100000110111)BCD = (1000 0011 0111)BCD = (837)10
8 3 7Existují i jiné BCD kódy
- BCD+3 (Excess 3) – pro jednodušší desítkové operace- s jinými vahami než je 8-4-2-1
- kód s vahami 4-2-2-1 3-3-2-1 2-4-2-1 (Aikenův kód pro obousměrné čítače)
Grayův kód- je zvláštní tím, že sousední dvě čísla se liší vždy pouze o jediný bit
– používá se – u inkrementálních (přírustkových) snímačů polohy
(jde u nich o posun pravítka nebo úhlové natočení hřídele či kódového kotouče) – při grafické metodě minimalizace logických funkcí pomocí
Karnaughovy mapy
Jak se převede desítkové číslo do Grayova kódu? – nejprve se převede na dvojkový kód – z tohoto čísla výpočtem vznikne číslo Grayově kódu (má stejný počet bitů – k převodu z dvojkového do Grayova kódu použijeme logickou funkci XOR (nerovnost)
Desítkový Dvojkový Liší se o Grayův Liší se o
6 0110 0101
7 0111 1 bit 0100 1 bit
8 1000 4 bity 1100 1 bit
Grayův kód – pokračování
XORNEROVNOST – EXKLUZIVNÍ SOUČET (Y platí pokud jsou vstupy RŮZNÉ)
Grayův kód – pokračování
Postup převodu čísla ve dvojkovém kódu do Grayova kódu– označení jednotlivých bitů
– B (bity Bn až B1, největší je Bn) – dvojkové číslo- G (bity Gn až G1, největší je Gn) – číslo ve výstupním Grayově kódu
Převod uskutečníme podle vztahůGn = Bn
Gn-1 = Bn Bn-1
Gn-2 = Bn-1 Bn-2
.
.G2 = B3 B2
G1 = B2 B1
Z rovnic je vidět, že nejvyšší bity jsou shodné, dále vzniknou bity G postupným porovnáním sousedních bitů čísla B – bit G má hodnotu 1 jsou-li příslušné bity čísla B různé.Počet a obsah rovnic závisejí na počtu bitů vstupního čísla
Grayův kód – pokračování
Příklad: Převeďte desítkové číslo 29 do Grayova kódu.
Řešení: (29)D rozložíme do řady mocnin dvojky – tedy do řady 16, 8, 4, 2, 1 Jednička bude u 16,8,4,1 (11101) Zk.: 16 + 8 + 4 + 1 = 29
(29)10 = (11101)2 – jde o pětibitové dvojkové číslo
Dále budeme postupovat podle rovnic:
G5 = B5G4 = B5 B4G3 = B4 B3G2 = B3 B2G1 = B2 B1
Výsledek (11101)B = (10011)G
Grayův kód – pokračování
Postup převodu čísla z Grayova kódu do dvojkového kódu
Převod se děje podle rovnic:
Bn = Gn
Bn-1 = Gn Gn-1
Bn-2 = Gn Gn-1 Gn-2
.
.B2 = Gn Gn-1 Gn-2 … G3 G2
B1 = Gn Gn-1 Gn-2 … G3 G2 G1
Rovnice je možné zjednodušit – viz příkladPříklad: Podle rovnic převeďte (10011)G na dvojkové číslo.B5 = G5B4 = G5 G4 = B5 G4B3 = G5 G4 G3 = B4 G3B2 = G5 G4 G3 G2 = B3 G2B1 = G5 G4 G3 G2 G1 = B2 G1
Grayův kód – pokračování
Postup převodu čísla z Grayova kódu do dvojkového kódu
Podle předchozích rovnic Gi = f(Bi), kde Gi jsou bity výstupního čísla v Greyově kódu,
B i jsou bity vstupního čísla ve dvojkovém kódu a s pomocí substituce, kdy do nového výstupního bitu Gi počítáme předchozí výstupní bit (vznikajícího dvojkového čísla) Bi+1
Z rovnic je vidět, že nejvyšší bity jsou shodné, další bity čísla B vzniknou postupně porovnáním příslušného bitu čísla G a předchozího bitu výsledku B.
Příklad: Převeďte číslo 10011 v Grayově kódu do dvojkové soustavy.
Řešení: (10011)G = (11101)B
Popis: Nejvyšší bit byl opsán, pak se tato 1 z výsledku porovnává s druhým bitem zleva vstupního čísla (zde nula), vznikne jednička, tato se porovná s následujícím bitem vstupního čísla (zde nula) a tak stále dokola, dokud se nedojde na poslední bit vstupního čísla (ten co je nejvíce vpravo).
Kódy k z n
– takové kódy, kde „n“ určuje počet bitů kódového slova „k“ je pevný počet jedniček, které se v kódovém slově vyskytují
Použití:– jako kódy „1 z n“ se používají také u dekodérů, kde n = 2, 4, 8, 10, 16 apod. (jde zde pak o zadaný typ výstupu typu – „plovoucí nula nebo plovoucí jednička“.– u kódování řídicích signálů – jde o kódy „1 z n“, kde n = 2 až 10– také se používaly v telefonních ústřednách – kód „2 z 5“
Poznámka:
Obecně jde o kódy detekční, tzn. že umějí rozpoznat (detekovat) jednu chybu (např. po přenosu informace).
Ochranné kódy – zabezpečovací kódy
Jak zabezpečit informaci proti chybě při přenosu vlivem např. rušení?
– k přenášené žádané informaci (např. v podobě n – bitového čísla) je přidána informace pomocná (kontrolní, zabezpečovací)– přidané informaci (jde o jeden či několik bitů umístěných kamkoliv k bitům zprávy) se také říká redundantní (navíc)
Jak se vytvoří pomocná (přidaná) informace?– na základě určitého algoritmu z informačního obsahu zprávy– počítá se dvakrát
– jednou před přenosem, – podruhé po ukončení přenosu
Kdy je přenos bez chyby?– pokud jsou obě kontrolní informace shodné
Ochranné kódy – zabezpečovací kódy – pokračování
Co když nejsou obě kontrolní informace shodné? - pak lze chybu detekovat (jednoduchý kontrolní kód)(oznámit, že nastala, ale neví se přesně v kterém bitu)
- určit přesně bit, který je chybný (lokalizace chyby) bez opravy(to umí složitější kontrolní kód)
- oprava nalezené chyby a získání bezchybné informace (korekce chyby) – ideální stav. Pokud je chyba zjištěna a zabezpečovací kód ji „neumí“ opravit, pak je nutné přenos informace opakovat do té doby, než bude přenesena bezchybně.
Obr. 1: Zabezpečení přenosu informace
Ochranné kódy – zabezpečovací kódy – pokračování
Dělení zabezpečovacích kódů
- detekční (oznamovací)- opravné - samoopravné (korekční) Příklady zabezpečovacích kódů- Paritní kód – kontrola paritou (detekční)- Hammingův kód (samoporavný)- Kontrolní součet – CS (Check Sum)- Kódy CRC (Cyclic Redundancy Code)
Znakové kódy
- jde o kódy pro práci s alfanumerickými znaky- jde o vícebitové kódy (počet bitů označme „n“)- vyjadřují písmena, číslice, dále různé pomocné a řídicí znaky- množina znaků, vytvořená pomocí kombinací jednotlivých bitových slov při pevném počtu bitů má 2n členů - znakový kód je popsán tabulkou, která pevně přiřazuje znaku „pořadové“ číslo, (které je zapsáno dvojkově nebo šestnáctkově) a je pro daný znak příslušným kódovým n- bitovým slovem
Počet bitů n Počet znaků Označení Pozn.
5 32 MTA2 Telegrafní
7 128 ASCII
8 256 ASCII 2
16 65 536 UNICODE
Pětibitový telegrafní kód - používal se pro přenos dat u dálnopisu,- nesl označení telegrafní kód – MTA2 (CCITT 2)- používal se také pro záznam dat na pětistopé papírové děrné pásce (otvor značil jedničku). - Je pětibitový, má 32 kódových slov- Obsahuje:
- 26 písmen velké abecedy (A – Z)- číslice (0 – 9)- pomocné znaky (např. ?, -, :, /, +… je jich 12)- řídicí znaky
(Bell – zvonekCR – návrat vozíkuLF – nový řádekkonec přenosuznak pro přepnutí na čísla –„11011“ (zde se jimi myslí i
pomocné znaky) znak pro přepnutí na písmena –„11111“
- celkem tento kód tedy obsahuje 55 znaků, kódovaných pomocí pěti bitů (32 kódových slov)
Sedmibitový kód – ASCII – 1963 (American Standard Code for Information and Interchange)- navržen pro číslicové počítače, zajišťoval kompatibilitu přenášených dat
ASCII má tyto vlastnosti: - obsahuje celou anglickou abecedu a desítkové číslovky, dále základní matematické a gramatické grafické symboly- řídící znaky pro formátování textu a obsluhu k počítačům připojovaných přístrojů- kódovací tabulka převádí znaky do dvojkového kódu- jeden znak musí zabírat maximálně 1 bajt (8 bitů)- osahuje kontrolní mechanismus – 8. bit je paritní (kontrola paritou – nalezení jedné chyby)- jiná označení než ASCII: ASCII 1, po mírných úpravách (jiné grafické symboly a řídicí znaky) z něj vznikl kód ISO-7 a KOI-7Použití:- pro sériový přenos dat- používal se u minipočítačů a pro záznam dat na děrnou pásku- pro zobrazování znaků na monitoru počítače- i dnes ještě se něm vytvářejí zdrojové texty programů (programování v nižších a vyšších jazycích)
Znakové kódy – pokračování
Osmibitový kód – ASCII 2 – 1967 - rozšířený ASCII, říká se mu také ASCII 2- pro mikropočítače a osobních počítačů- vznikl ze sedmibitového kódu ASCII podle pravidla na obrázku
- kód existuje i jako ISO-8 (má ale některé grafické a řídicí znaky odlišné od ASCII 2) nebo jako KOI-8- kód obsahuje 256 znaků- prvních 128 je standardem na všech počítačích (HW a SW- dalších 128 se používá pro znaky lokálních abeced- kódy 0 – 31 jsou řídící kódy, dále následují písmena (velká a malá), číslice a speciální znaky pro datové komunikace- kód byl velmi rozšířen před nástupem OS Windows XP a novějších
Obr. 2: Pravidlo pro osmibitový ASCCI kód ze sedmibitového
Znakové kódy – pokračování
Šestnáctibitový kód – UNICODE – 1991- pochází z ASCII- je 16 bitový- je mezinárodní- obsahuje znaky hlavních světových abeced a také používané technické znaky- je podporován v novějších operačních systémech a všech moderních prohlížečích - je stále ve vývoji (jsou přidávány další nové znaky)
Některé nevýhody:- větší objem dat (pro 1 znak jsou potřeba 2 bajty)- rozsáhlejší znakové sady- není zpětně kompatibilní – soubory v Unicode nelze jednoduše převádět do starších znakových kódůJaké jsou typy zápisu znaků v kódováni Unicode?- UCS-2 (Universal coded Character Set)- UTF-7 (Universal Transformation Format) – nahrazuje sedmibitový ASCII- UTF-8 – nahrazuje osmibitový ASCII
Kontrolní otázky
1. OCT je zkratka kódua) Šestnáctkovéhob) Dvojkovéhoc) Osmičkového
2. Výraz „1 z 10“ má nejvýraznější spojitost s kódem
a) Hexadecimálnímb) BCDc) Binárním
3. Kód, u něhož se dvě sousední čísla liší vždy pouze o bit se nazývá
a) Grayůvb) Aikenůvc) Hammingův
Kontrolní otázky – správné odpovědi
1. OCT je zkratka kódua) Šestnáctkovéhob) Dvojkovéhoc) Osmičkového
2. Výraz „1 z 10“ má nejvýraznější spojitost s kódem
a) Hexadecimálnímb) BCDc) Binárním
3. Kód, u něhož se dvě sousední čísla liší vždy pouze o bit se nazývá
a) Grayůvb) Aikenůvc) Hammingův
Seznam obrázků:Obr. 1: vlastní, Zabezpečení přenosu informaceObr. 2: vlastní, Pravidlo pro osmibitový ASCCI kód ze sedmibitového
Seznam použité literatury:
[1] Matoušek, D.: Číslicová technika, BEN, Praha, 2001, ISBN 80-7232-206-0
[2] Blatný, J., Krištoufek, K., Pokorný, Z., Kolenička, J.: Číslicové počítače, SNTL, Praha, 1982
[3] Kesl, J.: Elektronika III – Číslicová technika, BEN, Praha, 2003, ISBN 80-7300-075-X
Děkuji za pozornost