Sunteți pe pagina 1din 59
MóduloMódulo 0404 DetecciónDetección yy CorrecciónCorrección dede ErroresErrores (Pt.(Pt. 1)1)
MóduloMódulo 0404
DetecciónDetección yy CorrecciónCorrección
dede ErroresErrores (Pt.(Pt. 1)1)
yy CorrecciónCorrección dede ErroresErrores (Pt.(Pt. 1)1) Organización Organización de de Computadoras
yy CorrecciónCorrección dede ErroresErrores (Pt.(Pt. 1)1) Organización Organización de de Computadoras

OrganizaciónOrganización dede ComputadorasComputadoras Depto.Depto. Cs.Cs. ee Ing.Ing. dede lala Comp.Comp. UniversidadUniversidad NacionalNacional deldel SurSur

CopyrightCopyright

Copyright © 2011-2014 A. G. Stankevicius 2011-2014 A. G. Stankevicius

Se asegura la libertad para copiar, distribuir y modificar este documento de acuerdo a los términos de la GNU Free Documentation License, Versión 1.2 o cualquiera posterior publicada por la Free Software Foundation, sin secciones invariantes ni textos de cubierta delantera o trasera.Copyright Copyright © 2011-2014 A. G. Stankevicius Una copia de esta licencia está siempre disponible en

Una copia de esta licencia está siempre disponible en la página http://www.gnu.org/copyleft/fdl.html . http://www.gnu.org/copyleft/fdl.html.

La versión transparente de este documento puede ser obtenida de la siguiente dirección:en la página http://www.gnu.org/copyleft/fdl.html . http://cs.uns.edu.ar/~ags/teaching Organización

documento puede ser obtenida de la siguiente dirección: http://cs.uns.edu.ar/~ags/teaching Organización
documento puede ser obtenida de la siguiente dirección: http://cs.uns.edu.ar/~ags/teaching Organización
documento puede ser obtenida de la siguiente dirección: http://cs.uns.edu.ar/~ags/teaching Organización
documento puede ser obtenida de la siguiente dirección: http://cs.uns.edu.ar/~ags/teaching Organización
documento puede ser obtenida de la siguiente dirección: http://cs.uns.edu.ar/~ags/teaching Organización
documento puede ser obtenida de la siguiente dirección: http://cs.uns.edu.ar/~ags/teaching Organización
documento puede ser obtenida de la siguiente dirección: http://cs.uns.edu.ar/~ags/teaching Organización
documento puede ser obtenida de la siguiente dirección: http://cs.uns.edu.ar/~ags/teaching Organización
documento puede ser obtenida de la siguiente dirección: http://cs.uns.edu.ar/~ags/teaching Organización
documento puede ser obtenida de la siguiente dirección: http://cs.uns.edu.ar/~ags/teaching Organización

ContenidosContenidos

Concepto de error.Contenidos Contenidos Mínima distancia de un código. Mecanismos de detección de errores. Paridad aplicada en los

Mínima distancia de un código.Contenidos Contenidos Concepto de error. Mecanismos de detección de errores. Paridad aplicada en los códigos VRC

Mecanismos de detección de errores.Concepto de error. Mínima distancia de un código. Paridad aplicada en los códigos VRC y LRC

Paridad aplicada en los códigos VRC y LRC . VRC y LRC .

Generación y verificación de código CRC . CRC.

Mecanismos de corrección de errores.VRC y LRC . Generación y verificación de código CRC . Códigos correctores simples. Hamming mínima

Códigos correctores simples.de código CRC . Mecanismos de corrección de errores. Hamming mínima distancia 3 y 4. Organización

Hamming mínima distancia 3 y 4.de corrección de errores. Códigos correctores simples. Organización Organización de de Computadoras

correctores simples. Hamming mínima distancia 3 y 4. Organización Organización de de Computadoras
correctores simples. Hamming mínima distancia 3 y 4. Organización Organización de de Computadoras
correctores simples. Hamming mínima distancia 3 y 4. Organización Organización de de Computadoras
correctores simples. Hamming mínima distancia 3 y 4. Organización Organización de de Computadoras
correctores simples. Hamming mínima distancia 3 y 4. Organización Organización de de Computadoras
correctores simples. Hamming mínima distancia 3 y 4. Organización Organización de de Computadoras
correctores simples. Hamming mínima distancia 3 y 4. Organización Organización de de Computadoras
correctores simples. Hamming mínima distancia 3 y 4. Organización Organización de de Computadoras
correctores simples. Hamming mínima distancia 3 y 4. Organización Organización de de Computadoras
correctores simples. Hamming mínima distancia 3 y 4. Organización Organización de de Computadoras

ConceptoConcepto dede errorerror

Toda vez que una pieza de información es transmitida existe la posibilidad de que lo enviado no coincida con lo recibido . lo enviado no coincida con lo recibido.

El origen de estos errores suele depender del medio de transmisión utilizado:posibilidad de que lo enviado no coincida con lo recibido . Ruido y/o interferencia. Atenuación de

Ruido y/o interferencia. Atenuación de la señal. Problemas de sincronización. Propagación multicamino.
Ruido y/o interferencia.
Atenuación de la señal.
Problemas de sincronización.
Propagación multicamino.
OrganizaciónOrganización dede ComputadorasComputadoras -- Mg.Mg. A.A. G.G. StankeviciusStankevicius
multicamino. OrganizaciónOrganización dede ComputadorasComputadoras -- Mg.Mg. A.A. G.G. StankeviciusStankevicius 4 4
multicamino. OrganizaciónOrganización dede ComputadorasComputadoras -- Mg.Mg. A.A. G.G. StankeviciusStankevicius 4 4
multicamino. OrganizaciónOrganización dede ComputadorasComputadoras -- Mg.Mg. A.A. G.G. StankeviciusStankevicius 4 4
multicamino. OrganizaciónOrganización dede ComputadorasComputadoras -- Mg.Mg. A.A. G.G. StankeviciusStankevicius 4 4
multicamino. OrganizaciónOrganización dede ComputadorasComputadoras -- Mg.Mg. A.A. G.G. StankeviciusStankevicius 4 4
multicamino. OrganizaciónOrganización dede ComputadorasComputadoras -- Mg.Mg. A.A. G.G. StankeviciusStankevicius 4 4
multicamino. OrganizaciónOrganización dede ComputadorasComputadoras -- Mg.Mg. A.A. G.G. StankeviciusStankevicius 4 4
multicamino. OrganizaciónOrganización dede ComputadorasComputadoras -- Mg.Mg. A.A. G.G. StankeviciusStankevicius 4 4
multicamino. OrganizaciónOrganización dede ComputadorasComputadoras -- Mg.Mg. A.A. G.G. StankeviciusStankevicius 4 4
multicamino. OrganizaciónOrganización dede ComputadorasComputadoras -- Mg.Mg. A.A. G.G. StankeviciusStankevicius 4 4

44

multicamino. OrganizaciónOrganización dede ComputadorasComputadoras -- Mg.Mg. A.A. G.G. StankeviciusStankevicius 4 4

ConceptoConcepto dede errorerror

Concepto Concepto de de error error ¿Qué actividades se verán afectadas? La comunicación de información sobre

¿Qué actividades se verán afectadas?

La comunicación de información sobre grandes distancias (por caso, Internet).de de error error ¿Qué actividades se verán afectadas? La comunicación de información sobre cortas distancias

La comunicación de información sobre cortas distancias (por caso, comunicación entre el CPU y la memoria o los dispositivos). CPU y la memoria o los dispositivos).

El almacenamiento de información en dispositivos no confiable (por caso, disquettes).entre el CPU y la memoria o los dispositivos). El almacenamiento de información en dispositivos lábiles

El almacenamiento de información en dispositivos lábiles (por caso, CD s, DVD s y BR s). CDs, DVD s y BR s).

dispositivos lábiles (por caso, CD s, DVD s y BR s). Organización Organización de de Computadoras
dispositivos lábiles (por caso, CD s, DVD s y BR s). Organización Organización de de Computadoras
dispositivos lábiles (por caso, CD s, DVD s y BR s). Organización Organización de de Computadoras
dispositivos lábiles (por caso, CD s, DVD s y BR s). Organización Organización de de Computadoras
dispositivos lábiles (por caso, CD s, DVD s y BR s). Organización Organización de de Computadoras
dispositivos lábiles (por caso, CD s, DVD s y BR s). Organización Organización de de Computadoras
dispositivos lábiles (por caso, CD s, DVD s y BR s). Organización Organización de de Computadoras
dispositivos lábiles (por caso, CD s, DVD s y BR s). Organización Organización de de Computadoras
dispositivos lábiles (por caso, CD s, DVD s y BR s). Organización Organización de de Computadoras
dispositivos lábiles (por caso, CD s, DVD s y BR s). Organización Organización de de Computadoras

ContramedidasContramedidas

Contramedidas Contramedidas Nosotros como humanos, ¿qué recaudos tomamos para contrarrestar los errores? Al hablar por

Nosotros como humanos, ¿qué recaudos tomamos para contrarrestar los errores?

Al hablar por celular cuando entramos a un túnel o pasamos abajo de líneas de alta tensión, ¿qué hacemos si justo se corto lo que nos decían?¿qué recaudos tomamos para contrarrestar los errores? En un boliche con la música muy alta, al

En un boliche con la música muy alta, al tratar de conversar con nuestra ocasional pareja de baile, ¿de qué manera hablamos?¿qué hacemos si justo se corto lo que nos decían? Cuando un grupo de soldados solicita

Cuando un grupo de soldados solicita un ataque aéreo sobre posiciones enemigas en las cercanías, ¿de qué manera se transmiten las coordenadas?ocasional pareja de baile, ¿de qué manera hablamos? Organización Organización de de Computadoras

