Istorija ključ za okruzno takmicenje za 6. razred_2024
OIR4-L3.pptx
1. 4.3. Netežinski kodovi
Osim težinskih, često su u upotrebi i kodovi sa nekim karakterističnim osobinama koje
su pogodne za specijalne primene i zato se negde zovu i kodovi za specijalne
primene.
Kod netežinskih kodova ne postoji specifična težina koja se pridružuje ciframa kao
što je to bio slučaj sa težinskim kodovima.
2. 4.3. Netežinski kodovi
4.3.1. Kod „Višak 3“ (XS3)
Tipičan netežinski kod je kod ″višak 3″. Dobija se dodavanjem 3
decimalnom broju, a zatim se vrši konverzija rezultata u 4-bitni
binarni broj. U tabeli je prikazana prezentacija decimalnih cifara u
kodu ″višak 3″.
Kod ″višak 3″ je autokomplemenataran i koristan je kod aritmetičkih
operacija. Na primer, analizirajmo slučaj sabiranja dve decimalne
cifre čija je suma veća od 9. Ako se u konkretnom primeru koristi
BCD kod neće se generisati bit prenosa. No, kada se koristi kod
″višak 3″ javiće se prenos ka narednoj cifri veće težine. Rezultantna
suma se, nakon toga, podešava dodavanjem 3. Sabiranjem 6 i 8
imaćemo:
3. 4.3. Netežinski kodovi
4.3.2. Grejov (Gray) kod
Ciklične kodove karakteriše osobina da se
uzastopne kodne reči razlikuju samo u jednoj
bit poziciji.
Zbog navedene osobine, Grejov kod se koristi u
A/D i D/A konvertorima jer se očekuje da će
vrednost analognog signala u 2 susedna
trenutka odmeravanja razlikovati maksimalno za
1 kvant pa će pri generisanju 2 susedne kodne
reči biti potrebno promeniti maksimalno 1 bit.
U tabeli je prikazan Grejov kod koji je
karakteristični tip cikličnog koda koji je reflektivni
- sa izuzetkom bita najveće pozicije, sve kolone
su "reflektivne" (simetrične) u odnosu na srednju
tačku. Kod bit najveće pozicije, u gornjoj polovini
imamo sve nule a u donjoj sve jedinice.
4. 4.3. Netežinski kodovi
4.3.2. Grejov (Gray) kod
Decimalni broj se konvertuje u Grejov kod najpre konverzijom u binarni. Binarni broj se
konvertuje u Grejov kod formiranjem sume po modulu 2 između tekuće cifre (počevši
od cifre najmanje težine) i susedne cifre veće težine. Ako je binarna prezentacija
decimalnog broja data u obliku b3b2b1b0, tada se odgovarajuća kodna reč iz Grejovog
koda, G3G2G1G0, određuje kao
G3= b3
G2= b3 ⊕ b2
Primer: G1= b2 ⊕ b1
G0= b1 ⊕ b0
5. 4.3. Netežinski kodovi
4.3.3. Hafmenov kod
U grupu kodova specijalnih namena svakako treba
pomenuti i Hafmenov kod. Ovaj kod se može
posmatrati proširenim prirodnim BCD kodom jer on
osim cifara sa težinama 8421 sadrži i dodatne cifre
za takozvanu kontrolu parnosti. Bit za kontrolu
parnosti uzima vrednost 1 ukoliko je ukupan
broj jedinica na pozicijama koje kontroliše
neparan, a vrednost 0 ukoliko je ukupan broj
jedinica na pozicijama paran. U Hafmenovom
kodu postoje čak tri bita za kontrolu parnosti, tako
da je dužina kodne reči Hafmenovog koda 7.
6. 4.3. Netežinski kodovi
4.3.3. Hafmenov kod
Bitovi u Hafmenovom kodu se obeležavaju na sledeći način:
AB8C421. Bitovi na pozicijama 8421 odgovaraju prirodnom
BCD kodu, dok cifra C "kontroliše parnost" na pozicijama sa
težinama 4, 2 i 1, cifra B vrši kontrolu parnosti na pozicijama sa
težinama 8, 2 i 1, a cifra A je bit za kontrolu parnosti na
pozicijama sa težinama 8, 4 i 1. Kodna tablica Hafmenovog
koda prikazana je u tabeli.
Hafmenov kod se uglavnom koristi pri prenosu podataka. U
tom slučaju se na prijemnoj strani ponovo preračunavaju
vrednosti bitova za kontrolu parnosti i porede sa primljenim
vrednostima. Ukoliko se pojavi odstupanje, znači da je došlo do
greške. Ukoliko je greška pri prenosu nastala na tačno jednom
bitu, pomoću Hafmenovog koda grešku je moguće detektovati i
ispraviti. Ukoliko je greška nastala na 2 ili 3 bita, grešku je
moguće samo detektovati.