Análisis y simulación en Matlab del método de detección y corrección de errores Reed Solomon (204,188) utilizado en la norma ISDB Tb e implementación en un FPGA
Texto completo
(2) ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA. ANÁLISIS Y SIMULACIÓN EN MATLAB DEL MÉTODO DE DETECCIÓN Y CORRECCIÓN DE ERRORES REED-SOLOMON (204,188) UTILIZADO EN LA NORMA ISDB-TB E IMPLEMENTACIÓN EN UN FPGA. PROYECTO PREVIO A LA OBTENCIÓN DEL TÍTULO DE INGENIERO EN ELECTRÓNICA Y TELECOMUNICACIONES. LENÍN ALEXIS AGUIRRE SÁNCHEZ [email protected]. ESTEBAN PATRICIO GORDÓN UBIDIA [email protected]. DIRECTOR: ING. Ph.D. PABLO ANÍBAL LUPERA MORILLO [email protected]. Quito, junio 2016.
(3) ii. DECLARACIÓN. Nosotros, Lenín Alexis Aguirre Sánchez y Esteban Patricio Gordón Ubidia, declaramos bajo juramento que el trabajo aquí descrito es de nuestra autoría; que no ha sido previamente presentado para ningún grado o calificación profesional; y que hemos consultado las referencias bibliográficas que se incluyen en este documento. A través de la presente declaración cedemos nuestros derechos de propiedad intelectual correspondientes a este trabajo, a la Escuela politécnica Nacional, según lo establecido por la Ley de propiedad intelectual, por su Reglamento y por la normatividad institucional vigente.. Lenín Alexis Aguirre Sánchez. Esteban Patricio Gordón Ubidia.
(4) iii. CERTIFICACIÓN. Certifico que el presente trabajo fue desarrollado por Lenín Alexis Aguirre Sánchez y Esteban Patricio Gordón Ubidia, bajo mi supervisión.. Ing. Ph.D. Pablo Aníbal Lupera Morillo DIRECTOR DEL PROYECTO. AGRADECIMIENTO.
(5) iv. “DAR GRACIAS A DIOS POR LO QUE SE TIENE, ALLÍ EMPIEZA EL ARTE DE VIVIR”. El éxito radica en aprovechar los medios y las facilidades que la vida nos ofrece; nos convertimos en personas exitosas cuando nuestros logros se ponen a disposición de los demás.. Mi agradecimiento eterno a mis padres Marcia y Víctor, primeros educadores en mi vida quienes con su ejemplo de trabajo, esfuerzo, dedicación y amor cultivan en mí los conocimientos y valores necesarios para el desenvolvimiento en la sociedad.. A mi hermano Víctor Fabián, quien siempre ha estado a mi lado de manera incondicional. A toda mi familia, por compartir los buenos y malos momentos siendo soporte indispensable para seguir adelante.. De manera especial mi agradecimiento al Doctor Pablo Lupera, pilar fundamental en la realización de la presente, quien dedicó su tiempo, paciencia. y vastos. conocimientos para guiarnos en el camino acertado a fin de llevar a buen término la ejecución de este trabajo investigativo.. Mi agradecimiento profundo a la institución. del saber; La Escuela Politécnica. Nacional, en la cual me he formado con los más altos valores y conocimientos a lo largo de estos años de preparación académica profesional, a sus docentes que realizan una actividad creadora y transformadora contribuyendo de esta manera a que los jóvenes podamos adquirir los conocimientos necesarios a fin de ser útiles y retribuir a nuestra sociedad.. Lenín. AGRADECIMIENTO.
(6) v. Doy gracias a Dios por bendecirme para poder culminar este sueño tan anhelado, gracias por darme una familia maravillosa.. A mis padres, María Fernanda y Hugo, porque han sido mi soporte, apoyo y consejo en todos los pasos y decisiones desde el inicio hasta el final de mi carrera y a lo largo de toda mi vida. Gracias por ser mi ejemplo y por estar siempre a mi lado, a ustedes les debo lo que soy ahora.. A mis hermanos Vanesa y Ricardo, por su apoyo y cariño permanente que me impulsa a seguir adelante.. A mi abuelita Bachita, por ser un ejemplo de amor en mi vida. Gracias por todo el apoyo y cariño que me brinda en el día a día de mi vida.. A mi compañero de tesis Lenin Aguirre por el esfuerzo, dedicación y paciencia durante la elaboración de este proyecto. Porque sé que siempre podré contar con su apoyo cualquiera sea la circunstancia.. A mi director de tesis Ing. Ph.D. Pablo Lupera por su tiempo y colaboración brindada durante la elaboración de este proyecto.. A la Escuela Politécnica Nacional ya que fueron en sus aulas en donde recibí el conocimiento intelectual para llegar a ser el profesional que hoy soy.. A mis amigos quienes estuvieron conmigo durante todos estos años de estudios y con quienes hemos vivido grandes momentos. Gracias por el apoyo y por el empuje que me brindaron para seguir adelante en momentos de complicación en la universidad, principalmente a Vane, Taty, Moni, Juanfer, Telmo.. Esteban Gordón Ubidia. DEDICATORIA.
(7) vi. A la memoria de mis abuelitos Dorila y Ernesto, personas excepcionales que llenaron mi vida de experiencias, conocimientos, valores y un profundo amor. Mi eterna inspiración para luchar en la consecución de mis objetivos propuestos.. La presencia de su ausencia, hace que permanezcan siempre en mi corazón.. A mis padres Marcia y Víctor, por su apoyo absoluto a lo largo de mi existencia.. A mi hermano Víctor Fabián, por ser mi ejemplo de dedicación y responsabilidad.. A mis abuelitos Delia y Augusto por sus sabios consejos.. A mi amor Gisella, que ha estado siempre a mi lado brindándome cariño y confianza en todo este tiempo.. A mis amigos Esteban, Telmo, Luis, Juan Fer, Vane, Taty, Moni, Marlon y Marco amigos incondicionales que compartieron conmigo los años de estudio.. LENÍN. DEDICATORIA.
(8) vii. Dedico este trabajo a mis padres, hermanos y abuelita con todo mi cariño y amor porque hicieron todo para que lograra mis sueños y metas, por estar siempre conmigo cada día de mi vida, a ustedes por siempre mi corazón y mi agradecimiento.. Gracias por todo, los amo mucho!. Esteban Gordón Ubidia. CONTENIDO.
(9) viii. RESUMEN ........................................................................................................................ XX PRESENTACIÓN............................................................................................................ XXI CAPÍTULO 1 FUNDAMENTOS TEÓRICOS .......................................................................................... 1. 1.1 INTRODUCCIÓN A LA TELEVISIÓN DIGITAL TERRESTRE ISDB-Tb ... 1 1.1.1 NORMA BRASILEÑA ABNT NBR ......................................................... 2 1.1.1.1. Características Generales ................................................... 2. 1.1.1.2. Codificación externa ............................................................. 5. 1.2 CODIFICACIÓN DE CORRECCIÓN DE ERRORES..................................... 6 1.2.1 DISTANCIA MÍNIMA DE UN CÓDIGO ................................................. 6 1.2.2 CÓDIGOS FEC......................................................................................... 6 1.2.3 CÓDIGOS DE BLOQUE LINEAL .......................................................... 7 1.2.4 CÓDIGOS CÍCLICOS .............................................................................. 8 1.2.5 CÓDIGOS BCH ........................................................................................ 9 1.3 REED-SOLOMON.............................................................................................. 10 1.3.1 FUNDAMENTOS MATEMÁTICOS ..................................................... 10 1.3.1.1. Teoría de Conjuntos ........................................................... 11. 1.3.1.2. Teoría de Grupos ................................................................ 14. 1.3.1.3. Teoría de Anillos ................................................................. 16. 1.3.1.4. Teoría de Campos .............................................................. 17. 1.3.1.5. Teoría de los Campos de Galois...................................... 19. 1.3.2 CONCEPTOS ALGEBRAICOS BÁSICOS......................................... 20 1.3.2.1. Aritmética de Módulo 2 ...................................................... 20. 1.3.2.2. Estructura Polinomial ......................................................... 21. 1.3.3 CODIFICACIÓN Y DECODIFICACIÓN DEL CÓDIGO REEDSOLOMON .............................................................................................. 22. 1.3.3.1. Polinomio Primitivo ............................................................. 24. 1.3.3.2. Polinomio Generador ......................................................... 25. 1.3.3.3. Ejemplo de Codificación RS(15,9) ................................... 25. 1.3.3.4. Ejemplo de Decodificación RS(15,9) ............................... 36.
(10) ix. 1.3.3.5. Parámetros iniciales para el cálculo del código RS abreviado (204,188) .......................................................... 55. 1.4 MODULACIÓN ................................................................................................... 56 1.4.1 QPSK........................................................................................................ 56 1.4.2 OFDM ....................................................................................................... 57 1.4.3 Diagrama Modulación a utilizarse en la simulación.......................... 60 1.5 RUIDO GAUSSIANO Y DESVANECIMIENTO ............................................. 61 1.5.1 Ruido Gaussiano .................................................................................... 61 1.5.2 Desvanecimiento de una Señal ........................................................... 62 CAPÍTULO 2 SIMULACIÓN Y ANÁLISIS DEL DESEMPEÑO DEL CODIFICADOR REED SOLOMON UTILIZANDO MATLAB ............................................................................. 63 2.1 PROCEDIMIENTO Y SOLUCIÓN..................................................................... 63 2.1.1 DIAGRAMAS DE FLUJO DE LOS PARÁMETROS INICIALES........ 64 2.1.1.1. Generación del Polinomio Primitivo ........................................... 64. 2.1.1.2. Campo de Galois .......................................................................... 65. 2.1.1.3. Operación de Suma GF ............................................................... 66. 2.1.1.4. Operación XOR ............................................................................. 67. 2.1.1.5. Establecimiento del Polinomio Generador................................ 68. 2.1.1.6. Suma XOR ..................................................................................... 68. 2.1.1.7. Operación de Redondeo .............................................................. 70. 2.1.2 DIAGRAMAS DE FLUJO DE LA CODIFICACIÓN .............................. 71 2.1.2.1. Codificador ..................................................................................... 71. 2.1.3 DIAGRAMAS DE FLUJO DE TRANSMISIÓN ..................................... 72 2.1.3.1. Modulador ...................................................................................... 72. 2.1.3.2. Generador de Ruido ..................................................................... 73. 2.1.3.3. Demodulador ................................................................................. 74. 2.1.4 DIAGRAMAS DE FLUJO DE LA DECODIFICACIÓN ........................ 74 2.1.4.1. Cálculo de los Síndromes ............................................................ 75. 2.1.4.2. Algoritmo de Berlekamp-Massey................................................ 76. 2.1.4.3. Polinomio localizador de error .................................................... 78.
(11) x. 2.1.4.4. Polinomio evaluador del error ..................................................... 79. 2.1.4.5. Magnitud del error ......................................................................... 80. 2.1.4.6. Decodificador................................................................................. 82. 2.1.5 DIAGRAMA DE FLUJO RUTINA PRINCIPAL REED-SOLOMON ... 83 2.1.6 RESULTADOS DE LA SIMULACIÓN DE LOS ALGORITMOS DEL CODIFICADOR REED-SOLOMON ....................................................... 83 2.1.6.1. Ejemplo y resultados de la codificación RS (15,9) ................. 84. 2.1.6.2. Ejemplo y resultados de la codificación RS (204,188) .......... 91. 2.2 EFICIENCIA DEL ALGORITMO FRENTE AL NIVEL DE ERROR .............110 CAPÍTULO 3 IMPLEMENTACIÓN DEL CODIFICADOR Y DECODIFICADOR RS ...................120 3.1 CARACTERÍSTICAS DE LA TARJETA FPGA SPARTAN 3E ....................120 3.1.1 MÓDULO INTERFAZ_SPI ....................................................................123 3.1.2 MÓDULO INTERFAZ_USUARIO.........................................................125 3.1.3 MÓDULO ALGORITMO_CONTROL ...................................................127 3.1.4 COMUNICACIÓN UART........................................................................127 3.2 LENGUAJE VHDL .............................................................................................129 3.2.1 VENTAJAS DEL LENGUAJE VHDL ....................................................129 3.2.2 CARACTERÍSTICAS DEL LENGUAJE VHDL ...................................130 3.2.2.1. Descripción textual normalizada...............................................130. 3.2.2.2. Extenso rango de capacidad descriptiva ................................130. 3.2.3 MODELADO VHDL.................................................................................130 3.2.3.1. Declaración de Entidad ..............................................................130. 3.2.3.2. Cuerpo de Arquitectura ..............................................................131. 3.2.4 TIPO DE DESCRIPCIÓN ......................................................................131 3.2.4.1. Descripción de comportamiento ...............................................131. 3.2.4.2. Descripción de flujo de datos ....................................................131. 3.2.4.3. Descripción estructural...............................................................132. 3.2.4.4. Descripción mixta ........................................................................132. 3.3 TRANSFORMACIÓN DEL ALGORITMO DESARROLLADO EN MATLAB A LENGUAJE VHDL...........................................................................................132.
(12) xi. 3.4 SIMULACIÓN DEL CODIFICADOR RS(15,9) EN ISIM SIMULATOR DE XILINX...................................................................................................................136 3.5 IMPLEMENTACIÓN FÍSICA DEL CODIFICADOR Y DECODIFICADOR RS (15,9) ....................................................................................................................138 3.5.1 GUÍA DE USO DEL PANEL DE CONTROL DE ALGORITMOS PROGRAMADOS EN TARJETA FPGA ..............................................139 3.5.2 RECURSOS UTILIZADOS EN LA TARJETA FPGA SPARTAN 3E PARA EL CODIFICADOR Y DECODIFICADOR RS (15,9) ............150 CAPÍTULO 4 CONCLUSIONES Y RECOMENDACIONES.............................................................151 4.1 CONCLUSIONES .........................................................................................151 4.2 RECOMENDACIONES................................................................................153 BIBLIOGRAFÍA ..............................................................................................................155. ANEXO A: CÓDIGO FUENTE GENERACIÓN POLINOMIO PRIMITIIVO. ANEXO B: CÓDIGO FUENTE GENERACIÓN CAMPO DE GALOIS Y TABLA XOR. ANEXO C: CÓDIGO FUENTE DEL CODIFICADOR REED-SOLOMON (15,9). ANEXO D: CÓDIGO FUENTE DEL GENERADOR DE ERROR, RS(15,9) ANEXO E: CÓDIGO FUENTE DEL ALGORITMO SÍNDROMES, RS(15,9). ANEXO F: CÓDIGO FUENTE DEL ALGORITMO BERLEKAMP-MASSEY, RS(15,9). ANEXO G: CÓDIGO FUENTE DEL ALGORITMO POLINOMIO LOCALIZADOR, RS(15,9). ANEXO H: CÓDIGO FUENTE DEL ALGORITMO POLINOMIO EVALUADOR DEL ERROR, RS(15,9)..
(13) xii. ANEXO I: CÓDIGO FUENTE DEL ALGORITMO MAGNITUD DEL ERROR, RS(15,9). ANEXO J: CÓDIGO FUENTE DEL DECODIFICADOR REED-SOLOMON (15,9). ANEXO K: CÓDIGO FUENTE DEL CODIFICADOR REED-SOLOMON (204,188). ANEXO L: CÓDIGO FUENTE DEL MODULADOR OFDM ANEXO M: CÓDIGO FUENTE DEL GENERADOR DE RUIDO, RS(204,188) ANEXO N: CÓDIGO FUENTE DEL DEMODULADOR OFDM ANEXO O: CÓDIGO FUENTE DEL ALGORITMO SÍNDROMES, RS(204,188). ANEXO P: CÓDIGO FUENTE DEL ALGORITMO BERLEKAMP-MASSEY, RS(204,188). ANEXO Q: CÓDIGO FUENTE DEL ALGORITMO POLINOMIO LOCALIZADOR, RS(204,188). ANEXO R: CÓDIGO FUENTE DEL ALGORITMO POLINOMIO EVALUADOR DEL ERROR, RS(204,188). ANEXO S: CÓDIGO FUENTE DEL ALGORITMO MAGNITUD DEL ERROR, RS(204,188). ANEXO T: CÓDIGO FUENTE DEL DECODIFICADOR REED-SOLOMON RS(204,188). ANEXO U: CÓDIGO FUENTE DEL CODIFICADOR Y DECODIFICADOR REED-SOLOMON (15,9) EN FPGA. ANEXO V: CÓDIGO FUENTE DE LA SIMULACIÓN DEL CODIFICADOR REED-SOLOMON (15,9) EN FPGA. ANEXO W: CÓDIGO FUENTE DEL CODIFICADOR REED-SOLOMON (204,188) EN FPGA..
(14) xiii. ANEXO X: CÓDIGO FUENTE DEL DECODIFICADOR REED-SOLOMON (204,188) EN FPGA. ANEXO Y: INSTALACIÓN PAQUETES DE COMUNICACIÓN MATLAB. ANEXO Z: INTERFAZ GRÁFICA PRINCIPAL (MAIN)..
(15) xiv. ÍNDICE DE FIGURAS CAPÍTULO 1. Figura 1.1 Visión general del sistema de transmisión de TV digital ........................... 2 Figura 1.2 Transmisión del TSP ....................................................................................... 5 Figura 1.3 Formato de paquetes TSP MPEG y transmisión TSP ............................... 6 Figura 1.4 Circuito de registro de desplazamiento con realimentación lineal ......... 34 Figura 1.5 Berlekamp-Masey .......................................................................................... 42 Figura 1.6 Recíprocos de raíces y correspondiente posición................................... 53 Figura 1.7 Diagrama de constelaciones modulación QPSK ...................................... 56 Figura 1.8 Multiportadora convencional frente a portadoras ortogonales ............... 59 Figura 1.9 Espectro de una señal OFDM vs FDM....................................................... 60 Figura 1.10 Transmisor con modulación OFDM .......................................................... 60 Figura 1.11 Receptor con modulación ODFM.............................................................. 61 Figura 1.12 Ruido Gaussiano ......................................................................................... 62 Figura 1.13 Desvanecimiento de una Señal................................................................. 62 CAPÍTULO 2. Figura 2.1 Sistema de Transmisión ............................................................................... 63 Figura 2.2 Algoritmo para la generación del Polinomio Primitivo ............................ .64 Figura 2.3 Campo de Galois .......................................................................................... .65 Figura 2.4 Suma GF ........................................................................................................ .66 Figura 2.5 Tabla XOR ..................................................................................................... .67 Figura 2.6 Procedimiento para el establecimiento del Polinomio Generador ........ .68 Figura 2.7 Suma XOR ..................................................................................................... .69 Figura 2.8 Procedimiento de la operación de Redondeo .......................................... .70 Figura 2.9 Codificador RS – parte 1 ............................................................................. .71 Figura 2.10 Codificador RS – parte 2 ........................................................................... .72 Figura 2.11 Modulador .................................................................................................... .73 Figura 2.12 Generador de Ruido ................................................................................... .73 Figura 2.13 Demodulador ............................................................................................... .74 Figura 2.14 Cálculo de los Síndromes - parte 1 ......................................................... .75.
(16) xv. Figura 2.15 Cálculo de los Síndromes - parte 2 ......................................................... .75 Figura 2.16 Berlekamp-Massey - parte 1 ..................................................................... .76 Figura 2.17 Berlekamp-Massey - parte 2 ..................................................................... .77 Figura 2.18 Berlekamp-Massey - parte 3 ..................................................................... .78 Figura 2.19 Polinomio localizador - parte 1 ................................................................. .78 Figura 2.20 Polinomio localizador - parte 2 ................................................................. .79 Figura 2.21 Polinomio evaluador del error................................................................... .79 Figura 2.22 Magnitud del error - parte 1....................................................................... .80 Figura 2.23 Magnitud del error - parte 2....................................................................... .81 Figura 2.24 Decodificación ............................................................................................. .82 Figura 2.25 Rutina Principal REED-SOLOMON ......................................................... .83 Figura 2.26 Menú principal del simulador de Matlab ................................................. .84 Figura 2.27 Interfaz Codificación RS (15,9) ............................................................... .85 Figura 2.28 Entrada de datos......................................................................................... .85 Figura 2.29 Parámetro Campo Galois .......................................................................... .86 Figura 2.30 Tabla XOR de las operaciones entre los elementos del campo de Galois para un codificador RS(15,9) ........................................................................................ .86 Figura 2.31 Polinomio Primitivo para el codificador RS(15,9) ................................. .86 Figura 2.32 Polinomio Generador para el codificador RS(15,9) ............................. .87 Figura 2.33 Opción para la codificación RS(15,9) en el simulador de Matlab ....... 87 Figura 2.34 Ejemplo de una palabra codificada con RS (15,9) ............................... .87 Figura 2.35 Simulación de la Codificación RS(15,9) en Simulinlk ........................... .88 Figura 2.36 Interfaz de decodificación Reed-Solomon (15,9) ................................. .88 Figura 2.37 Ingreso de errores para la decodificación RS(15,9) ............................ .89 Figura 2.38 Parámetros generados en la Decodificación RS(15,9) ....................... .89 Figura 2.39 Resultados de la Decodificación RS(15,9) ............................................ .90 Figura 2.40 Simulación de la Decodificación en Simulink ......................................... .90 Figura 2.41 Bloques internos del algoritmo de Decodificación ................................ .91 Figura 2.42 Interfaz de la Codificación RS(204,188) ................................................ .92 Figura 2.43 Parámetros de Inicio del codificador RS (204,188) ............................. .93 Figura 2.44 Simulación ................................................................................................... .93 Figura 2.45 Palabra Codificada ..................................................................................... .94 Figura 2.46 Opciones del codificador RS (204,188) ................................................. .94.
(17) xvi. Figura 2.47 Simulación de la Codificación RS (204,188) en Simulink .................... .95 Figura 2.48 Interfaz de la modulación en el codificador RS(204,188) ................... .96 Figura 2.49 Representación discreta de la Palabra Codificada ............................... .96 Figura 2.50 Diagrama de constelación del modulador antes de la transmisión .... .97 Figura 2.51 Transformada Inversa de Fourier de la palabra codificada ................. .97 Figura 2.52 Señal después de pasar por DAC ........................................................... .98 Figura 2.53 Señal modulada a transmitirse ................................................................. .98 Figura 2.54 Opciones de intervalo de guarda en la simulación ............................... .99 Figura 2.55 Señal Modulada a 1/4 de intervalo de guarda ....................................... .99 Figura 2.56 Señal Modulada a 1/8 de intervalo de guarda ....................................... .99 Figura 2.57 Señal Modulada a 1/16 de intervalo de guarda ....................................100 Figura 2.58 Señal Modulada a 1/32 de intervalo de guarda. ..................................100 Figura 2.59 SNR y Ps.....................................................................................................100 Figura 2.60 Resultados del proceso de Demodulación ............................................101 Figura 2.61 Señal Recibida con ruido..........................................................................101 Figura 2.62 Señal en fase y cuadratura en el proceso de demodulación .............102 Figura 2.63 Señal recibida después del conversor analógico a digital ..................102 Figura 2.64 Señal recuperada con errores en el receptor .......................................103 Figura 2.65 Diagrama de bloques del canal simulado en Simulink ........................103 Figura 2.66 Diagrama de constelación del Demodulador en el receptor...............104 Figura 2.67 Interfaz para la decodificación de la señal ............................................104 Figura 2.68 Interfaz completa del proceso de Decodificación .................................105 Figura 2.69 Datos de entrada .......................................................................................105 Figura 2.70 Parámetros del Proceso de Decodificación RS (204,188) ................107 Figura 2.71 Palabra Decodificada RS (204,188) ......................................................108 Figura 2.72 Simulación de la Decodificación..............................................................109 Figura 2.73 Interfaz gráfica con los valores completos de la decodificación ........110 Figura 2.74 Errores vs Potencia de Ruido .................................................................112 Figura 2.75 Número de errores vs número de transmisiones para Ps (0.0008) ..113 Figura 2.76 Número de errores vs número de transmisiones para Ps (0.0009) ..113 Figura 2.77 Número de errores vs número de transmisiones para Ps (0.0010) ..113 Figura 2.78 Número de errores vs número de transmisiones para Ps (0.0011) ..114 Figura 2.79 Número de errores vs número de transmisiones para Ps (0.0012) ..114.
(18) xvii. Figura 2.80 Número de errores vs número de transmisiones para Ps (0.0013) ..114 Figura 2.81 Número de errores vs número de transmisiones para Ps (0.0014) .115 Figura 2.82 Número de errores vs número de transmisiones para Ps (0.0015) .115 Figura 2.83 Número de errores vs número de transmisiones para Ps (0.0020) ..115 Figura 2.84 Modulación con potencia de ruido de Ps (0.00002) ...........................116 Figura 2.85 Señal recibida sin ruido ............................................................................117 Figura 2.86 Diagrama de constelaciones señal sin errores .....................................117 Figura 2.87 Modulación con potencia de ruido de Ps (0.02) ..................................118 Figura 2.88 Señal recibida con ruido ...........................................................................118 Figura 2.89 Diagrama de constelaciones señal con errores ...................................119 CAPÍTULO 3. Figura 3.1 Tarjeta FPGA Spartan-3E utilizada en el proyecto ................................120 Figura 3.2 Módulos de una tarjeta FPGA ..................................................................121 Figura 3.3 Componentes de la Interfaz SPI ..............................................................122 Figura 3.4 Comunicación SPI .......................................................................................123 Figura 3.5 Diagrama de bloques del módulo Interfaz SPI ......................................124 Figura 3.6 Estados de control del módulo SPI ...........................................................125 Figura 3.7 Diagrama de bloques del puerto de entrada ...........................................126 Figura 3.8 Diagrama de bloques del puerto de salida ..............................................127 Figura 3.9 Diagrama de Bloques del sistema de transmisión y recepción digital 128 Figura 3.10 Ícono de la herramienta Matlab HDL Coder..........................................133 Figura 3.11 Selección del nombre del archivo VHDL ...............................................133 Figura 3.12 Selección de la función de Matlab para la transformación .................134 Figura 3.13 Parámetros para la generación del archivo VHDL ...............................134 Figura 3.14 Ventana de generación de código VHDL exitosa .................................135 Figura 3.15 Script VHDL generado en Matlab ...........................................................135 Figura 3.16 Esquema de circuito Codificador RS(15,9) ..........................................136 Figura 3.17 Simulación del codificador RS(15,9) .....................................................137 Figura 3.18 Sistema de comunicación entre PC y tarjeta FPGA ............................138 Figura 3.19 Prueba del codificador y decodificador RS en la tarjeta FPGA .........139 Figura 3.20 Menú principal de la interfaz del codificador .........................................140.
(19) xviii. Figura 3.21 Interfaz para la ejecución en la tarjeta FPGA .......................................140 Figura 3.22 Ingreso de la palabra de información .....................................................141 Figura 3.23 Circuito de comunicación entre FPGA y PC .........................................141 Figura 3.24 Menú de inicio de Windows .....................................................................142 Figura 3.25 Pantalla de panel de control ....................................................................142 Figura 3.26 Pantalla de Administración de dispositivos ...........................................143 Figura 3.27 Puertos serial activados en el computador ...........................................143 Figura 3.28 Configuración del bloque de comunicación...........................................144 Figura 3.29 Bloques de comunicación serial..............................................................144 Figura 3.30 Parámetros de configuración del bloque de control de comunicación serial ..................................................................................................................................145 Figura 3.31 Diagrama de bloques de comunicación serial con sus parámetros….146 Figura 3.32 Display de Codificación en Simulink .......................................................147 Figura 3.33 Interfaz FPGA con la palabra codificada recibida en PC ....................147 Figura 3.34 Display de codificación con los datos binarios .....................................148 Figura 3.35 Ingreso de errores en el proceso de decodificación ............................148 Figura 3.36 Inicio de la Decodificación de una palabra errada ...............................148 Figura 3.37 Display de decodificación en Simulink ...................................................149 Figura 3.38 Display de decodificación con los datos binarios .................................149 Figura 3.39 Interfaz FPGA con la palabra decodificada ...........................................150 Figura 3.40 Recursos utilizados en tarjeta FPGA Spartan 3E para el codificador y decodificador RS (15,9) ................................................................................................150.
(20) xix. ÍNDICE DE TABLAS CAPÍTULO 1. Tabla 1.1 Parámetros principales del sistema de transmisión .................................... 4 Tabla 1.2 Polinomios primitivos de grado 2 a 21 ......................................................... 25 Tabla 1.3 Suma módulo 2................................................................................................ 29 Tabla 1.4 Campos de Galois !"(2# ) ............................................................................ 30 Tabla 1.5 Codificación por medio de registro de desplazamiento con realimentación lineal .................................................................................................................................... 36 Tabla 1.6 Iteraciones del algoritmo Berlekamp-Masey............................................... 43 CAPÍTULO 2. Tabla 2.1 Elementos del campo de Galois .................................................................. .65 Tabla 2.2 Campo de Galois – Matlab ........................................................................... .70 Tabla 2.3 Bits errados en el ejemplo de codificación RS(204,188). .......................107 Tabla 2.4 Resultados estadísticos de números de errores producidos por ruido ...... ...........................................................................................................................................111 CAPÍTULO 3. Tabla 3.1 Puertos de la Interfaz_Usuario....................................................................126.
(21) xx. ÍNDICE DE ECUACIONES CAPÍTULO 1. Ecuación 1.1 Polinomio Generador .............................................................................. .25 Ecuación 1.2 Campo de Galois Reed-Solomon (15,9) .............................................. .26 Ecuación 1.3 Polinomio Primitivo Reed-Solomon (15,9)........................................... .26 Ecuación 1.4 Polinomio Generador expandido ........................................................... .31 Ecuación 1.5 Polinomio Generador Reed-Solomon (15,9) ....................................... .31 Ecuación 1.6 Cálculo de la paridad............................................................................... .32 Ecuación 1.7 Palabra codificada ................................................................................... .34 Ecuación 1.8 Síndromes ................................................................................................. .37 Ecuación 1.9 Discrepancia entre síndromes ............................................................... .41 Ecuación 1.10 Polinomio localizador del error ............................................................ .41 Ecuación 1.11 Polinomio Auxiliar inicial ....................................................................... .41 Ecuación 1.12 Complejidad Lineal ................................................................................ .41 Ecuación 1.13 Polinomio Auxiliar .................................................................................. .41 Ecuación 1.14 Iteraciones en curso .............................................................................. .41 Ecuación 1.15 Polinomio evaluador del error.............................................................. .53 Ecuación 1.16 Algoritmo de Forney ............................................................................. .53 Ecuación 1.17 Palabra de Información decodificada ................................................. .55 Ecuación 1.18 Campo de Galois Reed-Solomon (204,188) ..................................... .55 Ecuación 1.19 Polinomio Primitivo Reed-Solomon (204,188) .................................. .55 Ecuación 1.20 Polinomio Primitivo Reed-Solomon (204,188) .................................. .56 Ecuación 1.21 Señal OFDM ........................................................................................... .58.
(22) xxi. RESUMEN Este trabajo tiene como objetivo realizar una descripción completa de la codificación y decodificación Reed- Solomon descrita en el estándar internacional de televisión digital terrestre ISDB-Tb. Para la elaboración de este documento se han utilizado numerosas y variadas fuentes de información, pero el documento de referencia básico para el desarrollo aquí presentado es el estándar brasileño de televisión digital terrestre ABNT NBR 15601.. Este proyecto de titulación denominado “ANÁLISIS Y SIMULACIÓN EN MATLAB DEL MÉTODO DE. DETECCIÓN Y CORRECCIÓN DE ERRORES REED -. SOLOMON (204,188) UTILIZADO EN LA NORMA ISDB-TB E IMPLEMENTACIÓN EN UN FPGA” se enfoca en analizar la estructura del codificador Reed-Solom.. Para el presente proyecto se plantea construir un algoritmo del codificador y decodificador utilizando Matlab y posterior implementación en la tarjeta FPGA Spartan 3E en lenguaje VHDL.. Con el fin de facilitar la comprensión y el uso de los algoritmos, se crea una interfaz gráfica amigable para el usuario donde se podrá desplegar la simulación y verificación del objetivo del proyecto.. La interfaz abarca cinco etapas, cada una con una función específica. La etapa de codificación toma la señal de información ingresada por el usuario y la codifica. La etapa de modulación acopla a la información codificada para su transmisión por un canal. La etapa de generación de ruido, altera la información dentro del canal para generar errores aleatorios antes de su llegada al receptor.. La etapa de. demodulación recupera la información codificada con errores. Finalmente la etapa de decodificación detecta errores y los corrige para entregar al usuario la palabra original..
(23) xxii. PRESENTACIÓN El desarrollo del Proyecto, es presentado en cuatro capítulos, como se explica a continuación:. En el Capítulo 1 se describe los conocimientos teóricos pertinentes al estudio de la norma de ISDB-Tb. Bases del código RS (FEC, BCH, Cíclicos y códigos de bloque). Además un estudio general de la modulación OFDM y de los tipos de ruido y desvanecimientos en el canal. Se presenta un ejemplo de codificación y decodificación Reed-Solomon (15,9).. En el Capítulo 2 se describe el funcionamiento del codificador y decodificador ReedSolomon (204,188). También se describe el desarrollo de los correspondientes Scripts para los bloques de codificación Reed-Solomon, modulación, generador de ruido, demodulación y decodificación Reed-Solomon y se presentara las pruebas de la simulación, con sus respectivos resultados y el análisis de los mismos. Se analiza la eficiencia del algoritmo.. En el Capítulo 3 se presenta las características de la tarjeta FPGA a utilizarse, una introducción al lenguaje VHDL y el procedimiento para el diseño en dichas tarjetas. Se describe el proceso de transformación de un algoritmo en Matlab a VHDL del codificador y decodificador Reed-Solomon (204,188). Además se describirán y realizarán las pruebas.. En el Capítulo 4 se presenta las conclusiones obtenidas en el desarrollo del proyecto y las recomendaciones relacionadas con la implementación del algoritmo.. Finalmente se incluyen anexos correspondientes a los códigos fuente desarrollados en “Matlab” e “Ise Design Suite” de Xilinx para la tarjeta FPGA y el paquete de instalación de comunicación serial para Matlab..
(24) 1. CAPÍTULO 1. FUNDAMENTOS TEÓRICOS. 1.1. INTRODUCCIÓN A LA TELEVISIÓN DIGITAL TERRESTRE ISDB-Tb [1][2]. ISDB-T (Integrated Services for Digital Broadcasting - Terrestrial) [1] es originaria de Japón, desarrollada a partir de la década de 1990, periodo en el cual ya existían los estándares ATSC 1 y DVB-T2, norteamericanos y europeos respectivamente. Gracias a esto su desarrollo parte con una ventaja clara sobre los estándares ya existentes debido a que su estructuración nace de las debilidades y fortalezas presentadas por sus antecesores. En 1999 se lo lanza como el estándar Japonés de Televisión digital terrestre (TDT)3.. Después de 7 años Brasil decide adoptar el estándar Japonés como motor de origen de un estándar propio, ya con mejoras y modificaciones como el empleo de MPEG44 para la compresión de datos. Estos cambios se los realiza con una estrecha colaboración de Japón. Posteriormente se lanza el estándar Brasileño ISDB-Tb. (Integrated. Services. for Digital Broadcasting. – Terrestrial. con. modificaciones brasileñas) [1].. El 29 de abril de 2009 ISDB-Tb fue certificado oficialmente por la Unión Internacional de Telecomunicaciones (UIT) con su arquitectura de middleware Ginga5, desarrollado como primera recomendación internacional para entornos multimedia interactivos para TV Digital. En marzo de 2010 Ecuador adopta el 1 ATSC (Advanced Television Systems Committee): Comité de Sistemas de Televisión Avanzada, organización que se encarga del desarrollo de los estándares de televisión digital de Estados Unidos. 2 DVB-T (Digital Video Broadcasting-Terrestrial): Difusión de Video Digital Terrestre, estándar creado por la organización europea Digital Video Broadcasting para transmisión de Tel evisión Digital Terrestre 3 TDT: Televisión Digital Terrestre 4 MPEG4 (Moving Picture Experts Group 4): Método de compresión de audio y video. 5 GINGA: Ginga es el nombre del middleware de la Recomendación ITU-T para servicios de IPTV y del Sistema Nipo-Brasileño de TV Digital Terrestre (ISDB-TB)..
(25) 2. estándar tecnológico japonés-brasileño para la aplicación de la Televisión Digital Terrestre en el país de acuerdo a la Resolución N°. 084-05-CONATEL-2010. [1] 1.1.1. NORMA BRASILEÑA ABNT NBR [2]. La Asociación Brasileña de Normas Técnicas (ABNT) publicó el documento que se encarga de atender los aspectos relativos a la transmisión en la norma de televisión digital ISDB-Tb. La presente norma ofrece una perspectiva del tipo de información que el sistema permite enviar, recibir y procesar por medio de sus bloques internos.. En la Figura 1.1 se indica el diagrama de bloques de los procesos embebidos en televisión digital.. Figura 1.1 Visión general del sistema de transmisión de TV digital. [2]. 1.1.1.1 Características Generales. Las características generales de la norma brasileña son:. ·. Transmisión de televisión fija, móvil y portátil.. ·. Transmisión simultánea de calidad de imagen en alta definición HDTV (high definition television) y definición estándar SDTV (standard definition television) dentro de una única banda.. ·. Introducción. de. interactividad. por. medio. de. la. arquitectura. de. implementación de referencia del middleware nombrada Ginga, que se encuentra dividida en tres módulos Ginga-NCL (Nested Context Language), Ginga-J (Java) y Ginga-CC (Common Core). [1].
(26) 3. ·. Sistema robusto contra inferencias (mejor respuesta contra el ruido impulsivo6).. ·. Uso de redes de frecuencia única, no es necesario el paso por repetidores de frecuencia para reproducir la misma señal, lo que representa un ahorro en el espectro electromagnético.. ·. Uso de modulación OFDM (ortogonal frecuency division modulation) con flexibilidad de modular las subportadoras en QPSK7, 16QAM8 y 64QAM9, según sea la necesidad del sistema en el que se encuentra empleado.. ·. Aplicación de interliving (entrelazado en tiempo y frecuencia).. ·. Transmisión jerárquica (mejora el aprovechamiento del ancho de banda en un mismo canal para transmisión de varios servicios).. ·. Compresión de audio y video en MPEG-210 y MPEG-4.. ·. Utiliza el canal de 6 MHz dividido en 13 segmentos.. ·. Para televisión móvil y portátil se utiliza un solo segmento denominado oneseg11.. ·. Existen tres modos de transmisión (Modo 1, 2 y 3) que permiten distintos números de portadoras (transmisión multiportadora).. ·. Utiliza un código de corrección de errores Reed-Solomon (RS) abreviado (204,188).. En la Tabla 1.1 se detallan los principales parámetros utilizados en televisión digital ISDB-Tb para la transmisión.. 6. Ruido Impulsivo: Es el tipo de ruido cuya amplitud o intensidad aumenta bruscamente durante un impulso breve. 7 QPSK (Quadrature Phase Shift Keying): Modulación por desplazamiento de fase en cuadratura. 8 16QAM (Quadrature Amplitude Modulation): los datos se dividen en grupos de 4 bits. Las 16 posibles combinaciones varían la amplitud y la fase de la portadora, la cual por tal razón puede tomar 16 estados diferentes. 9 64QAM (Quadrature Amplitude Modulation): los datos se dividen en grupos de 8 bits. Las 64 posibles combinaciones varían la amplitud y la fase de la portadora, la cual por tal razón puede tomar 64 estados diferentes. 10 MPEG-2: (Moving Picture Experts Group 2): Método de compresión de audio y video. 11 One-seg: Servicio de transmisión de televisión digital terrestre y datos complementarios, diseñado para ser captado en dispositivos móviles..
(27) 4. Tabla 1.1 Parámetros principales del sistema de transmisión. [2] Parámetros. Valores. 1. Número de segmentos. 13. 2. Ancho del segmento. 6.000/14 = 428,57 kHz 5,575 MHz (modo 1). 3. 5,573 MHz (modo 2). Banda UHF. 5,572 MHz (modo 3) 1 405 (modo 1) 4. Número de portadoras. 2.809 (modo 2) 5.617 (modo 3). 5. 6. Método de modulación Duración. de. los. DQPSK, QPSK, 16-QAM, 64-QAM. símbolos. activos. 252μs (modo 1) 504μs (modo 2) 1.008μs (modo 3) Bws/108 = 3,968 kHz (modo 1). 7. Separación de portadoras. Bws/216 = 1,984 kHz (modo 2) Bws/432 = 0,992 kHz (modo 3) 1/4, 1/8, 1/16, 1/32 de la duración del símbolo. 8. Duración. del. intervalo. de. guarda. activo 63; 31,5; 15,75; 7,875μs (modo 1) 126; 63; 31,5; 15,75μs (modo 2) 252; 126; 63; 31,5μs (modo 3) 315; 283,5; 267,75; 259,875μs (modo 1). 9. Duración total de los símbolos. 628; 565; 533,5; 51 7,75μs (modo 2) 1 260; 1 134; 1 071; 1 039,5μs (modo 3). 10. Duración. del. cuadro. transmisión. de. 204 símbolos OFDM Código convolucional, tasa = 1/2 con 64. 11 Codificación de canal. estados Punzado12 para las tasas 2/3, 3/4, 5/6, 7/8. 12. Punzado: Descarte de bit seleccionado, según un criterio definido, los valores de la salida del codificador convolucional son convertidos en un flujo binario en serie..
(28) 5. Entrelazamiento intra e inter-segmentos (entrelazamiento en frecuencia) Entrelazamiento 12 Entrelazamiento interno. convolucional. con. profundidad de interleaving 0; 380; 760; 1.520 símbolos (modo 1) 0; 190; 380; 760 símbolos (modo 2), 0; 95; 190; 380 símbolos (modo 3). Como puede observarse el estándar tiene una amplia gama de parámetros configurables, lo que lo convierte en un sistema flexible y seguro que permite adaptarse a distintas situaciones de transmisión según cómo sea configurado. 1.1.1.2 Codificación Externa [2]. Las señales de audio, video y datos ingresan al compresor MPEG, del cual se derivan las salidas TS (Transport Stream), estas múltiples salidas alimentan al remultiplexor el cual las transforma en un haz de transporte TSP (Transport Stream Packet), señal ráfaga de 188 bytes. Se debe entonces obligatoriamente aplicar el código Reed-Solomon para que el TSP resultante sea convertido en otro de longitud de 204 bytes, consistiendo en 188 bytes de datos de programa y 16 bytes de paridad. El flujo de bits ya no es llamado TSP sino BTS (Broadcast Transport Stream).. En la figura 1.2 se presenta el diagrama de bloques de la transmisión del Transport Stream Packet. Donde CAB representa a la cabecera de cada TSP seguido de la carga útil y los respectivos bits de paridad.. Figura 1.2 Transmisión del TSP [2]..
(29) 6. Debido al tamaño del TSP (204 bytes), un RS abreviado (204,188) se debe aplicar obligatoriamente en cada TSP como un código externo. La codificación RS abreviada (204,188) se debe generar agregando 51 bytes en el comienzo de la entrada de los datos del código RS (255,239), y entonces después de aplicar la codificación externa esos 51 bytes se deben remover obligatoriamente. El código RS abreviado (204, 188) puede corregir hasta 8 bytes aleatorios erróneos entre los 204 bytes. La Figura 1.3 muestra el formato de datos TSP MPEG y el TSP protegido por codificación RS. Figura 1.3 Formato de paquetes TSP MPEG y transmisión TSP. [2]. 1.2. CODIFICACIÓN DE CORRECCIÓN DE ERRORES. 1.2.1. DISTANCIA MÍNIMA DE UN CÓDIGO [3]. La distancia de un código hace referencia al número de bits diferentes entre dos palabras del mismo tamaño.. La distancia mínima de un código de bloque lineal se define como la distancia más pequeña entre cualquier par de palabras de código. Es decir la distancia mínima es el peso del código, que refiere al número de 1s que tiene la palabra; y se transforma en la medida mínima de la capacidad de detectar y corregir errores.. De esta manera un código que posee distancia mínima puede detectar un número de errores igual a la distancia mínima menos uno pero puede corregir solamente la mitad de los errores posibles detectados..
(30) 7. 1.2.2. CÓDIGOS FEC [3]. Los códigos FEC (Forward error correction) como su nombre lo dice son códigos utilizados para la detección y corrección de errores, sin necesidad de retransmisión de la información original, debido a que su aplicación se la realiza en sistemas sin retorno o sistemas en tiempo real.. La capacidad de corrección de errores se logra añadiendo un número de bits de redundancia a la palabra original. De esta manera se forma la palabra código, la cual se la envía al receptor donde por medio de los respectivos algoritmos para corrección de errores se logra encontrar el error y determinar la palabra original.. Este tipo de códigos tiene como objetivo la corrección de errores, disminución de la potencia de transmisión e incremento de. la efectividad de los sistemas de. comunicación. Los tipos de codificación más usados son los códigos de bloque. 1.2.3. CÓDIGOS DE BLOQUE LINEAL [4][5]. Códigos de bloque consisten en técnicas para la transformación de un conjunto de valores binarios $, en otro más largo %, en el cual se agregan bits de redundancia.. Los bits de redundancia que fueron aumentados corresponden a % & $, denominados bits de redundancia. Este tipo de codificación no posee memoria y su ventaja es que se pueden diseñar con una distancia mínima prefijada y la complejidad de la codificación crece linealmente con el aumento de n.. En la codificación se encuentra establecido un cierto número de combinaciones de bits, a las cuales se les denomina palabras de código. Cuando se produce la transmisión de datos al receptor, pueden suceder dos eventos, el primero que el transmisor envíe una palabra código válida o que el transmisor envíe una palabra código no válida. Cuando se tiene una palabra código no válida, el receptor solicita al transmisor que vuelva a enviar la información a lo que se denomina ARQ.
(31) 8. (Automatic Repeat reQuest), o a su vez el receptor recupera el bloque original por medio de códigos FEC 13. El código bloque utiliza “suma módulo 2”14, de esta manera se puede formar una palabra código por medio de dos palabras previas.. Una de las subclases de los códigos de bloque son los códigos cíclicos, que se describen a continuación. 1.2.4. CÓDIGOS CÍCLICOS [4][5]. Los códigos cíclicos se caracterizan por su estructura matemática perfectamente definida, gracias a lo cual se han desarrollado esquemas de decodificación muy eficientes para ellos. Su ventaja sobre otros tipos de códigos es su facilidad de codificar.. Para que un código binario sea cíclico debe cumplir las siguientes propiedades fundamentales:. ·. Linealidad: la suma de dos palabras de información codificadas en el código forman otra palabra de código.. ·. Cíclica: el desplazamiento cíclico de cualquier palabra de código también es una palabra del código.. Es decir, si: ' = * ['+ , '- ,. , './0 , './- ]. es una palabra código, ' 1 = *3'./-, '+ , '- ,. , './0 4. también lo es.. 13. FEC (Forward Error Correction): Corrección de errores hacia adelante, permite la corrección de un código en el receptor sin solicitar retransmisión 14 Suma módulo 2: Suma sobre números binarios donde no se toma en cuenta las unidades que se debe llevar al siguiente nivel..
(32) 9. Con un polinomio binario es posible representar estos códigos, permitiendo realizar la codificación y el cálculo del síndrome 15 de manera eficiente. A cada palabra del código de la forma: ' = ['+ , '- ,. , './0 *, './- ]. se puede representar con un polinomio: ' (5 ) = *'+* 6* '- 5 6 7*6 *'./0 5 ./0 6 *'./-* 5 ./- * que es el resultado de la multiplicación de cada una de las entradas de la palabra código por un monomio 16 5 8, donde 9 es la posición de dicha entrada en '. El. desplazamiento cíclico se consigue como el producto de '(5) por 5, tal que: 5' (5 ) = **'+ 5 6* '- 5 0* 6 *'./0 *5 ./-* 6 *'./-* 5 . 1.2.5. CÓDIGOS BCH [4][5]. Los códigos BCH obtienen su nombre gracias a las siglas de sus tres autores: Bose, Ray-Chandhuri y Hocquengheim. Estos códigos poseen una longitud 17 y una distancia18 designada. Es una clase importante de los códigos de bloque lineales.. Un tipo de códigos BCH son los códigos BCH binarios, los cuales se encuentran caracterizados por los parámetros : que representan a cualesquier entero positivo y ; que es menor que (2: & <)>2. Con estos parámetros se pueden detallar las. siguientes propiedades:. ·. 15. Longitud de bloque. %* = * 2? *& *<. Síndrome: resultado de la revisión de paridad en una palabra codificada. Monomio: Expresión algebraica que consta de un solo término. 17 Longitud de un código: Número de símbolos que posee el código 18 Distancia de un código: Diferencia entre una palabra código válida y otra. 16.
(33) 10. ·. Número de bits del mensaje. ·. Distancia mínima. $* @ *%* & *:;. A:9%* @ *2;* 6 *<. Estos códigos pueden detectar y corregir hasta t errores aleatorios en cada palabra código.. El estudio más detallado de la construcción de este tipo de códigos está más allá del objetivo del presente proyecto.. 1.3 REED-SOLOMON [4][5] La codificación Reed-Solomon (RS) es un esquema de codificación de bloque que puede detectar y corregir ráfagas de errores menores o iguales que ;19, determinado por la cantidad de redundancia con la que se ha diseñado el código. Se lo utiliza no solo en transmisiones de televisión digital sino también en numerosas aplicaciones como en reproductores de CD, telefonía móvil para la transmisión de video en 3G con corrección de errores, sondas espaciales y grabadoras digitales. Se tiene una gran complejidad en el proceso computacional, pero este problema ha sido superado gracias a la implementación de circuitos integrados en gran escala. Este tipo de código surge de una familia llamada códigos de bloque, en que el codificador procesa un bloque de símbolos, a los que agrega redundancia para generar otro bloque de una longitud mayor de símbolos codificados. [4]. Los códigos Reed-Solomon son códigos FEC, no binarios, bloque lineal, cíclicos y son una subclase de los códigos BCH. El código fue inventado por Irving S. Reed y Gustave Solomon (de ahí su nombre) en el año de 1960. [5]. 19. t: capacidad de corrección de errores de un código..
(34) 11. 1.3.1. FUNDAMENTOS MATEMÁTICOS [6]. Se analizarán resumida y brevemente los principios matemáticos que hoy en día se conoce con el nombre de álgebra abstracta. Dicha matemática estudia diversas estructuras algebraicas como grupos, anillos, espacios vectoriales o campos que fueron definidas debidamente en el siglo XIX. En esta área, los elementos combinados por diversas operaciones no pueden ser interpretables como números, ya que no es una simple ramificación de la aritmética. Este tipo de matemáticas surgen de la necesidad de observar con nitidez lo intrínseco de las afirmaciones lógicas en las que se basan todas las matemáticas y fueron motivadas por la necesidad de más exactitud en las definiciones, ya que sirven también como hilo unificador que entrelaza a casi todas las matemáticas. El álgebra abstracta fue conocida en el siglo XX como álgebra moderna.. A continuación se explicarán conceptos básicos de la estructura algebraica utilizada para la creación del código Reed-Solomon. 1.3.1.1 Teoría de Conjuntos [6]. El término conjunto da una noción de un objeto primitivo, es decir, no se lo puede definir o enunciar en función de otros términos más sencillos, causa por la cual la noción intuitiva que se tiene de conjunto es un sinónimo de agrupación, colección, clase, etc. 1.3.1.1.1. ·. Definiciones utilizadas en la teoría de conjuntos [6]. Igualdades de conjuntos. Un conjunto está totalmente determinado por sus elementos. Por ello, la igualdad de conjuntos se establece como: Dos conjuntos son iguales si y solo si, tienen los mismos elementos: B=C.
(35) 12. ·. Conjunto vacío. El conjunto que no contiene ningún elemento se llama el conjunto vacío y se denota por D o simplemente {}. Existe un único conjunto vacío, ya que lo único que distingue a un conjunto son sus elementos.. ·. Subconjuntos. El conjunto de B se dirá que es un subconjunto del conjunto C si todo elemento en. B es un elemento de C, B E CF 1.3.1.1.2. Operaciones con conjuntos. Dados dos conjuntos se pueden combinar para formar nuevos conjuntos. Se puede usar el mismo procedimiento para cualquier número de conjuntos, ya sean finitos o infinitos.. ·. Unión. La unión de los dos conjuntos B y C, escrita B* G C, es el conjunto: {5|5 H B*I*5 H C } Cuando se dice que*5 está en B o 5 está en C, se quiere decir que 5 está al menos. en uno de los dos B*I*C y puede ser que esté en ambos. ·. Intersección. La intersección de los dos conjuntos B y C, escrita B J C, es el conjunto: {5|5 H B*K*5 H C }.
(36) 13. La intersección de B y C es el conjunto de todos los elementos que están en ambos. B y C. ·. Diferencia. Dados dos conjuntos B y C, entonces el conjunto diferencia B & C es el conjunto: {5 H B*|*5 L C } Resulta eliminar de B cualquier elemento que esté en C. ·. Complemento. Sea B un subconjunto cualquiera, escrita BM ,. de un conjunto referencial. N(universo). El complementario de B, es el subconjunto de N constituido por aquellos elementos que no pertenecen a B.. BM = {5 H NB*|*5 L B} = N & B ·. Diferencia simétrica. Dados dos subconjuntos B y C, escrita BOC, es el conjunto (B & C) G (C & B), con todos los elementos que pertenecen, o bien a B, o bien a C, pero no a ambos a la. vez.. ·. Producto cartesiano. Sean {P, '* H B} y {Q, A* H C }, se dirá que los pares ordenados (P, Q) y (', A) son iguales, que se escribe (P, Q) = * (', A), si y solo si P = ' y Q = A..
(37) 14. 1.3.1.1.3. Propiedades de conjuntos. Sean B, C, R conjuntos cualesquiera, la relación de inclusión cumple con las propiedades que se dan a continuación: a. Asociativa : B G (C G R ) = (B G C) G R b. Conmutativa: B G C = C G B. c. Idempotencia: B* G B = B. d. Simplificativa: B G (C J B) = B. e. Distributiva: B G (C J R ) = (B G C) J (B G R) f. Complemento: B* G B´ = N. g. Reflexiva: B E B. h. Transitiva: B E C y C E R entonces B* E R. i. Antisimétrica: si B E C y C E R entonces B = C 1.3.1.2 Teoría de Grupos [7][8]. El objeto algebraico conocido como grupo es un pilar fundamental de la gran estructura que hoy se llama algebra abstracta.. Un conjunto G no vacío de elementos, se dice que forma un grupo si en G está definida una operación binaria, llamada producto y denotada por (S) tal que: a) P, Q* H ! implica que P S Q H !. b) P, Q, '* H ! implica que P S (Q S ' ) = (P S Q) S ' (ley asociativa). c) Existe un elemento T* H ! tal que P S T = T S P = P para todo P H ! (existencia de un elemento identidad en !).. d) Para todo P H ! existe un elemento P/- H ! tal que P S P/- = P /- S P = T (existencia de inversos en !).. Considerando la anterior definición, se puede afirmar que para todo conjunto no vacío N, el conjunto ! sea un grupo..
(38) 15. Un grupo G se dice que es conmutativo si para cualesquiera P, Q* H ! se tiene: P S. Q = Q S P. Si un grupo no cumple con dicha condición se llama no conmutativo.. Otra característica de un grupo !, es el número de elementos de que consta,. cuando este número es finito se dice que ! es un grupo finito. En tal caso si el conjunto N contiene % elementos, entonces el grupo ! tiene % elementos.. 1.3.1.2.1. Propiedades de los grupos. Si ! es un grupo entonces: a) El elemento identidad de ! es único.. b) Todo P H ! tiene un inverso único en !.. c) Para todo P H !, (P/- )/- = P.. d) Para P, Q H !, (P S Q)/- = Q/- S P/- .. 1.3.1.2.2. Subgrupos. Si U es un subgrupo de ! y V es un subgrupo de U, entonces V es un subgrupo de. !.. Para tener el criterio y poder decidir si un subconjunto dado de un grupo es un subgrupo, podemos mencionar las siguientes propiedades: Un subconjunto no vacío U del grupo ! es un subgrupo de ! si y sólo si: a) P, Q H U implica que P S Q H U.. b) P H U implica que P/- H U. 1.3.1.2.3. Homomorfismo. El homomorfismo es la simplificación de un objeto real en un modelo cuyos resultados se basan en términos probabilísticos. El objetivo del homomorfismo es.
(39) 16. obtener resultados probables. Se puede decir que el homomorfismo se refiere a que dos sistemas tienen una parte de su estructura igual. 1.3.1.2.4. Isomorfismo. Isomorfismo etimológicamente significa “igual forma”, por lo tanto se refiere a la estructuración de sistemas similares al original 1.3.1.2.5. Automorfismo. Por automorfismo de un grupo ! se entenderá un isomorfismo de ! sobre sí mismo. 1.3.1.2.6. Permutaciones. Dentro de un grupo, la permutación hace referencia a la variación de la estructura, orden y disposición de los elementos de éste. 1.3.1.3 Teoría de Anillos [7]. El concepto abstracto de anillos surge del conjunto de los enteros, a diferencia de los grupos que tienen su origen en el conjunto de aplicaciones o permutaciones de un conjunto sobre sí mismo. Un anillo es completamente diferente de un grupo, ya que es un sistema bioperacional, en el que hay definidas dos operaciones: adición y multiplicación. Un conjunto no vacío W se dice que es un anillo asociativo, si en W están definidas. dos operaciones, denotadas por “6” y “S”, tales que para cualquiera P, Q, ' de W: a) P 6 Q está en W. b) P 6 Q = Q 6 PF. c) (P 6 Q) 6 ' = P 6 (Q 6 ').. d) Hay un elemento 0 en R tal que P 6 X = P (para todo P en W).. e) Existe un elemento &P en R tal que P 6 (&P) = XF.
(40) 17. f) P S Q*TY;P*T%*WF. g) P S (Q S ' ) = (P S Q) S '.. h) P S (Q 6 ' ) = P S Q 6 P S '. y. (Q 6 ' ) S P = Q S P 6 ' S P. (las. dos. leyes. distributivas). 1.3.1.3.1 Anillos euclidianos Un dominio entero W se dice que es un anillo euclidiano, si para todo P Z X*en W está definido un entero no negativo A(P) tal que:. a) Para cualesquiera P, Q H W, ambos distintos de cero, A (P) \ A(PQ)F. b) Para cualesquiera P, Q H W, ambos distintos de cero, existen ;, ^ H W tales que P = ;Q 6 ^, donde ^ = X o A (^) _ A (Q)F. No se asigna valor alguno a A (X)F Los enteros sirven como un ejemplo de anillo. euclidiano, donde A (P) = valor absoluto de P, actúa como la función que la definición requiere.. 1.3.1.3.2. Anillos de polinomios. Se denomina anillo de polinomios en la variable indeterminada 5, y representando por "[5 ], al conjunto de todos los polinomios de la forma P+ 6* P- 5. F 6*P. 5 ., donde. % puede ser cualquier entero no negativo y donde los coeficientes P+ , P- , P0 ,. , P.. están todos en ". Para que "[5 ] sea un anillo se debe cumplir que dos de sus elementos sean iguales y debe ser posible sumarlos y multiplicarlos de forma que los axiomas definitorios de un anillo se verifiquen en " [5 ]F 1.3.1.4 Teoría de Campos [7]. Un campo es un anillo conmutativo 20, en el que se puede dividir sus elementos por cualquier elemento distinto de cero.. 20. Anillo conmutativo: Un anillo donde la operación multiplicación es conmutativa..
(41) 18. Los campos han proporcionado una forma distinta de ver el álgebra, de tal manera que son una parte importante en aplicaciones de la teoría de números. También es aplicado en la teoría de ecuaciones que trata acerca de las raíces de polinomios.. Estas teorías están relacionadas a las ideas propuestas por el matemático francés Evaristo Galois que han servido como inspiración y guía para el álgebra de la actualidad. 1.3.1.4.1. Extensión de campos. La extensión de un campo es la relación de un campo con otro, sean " y ` campos;. se dice que ` es una extensión de ", si *` contiene a*"*; es decir, ` es una. extensión de ", si "* es un subcampo de `F. Se denota el grado de `*sobre " como [`a " ]F Es de particular interés el caso en. que [` b " ] es finito, es decir, el caso en que ` es de dimensión finita como espacio. vectorial sobre "F Esta situación se describe diciendo que ` es una extensión finita. de "F. Un elemento P H `,*se dice que es algebraico sobre ", si existen elementos. c+, c-, , c. en ", no todos 0, tales que c + P. 6*c- P./- 6 * 1.3.1.4.2. 6c. = XF*. Raíces de polinomios. Se tiene un polinomio d(5 ) en " [5 ], se necesita encontrar un campo extensión `. de " en el que d(5 ) tenga una raíz. El objetivo es generar y construir el campo `F*. Si d(5 ) H "[5 ] entonces un elemento P que se encuentra en algún campo extensión. de ", se llama raíz de*d(5 ) si*d(P) = XF.
(42) 19. 1.3.1.5 Teoría de los Campos de Galois [7]. La definición de dos operaciones conocidas como suma y multiplicación módulo dos (e,f) dentro y fuera de un campo respectivamente y definiendo los siguientes axiomas generan el Campo de Galois o extensión de un Anillo. (g*x, y**h*i)a (x e y)* H i. ·. Clausurativo.. ·. Asociativo.. ·. Existencia de neutro (o idéntico). *(j*k* H i)(g*x H i)a x e k = k e x = x. (g*x, y, z**h*i)a (x e y) e z = x e (y e z) * H i. ·. Existencia del inverso. (g*x H i)(j*l* H i)a x e y = y e x = k. ·. Conmutativo.. ·. Distributivo.. (g*x H i)(j*y* H i)a x e y = y e x. (g*x, x, z H i)a x f (y e z) = (x f y) e (x f z). Al evaluar los axiomas en el campo se puede dar dos opciones, la primera si el campo (i,e) cumple con los axiomas conmutativo y existencia del neutro, se dice. que el campo es un anillo con elemento neutro y si el campo (i,e,f) es un anillo conmutativo con elemento neutro y cumple con los axiomas de existencia de. inverso y de neutro respecto a la operación suma módulo 2, se dice que el campo es un campo de Galois. Dado un polinomio*d(5 ) en "[5 ], se asocia con d(5 ) un grupo al que se llamará. grupo de Galois de**d(5 )F Las raíces de un polinomio tienen una estrecha relación con su grupo de Galois. El grupo de Galois resultará ser un cierto grupo de permutaciones de las raíces del polinomio. El grupo de Galois de d(5 ) quedará definido como un cierto grupo de automorfismos. del campo de descomposición de d(5 ) sobre "F Los subgrupos del grupo de Galois. y los subcampos del campo de descomposición21, mantienen una dualidad que expresa el teorema fundamental de la teoría de Galois.. 21. Campo de descomposición: conjunto de raíces de un polinomio..
(43) 20. 1.3.2. CONCEPTOS ALGEBRAICOS BÁSICOS [9][10]. 1.3.2.1 Aritmética de Módulo 2. El presente estudio se basa en códigos binarios, en los cuales se utiliza un alfabeto simple con dos símbolos 0 y 1. La codificación y decodificación en este tipo de códigos envuelve operaciones de aritmética binaria de suma y multiplicación módulo 2.. El signo a usarse en suma módulo 2 será el (+) en lugar del símbolo especial. , el. uso de esta terminología evitará confusiones debido a que el proyecto se basa en aritmética binaria.. La suma binaria módulo 2 se opera de la siguiente manera: X* 6 *X* = *X! <* 6 *X* = *<! X* 6 *<* = *<! <* 6 *<* = *X! Por la operación de suma módulo 2, se obtiene iguales resultados si < = &*<. Es claro observar que la resta es igual que la adición en la aritmética binaria.. La resta módulo 2 se opera de la siguiente manera: X & *X* = *X! < & *X* = *<! X & *<* = *<! < & *<* = *X! La multiplicación módulo 2 se opera de la siguiente manera:.
(44) 21. X* × *X* = *X! <* × *X* = *X! X* × *<* = *X! <* × *<* = *<! La división es normal ya que se tiene: <* ÷ *<* = *<! X* ÷ *<* = *X ! No es permitida la división para 0.. Su correspondencia en la lógica binaria de la suma y la multiplicación módulo 2, es la operación mW*noRUNpqrB y Bst*respectivamente. 1.3.2.2 Estructura Polinomial. Los polinomios permiten realizar cálculos y analizar resultados de modo práctico, por estas facilidades muchas funciones importantes se aproxima con polinomios.. Polinomio se llama a una expresión de la forma: d(5 ) = P+ 6 P- 5 - 6 P0 5 0 6 7 6 P./- 5 ./- 6 P. 5 . P+ Z X Si y sólo si %, % & <, % & 2, …, sean números positivos. El dominio de cualquier. polinomio es W = (−∞, ∞).. El polinomio d(5) se dice que se encuentra ordenado en forma decreciente con. relación a las potencias de 5, si d(5) se escribe como:.
Figure
Outline
Documento similar
El nuevo Decreto reforzaba el poder militar al asumir el Comandante General del Reino Tserclaes de Tilly todos los poderes –militar, político, económico y gubernativo–; ampliaba
En estos últimos años, he tenido el privilegio, durante varias prolongadas visitas al extranjero, de hacer investigaciones sobre el teatro, y muchas veces he tenido la ocasión
que hasta que llegue el tiempo en que su regia planta ; | pise el hispano suelo... que hasta que el
Para ello, trabajaremos con una colección de cartas redactadas desde allí, impresa en Évora en 1598 y otros documentos jesuitas: el Sumario de las cosas de Japón (1583),
irrelevancia constitucional del conflicto entre ley nacional y norma comunitaria; la cuestión de los derechos fundamentales y el artículo 10.2 de la CE; marco constitucional
Por PEDRO A. EUROPEIZACIÓN DEL DERECHO PRIVADO. Re- laciones entre el Derecho privado y el ordenamiento comunitario. Ca- racterización del Derecho privado comunitario. A) Mecanismos
En el capítulo de desventajas o posibles inconvenientes que ofrece la forma del Organismo autónomo figura la rigidez de su régimen jurídico, absorbentemente de Derecho público por
3. El régimen de concesiones. La posición de la concesionaria pública a) Como ya hemos adelantado, el artículo 2 de la Ley 223/1990 esta- blece que la actividad de difusión de