cercanías, ¿de qué manera se transmiten las coordenadas? Organización Organización de de Computadoras
cercanías, ¿de qué manera se transmiten las coordenadas? Organización Organización de de Computadoras
cercanías, ¿de qué manera se transmiten las coordenadas? Organización Organización de de Computadoras
cercanías, ¿de qué manera se transmiten las coordenadas? Organización Organización de de Computadoras
cercanías, ¿de qué manera se transmiten las coordenadas? Organización Organización de de Computadoras
cercanías, ¿de qué manera se transmiten las coordenadas? Organización Organización de de Computadoras
cercanías, ¿de qué manera se transmiten las coordenadas? Organización Organización de de Computadoras
cercanías, ¿de qué manera se transmiten las coordenadas? Organización Organización de de Computadoras
cercanías, ¿de qué manera se transmiten las coordenadas? Organización Organización de de Computadoras

ContramedidasContramedidas

Contramedidas Contramedidas Para contrarrestar el efecto de los errores en la transmisión existen tres alternativas:

Para contrarrestar el efecto de los errores en la transmisión existen tres alternativas:

Aceptar que se produzcan: en ciertas circunstancias es posible que la información transmitida siga siendo relevante aún ante la en ciertas circunstancias es posible que la información transmitida siga siendo relevante aún ante la presencia de un error (por caso, al transmitir un video).

Impedir que se produzcan: tomar todos los recaudos necesarios para asegurar que nunca se produzca un error. Esta alternativa tomar todos los recaudos necesarios para asegurar que nunca se produzca un error. Esta alternativa suele tener un costo prohibitivo.

Contemplar que se produzcan: incorporar mecanismo que permitan atemperar el impacto de estos errores. incorporar mecanismo que permitan atemperar el impacto de estos errores.

que permitan atemperar el impacto de estos errores. Organización Organización de de Computadoras
que permitan atemperar el impacto de estos errores. Organización Organización de de Computadoras
que permitan atemperar el impacto de estos errores. Organización Organización de de Computadoras
que permitan atemperar el impacto de estos errores. Organización Organización de de Computadoras
que permitan atemperar el impacto de estos errores. Organización Organización de de Computadoras
que permitan atemperar el impacto de estos errores. Organización Organización de de Computadoras
que permitan atemperar el impacto de estos errores. Organización Organización de de Computadoras
que permitan atemperar el impacto de estos errores. Organización Organización de de Computadoras
que permitan atemperar el impacto de estos errores. Organización Organización de de Computadoras
que permitan atemperar el impacto de estos errores. Organización Organización de de Computadoras

ContramedidasContramedidas

En caso de adoptar la última alternativa la idea es incorporar un mecanismo que se encargue cancelar el impacto de los eventuales errores de transmisión.Contramedidas Contramedidas Estos mecanismos, cuyo propósito es lidiar con los errores, se clasifican en dos categorías:

Estos mecanismos, cuyo propósito es lidiar con los errores, se clasifican en dos categorías:el impacto de los eventuales errores de transmisión. Códigos detectores de error. Códigos correctores de error.

Códigos detectores de error.es lidiar con los errores, se clasifican en dos categorías: Códigos correctores de error. Organización Organización

Códigos correctores de error.clasifican en dos categorías: Códigos detectores de error. Organización Organización de de Computadoras

Códigos detectores de error. Códigos correctores de error. Organización Organización de de Computadoras
Códigos detectores de error. Códigos correctores de error. Organización Organización de de Computadoras
Códigos detectores de error. Códigos correctores de error. Organización Organización de de Computadoras
Códigos detectores de error. Códigos correctores de error. Organización Organización de de Computadoras
Códigos detectores de error. Códigos correctores de error. Organización Organización de de Computadoras
Códigos detectores de error. Códigos correctores de error. Organización Organización de de Computadoras
Códigos detectores de error. Códigos correctores de error. Organización Organización de de Computadoras
Códigos detectores de error. Códigos correctores de error. Organización Organización de de Computadoras
Códigos detectores de error. Códigos correctores de error. Organización Organización de de Computadoras
Códigos detectores de error. Códigos correctores de error. Organización Organización de de Computadoras

DetecciónDetección vs.vs. correccióncorrección

Detección de errores:Detección Detección vs. vs. corrección corrección Un código detector incorpora información adicional junto con los

Un código detector incorpora información adicional junto con los datos transmitidos de manera que se pueda determinar si se produjo o no un error durante la transmisión. determinar si se produjo o no un error durante la transmisión.

Corrección de errores:si se produjo o no un error durante la transmisión. Un código corrector incorpora más información

Un código corrector incorpora más información que uno detector, ya que la idea es, además de detectar si se produjo un error, tener la certeza de en qué lugar se produjo a fin de poder corregirlo sin requerir la retransmisión del dato en cuestión. poder corregirlo sin requerir la retransmisión del dato en cuestión.

sin requerir la retransmisión del dato en cuestión. Organización Organización de de Computadoras
sin requerir la retransmisión del dato en cuestión. Organización Organización de de Computadoras
sin requerir la retransmisión del dato en cuestión. Organización Organización de de Computadoras
sin requerir la retransmisión del dato en cuestión. Organización Organización de de Computadoras
sin requerir la retransmisión del dato en cuestión. Organización Organización de de Computadoras
sin requerir la retransmisión del dato en cuestión. Organización Organización de de Computadoras
sin requerir la retransmisión del dato en cuestión. Organización Organización de de Computadoras
sin requerir la retransmisión del dato en cuestión. Organización Organización de de Computadoras
sin requerir la retransmisión del dato en cuestión. Organización Organización de de Computadoras
sin requerir la retransmisión del dato en cuestión. Organización Organización de de Computadoras

TiposTipos dede errorerror

Al trabajar con información binaria, el error se trata simplemente de un intercambio ( toggle ) del valor de uno o más bits. toggle ) del valor de uno o más bits.

Los errores se clasifican de la siguiente manera:de un intercambio ( toggle ) del valor de uno o más bits. Error a nivel

Error a nivel de bit: el error afecta a n bits del dato transmitido. En función de n , hablamos el error afecta a n bits del dato transmitido. En función de n, hablamos de error simple, error doble, etc.

Error en ráfaga: el error afecta a m bits consecutivos, estando el primero y el último en error el error afecta a m bits consecutivos, estando el primero y el último en error (nótese que los bits entre medio pueden o no estar en error).

que los bits entre medio pueden o no estar en error). Organización Organización de de Computadoras
que los bits entre medio pueden o no estar en error). Organización Organización de de Computadoras
que los bits entre medio pueden o no estar en error). Organización Organización de de Computadoras
que los bits entre medio pueden o no estar en error). Organización Organización de de Computadoras
que los bits entre medio pueden o no estar en error). Organización Organización de de Computadoras
que los bits entre medio pueden o no estar en error). Organización Organización de de Computadoras
que los bits entre medio pueden o no estar en error). Organización Organización de de Computadoras
que los bits entre medio pueden o no estar en error). Organización Organización de de Computadoras
que los bits entre medio pueden o no estar en error). Organización Organización de de Computadoras
que los bits entre medio pueden o no estar en error). Organización Organización de de Computadoras

ErrorError aa nivelnivel dede bitbit

Error simple:Error Error a a nivel nivel de de bit bit Error doble: Organización Organización de de

Error Error a a nivel nivel de de bit bit Error simple: Error doble: Organización Organización

Error doble:Error Error a a nivel nivel de de bit bit Error simple: Organización Organización de de

a a nivel nivel de de bit bit Error simple: Error doble: Organización Organización de de
a a nivel nivel de de bit bit Error simple: Error doble: Organización Organización de de
a a nivel nivel de de bit bit Error simple: Error doble: Organización Organización de de
a a nivel nivel de de bit bit Error simple: Error doble: Organización Organización de de
a a nivel nivel de de bit bit Error simple: Error doble: Organización Organización de de

OrganizaciónOrganización dede ComputadorasComputadoras -- Mg.Mg. A.A. G.G. StankeviciusStankevicius 1111

Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius

ErrorError enen ráfagaráfaga

Error Error en en ráfaga ráfaga Error en ráfaga (el ejemplo asume que la ráfaga alteró

Error en ráfaga (el ejemplo asume que la ráfaga alteró a la totalidad de los bits alcanzados):

la ráfaga alteró a la totalidad de los bits alcanzados): Organización Organización de de Computadoras
la ráfaga alteró a la totalidad de los bits alcanzados): Organización Organización de de Computadoras
la ráfaga alteró a la totalidad de los bits alcanzados): Organización Organización de de Computadoras
la ráfaga alteró a la totalidad de los bits alcanzados): Organización Organización de de Computadoras
la ráfaga alteró a la totalidad de los bits alcanzados): Organización Organización de de Computadoras
la ráfaga alteró a la totalidad de los bits alcanzados): Organización Organización de de Computadoras
la ráfaga alteró a la totalidad de los bits alcanzados): Organización Organización de de Computadoras
la ráfaga alteró a la totalidad de los bits alcanzados): Organización Organización de de Computadoras
la ráfaga alteró a la totalidad de los bits alcanzados): Organización Organización de de Computadoras
la ráfaga alteró a la totalidad de los bits alcanzados): Organización Organización de de Computadoras
la ráfaga alteró a la totalidad de los bits alcanzados): Organización Organización de de Computadoras

DefinicionesDefiniciones

Denominaremos código a un determinado conjunto de patrones de bits usualmente de longitud fija. código a un determinado conjunto de patrones de bits usualmente de longitud fija.

Sean p y q dos patrones de bits, en este contexto denominaremos distancia entre p y p y q dos patrones de bits, en este contexto denominaremos distancia entre p y q, notado d(p,q) a la cantidad de posiciones de bits en los cuales los patrones p y q difieren

