Está en la página 1de 3

Código de grupo

A una función codificadora (m,n) e: Bm → Bn se le llama código de grupo si : e(B m ) =


{ e(b)|b є Bm } = Ran(e) es un subgrupo de Bn.

Teoremas
Teorema 1
Propiedad de la función distancia
Sean x, y, z elementos de : Bm :

 d(x, y)=d(y, x)
 d(x, y)≥0
 d(x, y)=0 ↔ x=y
 d(x, z) + d(z, y) ≥ d(x, y)
la distancia mínima de una función codificadora e: B m → Bn es el mínimo de las
distancias entre los distintos pares de distancias entre los distintos pares de palabras
clave; esto es Min {d(e(x), e(y)) |x, y є Bm }
Teorema 2
Una función codificadora (m, n) e: Bm → Bn puede detectar k o menos errores si y
solo si su distancia mínima es al menos k+1
Teorema 3
Sea e: Bm → Bn un código de grupo, la distancia mínima de e es el peso mínimo de
una clave distinta de cero.

Se establecen las siguientes operaciones:


- Suma módulo 2D + E:
Sea el conjunto B={0, 1} con la operación +.
Sea D=[dij] y E=[eij] matrices booleanas mxn, se define como una matriz
booleana mxn F=[fij] donde fij = dij + eij , m≥i≥1, n≥j≥1

- Producto booleano 2D * E:
Sea el conjunto B={0, 1} con la operación .
Sea D=[dij] una matriz booleana mxp y E=[eij] una matriz booleana pxn, se
define como la matriz booleana mxn F=[f ij] donde fij = di1 . e1j + di2 . e2j +…+ dip .
epj , m≥i≥1, n≥j≥1
Teorema 4
Sean D y E matrices booleanas de m x p y sea F una matriz booleana de p x n entonces:
(D + E)*F = (D*F) + (E*F)
Ahora se considera al elemento x=x 1 x2 … xn que pertenece a Bn como la matriz del 1 x
n[x1x2…xn]
Teorema 5
Sea m y n enteros negativos con m<n, r=n-m y sea H una matriz booleana de n x r,
entonces la función fH : Bn → Br definida por f:
fH(x)=x*H, x є Bn es un homomorfismo del grupo Bn → Br

Teorema 6
Sean m, n, r, H y fH, entonces N = {x є Bn / X * H = Ō} es un subgrupo normal de Bn
Sean m < n y r = n–m una matriz booleana nxr

h11 h12 … h1r

h21 h22…. h2r

. . …. .

H= hm1 hm2… hmr

1 0… 0

0 1… 0 r= n-m filas

. . … 1 nxr

Se utiliza H para definir una función de codificación eH: Bm → Bn , si b = b1 b2 …. bm

Código hamming
En los datos codificados en Hamming se pueden advertir fallos en un bit y corregirlos,
no obstante no se distingue entre fallos de 2 bits y de un bit (para lo que se utiliza
Hamming extendido). Esto representa una mejora con respecto a los códigos con bit
de paridad, que pueden advertir fallos en solo un bit, mas no pueden corregirlo.
Algoritmo:
- Posiciones se ubican en las potencias de 2 (20=1, 2, 4, 8, …)
- Resto son datos
- Cada bit de paridad calcula paridad de un conjunto de datos (no todos)
determinados por la posición del bit de paridad

Ejemplo:
Se tiene una palabra 0101001, p: bit de paridad y d: bit de dato
p1 p2 d1 p3 d4 d2 d3 p4 d5 d6 d7
000 011
0010 0011 0100 0101 0110 1000 1001 1010 1011
Posición 1 1
(2) (3) (4) (5) (6) (8) (9) (10) (11)
(1) (7)
Palabra
0 1 0 1 0 0 1
original
p1 1 0 1 1 0 1
p2 0 0 0 1 0 1
p3 0 1 0 1
p4 1 0 0 1
Palabra
+ 1 0 0 0 1 0 1 1 0 0 1
paridad

Palabra almacenada: 10001011001


Introducimos un error en un bit: 10001011000
A continuación comprobamos:
Cálculo Paridad Compro
p1 p2 d1 p3 d2 d3 d4 p4 d5 d6 d7 parida Almac. bación
d
000 010 011 101
Posició 0010 0011 0101 0110 1000 1001 1011
1 0 1 0
n (2) (3) (5) (6) (8) (9) (11)
(1) (4) (7) (10)
Palabra
0 1 0 1 0 0 0
original
0 1 Error
p1 0 0 1 1 0 0
(1)
1 0 Error
p2 1 0 0 1 0 0
(1)
0 0 Ok
p3 0 1 0 1
(0)
0 1 Error
p4 0 0 0 0
(1)

Comprobación de paridad: 1011 => error en el bit 11 => 10001011001

También podría gustarte