Reed-Solomon “ Detección y Corrección  de Errores en CD ” Esperanza Romero Andrés Marroquín
Detección y Corrección  de Errores en CD <ul><li>Un frame es la unidad básica de almacenamiento de datos en un CD y se com...
Detección y Corrección  de Errores en CD <ul><li>Al leer los datos del CD, lo primero que hace el dispositivo es quitar lo...
Detección y Corrección  de Errores en CD <ul><li>Todos los métodos de corrección de errores están basados en información r...
Reed-Solomon  <ul><li>El código fue inventado por Irving S. Reed y Gustave Solomon (de ahí su nombre) en el año 1960. Este...
Reed-Solomon <ul><li>Es un código cíclico no binario y constituye una subclase de los códigos BCH. Los códigos cíclicos so...
Códigos de Bloque <ul><li>El principio que se utiliza en los códigos de bloque consiste en estructurar los datos en bloque...
Reed-Solomon <ul><li>Los códigos Reed-Solomon se basan en un área especialista de la Matemática llamada campos Galois o ca...
Como Funciona Reed-Solomon <ul><li>El codificador Reed-Solomon toma un bloque de información digital y añade bits redundan...
Propiedades De Los Códigos  Reed-Solomon  El total de Bytes de paridad es igual al Mensaje Total menos Mensaje Inicial  n-k
Ejemplo <ul><li>Un código popular Reed-Solomon es RS(255,223) con símbolos de 8 bits. Cada palabra de código contiene 255 ...
Decodificación  Reed-Solomon <ul><li>Los procedimientos algebraicos de decodificación de Reed-Solomon pueden corregir erro...
Implementación Hardware <ul><li>Existe una cantidad implementaciones hardware. Muchos de estos sistemas utilizan circuitos...
Implementación Software <ul><li>Hasta hace poco implementación en software para aplicaciones en tiempo real requería demas...
Próxima SlideShare
Cargando en…5
×

Reed Solomon

12.938 visualizaciones

Publicado el

0 comentarios
2 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

Sin descargas
Visualizaciones
Visualizaciones totales
12.938
En SlideShare
0
De insertados
0
Número de insertados
45
Acciones
Compartido
0
Descargas
398
Comentarios
0
Recomendaciones
2
Insertados 0
No insertados

No hay notas en la diapositiva.