Sea p un patrón de bits, denominaremos peso de la palabra p , notado w(p) , p un patrón de bits, denominaremos peso de la palabra p, notado w(p), al número de bits puestos a 1 dentro de esa palabra.

, al número de bits puestos a 1 dentro de esa palabra. Organización Organización de de
, al número de bits puestos a 1 dentro de esa palabra. Organización Organización de de
, al número de bits puestos a 1 dentro de esa palabra. Organización Organización de de
, al número de bits puestos a 1 dentro de esa palabra. Organización Organización de de
, al número de bits puestos a 1 dentro de esa palabra. Organización Organización de de
, al número de bits puestos a 1 dentro de esa palabra. Organización Organización de de
, al número de bits puestos a 1 dentro de esa palabra. Organización Organización de de
, al número de bits puestos a 1 dentro de esa palabra. Organización Organización de de
, al número de bits puestos a 1 dentro de esa palabra. Organización Organización de de
, al número de bits puestos a 1 dentro de esa palabra. Organización Organización de de

EjemploEjemplo

Sean p = 01001010 y q = 10001011 . p = 01001010 y q = 10001011.

En este contexto, calcular los siguientes pesos:Ejemplo Ejemplo Sean p = 01001010 y q = 10001011 . w(p) = ¿? w(q) =

w(p) = ¿?10001011 . En este contexto, calcular los siguientes pesos: w(q) = ¿? Finalmente, determinar qué distancia

w(q) = ¿?En este contexto, calcular los siguientes pesos: w(p) = ¿? Finalmente, determinar qué distancia existe entre

Finalmente, determinar qué distancia existe entre los patrones p y q : p y q:

d(p,q) = ¿?qué distancia existe entre los patrones p y q : Organización Organización de de Computadoras

distancia existe entre los patrones p y q : d(p,q) = ¿? Organización Organización de de
distancia existe entre los patrones p y q : d(p,q) = ¿? Organización Organización de de
distancia existe entre los patrones p y q : d(p,q) = ¿? Organización Organización de de
distancia existe entre los patrones p y q : d(p,q) = ¿? Organización Organización de de
distancia existe entre los patrones p y q : d(p,q) = ¿? Organización Organización de de
distancia existe entre los patrones p y q : d(p,q) = ¿? Organización Organización de de
distancia existe entre los patrones p y q : d(p,q) = ¿? Organización Organización de de
distancia existe entre los patrones p y q : d(p,q) = ¿? Organización Organización de de
distancia existe entre los patrones p y q : d(p,q) = ¿? Organización Organización de de
distancia existe entre los patrones p y q : d(p,q) = ¿? Organización Organización de de

MínimaMínima distanciadistancia

Mínima Mínima distancia distancia Sea C un código compuesto de patrones de bits de longitud fija.

Sea C un código compuesto de patrones de bits de longitud fija. En este marco, denominaremos mínima distancia del código C a la menor distancia que se observe entre dos patrones de bits no idénticos tomados de C.

entre dos patrones de bits no idénticos tomados de C . Tener en cuenta que para

Tener en cuenta que para determinar la mínima distancia de un cierto código es necesario calcular un gran número de distancias, ya que se debe analizar la distancia entre cada patrón de bits con respecto a los restantes patrones de bits.

de bits con respecto a los restantes patrones de bits. Organización Organización de de Computadoras
de bits con respecto a los restantes patrones de bits. Organización Organización de de Computadoras
de bits con respecto a los restantes patrones de bits. Organización Organización de de Computadoras
de bits con respecto a los restantes patrones de bits. Organización Organización de de Computadoras
de bits con respecto a los restantes patrones de bits. Organización Organización de de Computadoras
de bits con respecto a los restantes patrones de bits. Organización Organización de de Computadoras
de bits con respecto a los restantes patrones de bits. Organización Organización de de Computadoras
de bits con respecto a los restantes patrones de bits. Organización Organización de de Computadoras
de bits con respecto a los restantes patrones de bits. Organización Organización de de Computadoras
de bits con respecto a los restantes patrones de bits. Organización Organización de de Computadoras

EjemploEjemplo

Supongamos que un cierto código se compone de los siguientes patrones de bits los que a su vez codifican a cuatro caracteres:Ejemplo Ejemplo A: 0 0 0 0 0 B: 1 1 1 0 0 C: 0

A:

0 0 0

0 0

B:

1

1 1

0 0

C:

0

0 1

1 1

D:

1

1 0

1 1

¿Cuál es la mínima distancia de este código?1 0 0 C: 0 0 1 1 1 D: 1 1 0 1 1 Organización

1 0 1 1 ¿Cuál es la mínima distancia de este código? Organización Organización de de
1 0 1 1 ¿Cuál es la mínima distancia de este código? Organización Organización de de
1 0 1 1 ¿Cuál es la mínima distancia de este código? Organización Organización de de
1 0 1 1 ¿Cuál es la mínima distancia de este código? Organización Organización de de
1 0 1 1 ¿Cuál es la mínima distancia de este código? Organización Organización de de
1 0 1 1 ¿Cuál es la mínima distancia de este código? Organización Organización de de
1 0 1 1 ¿Cuál es la mínima distancia de este código? Organización Organización de de
1 0 1 1 ¿Cuál es la mínima distancia de este código? Organización Organización de de
1 0 1 1 ¿Cuál es la mínima distancia de este código? Organización Organización de de
1 0 1 1 ¿Cuál es la mínima distancia de este código? Organización Organización de de
Ejemplo Ejemplo Supongamos que el emisor envía el carácter D usando el código recién considerado

EjemploEjemplo

Supongamos que el emisor envía el carácter D usando el código recién considerado (es decir, envía el patrón 11011), pero el receptor recibe el patrón 11000.

¿Cuántos errores a nivel de bit se produjeron?11011 ), pero el receptor recibe el patrón 11000 . El patrón 11000 no será confundido

El patrón 11000 no será confundido con ningún otro patrón válido, es decir, este código permitió detectar 11000 no será confundido con ningún otro patrón válido, es decir, este código permitió detectar el error.

¿Hasta cuántos bits en error puede detectar un código cuya mínima distancia sea m ? m?

puede detectar un código cuya mínima distancia sea m ? Organización Organización de de Computadoras
puede detectar un código cuya mínima distancia sea m ? Organización Organización de de Computadoras
puede detectar un código cuya mínima distancia sea m ? Organización Organización de de Computadoras
puede detectar un código cuya mínima distancia sea m ? Organización Organización de de Computadoras
puede detectar un código cuya mínima distancia sea m ? Organización Organización de de Computadoras
puede detectar un código cuya mínima distancia sea m ? Organización Organización de de Computadoras
puede detectar un código cuya mínima distancia sea m ? Organización Organización de de Computadoras
puede detectar un código cuya mínima distancia sea m ? Organización Organización de de Computadoras
puede detectar un código cuya mínima distancia sea m ? Organización Organización de de Computadoras
puede detectar un código cuya mínima distancia sea m ? Organización Organización de de Computadoras
Análisis Análisis En general, podemos concluir lo siguiente: Toda vez que se produzca una cantidad

AnálisisAnálisis

En general, podemos concluir lo siguiente:

Toda vez que se produzca una cantidad menor de errores que la mínima distancia del código adoptado, el error será siempre detectado . el error será siempre detectado.

Pero, si se produce una cantidad igual o mayor de errores, a veces se detectará pero a veces no . a veces se detectará pero a veces no.

Por caso, usando el código antes visto, tres errores pueden convertir una A en una B , o bien pueden convertir la A en un patrón inválido: A en una B, o bien pueden convertir la A en un patrón inválido:

A:

B:

0 0 0

1

1 1

0 0

0 0

la A en un patrón inválido: A: B: 0 0 0 1 1 1 0 0

A: 0 0

1

0 0 0

0

0 1

inválido: A: B: 0 0 0 1 1 1 0 0 0 0 A: 0 0

1

inválido: A: B: 0 0 0 1 1 1 0 0 0 0 A: 0 0
inválido: A: B: 0 0 0 1 1 1 0 0 0 0 A: 0 0
inválido: A: B: 0 0 0 1 1 1 0 0 0 0 A: 0 0
inválido: A: B: 0 0 0 1 1 1 0 0 0 0 A: 0 0

OrganizaciónOrganización dede ComputadorasComputadoras -- Mg.Mg. A.A. G.G. StankeviciusStankevicius 1818

Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius

DetecciónDetección dede erroreserrores

Para detectar errores se debe incorporar alguna forma de redundancia al dato transmitido, a fin de que se pueda determinar si la información se recibió correctamente.Detección Detección de de errores errores Se han ensayado distintas alternativas: VRC : verificación de redundancia

Se han ensayado distintas alternativas:determinar si la información se recibió correctamente. VRC : verificación de redundancia vertical. LRC :

VRC : verificación de redundancia vertical. : verificación de redundancia vertical.

LRC : verificación de redundancia longitudinal. : verificación de redundancia longitudinal.

CRC : verificación de redundancia cíclica. : verificación de redundancia cíclica.

Checksum: calculo de una suma de comprobación. calculo de una suma de comprobación.

cíclica. Checksum: calculo de una suma de comprobación. Organización Organización de de Computadoras
cíclica. Checksum: calculo de una suma de comprobación. Organización Organización de de Computadoras
cíclica. Checksum: calculo de una suma de comprobación. Organización Organización de de Computadoras
cíclica. Checksum: calculo de una suma de comprobación. Organización Organización de de Computadoras
cíclica. Checksum: calculo de una suma de comprobación. Organización Organización de de Computadoras
cíclica. Checksum: calculo de una suma de comprobación. Organización Organización de de Computadoras
cíclica. Checksum: calculo de una suma de comprobación. Organización Organización de de Computadoras
cíclica. Checksum: calculo de una suma de comprobación. Organización Organización de de Computadoras
cíclica. Checksum: calculo de una suma de comprobación. Organización Organización de de Computadoras
cíclica. Checksum: calculo de una suma de comprobación. Organización Organización de de Computadoras

