Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 0
Circuitos Digitales I EL-3213
Prof: Luis Tarazona
Introducción
Circuitos Digitales I
Sistemas Digitales y Sistemas
Analógicos
Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 2
Representaciones numéricas analógicas y digitales
! Representación analógica
– Una cantidad se representa con el valor de una variable física proporcional al valor de la cantidad.
– Estas pueden variar gradualmente sobre un intervalo continuo de valores
! Representación digital
– Las cantidades no se representan por valores proporcionales sino por símbolos denominados dígitos
– Las cantidades varían en pasos o etapas discretas
¿Puede Ud. dar ejemplos de c/u?
Sistemas digitales y sistemas analógicos
! Sistema digital
– Combinación de dispositivos diseñados para
manipular cantidades físicas o información en forma digital.
– Pueden ser electrónicos, mecánicos, magnéticos o neumáticos
! Sistema analógico
– Combinación de dispositivos diseñados para
manipular cantidades físicas representadas en forma analógica.
Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 4
Ventajas de los sistemas digitales
! Generalmente son más fáciles de diseñar
! Facilidad para almacenar la información
! Mayor exactitud y precisión
! Pueden ser programables
! Mayor inmunidad al ruido
! Mayor densidad de circuitería en las pastillas de circuitos integrados
Limitaciones de los sistemas digitales
El mundo real es fundamentalmente analógico, así que es necesario:
1. Convertir las entradas analógicas del sistema a digital.
2. Procesar la información digital.
3. Convertir las salidas digitales a analógicas.
Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 6
Ej: Diagrama de bloques de un controlador digital
Dispositivo de medición Cantidad a
medir (analógica)
Convertidor analógico digital
Procesamiento digital
Convertidor
digital analógico Controlador
Señal de control (analógica)
Señal analógica Señal digital
Representación de dígitos binarios
C. decargado C. Cargado
Memoria dinámica
Flujo invertido Sin flujo inv.
Cinta o disco magnétcio
Con luz Sin luz
Fibras ópticas
3.0 – 5.0 V 0 – 2.0 V
Lógica CMOS
2.0 – 5.0 V 0 – 0.8 V
Lógica TTL
Cto. cerrado Cto. abierto
Lógica de relevadores
1 lógico 0 lógico
Tecnología
Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 8
Compuertas lógicas (1)
! Compuertas básicas:
– Son los circuitos que implementan las funciones lógicas básicas. Permiten construir cualquier función lógica como combinación de éstos
! Compuerta AND ( • )
– La salida es 1 lógico si todas las entradas son 1 lógico
! Compuerta OR ( + )
– La salida es 1 lógico si una o más entradas son 1 lógico
! Compuerta NOT ( ‘ ó ¯ )
– La salida es el inverso o complemento de la entrada
Compuertas lógicas (2)
1 1
1
0 0
1
0 1
0
0 0
0
A.B B
A
Compuerta AND
Tabla de verdad
0 1
1 0
A’
A
Compuerta NOT
Tabla de verdad
1 1
1
1 0
1
1 1
0
0 0
0
A+B B
A
Compuerta OR
Tabla de verdad
Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 10
Compuertas lógicas (3)
1 1
1
1 0
1
1 1
0
0 0
0
(A+B)’
B A
1 1
1
0 0
1
0 1
0
0 0
0
(A.B)’
B A
Compuerta NAND
Tabla de verdad
Compuerta XOR
Tabla de verdad Compuerta NOR
Tabla de verdad
0 1
1
1 0
1
1 1
0
0 0
0
A⊕⊕⊕⊕B B
A
Circuitos Integrados digitales (1)
Los circuitos integrados se clasifican de acuerdo al número de compuertas que poseen:
! Integración a pequeña escala (SSI – small scale integration)
– 1 a 20 compuertas/chip – Compuertas y flipflops
– Conocidos también como glue logic (lógica de unión)
Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 12
Circuitos Integrados Digitales (2)
! Integración a mediana escala (MSI – medium scale integration)
– 20 a 200 compuertas
– Decodificadores, multiplexores, contadores, etc.
! Integración a larga escala (LSI – large scale integration)
– 200 a 20000 compuertas
– Memorias, microprocesadores de 8 bits, dispositivos de lógica programable.
Circuitos Integrados Digitales (3)
! Integración a muy grande escala (VLSI – very large scale integration)
– Se define un VLSI de acuerdo a la cantidad de transistores, no de compuertas
– Cualquier IC con máas de 500K transistores es un VLSI
– Memorias > 1 Mb, microprocesadores de 32 bits, ASICs (aplication specific integrated circuit), DSPs (digital signal processors)
Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 14
Tipos de circuitos integrados digitales
! Los dispositivos lógicos mas comúnmente utilizados se dividen en dos categorías:
! Bipolar
– TTL (series 74, 74LS, 74AS, 74ALS, 74F) – RTL, DTL, ECL, I2L
! MOS
– CMOS (series 4000xx, 74C, 74HC, 74HCT) – pMOS, nMOS
Tipos de circuitos integrados digitales
! Además se tienen diferentes categorías de dispositivos:
– Chips discretos de pequeña y mediana escala de integración (SSI y MSI)
• Compuertas, flipflops, contadores y otras funciones – Dispositivos lógicos programables (PLDs)
• Memorias no volátiles.
• Memorias de lectura/escritura
• PLA, PAL, GAL
Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 16
Definiciones (1)
! Nivel lógico:
– Es un rango de valores de voltaje, corriente o
culaquier otra cantidad física, que representa el valor de dígito binario (1 ó 0).
– En CMOS, TTL y ECL los niveles lógicos se representan mediante rangos de voltaje
– El nivel ALTO (H) es el rango más positivo – El nivel BAJO (L) es el rango más negativo
! Inmunidad al ruido:
– Capacidad de un circuito lógico para soportar señales de ruido superpuestas al nivel lógico en su entrada
Definiciones (2)
! Voltaje de entrada mínimo de nivel alto (VIHmin)
– Mínimo valor de entrada garantizado para ser reconocido como un ALTO
! Voltaje de salida mínimo de nivel alto (VOHmin)
– Mínimo valor de salida garantizado en el estado ALTO
! Voltaje de entrada máximo de nivel bajo (VILmax)
– Máximo valor de entrada garantizado para ser reconocido como un BAJO
! Voltaje de salida máximo de nivel bajo (VOLmax)
– Máximo valor de salida garantizado en el estado BAJO
Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 18
Definiciones (3)
! Niveles lógicos y márgenes de ruido
VOLmax VLmin VOHmin
VIHmin VILmix VHmax
SALIDA ENTRADA
Margen de ruido CD
Estado alto
Margen de ruido CD
Estado bajo Nivel
ALTO
Nivel BAJO
Tema I
Circuitos Digitales I
Sistemas Numéricos y
Códigos
Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 20
Sistemas numéricos digitales
! Los más utilizados son:
– Sistema decimal (base 10) – Sistema binario (base 2) – Sistema octal (base 8)
– Sistema hexadecimal (base 16)
! Estos sistemas son posicionales
– El número se representa como una cadena de dígitos donde cada posición tiene un peso asociado (una potencia de la base del sistema, correspondiente a la posición)
Sistema decimal (1)
! Consiste de 10 símbolos : 0,1,2,...9
! Utilizado en el día a día por las personas
! Ejemplo:
3
105
5
104
2
103
0
102
7
101
. 9
10-1
8
10-2
4
10-3
Dígito Más Significativo
(MSD)
Punto decimal Dígito Menos Significativo
(LSD)
Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 22
Sistema decimal (2)
! En general, un número en decimal con p dígitos a la izquierda del punto decimal y n dígitos a la derecha del punto decimal se representa como:
dp-1 dp-2 …d1d0 .d-1 d-2 … d-n
! El valor del número viene dado por:
∑ ∑
∑ ∑
−−−−−−−−
====
⋅⋅⋅⋅
==== 1 10
p
n i
i
di
D
Sistema binario (1)
! Consiste de 2 símbolos : 0,1
– A c/u de estos símbolos se le denomina dígitos binario (binary digit = bit)
! Utilizado en los sistemas digitales
! Ejemplo:
1
25
1
24
0
23
0
22
1
21
. 1
2-1
0
2-2
1
2-3
Bit Más Significativo
Punto binario Bit Menos Significativo
Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 24
Sistema binario (2)
! En general, un número en binario con p dígitos a la izquierda del punto binario y n dígitos a la derecha del punto binario se representa como:
dp-1 dp-2 …d1d0 .d-1 d-2 … d-n
! El valor del número viene dado por:
∑ ∑
∑ ∑
−−−−−−−−
====
⋅⋅⋅⋅
==== 1 2
p
n i
i
di
B
Sistema octal y hexadecimal
! Utilizados como representaciones breves para números con múltiples dígitos binarios (bits), dado que sus bases (8 y 16) son
potencias de 2
– La conversión de binario a octal se realiza agrupando bits de 3 en tres a partir del punto binario (hacia la derecha o izquierda) agregando ceros para obtener múltiplos de 3 bits.
– La conversión de binario a hexadecimal es similar, pero agrupando bits de 4 en 4.
Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 26
Sistema octal y hexadecimal
! Ejemplos:
110112 = 0110112 = 338
111010.011012 = 111010.0110102 = 72.328
110112 = 000110112 = 1B16
111010.011012 = 00111010.011010002 = 3A.6816
Conversión de decimal a base r (1)
! Conversión de la parte entera:
Si expandimos la fórmula:
Y la escribimos de manera anidada, obtenemos:
0 1
2 2
1 1
1
0
10
d r d r
d r
d d D
p p
p p
p
i
i i
+
⋅ + +
⋅ +
⋅
=
⋅
=
− −
− −
−
∑
=L
0 1
2
1) ) ) )
(
(( d r d r r d r d
D = L p− ⋅ + p− ⋅ +L L + ⋅ +
Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 28
Conversión de decimal a baser r (2)
Nota que si dividimos la expresión anterior por r obtenemos como residuo a d0 y como cociente la expresión:
Esta última expresión tiene la misma forma que la obtenida inicialmente. Sucesivas divisiones por r a cada nuevo cociente obtenido nos darán como residuo los dígitos d1, d2, . . . dp-1
0 1
2
1) ) ) )
(
(( d r d r r d r d
D = L p− ⋅ + p− ⋅ +L L + ⋅ +
1 2
1) ) )
(
(( d r d r r d
Q = L p− ⋅ + p− ⋅ +L L +
Suma y resta de números binarios
! Se efectúan del mismo modo que en decimal, usando acarreos y préstamos
! Cuando se necesiten números negativos, es necesario buscar una representación
adecuada:
– Representación de magnitud y signo:
• Utilizada en la vida diaria
– Sistemas numéricos en complemento
• Utilizada en sistemas digitales
Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 30
Tabla de suma y resta en binario
cent o bent x y csal s bsal d
0 0 0 0 0 0 0
0 0 1 0 1 1 1
0 1 0 0 1 0 1
0 1 1 1 0 0 0
1 0 0 0 1 1 1
1 0 1 1 0 1 0
1 1 0 1 0 0 0
1 1 1 1 1 1 1
! Suma:
Acarreo
X 104 01101000
Y +235 + 11101011
X+Y 339
! Resta:
Préstamo
X 150 10010110
Y - 67 - 01000011
Ejemplo de sumas y restas en binario
0
1 0
1 0
0 0
0 1
1 0
0 1
1 1
0 1
1
0 1 1 0 00 0 01
Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 32
Representación de números negativos
! Representación de magnitud y signo
! Representación de complemento
Representación de magnitud y signo
! Un número consiste de una magnitud y un símbolo que indica si la magnitud es positiva o negativa.
! En el sistema binario, se utiliza un bit extra (bit de signo)
– Generalmente es el MSB
– MSB=0: positivo, MSB=1: negativo
– Un entero de n bits en esta representación está en el rango :
-(2n – 1 – 1) hasta +(2n – 1 – 1)
Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 34
Representación de complemento
! En este caso, el número se hace negativo al tomar su complemento (definido por el
sistema)
! Dos formas:
– Complemento de base
– Complemento de base disminuida (base – 1)
! Se trabaja con un número fijo de dígitos n
! Es posible incrementar el número de dígitos mediante la extensión del signo
Complemento de base
! El complemento de base de un número D de n dígitos es:
D’ = rn – D
! Si el complemento de un dígito d se define como:
d’ = (r – 1) – d , entonces D’ puede obtenerse más fácilmente al complementar los dígitos individuales y sumarle 1 al resultado ya que:
D’ = (rn – 1) – D + 1
! Nota que (rn – 1) tiene la forma: mmmm...m, donde
Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 36
Complemento de base - Ejemplos
D = 347610 (n = 4) D’ = 104 – 3476 = 652410
! O también :
3’ = 9 – 3 = 6; 4’ = 5; 7’ = 2; 6’ = 3 D’ = 6523 + 1 = 6524
D = 1010102
D’ = 010101 + 1 = 0101102
Complemento de base disminuida
! El complemento de base disminuida de un número D de n dígitos es:
! D’ = rn – 1 – D
! Puede obtenerse más fácilmente al complementar los dígitos individuales.
Existe una sola representación del cero usando complementos de base y de base disminuida.
Existe un número negativo extra en la representación de complemento de base.
Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 38
Complemento de base disminuida - Ejemplos
D = 347610 (n = 4)
D’ = 104 – 1 – 3476 = 652310
! O también :
3’ = 9 – 3 = 6; 4’ = 5; 7’ = 2; 6’ = 3 D’ = 652310
D = 1010102 D’ = 0101012
Complemento a dos
! Este es el complemento de base para números binarios
! En este caso, el MSB sirve como bit de signo
! (MSB = 1 implica que el número es negativo)
! En el sistema posicional, el peso del MSB es ahora –2n – 1 (para un número de n bits)
! Rango de números representables:
-(2n – 1) hasta +(2n – 1 – 1)
Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 40
Complemento a dos – ejemplos (8 bits)
! 2310 = 000101112
Complementando los bits:
11101000 +1
111010012 = - 2310
! 11810 = 011101102
Complementando los bits:
10001001 +1
100010102 = - 11810
Sumas y restas en complemento a dos
! Note que los números negativos y positivos en complemento a dos están ordenados de modo que al sumar 1 a cualquier número, ignorando el acarreo final, se obtiene el siguiente número.
! Esta una ventaja del sistema de complemento a dos sobre otras representaciones para números negativos.
000
001
010
011 100
101 110
111 +0
+1
+2
+3 -4
-3 -2
-1
Resta de números positivos
Suma de números positivos
Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 42
Desbordamiento (overflow)
! Ocurre cuando el resultado excede el intervalo del sistema numérico.
– Sólo la suma de dos números del mismo signo puede producir desbordamiento.
! Una suma produce desbordamiento si ambos sumandos tienen el mismo signo y la suma tiene signo diferente al de los sumandos.
– La regla anterior es equivalente a decir que ocurre
desbordamiento si los acarreos de entrada y salida de la posición del bit de signo son diferentes (ver tabla de sumas). Esta es la forma común de verificación de desbordamiento en sistemas digitales.
Resta de números en complemento a dos
! Note que la suma de números en complemento a dos se realiza como si éstos fueran números
binarios sin signo, pero interpretando el resultado en complemento a dos y tomando en cuenta que puede ocurrir desborde.
! Para realizar la resta del mismo modo, lo que se hace es sumar al minuendo el complemento a dos (el negativo) del sustraendo. Debe igualmente
interpretarse el resultado en complemento a dos y tomar en cuenta la posibilidad de desborde.
Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 44
Códigos binarios
! Un código es un conjunto de cadenas de n bits donde las diferentes cadenas
representan números, letras, palabras, etc.
– A una combinación particular de valores de n bits se le denomina palabra de código
! Código decimal codificado en binario (BCD):
Se obtiene al representar cada dígito decimal con su equivalente binario
– Se necesitan 4 bits por cada dígito decimal
Código BCD
! Es común emplear un byte (8 bits) para representar un número decimal de dos
dígitos (de 00 a 99). A esto se le denomina representación BCD empacada
! Ejemplos:
65410 = 0110 0101 0100 (BCD)
8710 = 10000111 (BCD empacado)
Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 46
El Código Gray
! Es un código perteneciente a la clase de códigos de cambio mínimo
! Sólo cambia un bit entre cada par de palabras de código sucesivas
! Utilizado en situaciones en las cuales otros códigos producirían resultados erróneos
! Ej: Codificación de posición mecánica
! El código Gray es un código reflejado
Construcción recursiva de un código Gray
1. Un código Gray de un bit tiene dos palabras: 0 y 1.
2. Las primeras 2n palabras de un código Gray de (n+1) bits son iguales a las palabras de un código Gray de n bits escritas en orden y agregándoles un “0” en el MSB.
3. Las últimas 2n palabras de un código Gray de
(n+1) bits son iguales a las palabras de un código Gray de n bits escritas en orden inverso y
agregándoles un “1” en el MSB.
Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 48
Código Gray de 3 bits
100 111
7
101 110
6
111 101
5
110 100
4
010 011
3
011 010
2
001 001
1
000 000
0
Gray Binario
Decimal
Codificación de posición mecánica
000
001
011
110 111
101
010 100
0 0 1
000
001
010
100 101
110
011 111
0 0 1 Disco mecánico de
codificación mediante un código binario de 3 bits
Disco mecánico de codificación mediante un
código Gray de 3 bits
Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 50
Conversión binario ↔ Gray
bn-1 bn-2 b1 b0 gn-1 gn-2 g1 g0
0 , 1 , 1 ,
2 para
1 para
: binario a
Gray
1 para
2 2
, 1 , 0 para
: Gray a
Binario
1 ,
,
1
L L
−
−
=
⊕
=
−
=
=
−
=
=
−
=
⊕
=
+ +
n n
i b
g b
n i g
b
n i b
g
n i
b b
g
i i
i
i i
i i
i i
i
0 1
1
1 0
1
1 1
0
0 0
0
a⊕⊕⊕⊕b b
a
Suma módulo-2
Código ASCII
! ASCII = American Standard Code for Information Interchange.
! Es el código utilizado más ampliamente para
representar caracteres (letras, símbolos, números...)
! Cada palabra de código consiste en una cadena de 7 bits, para un total de 128 caracteres diferentes
! El código ASCII extendido utiliza un byte (8 bits) por cada palabra de código para un total de 256
caracteres
Tabla ASCII
Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 52
Otros códigos
! Códigos para acciones, condiciones o estados
– Utilizados por ejemplo en controles de máquinas, en semáforos (por ejemplo para codificar las luces o estados).
! Código 1 de n
! Código 1 de n invertido
! Código m de n
! Códigos de detección y corrección de errores
Detección y Corrección de Errores
! Error: alteración de datos desde su valor correcto a algún otro valor.
! Los errores ocurren debido a las limitaciones del medio físico, interferencias y ruido.
! Existen dos estrategias principales para la
detección y corrección de errores en sistemas digitales:
! Control de errores hacia adelante (Forward Error Correction, FEC)
! Control de errores por retroalimentación o
Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 54
Control de Errores hacia adelante (FEC)
! Cada cadena transmitida contiene información adicional (redundancia) que permite detectar y determinar la posición del error.
! La cadena se corrige invirtiendo los símbolos en las posiciones erróneas.
! El número de bits requerido para lograr un control de errores confiable aumenta conforme al número de bits de información.
! La complejidad del sistema aumenta con la capacidad de corrección del sistema.
Control de Errores hacia adelante (FEC)
Métodos típicos de FEC:
!Códigos de bloque (Ej. Hamming, BCH, Reed-Solomon)
•El procesamiento de datos se realiza por bloques, uno a la vez
•Usado principalmente en la corrección de errores en ráfagas
! Códigos convolucionales (Ej. Viterbi)
Información codificador
decodificador
Errores o ruido durante la transmisión Información redundancia
Información
Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 56
Control de Errores por realimentación
! Cada cadena transmitida contiene sólo la información adicional que permite detectar la presencia de errores.
! Se emplea un esquema de control de retransmisiones para solicitar el envio de otra copia de la información.
! Consiste de dos partes:
1. Las técnicas uitlizadas para lograr una detección confiable.
! Paridad, suma de chequeo, verificación de redundancia cíclica (CRC)
2. Los algoritmos de control para los esquemas de retransmisión asociados.
Distancia de Hamming y capacidad de detección y corrección de errores
! Distancia de Hamming: Número de posiciones de bits en las cuales dos palabras del mismo código difieren.
! Distancia de Hamming mínima: La mínima de todas las distancias Hamming entre palabras de un mismo código.
! Para detectar e errores se requiere un código de distancia mínima d = e +1
! Para corregir c errores se necesita de un código de distancia mínima de d = 2c + 1
! Para corregir c errores y además detectar d errores
adicionales, se necesita de un código de distancia mínima d = 2c + d + 1
Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 58
Detección de errores por paridad
! Se agrega un bit a cada palabra para que el número de unos en la palabra sea par (o impar)
! Esto hace que la distancia mínima sea 2
Códigos de Hamming
! Códigos con d = 3 y una estructura tal que permite detectar y corregir un error, o bien detectar dos errores.
! Para codificar k bits de información se requieren i bits de paridad, tal que k ≤ 2i – i – 1.
! Longitud máxima de la palabra n = 2i – 1.
! Los bits de paridad se generan combinando los bits de información en posiciones tales que sea posible localizar el bit erróneo.
Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 60
Construcción de un código de Hamming
! Numerar las posiciones de bit desde 1 hasta 2i – 1.
! Reservar las posiciones que son potencia de 2 (1,2,4,8,16
…) para los bits de paridad (pj).
! El resto de las posiciones se usa para los bits de información (bk).
! Cada bit de paridad pj se elige de modo que complete la paridad par con todas las posiciones bk cuyo número equivalente en binario tenga un 1 en la posición de peso j.
! Por ejemplo el bit de paridad 1 (001) se debe agrupar con las posiciones 3(001), 5(101), 7(111) ya que todas tienen un 1 en la posición de peso 1 (primer bit).
Ejemplo
! Código de Hamming para codificar palabras de 4 bits.
! En este caso, i = 3. Se numeran las posiciones del 1 al 7. Se reservan las posiciones 1,2 y 4 para los bits de paridad.
! Los bits de paridad se calculan así:
! Palabra ordenada en Forma No Sistemática:
! Palabra ordenada en Forma Sistemática:
7 6
5 4
7 6
3 2
7 5
3
1 b b b p b b b p b b b
p = ⊕ ⊕ = ⊕ ⊕ = ⊕ ⊕
1 2
3 4 5
6
7 b b p b p p
b
p p
p b b b b