Menú
Está libre
registrarse
hogar  /  La Internet Ya sea en la información útil del prefijo cíclico. Códigos cíclicos

Hacer información útil contiene en prefijo cíclico. Códigos cíclicos

Los códigos cíclicos se denominan porque son parte de las combinaciones de códigos o todas las combinaciones se pueden obtener mediante un cambio cíclico de una o más combinaciones de código. El cambio cíclico se lleva a cabo a la izquierda, con el símbolo extremo izquierdo cada vez que se transfiere al final de la combinación. Los códigos cíclicos, prácticamente, todos pertenecen a códigos sistemáticos, en ellos, los controles de control y las descargas de información se encuentran en lugares estrictamente definidos. Además, los códigos son el número de códigos de bloques. Cada unidad (una letra es una caja de bloque privado) está codificada de forma independiente.

La idea de construir códigos cíclicos se basa en el uso de IRreducible en el número binario de polinomios. Irreduciblellamados polinomios que no pueden presentarse como un producto de polinomios de bajo grado con coeficientes del mismo campo, así como números simples no pueden representarse por el trabajo de otros números. En otras palabras, los polinomios irreducibles se dividen sin un equilibrio solo en sí mismos o uno.

Involucrar a los polinomios en la teoría de los códigos cíclicos juega el papel de la formación de polinomios. Si la combinación de código especificada se multiplica por el polinomio irreducible seleccionado, obtenemos un código cíclico, cuyas habilidades correctivas están determinadas por el polinomio irreducible.

Supongamos que necesita codificar una de las combinaciones de los cuatro dígitos. código binario. Supongamos que también esta combinación. G (x) \u003d x 3 + x 2 + 1 ®1011. Si bien no está justificando su elección, tomamos de la tabla de polinomios irreducibles como un polinomio formador. P (x) \u003d x 3 + x + 1 ®1011. Entonces inteligente G (x) En el mismo grado, el polinomio formmante. De la multiplicación del título polinomial al sin antecedentes. nORTE. El grado de cada miembro del polinomio aumentará en nORTE.eso es equivalente a atribuir nORTE. ceros desde el lado de las descargas más bajas del polinomio. Dado que el grado de polinomio irreducible seleccionado es igual a tres, entonces la combinación de información inicial se multiplica por tres grados unilaterales.

G (x) x n \u003d \u003d(x 3 + x 2 + 1) x 3 \u003d x 6 + x 5 + x 3 \u003d1101000.

Esto se hace para posteriormente en el lugar de estos ceros, sería posible registrar las descargas correctivas.

El valor de las descargas correctivas se encuentra por los resultados de la división. G (x) x n sobre el P (x):

x 6 + x 5 + 0 + x 3 + 0 + 0 + 0 ½x 3 + x + 1

x 6 + 0 + x 4 + x 3

x 5 + x 4 + 0 + 0 x 3 + x 2 + x + 1 + x 5 + 0 + x 3 + x 2

x 4 + x 3 + x 2 +0

x 4 + 0 + x 2 + x

x 3 + 0 + x + 0

x 3 + 0 + x + 1

De este modo,

o en general

dónde Q (x) ¾ privado, y R (x) ¾ equilibrio de la división G (x) × x n sobre el P (x).



Dado que en la aritmética binaria 1 Å 1 \u003d 0, y, por lo tanto, -1 \u003d 1, entonces es posible llevar los componentes de los componentes de una parte a otra a otra sin cambiar el signo (si es conveniente), por lo tanto, la igualdad de el tipo a Å b \u003d0 se puede grabar y cómo a \u003d B., Y cómo a - b \u003d 0. Las tres igualdades en este caso significan que uNA. y b. igual 0 o uNA. y b.igual a 1, es decir ,. Tener la misma paridad

Por lo tanto, la expresión (5.1) se puede escribir como

F (x) \u003d q (x) p (x) \u003d g (x) x n + r (x),

que en el caso de nuestro ejemplo dará

F (x) \u003d(x 3 + x 2 + x +1) (x 3 + x +1)= (x 3 + x 2 +1) x 3 +.1,

F (x) \u003d1111 1011 = 1101000 + 001 = 1101001.

El polinomio 1101001 es la combinación deseada, donde la parte de información 1101, y los caracteres de control 001. Tenga en cuenta que obtendríamos la combinación deseada y, como resultado de la multiplicación de una de las combinaciones del código binario total de cuatro dígitos (en este caso, 1111) en la formación de polinomio y multiplicando la combinación dada en una sola ala, teniendo el mismo grado que la forma polinomial seleccionada (en su caso, una combinación de 1101,000 se obtuvo de esta manera), seguida de la adición al producto resultante del residuo dividiendo este producto al polinomio formador (en nuestro ejemplo, El residuo tiene una vista 001).

