Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Por otra parte, cuando los bloques de mensajes son largos, con el objeto de aumentar la
eficiencia, una mayor proporción de estos bloques tendrán errores y será necesario
retransmitirlos, lo que a largo plazo puede disminuir aún más su eficiencia.
En las transmisiones por la red telefónica conmutada, la tasa de error varía según la hora
del día. Por ese motivo, cuando la tasa de error se eleva en exceso, lo más razonable es
disminuir la velocidad de modulación.
Cifra de error
Tasa de errores:
La tasa de errores relaciona la cantidad de bits recibidos con error en el receptor con la
cantidad total de bits transmitidos en un determinado tiempo o sesión. Se la denomina BER
(Bit Error Rate) y su valor es típico para cada medio de transmisión en particular.
1
Universidad Tecnológica Nacional Ingeniería en Sistemas de Información
En una red telefónica, este valor es la “tasa típica de la red” y significa que se puede prever
que se producirá un error de un bit en 100000 bits trasmitidos.
En la actualidad, las redes telefónicas han mejorado la calidad de sus medios de transmisión
y tienen tasas típicas de 10-6 BER.
En las redes de área local, donde las distancias son más cortas y la construcción de las
redes es más exigente y con pares trenzados de cobre, las tasas de errores son mucho
menores y del orden de 10-8 a 10-9 BER. Si se emplean fibras ópticas, la tasa de error pude
alcanzar hasta 10-11 BER.
Consideraciones generales
Una metodología posible es no tomarlos en cuenta. Esto parece algo trivial, pero no lo es
tanto si se considera que en muchos casos, por el tipo de información a transmitir y el uso
que la misma recibirá, no es necesario que los errores sean tenidos en cuenta. Esta
metodología reduce los costos aumenta el procesamiento total.
Otra metodología empleada es la prueba de eco, que consiste en que cada vez que se
recibe un carácter o una unidad menor de información, se retransmite de vuelta al
transmisor de donde provino. En esta última estación se compara la información enviada
con la transmitida desde el receptor. Este método desperdicia capacidad de transmisión
pues, como mínimo, un mensaje se transmite dos veces, y en alguna oportunidad muchas
veces más. Además, si el error se produce en el viaje de retorno, es una pérdida innecesaria
de tiempo. Se usa en líneas de baja velocidad y, si bien da cierto grado de protección, no
tiene la eficiencia de otros métodos más refinados.
Tipos de errores
Según su distribución en el tiempo, los errores se pueden clasificar en los siguientes tipos:
Errores simples o aislados: son aquellos que afectan a un solo bit cada vez y,
además son independientes entre sí en cuanto al momento de ocurrencia.
2
Universidad Tecnológica Nacional Ingeniería en Sistemas de Información
Errores en ráfagas: son aquellos que afectan a varios bits consecutivos y ocurren en
períodos indeterminados de tiempo.
Errores agrupados: son aquellos que ocurren en tandas sucesivas de una cierta
duración y que no afectan necesariamente a varios bits seguidos.
Vertical VCR
Longitudinal LRC
Detección Control de paridad Bidimensional o de
doble paridad
Cíclica o entrelazada
Detección y Hamming
corrección de errores Códigos Hagelbarger
autocorrectivos Bose Chaudhurí
Corrección Corrección de errores
Técnicas especiales de hacia delante (FEC)
transmisión Requerimiento
automático de
repetición (ARQ)
3
Universidad Tecnológica Nacional Ingeniería en Sistemas de Información
En cualquiera de estos métodos que usan estos sistemas, la paridad puede ser par o impar.
En la siguiente figura, se indican ejemplos de ambos casos para una longitud arbitraria de
bits a considerar.
Conocido como VRC (Vertical Redundancy Check), se aplica a cada carácter o byte, y su
uso está relacionado fundamentalmente con el código ASCII. Consiste básicamente en
añadir un bit adicional al conjunto de 7 bits que constituyen el carácter en el código
mencionado.
Existen dos formas de definir la paridad de un carácter: mediante la paridad par o impar. En
estos casos, el carácter final, con el bit de paridad incluido, quedará conformado por 8 bits.
4
Universidad Tecnológica Nacional Ingeniería en Sistemas de Información
7 bits de datos
Bit de paridad 7 6 5 4 3 2 1
7 F
Máximo valor binario representado 7F (hexadecimal)
Carácter transmitido:
Carácter recibido:
5
Universidad Tecnológica Nacional Ingeniería en Sistemas de Información
El transmisor realiza el cálculo de la paridad en cada carácter y luego para todo el bloque
generando un BCC que se transmite en esta cadena de bytes. El receptor, cuando recibe
esta cadena, recalcula la paridad de los bytes de datos y la BCC. Si los BCC son iguales, se
da por aceptado el bloque de caracteres, caso contrario, se notifica por algún método al
transmisor del error ocurrido en la cadena.
Bytes transmitidos:
D1 D2 D3 D4 D5 D6 D7 D8 LRC
B1 0 0 0 1 0 1 0 1 1
B2 1 1 1 1 0 1 1 1 1
B3 1 0 0 0 0 1 0 1 1
B4 0 1 0 1 0 1 1 1 1
B5 0 1 0 0 0 1 0 0 0
B6 0 1 1 1 0 1 1 0 1
B7 0 1 1 0 0 1 0 0 1
VRC 0 1 1 0 0 1 1 0 0
Bytes recibidos con un bit de error en la posición de la fila 4, columna 6 de la tabla de bits:
D1 D2 D3 D4 D5 D6 D7 D8 LRC
B1 0 0 0 1 0 1 0 1 1
B2 1 1 1 1 0 1 1 1 1
B3 1 0 0 0 0 1 0 1 1
B4 0 1 0 1 0 0 1 1 0
B5 0 1 0 0 0 1 0 0 0
B6 0 1 1 1 0 1 1 0 1
B7 0 1 1 0 0 1 0 0 1
VRC 0 1 1 0 0 0↑ 1 0 0
Este método requiere de dos bits adicionales para el control de la paridad. En la figura
siguiente se puede observar una palabra de seis bits de información y un esquema que
indica gráficamente la forma en que trabaja este procedimiento. El primer bit de paridad
proporciona la paridad de los bits primero, tercero y quinto, mientras que el segundo
proporciona la paridad de los bits segundo, cuarto y sexto.
6
Universidad Tecnológica Nacional Ingeniería en Sistemas de Información
0
1 Bits de
0 información
1
0
1
0 Bits de paridad
1 (par)
Este método, conocido también como polinomial, permite la verificación de todos los bits del
mensaje mediante la utilización de un algoritmo matemático. Básicamente, consiste en
dividir el mensaje de información que se quiere enviar, por un polinomio conocido, junto con
el resto de la división en el transmisor y enviarlo al receptor. Cuando se recibe esta trama
generadora, el receptor vuelve a efectuar la división por el polinomio conocido, y si el resto
de la división es cero, se interpreta que el mensaje llego sin error, caso contrario, se notifica
al transmisor del error mediante otro procedimiento.
Como resultado de esta división, se obtendrán otros dos polinomios, denominados cociente
y resto. Este último se transmite con la secuencia de bits sobre la que se quiere efectuar el
control de errores. En el receptor se reciben el mensaje a controlar junto con el polinomio del
resto de la división.
Para una mayor comprensión de lo expuesto, se muestra una operación de suma y luego
otra de resta.
7
Universidad Tecnológica Nacional Ingeniería en Sistemas de Información
Aquí, los términos correspondientes a los bits de valor cero se anulan, y los que
corresponden a los bits de valor uno, toman la forma de X elevado a una potencia que
corresponda a la posición del bit dentro de la secuencia a transmitir.
Forma de ejecutar el procedimiento:
Definimos un polinomio M(x) de grado n con los bits del mensaje.
Definimos un polinomio G(x) de grado r (generador).
Definimos un polinomio auxiliar de valor X r de grado r más alto que tenga G(x).
El grado n del polinomio M(x) debe ser: n>>r.
Se forma un polinomio que contenga (r+n) bits, de la forma M(x) X r (recordar que
M(x) es de grado n).
r
Se divide el nuevo polinomio formado de la forma M(x) X por el polinomio
generador G(x).
De dicha división se obtendrá un polinomio resto R(x) que siempre debe tener un
número de bits igual o menor que r, grado del polinomio resto.
Finalmente, se procede a obtener un polinomio que denominaremos T(x), que es el
polinomio a transmitir. Éste resulta de restar, mediante el método de módulo 2, los
bits correspondientes al polinomio M(x) X r y del polinomio resto R(x).
Los pasos son:
1. M(x) X r / G(x) = C(x) + R(x), donde C(x) es el cociente de la división y que no se
utiliza o se descarta.
2. T(x) = M(x) X r + R(x)
3. Como se puede observar, el polinomio T(x) será siempre divisible por el polinomio
generador G(x).
4. Si se introducen errores en la transmisión se recibirá: T(x) = T(x) + E(x), donde E(x)
será la componente de error y entonces el polinomio recibido deja de ser divisible por
el polinomio generador, siempre que este último sea bien escogido (por ello el uso de
estos polinomios normalizados). En general, resulta muy poco probable que E(x) no
sea detectable.
Polinomios generadores
En particular, tres polinomios se han convertido en normas usadas internacionalmente. En
los tres, el término (x+1) está contenido como factor primo.
Polinomio CRC-16: se usa para caracteres codificados con 8 bits y cuyo polinomio es
el siguiente:
P( x) = X 16 + X 15 + X 2 + 1
Este polinomio generador es capaz de detectar entre otros:
*Errores simples: 100%
*Errores dobles: 100%
*Errores impares: 100%
*Errores en ráfagas:
100% para ráfagas menores a 17 bits.
99,997 % para ráfagas de hasta 17 bits.
99,998 para ráfagas mayores a 17 bits.
8
Universidad Tecnológica Nacional Ingeniería en Sistemas de Información
Resolución:
Definimos un polinomio M(x) de grado n con los bits del mensaje, es decir:
M(x) = x9 + x8 + x6 + x4 + x3 + x +1
Definimos los bits del polinomio G(x) = x4 + x + 1 de grado r como:
10011
Definimos el polinomio auxiliar X como: x4 .
r
Definimos los bits del polinomio M(x) X r = x13 + x12 + x10 + x8 + x7 + x5 + x4 como:
11010110110000
De esta manera, ya tenemos los bits del dividendo y del divisor para efectuar la división no
convencional mediante una función or exclusivo de módulo 2 para la resta en el dividendo
hasta obtener el resto de la división:
11010110110000 /10011
10011 1100001010 no se tiene en cuenta
010011
10011
0000010110
10011
0010100
10011
001110 resto o residuo
El resto de la división se trunca en los últimos 4 bits, es decir que vale: 1 1 1 0
9
Universidad Tecnológica Nacional Ingeniería en Sistemas de Información
Corrección de errores
Hasta aquí hemos considerado solamente la detección de los errores, sin embargo, a partir
de la verificación de la existencia de los mimos, se pueden adoptar dos posturas diferentes:
corregirlos o no tomarlos en cuenta.
10
Universidad Tecnológica Nacional Ingeniería en Sistemas de Información
Consideraciones generales:
Si bien resulta casi imposible corregir la totalidad de los errores, la mayoría de las técnicas
que normalmente se emplean, como se ha visto anteriormente, llegan a corregir el 99,99%
de los mismos.
Este sistema implica la retransmisión de los datos tantas veces como sea necesario, hasta
que sean recibidos libre de errores. De esto se desprende la importancia de una buena
elección de la velocidad de modulación en el caso de las transmisiones por canales
analógicos mediante módems de datos.
Se puede apreciar claramente que cuando se eligen velocidades muy altas, respecto de las
que el canal de comunicaciones realmente puede soportar, los errores provocan una pérdida
de tiempo mayor que la ganancia que presumiblemente se iba a obtener con una velocidad
superior.
Este técnica se denomina también FEC (Forward Error Correction), se basa en el uso de
códigos autocorrectores que se diseñan sobre la base de sistemas de codificación
redundante y corrigen los errores detectados en la misma estación que recibe el bloque de
datos.
Aunque estos métodos hacen jnnecesaria la retransmisión, no son neutros al usuario, pues
para posibilitar la corrección en destino deben enviar un número de bits varias veces
superior al que se necesita cuando se utilizan códigos convencionales.
Sin embargo, en muchas aplicaciones es necesario el uso de este tipo de código porque no
resulta posible o conveniente pedir la retransmisión de los datos, ya sea por razones de
seguridad o por necesidades de la misma operación del sistema informático asociado.
11
Universidad Tecnológica Nacional Ingeniería en Sistemas de Información
Diversos dispositivos de las rede de transmisión de datos, poseen capacidad para detectar
errores y cuando los detectan, piden su retransmisión inmediata. Este método de detección
del error y su retransmisión es la manera menos costosa y más sencilla de reducir errores
en la transmisión.
La mayor ventaja de este método es que prácticamente garantiza una transmisión de datos,
libre de errores, suponiendo que el enlace es posible.
Sin embargo, siempre que este método pueda ser usado, resulta ser el más efectivo y, por
lo tanto, el más usado. En particular, se emplean para la transmisión de bloques de hasta
512 bytes.
También conocido como FEC (Forward Error Correction), se emplea en los casos en que
hay más de una estación receptora y no se necesitan réplicas por parte de estas últimas.
12
Universidad Tecnológica Nacional Ingeniería en Sistemas de Información
Este procedimiento agrega suficiente redundancia para que el receptor pueda detectar la
presencia de un error, y además ubicar la posición del bit en donde se ha producido dicho
error. Para poder realizar esta última operación, la cantidad de bits que es necesario añadir
es mucho mayor que la que se necesitaría para poder detectar la presencia de errores.
Por ejemplo si se desean enviar caracteres del 1 al 9 como los indicados en la figura, el
transmisor enviará el mensaje tal como se indica.
Mensaje Dx
* * 1 * 2 * 3 1 4 2 5 3 6 4 7 5 8 6 9 *
Mensaje Rx
La estación receptora examinará primero la serie Dx y luego la serie Rx. Para un mismo
carácter pueden suceder los casos indicados en esta otra figura:
Las ventajas del sistema FEC, con respecto al sistema ARQ, son los siguientes:
Este método se usa en ciertas aplicaciones especiales, como por ejemplo, en el caso de
canales unidireccionales sin retorno o en enlaces satelitales en los que se procede a
transmitir muchos mensajes en una sola dirección debido a que el tiempo de retardo de las
señales es muy alto. También es aplicable en los sistemas digitales que trabajan en tiempo
real, por ejemplo, aquellos que actúan sobre un proceso industrial a partir de los valores de
ciertas variables del proceso.
En este último caso también se usa un método combinado ARQ/FEC, a fin de recibir una
confirmación de lo transmitido en sentido inverso al cabo de un cierto número de mensajes.
13
Universidad Tecnológica Nacional Ingeniería en Sistemas de Información
14
Universidad Tecnológica Nacional Ingeniería en Sistemas de Información
011 010
011 010 011 010
3 2 1
001 000
001 000 0
001 000 0
1 0
111 110
111 6 110 111 2 110
1
7
5 3
4 101 100
101 100 101 100
15
Universidad Tecnológica Nacional Ingeniería en Sistemas de Información
Código de Hamming
Este código autocorrector permite detectar y corregir errores mediante el empleo de bits de
paridad con determinadas combinaciones únicas de información.
Mensaje Mensaje
Fuente Mensaje Procesador
decodificado Destino
codificado de autocorrección
Bits de
paridad
De la tabla anterior vimos que un código de distancia mínima de Hamming igual a tres
permite detectar errores de dos bits y corregir errores de un bit. En general, la distancia
mínima de un código para que permita corregir errores de n bits debe ser dm = 2n + 1.
Los códigos de Hamming están basados en la adición de p bits a un código de distancia
unidad de n bits, obteniéndose un nuevo código de n + p bits. En este nuevo código se
realizan p detecciones de paridad en bits seleccionados de la cadena, obteniéndose un bit
de paridad uno o cero según el número de bits sea par o impar. El conjunto de los p bits de
paridad forma un número en el sistema binario natural, cuyo equivalente decimal nos indica
la posición del bit erróneo. En caso de que no exista error, dicho número debe ser cero. El
número p de bits añadidos ha de ser suficiente para permitir la detección y la ausencia de
error en las n + p posiciones. Dado que con p bits se obtienen 2n combinaciones, se debe
cumplir la relación : 2 n ≥ n + p + 1 .
Como ejemplo de aplicación del código de Hamming, vamos a utilizar un código decimal
codificado en binario natural. Si este código BCD adoptado es de n = 4 bits, el número de
bits que se deben añadir es 3, dado que 23 = 4 + 3 + 1. Para detectar los 7 posibles errores
de un bit en cada una de las posiciones y la ausencia del error, son necesarias 8
combinaciones binarias que denominaremos “correctoras de error”. Dichas combinaciones
se obtienen mediante 3 bits que denominaremos C1, C2 y C3 , juntamente con el número
decimal equivalente al binario formado por ellos que ha de indicar la posición errónea.
En la siguiente tabla se presentan todas las combinaciones de los bits C1, C2 y C3. El bit C1,
toma el valor 1 si se producen errores en los bits de posición b1, b3, b5 y b7 de las
combinaciones del código. Si el número de “unos” existentes en esas cuatro posiciones es
siempre “par”, un error en cualquiera de esos cuatro bits lo convierte en impar. Por lo tanto,
C1 debe valer 1 si el número de unos en la posiciones b1, b3, b5 y b7 es impar, y cero en
caso contrario. La función lógica que cumple las condiciones especificadas es la OR
EXCLUSIVA. Es decir:
C1 = b1 ⊕ b3 ⊕ b5 ⊕ b7
16
Universidad Tecnológica Nacional Ingeniería en Sistemas de Información
De igual forma se deduce que C2 y C3 se pueden obtener por medio de las expresiones:
C 2 = b2 ⊕ b3 ⊕ b6 ⊕ b7
C 3 = b4 ⊕ b5 ⊕ b6 ⊕ b7
para lo cual ha de cumplirse la condición de que el número de unos debe ser par en las
combinaciones b2, b3, b6, b7 y b4, b5, b6,b7.
Nº decimal C3C2C1
equivalente
0 000
1 001
2 010
3 011
4 100
5 101
6 110
7 111
Para lograr estas condiciones se deben generar adecuadamente los tres bits de paridad que
se añaden a los cuatro bits de datos de la combinación BCD. Dado que b1, b2 y b4 solo
aparecen una vez en cada una de las expresiones anteriores, los elegiremos como bits
añadidos a la combinación BCD de datos formada por b3, b5, b6 y b7 de la cadena. El bit b1
debe valer 1 si el número de unos de b3,b6 y b7 es impar, y cero en caso contrario, por lo
tanto:
b1 = b3 ⊕ b5 ⊕ b7
De igual forma, b3 y b4 se van a obtener respectivamente como:
b2 = b3 ⊕ b6 ⊕ b7
b4 = b5 ⊕ b6 ⊕ b7
En consecuencia, se puede formar una tabla con el código de Hamming que represente los
4 bits de datos y los 3 bits de paridad, en sus respectivas posiciones y con los bits de menor
a mayor peso de derecha a izquierda:
Nº decimal I7 I6 I5 p4 I3 p2 p1
equivalente b7 b6 b5 b4 b3 b2 b1
0 0 0 0 0 0 0 0
1 0 0 0 0 1 1 1
2 0 0 1 1 0 0 1
3 0 0 1 1 1 1 0
4 0 1 0 1 0 1 0
5 0 1 0 1 1 0 1
6 0 1 1 0 0 1 1
7 0 1 1 0 1 0 0
8 1 0 0 1 0 1 1
9 1 0 0 1 1 0 0
En la tabla, se observa que para 4 bits de datos, se necesitan 3 bits adicionales de paridad.
La posición de estos bits de paridad en la cadena de 7 bits, están en relación al valor 20, 21,
22, y así sucesivamente, que corresponden a la posición 1 para p1, 2 para p2 y 4 para la p3.
17
Universidad Tecnológica Nacional Ingeniería en Sistemas de Información
El bit b1 que corresponde a p1 controla las posiciones b3, b5 y b7 de los datos de información.
El bit b2 que corresponde a p2 controla las posiciones b3, b6 y b7 de los datos de información;
y el bit b4 que corresponde a p3 controla las posiciones b5, b6 y b7 de los datos de
información.
A partir de esta tabla, el transmisor genera estos siete símbolos codificados. Cuando llegan
al receptor, se hace la verificación del error a través de los códigos correctores C1, C2 y C3.
Si las tres comprobaciones dan cero, no hay error. Caso contrario, el número binario
formado por C3, C2 y C1 indica el número decimal equivalente del lugar de la cadena donde
se ha producido el error.
Por ejemplo, dada la cadena de bits 0110100 que corresponde al número decimal 7,
generada por el transmisor, comprobar el error si en el receptor se ha recibido la cadena
0100100.
Para detectarlo, comprobaremos el valor lógico de C1, C2 y C3 en la cadena 0 1 0 0 1 0 0.
C1 = b1 ⊕ b3 ⊕ b5 ⊕ b7 = 0 ⊕ 1 ⊕ 0 ⊕ 0 = 1
C 2 = b2 ⊕ b3 ⊕ b6 ⊕ b7 = 0 ⊕ 1 ⊕ 1 ⊕ 0 = 0
C 3 = b4 ⊕ b5 ⊕ b6 ⊕ b7 = 0 ⊕ 0 ⊕ 1 ⊕ 0 = 1
La combinación de C3, C2 y C1 es 101, equivalente al número decimal 5 que es la posición
desde derecha a izquierda del bit erróneo donde el receptor procede a invertir el bit.
El error puede producirse en cualquier lugar de la cadena ya sea en la posición de los datos
o de los bits de paridad y la comprobación es siempre válida. Recordemos que para detectar
y corregir un bit erróneo en una cadena de 4 bits de datos hemos necesitado 3 bits
adicionales como mínimo.
La tasa de error en el diseño de sistemas de transmisión de datos.
La presencia de errores en el diseño de los sistemas de transmisión de datos no puede ser
omitida nunca. Por este motivo, cuando se diseña o se implanta un determinado sistema con
su correspondiente tecnología asociada, deben tenerse presente los siguientes aspectos:
La tasa de error, tanto para las comunicaciones locales como para las remotas. En el
caso de las comunicaciones locales, la tasa de error es normalmente menor que en
las comunicaciones remotas.
Los medios para recuperar la información afectada por errores.
La cantidad de información a transmitir por unidad de tiempo: que se corresponda
con el concepto definido como velocidad real de transferencia de datos.
La velocidad de transmisión que es necesaria para satisfacer los requerimientos del
sistema.
Basándose en los aspectos anteriores, se deberá determinar:
El ancho de banda del canal que será necesario usar.
El tipo de control de errores que se requiere.
Los medios de comunicaciones y elementos técnicos que podrán cumplir con dichos
requerimientos.
18