DetecciónDetección dede erroreserrores

Detección Detección de de errores errores Organización Organización de de Computadoras Computadoras - - Mg. Mg.
Detección Detección de de errores errores Organización Organización de de Computadoras Computadoras - - Mg. Mg.
Detección Detección de de errores errores Organización Organización de de Computadoras Computadoras - - Mg. Mg.
Detección Detección de de errores errores Organización Organización de de Computadoras Computadoras - - Mg. Mg.
Detección Detección de de errores errores Organización Organización de de Computadoras Computadoras - - Mg. Mg.

OrganizaciónOrganización dede ComputadorasComputadoras -- Mg.Mg. A.A. G.G. StankeviciusStankevicius 2020

Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius

BitBit dede paridadparidad

Una de las formas más elementales de detección de errores consiste en incorporar un bit de paridad al dato transmitido. bit de paridad al dato transmitido.

El bit de paridad es un bit que toma el valor 0 ó 1 con el objeto de satisfacer una cierta restricción sobre la paridad de 0 ó 1 con el objeto de satisfacer una cierta restricción sobre la paridad de un determinado patrón de bits.

Es posible implementar un esquema de paridad par o impar , a saber: paridad par o impar, a saber:

Un patrón de bits se dice tener paridad par o impar si, y sólo si, tiene un peso par o impar respectivamente.implementar un esquema de paridad par o impar , a saber: Organización Organización de de Computadoras

si, y sólo si, tiene un peso par o impar respectivamente. Organización Organización de de Computadoras
si, y sólo si, tiene un peso par o impar respectivamente. Organización Organización de de Computadoras
si, y sólo si, tiene un peso par o impar respectivamente. Organización Organización de de Computadoras
si, y sólo si, tiene un peso par o impar respectivamente. Organización Organización de de Computadoras
si, y sólo si, tiene un peso par o impar respectivamente. Organización Organización de de Computadoras
si, y sólo si, tiene un peso par o impar respectivamente. Organización Organización de de Computadoras
si, y sólo si, tiene un peso par o impar respectivamente. Organización Organización de de Computadoras
si, y sólo si, tiene un peso par o impar respectivamente. Organización Organización de de Computadoras
si, y sólo si, tiene un peso par o impar respectivamente. Organización Organización de de Computadoras
si, y sólo si, tiene un peso par o impar respectivamente. Organización Organización de de Computadoras

BitBit dede paridadparidad

A partir de la paridad par o impar es posible definir sendos códigos de detección de errores:Bit Bit de de paridad paridad Código de paridad par: a partir de un cierto dato

Código de paridad par: a partir de un cierto dato se incorpora un bit adicional el cual adoptará el a partir de un cierto dato se incorpora un bit adicional el cual adoptará el valor necesario para que el patrón dato + bit de paridad satisfaga una paridad par.

Código de paridad impar: definido de manera análoga, con la salvedad de que el patrón dato + bit de definido de manera análoga, con la salvedad de que el patrón dato + bit de paridad ahora debe satisfacer una paridad impar.

Por convención, el bit de paridad lo indicaremos a la izquierda del patrón de bits original . a la izquierda del patrón de bits original.

indicaremos a la izquierda del patrón de bits original . Organización Organización de de Computadoras
indicaremos a la izquierda del patrón de bits original . Organización Organización de de Computadoras
indicaremos a la izquierda del patrón de bits original . Organización Organización de de Computadoras
indicaremos a la izquierda del patrón de bits original . Organización Organización de de Computadoras
indicaremos a la izquierda del patrón de bits original . Organización Organización de de Computadoras
indicaremos a la izquierda del patrón de bits original . Organización Organización de de Computadoras
indicaremos a la izquierda del patrón de bits original . Organización Organización de de Computadoras
indicaremos a la izquierda del patrón de bits original . Organización Organización de de Computadoras
indicaremos a la izquierda del patrón de bits original . Organización Organización de de Computadoras
indicaremos a la izquierda del patrón de bits original . Organización Organización de de Computadoras

EjemploEjemplo

Supongamos que nuestro dato original es p = 0111001 . El patrón de bits que resulta al incorporar un bit de p = 0111001. El patrón de bits que resulta al incorporar un bit de paridad dependerá de la paridad que estemos usando:

0 0111001 , al usar paridad par (pues w(p) es par).

0 0111001, al usar paridad par (pues w(p) es par).

1 0111001 , al usar paridad impar (pues w(p) es par).

1 0111001, al usar paridad impar (pues w(p) es par).

Al recibir un cierto patrón de bits, se puede verificar si respeta la paridad adoptada:1 0111001 , al usar paridad impar (pues w(p) es par). Por caso, usando paridad par

Por caso, usando paridad par se acepta el patrón de bits 0 00000000 , pero se rechaza 1 11111111 . 0 00000000, pero se rechaza 1 11111111.

patrón de bits 0 00000000 , pero se rechaza 1 11111111 . Organización Organización de de
patrón de bits 0 00000000 , pero se rechaza 1 11111111 . Organización Organización de de
patrón de bits 0 00000000 , pero se rechaza 1 11111111 . Organización Organización de de
patrón de bits 0 00000000 , pero se rechaza 1 11111111 . Organización Organización de de
patrón de bits 0 00000000 , pero se rechaza 1 11111111 . Organización Organización de de
patrón de bits 0 00000000 , pero se rechaza 1 11111111 . Organización Organización de de
patrón de bits 0 00000000 , pero se rechaza 1 11111111 . Organización Organización de de
patrón de bits 0 00000000 , pero se rechaza 1 11111111 . Organización Organización de de
patrón de bits 0 00000000 , pero se rechaza 1 11111111 . Organización Organización de de
patrón de bits 0 00000000 , pero se rechaza 1 11111111 . Organización Organización de de

AnálisisAnálisis

Paridad es un código con mínima distancia 2 , ¿qué capacidad de detección manifestará? 2, ¿qué capacidad de detección manifestará?

Esta capacidad de detección, ¿depende del esquema de paridad elegido?distancia 2 , ¿qué capacidad de detección manifestará? ¿Será capaz de detectar errores en ráfaga? Este

¿Será capaz de detectar errores en ráfaga?de detección, ¿depende del esquema de paridad elegido? Este código no está en condiciones de corregir

Este código no está en condiciones de corregirelegido? ¿Será capaz de detectar errores en ráfaga? los errores detectados ¿por qué razón? Resulta muy

los errores detectados

¿por qué razón?

Resulta muy fácil de implementar en HW ¿de qué manera? HW ¿de qué manera?

Resulta muy fácil de implementar en HW ¿de qué manera? Organización Organización de de Computadoras
Resulta muy fácil de implementar en HW ¿de qué manera? Organización Organización de de Computadoras
Resulta muy fácil de implementar en HW ¿de qué manera? Organización Organización de de Computadoras
Resulta muy fácil de implementar en HW ¿de qué manera? Organización Organización de de Computadoras
Resulta muy fácil de implementar en HW ¿de qué manera? Organización Organización de de Computadoras
Resulta muy fácil de implementar en HW ¿de qué manera? Organización Organización de de Computadoras
Resulta muy fácil de implementar en HW ¿de qué manera? Organización Organización de de Computadoras
Resulta muy fácil de implementar en HW ¿de qué manera? Organización Organización de de Computadoras
Resulta muy fácil de implementar en HW ¿de qué manera? Organización Organización de de Computadoras
Resulta muy fácil de implementar en HW ¿de qué manera? Organización Organización de de Computadoras

CódigoCódigo VRCVRC

Código Código VRC VRC El código VRC (Vertical Redundancy Check) añade un bit de paridad a

El código VRC (Vertical Redundancy Check) añade un bit de paridad a cada unidad de datos de manera que la cantidad de bits en 1 sea par o impar (en función de la paridad adoptada).

También se lo conoce como código TRC (Transverse Redundancy Check). TRC (Transverse Redundancy Check).

La idea es que se use un bit de paridad para cada unidad de datos, en vez de usar un único bit para la totalidad del mensaje.lo conoce como código TRC (Transverse Redundancy Check). Al igual que paridad, detecta la totalidad de

Al igual que paridad, detecta la totalidad de los errores simples a nivel de unidad de datos. detecta la totalidad de los errores simples a nivel de unidad de datos.

de los errores simples a nivel de unidad de datos. Organización Organización de de Computadoras
de los errores simples a nivel de unidad de datos. Organización Organización de de Computadoras
de los errores simples a nivel de unidad de datos. Organización Organización de de Computadoras
de los errores simples a nivel de unidad de datos. Organización Organización de de Computadoras
de los errores simples a nivel de unidad de datos. Organización Organización de de Computadoras
de los errores simples a nivel de unidad de datos. Organización Organización de de Computadoras
de los errores simples a nivel de unidad de datos. Organización Organización de de Computadoras
de los errores simples a nivel de unidad de datos. Organización Organización de de Computadoras
de los errores simples a nivel de unidad de datos. Organización Organización de de Computadoras
de los errores simples a nivel de unidad de datos. Organización Organización de de Computadoras

CódigoCódigo VRCVRC

Código Código VRC VRC Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A.
Código Código VRC VRC Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A.
Código Código VRC VRC Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A.
Código Código VRC VRC Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A.
Código Código VRC VRC Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A.

OrganizaciónOrganización dede ComputadorasComputadoras -- Mg.Mg. A.A. G.G. StankeviciusStankevicius 2626

Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Código Código LRC LRC El código LRC (Longitudinal Redundancy Check) aplica la misma idea que

