03 Codigos PDF
03 Codigos PDF
03 Codigos PDF
Códigos
Códigos
Conceptos básicos
Definiciones
Prof. Mario Medina Tipos de códigos numéricos
Codificador de posición
Código Gray rotatorio
Aplicación común: determinar posición
Código adyacente no ponderado
y velocidad de ejes (rotary encoder)
Digitos decimales consecutivos difieren en
Con código Gray todas las posiciones son adyacentes
un solo bit
Simplifica la transición entre estados
Útil para sistemas físicos con transiciones
mecánicas
Mucho ruido y elevado consumo de potencia
forma invertida
100 0100 Código reflejado
1100
1101 exceso 3
Anteponer un 0 a la formación original y un 1 a 1111
la parte reflejada 1110
1010
Gray de n bits 1011
1001
Repetir lo anterior con código Gray de n-1 bits 1000
Construcción de un código
Propiedad prefijo Huffman
Para que un código de largo variable esté Construir el árbol de decodificación
completamente definido, debe cumplirse la Agregar cada símbolo a una hoja del árbol
propiedad prefijo Identificar los 2 nodos de más baja frecuencia
si a1a2…ak es una palabra válida del código, que no poseen predecesores y construir el nodo
entonces no puede existir otra palabra válida predecesor
Frecuencia será suma de frecuencias de los dos nodos
definida como a1a2…aj, para j < k
Repetir hasta que quede sólo un nodo sin
predecesor
Construcción de un código
Huffman Ejemplo código Huffman
Rotular los arcos del grafo Dada la siguiente Se genera el siguiente
Asignar un 0 a uno de los arcos que salen del frecuencia de símbolos árbol
nodo raíz y un 1 al otro arco Dato Frecuencia 0 1
(0.6) (0.4)
Repetir recursivamente hasta haber cubierto
A 0.35
todos los nodos 0 0 1
B 0.25 A (0.35) 1 C (0.15) (0.25)
Asignar a cada nodo la secuencia de 0s y 1s B (0.25)
C 0.15
correspondientes al camino desde la raíz al 0
D (0.15)
1
E (0.1)
D 0.15
nodo en cuestión
E 0.10
Generación de Código
Hamming Generación de Código Hamming
Cada bit de validación verifica paridad de un El bit de paridad de la posición 2k comprueba los bits en las
posiciones que tengan al bit k en su representación binaria
subconjunto de bits del dato Binario Posición
P1 P2 P4 P8
Estas posiciones están dadas por: 0001 1 X
P2 2 1
0011 3 X X
Posición 2 (p2): 2, 3, 6, 7, 10, 11, 14, 15, … 2 0010 0100 4 X
0110 6 X X
Posición 8 (p8): 8, 9, 10, 11, 12, 13, 14, 15, 24, …
P8 2 3 8 1000 0111 7 X X X
1010 10 X X
1011 11 X X X
1100 12 x X
Verificación de código
Hamming Ejemplo Código Hamming
Calcular los bits de comprobación Cj Enviar BCD 0110 codificado en Hamming
Cada bit verifica paridad para el subconjunto Calcular bits de paridad p1p2p4
asociado a la posición j (tabla anterior) p1 = b3 ⊕ b5 ⊕ b7 = 0 ⊕ 1 ⊕ 0 = 1
c1 = b7 ⊕ b5 ⊕ b3 ⊕ b1 p2 = b3 ⊕ b6 ⊕ b7 = 0 ⊕ 1 ⊕ 0 = 1
c2 = b7 ⊕ b6 ⊕ b3 ⊕ b2 p4 = b5 ⊕ b6 ⊕ b7 = 0 ⊕ 1 ⊕ 1 = 0
c4 = b7 ⊕ b6 ⊕ b5 ⊕ b4
El valor decimal equivalente a c4c2c1 indicará la
posición donde hubo un error Posición 1 2 3 4 5 6 7
Si no hubo error, c4c2c1 será 000 Bit p1 p2 d1 p4 d2 d3 d4
Hamming 1 1 0 0 1 1 0
0 101101 Información L 0 1 0 0 1 1 0 0
Paridad Dato a transmitir
0 100100 A 1 1 0 0 0 0 0 1
1 01101
R 0 1 0 1 0 0 1 0
0 010010
1 00100 LRC 1 1 1 0 0 0 0 1
1 001011
0 10010
0 011110
0 01001
0 001100 BPI BPI BPI BPI BPI
0 11110
000010 1 1100001 0 1010010 1 1000001 0 1001100 1 1000001
0 01100
LRC R A L A
t
error
Unicode
Estándar de codificación de caracteres
Incluye todos los caracteres de uso común en la
actualidad
Versión 5.1 contiene 100 713 caracteres
Alfabetos, sistemas ideográficos y símbolos diversos
UTF-8: codifica caracteres en 1, 2, 3 ó 4 bytes
1 bytes: US-ASCII
2 bytes: caracteres romances, griegos, signos
3 bytes: casi todo el resto, grupo CJK
4 bytes: lenguajes académicos, símbolos matemáticos