Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Trabajo George Artuz
Trabajo George Artuz
Trabajo De
Teoría De La Información
Estudiante:
George Brandon Artuz Villasmil
C.I: 29.931.970
Numero De Teléfono
04146893103
Códigos Detectores De Errores
Serie de códigos cuya principal característica es que permiten detectar si se ha producido o no error
en la transmisión de la palabra de código. Aunque en caso de producirse no son capaces de su
corrección inmediata, su detección evita el uso de información incorrecta. El error se soluciona
repitiendo la transmisión hasta que éste desaparezca. La ventaja de esta metodología frente a la
anterior es inmediata: el mensaje sólo se repite en caso de error.
Si en un código binario de longitud constante (como sólo nos referiremos a este tipo de códigos, a
partir de ahora obviaremos el indicar explícitamente esta característica) se utilizaran todas las
combinaciones posibles de sus n dígitos binarios (2n), resultaría imposible detectar si se ha
producido error, ya que una combinación del código se transformaría en otra que también pertenece
a él. Quiere esto decir, que la posibilidad de detectar errores se logra no utilizando todas la
combinaciones posibles, de forma que al recibir una determinada combinación se puede identificar
como errónea si no pertenece al código.
Tipos De Códigos Detectores
De los múltiples códigos detectores de error cabe destacar, de entre los detectores de un solo error, a
los de paridad y a los de peso constante.
Códigos De Paridad
Concepto De Paridad: Se dice que una combinación binaria tiene paridad par si el número de unos
de esa combinación es par. De igual forma se dice que una combinación tiene paridad impar si su
número de unos es impar.
Síntesis del código
Un código de paridad se obtiene añadiendo a las palabras de un código de distancia mínima uno, un
dígito que se denomina de paridad. Si el código que se desea obtener es de paridad par, este dígito
debe adquirir un valor tal que la paridad de cada combinación sea par. Igual criterio se aplica si el
código deseado es de paridad impar.
Ej. Sea crea un código de paridad para los dígitos decimales a partir del código BCD natural
bi = ai ∀ i ∈ [0, k] / i ≠ j bj= aj
Si la primera combinación posee m 1´s, la segunda tendrá m+1 ó m-1. Supóngase que m es par.
Entonces los respectivos bits de paridad serán bk=0 y ak=1. Si m fuera impar los bits de paridad
serían bk=1 y ak=0. En cualquier caso se cumple que bk = ak. Por lo tanto, la distancia de estas dos
combinaciones resultante es dos (bk= ak y bj= aj ).
En esta demostración se ha trabajado con códigos de paridad par. El razonamiento es el mismo si
fuese de paridad impar.
Análisis del código
Para detectar si existe o no error en la palabra de código recibida, se comprueba si ésta cumple el
criterio de paridad preestablecido, si es así se supondrá que no ha existido error en la transmisión, si
no es así es que algún dígito ha variado de valor, no podemos saber cuál es, pero sí que ha existido
error.
Ej. Supóngase que el criterio de paridad del código usado es par. Entonces si se recibe:
10001 Su paridad es par ⇒ será correcta.
10000 Su paridad es impar ⇒ será incorrecta.
01110 Su paridad es impar ⇒ será incorrecta.
01100 Su paridad es par ⇒ será correcta.
Como comentario final se puede añadir que por la forma de operar de estos códigos, permitirán la
detección de error siempre que el número de dígitos binarios que varíen sea impar.
Códigos de peso constante
Se denomina peso de una combinación binaria al número de unos que posee. Entonces, los códigos
de peso constante serán aquellos cuyas combinaciones tienen siempre la misma cantidad de unos.
Entre estos códigos de peso constante se encuentran los BCD 2 entre 5 y biquinario o 2 entre 7, que
es, además ponderado:
Se puede comprobar que estos códigos poseen una distancia mínima de dos. El error se detecta
cuando la combinación recibida tenga un número de unos distinto al peso del código usado.
Se puede añadir el mismo comentario que a los de paridad.
Ejemplos De Códigos Detectores De Errores
Un objetivo en las conexiones rdsi es que la ber en un canal de 64 kbps debe ser menor que 10-
6 para por lo menos el 90% de los intervalos observados de 1 minuto de duración:
Si los requisitos son menos exigentes: en el mejor de los casos, una trama con un bit erróneo no
detectado ocurre por cada día de funcionamiento continuo en un canal de 64 kbps.
Si la longitud de la trama es de 1000 bits.
El número de tramas que se pueden transmitir por día es 5,529 x 106:
La tasa de tramas erróneas es: p2 = 1/(5,529 x 106) = 0,18 x 10-6.
Si Pb = 10-6:
p1 = (0,999999)1000 = 0,999.
p2 = 10-3:
•está tres órdenes de magnitud por encima de lo requerido.
Esto justifica usar técnicas para detección de errores
Distancia Hamming Y Decodificación Por Distancia Mínima
Se considera:
Esto significa que f(w) tiene la propiedad de que no hay ninguna otra palabra del código con mayor
probabilidad de haber sido enviada:
Si esto se cumple se dice que f es una regla de decisión de probabilidad máxima.
Si se usa un BSC:
No conocemos el valor de 1-p.
No se calculan probabilidades, se ve cuál es la palabra de código más próxima a la palabra recibida:
Esto coincide, para un BSC, con la descodificación de probabilidad máxima.
Proposición: dado un BSC con 0 ≤ p ≤ ½ la regla de decisión de probabilidad máxima consiste en
elegir la palabra de código que difiera de la palabra recibida en el número mínimo de símbolos
posibles.
La probabilidad de que una palabra tenga k errores en k posiciones dadas es pk (1-p)k.
Si se envía v y la palabra recibida w difiere de v en k lugares:
La probabilidad P(w recibido | v enviado) = pk (1-p)k.
Puede ocurrir que haya varias palabras a Distancia mínima (MLD).
Se dice que la descodificación es completa si sólo hay una palabra posible con Distancia mínima.
Se dice que la descodificación es incompleta cuando hay más de una posible palabra con Distancia
mínima y se produce un error.
Definición: sea a un alfabeto y u,w є An; se define la distancia hamming d(u,w) como el número de
posiciones en las que difieren u y w.
Es simétrica:
La palabra recibida w dista t+1 de u y dista T de v, luego el código no corrige t+1 errores.
Definición: un código de longitud n, tamaño m y distancia d se dice que es un (n,m,d) – código
Ejemplos
Ejemplo:
Se tiene:
A= (0, 1)
N= 3
Definición: sea C c An. El radio de empaquetamiento de c es el mayor entero r tal que todas las
esferas de radio r (Sq (v,r), v є C) son disjuntas.
Definición: el radio de recubrimiento es el menor entero S tal que la unión de todas las esferas de
radio S es An.
r = pr(C); S = cr(C).
Proposición:
Un código c es t-corrector si y sólo si las esferas de radio t Sq (v,t), v є C, son disjuntos.
C es exactamente t-corrector si y sólo si pr(C) = T.
El radio de empaquetamiento de un (n,m,d)-código es
Definición: un código c c A n se dice perfecto cuando cr(C) = pr(C), es decir, cuando existe un
entero r tal que Sq (v,r), v є C, son disjuntas y recubren An:
En este caso las esferas de radio r forman una partición de An.
Ejemplo:
H2 (3) (hamming): es un (7, 16,3)-código binario.
Este es un código 1-corrector.
d = 3 ; t = 1 = pr(H2(3)); m = |H2 (3)| = 16.
Verificación acerca de si este código es perfecto:
|An| = |Z27| = 27 = 128.
Se debe verificar que:
Las esferas de radio 1 recubren Z27.
La unión de todas las esferas tiene 128 elementos.
V2 (7,1) = |S2 (v, 1)| = 1 + 7 = 8.
Hay 16 esferas: tienen 8·16 palabras = 128.
El código es perfecto.
(n,m,d)-CÓDIGO q-ARIO:
Ejercicio:
La cota de Hamming da una cota superior para el tamaño M que un código de longitud n y distancia
d puede tener. Por ejemplo, si C es un [6; k; 3]-código binario entonces,
Como C es lineal y t = 1, tenemos
M = 2k ≤26 /1 +(6/1) =64/7< 10:
Luego, k ≤ 3. Es decir, no existen códigos lineales con parámetros [6; k; 3] y 4 ≤ k ≤ 6.
Códigos Lineales
Los códigos lineales son espacios vectoriales sobre un cuerpo finito.
Los alfabetos que usaremos son cuerpos finitos (k).
Zp = {0,1....p-1}.
Q = pr: p primo.
Fq: cuerpo finito con q elementos.
En particular, si q = p (primo), entonces Fq = Fp = Zp.
F2 = Z2 = {0,1}.
F3 = {0, 1,2}.
F5 = {0, 1, 2, 3,4}.
Definición: un código lineal de longitud n sobre K es un k-subespacio vectorial C de Kn
K = Z2
En el caso binario la suma de dos palabras debe ser una palabra del código.
Definición: sea C un código (no necesariamente lineal) y v є C una palabra del código. Se define el
peso de v como el número w(v) de símbolos no nulos de v:
v = 10010: w(v) = 2.
Proposición: sea C un código lineal y u,v є C. entonces se verifica:
D(u,v) = w(u-v).
W(u) = d(u,0).
Definición: Sea C un código. Se llama peso de C (o peso mínimo de C) a:
Código Hamming
hamming.
golay.
reed-muller.
Estos códigos tienen un procedimiento de descodificación especial.
Se tiene un [n,k]-código lineal; su distancia mínima es el mínimo número de columnas ld
(linealmente dependientes) de una matriz de control.
Sea d la distancia mínima:
Si se toman d-1 columnas cualesquiera de cualquier matriz de control serán li (linealmente
independientes).
Hay un grupo de d columnas ld (linealmente dependientes).
Se construirá un [n,k,3]-código lineal de tal forma que su matriz de control tenga:
Dos columnas cualesquiera li.
Tres columnas ld.
El código de hamming q-ario de orden R (R є Z, R ≥ 2) será un código q-ario Hq(R) que tiene una
matriz de control Hq(R) con:
R = n – k filas.
El máximo número posible de columnas (siendo d = 3).
Las columnas de Hq(R) son vectores de Frq.
La matriz de control de Hq(R) es una matriz que tiene r filas y n = (qr-1)/(q-1) columnas:
El código Hq(R) es un [n,k,3]-código donde k = n – r.
Esta matriz se llama matriz de hamming y no es única.
Ejemplo:
Sea H2(3) el código de Hamming definido por la matriz H3,2 = H de (3.1). Supongamos que
cometemos un error en la tercera coordenada, es decir el patrón de error es
e3 = 0010000. Luego, e3Ht = (0010000)Ht = (H3)t= (011) = (011)2 = 310. Es decir, ¡el
síndrome determina la coordenada errónea!
El caso general, para Hq(r), es muy parecido. Si cometemos un error en la coordenada i, el vector
error es de la forma αei, con α ϵ Fq*. Luego, el síndrome es s(ei) = αeiHq,rt que es α multiplicado por
la i-esima columna de Hq,r (transpuesta). Por la forma en que construimos H, vemos que α es la
primera coordenada no-nula de s(ei). Multiplicando s(ei) por α-1 obtenemos la columna i de H, lo
cual nos da la coordenada del error
Ejercicio:
Suponer q = 3, r = 2, luego n = (qr − 1)/(q − 1) = 4. Considerar:
Código Golay
Se considera el código de golay binario g24.
El código g24 es el código lineal binario de matriz generatriz G:
A partir de la 3ª fila las filas se obtienen desplazando la fila anterior una posición a la izquierda.
Se calculará la distancia mínima de este código.
Proposición: g24 es un código autodual:
A partir de la 3ª fila una fila se obtiene a partir de la anterior desplazándola una posición hacia la
derecha.
Propiedades:
g12 es autodual.
b es simétrica.
g12 es un [12,6,6]-código.
el código ternario g11 obtenido pinchando g12 es un [11,6,5]-código perfecto.
Código Reed-Muller
Estos códigos son fáciles de descodificar.
Definición: una función de boole de m variables es una aplicación:
Para dar la función booleana basta con quedarse con la última fila ya que describe completamente la
función:
Si se asume que siempre se tiene el mismo orden.
Existe una correspondencia biunívoca entre funciones de boole de m variables y palabras binarias
de longitud 2m.
Se definen los polinomios de boole como los elementos del siguiente conjunto:
Ejemplos
R(1,3)
Los polinomios de boole de 3 variables y grado menor o igual que 1 son de la forma:
Las palabras entre paréntesis son los polinomios que corresponden a los polinomios de boole de 4
variables.
Excepto la palabra 1 y la 0 todas las palabras tienen 4 unos y 4 ceros.
El peso mínimo es 4, así este código tiene distancia mínima 4.
Proposición: sea f(x1...xm) = xm + p(x1...xm-1) donde p(x1...xm-1) es un polinomio de boole:
Entonces la función de boole inducida por f toma los valores 0 y 1 el mismo número de veces, es
decir, 2m-1 veces.
Proposición: todas las palabras de R(1,m) tienen peso mínimo 2m-1, excepto la palabra 00...0 y la
palabra 11...1:
en consecuencia la distancia mínima de R(1,m) es 2m-1.
Bibliografía
Teoría De la información y Codificación
Códigos
Exa.unne.edu.ar
Teleproc
Fundamentos De La Informática
Códigos Detectores y Correctores De Error
www2.infor.uva.es
Detección y Corrección De Errores
www.wikiwand.com
Código Hamming
Wikiteka
www.wikiteka.com
Lecciones De Elementos De Algebra. Aplicaciones
María Jesús Iranzo Aznar
Francisco Pérez Monasor
Introducción A La Teoría De Códigos
Auto correctores
Ricardo A. Podesta