Y luego las propiedades de la formación polinomial se desempeñan por un papel decisivo. P (x). El método de construir un código cíclico es tal que el polinomio de formación participe en la formación de cada combinación de código, por lo tanto, cualquier polinomio del código cíclico se divide en formación sin residuos. Pero sin residuos, solo aquellos polinomios que pertenecen a este código, es decir, formar un polinomio le permite seleccionar las combinaciones permitidas de todas las posibles. Si, al dividir un código cíclico para un polinomio de formación múltiple, se obtendrá el residuo, lo que significa que se produjo un error en el código, o esta es una combinación de algún otro código (combinación prohibida). Por el residuo, se detecta la presencia de una combinación prohibida, es decir, se detecta un error. Los restos de la división de polinomios son la identificación de errores del código cíclico.

Por otro lado, los restos de unidades de división con ceros para un polinomio formador se utilizan para construir códigos cíclicos.

Al dividir las unidades con ceros para un polinomios de formación, debe recordarse que la longitud del residuo no debe ser menor que el número de descargas de control, por lo que en caso de escasez de descargas, el número requerido de ceros se atribuye a la Residuos al residuo.

01100 11111+

a partir del octavo, los restos se repetirán.

Los restos de división se utilizan para construir matrices de formación, que, gracias a su visibilidad y conveniencia de producir combinaciones derivadas, fueron generalizadas para construir códigos cíclicos. La construcción de la formación de la matriz se reduce a la preparación de un solo transpuesto y una matriz adicional, cuyos elementos son residuos de unidades divisoras con ceros para un polinomio formador. P (x). Recuerde que una sola matriz transpuesta es una matriz cuadrada, cuyos elementos son ceros, excepto los elementos de la diagonal a la derecha a dejar en la parte superior (en una matriz no transcripción, una diagonal con elementos individuales es Ubicado de izquierda a derecha). Los elementos de una matriz adicional se atribuyen a la derecha de una sola matriz transpuesta. Sólo esos residuos cuyo peso se puede utilizar. W ³ D 0 - 1, donde d 0 - Distancia mínima de código. La longitud de los residuos no debe ser inferior al número de descargas de control, y el número de residuos debe ser igual al número de descargas de información.

Las filas de la matriz de formación son las primeras combinaciones. código fuente. Las combinaciones restantes del Código se obtienen como resultado de la suma del módulo 2 de todo tipo de combinaciones de cadenas de la matriz de formación.

Ejemplo.

Construya una matriz de código cíclico de formación completa que detecta todos los errores individuales y dobles al transmitir combinaciones binarias de 10 bits.

Decisión.

Tabla 5.12, Elija el significado más cercano k³ 10..

Tabla 5.12 - Ratios entre información e inspección de símbolos para código de hasta 16 categorías

nORTE. k. ρ nORTE. k. ρ

Según la tabla, este valor será k \u003d.11, mientras que r \u003d.4, pero

n \u003d15. Elegir también el polinomio formador. x 4 + x 3 +1.

La matriz de formación completa se sistematiza desde una sola matriz transpuesta en forma canónica y una matriz adicional correspondiente a las descargas de prueba.

Matriz transpuesta para k \u003d.11 tiene la forma:

Se puede construir una matriz adicional por los residuos de la división de combinación en forma de una unidad con ceros (la última línea de una sola matriz transpuesta) al polinomio formador seleccionado.

La matriz de formación completa se verá:

El método de construir las matrices de formación descritas anteriormente no es el único. La matriz de formación se puede construir como resultado de la multiplicación inmediata de los elementos de una sola matriz al polinomio formador. Esto suele ser más conveniente que encontrar saldos de la división. Los códigos obtenidos no son diferentes de los códigos construidos al formar matrices en las que una matriz adicional consiste en residuos de unidades divisorias con ceros para un polinomio formador.

La matriz de formación también se puede construir mediante un cambio cíclico de la combinación resultante de multiplicar una cadena de una matriz de un solo grado k. En la formación de polinomio.

Se detectan errores en los códigos cíclicos utilizando residuos de dividir la combinación resultante al polinomio formador. Los restos de división son la identificación de errores, pero no indique directamente el error directamente en el código cíclico.

