brojni sistemi i kodovi
Download
Report
Transcript brojni sistemi i kodovi
BROJNI SISTEMI I
KODOVI
DIGITALNA ELEKTRONIKA
BROJNI SISTEMI I KODOVI
U svakom brojnom sistemu broj može se predstaviti na
sljedeći način:
D
n 1
b
r
i
i
i p
Primjeri:
Pri čemu je:
r – osnova sistema
bi – cifre u brojnom sistemu
i Î (- p, - 1) razlomljeni dio broja
i Î (0, n - 1) cijeli dio broja
r=2, bi={0,1} - binarni brojni sistem
r=8, bi={0,1, . . . , 7} - oktalni brojni sistem
r=10, bi={0,1, . . . , 9} - dekadni brojni sistem
r=16, bi={0,1, . . . , F} - heksadecimalni brojni sistem
BROJNI SISTEMI I KODOVI
Cijeli dio broja u brojnom sistemu sa osnovom r može se predstaviti kao:
D (...(bn1r bn2 )r bn3 )r ... b1 )r b0
Iz prethodnog zapisa, očigledno je da je:
D / r Q1 b0 (ostatak)
Q1 / r Q2 b1 (ostatak)
...
Qn 1 / r 0 bn 1 (ostatak)
Pri čemu je:
bn1bn2 ...b1b0
broj D
BROJNI SISTEMI I KODOVI
Identičnim postupkom može se izvršiti konverzija broja D iz brojnog
sistema sa osnovom r u brojni sistem sa osnovom c.
D / c Q1 c0 (ostatak)
Q1 / c Q2 c1 (ostatak)
...
Qn 1 / c 0 cn 1 (ostatak)
Pri čemu je:
cn1cn2 ...c1c0
broj D u brojnom sistemu sa osnovom c.
BROJNI SISTEMI I KODOVI
Primer 1: Konvertovati broj 3417 iz dekadnog u heksadecimalni brojni
sistem.
3417: 16 213 9(ostatak), b0 9
213: 16 13 5(ostatak), b1 5
13 : 16 0 13(ostatak), b2 13 D
Odgovarajući broj u heksadecimalnom brojnom sistemu je.
D5916
BROJNI SISTEMI I KODOVI
Primer 2: Konvertovati broj 108 iz dekadnog u oktalni brojni sistem.
108: 8 13 4(ostatak), b0 4
13 : 8 1 5(ostatak), b1 5
1 : 8 0 1(ostatak), b2 1
Odgovarajući broj u oktalnom brojnom sistemu je.
1548
BROJNI SISTEMI I KODOVI
Konvertovanje brojeva grupisanjem cifara
Binarni broj se, grupisanjem binarnih cifara, može konvertovati u bilo
koji brojni sistem čija je osnova stepen broja 2.
Posmatrajmo binarni broj zapisan u razvijenom obliku:
an 2n an1 2n1 an1 2n2 an3 2n3 ... a3 23 a2 22 a1 21 a0 20
Grupisanjem cifara (na primjer po 4 cifre) prethodni broj se može
zapisati i na sljedeći način:
(an 23 an1 22 an1 21 an3 20 )2n3 ... (a7 23 a6 22 a5 21 a4 20 )24
(a3 23 a2 22 a1 21 a0 20 )20
Uzmimo da je n + 1 = 4m, odnosno n = 4m - 1.
BROJNI SISTEMI I KODOVI
Sada se binarni broj može prikazati na sljedeći način
(a4m1 23 a4m2 22 a4m3 21 a4m4 20 )24m4 ... (a7 23 a6 22 a5 21 a4 20 )24
(a3 23 a2 22 a1 21 a0 20 )20
Kako je:
2
4 ( m 1)
m 1
16
to se broj može predstaviti u brojnom sistemu sa osnovom 16 kao:
Bm116m1 Bm216m2 ... B1161 B0160
pri čemu je
Bm1 a4 m1 23 a4 m2 2 2 a4 m3 21 a4 m4 20
Bm 2 a4 m5 23 a4 m6 2 2 a4 m7 21 a4 m8 20
B1 a7 23 a6 2 2 a5 21 a4 20
B0 a3 23 a2 2 2 a1 21 a0 20
BROJNI SISTEMI I KODOVI
Primjer: Konvertovati binarni broj 101101110101 u broj u
hesadecimalnom sistemu.
R: Osnova heksadecinalnog sistema može se zapisati kao 16=24, te
stoga za konvertovanje iz binarnog u heksadecimalni sistem treba vršiti
grupisanjem po 4 cifre.
1011 0111 0101
B
7
5
Prema tome, odgovarajući broj u heksadecimalnom sistemu je B75.
Primjer: Konvertovati binarni broj 1001011100 u broj u oktalnom
sistemu.
R: Grupisanjem po 3 cifre dobija se
1 001 011 100
Dopunjavanjem prve grupe cifara nulama , dobija se
001 001 011 100
1 1
3 7
Prema tome, odgovarajući broj u oktalnom sistemu je 1137.
BROJNI SISTEMI I KODOVI
Binarno Sabiranje
Prilikom sabiranja dvije binarne cifre mogu se
pojaviti 4 kombinacije:
(1)
Prenos
(3)
0
+0
00
1
+0
01
(2)
Zbir
(4)
0
+1
01
1
+1
10
Vodeča nula se
odbacuje
U slučaju kombinacije (4) vrši se prenos na bit veće težine.
BROJNI SISTEMI I KODOVI
Binarno Sabiranje
Prekoračenje se javlja kada je prenos sa bita najveće težine ==1.
Prenos:
1
1
0
0
0
0 1 0 1 0
10
+ 1 1 1 0 1
+
29
1 0 0 1 1 1
=
39
Prekoračenje
BROJNI SISTEMI I KODOVI
Oduzimanje - Metoda komplemenata
U matematici i računarstvu Metoda komplemenata je tehnika
kojom se oduzimanje jednog broja od drugog vrši sabiranjem
odgovarajućih pozitivnih brojeva.
Ova tehnika je široko prihvaćena kod mehaničkih kalkulatora, a i dalje je
u upotrebi u modernim računarima.
BROJNI SISTEMI I KODOVI
Metodom komplemenata oduzimanje broja y od broja x vrši se na
sljedeći način:
1. Najprije se izračuna osnovni kompement broja y.
Osnovni komplement n cifarskog broja y u brojnom sistemu sa
osnovom b, po definiciji je bn-y.
Osnovni komplement se lakše izračunava dodavanjem jedinice na
umanjeni osnovni komplement, pri čemu se umanjeni osnovni
komplement izračunava kao (bn-1)-y
bn-1 je broj koji sadrži n cifara vrijednosti b-1:
bn − 1 = bn − 1n = (b − 1)(bn − 1 + bn − 2 + ... + b + 1) = (b − 1)bn − 1 + ... + (b − 1).
Umanjeni osnovni komplement se jednostavno izračunava
komplementiranjem svake cifre sa b-1.
Nakon toga se dodavanjem 1 dobija osnovni komplement.
BROJNI SISTEMI I KODOVI
2. Dodavanjem osnovnog komplementa od y na x dobija se rezultat:
x y bn
Ako je y x rezultat oduzimanja je uvijek veći ili jednak bn. Prava
vrijednost x-y dobija se oduzimanjem početne jednice od gornjeg
rezultata. Oduzimanje početne jedinice je isto što i oduzimanje bn.
Ako je y x rezultat oduzimanja je manji od bn.U ovom slučaju prava
vrijednost x-y nalazi se kao negativna vrijednost osnovnog komplementa
od x-y+bn.
b ( x y b ) y x ( x y)
n
n
x y [b ( x y b )]
n
n
BROJNI SISTEMI I KODOVI
Primjer 1: Izračunati metodom komplemenata 95-35.
R: Najprije se izračunava osnovni komplement umanjioca 35.
99 35 64
64 1 65
Sada se vrijednost osnovnog komplementa dodaje na umanjenik 95.
95 65 160
Kako je umanjenik veći od umanjioca, to se rezultat dobija uklanjanjem
cifre najveće težine, odnosno početne jedinice. Prema tome konacan
rezultat je:
60
BROJNI SISTEMI I KODOVI
Primjer 2: Izračunati metodom komplemenata 35-95.
R: Najprije se izračunava osnovni komplement umanjioca.
99 95 4
4 1 5
Sada se vrijednost osnovnog komplementa umanjioca dodaje na
umanjenik.
35 5 40
Kako je umanjioc veći od umanjienika, to se konačan rezultat dobija
negativna vrijednost osnovnog komplementa od 40.
(99 40 1) 60
BROJNI SISTEMI I KODOVI
Primjer 3: Izračunati metodom komplemenata BC-74.
R: Najprije se izračunava osnovni komplement umanjioca.
FF 74 8 B
8B 1 8C
Sada se vrijednost osnovnog komplementa umanjioca dodaje na
umanjenik.
BC 8C 148
Kako je umanjenik veći od umanjioca, to se rezultat dobija uklanjanjem
cifre najveće težine, odnosno početne jedinice. Prema tome konacan
rezultat je:
48
BROJNI SISTEMI I KODOVI
Primjer 4: Izračunati metodom komplemenata 74-BC.
R: Najprije se izračunava osnovni komplement umanjioca.
FF BC 43
43 1 44
Sada se vrijednost osnovnog komplementa umanjioca dodaje na
umanjenik.
74 44 B8
Kako je umanjioc veći od umanjienika, to se konačan rezultat dobija
negativna vrijednost osnovnog komplementa od B8.
( FF B8 1) 48
BROJNI SISTEMI I KODOVI
Primjer 5: Izračunati metodom komplemenata 1011-1001.
R: Najprije se izračunava osnovni komplement umanjioca.
1111 1001 0110
0110 1 0111
Sada se vrijednost osnovnog komplementa umanjioca dodaje na
umanjenik.
1011 0111 10010
Kako je umanjenik veći od umanjioca, to se rezultat dobija uklanjanjem
cifre najveće težine, odnosno početne jedinice. Prema tome konacan
rezultat je:
0010
BROJNI SISTEMI I KODOVI
Primjer 6: Izračunati metodom komplemenata 1001-1011.
R: Najprije se izračunava osnovni komplement umanjioca.
1111 1011 0100
0100 1 0101
Sada se vrijednost osnovnog komplementa umanjioca dodaje na
umanjenik.
1001 0101 1110
Kako je umanjioc veći od umanjienika, to se konačan rezultat dobija
negativna vrijednost osnovnog komplementa od B8.
(1111 1110 1) 0010
BROJNI SISTEMI I KODOVI
BROJNI SISTEMI I KODOVI
U komunikacijama, kod je pravilo za konvertovanje informacije (npr. pisma, riječi, freze ili
gesta) u drugi oblik ili predstavu.
Jedan znak u drugi znak. Drugi znak može biti drugačijeg tipa.
Kodiranje je proces kojim se informacija konvertuje iz jednog u drugi oblik. Dekodiranje
je suprotan isti proces.
ASCII KOD
American Standard Code for Information Interchange (ASCII)
Kod koji je u najširoj upotrebi danas.
Koristi se u gotovo svim personalnim kompjuterima, terminalima, štampačima, i u drugoj
komunikacionoj opremi.
ASCII kod sadrži definicije za 128 karaktera u vidu sedmobitnih brojeva, tj. niza od
sedam 0-la i 1-ca.
Osmi bit – detekcija grašaka – bit parnosti.
33 neštampajuća i 94 štampajućih i SPACE karater (karakter bez grafike).
Neštampajući katakteri – ne šampaju se (definišu format teksta),
– kontrolišu rad uređaja kojima se prosljeđuju,
– specijalne informacije o nizu podataka.
94 štampajuća karaktera i SPACE karakter prikazani su na slici.
U ASCII kodu malo "a" je uvijek 1100001, veliko
"A" uvijek 1000001, itd.
BCD (binary-coded decimal) KOD
U računarskim i elektronskim sistemima, BCD je kodiranje decimalnih brojeva u kojem je
svaka cifra predstavljena vlastitom binarnom sekvencom.
Na primjer, BCD kod broja 134 je:
0001 0011 0100
Jednostavna konverzija u decimalne brojeva za štampanje ili dispej.
Brža decimalna izračunavanja.
BCD (binary-coded decimal) KOD
Različite varijante BCD koda:
BCD 2421, Excess-3 i BCD 84-2-1 su self-complementing
9-ti komplement se dobija invertovanjem bitova, 1-e u 0-u i 0-e u 1-u.
Upotrebljiva odobina kod aritmetičkih operacija sa označenim brojevima (signed binary numbers).
2421 i 84-2-1 su težinski kodovi
Decimalni ekvivalent se dobija množenjem bitova sa njihovom težinom.
2421 Ex : 1101 => 2 x 1 + 4 x 1 + 2 x 0 + 1 x 1 = 7
84-2-1 Ex: 1011 => 8 x 1 + 4 x 0 - 2 x 1 - 1 x 1 = 5
IBM 702, IBM 705, IBM 7080, IBM 1401 – prvi komercijalni IBM elektronski računari i BCD kod korišten u njima.
EBCDIC – 8-bitni kod koji se koristi u IBM mainframe operativnim sistemima z/OS, s/390, AS/400 i i5/OS. Razvijen je 6bitnog BCD koda za kodiranje bušenih kartica. 6-bitni BCD kod razvio je IBM tokom kasnih 1950-tih za svoje prve
računare.
GRAY-OV KOD
Gray-ov kod je netežinski i nije arithmetički.
Težine
nijesu dodijeljene pozicijama bitova.
VAŽNO: U Gray-ovom kodu, dvije susjedne kodne riječi
razlikuju se samo u jednom bitu.
Oba
osobina je važna u mnogim primjenama, kao što je
koder položaja osovine.
GRAY-OV KOD
Decimal
Binary
Gray Code
Decimal
Binary
Gray Code
0
1
2
0000
0001
0010
0000
0001
0011
8
9
10
1000
1001
1010
1100
1101
1111
3
4
5
0011
0100
0101
0010
0110
0111
11
12
13
1011
1100
1101
1110
1010
1011
6
0110
0101
14
1110
1001
7
0111
0100
15
1111
1000
GRAY-OV KOD
Konverzija Binarnog u Gray-ov kod
MSB u Gray-ovom kodu je isti kao odgovarajući MSB u
binarnom broju.
U cilju dobijanja sljedećeg bita Gray-ovog koda, idući slijeva na
desno, sabrati svaki susjedni par bitova binarnog koda. Odbaciri
prenos.
Primjer: Konvertovati 101102 u Gray-ov kod
1 + 0 + 1 + 1 + 0 binarni kod
1
1
1
0
1
Gray-ov kod
GRAY-OV KOD
Koverzija Gray-ovog u binarni kod
MSB bit u binarnom kodu je isti kao odgovarajući bit u
Graz-ovom kodu.
Određeni bit binarnog koda dodati na bit Gray-ovog
koda na sljedećoj susjednosj poziciji. Odbaciti prenos.
Primjer: Konvertovari Gray-ov kod 11011 u binarni.
1
1
0
1
1 Gray-ov kod
+
+
+
+
1
0
0
1
0 Binarni kod
GRAY-OV KOD
Primjena
LINIJSKI KODOVI
Konvertuju niz binarnih podataka u digitalni signal pogodan za slanje odgovarajućim
fizičkim kanalom.
Primjer: "1" se konvertuje u +A kvadratni impuls;
"0" se konvertuje u -A kvadratni impuls;
Najčešći fizički kanali su:
• linijski kodiran signal se može direktno dovesti na prenosnu liniju, u obliku
varijacija napona ili struje (često se koristi diferencijano kodiranje).
• linijski kodiran signal se može podvrći daljem oblikovanju impulsa (u cilju suženja
frekvencijskog opsega) i zatim modulisati (transliranje frekvencijskog opsega) u
cilju kreiranja "RF signala" koji se može slati slobodnim prostorom.
• linijski kodiran signal se može upotrijebiti za uključivanje i isključivanje svjetla
(najčešće infrared daljinsko upravljanje).
• linijski kodiran signal se može štampati u cilju kreiranja trakastog koda.
• linijski kodiran signal se može konvertovati u magnetized spots na hard disku ili
magnetnoj traci.
• linijski kodiran signal se može konvertovati u okna (pits) na optičkom disku.
LINIJSKI KODOVI
Linijski kod treba, u što većoj mjeri, zadovoljiti sljedeće sistemske
zahtjeve:
•Transmitted power: Potrošnja snage = €.
•Bit timing: Promjene u signalu pomažu regenerisanju tajminga.
•Bandwidth efficiency: Prekomjerne promjene – neracionalno trošenje
propusnog opsega.
•Low frequency content: Neki kanali ne propuštaju niske frekvencije.
•Dugo trajanje +A ili of –A izaziva causes signal to "opadanje" signala.
•Signal nebi trebao sadržavati niske frekvencije.
•Error detection: Mogućnost detekcije greške pomaže.
LINIJSKI KODOVI
Primjeri linijskih kodova:
1
Unipolar
NRZ
Polar NRZ
NRZ-inverted
(diferencialno
kodiranje)
Bipolarni
kod
Manchester
kod
Diferencijalni
Manchester
kod
0
1
0
1
1
1
0
0
LINIJSKI KODOVI
Spektar linijskih kodova
NRZ - sadrži puno niskih frekvencija
Bipolar – koncentrisan oko T/2
Manchester – najširi spektar
LINIJSKI KODOVI
NRZ
Kod u kojem je "1"-ca predstavljena sa jednim karakterističnim uslovom (često pozitivnim naponom)
a “0" drugim karakterističnim uslovom (često negativnim naponom).
Nema neutralnih ili dodatnih uslova (drugih naponskih nivoa).
Nije samo-sinhronizirajući kod (Self synchronizing code).
Moraju se koristiti dodatne sinhronizirajuće metode (paralelni sinhronizirajući signal ili dodavanje
okvira uz ograničenje trajanja).
Postoji više varijanti NRZ koda.
LINIJSKI KODOVI
Unipolar NRZ
"1" - +A impuls
"0" - nema impusla
Velika srednja snaga
0.5*A2 +0.5*02=A2/2
Dugačak niz A ili 0
loš tajming
niske frekvencije
Jednostavan
LINIJSKI KODOVI
Polar NRZ
"1" - +A/2 impuls
"0" - –A/2 impuls
Manja srednja snaga
0.5*(A/2)2 +0.5*(-A/2)2=A2/4
Dugačak niz +A/2 ili –A/2
loš tajming
Niske frekvencije
Jednostavan
LINIJSKI KODOVI
Polar NRZ
Najpoznatiji primjer ovog koda je RS-232, gdje "1" je -5V do -12V i "0" je +5 do +12V.
LINIJSKI KODOVI
Bipolarni kod
1
0
1
0
1
1
1
0
0
Bipolar
Encoding
Tri nivoa u signalu: {-A, 0, +A}
"1" - +A ili –A naizmjenično
"0" - nema impulsa
Svaki +impuls je praćen –impulsom – nizak sadržaj niskih frekvencija
Niz 1ca proizvodi travougaoni talas
Spektar koncentrisan oko T/2
Dugačak niz 0a – prijemnik se desinhroniše
LINIJSKI KODOVI
RZ –Return to Zero kod
Bipolarni kod
Signal se vraća na nulu prije svakog novog impulsa.
Ovo se dešava čak i kada je u signalu prisutan niz uzastopnih nula ili jedinica.
Self-clocking
Dvostruko širi propusni opseg u poređenju sa NRZ formatom.
Nula između bitova je neutralni nivo.
LINIJSKI KODOVI
Manchester kod & mBnB kodovi
1
0
1
0
1
1
1
0
0
Manchester
Encoding
"1" - A/2 prvo T/2, -A/2 zadnje T/2
"0" - -A/2 prvo T/2, A/2 zadnje T/2
Jednostavna rekonstrukcija
tajminga
Duplo veća širina spektra
Jednostavan za primjenu
Upotrijebljen u 10-Mbps Ethernet &
drugim LAN standardima
mBnB linijski kod
Kodira blok od m bita u n bita
Manchester kod je 1B2B kod
4B5B kod se koristu u FDDI LAN
8B10b kod se koristi u Gigabit
Ethernet
64B66B kod se koristi u 10G
Ethernet
LINIJSKI KODOVI
Diferencijalno kodiranje
1
0
1
0
1
1
1
0
0
NRZ-inverted
(diferencialno
kodiranje)
Differencialno
Manchester
kodiranje
Otporan na grešku prekomponovanje polariteta, +A postaje –A i obrnuto.
Svi sljedeći bitovi u Polar NRZ codiranju bi bili pogršni.
“1” – promjena nivoa u signalu
“0” – nema promjene nivoa u signalu
Isti spekrat kao NRZ
Greške se javljaju u parovima.
Manchester kodiranje takođe može biti diferencijalno.
KODOVI ZA DETEK. I KOREK. GREŠKE
Koriste se matematici, kompjuterskim naukama, telekomunikacijama i informacionoj
teoriji.
Detekcija i korekcija greške ima veliki pratičan značaj u obezbjeđivanju integriteta
podataka tokom prenosa ili čuvanja na nepouzdanom memorijskom mediju.
Definicije detekcije i korekcije grešaka:
- Detekcija grešaka je sposobnost detekcije prisustva grešaka u podacima nastale
tokom prenosa komunikacionom linijom ili protokom vremena.
- Korekcija greške je dodatna sposobnost rekonstrukcije originalnih podataka.
Sistema za detekciju i korekciju greške mogu se podijeliti na:
-ARQ (Automatic Repeat-reQuest): metod kontrole grešaka tako što se paketi za koje
ne postoji potvrda uspješnjog primanja šalju više puta za redom.
-FEC (Forward erroe correction - ): metod kontrole grešaka kod kojeg se u poruci dodaju
redudantni podaci. FEC, u određenim granicama, omogućava detekciju i korekciju
grešaka, bez zahtjeva pošiljaocu za dodatnim podacima. Često nema potrebe za
povratnim kanalom. Primjenjuje se u situacijama u kojima je obezbjeđenje dodatnih
podataka skupo ili nemoguće (mass storage devices)
KODOVI ZA DETEK. I KOREK. GREŠKE
Modu se podijeliti na:
1. Systematic
U poruci se nalazi fiksan broj originalnih bitova podataka, kao i fiksan
broj kontrolnih (redudantnih) podataka.
Redudantni podaci su dobijeni iz originalnih podataka primjenom
odgovarajućeg determinističkog algoritma.
Primjeri: Data + checksum, kodovi za detekciju greške (IP).
Hamming codes, linearni kodovi za korekciju greške.
Read-Solomon codes, kodovi za korekciju greški (CD).
...
2. Non-Systematic Transformišu poruku od n blokova podataka u poruku sa više od n blokova.
Originalna poruka se može rekonstruisati iz njene transformacije.
Teži se da transformisana poruka, po veličini, bude što bliža originalnoj.
Primjeri: Fontain codes
Raptor codes
LT codes
Online codes
...
METODE DETEKCIJE GREŠKE
Metoda parnosti
Bitom parnosti može se detektovati neparan broj greški.
Niz podataka se razbija u blokove i broje se bitovi vrijednosti 1:
(even parity)
Ukoliko je dobijeni broj neparan dodaje se bit parnosti vrijednosti 1.
Ukoliko je dobijeni broj neparan dodaje se bit parnosti vrijednosti 0.
(odd parity)
Ukoliko je dobijeni broj neparan dodaje se bit parnosti vrijednosti 0.
Ukoliko je dobijeni broj neparan dodaje se bit parnosti vrijednosti 1.
METODE DETEKCIJE GREŠKE
Kontrolna suma (Checksum)
Kontrolna suma je aritmetička suma kodnih riječi poruke. Određene je dužine.
Drugi komplement aritmetičke sume smješta se ili prenosi kao ekstra kodna riječ.
Aritmetička suma proširuje poruku.
Prilikom preuzimanja, izračunava se nova kontrolna suma koja mora biti jednaka 0.
Ako nije došlo je do greške.
U kontrolne sume spadaju: parity bits, check digits and longitudinal redudancy check.
Primjer izračunavanja kontrolne sume:
Neka su data 4 okteta podataka: 0x25, 0x62, 0x3F, 0x52
1. Sabiranjem okteta dobija se 0x118
2. Odbacivanjem bita najveće težine dobija se 0x18.
3. Drugi komplement je 0xE8. Ovo je oktete kontrolne sume.
4. Dodavanjem bitova poruke na kontrolnu sumu dobija se 0x100.
5. Odbacivanjem bita najveće težine rezultat je 0x00.
Rezultat 0x00 znači da nema greške, odnosno da greška nije
detektovana.
METODE DETEKCIJE GREŠKE
CRC (Cyclic redundancy checks)
CRC je kod za detekciju greške.
Upotreba osobina konačnih polja i polinaoma nad takvim poljima.
CRC razmatra blok podataka kao koeficijente polinoma i zatim ga dijeli sa fiksim,
unaprijed određenim polinomom.
Koeficijenti polinoma ostatka se uzimaju kao redudantni bitovi, odnosno CRC bitovi.
Dužina ostatka je uvijek manja ili jednaka dužini djelioca = broj CRC bitova u poruci.
U širkoj upotrebi su binarni CRC-ovi. Odgovaraju računarskoj arhitekturi.
32-bit CRC je upotrijebljen u Ethernet protokolu (IEEE preporuka).
Zašto je CRC popularan?
N-bitni CRC, primijenjen na blok podataka, garantuje detekciju svakog
pojedinačnog lanca grešaka ne dužeg od n-bita.
Lance duže od n bita će detektovati sa vjerovatnoćom 1-2-n.
Greške u prenosnim kanalima i magnetskim medijima za čuvanje podataka najčešće nijesu
slučajno raspoređene (već “koncentirsane"), što čini osobine CRC-a upotrebljivijim od drugih šema
(kao npr. višestruke kontrole parnosti - multiple parity checks).
METODE DETEKCIJE GREŠKE
CRC (Cyclic redundancy checks)
Bit parnosti se može smatrati trivijalnim CRCom, u kome se koristi dvobitni djelioc 11, tj x+1.
Primjer 1: Izračunavanje trobitnog CRCa:
Prva ExOR operacija:
Zadnje ExOR operacija:
Ako je bit ulaznog signala iznad zadnjeg bita djelioca 0, djelioc treba pomjeriti udesno za jedan bit.
Ako je bit ulaznog signala iznad zadnjeg bita djelioca 1, treba izvršiti ExOR operaciju sa bitovima
djelioca.
Nakon ExOR operacije djelioc se pomjera za jedan bit udesno. ExOR operacija se ponavlja dok
djelioc ne stigne do kraja ulaznog niza podataka.
Nakon zadnje ExOR operacije, bitovi ostatka su vrijednost CRC funkije, odnosno kontrolni,
redudantni, bitovi poruke.
METODE DETEKCIJE GREŠKE
CRC (Cyclic redundancy checks)
Na prijemnoj strani se ponovo izračunaju CRC bitovi i uporede sa primljenim.
Nepodudaranje indicira postojanje greške.
Jednostavan za implementaciju u softveru i hardveru.
Neki, često korišteni, CRC polinomi:
METODE DETEKCIJE GREŠKE
Metoda ponavljanja
Podaci poruke se dijele u blokove. Svaki blok se šalje unaprijed određeni broj puta.
U opštem slučaju ponavljajući kod se označava: (r, n).
Pri čemu je: r - broj ponavljanja, n - broj bita u bloku
Primjer 1: Neka se ima (3,1) ponavljajući kod.
Ako se želi poslati blok '1011', šalje se ‘111000111111‘.
Ako se poruka pročita kao ‘1010 1011 1011‘ može se detektovati da se jedna grupa
podataka razlikuje od druge dvije, odnosno da je došlo do greške.
Vrijednost bita određuje se upoređivanjem istog bita u svakoj primljenoj poruci.
Odabira se vrijednost koja se češće pojavljuje.
Primjer 2: Neka se ima (3,1) ponavljajući kod.
Ako smo primili kod c=110001111.
1 1 0
=1
0 0 1
=0
1 1 1
=1
Dekodirana poruka je m=101.
METODE DETEKCIJE GREŠKE
Pravougaoni kod (višestruka kontrola parnosti)
Poruka se razbija na po n-1 grupu od po n-1 bit (ili m-1) i tako se formira kvadrat (ili pravougaonik).
Dodaje se još po jedna vrsta i kolona, tako da, u svakoj vrsti i koloni bude paran (neparan) broj
jedinica.
Greška u jednom bitu poremetiće parnost u vrsti i koloni kojoj on pripada.
Može se detektovati i korigovati jedna greška.
Ilustracija metrice
pravougaonog koda
Originalna
poruka
Poruka sa greškom na
poziciji (i,j)=(2,2)
METODE DETEKCIJE GREŠKE
Efikasniji način kodiranja za korekciju greške
Neka se ima informacije od n bita.
Da bi se u njoj ispravila jedna greška jednog bita moraju se zabraniti sve kombinacije koje se
razlikuju za po jedan bit.
Za jednu dozvoljenu postoji n nedozvoljenih kombinacija.
Za k različitih poruka, dozvoljenih kombinacija od n bitova,
potrebno je k(n+1) kombinacija.
Mora biti zadovoljen uslov k(n+1) 2n
Ako se k izrazi kao k=2q, dobija se 2n-q (n+1).
Odnosno 2m (n+1). Gdje je m=n-q.
m izražava koliko je potrebno redudantnih bita (bita za kodiranje) da bi se mogla korigovati greška
jednog bita.
Primjer: Za n=3 m=2. Dva bita za kodiranje, jedan za poruku. Dozvoljena stanja su 000 i 111.
Sva stanja koja imaju Hamming-ovu distancu 1 od datog, pridružuju se tom stanju.
METODE DETEKCIJE GREŠKE
Hamming-ova distanca
U informacionoj teoriji Hamming-ova distanca između dva stringa iste dužine je broj pozicija na
koima su pripadni simboli različiti.
Drugim riječima, to je minimalni broj potrebnih zamjena za prevodjenje jednog stringa u drugi, ili
broj grešaka koje jedan string transformišu u drugi.
Hammingova distanca između:
1011101 i 1001001 je 2.
2173896 i 2233796 je 3.
"toned“ i "roses" je 3.
100011 imaju distancu 3 (crveni put);
010111 imaju distancu 2 (plavi put);
Može se izračunati kao:
01001001 imaju distancu 3 (crveni put);
01101110 imaju distancu 1 (plavi put);
( x1, x2 ,...,xn ) ( y1, y2 ,..., yn )
METODE DETEKCIJE GREŠKE
Hamming-ov kod
Hamming-ov kod je linarni kod za korekciju greške, nazvan po autoru Richard Hamming-u.
Hamming-ov kod može detektovati i korigovati grešku jednog bita.
Za detekciju greške jednog bita Hamming-ova distanca mora biti 2.
Za korekciju greške jednog bita Hamming-ova distanca mora biti 3.
Hamming-ovim kodom sa distancom 3, može se detektovati i korigovati greša jednog bita ili samo
detektovati greška 2 bita.
Hamming-ov kod se označava sa uređenim parom Hamming(n, m) code, pri čemu je n broj bitova u
kodu, a m je broj bitova podataka.
Information rate = m/n - odnos bitova podataka i ukupnog broja bitova u kodu.
Osnovni princip: Prožimanje poruke bitovima parnosti koji će kontrolisati bitove podataka kao i
sami sebe.
Algoritam: U cilju jednostavnijeg određivanja koji bit je pogrešno detektovan kao bitovi parnosti
odabiraju se bitovi na pozicijama 2K, K=0, 1, 2, 3,... .
Primjer: U Hamming(7, 4) kodu bitovi parnosti će biti na pozicijama 1, 2, 4.
METODE DETEKCIJE GREŠKE
Hamming-ov kod
Bitom parnosti na poziciji 2K provjeravaju se bitovi podataka poruke, gdje u binarnoj prezentaciji
pozicije K-ti bit ima vrijednost 1.
Primjer: Vizuelni prikaz navedane osobine, na Hamming(20, 15).
Hamming(7,4): Gragički opis 4 bita podataka i tri
bita parnosti i koji bit parnosti se odnosi na koji bit
podataka.
METODE DETEKCIJE GREŠKE
Hamming-ov kod sa dodatnom bitom parnosti
Uključivanjem još jednog bita parnosti nad cijelom porukom, povećava Hamming-ova distancu za 1
(na 4).
Sa Hammin-govom distancom 4 moguće je detektovati i korigovati jedan bit greške i detektovati
dva bita greške.
Primjer: Hamming(7,4) kod može se jednostavno proširiti na Hamming(8,4) dodajući bit parnosti
nad cijelom porukom.
Hamming(8,4): Gragički opis 4 bita
podataka i tri bita parnosti i koji bit parnosti
se odnosi na koji bit podataka.
Identičan sa Hamming(7,4) + dodatni bit
parnosti nad cijelom porukom
METODE DETEKCIJE GREŠKE
Kodiranje 7-bitne riječi "0110101" Hamming(11,7) kodom
Hamming(11,7): Gragički opis 7 bita
podataka i 4 bita parnosti i koji bit
parnosti se odnosi na koji bit podataka.
Poruka kodirana Hamming-ovim kodom
‘10001100101’
METODE DETEKCIJE GREŠKE
Dekodiranje poruke sa greškom jednog bita, kodirane Hamming(11,7) kodom
Neka je prijemna strana, poruku sa predhodnog slajda, dobila kao: ‘10001100100’.
Analiziranje poruke:
Svaki bit parnosti se
označava sa 1 kada ne
prođe even parity check.
Zadnji korak: Izračunavanje bita parnosti
Dobijena suma označava poziciju pogrešno dobijenog bita.
Njegovim invertovanjem dobija se da je ispravna poruka.
Umjesto '10001100100' '10001100101'
METODE DETEKCIJE GREŠKE
Deodiranje na osnovu grafičkog prikaza
Gragički opis 7 bita podataka i 4 bita parnosti i
koji bit parnosti se odnosi na koji bit podataka.
Vrijednosti bitova originalne poruke. Zbir bitova iz
roze, žutog, zelenog i plavog kruga je paran broj.
Pozicije bitova u kodu.
Vrijednosti bitova primljene poruke. Usljed greške
bita, zbir bitova iz roze, žutog i zelenog kruga je
neparan broj. Zbir pozicija bitova p1, p4, p3 je 11.
BOOLE-OVA ALGEBRA
Booleova (Bulova) algebra se oslanja na: postulate, pravila, zakone, teoreme i
identitete, koji će biti ovdje izloženi.
Promjenljiva u Booleovoj (prekidačkoj) algebri može imati vrijednosti 0 i 1.
Komplement neke promjenljive A ima značenje suprotno od A.
Postulati i pravila Booleove algebre
Osnovni postulati i pravila Booleove algebre prikazani su u sljedećim tabelama.
ILI (OR)
0+ 0
0+ 1
1+ 0
1+ 1
=
=
=
=
0
1
1
1
A+0 =A
A+1 = 1
A+A=A
A+A= 1
I (AND)
0.
0.
1.
1.
0
1
0
1
=
=
=
=
0
0
0
1
A.0 = 0
A . 1 =A
A . A=A
A . A= 0
NE (NOT)
0 = 1
1 = 0
A = A
ZAKONI BOOLE-OVE ALGEBRE
Neki od osnovnih zakona Booleove algebre su:
zakon komutacije
zakon asocijacije
A + B = B + A
A + (B + C) = (A + B) + C
A
.
B = B
.
A
.
A
zakon apsorpcije
A + (A
A
.
.
(B
.
.
C) = (A
.
B)
C
zakon distribucije
.
B) =
A
A
( B + C) = ( A
(A + B) =
A
A + (B
.
.
B) + (A
C) = ( A + B )
Promjenljive B i C imaju ista svojstva kao promjenljiva A.
.
.
C)
(A + C)
DE MORGEANOVE TEOREME
Na bazi Booleove algebre, De Morgan je formulisao dvije važne teoreme, koje,
u generalizaciji Shanona (Šenona), imaju jedinstven iskaz
Za dobijanje komplementa neke Booleove funkcije treba sve
promjenljive zamijeniti njihovim komplementima pa zatim
operacije "ILI" zamijeniti sa "I", a operacije "I" sa "ILI“.
N
i 1
Xi
N
i 1
Xi i
A B A B
i 1 X
N
N
i 1
i
i A B A B
A
B
A+B
A
B
AB
0
1
0
0
1
0
0
1
0
0
1
0
0
1
0
0
1
0
1
1
0
1
1
0
Xi
IDENTITETI BOOLE-OVE ALGEBRE
Pri radu sa funkcijama promjenljivih A, B i C u Booleovoj algebri, najčešće se
javlja potreba korišćenja identiteta, kao što su:
1) A. B + A. B = A ;
2) A. ( A + B ) = A. B ;
3) ( A + B ) . ( A + B ) = A .
Dokazi identiteta:
1) A B A B A (B B ) A
2) A ( A B ) A A A B A B
3) ( A B ) ( A B ) A A A B A B B B A A (B B ) A A A
PREKIDAČKE FUNKCIJE
Formiraju se koristeći osnovne operacije Booleove algebre, kao i prekidačke
promjenljive.
Zbog karaktera promjenljivih, nazivaju prekidačke funkcije.
Dva načina predstavljanja prekidačkih funkcija:
- Kombinacije logičkih proizvoda povezuju u logički zbir. Logički proizvodi treba
budu formirani tako da daju logičku jedinicu.
- Kombinacije logičkih zbirova povezuju se u logički proizvod. Logički zbirovi
promjenljivih treba da budu formirani tako da daju logičku nulu.
f A B C A B C A B C
f ( A B C) ( A B C) ( A B C)
PREKIDAČKE FUNKCIJE
Postoji i način tzv. tabelarnog zadavanja.
A
B
C
f
A
B
C
f
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
1
0
1
0
0
0
1
0
0
0
1
1
1
0
1
1
1
1
0
0
0
1
0
0
1
1
0
1
0
1
0
1
0
1
1
0
1
1
1
0
1
1
1
1
0
1
1
1
1
f A B C A B C A B C
f ( A B C) ( A B C) ( A B C)
Zbir logičkih proizvoda - kombinacija koje daju logičku jedinicu.
Vrijednost logičke nule promjenljive tretira se kao njen komplement,
Proizvod logičkih zbirova - kombinacija koje daju logičku nulu.
Vrijednost logičke jedinice promjenjive tretira se kao njen komplement .
MINIMIZACIJA PREKIDAČKIH FUNKCIJA
Upotrijebom osnovna pravila i teoreme Booleove algebre, broj članova
prekidačkih funkcija može biti znatno smanjen.
Procedura svođenja prekidačkih funkcija na reduciranu formu naziva se
minimizacija prekidačkih funkcija.
Ilustracija na jednostavnom primjeru:
f A B C D ( A B ) C D A (B C )
Primjenom De Morganove teoreme
B C B C
A B A B
slijedi
f A B C D A B C D A B C A B C (D D ) A B C A B ( C C ) A B
KARNAUGH-OVE TABLICE
Uvedene radi jednostavnije minimizacije.
Broj polja u Karnaugh-ovoj tablici jednak broju kombinacija promjenljivih.
Kombinacije promjenljivih za svaka dva susjedna polja tabele razlikuju se samo
za jedan bit.
Izdvajaju se promjenjive koje u dva susjedna člana u tabeli, imaju istu
vrijednost.
BC
A
0
1
00
01
11
10
0
1
3
2
4
5
7
6
Karnaughova tablica za tri promjenljive.
KARNAUGH-OVE TABLICE
PRIMJER: Minimizirati prekidačku funkciju
f ABC ABC ABC ABC ABC
RJEŠENJE:
Karnaugh-ova tabela zadate funkcije je sljedeća
BC
A
00
01
0
0
1
1
10
3
1
4
1
11
2
1
7
5
1
Minimalna forma zadate funkcije je:
f AB C
6
1
KARNAUGH-OVE TABLICE
Potpuno analogna analiza može se provesti za funkcije sa četiri promjenljive. U
tom slučaju, Karnaughova tablica ima oblik kao na slici.
CD
AB
00
01
11
10
00
01
11
10
0
1
3
2
4
5
7
6
12
13
15
14
8
9
11
10
Karnaughova tablica za četiri promjenljive.
KARNAUGH-OVE TABLICE
PRIMJER: Minimizirajmo funkciju od sedam članova na osnovu zadate
Karnaugh-ovom tablicom.
CD
AB
00
00
1
12
11
1
8
11
10
3
1
0
4
01
10
01
1
5
2
7
6
13
15
14
9
11
1
1
1
10
1
Lako se pokatuje da minimizirana funkcija ima oblik:
f B D A B D B C D
KARNAUGH-OVE TABLICE
Ako funkcija ima 5 promjenjivih
f f ( A, B, C, D, E )
Ona se svodi na oblik:
__
f E f1 A, B, C , D E f 2 A, B, C , D
Zatim se funkcije f1 i f2 minimiziraju primjenom Karnaugh-ovih tablica.