CódigoCódigo LRCLRC

El código LRC (Longitudinal Redundancy Check) aplica la misma idea que el código VRC, pero computa la paridad en sentido longitudinal:

VRC , pero computa la paridad en sentido longitudinal: La idea es que un bloque de

La idea es que un bloque de bits se divida en filas, para luego añadir una fila de bits de redundancia.VRC , pero computa la paridad en sentido longitudinal: La intención es permitir la detección de

La intención es permitir la detección de errores en ráfaga . detección de errores en ráfaga.

es permitir la detección de errores en ráfaga . Organización Organización de de Computadoras
es permitir la detección de errores en ráfaga . Organización Organización de de Computadoras
es permitir la detección de errores en ráfaga . Organización Organización de de Computadoras
es permitir la detección de errores en ráfaga . Organización Organización de de Computadoras
es permitir la detección de errores en ráfaga . Organización Organización de de Computadoras
es permitir la detección de errores en ráfaga . Organización Organización de de Computadoras
es permitir la detección de errores en ráfaga . Organización Organización de de Computadoras
es permitir la detección de errores en ráfaga . Organización Organización de de Computadoras
es permitir la detección de errores en ráfaga . Organización Organización de de Computadoras
es permitir la detección de errores en ráfaga . Organización Organización de de Computadoras

EjemploEjemplo

Supongamos que se desea transmitir usando el código LRC , paridad par, al mensaje HOLA el cual está codificado en ASCII extendido: LRC, paridad par, al mensaje HOLA el cual está codificado en ASCII extendido:

H:

0

1 0

0

1

0 0 0

O:

0

1 0

0

1

1

1 1

L:

0

1 0

0

1

1 0 0

A:

0

1 0

0

0

0

0 1

0 0

0 0

1

0

1 0

¿En qué orden se deben transmitir estos bits?0 1 0 0 0 0 0 1 0 0 0 0 1 0 1 0

0 1 0 ¿En qué orden se deben transmitir estos bits? Organización Organización de de Computadoras
0 1 0 ¿En qué orden se deben transmitir estos bits? Organización Organización de de Computadoras
0 1 0 ¿En qué orden se deben transmitir estos bits? Organización Organización de de Computadoras
0 1 0 ¿En qué orden se deben transmitir estos bits? Organización Organización de de Computadoras
0 1 0 ¿En qué orden se deben transmitir estos bits? Organización Organización de de Computadoras
0 1 0 ¿En qué orden se deben transmitir estos bits? Organización Organización de de Computadoras
0 1 0 ¿En qué orden se deben transmitir estos bits? Organización Organización de de Computadoras
0 1 0 ¿En qué orden se deben transmitir estos bits? Organización Organización de de Computadoras
0 1 0 ¿En qué orden se deben transmitir estos bits? Organización Organización de de Computadoras
0 1 0 ¿En qué orden se deben transmitir estos bits? Organización Organización de de Computadoras

AnálisisAnálisis

El código LRC resulta más complicado de analizar producto de la manera en la que ordenan los LRC resulta más complicado de analizar producto de la manera en la que ordenan los bits del mensaje a ser transmitido.

En relación a los errores a nivel de bit, este código sigue detectando correctamente a lo sumo errores simples.en la que ordenan los bits del mensaje a ser transmitido. El principal beneficio es que

El principal beneficio es que ahora estamos en condiciones de detectar errores en ráfaga . detectar errores en ráfaga.

estamos en condiciones de detectar errores en ráfaga . ¿Hasta qué tamaño de ráfaga podemos detectar

¿Hasta qué tamaño de ráfaga podemos detectar correctamente?

qué tamaño de ráfaga podemos detectar correctamente? Organización Organización de de Computadoras
qué tamaño de ráfaga podemos detectar correctamente? Organización Organización de de Computadoras
qué tamaño de ráfaga podemos detectar correctamente? Organización Organización de de Computadoras
qué tamaño de ráfaga podemos detectar correctamente? Organización Organización de de Computadoras
qué tamaño de ráfaga podemos detectar correctamente? Organización Organización de de Computadoras
qué tamaño de ráfaga podemos detectar correctamente? Organización Organización de de Computadoras
qué tamaño de ráfaga podemos detectar correctamente? Organización Organización de de Computadoras
qué tamaño de ráfaga podemos detectar correctamente? Organización Organización de de Computadoras
qué tamaño de ráfaga podemos detectar correctamente? Organización Organización de de Computadoras
qué tamaño de ráfaga podemos detectar correctamente? Organización Organización de de Computadoras

CombinandoCombinando VRCVRC yy LRCLRC

Combinando Combinando VRC VRC y y LRC LRC Organización Organización de de Computadoras Computadoras - -
Combinando Combinando VRC VRC y y LRC LRC Organización Organización de de Computadoras Computadoras - -
Combinando Combinando VRC VRC y y LRC LRC Organización Organización de de Computadoras Computadoras - -
Combinando Combinando VRC VRC y y LRC LRC Organización Organización de de Computadoras Computadoras - -

OrganizaciónOrganización dede ComputadorasComputadoras -- Mg.Mg. A.A. G.G. StankeviciusStankevicius 3030

Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Código Código CRC CRC El código CRC (Cyclic Redundancy Check) se basa en ciertas propiedades

CódigoCódigo CRCCRC

El código CRC (Cyclic Redundancy Check) se basa en ciertas propiedades matemáticas que satisface el cociente entre polinomios.

matemáticas que satisface el cociente entre polinomios. La idea en pocas palabras es agregar al patrón

La idea en pocas palabras es agregar al patrón de bits que compone el mensaje a ser enviado un conjunto de bits adicionales de manera tal que el patrón resultante, al ser considerado como un polinomio binario, resulte divisible de manera exacta por un cierto polinomio denominado polinomio generador.

por un cierto polinomio denominado polinomio generador. Organización Organización de de Computadoras
por un cierto polinomio denominado polinomio generador. Organización Organización de de Computadoras
por un cierto polinomio denominado polinomio generador. Organización Organización de de Computadoras
por un cierto polinomio denominado polinomio generador. Organización Organización de de Computadoras
por un cierto polinomio denominado polinomio generador. Organización Organización de de Computadoras
por un cierto polinomio denominado polinomio generador. Organización Organización de de Computadoras
por un cierto polinomio denominado polinomio generador. Organización Organización de de Computadoras
por un cierto polinomio denominado polinomio generador. Organización Organización de de Computadoras
por un cierto polinomio denominado polinomio generador. Organización Organización de de Computadoras
por un cierto polinomio denominado polinomio generador. Organización Organización de de Computadoras

CódigoCódigo CRCCRC

Código Código CRC CRC Para poder llevar adelante el cociente entre polinomios, se debe interpretar el

Para poder llevar adelante el cociente entre polinomios, se debe interpretar el mensaje original como si se tratara de un polinomio.

La clave está en pensar los n bits que componen al patrón original de bits como los coeficientes binarios de las n bits que componen al patrón original de bits como los coeficientes binarios de las primeras n – 1 potencias de x.

Nótese que el polinomio resultante es de grado| a lo sumo n – 1 . n – 1.

Por caso, el patrón 010011 denota al polinomio x 4 + x + 1 , mientras que el patrón 010011 denota al polinomio x 4 + x + 1, mientras que el patrón 110110 al polinomio x 5 + x 4 + x 2 + x.

110110 al polinomio x 5 + x 4 + x 2 + x . Organización Organización
110110 al polinomio x 5 + x 4 + x 2 + x . Organización Organización
110110 al polinomio x 5 + x 4 + x 2 + x . Organización Organización
110110 al polinomio x 5 + x 4 + x 2 + x . Organización Organización
110110 al polinomio x 5 + x 4 + x 2 + x . Organización Organización
110110 al polinomio x 5 + x 4 + x 2 + x . Organización Organización
110110 al polinomio x 5 + x 4 + x 2 + x . Organización Organización
110110 al polinomio x 5 + x 4 + x 2 + x . Organización Organización
110110 al polinomio x 5 + x 4 + x 2 + x . Organización Organización
110110 al polinomio x 5 + x 4 + x 2 + x . Organización Organización

CódigoCódigo CRCCRC

Sea M(x) el polinomio binario representado el mensaje original, sea G(x) el polinomio generador que se M(x) el polinomio binario representado el mensaje original, sea G(x) el polinomio generador que se esté usando y sea r su grado.

En este contexto, el mensaje a ser transmitido T(x) es x r M(x) + R(x) , donde R(x) es el resto de dividir T(x) es x r M(x) + R(x), donde R(x) es el resto de dividir x r M(x) por G(x).

R(x) es el resto de dividir x r M(x) por G(x) . T(x) resulta divisible de

T(x) resulta divisible de manera exacta por G(x) puesto que al tratarse de polinomios binarios, se puede demostrar que x r M(x) + R(x) equivale a x r M(x) – R(x).

x r M(x) + R(x) equivale a x r M(x) – R(x) . Organización Organización de
x r M(x) + R(x) equivale a x r M(x) – R(x) . Organización Organización de
x r M(x) + R(x) equivale a x r M(x) – R(x) . Organización Organización de
x r M(x) + R(x) equivale a x r M(x) – R(x) . Organización Organización de
x r M(x) + R(x) equivale a x r M(x) – R(x) . Organización Organización de
x r M(x) + R(x) equivale a x r M(x) – R(x) . Organización Organización de
x r M(x) + R(x) equivale a x r M(x) – R(x) . Organización Organización de
x r M(x) + R(x) equivale a x r M(x) – R(x) . Organización Organización de
x r M(x) + R(x) equivale a x r M(x) – R(x) . Organización Organización de
x r M(x) + R(x) equivale a x r M(x) – R(x) . Organización Organización de

