Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
I INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA “Aplicaciones de los campos de Galois en el contexto de la corrección y detección de errores en comunicaciones basadas en los códigos BCH, con un enfoque didáctico”. TESIS QUE PARA OBTENER EL GRADO DE : MAESTRO EN CIENCIAS EN INGENIERÍA DE TELECOMUNICACIONES P R E S E N T A : JORGE ROJAS BELTRÁN DIRECTORES DE TESIS M. EN C. MIGUEL SÁNCHEZ MERÁZ Y DRA. PATRICIA CAMARENA GALLARDO MEXICO, D. F. 2008 SECCIÓN DE ESTUDIOS DE POSGRADO E INVESTIGACIÓN II III IV Resumen Cada vez es más necesario en los currículos de cursos de ingeniería de telecomunicaciones profundizar en tópicos como la teoría de la información y la teoría de códigos, principalmente para entender el potencial de los sistemas de comunicaciones totalmente digitales. El propósito de este trabajo es confirmar la vinculación del álgebra de campos finitos de Galois con los codificadores de canal, donde estos últimos tienen utilidad en los sistemas de telecomunicaciones. Ello mediante simulaciones en matlab, programación de dispositivos CPLD’s con VHDL y gráficas de desempeño teórico para cada uno de los codificadores de canal más representativos. El resultado del documento es mostrar el desempeño en gráficas (Pe vs. SNR) de tres modelos: teórico, simulink y en hardware por implemntación en VHDL. Abstract Every time it is more necessary in the curriculum of telecommunications engineering courses to deep in topics how information theory an error control coding, principally to understand the potential of digital communications systems. The purpose of this thesis work is to confirm the link between Galois fields and coding channel, where coders of error control have utility en telecommunication system. It using simulations in matlab, programming devices how CPLD and graphics of theoretical performance by some BCH codes. The final result is to show graphics of Pe (error probability) vs. SNR of 3 models: theoretical, software simulation in simulink and hardware implementation in VHDL. V Objetivo Establecer con elementos de simulación los principios matemáticos y de electrónica que caracterizan a los codificadores de canal, principalmente a los de tipo BCH, para comprender de manera didáctica la funcionalidad de codificadores más robustos. Objetivos particulares � Integrar un documento lo suficientemente accesible y detallado en el área de aplicación de los campos Galois en técnicas de codificación de canal, para que éste sea empleado en asignaturas de ingeniería y posiblemente de maestría en telecomunicaciones y telemática, como un recurso para elevar el potencial cognitivo de los estudiantes en dichos niveles. � Analizar el desempeño teórico y práctico de los códigos BCH, mediante simulaciones en hardware y software. � Comparar los resultados obtenidos con el modelo teórico y la simulación en Matlab y VHDL para verificar su grado de concordancia. � Resaltar la vinculación que existe entre la teoría de los sistemas de telecomunicaciones y el álgebra moderna, en especial la conexión entre la codificación de canal y los campos de Galois. VI Justificación En diversas ocasiones durante los curso de ingeniería, las contenidos de algunas asignaturas, por ejemplo de teoría en comunicaciones y electrónica, se pierde por momentos los antecedentes de las estructuras o bases matemáticas que dan origen a alguna aplicación en los sistemas de comunicaciones; así como en los cursos de licenciatura en matemáticas no se aborda detalladamente la utilidad que alcanzan a tener los modelos matemáticos (campos de Galois) en algunas áreas de la ingeniería. También se puede mencionar que los estudiantes que cursan asignaturas como teoría de la información y teoría de códigos, tiene que recurrir a diversas referencias bibliográficas para tener un panorama, si no completo, de manera introductoria, que en ocasiones no es tan accesible de comprender ya que se cuenta con escasos ejemplo y muy pocas herramientas de simulación para verificar de manera didáctica, por ejemplo, el comportamiento de algún codificadores fuente o de canal. Por lo tanto, cada vez es más necesario en los currículos de cursos de ingeniería de telecomunicaciones profundizar en tópicos como la teoría de la información y la teoría de códigos, principalmente para entender el potencial de los sistemas de comunicaciones totalmente digitales. Asimismo, es fundamental que en los currículos de los cursos de ingeniería se establezca la vinculación entre disciplinas, en particular con la matemática, como lo establece la teoría educativa de la Matemática en el Contexto de las Ciencias. VII Introducción Un primer propósito de este trabajo es el de comparar el desempeño teórico y práctico de los algunos codificadores BCH mediante simulaciones en Matlab, programación de dispositivos CPLD’s en VHDL y modelos matemáticos, el cual se verá reflejado en gráficos característico donde intervengan la relación señal a ruido y la probabilidad de error. Otro de los propósitos que se tiene la presente tesis es el de establecer la vinculación del álgebra de campos finitos de Galois con los codificadores de canal, donde estos últimos tienen utilidad en los sistemas de telecomunicaciones. Y el tercer propósito establece el enfoque didáctico tratado en el desarrollo del trabajo, el cual incluye dos perspectivas educativas. La primera es referente a la Matemática en Contexto (Camarena, 1984), en donde los campos de Galois se encuentran en el contexto de la corrección y detección de errores en comunicaciones. La segunda toma en cuenta la teoría de la elementarización, a través de la cual el lenguaje y las explicaciones se tornan claras y accesibles para el estudiante y se alude a los ejemplos. El documento aquí desarrollado pretende plasmar en tres grandes ejes temáticos otra visión en el estudio de los codificadores de canal, particularizando en la evaluación y caracterización de los códigos de tipo BCH. Esos tres ejes son: la teoría de las comunicaciones, los campos de Galois, y el aspecto didáctico, como se muestran en el mapa conceptual de la presente tesis. Lógica digital Codificación de canal Códigos BCH Ca mp os de G alo isComunicaciones D i d á c t i c a S i m u l a c i o n e s Hw y Sw M od elo M ate má tic oRecursos de Program ación C om pe nd io d id ác tic o de co di fic ac ió n pa ra el co nt ro l de er ro re s Mapa conceptual de tesis Lógica digital Codificación de canal Códigos BCH Ca mp os de G alo isComunicaciones D i d á c t i c a S i m u l a c i o n e s Hw y Sw M od elo M ate má tic oRecursos de Program ación C om pe nd io d id ác tic o de co di fic ac ió n pa ra el co nt ro l de er ro re s Mapa conceptual de tesis VIII La estructura de los capítulos está basada en este mapa conceptual, donde el capítulo I aborda de manera ilustrativa y concreta los objetivos y elementos de la teoría de la información, así como la diferencia entre la codificación fuente y de canal. Por su parte el capítulo II, describemediante modelos teóricos y de simulación el comportamiento de un sistema de transmisión en banda base digital sin el uso de codificación de canal. El capítulo III está integrado por dos temas, el primero referente a las bases del álgebra moderna que se van a utilizar para fundamentar los códigos BCH, y el segundo propiamente sobre la caracterización de los códigos BCH. Fue necesario unificar estos dos temas ya que son los protagonistas de la dupla “fundamento-teórico y aplicación-tecnológica”. En este capítulo se prepararon ejemplos muy detallados para entender el porqué usar un polinomio generador en específico con base en la capacidad de corrección, así como también casos desglosados de los procesos de codificación y decodificación. El capítulo IV está dedicado a todo el conjunto de pruebas que fueron realizadas para evaluar el desempeño de los códigos BCH, principalmente con el parámetro de la BER y WER. Se especifican tres modelados durante el desarrollo del mismo, y que son el modelo teórico, el modelo en software (matlab-simulink) y el modelo en VHDL o de hardware (sacando provecho de la lógica digital que presentan los campos de Galois). El capítulo V trata de la obtención de conclusiones a partir de los resultados gráficos que brindó el capítulo IV mediante una inferencia comparativa de éstas. La parte de los anexos conjunta algunas tablas que se hacen referencia durante el trabajo, y en especial se presenta una breve biografía y cronograma del Evariste Galois, la cual refleja el breve e intempestivo vivir de un matemático, que junto con Claude E. Shannon, se debe en gran parte el presente trabajo. IX Índice Capítulo ICapítulo ICapítulo ICapítulo I Introducción a la codificación para el control de errores 1.1 Antecedentes, Teoría de la información 1. 1.2 Breve reseña del pensamiento de Claude Elwood Shannon (1916 - 2001) 2. 1.3 ¿Qué es la teoría de la información? 3. 1.4 Entropía máxima 6. 1.5 Antecedentes, Codificación de canal 8. 1.6 Tipos de errores 9. 1.7 Principales técnicas para la recuperación y corrección de errores 10. 1.8 Codificación FEC 10. Capítulo IICapítulo IICapítulo IICapítulo II simulación en software para el desempeño de sistemas de transmisión en banda base digital sin codificación de canal 2.1 Descripción de la prueba 12. 2.2 Comentarios sobre la simulación tipo Monte Carlo para la Pe vs. SNR 13. 2.3 Conclusiones sobre la simulación Monte Carlo para la Pe vs. SNR 17. Capítulo IIICapítulo IIICapítulo IIICapítulo III Códigos BCH 3.1 Bases del álgebra moderna para la codificación de canal 18. 3.2 Introducción a la Teoría de Grupos, Anillos y Campos 18. 3.2 Aritmética modular 21. 3.3 Protagonismo de los números primos 22. 3.4 Campo 25. 3.5 Introducción a la extensión de un campo 29. 3.6 Polinomio primitivo 30. 3.7 Construcción de la extensión de campo GF (2m) a partir de GF(2) 31. 3.8 Propiedades básicas de un campo GF (2m) 33. 3.9 Introducción a los códigos BCH 39. 3.10 Descripción general del caso binario 39. 3.11 Lineamientos de diseño para los codificadores BCH 40. 3.12 Lineamientos generales para el proceso de decodificación BCH 45. 3.13 Cálculo del síndrome 47. 3.14 Búsqueda del polinomio localizador de error 50. 3.15 Relación entre el polinomio localizador de error y el síndrome 52. 3.16 Introducción al caso del algoritmo de Berlekamp-Massey 53. 3.17 Estructuración del algoritmo de Berlekamp-Massey (BM) 56. 3.18 Determinación de las raíces del polinomio localizador del error (búsqueda de Chien) 58. 3.19 Determinación del polinomio patrón de error 60. X 3.20 Caso para ejemplificar el proceso de decodificación BCH 60. 3.21 Implementación en hardware de los campos de Galois 67. Capítulo IVCapítulo IVCapítulo IVCapítulo IV Desarrollo de simulaciones para medir el desempeño de codificadores BCH 4.1 Descripción de las pruebas 73. 4.2 Modelo teórico 73. 4.3 Simulaciones del modelo teórico 81. 4.4 Resultados gráficos del modelo teórico 83. 4.5 Simulaciones por bloques de software en simulink 86. 4.6 Descripción y configuración de los bloques en simulink 86. 4.7 Resultados gráficos del modelo de simulación por bloques “simulink” 89. 4.8 Estructura de la simulación con elementos de hardware 92. 4.9 El codificador (coder) 93. 4.10 El decodificador (decoder) 96. 4.11 Resultados gráficos del modelo en hardware 99. CAP VCAP VCAP VCAP V Inferencia Comparativa 5.1 Desempeño comparativo 102. 5.2 Conclusiones 113. 5.3 Trabajos a futuro 113. Referencias 114. CAP VICAP VICAP VICAP VI Anexos A1 Biografía de E. Galois A1. A2 Cronograma de E. Galois A7. A3 Tabla de SNR vs. Pe A9. A4 Listado del programa en VHDL para el codificador (15,7) A11. 1 Capítulo ICapítulo ICapítulo ICapítulo I Introducción a la codificación para el control de errores 1.1 Antecedentes, Teoría de la información El objetivo del ingeniero en comunicaciones y electrónica es el de diseñar sistemas de modo que la información se transmita efectivamente al mismo tiempo y que satisfaga las siguientes limitantes de diseño: energía de transmisión, ancho de banda de la señal y los costos permitidos. El objetivo de los sistemas de comunicación es el de transmitir información desde una fuente hasta un receptor pasando por su canal respectivo. Se puede citar que la información es: “inteligencia o conocimiento capaz de ser representado en formas adecuadas para comunicación, almacenamiento o procesamiento.” La teoría de la información se propone estudiar la eficiencia y fiabilidad de la información permitiendo evaluar matemáticamente el rendimiento de los diferentes sistemas de comunicaciones. En esta teoría, el término "información" no es el significado que cierto conjunto de signos o símbolos puede poseer para quién envía o recibe un mensaje, sino una cantidad específica de información del mensaje en cuestión, cualquiera que sea la forma en que ha sido emitido, el modo en que se ha transmitido y el sistema mediante el cual se recibe. En esencia, la cantidad especifica de información queda determinada por la “posibilidad de selección” contenida en los elementos que integran el mensaje (sorpresa, incertidumbre, interés). La teoría de la información responde dos cuestiones fundamentales: 1.- ¿Cuál es la tasa final de compresión? Respuesta: Entropía (H) 2.- ¿Cuál es la tasa final de transmisión de la comunicación Respuesta: Capacidad del canal (C) Esto tiene contribuciones fundamentales en: � Física (Termodinámica) � Ciencias de la computación (Complejidad de Kolmogorov o algoritmo de complejidad) � Inferencia estadística (Occam’s razor: “La explicación más simple es la mejor”) � Probabilidad y estadística (Información de Fisher) � Economía (Teoría del portafolio, riesgo de Kelly). 2 Límite de compresión y de transmisión de los datos En la fig. 1.1 podemos observar cuáles son los límites tanto de compresión como de transmisión de datos en la teoría de las comunicaciones. Donde la tasa final de compresión es H y la tasa final de transmisión que es la información mutua máxima, C = máx I(A;B). Fig. 1.1. Extremos teóricos de información en la teoría de las comunicaciones.1 1.2 Breve reseña del pensamiento de Claude Elwood Shannon (1916 - 2001) En su trabajo de 1948 denominado “Unateoría matemática de la comunicación” (se concentra más en la información que en las señales en sí), Shannon se preguntó: ¿Cómo se representarán los mensajes para que la información sea conducida de la mejor manera?, con sus limitaciones físicas inherentes. Fue uno de los primeros investigadores que relaciona las herramientas de probabilidad y estadística con la información transmitida en los sistemas de comunicación. Antes del trabajo de Shannon, el trabajo de los matemáticos e ingenieros que trabajaban en la teoría de comunicaciones, era el de hallar formas en las cuales podía mantenerse la integridad de las señales analógicas que viajan en un cable, como una corriente eléctrica fluctuante, o a través del aire como una onda de radio modulada. Shannon tomó un enfoque muy diferente. El vio la "información" codificada completamente de manera digital, como una serie de 1's y 0's a los cuales se refiere como bits (binary information unit). Además de proveer a los ingenieros de comunicaciones con una metodología diferente de diseño de circuitos de transmisión, este cambio de enfoque también condujo al concepto "información" como un producto objetivo, desincorporado de "remitentes" ó "receptores" humanos. Después de Shannon la cuestión de importancia era ¿En qué forma se puede enviar, de la mejor manera, una secuencia de pulsos eléctricos ó electromagnéticos de un punto a otro? ________ 1 de la referencia Cover [36], pp 2. Límite de compresión de los datos Límite de transmisión de los datos H máx I(A;B) 3 Una consecuencia particular de este nuevo enfoque, era que mientras aún una pequeña variación en una señal analógica distorsiona y puede, concebiblemente corromper la información transportada por esa señal, la naturaleza del si/no (on/off) de la señal digital significa que la señal transportada digitalmente es mucho menos propensa a corromperse. En la teoría de Shannon lo que se mide es la cantidad de información que transporta una señal sin importar lo que denota esta señal. Los tres puntos medulares de la teoría de la información de Shannon: Nueva medida para la velocidad de Información. Medida para la capacidad de transmisión de información del canal. Proceso de codificación para utilizar los canales a máxima capacidad. 1.3 ¿Qué es la teoría de la información? La teoría de la información trata el problema de la eficiencia y fiabilidad en la transmisión de la información. Los dos principales tópicos relacionados a la TI son: � Codificación Fuente: el problema de la eficiencia. � Codificación de Canal: el problema de la fiabilidad. Eficiencia: Teniendo un código con una longitud promedio tan pequeño como sea posible, por ejemplo, códigos para letras que aparecen frecuentemente. Fiabilidad: La habilidad para procesar errores en la transmisión, por ejemplo, el envío de la misma secuencia varias veces, para recuperarla a pesar de los errores. Codificación fuente y de canal Codificación Fuente: Su objetivo es extraer la información esencial de la fuente y codificarla a un formato discreto de modo que se pueda guardar o transmitir mediante técnicas digitales. Codificación de Canal: Se agregan datos al tren de bits de la fuente para que el receptor pueda detectar y corregir errores provocados por el ruido presente en el canal. "En esencia la codificación se emplea para acoplar la fuente al canal" Es importante mencionar que dicha Teoría se encarga de analizar los símbolos que transmite una fuente, su cantidad y calidad en un sistema de comunicaciones y no el significado que el receptor puede darle a este grupo de símbolos (para el usuario o aplicación final). 4 Codificación fuente y de canal en un sistema de comunicaciones Fig. 1.2. Sistema de comunicaciones a bloques. El procesador de la señal condiciona a la fuente para una transmisión más eficiente. Es aquí en donde se proporciona una “codificación fuente” de la señal de entrada. Además agrega bits de paridad a la palabra digital con lo que se produce “codificación de canal” con el propósito de que el receptor pueda detectar y corregir errores. Los circuitos portadores convierten la señal de banda base procesándola en una banda de frecuencia apropiada para el medio de transmisión del canal (señal pasa banda). El receptor captura la señal contaminada proveniente del canal, la convierte en banda base, limpia la señal y entrega una estimación de la información general. La codificación fuente extrae la información más esencial a mandar de una fuente. Teorema fundamental de la teoría de la información Dada un fuente de información y un canal de comunicación, existe una técnica de codificación tal que la información se pueda transmitir sobre un canal a cualquier rapidez menor que la capacidad del canal y una frecuencia de errores arbitrariamente pequeña, no obstante la presencia del ruido. 5 Medida de la información Consideremos los siguientes titulares de algún periódico: 1. "El sol sale por el este" 2. "Estados Unidos invade Cuba" 3. "Cuba invade Estados Unidos" 4. "México ganará el próximo mundial" P(1) = 1 - Apenas lleva información, o nula P(2) ⇒ Escasa probabilidad pero finita - Trae mayor cantidad de información P(3) ⇒ Casi imposible - Más información que las anteriores P(4) ⇒ Imaginario - Sin comentarios Tabla 1.1. Relación de la probabilidad y cantidad de información. Entre menos probable sea un evento mayor información “I” contendrá. Por lo tanto: P → 1 P → 0 I → 0 I → ∞ Fórmula para la medida de la información “I” La cantidad de información “I” enviada desde una fuente, cuando se transmite el mensaje xi, está dada por: en unidades r-arias donde P(xi) es la probabilidad de xi, , y siendo IA = f(PA) Los requisitos que debe cumplir tal función son: � f(PA) ≥ 0 0 ≤ PA ≤ 1 � lim f(PA) = 0 PA→1 � f(PA)>f(PB) para PA<PB � PC = PAPB donde A y B son estadísticamente independientes � IC = f(PAPB) ⇒ f(PAPB) = IA + IB ⇒ IC = IA + IB = )( 1 log)( i ri xP xI Ec. 1.1 6 Se observa que la cantidad de información depende sólo de la probabilidad de enviar el mensaje y no de la posible interpretación del contenido, respecto a si tiene o no sentido. La base del logaritmo determina las unidades, es decir para r = 2, r = e y r = 10. una manera rápida de conversión: 1 hartley = 3.32 bits 1 nat = 1.44 bits [ ] [ ])(ln 2ln 1 )(log 2log 1 )( 10 10 iii xPxPxI −= −= log2 υ = 3.32 log10 υ 1.4 Entropía máxima Para ello hay que encontrar la distribución de probabilidades de los mensajes que produzcan la máxima entropía. Se espera que " H " sea máxima cuando todos los símbolos sean equiprobables. Comprobando el caso binario: Ec. 1.2 Ec. 1.3 7 Calculando la entropía H de una fuente binaria y sin memoria con la ecuación 1.4: == ∑∑ == )( 1 log)()( 2 2 1 2 1 ii i i ii xP xPIxPH − −+= p p P PH 1 1 log)1( 1 log 22 Fig. 1.3. Gráfica de la entropía de una fuente binaria. Además el rango de valores posibles de H está acotado: 0 < H ≤ log2 q, donde “q” es el númerode símbolos. Velocidad de entropía Si se introduce el elemento tiempo en escena, supóngase que dos fuentes tienen igual entropía pero una es más rápida que la otra por lo tanto se producen más símbolos por unidad de tiempo. En estos casos la descripción de la fuente no reside totalmente en su entropía sino en su velocidad de entropía (bits/s). La velocidad de entropía " R " de una fuente discreta es: )( s bitsH R τ = donde: τ es la duración promedio del símbolo iτ → es la duración del símbolo xi ∑ = = q i iixP 1 )( ττ Ec. 1.5 Ec. 1.6 Ec. 1.7 Ec. 1.4 H bits/símbolo 8 1.5 Antecedentes, Codificación de canal El “BER” es habitualmente el parámetro más importante a tener en cuenta, desde el punto de vista de los diseñadores de sistemas de comunicación. La velocidad de transmisión de la información es también decisiva, ya que el diseñador desea transmitir información a cierta tasa de símbolos R (velocidad o tasa de entropía), necesidad que viene determinada por cada aplicación. Otros criterios de diseño incluyen: * Complejidad * Costo * Peso del equipo * Disipación de calor * Tolerancia a fallos * Ancho de banda consumido Esto deja poca flexibilidad al proceso de diseño ya que según nuestro razonamiento simplista parece indicar que: una vez seleccionado el formato de modulación, la velocidad de encapsulamiento de salida y el BER, éstos determinan el nivel de potencia del transmisor, que a su vez determina el peso de la batería, la disipación térmica y otros factores. En algunos casos, este análisis puede indicar que la construcción del sistema deseado es físicamente imposible. Por ejemplo, en el diseño de un satélite de comunicaciones, la ecuación potencia/velocidad/BER puede llegar a dictar un nivel de potencia P mayor del que puede ser proporcionado por los amplificadores de las ondas portadoras o los amplificadores de estado sólido disponibles para las construcciones de satélites. En otro ejemplo, podemos encontrar que las necesidades de potencia para el diseño de un teléfono móvil indican el uso de baterías del tamaño más bien para la espalda de un elefante que para el bolsillo de una camisa. Hubo un tiempo en el que estos obstáculos resultaban insuperables. Sin embargo a finales de los 40 los trabajos de Shannon y Hamming en los Laboratorios Bell sentaron las bases para los códigos de control de error, un campo que hoy nos proporciona un conjunto de técnicas potentes para alcanzar las BER deseados con potencias de transmisión bajas. Estos caballeros atacaron el problema del control de error en canales con ruidos usando técnicas completamente diferentes. Shannon utilizó un enfoque estadístico/existencial mientras que Hamming podría decirse que utilizó un planteamiento combinatorio/constructivo. Consecuentemente, sus resultados fueron también radicalmente distintos: Shannon encontró los límites para el control de errores ideal, mientras que Hamming mostró la manera de construir y analizar los primeros sistemas de control de error prácticos. Existen tres tipos distintos de codificaciones en las comunicaciones digitales: Códigos Fuentes (eliminan redundancia), Códigos de Confiabilidad y Secretos, por último, Códigos para el Control de Errores los cuales hacen uso de la Matemática discreta como del álgebra moderna. 9 La detección de errores El decodificador puede reaccionar ante la detección de un error de tres maneras diferentes: � Pedir una retransmisión de la palabra � Tomar la palabra como incorrecta e ignorarla � Tratar de corregir los errores de la palabra recibida. La petición de retransmisión es utilizada en un conjunto de estrategias de control de errores denominado petición automática de repetición (ARQ = Automatic Repeat Request). Para ello es necesario que exista un enlace bidireccional entre el transmisor y el receptor y que la información inicial todavía esté disponible. La segunda opción se denomina comúnmente como “mutting". Es típica de aplicaciones en las que los retrasos no permiten la retransmisión de la palabra transmitida y parece mejor dejar la palabra recibida como un valor "apagado" que intentar corregir los errores. (p.e. comunicación por voz y audio digital). La opción final se denomina corrección del error (FEC=Forward Error Correction). En los sistemas FEC la estructura aritmética o algebraica del código se utiliza para determinar cuáles de las palabras código válidas han sido enviadas, dada la palabra errónea recibida. 1.6 Tipos de errores Aleatorios (Random) Canales sin memoria Comunicación satelital De espacio profundo (deep-space) Ráfagas (Burst) Canales con memoria Radio / cable diafonía, desvanecimiento (fading) Compuesto Random-Burst Características atmosféricas extremas, pérdida del enlace por bastante tiempo (meteor- burst) Tabla 1.2. Clasificación de los errores en los sistemas de comunicaciones. 10 1.7 Principales técnicas para la recuperación y corrección de errores Técnica Aplicaciones Tipos ARQ (Automatic Repeat Request) Retransmisión de bloque detectado por el receptor con error. Modo Duplex Distancias cortas LAN’s (ACK) "Stop and wait" "Go back N" "Selective reject" Ventana deslizante en conjunto con el CRC FEC (Forward Error Correction) Corrección de errores anticipada ó adelantada, donde los datos transmitidos se codifican de modo que el receptor pueda detectar y corregir los errores. Modo Simplex Comunicaciones con largas demoras en la transmisión Códigos de Bloque Códigos Cíclicos RS, BCH, RM Códigos convolucionales “Turbo Codes” Tabla 1.3. Principales técnicas para el control de errores. 1.8 Codificación FEC Otra motivación pragmática para el uso de dicha codificación radica en la reducción de Eb/No requerida para una tasa de errores en bits fija (BER). Esta reducción en Eb/No puede explotarse para reducir la potencia transmitida necesaria para o reducir los costos en el hardware Existen muchos códigos diferentes para la corrección de errores (con fundamento en varias disciplinas matemáticas) que se pueden utilizar. Desde hace tiempo, estos códigos se han clasificado en códigos de bloque y códigos de convolución. La característica distintiva para dicha división es la presencia o ausencia de memoria en los dos codificadores. El principio de funcionamiento de un codificador de bloque (n,k) consiste en aceptar información en bloques sucesivos de k dígitos, y en cada bloque agrega n - k dígitos redundantes que se relacionan algebraicamente con los k dígitos del mensaje original, produciendo por lo anterior un bloque codificado completo de n dígitos, donde n > k. 11 Este último bloque de n dígitos se denomina palabra de código. Un codificador de canal produce bits a razón de SRk n R =0 donde : RS � (b/s) tasa de bits de la fuente de información η = k/n � tasa de código ó eficiencia del codificador (0 < η < 1) R0 � (b/s) tasa de bits a la salida del codificador o “tasa de datos del canal” En un código convolucional, la operación de codificación puede entenderse como la propia convolución en tiempo discreto de la secuencia de entrada con la respuesta al impulso del codificador. La duración de la respuesta al impulso es igual a la memoria del codificador. Por lo tanto, el codificador de convolución opera sobre la secuencia del mensaje entrante, empleando una “ventana de desplazamiento” igual en duración a su propia memoria.Segundo teorema de Shannon (teorema de codificación de canal) El Teorema de codificación de canal establece que si un canal sin memoria discreto tiene capacidad C y una fuente genera información a una tasa menor que C, existe entonces una técnica de codificación tal que la salida de la fuente puede transmitirse por el canal con una probabilidad de error de símbolo arbitrariamente baja. Para el caso especial de un canal simétrico binario, el teorema nos indica que si la tasa de código r es menor que la capacidad C del canal, entonces es posible encontrar un código que logre una transmisión sin errores por el canal. De manera opuesta, no es factible un código de este tipo si la tasa de código r es mayor que la capacidad C del canal. El anterior teorema especifica a la capacidad C del canal como un límite fundamental sobre la tasa a la cual puede llevarse a cabo la transmisión confiable (sin errores) de mensajes por un canal sin memoria y discreto. He aquí el énfasis de la codificación a la entrada del canal sobre el parámetro suficientemente grande de la relación señal a ruido (S/R, o en inglés SNR). La parte menos concreta de dicho teorema es su poca naturaleza de diseño. El teorema asegura la existencia de “buenos códigos” pero no dice cómo determinarlos, aunque la parte loable es el establecimiento de tal límite sin haberse desarrollado un algoritmo de código de canal tal cual. Por “buenos códigos” se refiere a un conjunto de códigos de canal que son capaces de proporcionar transmisión de información confiable (probabilidad de error pequeña) por un canal ruidoso a tasas de bit hasta un valor máximo menor que la capacidad de dicho canal. Ec. 1.8 12 Capítulo IICapítulo IICapítulo IICapítulo II simulación en software para el desempeño de sistemas de transmisión en banda base digital sin codificación de canal 2.1 Descripción de la prueba Las pruebas desarrolladas en el presente capítulo tienen como objetivo evaluar el desempeño de un sistema digital de banda base con transmisión de señales unipolar NRZ y antipodal, sin la utilización de codificador de canal alguno. (a) (b) Fig. 2.1. Ejemplos de señal (a) antipodal y de señal (b) unipolar NRZ (on-off). Para medir tal desempeño, se graficará la probabilidad de error (Pe) vs. la relación señal a ruido SNR, tanto para el caso del modelo matemático (fórmula), como para una simulación de tipo Monte Carlo. Lo anterior permitirá de primera instancia, tener una referencia para comparar el desempeño de los codificadores BCH a desarrollar en los siguientes capítulos. Para llevar a cabo lo anterior, se tuvieron las siguientes consideraciones: � Se utiliza un canal simétrico binario (BSC) con probabilidad de error en transición (p) en función a la SNR con AWGN. � Las probabilidades de enviar un “0” y un “1” son las mismas, (probabilidades iniciales o a priori equiprobables P0 = P1) � El receptor está bajo la detección de un filtro acoplado � No hay problemas de ISI; perfecta sincronía t A s0(t) Dígito “1” t -A s1(t) Dígito “0” Tb t A s0(t) Dígito “1” t 0 s1(t) Dígito “0” Tb Tb Tb Cíclo reloj Cíclo reloj 13 Se utilizaron las siguientes fórmulas: --para señal unipolar-- = = 00 22 1 N E erfc N E QP bbe --para señal antipodal-- = = 00 2 12 N E erfc N E QP bbe Fig. 2.2. Grafica de la Pe vs. SNR en los casos de una señal antipodal y unipolar NRZ. Ec. 2.2 Ec. 2.1 14 2.2 Comentarios sobre la simulación tipo Monte Carlo para la Pe vs. SNR La simulación de Monte Carlo es una técnica computacional que hace uso de números aleatorios. Los objetivos de esta simulación son los de resolver uno o dos de los siguientes problemas: - generar muestras provenientes de una distribución de probabilidades p(x) dada - estimar la media de una función bajo la fdp p(x) dada. Para el rubro que nos ocupa, se implementó dicha técnica para estimar la probabilidad de error de un sistema de comunicación digital, mediante el siguientes diagrama a bloque, del cual sobresalen un módulo generador de datos aleatorios, un detector de nivel según el umbral y un comparador de datos, donde al final se contabilizan los errores que son después presentados en graficas de Pe vs. SNR Fig. 2.3. Diagrama a bloque de la simulación Monte Carlo implementada para Matlab. Este esquema (fig. 2.3) muestra la generación de una variable aleatoria r, la cual es la entrada a un detector. Se implementa un generador de números aleatorios uniforme para simular la secuencia de información binaria proveniente de una fuente de datos binario. Las secuencias de 0’s y de 1’s es mapeada dentro de una secuencia de ±E , donde E representa la energía de la señal. Para este caso E se normaliza al valor unitario. Además, un generador de ruido gaussiano se utiliza para obtener la secuencia de números aleatorios gaussianos con media cero y varianza σ 2 . El detector compara la variable aleatoria r con umbral de 0 (cero). Si r > 0, la decisión a tomar es de que se transmitió el bit “0”. Si r < 0, entonces ahora la decisión a tomar es de que se transmitió el bit “1”. La salida del detector es comparada con la secuencia trasmitida en bits, y es entonces cuando el contador de errores actúa. Generador de números aleatorios (Uniforme) N= # de datos a generar Detector Generador de números aleatorios (Gaussiano) Fuente de datos binarios Comparador Contador de errores + Salida de datos ±E n r 15 Para las primeras simulaciones se consideraron la transmisión de un tren de 10,000 bits de información, los cuales se vieron afectados por diferentes valores de SNR. Pero hay algunas de mayor longitud que requirieron mayor tiempo de CPU para poderlas terminar (N=1,000,000). Fig. 2.4. Gráficas de las simulaciones Monte Carlo implementadas para Matlab, con una corrida de 10,000 dígitos binario. Como se observa en la fig. 2.4, el desempeño de la Pe para la señal antipodal con base en el modelo de Monte Carlo (en *) se ajusta en sus primeros seis valores (de 0 a 5 dB’s) a la curva de Pe obtenida por la ec. 2.1 (línea continua), mientras que el resto comienza a separarse por la cantidad de datos simulados. En las siguientes pruebas de Monte Carlo se evaluaron más puntos de SNR como de dígitos binarios, como se puede observar en las figuras 2.5, 2.6 y 2.7. Teórico * Simulación 16 Fig. 2.5. Gráfica de la segunda prueba para simulación Monte Carlo, con una corrida de 10,000 dígitos binario. Fig. 2.6. Gráfica de la simulación Monte Carlo implementada para Matlab, con una corrida de 10,000 dígitos binarios, con más puntos de prueba. Teórico * Simulación Teórico * Simulación 17 Fig. 2.7. Gráficas de la simulaciones Monte Carlo implementadas para Matlab, con una corrida de 1,000,000 de dígitos binario. 2.3 Conclusiones sobre la simulación Monte Carlo para la Pe vs. SNR Se puede observar que la simulación de Monte Carlo se aproxima de manera muy cercana a la curva del desempeño teórico de la gráfica de Pe vs. SNR antipodal, sin embargo, habrá que realizar mayores corridas en los valores de N, para llegar a tasas de errores más bajas y observar que tanto error de aproximación ofrecen las dos modalidades. Es decir, a mayor SNRhabrá que incrementar el número de símbolos binarios a transmitir para alcanzar las tasas de error esperadas. Teórico * Simulación Teórico * Simulación 18 Capítulo IIICapítulo IIICapítulo IIICapítulo III Códigos BCH 3.1 Bases del álgebra moderna para la codificación de canal Los sistemas algebraicos son estructuras que satisfacen ciertas reglas o leyes, las cuales casi siempre son las mismas que aplicamos en nuestros sistemas de numeración ordinarios. Dichas estructuras son deseables en los códigos correctores de error por dos razones: facilitan la búsqueda de propiedades de un código, y llevan a cabo la instrumentación de códigos prácticos. En general en toda la teoría de códigos se suelen trabajar en conjuntos cuyo alfabeto es bastante restringido. Es aquí donde el álgebra abstracta y la aritmética modular apoyan las aplicaciones de los sistemas de comunicaciones, tales como almacenamiento y transmisión de datos en redes telemáticas, donde el alfabeto de símbolos posible es el conjunto {0,1}. Con respecto a la aritmética modular se puede mencionar que ésta es una parte de las matemáticas extremadamente útil, tanto en la corrección de errores como en la criptografía dentro de los sistemas de comunicaciones digitales, ya que permite realizar cálculos complejos y plantear problemas interesantes, manteniendo siempre una representación numérica compacta y definida, puesto que sólo maneja un conjunto finito de números enteros. Muchos estudiosos la conocen como la aritmética del reloj, debido a su parecido con la forma en que llevamos la contabilidad del tiempo. Por ejemplo, si son las 19:13:59 y pasa un segundo, se dice que son las 19:14:00, y no las 19:13:60. Como se puede entender, los segundos al igual que los minutos, se expresan utilizando sesenta valores cíclicamente, de forma que tras el 59 viene de nuevo el 0. Desde una perspectiva formal diríamos que los segundos se expresan en módulo 60. A continuación se describirán los bloques de construcción fundamentales del álgebra abstracta, la cual abordaremos con mayor detalle durante este capítulo. 3.2 Introducción a la Teoría de Grupos, Anillos y Campos En el álgebra abstracta o también conocida como álgebra moderna se tienen ciertos sistemas básicos o simplemente conjuntos cuyos elementos podemos operar algebraicamente, es decir que se pueden combinar dos elementos del conjunto, quizá de varias maneras, para obtener un tercer elemento también del conjunto, y además se supone que estas operaciones algebraicas están sujetas a ciertas reglas que se indican explícitamente en lo que se llaman axiomas o postulados definitorios del sistema. En este apartado se expondrán distintos teoremas dentro del marco abstracto que integran estructuras generales como grupos, anillos y campos, con el objetivo de relacionar sus propiedades con aplicaciones específicas dentro del área de los sistemas de comunicaciones. Es imperativo resaltar que los anteriores sistemas algebraicos son sistemas que satisfacen ciertas reglas o leyes, y que en la mayoría de los casos, esas son las mismas leyes que se aplican en nuestros sistemas ordinarios de numeración. Así un grupo es un sistema con una operación y su inversa, tales como la adición y su inversa que es la substracción, o la multiplicación y su inversa que es la división. Un anillo tiene dos operaciones, adición y multiplicación, y la operación inversa de la primera (resta). 19 Un campo tiene las dos operaciones básicas anteriores, ambas con sus operaciones inversas. Por convención, la notación para las dos principales clases de operaciones sobre el conjunto de elementos de las anteriores estructuras, es usualmente la misma notación que se utiliza para representar a las operaciones de adición y multiplicación que estamos acostumbrados a utilizar dentro de los sistemas numéricos ordinarios. No obstante, es importante hacer notar que en álgebra abstracta, no se está limitado a las operaciones aritméticas tradicionales. En el siguiente cuadro sinóptico, se especifican los distintos axiomas y teoremas que dan lugar a las estructuras algebraicas anteriormente citadas. (A1) Cerradura bajo adición Si a y b pertenecen a G, entonces a+b está también en G. (A2) Asociativa de la adición a+(b+c)=(a+b)+c para todo a, b, c en G. (A3) Elemento identidad adición Hay un elemento 0 Є G tal que a+0=0+a=a para todo a en G. (A4) Inverso aditivo Para cada a en G hay un elemento –a en G tal que a+(-a)=(-a)+a=0. (A5) Conmutativa de la adición a+b=b+a para todo a, b en G. (M1) Cerradura bajo multiplicación Si a y b pertenecen a R, entonces a • b está también en R. (M2) Asociativa de la multiplicación a • (b • c)=(a • b) • c para todo a, b, c en R. (M3) Leyes distributivas a • (b+c)=a • b + a • c para todo a, b, c en R. (a+b) • c=a • c + b • c para todo a, b, c en R. (M4) Conmutativa de la multiplicación a • b = b • a para todo a, b, c en R. (M5) Elemento identidad multiplicación Hay un elemento 1 en R tal que a • 1 = 1 • a = a para todo a en R. (M6) No posee divisores cero Si a y b están en R y a • b = 0, por lo tanto a=0 o b=0. (M7) Inverso multiplicativo de elementos no cero Si a pertenece a F y a ≠ 0, hay un elemento a-1 en F tal que a • a-1 = a-1 • a = 1. Fig. 3.1. Cuadro sinóptico sobre las estructuras del álgebra moderna. G R U P O G R U P O A B E L I A N O A N I L L O C O N M U T A T I V O A N I L L O D O M I N I O E N T E R O C A M P O Anillo con elemento unitario 20 En el siguiente cuadro se muestran algunas propiedades resumidas de los grupos, anillos y campos: Grupo Conjunto de elementos que pueden ser operados (+ o •) sin salirse del conjunto. Anillo Conjunto de elementos donde se definen 2 operaciones tal que los elementos pueden ser sumados, restados y multiplicados sin salirse del conjunto. Campo Conjunto de elementos con 2 operaciones y sus inversos tal que los elementos pueden ser sumados, restados, multiplicados y divididos sin salirse del conjunto. Operación módulo-n Dados cualquier entero n y cualquier entero a, si se divide a entre n, habrá un entero cociente q y un entero residuo r que obedecen la siguiente expresión: rqna += , nr <≤0 ; = n a q donde x es todo entero mayor que es menor o igual a x. Fig. 3.2. Valores que intervienen en la descripción del módulo n. La fig. 3.2 muestra en una línea numérica a dos enteros cualesquiera (a, n positivo), en la cual siempre es posible encontrar q y r que satisfagan la relación a = qn + r; y donde a puede caer en algún lugar de dicha recta (para este caso a cae en lado positivo de la recta). Iniciando desde 0, se procede a ubicar n, 2n, hasta qn tal que qn ≤ a y (q + 1)n > a. La distancia desde qn hasta a es r, y por lo tanto se han encontrado los valores únicos de q y r. Por ejemplo: a = 11; n = 7; 11 = (1 × 7) + 4; r = 4 a = -11; n = 7; -11 = [(-2) × 7] + 3; r = 3 Si a es un entero y n es un entero positivo, se definirá al módulo n de a (a mod n) como el residuo de dividir a entre n. Así, para cualquiera entero a, se puede escribir lo siguiente: )mod( nan n a a +× = 0 1 2 n 2n 3n qn a (q +1) n r n 21 Siguiendo los ejemplos, se tiene que: 11 mod 7 = 4; -11 mod 7 = 3 Congruencia Dos enteros a y b se dicen ser congruentes módulo n, si (a mod n) = (b mod n). Lo anterior se escribe como: nba mod≡ Siguiendo con ejemplos, se tiene que: 73 ≡ 4 mod 23; 21 ≡ - 9 mod 10 3.2 Aritméticamodular Si m es un entero positivo, Zm denota el conjunto de los enteros módulo-m, es decir: Zm ={0,1, . . . , m-1}. A partir de este conjunto se podrán definir operaciones tales como la suma y el producto. Definición D3.1. Sean x, y Є Z. La suma de x y y en Zm es el residuo que resulta de dividir x + y Є Z entre m. Análogamente el producto de x y y en Z, es el residuo que resulta de dividir x • y Є Z entre m. Nótese que con esta definición Zm es un conjunto cerrado bajo la suma y producto módulos-m. Ejemplo, para Z5: 2 + 4 = 1 y 2 • 4 = 3 A la terna 〈 Zm, +, • 〉 es a lo que se designará como los enteros módulo-m, y que a partir de este momento se simplificará su notación a Zm. Las tablas 3.3 y 3.2 muestran un ejemplo de los enteros módulo-2, el cual es el caso más utilizado en áreas de ingeniería, principalmente en la de electrónica y comunicaciones. ++++ 0 1 × × × × ó • 0 1 0 0 1 0 0 0 1 1 0 1 0 1 Tabla 3.1. Suma módulo-2. Tabla 3.2. Multiplicación módulo-2. 22 3.3 Protagonismo de los números primos En este apartado se pretende resaltar la importancia que tienen los números primos en la aritmética modular, los cuales a se vez, también son protagonistas fundamentales para la estructuración de los campos, que se analizarán más adelante. Primeramente, se puede hacer notar que 4 • 2 = 0 en Z8, pero 4 y 2 son, ambos, distintos de cero. Sería deseable que cuando un producto sea cero al menos uno de los operadores sea cero. Y entonces se hace pregunta: ¿Qué se requiere para que ocurra esto? Supongamos que a • b = 0 Є Zm, es decir: a • b ≡ 0 (mod-m) Para que esto suceda se necesita que m(a • b), es decir, “m un divisor de (a • b)”. Por lo tanto, se tiene el siguiente teorema. Teorema T3.1. Sean a, b Є Zp, y a • b = 0 en Zp implica que a = 0 o b = 0 sí y sólo sí p es primo. Suponiendo que a • b = 0 en Zp. Esto significa que (a • b) ≡ 0 mod-p y por lo tanto p(a • b). Dado que p es primo entonces ocurre alguna de las siguientes dos cosas: � pa, lo que significa que a ≡ 0 mod-p, es decir a = 0 en Zp � pb, lo que análogamente significa que b = 0 en Zp También se puede demostrar lo anterior, suponiendo que p no es primo y que no es cierto que si el producto de a y b es cero, a o b son cero. Sin embargo, lo que interesa es visualizar la importancia de los números primos para valores de m a utilizar en multiplicación módulos-m. Lo anteriormente analizado, es el preludio de los llamados “divisores cero”, los cuales se hace referencia por primera vez en el cuadro sinóptico 1, y que se definen prácticamente como los elementos a, b Є Zm y que al ser operados en multiplicación mod-m su resultado es cero, donde ninguno de los dos es cero mod-m (a y b son divisores cero), y ello por el simple hecho de que m no es primo. Esta peculiaridad no la deben presentar las estructuras que más adelante se abordarán en la tesis, y que son los denominados campos. A continuación se presentan tablas para la multiplicación módulo-m, con diferentes valores de m (primo y no primo), con el fin de ejemplificar lo aquí expuesto. 23 ×××× 0 1 2 ×××× 0 1 2 3 4 0 0 0 0 0 0 0 0 0 0 1 0 1 2 1 0 1 2 3 4 2 0 2 1 2 0 2 4 1 3 3 0 3 1 4 2 4 0 4 3 2 1 Tabla 3.3. Multiplicación módulo-3. Tabla 3.4. Multiplicación módulo-5. ×××× 0 1 2 3 ×××× 0 1 2 3 4 5 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 2 3 1 0 1 2 3 4 5 2 0 2 0 2 2 0 2 4 0 2 4 3 0 3 2 1 3 0 3 0 3 0 3 4 0 4 2 0 4 2 5 0 5 4 3 2 1 Tabla 3.5. Multiplicación módulo-4. Tabla 3.6. Multiplicación módulo-6. Como se puede observar, la propiedad de divisores cero sólo se presenta en las tablas de multiplicación mod-4 y mod-6 (m no primo), inclusive en estas mismas tablas se pueden detectar (con letra cursiva) productos del mismo valor provenientes de elementos de una misma columna o fila, por ejemplo: (2 x 1) mod 4 = 2 y (2 x 3) mod 4 = 2; o (3 x 1) mod 6 = 3; (3 x 3) mod 6 = 3 y (3 x 5) mod 6 = 3 Los presentes casos, por no provenir de un número primo, propician que los productos entre diferentes elementos se repitan, pero lo más critico es que a la hora de calcular sus inversos multiplicativos, dichos elementos no lo tendrán, por lo que no se podrá realizar la división entre algunos de ellos; por lo anterior se citan los siguientes teoremas. Teorema T3.2. Zm es un campo sí y sólo sí m es primo. Para la demostración de este teorema, primeramente se comprobará uno que hace referencia directamente a los enteros módulo-m, y después en su oportunidad se abordará lo que corresponda en el apartado de campos. Teorema T3.3. En Zm todos los elementos distintos de cero tienen un inverso multiplicativo sí y sólo sí m es primo. Para su demostración se optará por la negación de la hipótesis. Es decir, si m no es primo entonces no todos los elementos de Zm tienen inverso. 24 Si m no es primo significa que es divisible entre algún número distinto de 1 y de m mismo. Significa que m = a • b con a y b enteros distintos de cero y menores a m. Pero entonces a, b Є Zm y como el producto de ellos es m por lo tanto a • b = 0 en Zm. Ahora por otra parte, si a tuviera inverso a-1 entonces se tendría: b = a-1 • (a • b) = a-1 • 0 = 0 Pero se había establecido que b era distinto de cero, así que esto es una contradicción. Por lo tanto a no tiene inverso, con lo cual existe un elemento en Zm sin inverso multiplicativo. Otra manera de demostrar lo anterior, es establecer una hipótesis donde ahora m sea primo, y se deberá deducir que todos los elementos de Zm tienen inverso. Sea a un elemento cualquiera de Zm. Considerando por el momento que todos los productos de la forma a • b donde b Є Zm. Si hubiera un par de elementos b, b’ Є Zm distintos entre sí pero que dieran el mismo producto al multiplicar por a, se tendría que b ≠ b’ y a • b = a • b’, es decir: (a • b) ≡ c mod-m y (a • b’) ≡ c mod-m Por lo consiguiente, al dividir a • b entre m se tiene el mismo residuo del que resulta de dividir a • b’ entre m, es decir: ab = km + c ab’ = k’m + c Si el residuo es el mismo y el divisor también, sólo basta con recordar un momento el algoritmo de la división para implicar que también los cocientes son los mismos. Esto es: k = k’ Entonces b debe ser también igual a b’ lo que contradice la hipótesis inicial. Así que no pueden haber dos productos iguales (como se pudo observar en los ejemplos anteriores de las tablas de multiplicación con m no primo, los cuales tenían productos iguales), ya que para todo b Є Zm el producto de a • b es un elemento distinto de Zm. Por lo que en total hay m productos distintos, todos ellos en Zm, entonces el conjunto de todos los posibles productos es exactamente todo Zm y debe haber algún producto que sea igual a 1, (esto también se pudo comprobar en las tablas de multiplicación módulo-m con m primo). Finalmente, existe algún b Є Zm tal que a • b = 1, luego a, un elemento cualquiera de Zm tiene inverso. De hecho en un conjunto Zm un elemento a tiene inverso multiplicativo si a es primo relativo de m. Esto es más global de lo que se acaba de demostrar, porque si a es primo entonces cualquier elemento en Zm resultará primo relativo de m, así que todos los elementos de Zm tendrán inverso. Esta generalización se comentará en el siguiente apartado relativo a los campos de Galois. 25 3.4 Campo Un campo es un conjunto de elementos que pueden ser operados de acuerdo a reglas que satisfacen ciertas propiedades, que se han mencionadobrevemente al inicio del presente capítulo. Como ejemplo de primera mano podemos mencionar al conjunto ordinario de todas las fracciones formadas a partir de los enteros, junto con las operaciones usuales de suma y multiplicación, es conocido como el campo de los números racionales. Los principios de los campos tienen muchas aplicaciones. La ingeniería eléctrica y la de electrónica y comunicaciones usan el campo de los números complejos para estudiar los circuitos eléctricos, fenómenos eléctricos y magnéticos. A su vez, la teoría de la codificación que es usada en las telecomunicaciones, los campos son herramientas para reducir los errores que surgen de la transmisión de información sobre medios como el par de hilos de cobre (línea telefónica), el cable coaxial, enlaces de fibra óptica y enlaces de radio frecuencia en microondas (satélite y celular). Definición de campo Como preámbulo, se puede decir que un campo es un anillo conmutativo con elemento unitario (identidad multiplicativa) en el cual cada elemento no cero tiene un inverso multiplicativo. Definición: Un campo F es un conjunto que tiene dos operaciones definidas en este, llamadas adición y multiplicación, tales que satisfacen las siguientes condiciones: 1. F forma un grupo conmutativo bajo la adición. El elemento identidad con respecto a la adición es llamado elemento cero o la identidad aditiva de F, y se denota por el “0”. 2. El conjunto de elementos no cero en F forman un grupo conmutativo bajo la multiplicación. El elemento identidad con respecto a la multiplicación es llamado elemento unidad o identidad multiplicativa de F, y se denota por el “1”. 3. La multiplicación es distributiva bajo la adición. a • (b + c) = a • b + a • c. A partir de la introducción a estas estructuras básicas del álgebra moderna, es inmediato comprender que cada elemento a de un campo tiene un inverso aditivo –a tal que a + (–a) = (–a) + a = 0. Además se puede observar que cada elemento no cero a de un campo tiene un inverso multiplicativo a-1 tal que a • a-1 = a-1 • a = 1. El número total de elementos en un campo es llamado el orden del campo. Un campo puede contener un infinito o finito número de elementos. Si el orden de un campo es finito, el campo es llamado un campo finito. Y son estos campos los que interesan para el contexto de la teoría de codificación. Los campos finitos también son llamados campos de Galois en honor al matemático Francés E. Galois, para el cual se ha anexado una reseña de su interesante y joven vida al final de la presente tesis. Un campo de Galois de orden q es denotado por GF(q), o por Fq 26 En ejemplo de lo anterior son las siguientes tablas, que definen el campo de Galois de orden 7 bajo módulo-7 en suma y multiplicación: –a + 0 1 2 3 4 5 6 a-1 ×××× 0 1 2 3 4 5 6 0 0 0 1 2 3 4 5 6 - 0 0 0 0 0 0 0 0 6 1 1 2 3 4 5 6 0 1 1 0 1 2 3 4 5 6 5 2 2 3 4 5 6 0 1 4 2 0 2 4 6 1 3 5 4 3 3 4 5 6 0 1 2 5 3 0 3 6 2 5 1 4 3 4 4 5 6 0 1 2 3 2 4 0 4 1 5 2 6 3 2 5 5 6 0 1 2 3 4 3 5 0 5 3 1 6 4 2 1 6 6 0 1 2 3 4 5 6 6 0 6 5 4 3 2 1 Tabla 3.7. Suma Módulo-7 y sus inversos. Tabla 3.8. Multiplicación Módulo-7 y sus inversos. Asumiendo que p = 7, la tablas 3.7 y 3.8 muestra al conjunto de enteros {0, 1, 2, 3, 4, 5, 6} el cual conforma un campo de 7 elementos, denotado por GF(7), bajo las operaciones de adición y multiplicación. Además se puede observar que la tabla 3.7 también se usa para la substracción, ya que se anexan los inversos aditivos de cada elemento a. Por ejemplo, si se desea restar 6 de 3, primeramente se localiza el inverso aditivo de 6 el cual es el 1, posteriormente se suma 1 al 3 para obtener el resultado [3 – 6 = 3 + ( – 6 ) = 3 + 1 = 4]. Para la división podemos proceder de una forma similar pero con la tabla 3.8. Ahora si se desea dividir 3 entre 2, primero se debe encontrar el inverso multiplicativo del 2 que es 4, y entonces se multiplica 3 por 4 para tener el resultado [3 ÷÷÷÷ 2 = 3 • ( 2–1 ) = 3 • 4 = 5]. Con base en el ejemplo anterior, se puede deducir una propiedad inconfundible para asegurar la conformación de un campo, y es que q debe ser un número primo; esto anteriormente se enunció en el teorema T3.2, y que junto con el teorema T3.3 se demostró que en Zm todos los elementos distintos de cero tienen un inverso multiplicativo sí y sólo sí m es primo. Característica de un campo Para continuar con la trascendencia de los números primos en los campos se tiene el siguiente análisis. Considerando un campo finito GF(q) = {0, 1, . . . , q-1}. Ahí existe un λ que es el entero positivo más pequeño tal que ∑ = = λ 1 01 i donde λ es llamado la característica del campo. Teorema T3.4. La característica λ de un campo finito es un entero primo. Para demostrar el anterior teorema, se supondrá que λ no es un primo, entonces existen dos enteros positivos 0 < m, n > λ tales que λ = m • n y 27 ∑ ∑ ∑ = = = == • λ 1 1 1 0111 i m i n i Lo anterior implica también que ∑ = = m i 1 01 o que ∑ = = n i 1 01 y λ no es el entero positivo más pequeño, tal que ∑ = = λ 1 01 i . Esto contradice la definición de la característica de un campo. Por lo consiguiente λ es primo. Orden de un elemento de campo Considerando un elemento a no cero de un campo finito GF(q). Existe un entero positivo más pequeño n tal que an = 1 y an = a • a . . . (n veces). Donde n es llamado el orden del elemento de campo a. Teorema T4.5. Si a es un elemento no cero de GF(q), aq-1 = 1. Para justificar lo anterior se asume que a1, a2, . . . , aq-1 son elementos no cero de GF(q). El conjunto de todos los elementos no cero de GF(q) forma un grupo conmutativo G = {a1, a2, . . . , aq-1} bajo la multiplicación módulo-q. Se podrá observar claramente que G = {a1, a2, . . . , aq-1} = {a • a1, a • a2, . . . , a • aq-1}, donde a es un elemento no cero de GF(q). También, a1 • a2 . . . • aq-1 = (a • a1) • (a • a2) . . . (a • aq-1) = a q-1 • ( a1 • a2 . . . • aq-1) ≠ 0. Por lo tanto aq-1 = 1. Elemento primitivo de un campo Teorema T3.6. Si n es el orden de un elemento no cero de GF(q), q – 1 es divisible entre n. Demostrando lo anterior, se supondrá que q – 1 es no divisible entre n. Ahora, dividiendo q – 1 entre n, se tiene que q – 1 = q’n + r, donde q’ es el cociente, r es el residuo y 0 < r < n. Además: rqnrnqq aaaa ⋅== +− ''1 )( A partir de que aq-1 = 1 y an = 1, se deberá tener que ar = 1 y r es el orden del elemento a. Lo anterior es imposible a partir de que 0 < r < n ya que se contradice la definición del orden de un elemento de campo, y donde n es el entero positivo más pequeño tal que an = 1. Por consiguiente n debe dividir a q – 1, (q – 1 es divisible entre n). A partir de lo anterior, se puede analizar una propiedad interesante de un campo finito, (ésta a su vez da lugar a otra característica propia de los polinomios con coeficientes en campos finitos que después se abordarán), la cual se conoce como elemento primitivo. 28 Para un campo finito GF(q), un elemento no cero a es llamado elemento primitivo de GF(q) si el orden de a es q – 1. Por lo tanto, se puede decir que las potencias de un elemento primitivo generarán todos los elementos no cero de GF(q). Además, cada campo finito GF(q) contiene al menos un elemento primitivo. Para efectos de resumir lo anterior, se muestra el siguiente ejemplo. La característica del campo GF(5) = {0, 1, 2, 3, 4} es λ = 5. � Las potencias del elemento 2 en GF(5) son: 21 = 2; 22 = 4; 23 = 8 ≡ 3 mod-5; 24 = 16 ≡ 1 mod-5. En el último caso se puede observar que el orden delelemento a = 2 es cuatro (n = 4), ya que se cumple con la expresión an = 1 donde n = q – 1 = 5 – 1 = 4, por lo que 24 = 1. Y como se puede comprobar, las potencias del elemento 2 generaron todos los elementos no cero (1, 2, 3 y 4) de GF(5), entonces se puede concluir que 2 es un elemento primitivo de GF(5). � Las potencia del elemento 3 en GF(5) son: 31 = 3; 32 = 9 ≡ 4 mod-5; 33 = 27 ≡ 2 mod-5; 34 = 81 ≡ 1 mod-5. Se repite el análisis anterior, observando el caso de la última potencia del elemento a = 3, donde n = q – 1 = 5 – 1 = 4, resultando que 34 = 1. Entonces el orden del elemento 3 es cuatro (n = 4). Así que el elemento 3 también es un elemento primitivo de GF(5). � Las potencia del elemento 4 en GF(5) son: 41 = 4; 42 = 16 ≡ 1 mod-5; 43 = 64 ≡ 4 mod-5; 44 = 256 ≡ 1 mod-5. Para este elemento a = 4 se puede percibir que no se pueden generar todos los elementos no cero de GF(5) con sus propias potencias. Ello se debe a que no cumple con la expresión an = 1 donde n = q – 1. Se puede observar que tanto la potencia 2 como la 4 llegan al valor de 1, sin embargo el orden del elemento 4 es 2 (n = 2), porque n debe ser el entero de valor más bajo, y por consiguiente 5 – 1 ≠ 2 (n ≠ q – 1), lo que lleva a concluir que el elemento 4 de GF(5) no es un elemento primitivo para dicho campo. Lo analizado hasta el momento, brinda las primeras bases matemáticas para entender el rol que juegan las estructuras conocidas como campos de Galois dentro de los propios codificadores y decodificadores (principalmente los cíclicos) de canal. Por lo que a continuación se abordarán los polinomios que estructurarán a la codificación de canal. 29 3.5 Introducción a la extensión de un campo Para cualquier primo p y un entero positivo m > 1, es posible extender el campo GF(p) a un campo de pm elementos el cual es llamado una extensión de campo de GF(p) y se denota como GF(pm). En lo particular para la teoría de codificación de canal, los códigos para control de errores son a menudo estructurados con elementos provenientes de GF(p) o GF(pm). De hecho, en lo concerniente a esta tesis sólo se abordará la construcción de códigos con símbolos o elementos provenientes de los campos GF(2) o de GF(2m). Antes de proceder con la construcción de una extensión de campo GF(2m), será necesario definir y analizar primeramente los polinomios sobre el campo GF(2). Polinomios sobre GF(2) Sea GF(p) un campo de Galois, y 01 1 1)( fxfxfxfxf m m m m ++++= − − K con grado m en la incógnita x, es denominado como un polinomio de x sobre un campo GF(p), donde los coeficientes f0, f1, . . . , fm ∈∈∈∈ GF(p). Con base en lo anterior se tienen la siguiente definición. Un polinomio f(x) de grado cualesquiera con coeficientes en GF(2) es llamado un polinomio irreducible si f(x) no es divisible por cualquier otro polinomio de grado mayor a cero pero menor al grado de f(x). Un ejemplo de esto es presentar el caso del polinomio x4 + x + 1 sobre GF(2), el cual no es divisible por cualquier polinomio en GF(2) de grado mayor a cero pero menor a 4. La tabla 3.9 muestra todos los casos de dicha divisibilidad. f(x) g(x) f(x) / g(x) Residuo x4 + x + 1 x x3 + 1 1 x4 + x + 1 x + 1 x3 + x2 + 1 1 x4 + x + 1 x2 x2 x + 1 x4 + x + 1 x2 + 1 x2 + 1 x x4 + x + 1 x2 + x x2 + x + 1 1 x4 + x + 1 x2 + x + 1 x2 + x 1 x4 + x + 1 x3 x x + 1 x4 + x + 1 x3 + 1 x 1 x4 + x + 1 x3 + x x x2 + x + 1 x4 + x + 1 x3 + x2 x + 1 x2 + x + 1 x4 + x + 1 x3 + x + 1 x x2 + 1 x4 + x + 1 x3 + x2 + 1 x + 1 x2 x4 + x + 1 x3 + x2 + x x + 1 1 x4 + x + 1 x3 + x2 + x + 1 x + 1 x Tabla 3.9. Cocientes y residuos del polinomio x4 + x + 1 sobre GF(2). 30 Por lo tanto se dice que x4 + x + 1 es un polinomio irreducible sobre GF(2). Para el siguiente caso del polinomio x2 + 1 sobre GF(2), este es divisible por el polinomio x + 1 también sobre GF(2) y que es de grado uno (mayor de grado cero pero menor de grado 2). Entonces se dice que x2 + 1 no es un polinomio irreducible sobre GF(2). 3.6 Polinomio primitivo Para poder relacionar los conceptos de polinomio irreducible y el de polinomio primitivo, se puede mencionar, que cualquier polinomio irreducible sobre GF(2) de grado m siempre divide exactamente a la expresión: 112 +− m x Un ejemplos para comprobar lo anterior es el caso del polinomio irreducible x3 + x + 1, que tiene grado m = 3, y donde 1111 7181212 3 +=+=+=+ −−− xxxx m es divisible entre dicho polinomio x3 + x + 1, como se muestra a continuación: 01 1 1 24 3 7 =+++= ++ + resxxx xx x Con base en lo anterior, se define que un polinomio irreducible 01 1 1)( pxpxpxpxp m m m m ++++= − − K de grado m con coeficientes p0, p1, . . . , pm provenientes de GF(2) es llamado polinomio primitivo si el entero positivo más pequeño n por el cual p(x) divide exactamente a xn+1 es de valor igual a 2m-1. Un ejemplo de lo anterior se tiene con el polinomio irreducible x4 + x + 1 sobre GF(2), el cual divide exactamente a x15 + 1, donde 15 = 24 – 1. Por otra parte, el polinomio irreducible x4 + x3 + x2 + x + 1 sobre GF(2) divide exactamente también a x15 + 1 donde 15 = 24 – 1, pero también dicho polinomio divide exactamente a x5 + 1 y ahora 5 ≠ 24 – 1. Por lo que se puede deducir, que el polinomio irreducible x4 + x + 1 es un polinomio primitivo, mientras que el polinomio irreducible x4 + x3 + x2 + x + 1 no es polinomio primitivo sobre GF(2). Lo anterior se resume en la tabla 10. Polinomio Irreducible m n 2m-1 ¿Es polinomio primitivo? x4 + x + 1 4 15 15 SI x4 + x3 + x2 + x + 1 4 5 15 NO Tabla 3.10. Ejemplo de polinomios primitivos sobre GF(2). 31 Se puede observar que un polinomio primitivo sobre GF(2) es siempre irreducible, mientras que un polinomio irreducible no siempre puede ser primitivo. 3.7 Construcción de la extensión de campo GF (2m) a partir de GF(2) La elaboración de una extensión de campo GF(2m) a partir de GF(2) se encuentra basada en las raíces primitivas de un polinomio primitivo p(x) de grado m con coeficientes provenientes de GF(2). Tomando en cuenta un conjunto finito de elementos sobre los cuales una operación de multiplicación “•” está definida, tal que dicho conjunto F = { 0, 1, α, α 2 , . . . , α j , . . . } y tendiendo que α j = α • α • α • . . . • α (j veces), donde la expresión α • α • α • . . . • α es llamada la representación en potencias del elemento α j en el conjunto F. Si el elemento α es una raíz del polinomio primitivo p(x) de grado m sobre GF(2), entonces p(α) = 0. A partir de que p(x) divide exactamente a 112 +− m x (como se pudo ejemplificar en el apartado anterior), se tiene que: )()(112 xpxqx m =+− Pero aplicando en función de la raíz α, se tiene que: 0)()()(112 ⋅==+− αααα qpq m Por consiguiente, 112 ≡− m α bajo suma módulo-2 y conjunto: },...,,,1,0{ 222 −= m F ααα Se puede demostrar 1 que el conjunto de elementos no cero de F son cerrados (prop. cerradura) bajo la multiplicación “•”, y que F es cerrado bajo la adición “+”. Por lo que se puede concluir que F es un campo de Galois GF(2m) de 2m elementos. Las potencias de α generan todos los elementos no cero de GF(2m) y α es un elemento primitivo. A partir de que la extensión de campo GF(2m) está construida desde GF(2), por lo que GF(2) es llamado el campo base de GF(2m). Este campo base es cerrado bajo la adición y multiplicación de módulo-2. Por lo tanto, el subconjunto {0, 1} forma un sub-campo de GF(2m), [es decir, GF(2) es un sub-campo de GF(2m) ]. Ahora asumiendo que 01 2 2 1 1)( pxpxpxpxxp m m m m m +++++= −− − − Kde grado m con coeficientes p0, p1, . . . , pm-1 provenientes de GF(2). Si p(α) = 0, se tiene que ________ 1 Demostración en la referencia Lin [4], pp 44-46. 32 01 2 2 1 10 pppp m m m m m +++++= −− − − αααα K 01 2 2 1 1 pppp m m m m m ++++= −− − − αααα K donde α m es expresado como un polinomio con coeficientes p0, p1, . . . , pm-1 provenientes de GF(2) y 01 2 2 1 1 pppp m m m m ++++ − − − − ααα K es llamado representación polinomial de los elementos α m. Todo lo anterior lleva a poder representar los elementos no cero de F como potencias del elemento primitivo α y como una combinación lineal de α 0, α 1, α 2 , . . . , α m-1. La representación polinomial del elemento α i , con i = 0, 1, . . . , 2m – 2 , se expresa como 01 2 2 1 1 aaaa m m m m i ++++= −− − − αααα K con coeficientes binarios. También dichos coeficientes se pueden representar por medio de un vector [ a0 a1 . . . am-1]. Por otra parte, el elemento cero “0” en F puede ser representado por el polinomio cero o un vector fila de puros ceros. Ejemplificando lo anterior, sea α una raíz del polinomio primitivo p(x) = x4 + x + 1 sobre GF(2). La representación en potencias de α4 es α • α • α • α y la representación polinomial es α + 1, ya que aplicando p(x) en función de α se tiene que p(α) = 0, por lo tanto 10)( 4 ++== αααp 14 += αα Con base en esta última igualdad, se pueden desarrollar las siguientes representaciones polinomiales de α5 , α6 y α7 . ααααααα +=+=⋅= 245 )1( 23256 )( αααααααα +=+=⋅= 1)1()( 33342367 ++=++=+=+=⋅= αααααααααααα Finalmente, la tabla 3.11 muestra las distintas representaciones de los elementos del campo de extensión GF(24) generados por el polinomio primitivo p(x) = x4 + x + 1. 33 Representación en potencias Representación polinomial Representación binaria 0 = 0 0 0 0 0 1 = 1 1 0 0 0 α = α 0 1 0 0 α2 = α2 0 0 1 0 α3 = α3 0 0 0 1 α4 = 1 + α 1 1 0 0 α5 = α + α2 0 1 1 0 α6 = α2 + α3 0 0 1 1 α7 = 1 + α + α3 1 1 0 1 α8 = 1 + α2 1 0 1 0 α9 = α + α3 0 1 0 1 α10 = 1 + α + α2 1 1 1 0 α11 = α + α2 + α3 0 1 1 1 α12 = 1 + α + α2 + α3 1 1 1 1 α13 = 1 + α2 + α3 1 0 1 1 α14 = 1 + α3 1 0 0 1 Tabla 3.11. Representación de los elementos de GF(24) generados por p(x) = x4 + x + 1. 3.8 Propiedades básicas de un campo GF (2m) El propósito de este apartado es el de abordar la definición de los polinomios mínimos, por lo que se analizarán primero las raíces de los polinomios y sus conjugados para llegar a tal definición. Como en el caso del algebra tradicional, donde un polinomio con coeficientes reales puede no tener raíces en ese mismo campo pero si raíces provenientes de los complejos, así un polinomio con coeficientes provenientes de GF(2) puede no tener raíces en ese mismo campo GF(2), sin embargo tiene raíces contenidas en una extensión de campo GF(2m). Por ejemplo, el polinomio x4 + x3 + 1 el cual es un polinomio irreducible de GF(2), y que tiene cuatro raíces provenientes de GF(24). Esto se comprueba mediante la substitución de todos los elementos de GF(24), mostrados por la tabla 3.11, dentro de x4 + x3 + 1, y llegando a localizar cuatro raíces que son α7, α11, α13, α14. Verificando para la primera raíz se tiene: 01)()1(11)()( 323221283747 =+++++=++=++ αααααααα Igualmente para las otras tres raíces se comprueba lo anterior, entonces se puede desarrollar la siguiente expresión: ))()()(( 1413117 αααα ++++ XXXX con aplicación de los elementos de la tabla 3.11, se tiene que: 34 ))()()(( 1413117 αααα ++++ XXXX ])(][)([ 2714132181172 αααααα ++++++= XXXX finalmente, desarrollando queda: 1))()()(( 341413117 ++=++++ XXXXXX αααα Y que resulta ser el polinomio original. Ahora, lo interesante es saber cuáles son los elementos de una extensión de campo GF(2m) que son otras raíces de un polinomio dado f(x) a partir de uno de sus elemento β que es raíz unidad de f(x). Para responder lo anterior, se enunciará el siguiente teorema 2: T3.7. Sea f(x) un polinomio con coeficientes provenientes de GF(2), y suponiendo que β sea un elemento de una extensión de campo GF(2m). Si β es una raíz de f(x), entonces para cualquier ≥ 0, l2β es también una raíz de f(x). El elemento l2β es llamado “un conjugado de β ”; además, el anterior teorema menciona que si β [un elemento de GF(2m)] es una raíz de un polinomio f(x) proveniente de GF(2), entonces todos los conjugados distintos de β [elementos de GF(2m)] son también raíces de f(x). Por ejemplo, el polinomio f(x) = x6 + x5 + x4 + x3 + 1 tiene a α4 [elemento de GF(24) dado por la tabla 3.11], como una de sus raíces. Comprobando lo anterior y recordando que α15 = 1, se tiene que: 1)()()()()( 344454644 ++++= αααααf 112162024 ++++= αααα 11259 ++++= αααα 1)1()()( 3223 +++++++++= αααααααα 0)( 4 =αf Y los conjugados de α4, utilizando l2β , son: 424 0 )( αα = 824 1)( αα = ααα == 1624 2 )( 23224 3)( ααα == Si se desea tener valores para mayores de 3, se comprobará que estos caerán en los anteriores conjugados, por ejemplo para el caso de = 4, se tiene que: ________ 2 Demostración en la referencia Lin [4], pp 48. 35 46424 4)( ααα == lo cual resulta ser la propia raíz unidad α4. Continuando con lo definido por el anterior teorema T3.7 y asumiendo que β sea un elemento no cero dentro del campo GF(2m), se puede establecer que: 112 =− m β si se agrega un “uno” en ambos miembros, se tiene: 0112 =+− m β La anterior expresión implica que β es una raíz del polinomio. 112 +− m x Por lo tanto, cada elemento no cero de GF(2m) es una raíz de la ec. 3.0. Ahora, debido a que el grado del anterior polinomio es 2m − 1, los 2m − 1 elementos no cero de GF(2m) forman todas las raíces de la expresión de ec. 3.0. Resumiendo lo anterior, se tiene el siguiente teorema: T3.8. Los 2m − 1 elementos no cero de GF(2m) conforman todas las raíces de 112 +− m x . Además, a partir de que el elemento “0” de GF(2m) es la raíz de x, el teorema T3.8 tiene el siguiente corolario, que es el preámbulo a los polinomios mínimos. C3.1. Los elementos de GF(2m) conforman todas las raíces del polinomio xx m +2 . Para probar brevemente el anterior corolario C3.1, se toma el caso de GF(24) conforme sus elementos mostrados de la tabla 3.11. El polinomio analizado queda: xxxxxx m +=+=+ 1622 4 Para x = 0 00016 =+ Para x = 1 01116 =+ Para x = α 016 =+=+ αααα Para x = α2 0)( 222322162 =+=+=+ αααααα Para x = α3 0)( 333483163 =+=+=+ αααααα Ec. 3.0 36 Y así, hasta el último elemento α14 serán raíces del polinomio x16 + x. Entonces, debido a que cualquier elemento β de GF(2m) es una raíz del polinomio xx m +2 , β puede ser raíz de un polinomio de GF(2) con grado menor a 2m. Y permitiendo que φ(x) sea el polinomio de grado más pequeño sobre GF(2) tal que φ(β) = 0. Entonces dicho polinomio es llamado el polinomio mínimo de β, Por ejemplo, el polinomio mínimo del elemento “0” del campo GF(2m) es x, mientras que el polinomio mínimo del elemento “1” es x + 1. Ahora, para poder obtener
Compartir