La idea de corregir errores se basa en el hecho de que una combinación errónea después de un cierto número de coberturas cíclicas "aduanas" bajo el residuo de tal manera que en la cantidad con el residuo le da una combinación de código corregido. El resto al mismo tiempo no representa nada más que la diferencia entre símbolos distorsionados y correctos, las unidades en el residuo están justo en los lugares de descargas distorsionadas en la combinación de cambios cíclicos. Personalice una combinación distorsionada hasta que el número de unidades en el residuo sea igual al número de errores en el código. Al mismo tiempo, naturalmente, el número de unidades puede ser igual al número de errores s, corregido por este código (el código corrige 3 errores y en una combinación distorsionada de 3 errores), o menos s. (El código corrige 3 errores, y en la combinación recibida de 1 error).

El lugar de los errores en la combinación del código no importa. Si un k ³ (n / 2), después de un cierto número de turnos, todos los errores estarán en la zona de la acción "de una sola vez" del polinomio formador, es decir, es suficiente para obtener un residuo cuyo peso W £ s.Y esto ya será suficiente para corregir la combinación distorsionada.

Detalles El proceso de corrección de errores se explica a continuación en los ejemplos de códigos específicos de construcción.

Esta es una subclase de códigos lineales con una propiedad de gema que la permutación cíclica de caracteres en el bloque codificada proporciona otro posible bloque codificado del mismo código. Los códigos cíclicos se basan en el uso de ideas de la teoría algebraica de los campos GALUA1.

Muchos de los códigos de comunicación de interferencia más importantes de los sistemas de comunicación.

en particular, cíclico, basado en las estructuras de la aritmética final.

galua Fields. Campo Llamados muchos elementos que terminan el campo final.

las filas de operaciones se toman en las cotizaciones, ya que no siempre se aceptan en general las operaciones aritméticas. El campo siempre tiene un elemento cero (0), o cero, y un elemento único (1) o una unidad. Si el número p. Elementos de campo es limitado, se llama el campo. campo finito, o el campo final de galoisy esta designado Gf (q) y Dónde q - Orden de campo. El campo más pequeño de galois es un iol de dos elementos. Gf (2) Consta de solo dos elementos 1 y 0. con el fin de

1 Galois Evariste (Evariste Galois, 1811 - 1832) - Matemático francés, sentó los cimientos de la álgebra moderna.

realización de operaciones sobre elementos. Gf (2) No llevó a la producción más allá de los límites de este campo, se llevan a cabo en el Módulo 2 (en general, está determinado por el orden del campo para campos simples de galois).

El campo tiene una serie de propiedades matemáticas específicas. Para los elementos de campo, se determinan las operaciones de suma y la multiplicación, y los resultados de estas operaciones deben pertenecer al mismo conjunto.

Para las operaciones de suma y multiplicación, se realizan reglas matemáticas convencionales de asociatividad. pero + (B + c) \u003d (y + B) + C, conmutatividad - A + B \u003d B + Ay pero b \u003d B. pero y distribución - pero (B + C) \u003d pero b. + pero con.