AlgoritmoAlgoritmo CRCCRC

Algoritmo Algoritmo CRC CRC Pasos para calcular los bits que deben ser agregados a un cierto

Pasos para calcular los bits que deben ser agregados a un cierto mensaje M(x):

Primero se añaden r bits en 0 a la derecha de M(x) (esto es, se añaden tantos ceros r bits en 0 a la derecha de M(x) (esto es, se añaden tantos ceros como grado tenga el polinomio generador).

Luego se divide el polinomio obtenido por el polinomio generador. Esta división se realiza en módulo dos, que es igual que la división binaria, con dos excepciones:tantos ceros como grado tenga el polinomio generador). no hay carries ni borrows. Finalmente, para obtener

no hay carries ni borrows.

Finalmente, para obtener T(x) se suma el resto R(x) al polinomio original M(x) (desplazado en r bits). T(x) se suma el resto R(x) al polinomio original M(x) (desplazado en r bits).

R(x) al polinomio original M(x) (desplazado en r bits). Organización Organización de de Computadoras
R(x) al polinomio original M(x) (desplazado en r bits). Organización Organización de de Computadoras
R(x) al polinomio original M(x) (desplazado en r bits). Organización Organización de de Computadoras
R(x) al polinomio original M(x) (desplazado en r bits). Organización Organización de de Computadoras
R(x) al polinomio original M(x) (desplazado en r bits). Organización Organización de de Computadoras
R(x) al polinomio original M(x) (desplazado en r bits). Organización Organización de de Computadoras
R(x) al polinomio original M(x) (desplazado en r bits). Organización Organización de de Computadoras
R(x) al polinomio original M(x) (desplazado en r bits). Organización Organización de de Computadoras
R(x) al polinomio original M(x) (desplazado en r bits). Organización Organización de de Computadoras
R(x) al polinomio original M(x) (desplazado en r bits). Organización Organización de de Computadoras
Ejemplo Ejemplo Supongamos que el mensaje que se desea transmitir es M(x) = 11010110111 y

EjemploEjemplo

Supongamos que el mensaje que se desea transmitir es M(x) = 11010110111 y que el polinomio generador que se está usando es G(x) = 10011.

x r M(x) = 110101101110000

10011

010011

10011

0000010111

10011

0000  10011 010011  10011 0000010111  10011 0010000  10011 0001100 = R(x) Organización

0010000

10011

0001100 = R(x)
0001100 = R(x)
10011 0000010111  10011 0010000  10011 0001100 = R(x) Organización Organización de de Computadoras
10011 0000010111  10011 0010000  10011 0001100 = R(x) Organización Organización de de Computadoras

OrganizaciónOrganización dede ComputadorasComputadoras -- Mg.Mg. A.A. G.G. StankeviciusStankevicius 3535

Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Ejemplo Ejemplo Verifiquemos que el mensaje a ser transmitido T(x) = x r M(x) +

EjemploEjemplo

Verifiquemos que el mensaje a ser transmitido T(x) = x r M(x) + R(x) es divisible de manera exacta por G(x):

x r M(x) + R(x) = 110101101111100

10011

010011

10011

0000010111

10011

0010011

10011

010011  10011 0000010111  10011 0010011  10011 000 0000 ☑ Organización Organización de de
010011  10011 0000010111  10011 0010011  10011 000 0000 ☑ Organización Organización de de
010011  10011 0000010111  10011 0010011  10011 000 0000 ☑ Organización Organización de de
010011  10011 0000010111  10011 0010011  10011 000 0000 ☑ Organización Organización de de

0000000

OrganizaciónOrganización dede ComputadorasComputadoras -- Mg.Mg. A.A. G.G. StankeviciusStankevicius 3636

Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius

RolesRoles deldel algoritmoalgoritmo

El algoritmo CRC cumple dos roles: CRC cumple dos roles:

Por un lado permite determinar los bits que se deben agregar al mensaje original . determinar los bits que se deben agregar al mensaje original.

A su vez, también permiten verificar si el mensaje recibido contiene o no errores . verificar si el mensaje recibido contiene o no errores.

Nótese que el receptor puede ir dividiendo el mensaje a medida que va recibiendo los bits.verificar si el mensaje recibido contiene o no errores . Es decir, no hace falta recibirlo

Es decir, no hace falta recibirlo en su totalidad para recién ahí comenzar a verificar el CRC no hace falta recibirlo en su totalidad para recién ahí comenzar a verificar el CRC .

Este código es muy simple de implementar en HW . es muy simple de implementar en HW .

CRC . Este código es muy simple de implementar en HW . Organización Organización de de
CRC . Este código es muy simple de implementar en HW . Organización Organización de de
CRC . Este código es muy simple de implementar en HW . Organización Organización de de
CRC . Este código es muy simple de implementar en HW . Organización Organización de de
CRC . Este código es muy simple de implementar en HW . Organización Organización de de
CRC . Este código es muy simple de implementar en HW . Organización Organización de de
CRC . Este código es muy simple de implementar en HW . Organización Organización de de
CRC . Este código es muy simple de implementar en HW . Organización Organización de de
CRC . Este código es muy simple de implementar en HW . Organización Organización de de
CRC . Este código es muy simple de implementar en HW . Organización Organización de de
Ejemplo Ejemplo Supongamos que se alteran un par de los bits del mensaje transmitido T(x)

EjemploEjemplo

Supongamos que se alteran un par de los bits del mensaje transmitido T(x). En este contexto, verifiquemos nuevamente el cociente:

110101101111100 100111101111100

10011

0000011011

10011

010001

10011

00010110

10011

0000011011  10011 010001  10011 00010110  10011 00 1010 ☒ Organización Organización de de

001010

 10011 010001  10011 00010110  10011 00 1010 ☒ Organización Organización de de Computadoras
 10011 010001  10011 00010110  10011 00 1010 ☒ Organización Organización de de Computadoras
 10011 010001  10011 00010110  10011 00 1010 ☒ Organización Organización de de Computadoras

OrganizaciónOrganización dede ComputadorasComputadoras -- Mg.Mg. A.A. G.G. StankeviciusStankevicius 3838

Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius

PolinomioPolinomio generadorgenerador

El polinomio generador a ser usado debe ser elegido con cuidado , ya que la capacidad de detección de errores dependerá debe ser elegido con cuidado, ya que la capacidad de detección de errores dependerá de las características del mismo.

Existen varios polinomios actualmente en uso:de errores dependerá de las características del mismo. CRC-4-ITU : x 4 + x + 1

CRC-4-ITU: x 4 + x + 1 : x 4 + x + 1

CRC-16-IBM : x 1 6 : x 16

CRC-CCITT : x 1 6 : x 16

CRC-32 : x 3 2 + : x 32 +

+ x 15 + x 2 + 1

+ x 12 + x 5 + 1

x 23 +

x 22 +

x 26 +

x 16 +

x 12 +

x 11 +

x 10

+ x 8 + x 7 + x 5 + x 4 + x 2 + x + 1

0 + x 8 + x 7 + x 5 + x 4 + x 2
0 + x 8 + x 7 + x 5 + x 4 + x 2
0 + x 8 + x 7 + x 5 + x 4 + x 2
0 + x 8 + x 7 + x 5 + x 4 + x 2
0 + x 8 + x 7 + x 5 + x 4 + x 2
0 + x 8 + x 7 + x 5 + x 4 + x 2
0 + x 8 + x 7 + x 5 + x 4 + x 2
0 + x 8 + x 7 + x 5 + x 4 + x 2
0 + x 8 + x 7 + x 5 + x 4 + x 2
0 + x 8 + x 7 + x 5 + x 4 + x 2

CódigosCódigos cíclicoscíclicos

Códigos Códigos cíclicos cíclicos Los polinomios generados más interesantes dan a lugar a códigos cíclicos .

Los polinomios generados más interesantes dan a lugar a códigos cíclicos.

Un código se denomina cíclico cuando el mensaje T(x) puede ser corrido cíclicamente a derecha o izquierda un número arbitrario de lugares sin T(x) puede ser corrido cíclicamente a derecha o izquierda un número arbitrario de lugares sin perder la propiedad de ser divisible exactamente por G(x).

Sea k la longitud del mensaje original M(x) y sea n la del mensaje a transmitir k la longitud del mensaje original M(x) y sea n la del mensaje a transmitir T(x). Se puede demonstrar que para obtener un código cíclico para el par (n, k) basta con tomar como polinomio generador de grado n – k a alguno de los factores del polinomio x n + 1.

– k a alguno de los factores del polinomio x n + 1 . Organización Organización
– k a alguno de los factores del polinomio x n + 1 . Organización Organización
– k a alguno de los factores del polinomio x n + 1 . Organización Organización
– k a alguno de los factores del polinomio x n + 1 . Organización Organización
– k a alguno de los factores del polinomio x n + 1 . Organización Organización
– k a alguno de los factores del polinomio x n + 1 . Organización Organización
– k a alguno de los factores del polinomio x n + 1 . Organización Organización
– k a alguno de los factores del polinomio x n + 1 . Organización Organización
– k a alguno de los factores del polinomio x n + 1 . Organización Organización
– k a alguno de los factores del polinomio x n + 1 . Organización Organización
Ejemplo Ejemplo Se desea obtener un polinomio generador para k = 11 y n =

EjemploEjemplo

Se desea obtener un polinomio generador para k = 11 y n = 15.

En primer lugar se debe factorizar x 1 5 + 1 : x 15 + 1:

x 15 + 1 = (x 4 + x + 1) (x 4 + x 3 + 1) (x 4 + x 3 + x 2 + x + 1) (x 2 + x + 1) (x + 1)

