BROJNI SISTEMI I KODOVI
description
Transcript of BROJNI SISTEMI I KODOVI
BROJNI SISTEMI I KODOVI
DIGITALNA ELEKTRONIKA
U svakom brojnom sistemu broj može se predstaviti na sljedeći način:
1n
pi
iirbD
BROJNI SISTEMI I KODOVI
Pri čemu je:
r – osnova sistema
bi – cifre u brojnom sistemu
Primjeri:
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
( , 1) razlomljenidio broja
(0, 1) cijelidio broja
i p
i n
Î - -
Î -
BROJNI SISTEMI I KODOVICijeli dio broja u brojnom sistemu sa osnovom r može se predstaviti kao:
01321 )...))(...( brbrbrbrbD nnn
Iz prethodnog zapisa, očigledno je da je:
)(0/
...
)(/
)(/
11
121
01
ostatakbrQ
ostatakbQrQ
ostatakbQrD
nn
Pri čemu je:0121 ... bbbb nn
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.
)(0/
...
)(/
)(/
11
121
01
ostatakccQ
ostatakcQcQ
ostatakcQcD
nn
Pri čemu je: 0121 ... cccc nn
broj D u brojnom sistemu sa osnovom c.
BROJNI SISTEMI I KODOVI
Primer 1: Konvertovati broj 3417 iz dekadnog u heksadecimalni brojni sistem.
Dbostatak
bostatak
bostatak
13),(13016:13
5),(51316:213
9),(921316:3417
2
1
0
Odgovarajući broj u heksadecimalnom brojnom sistemu je.
1659D
BROJNI SISTEMI I KODOVI
Primer 2: Konvertovati broj 108 iz dekadnog u oktalni brojni sistem.
1),(108:1
5),(518:13
4),(4138:108
2
1
0
bostatak
bostatak
bostatak
Odgovarajući broj u oktalnom brojnom sistemu je.
8154
BROJNI SISTEMI I KODOVIKonvertovanje 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:
00
11
22
33
33
21
11 2222...2222 aaaaaaaa n
nn
nn
nn
n
Grupisanjem cifara (na primjer po 4 cifre) prethodni broj se može zapisati i na sljedeći način:
404
15
26
37
303
11
21
3 2)2222(...2)2222( aaaaaaaa nnnnn
000
11
22
33 2)2222( aaaa
Uzmimo da je 1 4 ,n m+ = odnosno 4 1.n m= -
BROJNI SISTEMI I KODOVISada se binarni broj može prikazati na sljedeći način
404
15
26
37
44044
134
224
314 2)2222(...2)2222( aaaaaaaa m
mmmm
000
11
22
33 2)2222( aaaa
Kako je:1)1(4 162 mm
to se broj može predstaviti u brojnom sistemu sa osnovom 16 kao:0
01
12
21
1 1616...1616 BBBB mm
mm
pri čemu je
00
11
22
330
04
15
26
371
084
174
264
3542
044
134
224
3141
2222
2222
2222
2222
aaaaB
aaaaB
aaaaB
aaaaB
mmmmm
mmmmm
BROJNI SISTEMI I KODOVIPrimjer: 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 100Dopunjavanjem 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) 0 (2) 0
+0 +1
00 01
(3) 1 (4) 1
+0 +1
01 10
ZbirPrenos
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.
0 1 0 1 0 10
+ 1 1 1 0 1 + 29
1 0 0 1 1 1 = 39
Prenos: 1 1 0 0 0
Prekoračenje
BROJNI SISTEMI I KODOVIOduzimanje - 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.
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
BROJNI SISTEMI I KODOVI2. Dodavanjem osnovnog komplementa od y na x dobija se rezultat:
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.
nbyx
)]([
)()(nn
nn
byxbyx
yxxybyxb
BROJNI SISTEMI I KODOVI
Primjer 1: Izračunati metodom komplemenata 95-35.
R: Najprije se izračunava osnovni komplement umanjioca 35.
65164
643599
Sada se vrijednost osnovnog komplementa dodaje na umanjenik 95.
1606595 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
Primjer 2: Izračunati metodom komplemenata 35-95.
R: Najprije se izračunava osnovni komplement umanjioca.
514
49599
Sada se vrijednost osnovnog komplementa umanjioca dodaje na umanjenik.
40535 Kako je umanjioc veći od umanjienika, to se konačan rezultat dobija negativna vrijednost osnovnog komplementa od 40.
60)14099(
BROJNI SISTEMI I KODOVI
BROJNI SISTEMI I KODOVI
Primjer 3: Izračunati metodom komplemenata BC-74.
R: Najprije se izračunava osnovni komplement umanjioca.
CB
BFF
818
874
Sada se vrijednost osnovnog komplementa umanjioca dodaje na umanjenik.
1488 CBCKako 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
Primjer 4: Izračunati metodom komplemenata 74-BC.
R: Najprije se izračunava osnovni komplement umanjioca.
44143
43
BCFF
Sada se vrijednost osnovnog komplementa umanjioca dodaje na umanjenik.
84474 B
BROJNI SISTEMI I KODOVI
Kako je umanjioc veći od umanjienika, to se konačan rezultat dobija negativna vrijednost osnovnog komplementa od B8.
48)18( BFF
BROJNI SISTEMI I KODOVI
Primjer 5: Izračunati metodom komplemenata 1011-1001.
R: Najprije se izračunava osnovni komplement umanjioca.
011110110
011010011111
Sada se vrijednost osnovnog komplementa umanjioca dodaje na umanjenik.
1001001111011 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.
010110100
010010111111
Sada se vrijednost osnovnog komplementa umanjioca dodaje na umanjenik.
111001011001 Kako je umanjioc veći od umanjienika, to se konačan rezultat dobija negativna vrijednost osnovnog komplementa od B8.
0010)111101111(
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 KODAmerican 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) KODRazlič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 6-bitnog 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
DecimalDecimal BinaryBinary Gray CodeGray Code
00 00000000 00000000
11 00010001 00010001
22 00100010 00110011
33 00110011 00100010
44 01000100 01100110
55 01010101 01110111
66 01100110 01010101
77 01110111 01000100
DecimalDecimal BinaryBinary Gray CodeGray Code
88 10001000 11001100
99 10011001 11011101
1010 10101010 11111111
1111 10111011 11101110
1212 11001100 10101010
1313 11011101 10111011
1414 11101110 10011001
1515 11111111 10001000
GRAY-OV KOD
Konverzija Binarnog u Gray-ov kodKonverzija Binarnog u Gray-ov kod
MSB MSB u u GrayGray-ovom kodu-ovom kodu je isti kao odgovarajući je isti kao odgovarajući MSB MSB u u binarnom broju.binarnom broju.
U cilju dobijanja sljedećeg bita Gray-ovog koda, idući slijeva na U cilju dobijanja sljedećeg bita Gray-ovog koda, idući slijeva na desnodesno, , sabrati svaki susjedni par bitova binarnog kodasabrati svaki susjedni par bitova binarnog koda. . Odbaciri Odbaciri prenosprenos..
PrimjerPrimjer:: KonvertovatiKonvertovati 10110 1011022 u u GrayGray-ov-ov kodkod
1 + 0 + 1 + 1 + 0 1 + 0 + 1 + 1 + 0 binarbinarni kodni kod
1 1 1 0 1 1 1 1 0 1 GrayGray-ov kod-ov kod
GRAY-OV KOD
Koverzija Koverzija Gray-Gray-ovog u binarni kodovog u binarni kod MSB MSB bit u bit u binarbinarnom kodu je isti kao odgovarajući bit u nom kodu je isti kao odgovarajući bit u
Graz-ovom kodu.Graz-ovom kodu. Određeni bit binarnog koda dodati na bit Gray-ovog Određeni bit binarnog koda dodati na bit Gray-ovog
koda na sljedećoj susjednosj poziciji.koda na sljedećoj susjednosj poziciji. Odbaciti prenosOdbaciti prenos..
PrimjerPrimjer:: Konvertovari Gray-ov kodKonvertovari Gray-ov kod 1101111011 u binarni. u binarni.
1 1 1 1 0 0 1 1 1 1 GrayGray-ov kod-ov kod
+ + + + + + + +
1 1 0 0 0 0 1 1 0 0 BinarBinarni kodni kod
GRAY-OV KOD
PrimjenaPrimjena
LINIJSKI KODOVIKonvertuju 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.
NRZ-inverted(diferencialno
kodiranje)
1 0 1 0 1 1 0 01
UnipolarNRZ
Bipolarnikod
Manchesterkod
DiferencijalniManchester
kod
Polar NRZ
LINIJSKI KODOVIPrimjeri linijskih kodova:
LINIJSKI KODOVISpektar linijskih kodova
NRZ - sadrži puno niskih frekvencija Bipolar – koncentrisan oko T/2 Manchester – najširi spektar
LINIJSKI KODOVINRZ
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.
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
LINIJSKI KODOVI Bipolarni kod
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
1 0 1 0 1 1 0 01
Bipolar Encoding
RZ –Return to Zero kodBipolarni 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" - 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
1 0 1 0 1 1 0 01
Manchester Encoding
LINIJSKI KODOVI
LINIJSKI KODOVIDiferencijalno 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.
NRZ-inverted(diferencialno
kodiranje)
1 0 1 0 1 1 0 01
DifferencialnoManchester
kodiranje
KODOVI ZA DETEK. I KOREK. GREŠKEKoriste 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ŠKEMetoda 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, 0x521.Sabiranjem okteta dobija se 0x1182.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ŠKECRC (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).
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:
METODE DETEKCIJE GREŠKE
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.
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
METODE DETEKCIJE GREŠKEMetoda 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ŠKEPravougaoni 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ŠKEEfikasniji 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ŠKEHamming-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);
01001001 imaju distancu 3 (crveni put); 01101110 imaju distancu 1 (plavi put);
Može se izračunati kao: ),...,,(),...,,( 2121 nn yyyxxx
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).
METODE DETEKCIJE GREŠKE
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ŠKEHamming-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ŠKEKodiranje 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ŠKEDekodiranje 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ŠKEDeodiranje 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.
Pozicije bitova u kodu.
Vrijednosti bitova originalne poruke. Zbir bitova iz roze, žutog, zelenog i plavog kruga je paran broj.
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.
0
0
01 1
1
+ =+ =+ =+ =1
0 000
1
1 11 11
+ =+
0=
+ =+ =
AA
AAA
A
A
A
01
1
====
0 000
1
111
=
0===
AAAA
A
.
.
.
.
A
.
.
.A
.
A00
00 = 11 = A = A
ILI (OR) I (AND) NE (NOT)
ZAKONI BOOLE-OVE ALGEBRE
Neki od osnovnih zakona Booleove algebre su:
A + B = B + A
.A AB B .=
B( AA + =).
zakon komutacije
( AA B B+ + + +=C C) )(
. . ..( AA B B=C C) )(
zakon asocijacije
zakon apsorpcije
( AA B B+ +=C) )(. . )A( C.zakon distribucije
A
B( AA + =). A . . +( AA B B+ +=C) )( )A( C
Promjenljive B i C imaju ista svojstva kao promjenljiva A.
DE MORGEANOVE TEOREME
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 iii
N
i i XXXX N
i
N
i 11 11 i
A B A B A B i A B
A B
0 0
0
0
1
1
1
1
A+B
1
0
0
0
A B
0 0
0
0
1
1
1
1
1
0
0
0
A B
Na bazi Booleove algebre, De Morgan je formulisao dvije važne teoreme, koje, u generalizaciji Shanona (Šenona), imaju jedinstven iskaz
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) 2) 3)A AB +. . =A B ; B.A A. =A B+( ) ; A A AB+ + =( () )B ..
Dokazi identiteta:
A B A B A B B A ( )
A A B A A A B A B ( )
( ) ( ) ( )A B A B A A A B A B B B A A B B A A A
1)
2)
3)
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
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 1
1 1 1 0
A B C f
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 1
1 0 1 0
1 1 0 1
1 1 1 1
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 .
f A B C A B C A B C f A B C A B C A B C ( ) ( ) ( )
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 ( ) ( )
A B A B B C B C
Primjenom De Morganove teoreme
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.
0
1
ABC
00 01 11 10
0 1 3 2
4 5 7 6
Karnaughova tablica za tri promjenljive.
KARNAUGH-OVE TABLICEPRIMJER: Minimizirati prekidačku funkciju
f ABC ABC ABC ABC ABC
ABC
00 01 11 10
0 1 3
4 5 6
1
1 1 1
10
1
2
7
f AB C
RJEŠENJE:
Karnaugh-ova tabela zadate funkcije je sljedeća
Minimalna forma zadate funkcije je:
Potpuno analogna analiza može se provesti za funkcije sa četiri promjenljive. U tom slučaju, Karnaughova tablica ima oblik kao na slici.
00
01
11
10
0 1 3 2
108 9 11
12 13 15 14
6754
ABCD
00 01 11 10
Karnaughova tablica za četiri promjenljive.
KARNAUGH-OVE TABLICE
KARNAUGH-OVE TABLICE
PRIMJER: Minimizirajmo funkciju od sedam članova na osnovu zadate Karnaugh-ovom tablicom.
0 1 31
1 1
1
118 9 11
12 13 15 14
674
ABCD
00 01 11 10
100
01
11
10
2
10
5
f B D A B D B C D
Lako se pokatuje da minimizirana funkcija ima oblik:
KARNAUGH-OVE TABLICE
Ako funkcija ima 5 promjenjivih
),,,,( EDCBAff Ona se svodi na oblik:
DCBAfEDCBAfEf ,,,,,, 2
__
1
Zatim se funkcije f1 i f2 minimiziraju primjenom Karnaugh-ovih tablica.