Para cada elemento de campo pero Debe haber un elemento inverso agregando (-pero) y si pero No es igual a cero, el elemento inverso por multiplicación (Y ').

El campo debe contener unidad aducativa - elemento 0, tal que pero + 0 = peropara cualquier elemento de campo pero.

El campo debe contener unidad multiplicativa - elemento 1, tal que al \u003d a. Para cualquier elemento de campo pero.

Por ejemplo, hay campos. numeros reales, números racionales, números integrados. Estos campos contienen un número infinito de artículos.

De hecho, todos los conjuntos formados por la permutación cíclica de la combinación de códigos también son combinaciones de código. Entonces, por ejemplo, las permutaciones cíclicas de la combinación 1000101 también se codificarán combinaciones 0001011, 0010110, 0101100, etc. Esta propiedad le permite simplificar en gran medida el dispositivo de codificador y decodificación, especialmente cuando se detectan errores y corrigen un solo error. La atención a los códigos cíclicos se debe al hecho de que sus propiedades inherentes altas propiedades correctivas se implementan sobre la base de métodos algebraicos relativamente simples. Al mismo tiempo, los métodos tabulares que requieren una gran cantidad de memoria de decodificador se utilizan más a menudo para decodificar el código de bloques lineales arbitrarios.

Código cíclico llamado bloque lineal (PAQUETE) -el código que se caracteriza por la propiedad cíclica, es decir,. Cambio a la izquierda, un paso de cualquier código permitido, palabra también da permiso un código de códigoperteneciente al mismo código y en el que muchas palabras de código parecen ser un conjunto de polinomios (PAG - 1) y menos dividido por el polinomio generador. g (x) la licenciatura r \u003d n-k y Ser un giro de fábrica h. P +

En el código cíclico, las palabras de código representan polinomios (polinomios).

dónde pAG - Longitud del código; Un i - Coeficientes de campo de Galua (valores de combinación de código).

Por ejemplo, para la combinación de código 101101 La grabación polinomial tiene el formulario

Ejemplos de códigos cíclicos son incluso códigos de verificación, códigos de repetición, códigos de químero, códigos de PC y turboctors.

Código de Chemmming. Las capacidades de corrección de errores en el código de químico están asociadas con la distancia mínima de código d 0 Todos los errores son fijos p. \u003d CNT. (D 0 - L) / 2 (aquí CNT significa "parte entera") y se detectan errores de multiplicidad d 0 - 1. Entonces, al controlar la precisión. d q \u003d. 2 y se detectan errores individuales. En el código de Hemming d 0 \u003d 3. Además, se introduce la descarga de información. L \u003d. registro 2 q Exceso de control de descargas, donde Q - Número de descargas de información. Parámetro L.redondeado a la mayor importancia completa. El código de control de descarga de L-descarga es el resultado invertido de la adición desconectada (adición por módulo 2) del número de descargas de información cuyos valores son iguales a uno.

Ejemplo 7.7.

Permítales tener el código principal 100110, es decir,. Q \u003d. 6. Determinar el código adicional.

Decisión

Encontramos eso L. \u003d 3 y el código opcional es igual

donde P es un símbolo de la operación de una adición ósea, y después de la inversión que tenemos 000. Ahora, con el código principal será transmitido y opcional. El receptor vuelve a abrir el código adicional y comparar con la transmisión. El código de comparación se registra, y si es diferente de cero, su valor es el número de la descarga recibida erróneamente del código principal. Por lo tanto, si se pasa el código 100010, el código opcional calculado es igual a la inversión de 010SH10 \u003d 100, es decir, es decir. 011, lo que significa un error en la tercera descarga.

La generalización de los códigos de químicos son códigos cíclicos del BCH, que le permiten ajustar múltiples errores en la combinación de códigos adoptados.

Códigos REDA - Salomón Basado en los campos de galois, o zoli finito. Adición de acción aritmética, resta, multiplicación, división y gd. Por encima de los elementos del final cero dan el resultado, que también es un elemento de este cero. El codificador o decodificador de RIDA - SOLOMON debe realizar necesariamente estas operaciones. Todas las operaciones para la implementación del código requieren. equipamiento especial o software especializado.

Turbokodes Los códigos en exceso se pueden usar de forma independiente como en forma de cierta combinación de varios códigos, cuando se consideran conjuntos de símbolos de un código redundante como símbolos de información elemental de otro código redundante. Tal asociación comenzó a llamar cascada código. La enorme ventaja de los códigos de cascada es que su uso le permite simplificar el codificador y, especialmente, el decodificador en comparación con los dispositivos similares de los códigos que no son de deslizamiento de la misma longitud y redundancia. La codificación de cascada llevó a la creación de niebla turbo. Turbo Llame a la estructura de la señal paralela que consiste en dos o más Códigos sistemáticos. El principio principal de su construcción es usar varios codificadores de componentes de trabajo paralelos. Como componente, puede usar los códigos de bloques y convolucional, los códigos de químero, el código de PC, el FDM, etc. El uso de la perforación (excavación) le permite aumentar la velocidad relativa del código turbo, adaptándolo corrigiendo la capacidad de estadística. Características del canal de comunicación. El principio de la formación del código turbo es el siguiente: Entrada x, que consiste en PARA bit servido en paralelo a NORTE. Intercaladores. Cada uno de estos últimos es un dispositivo que ejerce los elementos en el bloque. PARA Bit en el orden pseudo-aleatorio. Salida de intercalación: símbolos con seguimiento modificados: ingresa a los codificadores elementales correspondientes. Secuencias binarias x r I. \u003d 1.2, ..., JV, en la salida del codificador son símbolos de verificación que junto con los bits de información componen una sola palabra de código. El uso del intercalador hace posible evitar las secuencias de errores correlacionados al decodificar las partes turbo, lo que es importante cuando se utiliza el método de decodificación recurrente tradicional. Dependiendo de la selección del código de componentes, los turbookes se dividen en turbas convolucionales y bloquean los códigos de trabajo.

Los códigos cíclicos son un tipo de códigos de grupo lineales y se refieren a códigos sistemáticos. Originalmente creado para simplificar los procedimientos de decodificación. Sin embargo, la alta eficiencia para detectar errores dichos códigos aseguró su uso generalizado en la práctica. El vector binario del código cíclico se considera convenientemente no como una combinación de ceros y unidades, sino en forma de un polinomio de cierta medida.

donde X es la base del sistema numérico, los coeficientes que pertenecen al conjunto en el caso sistema binario Nota.

Ejemplo. El vector binario se puede representar como un polinomio de la siguiente manera:

La representación de los vectores binarios en forma de polinomios le permite reducir la acción sobre los vectores a la acción por encima de los polinomios. Donde:

la adición de polinomios se reduce a la suma de los coeficientes del módulo 2 con grados iguales de variable

la multiplicación se realiza de acuerdo con la regla habitual de la multiplicación de las funciones de potencia, sin embargo, los coeficientes obtenidos son consistentes con el módulo 2;

la división se lleva a cabo de acuerdo con las reglas de las funciones de potencia de división, y la operación de resta se reemplaza al resumir el módulo 2.

Ejemplo. Encuentra la cantidad de polinomios.

Encuentra un producto de polinomios.

Realizar división de polinomios.

La propiedad principal de los códigos cíclicos es la siguiente: Si el vector pertenece al código cíclico, entonces cualquier vector obtenido de los turnos cíclicos considerados por los turnos cíclicos también pertenece al código cíclico.

La idea de construir códigos cíclicos se basa en el concepto de polinomio irreducible. El polinomio se llama irreducible si se divide solo en sí mismo y por unidad, y no se divide en ningún otro polinomio. En otras palabras, un polinomio irreducible no se puede presentar como un producto de polinomios de grados más bajos. Un polinomio se divide en un polinomio irreducible sin un residuo. Un juego de polinomios irreducibles en la teoría de los códigos cíclicos el papel de formar polinomios. Tipos de polinomios irreducibles de varios grados se dan en

Ejemplos de polinomios irreducibles:

Los vectores de códigos cíclicos se construyen de acuerdo con las siguientes reglas. Supongamos: cualquier vector binario de algún código natural; - Grado no hirvido irreducible a un grado de polinomio, entonces cualquier vector de código cíclico se forma utilizando la proporción

donde el balance de la división

Por lo tanto, cualquier código cíclico vector se puede formar multiplicando algún código binario natural para un grado único con la adición de un residuo de dividir cuando se está construyendo códigos cíclicos de la manera especificada, la ubicación de las descargas de información en cada código del código se ordena estrictamente. Ocupan descargas de vectores de categoría senior, y las descargas restantes son la verificación.

Ejemplo. El vector de un código binario natural tiene el formulario para formar un vector de código cíclico desde el ébano, siempre que la formación de Polynom

Imagina un vector en forma de un polinomio.

Como resultado de la división del polinomio en el Polynom, obtenemos el residuo. por lo tanto

Código cíclico, como cualquier código sistemático, es conveniente establecer en forma de matriz usando una matriz generadora que tiene una vista

donde - transponen una sola yatricia del formato: la matriz de descargas de prueba formadas por el residuo

Permítanos establecer el código de generación de código cíclico con descargas de información largas y generar polinomios.

Obviamente, el espacio en blanco para la matriz generadora es

Para encontrar las líneas de verificación, las descargas de la matriz calculan y escriban en forma de un polinomio cada vector de una sola matriz

La longitud del vector del código cíclico es, por lo tanto,

(ver escaneo)

Como resultado, obtenemos una matriz generadora con:

Cualquier código cíclico vector se obtiene como la suma de los vectores de su matriz generadora. Dado que el código cíclico es un grupo, el vector cero siempre se atribuye al código cíclico como un solo elemento del grupo "

Tabla 13.5.

Ejemplo. Construye todos los vectores de códigos cíclicos dados por la matriz generadora.

El código se presenta en la tabla. 13.5.

Cabe señalar que cada código cíclico especificado por alguna matriz de generación se puede representar en varias variantes que difieren entre sí con la longitud y el número de descargas de información (con las mismas habilidades de detección). Estas variantes de los llamados códigos cíclicos acortados se obtienen cruzando las últimas filas y el mismo número de columnas a la izquierda en la matriz de generación de código cíclico. Al mismo tiempo, el número de descargas de pruebas se mantiene sin cambios, y la longitud del código y la cantidad de su información descarga disminuyen de acuerdo con un valor igual al número de líneas cruzadas y columnas de la matriz generadora.

Ejemplo, código cíclico establecido por su matriz generadora.

Tallé las seis últimas líneas y las seis primeras columnas de la izquierda. Obtenemos una matriz generadora.

Las características (en el sentido de detección de errores) del Código resultante son las mismas que el código cíclico representado por la matriz generadora

La construcción de códigos cíclicos con parámetros especificados se asocia con la opción de una formación polinomial irreducible. La forma polinómica se selecciona en función de la siguiente condición: el grado de polinomio debe ser igual al número de descargas de prueba del código cíclico.

En la práctica, se produce la tarea de construir un código cíclico de un poder determinado y se produce una habilidad de detección y corrección dadas.

1. Dado que se establece el poder del código cíclico, el número de sus descargas de información se determina de acuerdo con la fórmula

2. El número óptimo de descargas de prueba del código cíclico está determinado por tablas especiales.

3. Según los libros de referencia son todos los polinomios irreductibles.

4. Para uno de los polinomios no transmisibles (el polinomio con el número máximo de miembros) del grado se construye por la matriz generadora del código cíclico. Cada vector de código se calcula por la fórmula.

donde - el polinomio del vector informativo de la matriz generadora; - Grado único - El saldo de la división.

5. La matriz de generación construida se verifica para las siguientes condiciones:

a) El peso en el sentido de la hamming de cualquier vector de generación de la matriz debe satisfacer la relación en la que, la distancia mínima, en el sentido de la hamaming del código cíclico en consideración;