Luego, se puede tomar cualquiera de los factores+ x 2 + x + 1)  (x 2 + x + 1)  (x

de grado r

=

n – k = 4.

Por caso, en el último ejemplo desarrollado usamos como polinomio generador (x 4 + x + 1) . (x 4 + x + 1).

usamos como polinomio generador (x 4 + x + 1) . Organización Organización de de Computadoras
usamos como polinomio generador (x 4 + x + 1) . Organización Organización de de Computadoras
usamos como polinomio generador (x 4 + x + 1) . Organización Organización de de Computadoras
usamos como polinomio generador (x 4 + x + 1) . Organización Organización de de Computadoras
usamos como polinomio generador (x 4 + x + 1) . Organización Organización de de Computadoras
usamos como polinomio generador (x 4 + x + 1) . Organización Organización de de Computadoras
usamos como polinomio generador (x 4 + x + 1) . Organización Organización de de Computadoras
usamos como polinomio generador (x 4 + x + 1) . Organización Organización de de Computadoras
usamos como polinomio generador (x 4 + x + 1) . Organización Organización de de Computadoras
usamos como polinomio generador (x 4 + x + 1) . Organización Organización de de Computadoras
Ejemplo Ejemplo Verifiquemos que al rotar tres lugares a derecha el mensaje T(x) del último

EjemploEjemplo

Verifiquemos que al rotar tres lugares a derecha el mensaje T(x) del último ejemplo calculado se sigue verificando la propiedad:

110101101111100 >> 3 = 100110101101111

10011

00000010110

10011

0010111

10011

0010011

10011

00000010110  10011 0010111  10011 0010011  10011 0 0000 ☑ Organización Organización de de

00000

 10011 0010111  10011 0010011  10011 0 0000 ☑ Organización Organización de de Computadoras
 10011 0010111  10011 0010011  10011 0 0000 ☑ Organización Organización de de Computadoras
 10011 0010111  10011 0010011  10011 0 0000 ☑ Organización Organización de de Computadoras

OrganizaciónOrganización dede ComputadorasComputadoras -- Mg.Mg. A.A. G.G. StankeviciusStankevicius 4242

Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius

RelaciónRelación entreentre CRCCRC yy paridadparidad

CRC se distingue de los métodos antes vistos de detección de errores ya que a priori se distingue de los métodos antes vistos de detección de errores ya que a priori parece no depender de la incorporación de bits de paridad entre medio de los bits del mensaje.

No obstante, sigue existiendo un vínculo entre CRC y paridad: CRC y paridad:

Agregar un bit de paridad equivale a aplicar el código CRC usando x + 1 como polinomio generador. CRC usando x + 1 como polinomio generador.

Verificar esta aseveración calculando el patrón de bits a transmitir para M(x) = 1101 y G(x) = 11 . M(x) = 1101 y G(x) = 11.

de bits a transmitir para M(x) = 1101 y G(x) = 11 . Organización Organización de
de bits a transmitir para M(x) = 1101 y G(x) = 11 . Organización Organización de
de bits a transmitir para M(x) = 1101 y G(x) = 11 . Organización Organización de
de bits a transmitir para M(x) = 1101 y G(x) = 11 . Organización Organización de
de bits a transmitir para M(x) = 1101 y G(x) = 11 . Organización Organización de
de bits a transmitir para M(x) = 1101 y G(x) = 11 . Organización Organización de
de bits a transmitir para M(x) = 1101 y G(x) = 11 . Organización Organización de
de bits a transmitir para M(x) = 1101 y G(x) = 11 . Organización Organización de
de bits a transmitir para M(x) = 1101 y G(x) = 11 . Organización Organización de
de bits a transmitir para M(x) = 1101 y G(x) = 11 . Organización Organización de

CapacidadCapacidad dede deteccióndetección

Analizar la capacidad de detección de errores del código CRC no es del todo trivial, requiere un análisis pormenorizado. CRC no es del todo trivial, requiere un análisis pormenorizado.

Sea T(x) el patrón de bits enviado y sea T(x) + E(x) el patrón recibido. T(x) el patrón de bits enviado y sea T(x) + E(x) el patrón recibido.

En caso de que E(x) = 0 hablamos de una transmisión sin errores. E(x) = 0 hablamos de una transmisión sin errores.

Caso contrario, cuando E(x) ≠ 0 , la mayor y menor potencia de x marcarán el comienzo y E(x) ≠ 0, la mayor y menor potencia de x marcarán el comienzo y el fin de la ráfaga en error.

x marcarán el comienzo y el fin de la ráfaga en error. Organización Organización de de
x marcarán el comienzo y el fin de la ráfaga en error. Organización Organización de de
x marcarán el comienzo y el fin de la ráfaga en error. Organización Organización de de
x marcarán el comienzo y el fin de la ráfaga en error. Organización Organización de de
x marcarán el comienzo y el fin de la ráfaga en error. Organización Organización de de
x marcarán el comienzo y el fin de la ráfaga en error. Organización Organización de de
x marcarán el comienzo y el fin de la ráfaga en error. Organización Organización de de
x marcarán el comienzo y el fin de la ráfaga en error. Organización Organización de de
x marcarán el comienzo y el fin de la ráfaga en error. Organización Organización de de
x marcarán el comienzo y el fin de la ráfaga en error. Organización Organización de de

CapacidadCapacidad dede deteccióndetección

Como por construcción G(x) divide a T(x) , la capacidad de detección del código CRC pivota en que G(x) divide a T(x), la capacidad de detección del código CRC pivota en que G(x) no divida a E(x).

Por caso, para un error en ráfaga de p bits comenzando a partir de la posición q , se verifica que E(x) = p bits comenzando a partir de la posición q, se verifica que E(x) = x q (x p-1 + … + 1).

Nótese que en el término de la derecha pueden faltar factores, salvo el primero y el último.se verifica que E(x) = x q (x p - 1 + … + 1) .

Analicemos por casos lo que sucede para distintos valores de p . p.

por casos lo que sucede para distintos valores de p . Organización Organización de de Computadoras
por casos lo que sucede para distintos valores de p . Organización Organización de de Computadoras
por casos lo que sucede para distintos valores de p . Organización Organización de de Computadoras
por casos lo que sucede para distintos valores de p . Organización Organización de de Computadoras
por casos lo que sucede para distintos valores de p . Organización Organización de de Computadoras
por casos lo que sucede para distintos valores de p . Organización Organización de de Computadoras
por casos lo que sucede para distintos valores de p . Organización Organización de de Computadoras
por casos lo que sucede para distintos valores de p . Organización Organización de de Computadoras
por casos lo que sucede para distintos valores de p . Organización Organización de de Computadoras
por casos lo que sucede para distintos valores de p . Organización Organización de de Computadoras

CapacidadCapacidad dede deteccióndetección

Capacidad Capacidad de de detección detección Error en ráfaga de longitud p ≤ r : En

Error en ráfaga de longitud p ≤ r:

En este caso no hay forma de que G(x) divida exactamente a E(x) puesto que no divide de manera exacta a ninguno de G(x) divida exactamente a E(x) puesto que no divide de manera exacta a ninguno de los dos términos que lo componen.

Es decir, las ráfagas en error de una longitud menor o igual al grado del polinomio generador son siempre detectadas . son siempre detectadas.

al grado del polinomio generador son siempre detectadas . Organización Organización de de Computadoras
al grado del polinomio generador son siempre detectadas . Organización Organización de de Computadoras
al grado del polinomio generador son siempre detectadas . Organización Organización de de Computadoras
al grado del polinomio generador son siempre detectadas . Organización Organización de de Computadoras
al grado del polinomio generador son siempre detectadas . Organización Organización de de Computadoras
al grado del polinomio generador son siempre detectadas . Organización Organización de de Computadoras
al grado del polinomio generador son siempre detectadas . Organización Organización de de Computadoras
al grado del polinomio generador son siempre detectadas . Organización Organización de de Computadoras
al grado del polinomio generador son siempre detectadas . Organización Organización de de Computadoras
al grado del polinomio generador son siempre detectadas . Organización Organización de de Computadoras
Ejemplo Ejemplo Retomando el ejemplo anterior, toda ráfaga en error de longitud 4 o menor

EjemploEjemplo

Retomando el ejemplo anterior, toda ráfaga en error de longitud 4 o menor será detectada. Por caso, para E(x) = x 10 (x 3 + 1) vimos que T(x) + E(x) no resulta divisible por G(x):

110101101111100 100111101111100

10011

0000011011

10011

010001

10011

00010110

 10011 0000011011  10011 010001  10011 00010110  10011 001010 ☒ Organización Organización de

10011

001010 ☒
001010 ☒
 10011 010001  10011 00010110  10011 001010 ☒ Organización Organización de de Computadoras
 10011 010001  10011 00010110  10011 001010 ☒ Organización Organización de de Computadoras

OrganizaciónOrganización dede ComputadorasComputadoras -- Mg.Mg. A.A. G.G. StankeviciusStankevicius 4747

Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius

CapacidadCapacidad dede deteccióndetección

Capacidad Capacidad de de detección detección Error en ráfaga de longitud p = r + 1

Error en ráfaga de longitud p =

r + 1:

En este caso, como estamos calculando el cociente entre polinomio de igual grado, G(x) dividirá a E(x) únicamente cuando G(x) coincida con el término de la derecha de G(x) dividirá a E(x) únicamente cuando G(x) coincida con el término de la derecha de E(x).

En este escenario, ¿cuál será la probabilidad de no detectar el error? Pues bien, para que coincidan los r + 1 en error, basta con que coincidan los r - 1 bits internos r + 1 en error, basta con que coincidan los r - 1 bits internos (ya que en el polinomio generador, al igual que en E(x), el primer y el último bit deben ser 1).

Es decir, CRC falla en sólo 1 de las 2 r - 1 posibilidades. CRC falla en sólo 1 de las 2 r-1 posibilidades.

CRC falla en sólo 1 de las 2 r - 1 posibilidades. Organización Organización de de
CRC falla en sólo 1 de las 2 r - 1 posibilidades. Organización Organización de de
CRC falla en sólo 1 de las 2 r - 1 posibilidades. Organización Organización de de
CRC falla en sólo 1 de las 2 r - 1 posibilidades. Organización Organización de de
CRC falla en sólo 1 de las 2 r - 1 posibilidades. Organización Organización de de
CRC falla en sólo 1 de las 2 r - 1 posibilidades. Organización Organización de de
CRC falla en sólo 1 de las 2 r - 1 posibilidades. Organización Organización de de
CRC falla en sólo 1 de las 2 r - 1 posibilidades. Organización Organización de de
CRC falla en sólo 1 de las 2 r - 1 posibilidades. Organización Organización de de
CRC falla en sólo 1 de las 2 r - 1 posibilidades. Organización Organización de de
Ejemplo Ejemplo Analicemos el caso en que no se detecta la ráfaga en error de

EjemploEjemplo

Analicemos el caso en que no se detecta la ráfaga en error de longitud 5. Por caso, considerando que E(x) = x 5 (x 4 + x +1):

110101101111100 110100100011100

10011

010010

10011

000011000

10011

010111

10011

0010011

 10011 000011000  10011 010111  10011 0010011 10011 0000000 ☑ Organización Organización de de
 10011 000011000  10011 010111  10011 0010011 10011 0000000 ☑ Organización Organización de de
 10011 000011000  10011 010111  10011 0010011 10011 0000000 ☑ Organización Organización de de
 10011 000011000  10011 010111  10011 0010011 10011 0000000 ☑ Organización Organización de de
 10011 000011000  10011 010111  10011 0010011 10011 0000000 ☑ Organización Organización de de
 10011 000011000  10011 010111  10011 0010011 10011 0000000 ☑ Organización Organización de de
 10011 000011000  10011 010111  10011 0010011 10011 0000000 ☑ Organización Organización de de
 10011 000011000  10011 010111  10011 0010011 10011 0000000 ☑ Organización Organización de de
 10011 000011000  10011 010111  10011 0010011 10011 0000000 ☑ Organización Organización de de
 10011 000011000  10011 010111  10011 0010011 10011 0000000 ☑ Organización Organización de de

CapacidadCapacidad dede deteccióndetección

Capacidad Capacidad de de detección detección Error en ráfaga de longitud p > r + 1

Error en ráfaga de longitud p >

r + 1:

En este caso la situación es análoga, debemos analizar bajo qué condiciones G(x) divide exactamente al término de la derecha de E(x) . G(x) divide exactamente al término de la derecha de E(x).

Este análisis se reduce a considerar qué sucede con el último paso de la división: para que el resto sea 0 el último resto parcial debe coincidir con G(x) . 0 el último resto parcial debe coincidir con G(x).

Esto equivale a que coincidan sólo los primeros r bits de G(x) con ese último resto, ya que el bit más significativo de r bits de G(x) con ese último resto, ya que el bit más significativo de G(x) es necesariamente 1.

el bit más significativo de G(x) es necesariamente 1 . Organización Organización de de Computadoras
el bit más significativo de G(x) es necesariamente 1 . Organización Organización de de Computadoras
el bit más significativo de G(x) es necesariamente 1 . Organización Organización de de Computadoras
el bit más significativo de G(x) es necesariamente 1 . Organización Organización de de Computadoras
el bit más significativo de G(x) es necesariamente 1 . Organización Organización de de Computadoras
el bit más significativo de G(x) es necesariamente 1 . Organización Organización de de Computadoras
el bit más significativo de G(x) es necesariamente 1 . Organización Organización de de Computadoras
el bit más significativo de G(x) es necesariamente 1 . Organización Organización de de Computadoras
el bit más significativo de G(x) es necesariamente 1 . Organización Organización de de Computadoras
el bit más significativo de G(x) es necesariamente 1 . Organización Organización de de Computadoras
Ejemplo Ejemplo Analicemos el caso en que no se detecta una ráfaga en error de

EjemploEjemplo

Analicemos el caso en que no se detecta una ráfaga en error de longitud mayor a 5. Por caso, sea E(x) = x(x 12 + x 9 + x 2 + 1):

110101101111100 100111101110110

10011

0000011011

10011

010001

10011

00010011

1 0  10011 0000011011  10011 010001  10011 00010011  10011 00 0000 ☑

10011

000000

 10011 010001  10011 00010011  10011 00 0000 ☑ Organización Organización de de Computadoras
 10011 010001  10011 00010011  10011 00 0000 ☑ Organización Organización de de Computadoras
 10011 010001  10011 00010011  10011 00 0000 ☑ Organización Organización de de Computadoras

OrganizaciónOrganización dede ComputadorasComputadoras -- Mg.Mg. A.A. G.G. StankeviciusStankevicius 5151

Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius
Organización Organización de de Computadoras Computadoras - - Mg. Mg. A. A. G. G. Stankevicius Stankevicius

CapacidadCapacidad dede deteccióndetección

Capacidad Capacidad de de detección detección En síntesis, la capacidad de detección de ráfagas en error

En síntesis, la capacidad de detección de ráfagas en error de un código CRC que haga uso de un polinomio generador de grado r es:

Detecta con una probabilidad del 100% a las ráfagas en error de longitud k ≤ r . 100% a las ráfagas en error de longitud k ≤ r.

Detecta con una probabilidad de 1 – 2 - ( r - 1 ) a las ráfagas en error de 1 – 2 -(r-1) a las ráfagas en error de longitud k = r + 1.

Detecta con una probabilidad de 1 – 2 - r a las ráfagas en error de cualquier otra longitud. 1 – 2 -r a las ráfagas en error de cualquier otra longitud.

- r a las ráfagas en error de cualquier otra longitud. Organización Organización de de Computadoras
- r a las ráfagas en error de cualquier otra longitud. Organización Organización de de Computadoras
- r a las ráfagas en error de cualquier otra longitud. Organización Organización de de Computadoras
- r a las ráfagas en error de cualquier otra longitud. Organización Organización de de Computadoras
- r a las ráfagas en error de cualquier otra longitud. Organización Organización de de Computadoras
- r a las ráfagas en error de cualquier otra longitud. Organización Organización de de Computadoras
- r a las ráfagas en error de cualquier otra longitud. Organización Organización de de Computadoras
- r a las ráfagas en error de cualquier otra longitud. Organización Organización de de Computadoras
- r a las ráfagas en error de cualquier otra longitud. Organización Organización de de Computadoras
- r a las ráfagas en error de cualquier otra longitud. Organización Organización de de Computadoras
Ejemplo Ejemplo Consideremos la capacidad de detección de los códigos CRC-12 y CRC-CCITT : CRC-12

EjemploEjemplo

Consideremos la capacidad de detección de los códigos CRC-12 y CRC-CCITT :

CRC-12 detecta el 100% de las ráfagas en error de longitud 12 o menor, pero también detecta el 100% de las ráfagas en error de longitud 12 o menor, pero también detecta el 99.91% de las ráfagas de longitud 13 y el 99.96% de las restantes ráfagas en error.

Pero adoptando CRC-CCITT en vez de CRC-12 , la situación mejora notablemente, ahora se detecta el 100% CRC-CCITT en vez de CRC-12 , la situación mejora notablemente, ahora se detecta el 100% de la ráfagas en error de longitud 16 o menor, pero también el 99.994% de las ráfagas de longitud 17 y el 99.997% de las restantes.

ráfagas de longitud 17 y el 99.997% de las restantes. Organización Organización de de Computadoras
ráfagas de longitud 17 y el 99.997% de las restantes. Organización Organización de de Computadoras
ráfagas de longitud 17 y el 99.997% de las restantes. Organización Organización de de Computadoras
ráfagas de longitud 17 y el 99.997% de las restantes. Organización Organización de de Computadoras
ráfagas de longitud 17 y el 99.997% de las restantes. Organización Organización de de Computadoras
ráfagas de longitud 17 y el 99.997% de las restantes. Organización Organización de de Computadoras
ráfagas de longitud 17 y el 99.997% de las restantes. Organización Organización de de Computadoras
ráfagas de longitud 17 y el 99.997% de las restantes. Organización Organización de de Computadoras
ráfagas de longitud 17 y el 99.997% de las restantes. Organización Organización de de Computadoras
ráfagas de longitud 17 y el 99.997% de las restantes. Organización Organización de de Computadoras

FuncionesFunciones hashhash

Si bien la capacidad de detección del código CRC es directamente proporcional al grado del polinomio generador que se esté usando, no se CRC es directamente proporcional al grado del polinomio generador que se esté usando, no se ha popularizado el uso de polinomios de grado mayor a 32.

se ha popularizado el uso de polinomios de grado mayor a 32. El uso de polinomios

El uso de polinomios generadores de grado tan alto degrada el desempeño.

De hacer falta un mayor niveles de detección se puede hacer uso de funciones hash tales como MD5 o SHA-1 . funciones hash tales como MD5 o SHA-1.

hacer uso de funciones hash tales como MD5 o SHA-1 . Organización Organización de de Computadoras
hacer uso de funciones hash tales como MD5 o SHA-1 . Organización Organización de de Computadoras
hacer uso de funciones hash tales como MD5 o SHA-1 . Organización Organización de de Computadoras
hacer uso de funciones hash tales como MD5 o SHA-1 . Organización Organización de de Computadoras
hacer uso de funciones hash tales como MD5 o SHA-1 . Organización Organización de de Computadoras
hacer uso de funciones hash tales como MD5 o SHA-1 . Organización Organización de de Computadoras