Documentos de Académico
Documentos de Profesional
Documentos de Cultura
c03 PDF
c03 PDF
Capítulo 3
Codificación binaria
3.1. Codificación
Al modelar problemas es usual encontrar variables que pueden tomar múltiples valores, se
denomina codificación al proceso de convertir esas variables en señales binarias. La elección
adecuada del código puede conducir a redes lógicas más simples.
Consideremos, por ejemplo, el estado de un semáforo: éste puede tomar uno de tres valores:
verde, amarillo o rojo.
Una posible codificación es considerar cada color como una señal binaria; así si la variable
color toma valor rojo, estará en nivel alto la señal rojo y el resto de las señales (la verde y
amarilla) serán ceros.
Otra posibilidad es emplear dos bits para representar las tres situaciones que son posibles; ya
que con dos bits pueden simbolizarse, en binario, cuatro casos. Existen gran cantidad de códigos
posibles, ya que el nombre binario para el primer color puede elegirse de 4 maneras diferentes;
el código binario para el segundo color puede ser elegido de tres maneras diferentes, y el tercer
color puede ser elegido de dos modos diferentes. Existen 24 formas de representar la variable
multivaluada color mediante un vector binario.
Los más empleados son aquellos usados para representar números decimales.
El código representa los dígitos decimales por una secuencia de símbolos binarios.
Decimal BCD
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
La tabla es el código. Cada secuencia de 4 bits es una palabra del código. Nótese que a cada
dígito decimal se le asocia una secuencia de 4 bits.
La posición de más a la izquierda, o más significativa, tiene peso 8. El bit menos significativo,
el de más a la derecha, tiene ponderación 1. Las ponderaciones son potencias de 2.
Así, la palabra 7, puede interpretarse según:
12 = 0001 0010
1 1 0 0 0 1 0 0 1 0 0 1
t
3 2 9
La situación anterior ilustra una transmisión serie. La duración temporal de los bits y la forma
de iniciar y terminar la comunicación debe ser acordada entre el transmisor y receptor, esta
modalidad se denomina comunicación asincrónica. Si además se transmite una señal de reloj, se
tendrá una comunicación serial sincrónica.
Si se dispone de cuatro líneas, más una referencia, se puede enviar una cifra decimal en
paralelo. Si enviamos primero la cifra más significativa, y si identificamos los cables del bus
por su ponderación, la Figura 3.3. muestra la transmisión paralela del número 329.
Las líneas se han identificado de acuerdo al peso.
b
8 t
b
8
b
b 4 t
4
b
2
b b
1 2 t
b
1 t
3 2 9
3.2.2. Distancia
Se define la distancia entre dos palabras de un código, como el número de dígitos que se deben
cambiar a una palabra para obtener la otra.
Por ejemplo:
Hay distancia 1 entre 0100 y 0110.
Hay distancia 4 entre 0011 y 1100.
La distancia del código es la mínima distancia entre dos palabras consecutivas cualesquiera del
código.
En ciertas aplicaciones son útiles los códigos de distancia unitaria. Uno de los más empleados
es el código Gray, que es un sistema de codificación que ordena un conjunto de 2n números
binarios, de tal modo que sólo uno de los n bits cambia de una palabra a la siguiente.
Por ejemplo, para palabras de largo igual a 3 bits, se pueden representar 8 números decimales
según:
Decimal Gray
0 000
1 001
2 011
3 010
4 110
5 111
6 101
7 100
Nótese que entre números decimales consecutivos la distancia entre las palabras codificadas es
1.
Cuando en una lista ordenada ascendente, según el código, la mitad superior es simétrica con la
inferior, exceptuando el bit de mayor orden, se dice que el código es reflejado.
00
01
--
11
10
Nótese que lo anterior permite construir tablas de código Gray con largos de palabra mayores.
Para obtener el código para largo tres, se duplica el código de largo dos, mediante un reflejo; a
la mitad superior se la antecede con un 0 y a la inferior con un 1, ver Figura 3.4.
En la Figura 3.5. se muestran los diseños de redes combinacionales, para generar código Gray a
partir de una secuencia binaria de cuatro bits y viceversa.
B3 G3
B2 G2
G3 B3
B2
G2
B1 G1
B1
G1
B0 G0 G0 B0
En éstos, las palabras consecutivas tienen la misma distancia, y esta distancia existe también
entre la primera y la última palabra del código. En este sentido, la lista puede considerarse
cerrada.
3.2.5. Paridad
Cuando la probabilidad de error no es muy alta, ha probado ser efectivo un sistema denominado
Chequeo de paridad. Esta técnica emplea un bit extra, llamado de paridad, cuyo valor se
selecciona de tal forma de dejar un número par de unos en la palabra de código, entonces se dice
que el código es de paridad par. Si el bit se escoge tal que el número de unos en la palabra sea
impar, se tiene un sistema de paridad impar.
Ejemplo 3.3. Generador y detector de paridad.
Generador y detector de paridad. Se envían 4 bits en paralelo más uno de paridad par. La Figura
3.6 muestra la generación del bit de paridad, mediante:
p b8 b4 b2 b1
dp b8 b4 b2 b1 p
Las ecuaciones que realizan el diseño se obtienen planteando la tabla de verdad y luego
empleando compuertas or exclusivo para la implementación.
Tx Rx
dp
En la Figura 3.6 se muestra, entre líneas punteadas, el medio de transmisión; que separa al
transmisor del receptor. Analizar el circuito, determinando valores de p y dp, en caso de
producirse errores, en una de las cinco señales que se transmiten.
Ejemplo 3.5.
a) Sea una palabra de largo 3: 010
Entonces con un bit de paridad par, se representa: 1010. Donde el bit de paridad ocupa la
posición más significativa. En este caso: p b4 b2 b1 0 1 0 1
b) Puede verse que un error se detecta simplemente, en un código con paridad, debido al
cambio de tipo de paridad. Si la palabra correcta, con paridad par es 1010, se tiene que si se
recibe:
Un error en dos bits no puede ser detectado. Este sistema no permite corregir el error, sólo
detectarlo.
Nótese que la distancia del código, de la Figura 3.7, es dos. La paridad ocupa el bit más
significativo.
Ejemplo 3.6.
Un código muy empleado es el hexadecimal que representa 16 símbolos o cifras del sistema
hexadecimal mediante secuencias de cuatro bits. La tabla con el código se muestra en la Figura
3.8. Las secuencias hexadecimales suelen precederse con 0x; de este modo el número
hexadecimal 0x1A4 tiene como equivalente al número decimal 420:
0 x1A4 000110100100
Uno de los códigos más empleados es el código ASCII. Éste es un código de 7 bits, más uno de
paridad. Permite representar 128 símbolos. Su nombre es una abreviación de "American
Standard Code for Information Interchange".
Los códigos binarios de las letras mayúsculas y minúsculas difieren en el estado de un bit.
H D H D H D H D H D H D H D H D
00 NULL 00 10 DEL 16 20 32 30 0 48 40 @ 64 50 P 80 60 ` 96 70 p 112
01 SOH 01 11 DC1 17 21 ! 33 31 1 49 41 A 65 51 Q 81 61 a 97 71 q 113
02 STX 02 12 DC2 18 22 " 34 32 2 50 42 B 66 52 R 82 62 b 98 72 r 114
03 EXT 03 13 DC3 19 23 # 35 33 3 51 43 C 67 53 S 83 63 c 99 73 s 115
04 EOT 04 14 DC4 20 24 $ 36 34 4 52 44 D 68 54 T 84 64 d 100 74 t 116
05 ENQ 05 15 NAK 21 25 % 37 35 5 53 45 E 69 55 U 85 65 e 101 75 u 117
06 ACK 06 16 SYN 22 26 & 38 36 6 54 46 F 70 56 V 86 66 f 102 76 v 118
07 BEL 07 17 ETB 23 27 ' 39 37 7 55 47 G 71 57 W 87 67 g 103 77 w 119
08 BS 08 18 CAN 24 28 ( 40 38 8 56 48 H 72 58 X 88 68 h 104 78 x 120
09 TAB 09 19 EM 25 29 ) 41 39 9 57 49 I 73 59 Y 89 69 i 105 79 y 121
0a LF 10 1a SUB 26 2a * 42 3a : 58 4a J 74 5a Z 90 6a j 106 7a z 122
0b VT 11 1b ESC 27 2b + 43 3b ; 59 4b K 75 5b [ 91 6b k 107 7b { 123
0c FF 12 1c FS 28 2c , 44 3c < 60 4c L 76 5c \ 92 6c l 108 7c | 124
0d CR 13 1d GS 29 2d - 45 3d = 61 4d M 77 5d ] 93 6d m 109 7d } 125
0e SO 14 1e RS 30 2e . 46 3e > 62 4e N 78 5e ^ 94 6e n 110 7e ~ 126
0f SI 15 1f US 31 2f / 47 3f ? 63 4f O 79 5f _ 95 6f o 111 7f del 127
Unicode asigna un código único a cada carácter, utilizado en los lenguajes escritos del mundo,
para esto Unicode representa un carácter en forma abstracta, y deja la representación visual,
tamaño, dimensión, fuente o estilo, a otra aplicación, como un navegador web, un procesador de
texto o un cliente de correo. Las normas de transmisión Unicode más empleadas son UTF-8 y
UTF-16.
En páginas web se emplean entidades HTML para enviar caracteres especiales al cliente.
Comienzan con & y terminan en punto y coma. Por ejemplo para enviar una a minúscula
acentuada, se envía: á. También se acepta introducir una secuencia Unicode precedida
de la secuencia &#x. Por ejemplo U+00E1, es el Unicode para la á; entonces en la página web,
puede codificarse: á
Existe una variedad de códigos empleados en voltímetros digitales, tubos de rayos catódicos y
calculadoras. Uno de los más empleados es el código de siete segmentos, cuya tabla se ilustra a
continuación:
Decimal S6 S5 S4 S3 S2 S1 S0
0 0 1 1 1 1 1 1
1 0 0 0 0 1 1 0
2 1 0 1 1 0 1 1
3 1 0 0 1 1 1 1
4 1 1 0 0 1 1 0
5 1 1 0 1 1 0 1
6 1 1 1 1 1 0 1
7 0 0 0 0 1 1 1
8 1 1 1 1 1 1 1
9 1 1 0 1 1 1 1
0
5 1
6
4 2
3
Índice general.
CAPÍTULO 3 ............................................................................................................................................. 1
CODIFICACIÓN BINARIA ..................................................................................................................... 1
3.1. CODIFICACIÓN ................................................................................................................................... 1
3.2. CÓDIGOS NUMÉRICOS ........................................................................................................................ 1
3.2.1. Códigos ponderados .................................................................................................................. 1
Ejemplo 3.1. Código BCD ............................................................................................................................... 2
Ejemplo 3.2. Transmisión de símbolos BCD. .................................................................................................. 2
3.2.2. Distancia ................................................................................................................................... 3
3.2.3. Código reflejado. ....................................................................................................................... 4
3.2.4. Código cíclico ........................................................................................................................... 5
3.2.5. Paridad ...................................................................................................................................... 5
Ejemplo 3.3. Generador y detector de paridad. ................................................................................................ 5
Ejemplo 3.5. ..................................................................................................................................................... 6
Ejemplo 3.6. ..................................................................................................................................................... 7
3.3. CÓDIGOS ALFANUMÉRICOS ................................................................................................................ 8
3.4. CÓDIGOS DE DESPLIEGUE (DISPLAY CODES) ..................................................................................... 9
ÍNDICE GENERAL. ................................................................................................................................... 11
ÍNDICE DE FIGURAS................................................................................................................................. 12
Índice de figuras