Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ejercicio 5.1. Considera el código binario de triple repetición C: (Z 2)3 → (Z 2)9, definido por
C(a1, a2, a3) = (a1, a2, a3, a1, a2, a3, a1, a2, a3).
Calcula su longitud, dimensión, su matriz generadora y el subespacio código.
Solución. La longitud de C es 9 (la dimensión del espacio vectorial de llegada), la dimensión
de C es 3 (la dimensión del espacio vectorial de salida y del subespacio código). La matriz
generadora es G,
1 0 0 1 0 0 1 0 0
Gt = 0 1 0 0 1 0 0 1 0
0 0 1 0 0 1 0 0 1
1 0 0 0 1 0 1 0 1
Gt = 0 1 0 0 1 0 0 1 1
0 0 1 0 0 1 1 0 1
.
0 0 0 1 0 1 0 1 1
El código C es un código sistemático pues las cuatro primeras filas de la matriz G forman la
matriz identidad de orden 4. Al ser sistemático es separable, entre las filas de G están las filas
de la matriz identidad de orden 4.
Ejercicio 5.3. Justifica si la siguiente matriz G es una matriz generadora para un código lineal
binario. En caso afirmativo, indica cuál es su longitud y su dimensión.
0 1 0 0 1 1 1 0 1
Gt = 1 0 0 1 0 1 1 0 1 .
1 0 1 1 0 0 1 1 0
1 0 1 1 0 1 1 0 1
Solución. G es una matriz de orden 9 por 4, calculando una matriz escalonada equivalente a G
se sabe que su rango es 4 (máximo). La longitud del código es 9 y la dimensión es 4.
Ejercicio 5.4. Calcula una matriz control de paridad para los códigos de los ejercicios 5.1, 5.2
y 5.3.
Solución. i) El código del ejercicio 5.1 es sistemático. Una matriz control de paridad es H
1 0 0 1 0 0 0 0 0
0 1 0 0 1 0 0 0 0
1 0 0 1 0 0 1 0 0
H = I3 I6 = 0 0 1 0 0 1 0 0 0
rg 0 1 0 0 1 0 0 1 0 = 4, I3 1 0 0 0 0 0 1 0 0
0 0 1 0 0 1 0 0 1 0 1 0 0 0 0 0 1 0
x1 x2 x3 x4 x5 x6 x7 x8 x9 0 0 1 0 0 0 0 0 1
ii) El código del ejercicio 5.2 es nuevamente sistemático. Una matriz control de paridad es H
1 0 0 0 1 0 1 0 1
0 1 0 0 1 0 0 1 1 1 1 0 0 1 0 0 0 0
rg 0 0 1 0 0 1 1 0 1 = 4, 0 0 1 1 0 1 0 0 0
H= 1 0 1 0 0 0 1 0 0
0 0 0 1 0 1 0 1 1
x1 x2 x3 x4 x5 x6 x7 x8 x9 0 1 0 1 0 0 0 1 0
1 1 1 1 0 0 0 0 1
iii) El código del ejercicio 3 no es un código separable. Una matriz equivalente por filas a G
es G3
1 0 0 1 0 0 1 1 0 0 1 1 1
G3 = 0 1 0 0 1 0 1 1 0 = 1 0 1 1 Gt
0 0 1 0 0 0 0 0 0 0 1 0 1
0 0 0 0 0 1 0 1 1 0 0 1 1
Si se utiliza la matriz G3, los cálculos son
1 0 0 1 0 0 1 1 0 1 0 0 0 1 0 1 1 0
G 0 1 0 0 1 0 1 1 0 0 1 0 0 0 1 1 1 0
rango 3 = rango 0 0 1 0 0 0 0 0 0 = rango 0 0 1 0 0 0 0 0 0 =4
x
0 0 0 0 0 1 0 1 1 0 0 0 1 0 0 0 1 1
x1 x2 x3 x4 x5 x6 x7 x8 x9 x1 x2 x3 x6 x4 x5 x7 x8 x9
1 0 0 1 0 0 0 0 0
0 1 0 0 1 0 0 0 0
H= 1 1 0 0 0 0 1 0 0
1 1 0 0 0 1 0 1 0
0 0 0 0 0 1 0 0 1
Ejercicio 5.5. Calcula una matriz control de paridad para el código lineal ternario con matriz
generadora G,
⎛1 2021 0⎞
⎜ ⎟
G t = ⎜ 0 2 1 1 1 1 ⎟.
⎜021002⎟
⎝ ⎠
Solución. Una matriz escalonada equivalente a G es
1 1 1 1 0 2 0 2 0
0 0 2 Gt = 0 1 2 0 0 1 ,
0 1 2 0 0 0 1 1 2
1 1 1 0 0 0
H= 1 0 0 2 1 0 .
0 2 0 1 0 1
Ejercicio 5.6. Calcula una matriz control de paridad para el código lineal sobre Z 5 con matriz
generadora G,
1 2 4 0 3
Gt = 0 2 1 4 1 .
2 0 3 1 4
1 0 0 0 2
G1 = 0 1 0 1 3
0 0 1 2 0
H= 0 4 3 1 0
3 2 0 0 1
Ejercicio 5.7. Calcula el peso de Hamming de cada uno de los siguientes vectores:
i) En (Z 2)5, v1 = 10101, v2 = 11000, v3 = 01110.
ii) En (Z 3)4, w1 = 2121, w2 = 1201, w3 = 0201.
Solución. Aplicar la definición de peso Hamming de un vector.
i) w(10101) = 3, w(11000) = 2, w(01110) = 3.
ii) w(2121) = 4, w(1201) = 3, w(0201) = 2.
Ejercicio 5.8. a) Calcula el peso mínimo del código lineal binario de triple repetición del
ejercicio 5.1.
b) Calcula el peso mínimo del código lineal ternario C con matriz generadora G.
Gt = 1 0 1 1 .
0 1 1 2
Ejercicio 5.9. a) Calcula una tabla de síndromes para el código binario con matriz control de
paridad H1 y utilízala para descodificar los siguientes vectores: 0000011, 1111111, 1100110,
1010111.
b) Calcula una tabla de síndromes para el código ternario con matriz control de paridad H2 y
utilízala para descodificar los siguientes vectores: 2121, 2222, 1002 y 0021.
⎛1 1 1 0 1 0 0 ⎞
⎜ ⎟ ⎛1 2 0 1⎞
H1 = ⎜ 1 1 0 1 0 1 0 ⎟ H 2 = ⎜ ⎟
⎜1 0 1 1 0 0 1 ⎟ ⎝0 2 1 2⎠
⎝ ⎠
Representante Síndrome
0000000 000
1000000 111
0100000 110
0010000 101
0001000 011
0000100 100
0000010 010
0000001 001
Ejercicio 5.10. Construye una tabla de síndromes para el código lineal binario C con matriz
generadora G y matriz control de paridad H. Descodifica los vectores 11111 y 01011.
1 0 1 0 0
Gt = 1 0 1 1 0 , H= 1 1 0 1 0 .
0 1 0 1 1
0 1 0 0 1
Da un ejemplo de:
i) producirse un error doble y ser corregido;
ii) producirse un error doble y no ser corregido.
S(11111) = 010, el error es 00010 y se descodifica como el vector 11101, S(01011) = 000,
no se ha producido ningún error.
Supongamos que se transmite el vector c = 11101 y se recibe r = 00101, su síndrome es 101,
el error es e = 11000 y se descodifica correctamente como c. Por otra parte, si se recibe r’ =
11110, su síndrome es 011, el error (supuestamente) es 01000 y se descodifica (incorrecta-
mente) como c’ = 10110.
Ejercicio 5.11. Sea C un código lineal binario con matriz control de paridad H. Justifica cuál
es la longitud y la dimensión de C. Calcula una tabla de síndromes para el código y
descodifica el vector r = 01111.
1 0 0 0 1
H= 0 1 0 1 0 .
0 0 1 0 0
Representante Síndrome
00000 000
10000 100
01000 010
00100 001
00010 010
00001 001
No quedan vectores de peso uno, continuamos con los vectores de peso dos
11000 110
10100 101
10010 110
10001 000
01100 011
01010 000
01001 110
00110 011
00101 101
00011 110
No quedan vectores de peso dos, continuamos con los vectores de peso tres
11100 111
Representante Síndrome
00000 000
10000 100
01000 010
00100 001
11000 110
10100 101
01100 011
11100 111
Solución. i) Si el peso mínimo del código es cinco entonces corrige los errores de peso menos
o igual que 2 porque 5 = 2 · 2 + 1.
ii) Para corregir seis errores el código debe un peso mínimo mayor que 12 = 2 · 6.
iii) Para detectar cuatro errores el código debe un peso mínimo mayor que 4.
i) En un código lineal de peso mínimo 3, si dos vectores tienen el mismo síndrome entonces al
menos tres de sus coordenadas deben ser diferentes.
ii) Si H, una matriz control de paridad de un código lineal tiene dos columnas iguales
entonces el peso mínimo del código es a lo sumo dos.
iii) Un código lineal en el que dos de sus vectores código se diferencian solo en tres
coordenadas, no corrige errores dobles.
iv) Si cada par de vectores de un código lineal se diferencian en al menos tres coordenadas, el
código detecta errores dobles.
Ejercicio 5.14. Codifica utilizando los códigos de Hamming H(3, 2) y HA(3, 2) los siguientes
vectores:
m1 = 1011, m2 = 0111, m3 = 1010, m4 = 1110.
Solución. Las matrices generadoras de los códigos H(3, 2) y HA(3, 2) son respectivamente:
1 1 1 0 0 0 0 1 1 1 0 0 0 0 1
G1t = 1 0 0 1 1 0 0 y G2 t = 1 0 0 1 1 0 0 1
0 1 0 1 0 1 0 0 1 0 1 0 1 0 1
1 1 0 1 0 0 1 1 1 0 1 0 0 1 0
Los vectores código para H(3, 2) son C(1011) = 0110011, C(0111) = 0001111, C(0011) =
1000011, C(1110) = 0010110.
Ejercicio 5.15. Descodifica los siguientes vectores recibidos y calcula el mensaje teniendo en
cuenta que se ha utilizado el código de Hamming H(3, 2).
r1 = 1101011, r2 = 1111111, r3 = 0011010, r4 = 0101011, r5 = 0100011, r6 = 0001011.
Solución.
S(1101011) = 110, e = 0000010, c = 1101001, m = 0001.
S(1111111) = 000, e = 0000000, c = 1111111, m = 1111.
S(0011010) = 001, e = 1000000, c = 1011010, m = 1010.
S(0101011) = 111, e = 0000001, c = 0101010, m = 0010.
S(0100011) = 011, e = 0010000, c = 0110011, m = 1011.
S(0001011) = 101, e = 0000100, c = 0001111, m = 0111.
Ejercicio 5.16. Descodifica los siguientes vectores recibidos y calcula el mensaje teniendo en
cuenta que se ha utilizado el código de Hamming HA(3, 2).
r1 = 10101110, r2 = 01101111, r3 = 10000101,
r4 = 00101100, r5 = 10010110, r6 = 11111000.
Solución. S(10101110) = 1101, e = 00000100, c = 10101010, m = 1101.
S(01101111) = 1010, error no corregible.
S(10000101) = 1111, e = 00000010, c = 10000111, m = 0011.
S(00101100) = 0001, e = 00000001, c = 00101101, m = 1110.
S(10010110) = 1000, error no corregible.
S(11111000) = 0011, e = 10000000, c = 01111000, m = 1100.
Ejercicio 5.17. Descodifica los siguientes vectores recibidos y calcula el mensaje teniendo en
cuenta que se ha utilizado el código de Hamming H(4, 2).
01010 01010 01000 11110 00101 10110.
Cada cinco bits se ha añadido un espacio para facilitar la lectura.
Solución. S(01010 01010 01000) = 0100, e = 00010 00000 00000, c = 01000 01010 01000, m
= 00011 00100 0.
S(11110 00101 10110) = 1110, e = 00000 00000 00010, c = 11110 00101 10100, m =
10000 11010 0.
⎜ 1 0 ⎟
⎜ ⎟
⎜ 0 1 ⎟
⎝ ⎠
un código lineal binario C, ¿cuál es la dimensión y la longitud del código? Encuentra las
palabras código, ¿cuál es el peso mínimo y la capacidad correctora de C?
⎛1 1 1 0 0⎞
⎜ ⎟
Demuestra que H = ⎜ 1 0 0 1 0 ⎟ es una matriz control de paridad para G. Construye una
⎜0 1 0 0 1⎟
⎝ ⎠
tabla de síndromes y descodifica la palabra recibida r = 00101.
2.- Sea C: (Z 2)4 → (Z 2)7, un código lineal con matriz generadora G, donde
⎛ 1 0 1 0 ⎞
⎜ ⎟
⎜ 0 1 0 0 ⎟
⎜ 0 0 0 1 ⎟
G = ⎜ 0 0 1 0 ⎟
⎜ ⎟
⎜ 1 1 0 0 ⎟
⎜ 0 1 1 0 ⎟
⎜ 0 0 1 1 ⎟
⎝ ⎠
Calcula una matriz control de paridad H. Justifica si la palabra r = 0000111 es una palabra
código.
3.- Para el código lineal C: (Z 3)3 → (Z 3)5 definido por C(a, b, c) = (a, a + b + c, b, a + c, c)
Calcula el número de vectores que se pueden codificar. Obtén una aplicación síndrome dando
H, una matriz control de paridad del código. Calculando el peso mínimo de este código
determina qué tipo de errores detecta (simples, dobles…) y qué errores corrige (simples,
dobles…).
5.- Para un código lineal binario C, consideramos H una matriz control de paridad y la
siguiente tabla incompleta de síndromes
Representante Síndrome
0000000 000
⎛0 0 0 110 1⎞
⎜ ⎟ 0110000 001
H = ⎜ 0 1 1 0 1 1 1 ⎟
⎜1 0 1 110 0⎟ 0001100 010
⎝ ⎠
1100000 011
0000011 100
0000110 101
0011000 110
Utiliza la tabla anterior para descodificar la palabra r = 0011111. ¿Se puede asignar al
síndrome 111 un representante de peso 2? Justifica la respuesta.
6.- Para un código lineal binario C, consideramos H una matriz control de paridad y la
siguiente tabla incompleta de síndromes
Representante Síndrome
00000 000
⎛ 1 0 1 0 1⎞
⎜ ⎟ 10000 101
H = ⎜ 0 1 1 1 1 ⎟
⎜ 1 0 0 1 1⎟ 01000 010
⎝ ⎠
00100 110
00010 011
00001 111
Utiliza la tabla anterior para descodificar, cuando sea posible, las palabras r1 = 01101, y r2 =
10101. Cuando no sea posible debes indicar por qué.
7.- a) Calcula la distancia Hamming entre las palabras ternarias 10211 y 21201. Haz lo mismo
con las palabras 01102 y 01212.
b) Calcula el peso Hamming de las palabras 011102 y 21201.
c) Sea C un código binario de parámetros (8, 5). Indica el orden y el rango de la matriz
generadora y la matriz control de paridad de C. ¿Qué relación se debe verificar entre ambas
matrices?
8.- Sea C: (Z 2)2 → (Z 2)6, un código lineal definido por C(a, b) = (a, b, b, a, a, a + b).
i) Justifica cuál es la longitud, la dimensión y el peso mínimo del código.
ii) Codifica la palabra 10.
iii) Descodifica la palabra r = 110010 utilizando el criterio del peso mínimo.
10.- Sea H la matriz control de paridad de un código lineal binario. Calcula la tabla de
síndromes y utilízala para descodificar las siguientes palabras: r1 = 0001101, r2 = 0111111, r3
= 1111001,
⎛0 0 0 1 111⎞
⎜ ⎟
H = ⎜ 0 1 0 0 0 1 1 ⎟ .
⎜1 0 1 0 110⎟
⎝ ⎠