ES2271122T3 - Decodificacion flexible de codigos bloque con decodificacion de errores y borrados. - Google Patents

Decodificacion flexible de codigos bloque con decodificacion de errores y borrados. Download PDF

Info

Publication number
ES2271122T3
ES2271122T3 ES01997184T ES01997184T ES2271122T3 ES 2271122 T3 ES2271122 T3 ES 2271122T3 ES 01997184 T ES01997184 T ES 01997184T ES 01997184 T ES01997184 T ES 01997184T ES 2271122 T3 ES2271122 T3 ES 2271122T3
Authority
ES
Spain
Prior art keywords
syndromes
decoding
symbols
polynomial
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
ES01997184T
Other languages
English (en)
Inventor
Christine Renaud
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
EADS Secure Networks SAS
Original Assignee
EADS Secure Networks SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by EADS Secure Networks SAS filed Critical EADS Secure Networks SAS
Application granted granted Critical
Publication of ES2271122T3 publication Critical patent/ES2271122T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/154Error and erasure correction, e.g. by using the error and erasure locator or Forney polynomial
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/35Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/45Soft decoding, i.e. using symbol reliability information
    • H03M13/451Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD]
    • H03M13/453Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD] wherein the candidate code words are obtained by an algebraic decoder, e.g. Chase decoding
    • H03M13/455Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD] wherein the candidate code words are obtained by an algebraic decoder, e.g. Chase decoding using a set of erasure patterns or successive erasure decoding, e.g. generalized minimum distance [GMD] decoding

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)

Abstract

Dispositivo para tratamiento de señal, que comprende medios (1) de recepción de la señal para estimar los bloques de símbolos de entrada (rN-1, rN-2, ..., r1, r0) y de medios (2) de decodificación de dichos bloques por medio de un código corrector de errores, en el que los medios de decodificación comprenden medios (3) de cálculo de síndromes (S1, S2, ..., S2t) a partir de un bloque de señal y de primeros medios (4) de tratamiento de los síndromes para estimar símbolos de información, comprendiendo los primeros medios de tratamiento de los síndromes medios (4) de corrección de errores en el bloque de señal, en el que los medios de recepción de señal (1) están dispuestos para facilitar una información sobre la fiabilidad de los símbolos de entrada del bloque, y los medios de decodificación (2) comprenden además medios (6) para determinar como mínimo una posición de borrado en el bloque sobre la base de dicha información sobre la fiabilidad, y segundos medios (5) de tratamiento de los síndromes y de dicha posición de borrado, activados como respuesta a una indicación de incapacidad de corrección por los primeros medios de tratamiento (4) para estimar los símbolos de información.

Description

