ES2486324T3 - Método de codificación de corrección de errores, método de decodificación y dispositivos asociados - Google Patents
Método de codificación de corrección de errores, método de decodificación y dispositivos asociados Download PDFInfo
- Publication number
- ES2486324T3 ES2486324T3 ES12715860.8T ES12715860T ES2486324T3 ES 2486324 T3 ES2486324 T3 ES 2486324T3 ES 12715860 T ES12715860 T ES 12715860T ES 2486324 T3 ES2486324 T3 ES 2486324T3
- Authority
- ES
- Spain
- Prior art keywords
- data
- decoding
- coding
- class
- priori
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/27—Coding, 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 using interleaving techniques
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/29—Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2957—Turbo codes and decoding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/29—Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2957—Turbo codes and decoding
- H03M13/296—Particular turbo code structure
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/29—Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2957—Turbo codes and decoding
- H03M13/296—Particular turbo code structure
- H03M13/2972—Serial concatenation using convolutional component codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/35—Unequal 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
- H03M13/356—Unequal error protection [UEP]
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/3905—Maximum a posteriori probability [MAP] decoding or approximations thereof based on trellis or lattice decoding, e.g. forward-backward algorithm, log-MAP decoding, max-log-MAP decoding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/45—Soft decoding, i.e. using symbol reliability information
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/63—Joint error correction and other techniques
- H03M13/635—Error control coding in combination with rate matching
- H03M13/6362—Error control coding in combination with rate matching by puncturing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0059—Convolutional codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/007—Unequal error protection
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Error Detection And Correction (AREA)
Abstract
Método (100) de codificación de corrección de errores para codificar en serie datos (30) digitales de origen, que tienen la forma de una trama (102), en el cual dichos datos pueden estar clasificados en N clases, siendo N un número entero igual a al menos 2, caracterizado por que comprende: - un primer paso (1101) de codificación de convolución sistemática recursiva de los datos de la clase 1 (1021); - una implementación de los siguientes pasos, para cada n desde 1 hasta M, donde M es un número entero positivo igual o menor que N-1: - mezclado n-ésimo (108n+1) de un conjunto formado por los datos de la clase n+1 (102n+1), los datos sistemáticos y los datos de paridad de un paso de codificación anterior; - codificación (n+1)-ésima (110n+1) de convolución sistemática recursiva de datos formados por el resultado del mezclado n-ésimo
Description
5
10
15
20
25
30
35
40
45
50
E12715860
28-07-2014
Método de codificación de corrección de errores, método de decodificación y dispositivos asociados
Campo Técnico
La presente invención se refiere a un método de codificación de corrección de errores.
La invención también se refiere a un método de decodificación adaptado para decodificar datos que han sido codificados usando el método de codificación de corrección de errores de acuerdo con la invención.
La invención también se refiere a un dispositivo de codificación para implementar el método de codificación de corrección de errores de acuerdo con la invención, así como a un dispositivo de decodificación para implementar el método de decodificación de acuerdo con la invención.
El campo de la invención es el de la codificación de datos digitales, para ser transmitidos en particular en presencia de un ruido de transmisión, y el de la decodificación de dichos datos digitales después de la transmisión.
Más en concreto, pero de una manera no limitativa, la invención se refiere al campo de la optimización de la transmisión de datos digitales, por ejemplo a través de una red de radio de banda ancha.
En telecomunicaciones, los métodos de codificación de corrección de errores (también llamados Corrección de Error hacia Delante (FEC)) se usan para proteger datos denominados de origen que se quieren transmitir, de errores que procederán de la transmisión. Para hacer esto, se añade redundancia a los datos de origen para permitir al destinatario detectar y corregir parte de los errores.
La codificación de corrección de errores va seguida por una modulación para transmisión, que es por lo que generalmente se usa el esquema de modulación y codificación (MCS) para designar tanto a la codificación de corrección de errores como a la modulación.
En la técnica anterior se conoce un método de codificación de corrección de errores denominado comúnmente “turbo código”. Este es un método de codificación de corrección de errores, que implementa en paralelo al menos dos pasos independientes de codificación de convolución sistemática de todos los datos a codificar, y al menos un paso de entrelazado en el tiempo que modifica el orden para tener en cuenta datos para cada uno de los pasos de codificación. Por ejemplo en la patente francesa FR2675971 se presentan turbocódigos. La decodificación implementa un algoritmo de decodificación iterativo basado en el algoritmo de Bahl, Cocke, Jelinek y Raviv y una búsqueda de máximo a posteriori.
La técnica anterior más similar es “Turbodecodificación con protección de error desigual aplicada a la codificación de habla GSM” (F. Burkert et al, 1996).
Sin embargo, un inconveniente de los turbocódigos es que todos los datos de origen están protegidos por igual.
Los códigos UEP (Protección de Error Desigual), nacidos con la tecnología GSM, proporcionan una respuesta a este inconveniente al permitir que los datos digitales de una trama sean agrupados en diferentes clases dependiendo de su importancia, y que cada clase sea protegida dependiendo de su nivel de prioridad (se asigna un nivel de prioridad mayor cuanto más importante es el dato).
Este principio permite optimizar los recursos de transmisión así como el ancho de banda de la frecuencia.
Un inconveniente conocido de los códigos UEP es que cada clase se procesa por separado. En primer lugar se separan las diferentes clases, y a continuación estas clases se codifican de manera independiente. Los datos codificados de cada clase se modulan entonces por separado. De esta manera, después de la transmisión, los datos de una misma trama no están correlacionados. Esto supone una pérdida de recursos porque existe por ejemplo necesidad de:
-cabeceras adicionales (es decir, datos adicionales usados para definir un paquete de datos, por ejemplo los datos de una clase en caso de que las diferentes clases se procesen de manera independiente), y
-procesamientos adicionales para resincronizar los datos de diferentes clases de una misma trama después de la transmisión.
Además, estos pasos de resincronización generan retardos de recepción.
Esta pérdida de recursos va contra la demanda actual de una mayor velocidad de transmisión, una mayor capacidad de red y un menor retardo de transmisión.
Un propósito de la presente invención es proporcionar métodos y dispositivos de codificación/decodificación de corrección de errores que no tengan los inconvenientes de la técnica anterior.
10
15
20
25
30
35
40
45
50
E12715860
28-07-2014
Otro propósito de la presente invención es proporcionar métodos y dispositivos de codificación/decodificación de corrección de errores que minimicen los retardos de transmisión y recepción, en particular para aplicaciones tales como transmisión de sonido o de vídeo.
Otro propósito de la presente invención es proporcionar métodos y dispositivos de codificación/decodificación de corrección de errores que consuman menos recursos que los métodos y dispositivos de la técnica anterior.
Otro propósito de la presente invención es proporcionar métodos y dispositivos de codificación/decodificación de corrección de errores que requieran menores velocidades de transmisión que los métodos y dispositivos de la técnica anterior.
Por último, un propósito de la presente invención es proporcionar métodos y dispositivos de codificación/decodificación de corrección de errores que requieran menor capacidad de red que los métodos y dispositivos de la técnica anterior.
Descripción de la Invención
La invención permite lograr al menos uno de estos propósitos mediante un método de codificación de corrección de errores para codificar en serie datos digitales denominados de origen, que tienen forma de trama, donde dichos datos pueden estar clasificados en N clases, siendo N un número entero al menos igual a 2.
El método de codificación de acuerdo con la invención comprende:
-un primer paso de codificación de convolución sistemática recursiva de los datos de la clase 1;
-una implementación de los siguientes pasos, para cada n desde 1 hasta M, donde M es un número entero positivo igual o menor que N-1:
-mezclado n-ésimo de un conjunto formado por los datos de la clase n+1, los datos sistemáticos y los datos de paridad procedentes de un paso de codificación anterior;
-codificación (n+1)-ésima de convolución sistemática recursiva de datos formados por el resultado del mezclado n-ésimo.
También se pueden proporcionar varios pasos de codificación intermedios de los mismos datos antes de añadir nueva información a codificar.
Por lo tanto, se trata de un mezclado n-ésimo de un conjunto formado por datos de la clase n+1, datos sistemáticos y datos de paridad procedentes de un paso de codificación anterior porque
-el paso de codificación anterior puede ser el paso n de codificación;
-el paso de codificación anterior puede ser un paso de codificación intermedio.
Los términos “dato de paridad” y “dato sistemático” son términos relacionados con los códigos de convolución sistemáticos recursivos, y son conocidos por las personas con experiencia en la técnica.
A lo largo del texto, los datos sistemáticos y los datos de paridad pueden comprender bits de cola.
Estos datos corresponden a las dos salidas de un código de convolución sistemático recursivo.
Los datos sistemáticos y los datos de paridad de un paso de codificación forman los datos codificados por dicho paso de codificación.
Preferiblemente, el dato sistemático es idéntico al dato a codificar, mientras que el dato de paridad puede corresponder a al menos un dato de redundancia.
Ventajosamente, la invención permite añadir nueva información a codificar, antes de algunos de los pasos de codificación.
De esta manera, se realiza un método de codificación de corrección de errores de tipo UEP, es decir, con una protección no uniforme, donde cada clase se puede beneficiar de una protección diferente con respecto a errores que se producen en particular durante la transmisión sobre un canal.
La invención adopta el principio general de los turbocódigos, dado que existen pasos de codificación y pasos de mezclado sucesivos con vistas a una mayor codificación de los mismos datos. Sin embargo, el esquema conocido se ha modificado para producir un esquema de codificación en el cual diferentes datos digitales de origen de una misma trama estén más o menos protegidos.
La diferente protección proviene de un número diferente de información (o datos codificados) de redundancia, en función del número de veces que han sido codificados los datos de la clase.
De hecho, cada clase se puede codificar un número de veces diferente, dependiendo de un número de codificaciones realizadas teniendo en cuenta los datos de esta clase. Los datos de una clase se pueden tener en
10
15
20
25
30
35
40
45
50
E12715860
28-07-2014
cuenta para una codificación, como datos de la clase 1, como datos de la clase n+1 y/o como datos a codificar formados por el resultado del mezclado n-ésimo.
El método de acuerdo con la invención está adaptado para procesar tramas completas.
La protección de los datos se puede denominar jerárquica, donde los datos más importantes, en otras palabras aquellos con un mayor nivel de prioridad, pueden estar mejor protegidos.
La estructura se puede adaptar a cualquier tipo de trama, con independencia en particular del número de clases.
Se realiza una codificación UEP, la cual es directamente aplicable a una trama completa de datos digitales.
De esta manera, cada clase de una trama se puede codificar con un esquema de codificación específico diferente al esquema de codificación aplicado a una o más de las otras clases de la misma trama.
Por lo tanto, el método de acuerdo con la invención permite realizar una codificación con menos recursos que los métodos del estado del arte.
Además, el método de acuerdo con la invención permite realizar una codificación más rápida ya que consume menos energía que los métodos del estado del arte.
Por último, datos codificados con el método de acuerdo con la invención se pueden transmitir con menores velocidades de transmisión y menor capacidad de red que datos codificados con métodos y dispositivos de la técnica anterior, con una protección idéntica.
El método de acuerdo con la invención permite codificar las diferentes clases de una misma trama mediante un único método de codificación de corrección de errores, a diferencia de los métodos de codificación UEP conocidos, en los cuales cada clase se codifica con independencia de las otras clases de la misma trama.
Ya no es necesario separar datos de diferentes clases de una misma trama en varios flujos de datos, para codificarlos de forma independiente.
De esta manera, el método de acuerdo con la invención permite evitar la transmisión de información de sincronización, y por lo tanto permite optimizar los recursos de la red de transmisión.
Así, el método de acuerdo con la invención permite reducir un retardo de recepción, en particular para aplicaciones tales como transmisión de sonido (por ejemplo, de voz) o de vídeo.
De esta forma, el método de acuerdo con la invención permite evitar un paso de resincronización después de la transmisión.
De esta manera, el método de acuerdo con la invención permite simplificar la modulación de datos que han sido codificados, donde todas las clases de una trama se pueden modular en conjunto. El método permite aplicar un único esquema de modulación.
El al menos un paso de mezclado puede proporcionar una distribución aleatoria de los datos digitales en el resultado final.
Los datos digitales pueden ser cualquier dato digital, en particular datos digitales que representen un vídeo o una voz.
Preferiblemente, el método de codificación va seguido por una modulación apropiada adaptada al canal de transmisión utilizado.
El esquema de codificación y modulación que se puede obtener entonces es particularmente robusto frente a errores.
Se pueden proporcionar algunos datos de la trama que no serán codificados.
Después de la implementación de un paso de codificación se puede proporcionar una implementación de la perforación. Esto puede implicar al menos un paso de desperforación durante una decodificación. La desperforación consiste en recuperar datos del mismo tamaño que datos antes de una correspondiente perforación, por ejemplo introduciendo ceros en los datos perforados.
Preferiblemente, se asigna un nivel de prioridad a cada clase, ordenándose las clases 1 a N en orden decreciente de sus niveles de prioridad.
De esta forma, el método de acuerdo con la invención permite que cada clase se beneficie de una protección adaptada. De este modo, el método permite evitar la transmisión de más información de redundancia de la necesaria, lo cual permite optimizar los recursos de la red de transmisión al mismo tiempo que se obtiene una calidad de recepción óptima, dado que la información más importante ha sido muy protegida.
Cada paso de mezclado puede consistir en una simple concatenación.
Ventajosamente, cada paso de mezclado consiste en un entrelazado.
10
15
20
25
30
35
40
45
50
E12715860
28-07-2014
Un entrelazado puede consistir en organizar datos recibidos de forma no consecutiva. Se puede considerar cualquier tipo de entrelazado conocido, en particular entrelazados desarrollados dentro del alcance de los turbocódigos.
Por lo general, los errores durante una transmisión sobre un canal se producen en ráfagas en lugar de producirse de manera independiente. Si el número de errores supera la capacidad de la codificación de corrección de errores, no se consigue recuperar los datos de origen. Por lo general se usa el entrelazado para ayudar a resolver este problema modificando el orden para tener en cuenta los mismos datos digitales en varias codificaciones, creando de esta forma una distribución de errores más uniforme.
De acuerdo con una realización preferente del método de codificación de acuerdo con la invención, se elige M igual a N-1, de manera que se codifiquen las clases 1 a N.
De esta forma, se pueden proteger todos los datos digitales de origen.
Preferiblemente, al final de la implementación de todos los pasos del método de codificación de acuerdo con la invención, es decir, en la salida, se obtienen datos de paridad y datos sistemáticos correspondientes al resultado del paso (M+1)-ésimo de codificación.
La invención también se refiere a un dispositivo de codificación para implementar el método de codificación de corrección de errores en serie de acuerdo con la invención, capaz de codificar datos digitales denominados de origen que tengan la forma de una trama, donde dichos datos pueden estar clasificados en N clases.
El dispositivo de codificación de acuerdo con la invención comprende:
-un primer módulo de codificación de convolución sistemático recursivo para la codificación de datos a codificar formados por los datos de la clase 1; y
-y hacer que n vaya desde 1 hasta M, donde M es un número entero positivo igual o menor que N-1, M conjuntos formados cada uno por un mezclador n-ésimo seguido por un módulo (n+1)-ésimo de codificación de convolución sistemático recursivo, estando el mezclador n-ésimo diseñado para recibir los datos de la clase n+1, los datos sistemáticos y los datos de paridad de un módulo de codificación anterior, y estando el módulo (n+1)-ésimo de codificación diseñado para la codificación de datos a codificar formados por la salida del mezclador n-ésimo.
La invención también se refiere a un método para decodificar datos digitales, diseñado para decodificar datos digitales codificados en conformidad con el método de codificación de la invención.
Los datos obtenidos al final de la codificación son transmitidos ventajosamente a través de un canal de transmisión.
Por lo tanto, después de la transmisión se pueden recibir datos denominados recibidos que pueden estar afectados por errores que se produzcan en particular durante la transmisión.
Ventajosamente, el método de decodificación de acuerdo con la invención se aplica a dichos datos recibidos.
Por razones de mayor claridad de la descripción, en todo el texto se designa de la misma manera a un dato antes y después de la transmisión.
De forma particularmente ventajosa, el método de decodificación de acuerdo con la invención es de tal manera que, para cualquier j, k, l entre M+1 y 1 (ambos inclusive):
-cada paso j-ésimo de codificación del método de acuerdo con la invención, corresponde a un paso j de decodificación, adaptado para decodificar datos codificados que se producen en el paso j-ésimo de codificación;
-al final de cada paso j de decodificación, se obtienen por un lado datos denominados “blandos” para una evaluación de datos de la clase j, y se obtienen por otro lado datos denominados extrínsecos;
y se implementan los siguientes pasos:
-decodificación k; y a continuación
-decodificación l ≠ k en función de al menos un dato extrínseco proporcionado por al menos otro paso de decodificación, usado como un dato a priori.
Preferiblemente, los datos a priori utilizados para una decodificación l ≠ k comprenden información relacionada con los datos codificados.
Los datos denominados “a priori” representan preferiblemente probabilidades sobre datos codificados recibidos desde el canal.
Estas probabilidades están disponibles antes de cualquier decodificación en marcha de los citados datos codificados recibidos, procediendo estos valores probabilísticos de una fuente diferente a la de los datos codificados recibidos desde el canal.
Un dato a priori utilizado para decodificar los datos codificados que se producen en el paso k-ésimo de codificación puede estar relacionado con los datos de paridad y con los datos sistemáticos de este paso k-ésimo de codificación.
10
15
20
25
30
35
40
45
50
E12715860
28-07-2014
Los datos extrínsecos de un bit B designan ventajosamente a la información producida por un decodificador (basándose en la información codificada recibida desde el canal y, si fuera aplicable, en datos a priori), excepto para el canal e información a priori del bit B en cuestión.
Estos datos extrínsecos pueden representar la probabilidad de haber recibido este bit B en función de valores de todos los otros bits contiguos de la misma trama.
En particular, se puede remitir al lector al siguiente libro: Todd K Moon, “Error Correction Coding – Mathematical Methods and Algorithms”, John Wiley & Sons 2005.
Los datos extrínsecos que se producen en el paso j-ésimo de codificación están relacionados preferiblemente con los datos de paridad y con los datos sistemáticos de este paso j-ésimo de codificación.
Preferiblemente, los datos extrínsecos comprenden datos denominados “a priori” que proporcionan un dato adicional para evaluar los datos de otras clases.
En cada paso de decodificación, se puede usar un dato a priori.
Para el paso de decodificación realizado en primer lugar en el orden cronológico, el dato a priori se fija en cero. A continuación, cada paso de decodificación permite obtener un dato a priori usado para otro paso de decodificación.
Cada clase se puede beneficiar de una protección diferente con respecto a errores. Una clase fuertemente protegida se beneficiará de una menor tasa de errores tras la decodificación.
Una decodificación l ≠ k en función de al menos un dato extrínseco proporcionado por al menos un paso de decodificación diferente, utilizado como un dato a priori, permite que las diferentes clases codificadas se beneficien de la codificación de las otras clases codificadas.
De esta forma, para una clase menos protegida se puede alcanzar más rápidamente una tasa de bits erróneos dada. De este modo la invención permite ahorros de energía, de redundancia y de retardo.
Cada paso de decodificación puede implementar una decodificación iterativa, es decir, cualquier tipo de algoritmo basado en la búsqueda de máximo a posteriori (MAP) para evaluar probabilidades a posteriori. Este máximo a posteriori se puede calcular con el algoritmo BCJR (el algoritmo de Bahl, Cocke, Jelinek y Raviv), con una derivada MAP, en particular de acuerdo con una decodificación denominada LOG MAP que usa un ratio de verosimilitud (“Ratios de Probabilidades de Verosimilitud Logarítmicas”), o una decodificación denominada MAX LOG MAP, más apropiada para la implementación hardware.
Los datos extrínsecos se pueden procesar antes de su uso como un dato a priori para un paso j de decodificación. El objetivo es recuperar datos de la misma dimensión y en el mismo orden que los datos a la salida del correspondiente paso de codificación.
Cada paso de decodificación permite evaluar los datos de una clase.
Preferiblemente, las evaluaciones de datos de los datos de cada clase se extraen gradualmente de los datos blandos. El objetivo es extraer en el momento apropiado algunos datos relacionados con las respectivas clases.
Un paso de decodificación se puede realizar de manera no sucesiva para cualquiera de las clases, con independencia del orden de codificación.
El primer paso de codificación se puede realizar para una clase intermedia, y los pasos de decodificación anterior y posterior se pueden realizar en cualquier orden ventajoso, en particular de acuerdo con una tasa de errores prefijada que se debe alcanzar para cada clase.
Ventajosamente, un paso de decodificación se puede realizar de manera sucesiva para todas las clases n, donde n es decreciente, y va desde M+1 hasta 1.
Para cualquier j entre M+1 y 2 (ambos inclusive), el método de decodificación de acuerdo con la invención puede comprender además, después de cada paso j de decodificación, las siguientes operaciones:
-desmultiplexado j de los datos extrínsecos obtenidos en el paso j de decodificación, para separar datos relacionados con datos de paridad de datos denominados útiles relacionados con datos sistemáticos,
-desenredado j-1 de dichos datos útiles, realizando el desenredado j-1 una función inversa a la implementada en el paso j-1 de mezclado, para proporcionar datos desenredados:
-desmultiplexado de los datos desenredados para separar datos a priori relacionados con la clase j denominados datos extraídos de datos a priori relacionados con las clases 1 a j-1 denominados datos a priori útiles;
-proporcionar datos denominados a priori útiles para que sean usados en el paso j-1 de decodificación.
A lo largo de todo el texto, cuando se hace mención a un desenredado, éste se refiere a un mezclado dado, consistiendo el desenredado en recuperar el orden de los datos antes del citado mezclado.
10
15
20
25
30
35
40
45
50
E12715860
28-07-2014
Para cualquier j entre M+1 y 2 (ambos inclusive), el método de decodificación de acuerdo con la invención puede comprender además después de cada paso j de decodificación, las siguientes operaciones:
-desenredado j-1 de los datos blandos obtenidos, realizando el desenredado j-1 una función inversa a la implementada en el paso j-1 de mezclado, para proporcionar datos blandos desenredados;
-desmultiplexado de los datos blandos desenredados para separar datos blandos relacionados con la clase j denominados datos blandos extraídos de datos blandos relacionados con las clases 1 a j-1.
Los datos blandos extraídos se usan para evaluar los datos de la clase j.
Se puede proporcionar además un paso específico para evaluar los datos blandos extraídos para recuperar los valores de la clase j.
Se puede repetir al menos una vez al menos un paso j de decodificación, en función de datos a priori correspondientes a datos extrínsecos proporcionados por al menos un paso de decodificación de los datos de otra clase.
En cada repetición de un paso de decodificación, se puede usar un dato a priori.
Cada paso de decodificación se puede repetir al menos una vez, por ejemplo entre 1 y 5 veces.
El paso de decodificación repetido de esta forma puede ir seguido a continuación por nuevos pasos de decodificación de datos de clases posteriores o anteriores.
Antes de su uso para una repetición del paso j de decodificación, se pueden procesar los datos extrínsecos antes de usar al menos algunos de ellos como datos a priori. El objetivo es recuperar datos de la misma dimensión y en el mismo orden que los datos a la salida del correspondiente paso de codificación.
De esta manera se realiza al menos una realimentación. Por lo tanto el método de decodificación de acuerdo con la invención se puede considerar iterativo, donde cada nueva iteración de un paso de decodificación puede mejorar la evaluación de los datos de la clase correspondiente.
De esta forma se puede usar información de otras clases para mejorar la decodificación de una clase.
Cada clase se beneficia de una protección diferente con respecto a errores. Una clase fuertemente protegida se beneficiará de una menor tasa de errores durante la decodificación. Durante la decodificación, la al menos una realimentación permite aprovechar el hecho de que durante la codificación se mezclan datos correspondientes a cada una de las clases. De ese modo, las diferentes clases codificadas se pueden beneficiar de la codificación de las otras clases codificadas.
De esta manera, para una clase menos protegida se puede alcanzar más rápidamente una tasa de bits erróneos dada. Por lo tanto la invención permite ahorros de energía.
Al menos un paso j de decodificación se puede repetir al menos una vez en función de datos a priori correspondientes a datos extrínsecos proporcionados por al menos un paso de decodificación de los datos de otra clase, y para j entre M+1 y 2 (ambos inclusive), y t estrictamente menor que j, el paso j de decodificación se repite en función de datos a priori obtenidos en los pasos de decodificación t a j-1.
De esta forma, cada paso de decodificación se puede repetir usando datos a priori obtenidos en pasos de decodificación de clases con mayor prioridad.
En este caso, dichos datos a priori pueden comprender información extrínseca relacionada con las clases 1 a j-1 e información relacionada con los datos de paridad de las clases 1 a j-1.
A continuación se pueden repetir los pasos de decodificación j-1 a t.
Al menos un paso j de decodificación se puede repetir al menos una vez en función de datos a priori correspondientes a datos extrínsecos proporcionados por al menos un paso de decodificación de los datos de otra clase, y para j entre M y 1 (ambos inclusive) y t estrictamente mayor que j, el paso j de decodificación se repite en función de datos a priori obtenidos en los pasos de decodificación t a j+1.
De esta forma cada paso de decodificación se puede repetir usando datos a priori obtenidos en pasos de decodificación de clases con una menor prioridad.
En este caso, dichos datos a priori pueden comprender información extrínseca relacionada con las clases t a j+1 e información relacionada con los datos de paridad de las clases t a j+1.
A continuación se pueden repetir los pasos de decodificación j+1 a t.
Preferiblemente, una fase de decodificación comprende los siguientes pasos:
-el paso M+1 de decodificación se repite en función de datos a priori obtenidos en los pasos de decodificación 1 a M;
10
15
20
25
30
35
40
45
50
E12715860
28-07-2014
-los pasos de decodificación M a 1 se repiten usando datos a priori correspondientes a datos extrínsecos proporcionados por el paso de decodificación anterior (siguiendo el orden cronológico), de tal manera que los pasos de decodificación M+1 a 1 constituyen una fase de decodificación;
y la fase de decodificación se repite al menos una vez.
De esta manera, en todos los pasos de decodificación se realiza una realimentación, y en cada fase de decodificación, los pasos de decodificación se realizan de forma sucesiva para todas las clases n, donde n es decreciente, y va desde M+1 a 1.
A partir de la segunda iteración, el paso M+1 de decodificación se puede realizar en función de datos a priori proporcionados por el paso 1 de decodificación.
De esta forma, para mejorar la decodificación de una clase se puede usar información de todas las otras clases.
La invención también se refiere a un dispositivo de decodificación adaptado para implementar el método de decodificación de acuerdo con la invención.
El dispositivo de decodificación de acuerdo con la invención puede comprender M+1 módulos de decodificación, siendo cada módulo j de decodificación (donde j es un número entero entre 1 y M+1, ambos inclusive) capaz de decodificar datos codificados producidos en el paso j-ésimo de codificación del método de codificación de acuerdo con la invención, y proporcionando cada módulo j de decodificación datos denominados extrínsecos que se pueden usar como datos a priori para otro módulo de decodificación, y al menos un dato denominado “blando” para una evaluación de la clase j.
La invención encuentra aplicación en todos los campos de la transmisión de datos y en cualquier sistema de transmisión, tanto si es una transmisión por cable como si es inalámbrica. El campo puede ser en particular el de:
- -
- las comunicaciones radio terrestres,
- -
- las comunicaciones radio aeroespaciales,
- -
- la transmisión de datos en robótica o electrónica,
- -
- las aplicaciones de audio y/o vídeo.
La invención también se refiere a un producto de programa informático que comprende instrucciones para realizar los pasos del método de codificación de acuerdo con la invención cuando se ejecuta en un dispositivo informático.
La invención también se refiere a un producto de programa informático que comprende instrucciones para realizar los pasos del método de decodificación de acuerdo con la invención cuando se ejecuta en un dispositivo informático.
Descripción de las figuras y realizaciones
-La Figura 1 ilustra esquemáticamente un ejemplo del método de codificación denominado “en serie” de acuerdo con la invención,
-La Figura 2 ilustra esquemáticamente un ejemplo del método de decodificación denominado “en serie” de acuerdo con la invención,
-La Figura 3 ilustra una realización concreta del método de codificación denominado “en serie” de acuerdo con la invención,
-La Figura 4 ilustra una realización concreta del método de decodificación denominado “en serie” de acuerdo con la invención,
-La Figura 5 ilustra curvas de tasas de bits erróneos obtenidas con un método de decodificación de acuerdo con la invención.
A lo largo de todo el texto, un multiplexado puede designar a una concatenación, a un entrelazado o a cualquier otra operación realizada para ordenar datos en una trama unidimensional o multidimensional.
A lo largo de todo el texto, cuando se hace mención a un desmultiplexado, éste se refiere a un multiplexado dado, siendo el desmultiplexado la operación inversa a dicho multiplexado.
A lo largo de todo el texto, cuando se hace mención a un desentrelazado, éste se refiere a un entrelazado dado, consistiendo el desentrelazado en recuperar el orden de los datos antes del citado entrelazado.
Los medios para implementar cada paso del método de acuerdo con la invención son conocidos por las personas con experiencia en la técnica, por consiguiente sólo se describirán en detalle métodos de ejemplo de acuerdo con la invención.
La Figura 1 es una representación en forma de diagrama de un ejemplo de un método de codificación en serie en conformidad con el método de acuerdo con la invención.
Cada paso de codificación implementa un código de convolución sistemático recursivo.
8
E12715860
28-07-2014
En el ejemplo representado en la Figura 1, se codifica una trama 102 de datos. Los datos de la trama 102 están clasificados en n clases 1021-102n. Cada una de las clases 102i está asociada a un nivel de prioridad. En el presente ejemplo, de manera no limitativa, el nivel de prioridad de la clase 1021 es mayor que el nivel de prioridad de la clase 1022, y así sucesivamente, siendo la clase 102n la de menor nivel de prioridad.
El método 100 comprende un primer paso 1041 de codificación, el cual comprende:
-una codificación 1101 de los datos de la clase 1021, y
-un multiplexado 1061 de los datos a la salida de la codificación 1101 que, en el caso concreto de códigos de convolución sistemáticos recursivos consisten en una salida sistemática (es decir los datos a codificar, a la entrada del codificador) y una salida de paridad (o datos codificados recursivamente o datos de paridad).
Este paso 1041 va seguido por un segundo paso 1042 de codificación que realiza:
-un entrelazado 1082 de los datos multiplexados obtenidos después del multiplexado 1061, con los datos de la clase 1022;
-una codificación 1102 de los datos entrelazados proporcionados por el entrelazado 1082, y
-un multiplexado 1062 de los datos proporcionados por la codificación 1102 que, en el caso concreto de códigos de convolución sistemáticos recursivos, consisten en una salida sistemática (es decir los datos a codificar, a la entrada del codificador) y una salida de paridad (o datos codificados recursivamente o datos de paridad).
Después del paso 1042, el método 100 comprende un paso 1043 de codificación y así sucesivamente hasta el paso 104n. Cada paso 104i para i ≥ 3 comprende las siguientes operaciones:
-un entrelazado 108i de los datos multiplexados proporcionados por el multiplexado 106i-1 con los datos de la clase 102i;
-una codificación 110i de los datos entrelazados proporcionados por el entrelazado 108i; y
-un multiplexado 106i de los datos proporcionados por la codificación 110i.
Cada paso 104i para i ≥ 2 proporciona un dato de codificación formado por el multiplexado de la salida sistemática de la codificación 110i (datos entrelazados obtenidos en el entrelazado 108i) con la salida de paridad de la codificación 110i (salida de paridad obtenida en la codificación 110i).
En la salida, mediante el multiplexado 106n se obtiene la trama A codificada.
Los datos de la trama 102 se modulan y se transmiten juntos como los datos A, porque no se separan antes de la implementación del método de codificación de acuerdo con la invención.
Preferiblemente, los datos A se modulan y a continuación se transmiten sobre un canal de transmisión.
Después de la transmisión, se reciben los datos A que pueden estar afectados por errores.
La Figura 2 es una representación en forma de diagrama de un ejemplo de un método 500 de decodificación en serie en conformidad con el método de acuerdo con la invención, en el caso en que cada codificador implementa un código de convolución sistemático recursivo.
En el ejemplo representado en la Figura 2, se decodifican los datos A. Estos datos A han sido codificados en conformidad con el método 100 de codificación en serie de acuerdo con la invención.
Después de cada multiplexado 106i, se puede proporcionar además que se realice una perforación. En este caso, la decodificación comprende pasos de desperforación. Este caso particular no está representado aquí, pero no está excluido del campo de la invención.
Un primer paso 508n de decodificación de los datos de la clase 102n comprende los siguientes pasos:
-una decodificación 510n de los datos codificados de la clase 102n, usando los datos A y un dato a priori (el cual para la primera iteración consiste en una serie de valores cero), y que proporciona datos denominados extrínsecos así como datos blandos para evaluar los datos de la clase 102n;
-un desmultiplexado 514n de los datos extrínsecos, para separar los datos extrínsecos relacionados con los datos de paridad, y datos extrínsecos denominados útiles relacionados con los datos sistemáticos (relacionados con los datos codificados en el paso 104n de codificación);
-un desentrelazado 512n de los datos extrínsecos útiles (relacionados con el paso 104n de codificación), para proporcionar datos a priori relacionados con las clases 1021→n-1, y datos a priori relacionados con la clase 102n, implementando el desentrelazado 512n una función de entrelazado inversa a la función de entrelazado implementada en el entrelazado 108n del método 100 de codificación en serie.
10
15
20
25
30
35
40
45
50
E12715860
28-07-2014
Los datos blandos para evaluar los datos de la clase 102n son sometidos a un paso 516n de desentrelazado que implementa una función de entrelazado inversa a la función de entrelazado implementada en el entrelazado 108n del método 100 de codificación en serie.
Un paso de desmultiplexado no mostrado permite aislar probabilidades para los datos de la clase 102n (para cada bit, la probabilidad debe ser 0 ó 1). Se puede proporcionar además un paso para evaluar los datos de la clase 102n.
El desentrelazado 512n va seguido por un nuevo paso 508n-1 de decodificación de los datos de la clase 102n-1.
Este nuevo paso comprende una decodificación 510n-1 de los datos codificados de la clase 102n-1, usando los datos a priori relacionados con las clases 1021→n-1 obtenidos en el paso de decodificación anterior, y un dato de canal puesto a cero.
La decodificación 510n-1 proporciona datos denominados extrínsecos, y datos blandos para evaluar los datos de la clase 102n-1.
El paso 508n-1 de decodificación comprende a continuación los siguientes pasos:
-un desmultiplexado 514n-1 de los datos extrínsecos para separar los datos extrínsecos relacionados con los datos de paridad, de datos extrínsecos denominados útiles relacionados con los datos sistemáticos (relacionados con los datos codificados en el paso 104n-1 de codificación);
-un desentrelazado 512n-1 de los datos extrínsecos útiles (relacionados con el paso 104n-1 de codificación), para proporcionar datos a priori relacionados con las clases 1021→n-2, y datos a priori relacionados con la clase 102n1, implementando el desentrelazado 512n-1 una función de entrelazado inversa a la función de entrelazado implementada en el entrelazado 108n-1 del método 100 de codificación en serie.
Los datos blandos para evaluar los datos de la clase 102n-1 son sometidos a un paso 516n-1 de desentrelazado que implementa una función de entrelazado inversa a la función de entrelazado implementada en el entrelazado 108n-1 del método 100 de codificación en serie.
Un paso de desmultiplexado no mostrado permite aislar probabilidades para los datos de la clase 102n-1 (para cada bit, la probabilidad debe ser 0 ó 1). Además se puede proporcionar un paso para evaluar los datos de la clase 102n-1.
Después del paso 508n-1, el método 500 comprende un paso 508n-2 de decodificación y así sucesivamente hasta el paso 5082. Cada uno de los pasos 508i para n-2 ≥ i ≥ 2 comprende las siguientes operaciones:
-una decodificación 510i de los datos codificados de la clase 102i, usando los datos a priori relacionados con las clases 1021→i obtenidos en el paso de decodificación anterior, y un dato de canal puesto a cero;
-un desmultiplexado 514i de los datos extrínsecos para separar los datos extrínsecos relacionados con los datos de paridad, y los datos extrínsecos denominados útiles relacionados con los datos sistemáticos (relacionados con los datos codificados en el paso 104i de codificación);
-un desentrelazado 512i de los datos extrínsecos útiles (relacionados con el paso 104i de codificación), para proporcionar datos a priori relacionados con las clases 1021→i-1, y datos a priori relacionados con la clase 102i, implementando el desentrelazado 512i una función de entrelazado inversa a la función de entrelazado implementada en el entrelazado 108i del método 100 de codificación en serie.
Los datos blandos para evaluar datos de la clase 102i son sometidos a un paso 516i de desentrelazado que implementa una función de entrelazado inversa a la función de entrelazado implementada en el entrelazado 108i del método 100 de codificación en serie.
Un paso de desmultiplexado no mostrado permite aislar probabilidades para los datos de la clase 102i (para cada bit, la probabilidad debe ser 0 ó 1). Se puede proporcionar además un paso para evaluar los datos de la clase 102i.
Después del paso 5082 el método 500 comprende un paso 5081 que comprende las siguientes operaciones:
-una decodificación 5101 de los datos codificados de la clase 1021, usando los datos a priori relacionados con las clases 1021 obtenidos en el paso de decodificación anterior, y un dato de canal puesto a cero, para obtener los datos extrínsecos (relacionados con los datos de paridad y con los datos sistemáticos denominados útiles, y correspondientes a los datos codificados en el paso 1041 de codificación) y la evaluación relacionada con los datos codificados de la clase 1021.
Los pasos descritos desde la decodificación 510n reciben el nombre de fase de decodificación.
El método 500 de decodificación adaptado a la codificación en serie comprende además una realimentación, la cual consiste en usar datos extrínsecos proporcionados por un paso de decodificación para repetir otro paso de decodificación.
Los datos extrínsecos usados para una repetición de un paso de decodificación se entrelazan para recuperar datos de la misma dimensión y en el mismo orden que los datos a la salida de un paso de codificación correspondiente.
La realimentación comprende los siguientes pasos:
E12715860
28-07-2014
5
10
15
20
25
30
35
40
45
50
-entrelazado 5221 de datos extrínsecos proporcionados por el paso 5101 de decodificación y de datos a priori relacionados con la clase 1022, para obtener datos entrelazados proporcionados por el entrelazado 5221, implementando el entrelazado 5221 una función de entrelazado similar a la función de entrelazado implementada en el entrelazado 1082 del método 100 de codificación en serie, y a continuación un multiplexado 523i de los datos entrelazados proporcionados por el entrelazado 5221 con los datos extrínsecos relacionados con los datos de paridad de la clase 1022;
-para i desde 2 hasta n-2, i pasos 522i de entrelazado de los datos multiplexados en el multiplexado 523i-1 con los datos a priori relacionados con la clase 102i+1, para obtener datos entrelazados proporcionados por el entrelazado 522i, implementando el entrelazado 522i una función de entrelazado similar a la función de entrelazado implementada en el entrelazado 108i+1 del método 100 de codificación en serie, y a continuación un multiplexado 523i de los datos entrelazados proporcionados por el entrelazado 522i con datos denominados extrínsecos relacionados con los datos de paridad de la clase 102i+1;
-entrelazado 522n-1 de los datos multiplexados proporcionados por el multiplexado 523n-1, con un dato del tamaño de los datos a priori relacionados con los datos de la clase 102n pero puesto a cero, implementando el entrelazado 522n-1 una función de entrelazado similar a la función de entrelazado implementada en el entrelazado 108n del método 100 de codificación en serie;
-tener en cuenta los datos entrelazados procedentes del entrelazado 522n-1 como dato a priori durante una segunda iteración del paso 510n de decodificación.
Esta segunda iteración del paso 510n de decodificación puede ir seguida por una tercera iteración de todos los otros pasos de una fase de decodificación descritos anteriormente.
Esta realimentación se puede implementar varias veces, por ejemplo de tres a quince veces. Después de cada iteración, se mejora la evaluación de los datos de cada clase. Después de al menos cinco realimentaciones, ya no siempre es interesante realizar más realimentaciones, dado que la ganancia en la precisión de la evaluación es despreciable en comparación con el tiempo adicional necesario para otra iteración.
Se describirá ahora, haciendo referencia a la Figura 3, una realización concreta del método 100 de codificación de corrección de errores de acuerdo con la invención, en el caso en que cada codificador implementa un código de convolución sistemático recursivo.
Los datos 30 digitales denominados de origen están formados por una trama 102 que comprende tres clases 1021, 1022 y 1023.
El método 100 de acuerdo con la invención comprende un paso 70 inicial de separación de los datos de cada una de las clases 1021, 1022 y 1023.
Los datos de la clase 1021 se designan mediante el símbolo a1.
Los datos de la clase 1022 se designan mediante el símbolo a2.
Los datos de la clase 1023 se designan mediante el símbolo a3.
El método 100 de acuerdo con la invención comprende un primer paso 1101 de codificación de los datos de la clase 1021.
Se obtienen datos P1 y S1 codificados.
Los datos P1 codificados obtenidos se denominan “paridad de la clase 1021” y corresponden a datos de redundancia que permiten recuperar los datos a1. Los datos S1 codificados obtenidos se denominan “sistemáticos de la clase 1021”.
El método 100 de acuerdo con la invención comprende a continuación:
-un paso 1062 de multiplexado de la paridad P1 con la salida S1 sistemática, para obtener datos A1 multiplexados; y a continuación
-un paso 1082 de entrelazado de los datos A1 multiplexados con los datos a2 de la clase 1022.
Se obtienen datos b1 entrelazados.
Los datos b1 entrelazados se codifican a continuación durante un paso 1102 de codificación, el cual proporciona datos P2 y S2 codificados.
Los datos P2 codificados obtenidos se denominan “paridad de b1”. Estos son datos de redundancia que permiten recuperar los datos b1. Dado que los datos b1 comprenden los datos a1 y a2 mezclados, aumenta el número de datos de redundancia disponibles correspondientes a los datos a1.
Los datos S2 codificados obtenidos se denominan “sistemáticos de b1”.
El método 100 de acuerdo con la invención comprende a continuación:
E12715860
28-07-2014
5
10
15
20
25
30
35
40
45
-un paso 1063 de multiplexado de la paridad P2 con la salida S2 sistemática, para obtener datos A2 multiplexados; y a continuación -un paso 1083 de entrelazado de los datos A2 multiplexados con los datos a3 de la clase 1023.
Se obtienen datos b2 entrelazados. Los datos b2 entrelazados se codifican a continuación durante un paso 1103 de codificación, el cual proporciona datos P3 y S3 codificados.
Los datos P3 codificados obtenidos se denominan “paridad de b2”. Estos son datos de redundancia que permiten recuperar los datos b2. Dado que los datos b2 comprenden los datos a1, a2 y a3 mezclados, aumenta el número de datos de redundancia disponibles correspondientes a los datos a1 y a2.
Los datos S3 codificados obtenidos se denominan “sistemáticos de b2”. Se obtienen en la salida los datos A que reúnen la paridad P3 y la salida S3 sistemática. Se describirá ahora, haciendo referencia a la Figura 4, una realización concreta del método 500 de decodificación de
acuerdo con la invención, correspondiente al método de codificación de la Figura 3, y en el caso en que cada
codificador implementa un código de convolución sistemático recursivo. El método 500 de acuerdo con la invención comprende una primera decodificación que comprende un paso 5103 de decodificación que usa los datos A y un dato a priori inicialmente puesto a cero.
Se obtienen una salida Lsoft(b2) y datos Lext(A) denominados extrínsecos.
La salida Lsoft(b2) permite evaluar los datos b2.
A lo largo de todo el texto, Lsoft, Lext y Lpriori corresponden a las probabilidades logarítmicas de que cada bit de datos sea 0 ó 1, que son el resultado de un uso ventajoso para esta realización concreta del algoritmo de decodificación denominado MAX LOG MAP.
Por un lado, se implementan los siguientes pasos:
-desentrelazado 5163 de la salida Lsoft(b2), implementando el desentrelazado 5163 una función de desentrelazado inversa a la función de entrelazado implementada en el paso 1083 de entrelazado;
-desmultiplexado no representado para separar los datos Lsoft(A2) y Lsoft(a3).
La salida Lsoft(a3) corresponde a una evaluación de los datos a3 de la clase 1023.
La salida Lsoft(A2) corresponde a una evaluación de los datos A2.
Los datos Lext(A) denominados extrínsecos comprenden información relacionada con una evaluación de los datos de la clase 1023. Por otro lado, se implementan los siguientes pasos:
-desmultiplexado 5143 para separar los datos Lext(S3) relacionados con los sistemáticos S3 de los datos Lext(P3) relacionados con la paridad P3;
-desentrelazado 5123 de la salida Lext(S3), implementando el desentrelazado 5123 una función de desentrelazado inversa a la función de entrelazado implementada en el paso 1083 de entrelazado.
-desmultiplexado no representado de los datos desentrelazados, para obtener un dato Lpriori(a3) y Lpriori(A2).
Los datos Lpriori(a3) corresponden a las probabilidades logarítmicas de que cada bit de datos de la clase 1023 sea 0 ó
1. Los datos Lpriori(A2) se usan como información a priori en el siguiente paso de decodificación.
El desmultiplexado no representado para obtener un dato Lpriori(a3) y Lpriori(A2) va seguido por una segunda decodificación que comprende un paso 5102 de decodificación de la paridad P2, en función de Lpriori(A2) y de un dato de canal puesto a cero.
Se obtienen una salida Lsoft(b1) y datos Lext(A2) denominados extrínsecos.
La salida Lsoft(b1) permite evaluar los datos b1. Por un lado, se implementan los siguientes pasos: -desentrelazado 5162 de la salida Lsoft(b1), implementando el desentrelazado 5162 una función de desentrelazado inversa a la función de entrelazado implementada en el paso 1082 de entrelazado; -desmultiplexado no representado para separar los datos Lsoft(A1) y Lsoft(a2).
E12715860
28-07-2014
5
10
15
20
25
30
35
40
45
La salida Lsoft(a2) corresponde a una evaluación de los datos a2 de la clase 1022.
La salida Lsoft(A1) corresponde a una evaluación de los datos A1.
Los datos Lext(A2) denominados extrínsecos comprenden información relacionada con una evaluación de los datos de la clase 1022. Por otro lado, se implementan los siguientes pasos:
- -
- desmultiplexado 5142 para separar los datos Lext(S2) relacionados con los sistemáticos Lext(P2) relacionados con la paridad P2; S2 de los datos
- -
- desentrelazado 5122 de la salida Lext(S2), implementando el desentrelazado 5122desentrelazado inversa a la función de entrelazado implementada en el paso 1082 de en una función de trelazado;
- -
- desmultiplexado Lpriori(A1). no representado de los datos desentrelazados, para obtener un dato Lpriori(a2) y
Los datos Lpriori(a2) corresponden a las probabilidades logarítmicas de que cada bit de datos de la clase 1022 sea 0 ó
1. Los datos Lpriori(A1) se usan como información a priori en el siguiente paso de decodificación.
El desmultiplexado para obtener un dato Lpriori(a2) y Lpriori(A1) va seguido por una tercera decodificación que comprende un paso 5101 de decodificación de la paridad P1, en función de Lpriori(A1) y de un dato de canal puesto a cero.
Se obtienen un dato Lext(A1) extrínseco y una evaluación Lsoft(a1) de los datos de la clase 1021. El método 500 de decodificación tiene una realimentación que comprende los siguientes pasos:
-entrelazado 5221 de los datos Lext(A1) y Lpriori(a2), para obtener un dato Lpriori(b1) entrelazado, y que implementa una función de entrelazado similar a la función de entrelazado implementada en el entrelazado 1082 del método 100 de codificación en serie;
-multiplexado 5231 de los datos entrelazados en el entrelazado 5221 con Lext(P2), para formar un dato L’ext(A2);
-entrelazado 5222 de los datos L’ext(A2) y L’ext(a3), para obtener un dato Lpriori(b2) entrelazado, y que implementa una función de entrelazado similar a la función de entrelazado implementada en el entrelazado 1083 del método 100 de codificación en serie (siendo L’ext(a3) un dato del tamaño de a3 pero que asume una serie de valores cero);
-nueva iteración del paso 5103 de decodificación, teniendo en cuenta Lpriori(b2) como un dato a priori; -nueva iteración de los pasos que siguen al paso 5103 de decodificación.
Esta realimentación permite que cada clase se beneficie de la precisión de decodificación obtenida para otras clases. Por último, las clases no muy protegidas se pueden decodificar con una mejor precisión que si se hubieran
codificado por separado a partir de clases mejor protegidas. Las codificaciones descritas utilizan por ejemplo generadores de polinomios. Los tamaños de las diferentes clases procesadas pueden variar. Se pueden proporcionar algunas clases que no serán codificadas. En la Figura 5 se ilustran curvas de tasas de bits erróneos que se pueden obtener con un método de decodificación
de acuerdo con la invención. La tasa de bits erróneos es el número de bits erróneos en las evaluaciones de los datos codificados de una clase,
dividido por el número total de bits analizados mediante el método de decodificación de acuerdo con la invención. Por lo tanto, es una cantidad sin unidades. La tasa de bits erróneos se expresa a menudo en función de una relación señal-ruido. En la Figura 5, el eje de
abscisas corresponde a una tasa de bits erróneos, el eje de ordenadas corresponde al ratio Eb/No en dB, que es el cociente en dB de una energía por bit divida por la densidad espectral de potencia del ruido. Se ha tomado el ejemplo en el que: -después de la codificación, se ha implementado una modulación QPSK (Modulación por Desplazamiento de Fase en Cuadratura) sobre un canal AWGN (Ruido Gaussiano Blanco Aditivo); -la trama 102 sólo comprende dos clases 1021 y 1022 codificadas.
10
15
20
25
30
35
40
E12715860
28-07-2014
En la Figura 5, existe un ratio 2/3 entre el tamaño de la clase 1022 menos protegida y el tamaño de la trama, y un tamaño de trama de 900 bits.
La curva 11 representa la tasa de bits erróneos asociada con la decodificación de la clase 1021, tras la primera iteración del paso de decodificación de los datos de la clase 1021.
La curva 12 representa la tasa de bits erróneos asociada con la decodificación de la clase 1022, tras la primera iteración del paso de decodificación de los datos de la clase 1022.
La curva 11’ representa la tasa de bits erróneos asociada con la decodificación de la clase 1021, tras la segunda iteración del paso de decodificación de los datos de la clase 1021.
La curva 12’ representa la tasa de bits erróneos asociada con la decodificación de la clase 1022, tras la segunda iteración del paso de decodificación de los datos de la clase 1022.
De este modo, se puede ver que:
-la clase 1021, que es la primera clase que se ha codificado, alcanza tras la primera iteración una muy buena tasa de bits erróneos, dado que está disponible mucha información de redundancia para recuperar los datos de la clase 1021;
-los datos de la clase 1021 codificados en el primer paso de codificación se benefician de una ganancia de decodificación similar a la obtenida en una decodificación de tipo turbo tras la segunda iteración;
-en la primera iteración, la tasa de bits erróneos asociada con los datos de la clase 1022 es bastante baja, porque sólo hay poca información de redundancia disponible para recuperar los datos de la clase 1022;
-después de una iteración, se mejora extraordinariamente la tasa de bits erróneos asociada con los datos de la clase 1022, y ésta es más parecida a la tasa de bits erróneos obtenida para la decodificación de los datos de la clase 1021, beneficiándose en particular de la ganancia de decodificación turbo.
La influencia de una clase más fuertemente codificada sobre una clase menos codificada depende en particular del ratio del tamaño de la primera clase al tamaño de la segunda clase, en número de bits.
Después de cinco iteraciones, se puede obtener por ejemplo una tasa de bits erróneos de 10-2 para una relación señal-ruido menor que 2 dB, con una ganancia de 2,5 dB entre la primera y la última iteración.
Esta propiedad de la invención es especialmente interesante, porque puede verse que cada clase se beneficia de la precisión de decodificación obtenida para las otras clases y del efecto “turbo”.
De esta forma, una clase dada puede estar menos protegida que en la técnica anterior, para una tasa de bits erróneos dada.
Se puede ver entonces que, para obtener una tasa de bits erróneos dada, se pueden transmitir menos datos de redundancia que en la técnica anterior.
De esta forma, se incrementa la capacidad de un canal de transmisión para una cobertura dada.
De esta forma, se incrementa el alcance del canal de transmisión para una capacidad dada.
Por supuesto, la invención no está limitada a los ejemplos que acaban de describirse y se pueden proporcionar numerosas mejoras a estos ejemplos sin salir del alcance de la invención.
Por ejemplo, se puede considerar cualquier tipo de decodificación que implemente en particular diferentes fases de realimentación.
Por ejemplo, la invención se puede combinar con técnicas ya existentes, por ejemplo con técnicas de perforación, que consisten en borrar bits de la trama ya codificada para incrementar el ratio de codificación. En este caso, se puede reducir la redundancia del código para cada clase.
La invención también se puede combinar con técnicas de la técnica anterior que consisten en separar datos de una misma trama, pero reuniendo cada paquete de datos varias clases y siendo apropiado cada paquete de datos para ser procesado de acuerdo con la invención.
Claims (15)
- E1271586028-07-2014REIVINDICACIONES1. Método (100) de codificación de corrección de errores para codificar en serie datos (30) digitales de origen, que tienen la forma de una trama (102), en el cual dichos datos pueden estar clasificados en N clases, siendo N un número entero igual a al menos 2, caracterizado por que comprende:5-un primer paso (1101) de codificación de convolución sistemática recursiva de los datos de la clase 1 (1021);-una implementación de los siguientes pasos, para cada n desde 1 hasta M, donde M es un número entero positivo igual o menor que N-1:-mezclado n-ésimo (108n+1) de un conjunto formado por los datos de la clase n+1 (102n+1), los datos10 sistemáticos y los datos de paridad de un paso de codificación anterior;-codificación (n+1)-ésima (110n+1) de convolución sistemática recursiva de datos formados por el resultado del mezclado n-ésimo.
- 2. El método (100) de codificación de acuerdo con la reivindicación 1, caracterizado por que se asigna un nivelde prioridad a cada una de las clases (1021, 1022, 1023, 102i), ordenándose las clases 1 a N en orden 15 decreciente de sus niveles de prioridad.
-
- 3.
- El método (100) de codificación de acuerdo con la reivindicación 1 ó 2, caracterizado por que cada paso (108n+1) de mezclado consiste en un entrelazado.
-
- 4.
- Dispositivo de codificación para implementar el método (100) de codificación de corrección de errores en serie de acuerdo con cualquiera de las reivindicaciones anteriores, capaz de codificar datos (30) digitales
20 de origen que tengan la forma de una trama (102), donde dichos datos pueden estar clasificados en N clases (1021, 1022, 1023, 102i), siendo N un número entero definido para que sea igual a al menos 2, y caracterizado por que comprende:-un primer módulo de codificación de convolución sistemático recursivo para la codificación de datos a codificar formados por los datos de la clase 1 (1021); y25 -y hacer que n vaya desde 1 hasta M, donde M es un número entero positivo igual o menor que N-1, M conjuntos formados cada uno por un mezclador n-ésimo seguido por un módulo (n+1)-ésimo de codificación de convolución sistemático recursivo, estando el mezclador n-ésimo diseñado para recibir los datos de la clase n+1 (102n+1), los datos sistemáticos y los datos de paridad de un módulo de codificación anterior, y estando el (n+1)-ésimo módulo de codificación diseñado para la codificación de datos a codificar formados30 por la salida del mezclador n-ésimo. - 5. Método (500) para decodificar datos digitales, caracterizado por que está diseñado para decodificar datos digitales codificados en conformidad con un método de acuerdo con cualquiera de las reivindicaciones 1 a
- 3.
- 6. El método (500) de decodificación de acuerdo con la reivindicación 5, caracterizado por que para cualquier 35 j, k, l entre M+1 y 1:-cada paso j-ésimo (110j) de codificación del método de acuerdo con cualquiera de las reivindicaciones 1 a 3 corresponde a un paso j (510j) de decodificación, adaptado para decodificar datos codificados producidos en el paso j-ésimo de codificación;-al final de cada paso j de decodificación, se obtienen por un lado datos denominados “blandos” para una40 evaluación de los datos de la clase j, y se obtienen por otro lado datos extrínsecos;y caracterizado por que se implementan los siguientes pasos:-decodificación k; y a continuación-decodificación l ≠ k en función de al menos un dato extrínseco proporcionado por al menos otro paso de decodificación, usado como un dato a priori.45 7. El método (500) de decodificación de acuerdo con la reivindicación 6, caracterizado por que para cualquier j entre M+1 y 2, el método comprende además después de cada paso j de decodificación, las siguientes operaciones:-desmultiplexado j (514j) de los datos extrínsecos obtenidos en el paso j de decodificación, para separar datos relacionados con datos de paridad de datos denominados útiles relacionados con datos sistemáticos,50 -desenredado j-1 (512j) de dichos datos útiles, realizando el desenredado j-1 una función inversa a la función implementada en el paso j-1 de mezclado (108j), para proporcionar datos desenredados;15510152025303540E1271586028-07-2014-desmultiplexado de los datos desenredados para separar datos a priori relacionados con la clase j denominados datos extraídos de datos a priori relacionados con las clases 1 a j-1 denominados datos a priori útiles;-proporcionar datos a priori útiles para que sean usados en el paso j-1 de decodificación.
- 8. El método (500) de decodificación de acuerdo con la reivindicación 6 ó 7, caracterizado por que para cualquier j entre M+1 y 2, después de cada paso j de decodificación, el método comprende además las siguientes operaciones:-desenredado j-1 (516i) de los datos blandos obtenidos, realizando el desenredado j-1 una función inversa a la función implementada en el paso j-1 de mezclado (108j), para proporcionar datos blandos desenredados;-desmultiplexado de los datos blandos desenredados para separar datos blandos relacionados con la clase j denominados datos blandos extraídos de datos blandos relacionados con las clases 1 a j-1.
-
- 9.
- El método (500) de decodificación de acuerdo con cualquiera de las reivindicaciones 6 a 8, caracterizado por que al menos un paso j de decodificación (510j-1) se repite al menos una vez, en función de datos a priori correspondientes a datos extrínsecos proporcionados por al menos un paso de decodificación de los datos de otra clase.
-
- 10.
- El método (500) de decodificación de acuerdo con la reivindicación 9, caracterizado por que para j entre M+1 y 2 y t estrictamente menor que j, el paso j de decodificación (510j) se repite en función de datos a priori obtenidos en los pasos de decodificación t a j-1.
-
- 11.
- El método (500) de decodificación de acuerdo con la reivindicación 9, caracterizado por que para j entre M y 1 y t estrictamente mayor que j, el paso j de decodificación (510j) se repite en función de datos a priori obtenidos en los pasos de decodificación t a j+1.
-
- 12.
- El método (500) de decodificación de acuerdo con la reivindicación 9, caracterizado por que una fase de decodificación comprende los siguientes pasos:
-el paso M+1 de decodificación (510M+1) se repite en función de datos a priori obtenidos en los pasos 1 a M de decodificación;-los pasos M a 1 de decodificación se repiten usando datos a priori correspondientes a datos extrínsecos proporcionados por el paso de decodificación anterior, de tal manera que los pasos de decodificación M+1 a 1 (510M+1→1) constituyen una fase de decodificación;y caracterizado por que la fase de decodificación se repite al menos una vez. -
- 13.
- Dispositivo de decodificación caracterizado por que está adaptado para implementar el método (500) de decodificación de acuerdo con cualquiera de las reivindicaciones 5 a 12, comprendiendo dicho dispositivo M+1 módulos de decodificación, siendo capaz cada módulo j de decodificación de decodificar datos codificados producidos en el paso j-ésimo de codificación (110j) del método de acuerdo con cualquiera de las reivindicaciones 1 a 3, y proporcionando cada módulo j de decodificación datos extrínsecos que pueden ser usados como datos a priori por otro módulo de decodificación, y al menos un dato “blando” para una evaluación de la clase j.
-
- 14.
- Producto de programa informático que comprende instrucciones para realizar los pasos del método de codificación de acuerdo con cualquiera de las reivindicaciones 1 a 3, cuando se ejecuta en un dispositivo informático.
-
- 15.
- Producto de programa informático que comprende instrucciones para realizar los pasos del método de decodificación de acuerdo con cualquiera de las reivindicaciones 5 a 12, cuando se ejecuta en un dispositivo informático.
16
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR1152105A FR2972876B1 (fr) | 2011-03-15 | 2011-03-15 | Procede d'encodage correcteur d'erreur, procede de decodage et dispositifs associes. |
| FR1152105 | 2011-03-15 | ||
| PCT/EP2012/054499 WO2012123516A2 (en) | 2011-03-15 | 2012-03-14 | Error correction encoding method, decoding method and associated devices |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2486324T3 true ES2486324T3 (es) | 2014-08-18 |
Family
ID=44318124
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES12715860.8T Active ES2486324T3 (es) | 2011-03-15 | 2012-03-14 | Método de codificación de corrección de errores, método de decodificación y dispositivos asociados |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US8904264B2 (es) |
| EP (1) | EP2686963B1 (es) |
| CA (1) | CA2828799C (es) |
| ES (1) | ES2486324T3 (es) |
| FR (1) | FR2972876B1 (es) |
| WO (1) | WO2012123516A2 (es) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US12462193B2 (en) * | 2022-09-28 | 2025-11-04 | International Business Machines Corporation | Multi-objective work prioritization for common assets |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| FR2675971B1 (fr) | 1991-04-23 | 1993-08-06 | France Telecom | Procede de codage correcteur d'erreurs a au moins deux codages convolutifs systematiques en parallele, procede de decodage iteratif, module de decodage et decodeur correspondants. |
| FI97837C (fi) | 1995-04-11 | 1997-02-25 | Nokia Mobile Phones Ltd | Tiedonsiirtomenetelmä sekä lähetin |
-
2011
- 2011-03-15 FR FR1152105A patent/FR2972876B1/fr not_active Expired - Fee Related
-
2012
- 2012-03-14 CA CA2828799A patent/CA2828799C/en not_active Expired - Fee Related
- 2012-03-14 EP EP12715860.8A patent/EP2686963B1/en active Active
- 2012-03-14 WO PCT/EP2012/054499 patent/WO2012123516A2/en not_active Ceased
- 2012-03-14 US US14/004,800 patent/US8904264B2/en active Active
- 2012-03-14 ES ES12715860.8T patent/ES2486324T3/es active Active
Also Published As
| Publication number | Publication date |
|---|---|
| EP2686963A2 (en) | 2014-01-22 |
| US20140006909A1 (en) | 2014-01-02 |
| US8904264B2 (en) | 2014-12-02 |
| FR2972876B1 (fr) | 2013-03-22 |
| WO2012123516A3 (en) | 2013-05-02 |
| WO2012123516A2 (en) | 2012-09-20 |
| FR2972876A1 (fr) | 2012-09-21 |
| EP2686963B1 (en) | 2014-06-25 |
| CA2828799C (en) | 2015-02-03 |
| CA2828799A1 (en) | 2012-09-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP3516808B1 (en) | Method and device for parallel polar code encoding/decoding | |
| US10673468B2 (en) | Concatenated and sliding-window polar coding | |
| KR101110586B1 (ko) | 연결된 반복 및 대수 코딩 | |
| CN113708775B (zh) | 利用分段式的冗余校验对控制信令进行编码和解码 | |
| US11171741B2 (en) | Polar code transmission method and apparatus | |
| US10075197B1 (en) | Method and apparatus for transmitting hamming weight and codeword | |
| KR20080033381A (ko) | 검사 행렬 생성 방법, 부호화 방법, 복호 방법, 통신 장치,통신 시스템, 부호화기 및 복호기 | |
| EP1589663A1 (en) | System, apparatus and method for transmitting and receiving data coded by low density parity check code having variable coding rate | |
| KR20180122255A (ko) | 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치 | |
| ES2486324T3 (es) | Método de codificación de corrección de errores, método de decodificación y dispositivos asociados | |
| KR100651847B1 (ko) | 다중 순환 부호화를 이용한 터보 부호의 부호화/복호 장치및 방법 | |
| CN113315527B (zh) | 用于信道编码中的解码操作的解码装置和解码方法 | |
| CA2827347C (en) | Error correction encoding method, decoding method and associated devices | |
| CN104410428A (zh) | 一种基于分时的分组马尔可夫叠加编码的多码率码编码方法 | |
| CA2827338C (en) | Error correction encoding method, decoding method and associated devices | |
| Cummins et al. | Iterative threshold decoding of spatially coupled, parallel-concatenated codes | |
| Qin et al. | Adaptive ordered statistic decoding of polar codes for URLLC systems | |
| BR112018014928B1 (pt) | Método para comunicação sem fio e aparelho para comunicação sem fio |