b) El peso en el sentido de la hamming del vector de prueba, que es la suma del módulo 2 de cualquiera de los dos vectores de verificación de la matriz generadora, debe satisfacer la relación

6. Si la matriz generadora del código cíclico satisface todas las condiciones anteriores, entonces todos los vectores de código cíclico se descargan y se determina de acuerdo con las normas conocidas para los códigos de grupo lineales. Si el código no cumple con los requisitos, se selecciona el otro polinomio generador y el procedimiento para la formación del código cíclico se repite para un nuevo polinomio.

Construyemos un código cíclico con una capacidad de 16 y ajustamos con

Para determinar el valor de

3 "Según los libros de referencia, encontramos todos los polinomios irreducibles del grado de tales polinomios dos:

4. Elegimos como un poliNOM polinomado, el palanquillo de la matriz de código cíclico generador tiene la apariencia.

Cada vector de información de la matriz está representando el polinomio.

Determine completamente todos los vectores de la matriz generadora utilizando la fórmula

Dado que la longitud del vector del código cíclico (vea el formato de la matriz generadora,

Del mismo modo, encontramos todos los demás vectores de la estera de generación de arroz.

Tabla 13.6.

Como resultado, se obtiene una matriz generadora? código cíclico

5. La matriz generadora resultante satisface todas las condiciones necesarias. Por lo tanto, construimos un código cíclico completamente (Tabla 13.6). Como sigue de la tabla, el código tiene la I.E.E. Cumple con los requisitos del problema.

Comentarios. Cuando se utiliza un polinomio irreducible en la calidad del código de generación, también satisface los requisitos del problema. Su matriz generadora tiene una vista

La detección de errores utilizando códigos cíclicos es la siguiente. Cualquier código cíclico vector se divide en polinomes formando sin residuos. Por lo tanto, el criterio para la presencia de un error en el vector del código cíclico es la apariencia de un residuo distinto de cero para dividir el vector del código cíclico para formar polinomios. El residuo distintivo no es una identificación de error en el vector del código cíclico, sin embargo, su vista no indica la ubicación del error en el vector del código. Correcciones de errores según el siguiente algoritmo:

1. El vector de código adoptado se divide en la formación de polinomio.

Si el número de unidades no excede la capacidad de corrección del código, entonces el vector adoptado se pliega en el módulo 2 con el residuo resultante. El resultado de la suma dará un vector de código corregido. Si el número de unidades del residuo es mayor que la capacidad correctiva del código, luego realice un cambio cíclico del vector distorsionado a la izquierda por una categoría, y luego haga una división al polinomio formador. Si el residuo resultante contiene unidades, no hay más capacidad correctiva del código cíclico, lo que resume el vector cíclicamente cambiado con el residuo. El resultado de la suma se mueve cíclicamente a un dígito a la derecha. El vector resultante ya no contiene errores y es un código cíclico vectorial.

3. Si, después del primer cambio cíclico y la división posterior, el residuo contiene unidades mayores que la capacidad correctiva del código, para repetir el procedimiento del algoritmo hasta que el residuo se obtenga con el número de unidades que no excedan la corrección. Capacidad del Código. En este caso, el resultado del último cambio cíclico se resume con el residuo y el vector resultante se desplaza cíclicamente a tantos dígitos a la derecha, siempre que el original haya cambiado con un error. Como resultado, resulta un vector de código corregido.

Deje que el código cíclico se ajuste a una matriz generadora con y formando un polinomio donde

El código tiene en 3, es decir, corrige los errores de la multiplicidad, deje que el 0011101 adopte en lugar del vector 0001101. Para corregir el error, realizamos las siguientes acciones. El vector adoptado está escrito en forma de polinomio: luego divida en

El residuo resultante como resultado de la división contiene tres unidades, que es más que la capacidad correctiva del código. Por lo tanto, hacemos un cambio cíclico a la izquierda por una categoría del vector de código recibido. Como resultado, tener

Llevamos a cabo la división por

El residuo resultante contiene dos unidades, que es más que la capacidad correctiva del código. Por lo tanto, hacemos otro cambio cíclico a la izquierda por una categoría del vector de código recibido. Como resultado, tener

Llevamos a cabo la división por

El residuo resultante de nuevo contiene dos unidades, por lo que hacemos otro cambio cíclico a la izquierda para una categoría y nos dividemos.

Universidad Estatal Bielorruso de Informática y RadioLectrónica.

departamento de Res.

resumen sobre el tema:

"Códigos cíclicos. Códigos BCH "

Minsk, 2009.

Códigos cíclicos

El código cíclico se llama bloque de bloques lineales (N, K), que se caracteriza por la propiedad de la ciclicidad, es decir,. Izquierda a la izquierda, un paso de cualquier código permitido, palabra también proporciona una palabra de código permitida que pertenece al mismo código y en el que un conjunto de palabras de código parece ser un conjunto de polinomios de grado (N-1) y menos dividiendo en algún polinomio G (x) grado R \u003d NK, que es un factor de retorcido XN +1.

El polinomio G (x) se llama generando.

Como sigue de la definición, en el código cíclico, las palabras de código se presentan en forma de polinomios


donde n es la longitud del código; - Coeficientes del campo GF (Q).

Si el código se construye sobre el campo GF (2), los coeficientes toman valores 0 o 1 y el código se llama binario.
Ejemplo. Si la palabra clave del código cíclico.

Luego el polinomio correspondiente.

Por ejemplo, si el código se construye sobre el campo GF (Q) \u003d GF (2 3), que es una extensión de GF (2) por el módulo de un Polynomial Polinomial F (Z) \u003d Z 3 + Z + 1, y los elementos de este campo se ven en la Tabla 1,

que coeficientes

Tome los valores de los elementos de este campo y, por lo tanto, se muestran en forma de los siguientes tipos de polinomios.
donde m es el grado de polinomio según el cual se obtiene la expansión del campo GF (2); A I - Coeficientes tomando el valor de los elementos de GF (2), es decir, 0 y 1. Dicho código se llama QN.

La longitud del código cíclico se llama primitiva y el código en sí se llama primitivo si su longitud n \u003d q m -1 en gf (q).

Si la longitud del código es menor que la longitud del código primitivo, el código se llama acortado o intransivant.

De la siguiente manera de la definición propiedad general Las palabras de código del Código Cíclico son su divisibilidad sin residuos para algunos g (x) polinomios, llamados generadores.

La división resultante de X N +1 torcida en un Polinomial G (x) es un cheque polinomio H (X).

Al decodificar los códigos cíclicos, se utilizan errores E (X) y el polinomio síndrómico (X).

El número de error de grado no es más (N-1) se determina a partir de la expresión

Dónde están los polinomios que muestran respectivamente aceptados (con un error) y las palabras de código transmitidas.

Los coeficientes no internos en E (X) ocupan posiciones que corresponden a errores.

Ejemplo.

El polinomio síndrómico utilizado en la decodificación del código cíclico se define como el residuo dividiendo la palabra del código recibido al polinomio generador, es decir,.


o

En consecuencia, el polinomio síndrómico depende directamente de los errores E (x). Esto se usa cuando se construye una tabla de síndromes utilizados en el proceso de decodificación. Esta tabla contiene una lista de polinomios de error y una lista de los síndromes correspondientes determinados de la expresión

(Vea la Tabla 2).

En el proceso de decodificación de acuerdo con la palabra del código recibido, se calcula el síndrome, luego la tabla es la función polinomial correspondiente (x), cuya suma con la palabra clave recibida le da una palabra de código corregida, es decir.

Los polinomios enumerados se pueden plegar, multiplicando y divididos utilizando las normas de álgebra conocidas, pero con el resultado de MOD 2, y luego, de acuerdo con MOD X N +1, si el grado de resultado excede el grado (N-1).

Supongamos que la longitud del código n \u003d 7, entonces el resultado está dado por MOD X 7 +1.

Al construir y decodificar códigos cíclicos, como resultado de la división de polinomios, generalmente es necesario no tener en particular, sino el resto de la división.
Por lo tanto, se recomienda un método de fisión más simple utilizando polinomios, sino solo sus coeficientes (Opción 2 en el ejemplo).

Ejemplo.

TRABAJO DE MATRIX DE CÓDIGO

El código cíclico se puede especificar generando y las matrices de verificación. Para construirlos, es suficiente conocer los polinomios generadores G (x) y la verificación H (X). Para el código cíclico no sistemático, la matriz está construida por el cambio cíclico de los polinomios generadores y verificadores, es decir, multiplicándolos a x

y

Al construir la matriz H (N, K), el coeficiente superior del polinomio H (x) se encuentra a la derecha.

Ejemplo. Para codo (7.4), con un código de polinomio generador (x) \u003d x 3 + x + 1, las matrices g (n, k) y h (n, k) son:

Dónde

Para el código cíclico sistemático, la matriz g (n, k) se determina a partir de la expresión.

donde i k es una sola matriz; R K, R es una matriz rectangular. Las filas de la matriz R K, R se determinan a partir de expresiones o donde un I (x) es el valor de la fila I-TH de la matriz I K; i - Número de la fila de matriz R K, R.

Ejemplo. La matriz g (n, k) para (7.4), el código de código en función de la generación de g (x) \u003d x 3 + x + 1 se basa en la siguiente secuencia


o

Determinado R 4.3 usando

porque

Se determina un método similar

El código cíclico más simple con le permite detectar errores y errores individuales de multiplicidad impar. El polinomio que forma este código tiene una vista entre los polinomios irreducibles, que incluidos en la descomposición de este polinomio es un polinomio de los más pequeños, por lo tanto, con cualquier número de descargas de información, solo se requiere una descarga de pruebas. El valor del símbolo de esta descarga garantiza la paridad del número de unidades en cualquier combinación de código permitida. El código cíclico resultante con cheques de paridad es capaz de detectar no solo errores individuales en descargas individuales, sino también errores en cualquier número impar de descargas.

Ejemplo. Construye un código cíclico para que la formación polinómica es un polinomio del 1º grado, por lo tanto, el número de descargas de pruebas es, por lo tanto, para construir un código cíclico, construimos una matriz de producción

Para construir una matriz adicional, encontramos residuos de dividir las líneas de una sola matriz transpuesta, suplementada con ceros, al polinomio elegido:

Por lo tanto, una matriz adicional, k es

Ahora construimos una matriz productora.

Las filas de esta matriz son tres combinaciones de primer código. Los restantes de las combinaciones permitidas se pueden obtener sumando el módulo. Dos tipos de combinaciones de las cadenas de matriz obtenidas se muestran combinaciones de código destruido en la tabla. 39.

Tabla 39 (ver escaneo)

Saber interés es considerar el siguiente código más simple con un polinomio de segundo grado sin desarrollar.

Forma general La matriz productora del código cíclico formada por el polinomio se presenta mediante la estructura de una matriz adicional que tiene dos columnas.

Es fácil asegurarse de que al dividir esto formando un polinomio de una sola ala, expresando líneas.

una sola matriz (para encontrar una matriz adicional está formada. Tres tipos de residuos: 11, 01 y 10. Por lo tanto, el peso de cada combinación de la ocurrencia obtenida será de al menos dos. La distancia mínima del código entre dos Cualquier combinación también es dos. Pero lo más simple caracteriza al más simple el código con una paridad para la paridad formada por torsión de dos grados, sin embargo, sin embargo, la capacidad correctiva de ambos códigos no modelo. El código bajo consideración tiene mayor redundancia y le permite Para detectar no solo los errores de multiplicidad impar, sino también cualquier error adyacente pareado, así como todos los errores separados por un elemento no distendido.