Decodificación flexible de códigos bloque con decodificación de errores y borrados.
La presente invención se refiere a técnicas de decodificación de los códigos de redundancia utilizados para proteger informaciones numéricas contra errores susceptibles de aparecer durante su transmisión o su almacenamiento.
La presente invención se aplica, en particular, a los códigos de tipo Reed-Solomon habitualmente utilizados con esta finalidad.
Se considera, por ejemplo, un código de Reed-Solomon RS(N, N-2t,t) definidos sobre un cuerpo finito o cuerpo de Galois, CG(2^{m}) de cardinal 2^{m}. Un código de Reed-Solomon es un código cíclico en bloque cuyo polinomio generador g(x) de grado 2t, con coeficientes en CG(2^{m}), tiene por raíces 2t potencias consecutivas de un elemento primitivo \alpha del cuerpo CG(2^{m}):
(1)g(x) = \prod\limits ^{2t}_{i=1} (x - \alpha ^{i})
Cada palabra del código se compone de N símbolos (N <2^{m}) del cuerpo CG(2^{m}) que representan N-2t símbolos de información independientes. El número t es el número máximo de símbolos erróneos que el código permite corregir algebraicamente sin información a priori sobre sus posiciones. Cada uno de los bloques recibidos por el decodificador se compone de N símbolos de CG(2^{m} )r_{0}, r_{1}, ..., r_{N-1}, que define el polinomio:
(2)R(x) = r_{N-1} . x^{N-1} + . . . \ r_{1} . x + r_{0}
En ausencia de errores sobre los símbolos recibidos, el polinomio generador del código g(x) es un factor de este polinomio R(x).
Los métodos de decodificación hacen intervenir en general cálculos de síndromes de error. Un síndrome es un valor del polinomio R(x) para un elemento dado del cuerpo de Galois. Frecuentemente, se limita al cálculo de los síndromes para las 2t raíces del polinomio generador del código S_{i}= R(\alpha^{i}) para 1 \leq y \leq 2t. Si el bloque recibido comporta V símbolos erróneos r_{h(0)}, r_{h(1)}, ..., r_{h(V-1)}, con V \leq t y 0 \leq h(v) < N para 0\leq v \leq V, entonces cada síndrome S_{i} cumple:
(3)S_{i} = \sum\limits^{V-1}_{v=0} \alpha ^{i . h(v)} . e_{h(v)}
en la que e_{h(v)} indica la amplitud del error sobre el símbolo r_{h(v)}.
Una forma clásica de calcular un síndrome S_{i} es utilizar un proceso recursivo o un circuito que consiste esencialmente en un multiplicador, un adicionador y un registro para poner en práctica la relación de recurrencia.
(4)S_{i}^{(n)} = S_{i}^{(n-1)} . \alpha ^{i} + r_{N-1-n}
Con la condición de inicio S_{i}^{(0)}=r_{N-1}, el síndrome Si puede ser calculado a medida de la llegada de los símbolos r_{N-1-n} (en el orden de los pesos decrecientes), y se obtiene desde la llegada del último símbolo r_{0} del bloque:
{}\hskip17cm S_{i} = S^{(N-1)}_{i}.
Las 2t relaciones (3) tienen 2V incógnitas, a saber las posiciones h(v) y las amplitudes e_{h(v)} de los errores. Para resolver estas ecuaciones, la mayor parte de los algoritmos de decodificación implican el cálculo de un polinomio localizador de errores \sigma(x) de grado V, cuyas raíces son elementos del cuerpo de Galois de la forma \alpha^{-h(v)}. La expresión del polinomio localizador de errores es:
(5)\sigma (x) = \kappa . \prod\limits^{V}_{v=0} (1 - x . \alpha ^{h(v)}) = \sigma _{t} . x^{t} + \sigma _{t-1} . x^{t-1} + . . . + \sigma _{1} . x + \sigma _{0}
en la que \kappa=\sigma_{0} es un elemento arbitrario del cuerpo CG(2^{m}) y \sigma_{u}= 0 para u>V. Los coeficientes \sigma_{u} de este polinomio cumplen el sistema lineal:
1
Existen diferentes algoritmos para resolver el sistema lineal (6), en especial el algoritmo de Euclides y los algoritmos de tipo Berlekamp-Massey. El algoritmo de Euclides es conceptualmente simple, pero su puesta en práctica requiere una complejidad mayor que los algoritmos de tipo Berlekamp-Massey. Los algoritmos de tipo Berlekamp-Massey resuelven el sistema (6) por iteraciones sucesivas que se interpretan de manera clásica como una construcción recursiva de un registro con desplazamiento de operadores lineales que modelizan el sistema (ver "Theory and Practice of Error Control Codes" de R.E. Blahut, Addison-Wesley, Reading, MA, 1993). Para cada iteración, se calcula una desviación de predicción ("discrepancy") \Delta_{k} con valores dentro del cuerpo CG(2^{m}) para poner al día el polinomio localizador. Si esta separación \Delta_{k} es todavía no nula a la salida de la iteración de orden (2t), el algoritmo indica un fallo de decodificación, comportando el bloque recibido más de t símbolos erróneos.
Se han propuesto diversas variantes del algoritmo de Berlekamp-Massey con el objetivo de simplificar su implementación. El artículo "VLSI Design of Inverse-Free Berlekamp-Massey Algorithm", de I.S. Reed y otros, IEEE Proceedings-E, Vol.138, Nº5, Septiembre de 1991, páginas 295-298, propone una variante interesante en la medida en la que permite editar la inversión de las desviaciones de predicción \Delta_{k}. Esta variante se basa en considerar un valor a priori cualquiera dentro de CG(2^{m}) para el coeficiente \kappa=\sigma_{0}, en lugar de \kappa=1 en la versión tradicional.
Una vez que el polinomio localizador de errores ha sido calculado, sus raíces son determinadas para obtener las posiciones h(v) de los errores. Un procedimiento utilizado frecuentemente para ello, llamado "búsqueda de Chien", consiste en calcular los valores del polinomio \sigma(x) para cada uno de los elementos del cuerpo CG(2^{m}), identificándose un valor cada vez que \sigma(x) = 0 (ver "Cyclic Decoding Procedure for the Bose-Chaudhuri-Hocquenghem Codes" por R.T. Chien, IEEE Trans. on Information Theory, Vol.10, 1964, páginas 357-363) Este procedimiento consiste en un cálculo recursivo del valor de \sigma(\alpha^{1-N+n}) para n=0, 1, ..., N-1 según:
(7)\sigma (\alpha ^{1-N+n}) = \sum\limits^{t}_{u=0} \zeta ^{(n)}_{u}
explotando las relaciones de recurrencia \zeta ^{(n+1)}_{u} = \zeta ^{(n)}_{u}.\alpha ^{u} para 0\leq u \leqt, iniciadas por \zeta ^{(0)}_{u} = \sigma _{u}.\alpha ^{u . (1-N)}.
Las amplitudes de los errores son evaluadas, por ejemplo, según el algoritmo de Forney (ver "On Decoding BCH Codes", por G.D. Forney, IEEE Trans. on Information Theory, Vol. 11, 1965, páginas 549-557). Un polinomio evaluador de errores \omega(X)se define por:
(8)\omega (x) = [S(x) . \sigma (x)]
\hskip0.5cm
\mathit{modulo}
\hskip0.5cm
x^{2t} = \omega_{t} . x^{t} + \omega _{t-1} . x^{t-1} + . . . + \omega _{1} . x + \omega _{0}
designando S(x) el polinomio de los síndromes:
(9)S(x) = \sum\limits^{2t}_{i=1} S_{i} . x^{i}
Las amplitudes de los errores se obtienen entonces por:
(10)e_{h(v)} = \frac{\omega (x)}{x . \sigma ' (x)}
\hskip0.5cm
por
\hskip0.5cm
x = \alpha ^{-h(v)}
designando \sigma'(x) la derivada del polinomio localizador de errores. Los valores del denominador \alpha^{1-N+n}\sigma(\alpha,^{1-N+n}) para n=0, 1, ..., N-1 pueden ser obtenidas simplemente en la búsqueda de Chien (por una suma tal como (7) en la que solamente se suman los términos para u impar). Los valores del numerador pueden ser obtenidos por un procedimiento parecido a la búsqueda de Chien, sustituyendo \sigma_{u} por \omega_{u} en el inicio de las relaciones de recurrencia.
Cuando el decodificador utiliza un algoritmo de tipo Berlekamp-Massey, los coeficientes del polinomio evaluador \omega(x) pueden ser calculados al mismo tiempo que los del polinomio localizador en las 2t iteraciones de este algoritmo. También se pueden calcular posteriormente según (8).
\newpage
Algunos algoritmos de decodificación han sido dispuestos para poder tener en cuenta borrados en los datos de entrada.
Un símbolo borrado es marcado en el bloque de entrada para indicar que este símbolo no ha sido recibido, o que ha sido recibido en condiciones tan malas que a priori su valor es falso. La consideración de estos borrados permite reducir el número de incógnitas de las relaciones (3) puesto que algunas de las posiciones h(v) son conocidas.
Cuando el polinomio localizador de errores es calculado de forma iterativa según el algoritmo de Berlekamp-Massey, la consideración de los borrados conduce a iniciar de manera distinta los coeficientes del polinomio localizador \sigma(x) antes de la primera iteración. En un código sin borrado, este polinomio localizador es habitualmente iniciado por \sigma^{0}(x)=1, mientras que la consideración de los borrados conduce a iniciar por un polinomio de grado s, cuyas raíces \alpha^{-h(0)}, ..., \alpha^{-h(s-1)} están determinadas por las posiciones h(0), ..., h(s-1), los s borrados considerados. El algoritmo de Berlekamp-Massey adaptado para tener en cuenta los borrados se describe igualmente en la obra antes citada de R.E.Blahut. Una versión adaptada para evitar cálculos de inversión en el cuerpo de Galois se describe en el artículo "On Decoding of Both Errors and Erasures of a Reed-Solomon Code Using an Inverse-Free Berlekamp-Massey Algorithm", de J.H.JENG y otros, IEEE Transactions on Communications, Vol. 47, No. 10, octubre 1999, páginas 1488-1494.
Si s es el número de símbolos borrados del bloque de entrada y V el número de símbolos erróneos, el algoritmo de decodificación con gestión de los borrados permite corregir los errores y los borrados del bloque si 2s + V\leq 2t, es s+V/2\leqt.
Esta última ventaja hace interesantes los algoritmos de borrado, que pueden llegar hasta doblar la capacidad de corrección del código si se han borrado 2t errores.
Sin embargo, esta ventaja supone que la determinación de los símbolos borrados sea perfectamente fiable. En la práctica, esta condición no se cumple en todos los casos. En particular, existe una probabilidad de borrar símbolos que se habían encontrado como recibidos correctamente. En este caso, si el número de símbolos erróneos era en origen inferior o igual a t, se pueden superar las capacidades de corrección del algoritmo con borrados cuando el algoritmo sin borrado haya facilitado el resultado correcto.
En "Error Control Techniques Applicable to HF Channels" (IEE Proceedings, Vol. 136, Part. 1, No.1, 1989, páginas 57-63), S.D. Bate y otros dan a conocer un algoritmo de decodificación con decisiones flexibles para códigos producto construidos con códigos elementales de tipo Reed-Solomon.
En "Successive-Erasure Decoding of RS Codes and Error Detection for ARQ" (Proc. of the 9th IEEE International Symposium on Personal, Indoor and Mobile Radio Communications (PIMRC'98), Boston, MA, USA, 8-11 septiembre 1998), F.Poegel y otros dan a conocer una técnica de decodificación con decisiones flexibles para los códigos de Reed-Solomon, capaz de generar errores de canal con o sin borrados. Esta técnica interrumpe las iteraciones de decodificación del algoritmo de decodificación con borrados sucesivos después de haber conseguido la primera decodificación.
Un objetivo de la presente invención es el de optimizar las capacidades de decodificación de los códigos correctores de errores, tales como los códigos de tipo Reed-Solomon o BCH (Bose-Chaudhuri-Hocquenghem).
Por lo tanto, la invención da a conocer un dispositivo tal como se define en la reivindicación 1. Se dan a conocer en las reivindicaciones 2 a 6 formas de realización preferentes.
Este dispositivo palía la limitación que se ha citado en lo anterior de los algoritmos con gestión de borrados, garantizando que la decodificación se realiza siempre en buenas condiciones cuando el bloque de entrada no comporta más de t símbolos erróneos. En ciertos casos donde hay más de t símbolos erróneos, la segunda decodificación con borrado permitirá la corrección oportuna.
La decodificación propuesta toma por lo tanto en consideración una probabilidad de equivocarse en el posicionado de los borrados. El esquema está por lo tanto bien adaptado a procedimientos de recepción de señales con relación reducida señal/ruido.
Se debe observar que no es necesario calcular dos veces los síndromes cuando los dos métodos de corrección deben ser aplicados en un mismo bloque. Dado que el cálculo de los síndromes representa una proporción importante de la complejidad del conjunto de decodificación (aproximadamente 50%), la ganancia facilitada por el procedimiento se obtiene a cambio de un aumento razonable de la complejidad.
Otras particularidades y ventajas de la presente invención aparecerán en la descripción siguiente de ejemplos de realización no limitativos, haciendo referencia a los dibujos adjuntos, en los cuales:
- la figura 1 es un esquema sinóptico de un ejemplo de dispositivo según la invención; y
- la figura 2 es un organigrama que muestra un procedimiento de decodificación según la invención.
El dispositivo representado en la figura 1 se refiere a una señal numérica de entrada R que ha podido ser transmitida, por ejemplo, en un interfaz de radio. Esa señal (R) es facilitada a un demodulador (1) que procede a una estimación de símbolos numéricos transmitidos. Estos símbolos numéricos han sido generados a nivel de un emisor no representado, aplicando una codificación con redundancia, con la finalidad de proteger los símbolos de información contra errores de transmisión. El código con redundancia es preferentemente un código no binario de Reed-Solomon, tal como el presentado en la introducción.
Para comodidad de realización, se utilizan en general códigos sistemáticos, es decir que los N-2t símbolos de información se encuentran explícitamente en los N símbolos transmitidos. Son, por ejemplo, los primeros N-2t símbolos.
El demodulador (1) facilita símbolos estimados r_{N-1}, r_{N-2}, ..., r_{1} , r_{0} por bloques de N símbolos a un decodificador (2). Cada símbolo esta constituido por m bits cuando el código de Reed-Solomon está definido en el cuerpo CG(2^{m}).
El decodificador (2) presenta un módulo (3) de cálculo de síndromes, que calcula de manera clásica los 2t síndromes de errores S_{1}, S_{2}, ..., S_{2t}, por ejemplo, según la relación (4).
El decodificador (2) presenta además un módulo (4) de decodificación de errores sin tener en cuenta borrados. Éste puede funcionar de manera clásica según los algoritmos de Berlekamp-Massey, de Chien y de Forney para corregir eventuales errores, en número inferior o igual a t, en los símbolos estimados del bloque de entrada. Los N-2t primeros símbolos son extraídos después de corrección para ser facilitados a los circuitos de explotación situados más abajo.
Otro módulo de decodificación (5) del decodificador (2) tiene en cuenta simultáneamente errores y borrados cuando el primer módulo (4) indica que ha sido incapaz de corregir el bloque a causa de la detección de un número de errores superior a t. El módulo (5) funciona utilizando los mismos síndromes S_{1}, ..., S_{2t} que han sido calculados para el módulo (3), e inicializan el polinomio localizador de errores según un polinomio de inicialización \sigma^{0}(x) facilitado por un módulo (6) de selección de borrados.
Si el módulo de decodificación (5) queda igualmente en defecto, facilita una señal de alarma (X) para indicar la pérdida de un bloque a los circuitos situados más abajo.
El módulo (6) de selección de los borrados funciona de manera conocida sobre la base de mediciones de parecido \lambda_{N-1}, \lambda_{N-2}, ..., \lambda_{1}, \lambda_{0} facilitadas por el demodulador (1) paralelamente a los símbolos estimados r_{N-1}, r_{N-2},..., r_{1}, r_{0}. Estas medidas de similitud han sido producidas, por ejemplo, a partir de la métrica de un igualador de canal con salidas flexibles del demodulador (1) (ver, por ejemplo, EP-A-0 946 014).
A partir de las posiciones de los símbolos borrados, el módulo (6) calcula el polinomio de inicio \sigma^{0}(x) para el algoritmo de Berlekamp-Massey puesto en práctica por el módulo de decodificación (5).
La figura 1 facilita una representación sinóptica del dispositivo según la invención. En la práctica, el decodificador (2) será frecuentemente realizado programando un procesador de señal numérica de manera apropiada, por ejemplo, según el organigrama de la figura 2.
La primera etapa del tratamiento de un bloque r_{N-1}, r_{N-2},..., r_{1}, r_{0} es el cálculo (11) de los síndromes S_{1}, S_{2}, ..., S_{2t} según las relaciones (4). Si todos los síndromes son nulos (prueba -12-), el tratamiento del bloque se habrá terminado, y es suficiente extraer los símbolos de información del bloque (etapa -13-).
Si por lo menos uno de los síndromes no es nulo, el polinomio localizador de errores \sigma(x) es calculado en la etapa 14, por ejemplo, según el algoritmo de Berlekamp-Massey inicializado por \sigma^{0}(x)=1. Este algoritmo indica, de manera clásica, los bloques para los que estima que el grado del polinomio localizador de errores es superior al grado 2t del polinomio generador del código. Esta condición es comprobada en la etapa (15). Si el grado no supera 2t, la etapa siguiente es la búsqueda de raíces del polinomio localizador de error \sigma(x) en la etapa (16), por ejemplo, según el algoritmo de Chien. Si el número de raíces que se ha encontrado es igual al grado del polinomio \sigma(x) (prueba -17-), la etapa siguiente (18) consiste en el cálculo del polinomio evaluador \omega(x), según la relación (8). En la etapa siguiente (19), el algoritmo de Forney es utilizado para evaluar las amplitudes de los errores, y esas amplitudes son sustraídas de los símbolos correspondientes para su corrección. Los símbolos de información pueden ser extraídos entonces del bloque en la etapa (13).
Cuando el algoritmo de decodificación sin borrados se sitúa en defecto, es decir, cuando el grado del polinomio \sigma(x) sobrepasa 2t (prueba -15-), o cuando la búsqueda de Chien no facilita el número apropiado de raíces (prueba -17-), el decodificador aplica el método de decodificación con gestión de los borrados. Empieza por calcular el polinomio localizador de errores y de borrados (indicado igualmente \sigma(x) en la figura 2) a partir de los mismos síndromes calculados en la etapa (11) y del polinomio de inicialización \sigma^{0}(x) (etapa 20). Este cálculo es efectuado según un algoritmo de Berlekamp-Massey modificado para tener en cuenta los borrados. El decodificador entra en fallo si el grado del polinomio localizador \sigma(x) obtenido supera todavía 2t en la prueba (21). De lo contrario, el decodificador pasa a la búsqueda (22) de las raíces de los polinomios \sigma(x), según el algoritmo de Chien. El decodificador se pone también en fallo si el número de raíces encontradas no corresponde al grado del polinomio \sigma(x). En caso contrario, procede a la etapa (18) antes citada para determinar el polinomio evaluador de errores y de borrados.
Como variante, el polinomio evaluador \omega(x) puede ser calculado en el curso de la ejecución del algoritmo de Berlekamp-Massey, en la etapa (14) o (20).
En otra realización del decodificador, cuando la decodificación con borrados queda en defecto, el módulo (5) lo señala al módulo (6) de selección de los borrados. Éste selecciona entonces más borrados en el bloque, y determina un polinomio de inicialización \sigma^{0}(x) de grado superior. El algoritmo de decodificación con borrados es ejecutado normalmente a partir de ese polinomio \sigma^{0}(x), siempre con los mismos síndromes S_{1}, ..., S_{2t}, para intentar la corrección del bloque.

Claims (6)

1. Dispositivo para tratamiento de señal, que comprende medios (1) de recepción de la señal para estimar los bloques de símbolos de entrada (r_{N-1}, r_{N-2}, ..., r_{1}, r_{0}) y de medios (2) de decodificación de dichos bloques por medio de un código corrector de errores, en el que los medios de decodificación comprenden medios (3) de cálculo de síndromes (S_{1}, S_{2}, ..., S_{2t}) a partir de un bloque de señal y de primeros medios (4) de tratamiento de los síndromes para estimar símbolos de información, comprendiendo los primeros medios de tratamiento de los síndromes medios (4) de corrección de errores en el bloque de señal, en el que los medios de recepción de señal (1) están dispuestos para facilitar una información sobre la fiabilidad de los símbolos de entrada del bloque, y los medios de decodificación (2) comprenden además medios (6) para determinar como mínimo una posición de borrado en el bloque sobre la base de dicha información sobre la fiabilidad, y segundos medios (5) de tratamiento de los síndromes y de dicha posición de borrado, activados como respuesta a una indicación de incapacidad de corrección por los primeros medios de tratamiento (4) para estimar los símbolos de información.
2. Dispositivo, según la reivindicación 1, en el que el código corrector de errores es un código de Reed-Solomon.
3. Dispositivo, según la reivindicación 1 ó 2, en el que los primeros medios de tratamiento (4) comprenden medios de cálculo de un polinomio localizador de errores sobre la base de los síndromes (S_{1}, S_{2}, ..., S_{2t}), incluyendo medios para generar una indicación de incapacidad de corrección cuando el grado del polinomio localizador de errores supera el grado del polinomio generador del código.
4. Dispositivo, según la reivindicación 3, en el que los primeros medios de tratamiento (4) comprenden medios de búsqueda de raíces del polinomio localizador de errores, incluyendo medios para generar una indicación de incapacidad de corrección cuando el número de raíces encontradas no es igual al grado del polinomio localizador de errores.
5. Dispositivo, según cualquiera de las reivindicaciones anteriores, en el que los medios de recepción comprenden un demodulador (1).
6. Dispositivo, según cualquiera de las reivindicaciones anteriores, en el que los medios (6) de determinación de posiciones de borrado están dispuestos para determinar un número incrementado de posiciones de borrado en el bloque en respuesta a una indicación de incapacidad de corrección por los segundos medios de tratamiento (5), siendo tomado entonces dicho número incrementado de posiciones de borrado como parámetros de entrada de los segundos medios de tratamiento para estimar los símbolos de información.
ES01997184T 2000-11-27 2001-11-14 Decodificacion flexible de codigos bloque con decodificacion de errores y borrados. Expired - Lifetime ES2271122T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0015266A FR2817418B1 (fr) 2000-11-27 2000-11-27 Procede de decodage d'un bloc de symboles et dispositif mettant en oeuvre un tel procede
FR0015266 2000-11-27

Publications (1)

Publication Number Publication Date
ES2271122T3 true ES2271122T3 (es) 2007-04-16

Family

ID=8856899

Family Applications (1)

Application Number Title Priority Date Filing Date
ES01997184T Expired - Lifetime ES2271122T3 (es) 2000-11-27 2001-11-14 Decodificacion flexible de codigos bloque con decodificacion de errores y borrados.

Country Status (8)

Country Link
US (1) US20040030984A1 (es)
EP (1) EP1338092B1 (es)
AT (1) ATE339034T1 (es)
AU (1) AU2002218374A1 (es)
DE (1) DE60122923T2 (es)
ES (1) ES2271122T3 (es)
FR (1) FR2817418B1 (es)
WO (1) WO2002043250A2 (es)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050210358A1 (en) * 2002-05-31 2005-09-22 Koninklijke Phillips Electronics N.V. Soft decoding of linear block codes
US7673222B2 (en) * 2005-07-15 2010-03-02 Mediatek Incorporation Error-correcting apparatus including multiple error-correcting modules functioning in parallel and related method
US7603591B2 (en) * 2005-07-19 2009-10-13 Mediatek Incorporation Apparatus selectively adopting different determining criteria in erasure marking procedure when performing decoding process, and method thereof
US8286051B2 (en) 2005-07-15 2012-10-09 Mediatek Inc. Method and apparatus for burst error detection and digital communication device
US8473826B1 (en) * 2009-08-12 2013-06-25 The United States Of America As Represented By The Secretary Of The Navy Hybrid soft decision hard decision reed solomon decoding
US9009577B1 (en) * 2012-11-13 2015-04-14 Xilinx, Inc. Circuitry and method for forward error correction
TWI566091B (zh) 2015-09-10 2017-01-11 慧榮科技股份有限公司 用來對一錯誤更正碼進行解碼之方法與解碼電路

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4564945A (en) * 1983-06-20 1986-01-14 Reference Technology, Inc. Error-correction code for digital data on video disc
US4653051A (en) * 1983-09-14 1987-03-24 Matsushita Electric Industrial Co., Ltd. Apparatus for detecting and correcting errors on product codes
NL8400629A (nl) * 1984-02-29 1985-09-16 Philips Nv Snelle decodeur voor reed-solomon-codes, welke mede als encodeur te gebruiken is, alsmede opname/reproduktie-apparaat voorzien van zo een encodeur/decodeur.
JPS63193723A (ja) * 1987-02-06 1988-08-11 Sony Corp リ−ドソロモン符号の復号方法
DE3852999T2 (de) * 1987-06-30 1995-06-14 Matsushita Electric Ind Co Ltd Galois-feld-recheneinheit.
KR950002304B1 (ko) * 1992-10-07 1995-03-16 삼성전자주식회사 다중 오류정정 방법
DE4316813A1 (de) * 1993-05-19 1994-11-24 Philips Patentverwaltung Reed-Solomon-Decoder
JP3328093B2 (ja) * 1994-07-12 2002-09-24 三菱電機株式会社 エラー訂正装置
US5715262A (en) * 1995-07-12 1998-02-03 Lsi Logic Corporation Errors and erasures correcting reed-solomon decoder
US6047395A (en) * 1998-01-30 2000-04-04 Cirrus Logic, Inc. Error correction processor for correcting a multi-dimensional code by generating an erasure polynomial over one dimension for correcting multiple codewords in another dimension
FR2776113A1 (fr) * 1998-03-13 1999-09-17 Thomson Multimedia Sa Dispositif de correction d'erreurs et lecteur de disque optique comportant un tel dispositif
US6449746B1 (en) * 1998-08-17 2002-09-10 T. K. Truong Decoding method for correcting both erasures and errors of reed-solomon codes
US6543026B1 (en) * 1999-09-10 2003-04-01 Lsi Logic Corporation Forward error correction apparatus and methods

Also Published As

Publication number Publication date
EP1338092A2 (fr) 2003-08-27
EP1338092B1 (fr) 2006-09-06
FR2817418A1 (fr) 2002-05-31
WO2002043250A3 (fr) 2002-07-25
ATE339034T1 (de) 2006-09-15
AU2002218374A1 (en) 2002-06-03
DE60122923D1 (de) 2006-10-19
US20040030984A1 (en) 2004-02-12
FR2817418B1 (fr) 2003-02-21
WO2002043250A2 (fr) 2002-05-30
DE60122923T2 (de) 2007-05-10

Similar Documents

Publication Publication Date Title
US9998148B2 (en) Techniques for low complexity turbo product code decoding
EP1131893B1 (en) Forward error corrector
US7788570B1 (en) Optimized Reed-Solomon decoder
US8245117B1 (en) Low complexity chien search in chase-type decoding of reed-solomon codes
US7370258B2 (en) Iterative concatenated convolutional Reed-Solomon decoding method
JP4152887B2 (ja) リニアブロックコードに関する消去箇所−及び−単一−エラー訂正デコーダ
US8291290B1 (en) Methods and algorithms for joint channel-code decoding of linear block codes
KR101433620B1 (ko) 처리량을 높이기 위하여 더블 버퍼링 구조와 파이프라이닝기법을 이용하는 디코더 및 그 디코딩 방법
US8429489B2 (en) Data retrieval from a storage device using a combined error correction and detection approach
JP4598711B2 (ja) 誤り訂正装置
US10459783B2 (en) Low-latency decoder for Reed Solomon codes
US10230403B2 (en) Method and decoder for soft input decoding of generalized concatenated codes
JPH1155129A (ja) 積符号の誤り訂正および並行検査
CN110071727B (zh) 编码方法、译码方法、纠错方法及装置
US8949697B1 (en) Low power Reed-Solomon decoder
US8201061B2 (en) Decoding error correction codes using a modular single recursion implementation
ES2271122T3 (es) Decodificacion flexible de codigos bloque con decodificacion de errores y borrados.
KR100970223B1 (ko) 리드-솔로몬 코드의 소프트-결정 디코딩 방법, 리드-솔로몬 코드워드 디코더 및 컴퓨터 프로그램 제품
US6606727B1 (en) System and method for providing error correction coding with selectively variable redundancy
US11323138B1 (en) Reed-Solomon code soft-decision decoding method and device
US6651214B1 (en) Bi-directional decodable Reed-Solomon codes
US9236890B1 (en) Decoding a super-code using joint decoding of underlying component codes
JP2002230918A (ja) 誤り訂正符号エンティティのための消失訂正のコンピュータ実現化方法
KR100594002B1 (ko) 가변 처리가 가능한 파이프라인 구조의 리드 솔로몬 복호기
EP1612949A1 (en) Method and system for correcting errors in electronic memory devices