Reed Solomon

  1. 1. Reed-Solomon “ Detección y Corrección de Errores en CD ” Esperanza Romero Andrés Marroquín
  2. 2. Detección y Corrección de Errores en CD <ul><li>Un frame es la unidad básica de almacenamiento de datos en un CD y se compone de: </li></ul><ul><li>- Combinación de Sincronismo : 27 Bits. </li></ul><ul><li>- Código de Sub-canal: 17 Bits. </li></ul><ul><li>- Datos de usuario: 408 Bits. </li></ul><ul><li>- Detección y corrección de errores: 36 Bits. </li></ul><ul><li>Total: 588 bits </li></ul>
  3. 3. Detección y Corrección de Errores en CD <ul><li>Al leer los datos del CD, lo primero que hace el dispositivo es quitar los 27 bits de sincronismo. Los restantes 561 bits de canal son convertidos mediante la modulación de ocho a catorce inversa (Eight to Fourteen Modulation, EFM) en 33 bytes. Uno de estos bytes, el del subcanal, es enviado a un decodificador especial y 8 bytes se usan para la Detección Y Corrección De Errores. </li></ul><ul><li>Todos los reproductores de CD y las unidades CD-ROM disponen de un hardware especial de detección y corrección de errores para estos 8 bytes. Si no hay errores, o tras corregirlos, se eliminan estos 8 bytes. Quedan, por tanto, 24 bytes de datos de usuario en un frame. </li></ul>
  4. 4. Detección y Corrección de Errores en CD <ul><li>Todos los métodos de corrección de errores están basados en información redundante en combinación con algoritmos matemáticos para detectar el error y reconstruir los datos originales. Estos métodos se llaman EDC (error detection code), ECC (error correction code) y EDAC (error detection and correction code). </li></ul><ul><li>El código de corrección de errores de un CD se basa en el conocido código de corrección llamado Reed Solomon Code. Los reproductores de CD de audio y las unidades CD-ROM usan un método internacional de corrección denominado Cross Interleaved Reed Solomon Code (CIRC). El decodificador esta integrado en el hardware. </li></ul>
  5. 5. Reed-Solomon <ul><li>El código fue inventado por Irving S. Reed y Gustave Solomon (de ahí su nombre) en el año 1960. Este código encuentra actualmente aplicación en áreas como los CDs, telefonía móvil y sondas espaciales (la sonda Galileo a Júpiter en 1989, la sonda Magallanes a Venus ese mismo año o la sonda Ulises al Sol en 1990, por citar algunos ejemplos). También es de destacar el empleo del código Reed-Solomon en las comunicaciones por satélite Digital Video Broadcasting (DVB), así como en los sistemas xDSL de comunicación por cable. </li></ul>
  6. 6. Reed-Solomon <ul><li>Es un código cíclico no binario y constituye una subclase de los códigos BCH. Los códigos cíclicos son una subclase de los códigos de bloque estándar de detección y corrección de errores que protege la información contra errores en los datos transmitidos sobre un canal de comunicaciones. Este tipo de código pertenece a la categoría FEC (Forward Error Correction), es decir, corrige los datos alterados en el receptor y para ello utiliza unos bits adicionales que permiten esta recuperación a posteriori. </li></ul>
  7. 7. Códigos de Bloque <ul><li>El principio que se utiliza en los códigos de bloque consiste en estructurar los datos en bloques de longitud fija y añadir a cada bloque un cierto número de bits llamados bits de redundancia. </li></ul><ul><li>Sólo ciertas combinaciones de bits son aceptables y forman una colección de palabras de código válidas. </li></ul><ul><li>Cuando los datos se transmiten y llegan al receptor hay dos posibilidades: </li></ul><ul><li>1. Que la palabra que se recibe sea una palabra de código válido. </li></ul><ul><li>2. Que la palabra que se recibe no sea un código válido, en cuyo caso hay dos posibilidades: </li></ul><ul><li>* El receptor puede recrear el bloque original (código autocorrector). </li></ul><ul><li>* El receptor puede pedir que se retransmita el bloque (código de autochequeo). </li></ul>
  8. 8. Reed-Solomon <ul><li>Los códigos Reed-Solomon se basan en un área especialista de la Matemática llamada campos Galois o campos finitos. Un campo finito tiene la propiedad de que las operaciones aritméticas (+,-,x,/,etc.) en elementos del campo siempre tienen un resultado en el campo. Un codificador o decodificador Reed-Solomon debe ser capaz de realizar estas operaciones aritméticas. </li></ul>
  9. 9. Como Funciona Reed-Solomon <ul><li>El codificador Reed-Solomon toma un bloque de información digital y añade bits redundantes. Los errores pueden ocurrir durante la transmisión o almacenamiento de información por varios motivos (p. Ej. Ruido o interferencia, ralladuras en los discos compactos etc.). El decodificador Reed-Solomon procesa cada bloque e intenta corregir los errores y recuperar la información original. El número y tipo de errores que pueden ser corregidos depende de las características del código Reed-Solomon. </li></ul>
  10. 10. Propiedades De Los Códigos Reed-Solomon El total de Bytes de paridad es igual al Mensaje Total menos Mensaje Inicial n-k
  11. 11. Ejemplo <ul><li>Un código popular Reed-Solomon es RS(255,223) con símbolos de 8 bits. Cada palabra de código contiene 255 bytes de palabra de código, de los cuales 223 bytes son datos y 32 bytes son paridad. Para este código se tiene: </li></ul><ul><li>* n=255, k=223, s=8 </li></ul><ul><li>* 2t=32, t=16 </li></ul>
  12. 12. Decodificación Reed-Solomon <ul><li>Los procedimientos algebraicos de decodificación de Reed-Solomon pueden corregir errores y datos perdidos. Un &quot;borrado&quot; ocurre cuando la posición de un símbolo errado es conocido. Un decodificador puede corregir hasta t errores o hasta 2t &quot;borrados&quot;. Información sobre los &quot;borrados&quot; puede ser frecuentemente otorgada por el demodulador en un sistema de comunicación digital, es decir, el demodulador &quot;marca&quot; los símbolos recibidos que con probabilidad contienen errores. </li></ul><ul><li>Cuando una palabra de código es decodificada, existen tres posibilidades </li></ul><ul><li>1. Si 2s + r < 2t (s errores, r &quot;borrados&quot;) entonces la palabra de código original transmitida puede ser siempre recuperada. </li></ul><ul><li>2. El decodificador detectará que no puede recuperar la palabra de código original e indicará este hecho. </li></ul><ul><li>3. El decodificador decodificará erróneamente y recuperará una palabra de código incorrecta sin indicación. </li></ul>
  13. 13. Implementación Hardware <ul><li>Existe una cantidad implementaciones hardware. Muchos de estos sistemas utilizan circuitos integrados comerciales que codifican y decodifican códigos Reed-Solomon. Estos circuitos integrados soportan un cierto grado de programación (p. Ej. RS(255,k) donde t=1 a 16 símbolos). Una tendencia reciente es hacia VHDL o diseños Verilog. Estos tienen una cantidad importante de ventajas sobre los circuitos integrados estándar. Estos diseños pueden ser integrados con otros VHDL o diseños Verilog y ser sintetizados en un FPGA (Field Programmable Gate Array) o ASIC (Application Specific Integrated Circuit). lo que permite diseños &quot;Sistemas sobre Chip&quot; donde múltiples módulos pueden ser combinados en un solo circuito integrado. Dependiendo en los volúmenes de producción los diseños anteriores pueden llevar a reducir costos en comparación con los circuitos integrados usuales. Con lo anterior se evita que un usuario deba comprar &quot;de por vida&quot; un mismo circuito integrado. </li></ul>
  14. 14. Implementación Software <ul><li>Hasta hace poco implementación en software para aplicaciones en tiempo real requería demasiado poder computacional para todos excepto los más simples códigos Reed-Solomon (es decir, códigos con pequeños valores de t). El mayor problema de implementar los códigos Reed-Solomon en software es que procesadores de propósito general no soportan aritmética de campo de Galois. Por ejemplo, para implementar un campo de Galois que multiplique en software requiere un test de cero, dos revisiones en tablas logarítmicas, sumatoria en módulo, y búsqueda en tabla de antilogaritmo. Sin embargo con el aumento en el rendimiento de los procesadores y un diseño cuidadoso significa que implementación en software pueden trabajar con tasas de bits relativamente altas. </li></ul>

×