ES2386449B1 - Procedimiento y dispositivo de comunicación de datos a través de medios ruidosos mejorado. - Google Patents
Procedimiento y dispositivo de comunicación de datos a través de medios ruidosos mejorado. Download PDFInfo
- Publication number
- ES2386449B1 ES2386449B1 ES201030066A ES201030066A ES2386449B1 ES 2386449 B1 ES2386449 B1 ES 2386449B1 ES 201030066 A ES201030066 A ES 201030066A ES 201030066 A ES201030066 A ES 201030066A ES 2386449 B1 ES2386449 B1 ES 2386449B1
- Authority
- ES
- Spain
- Prior art keywords
- matrix
- bits
- parity
- information
- noisy
- 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 - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000004891 communication Methods 0.000 title claims abstract description 20
- 239000011159 matrix material Substances 0.000 claims abstract description 141
- 230000005540 biological transmission Effects 0.000 claims abstract description 20
- 239000013598 vector Substances 0.000 claims description 31
- FGRBYDKOBBBPOI-UHFFFAOYSA-N 10,10-dioxo-2-[4-(N-phenylanilino)phenyl]thioxanthen-9-one Chemical compound O=C1c2ccccc2S(=O)(=O)c2ccc(cc12)-c1ccc(cc1)N(c1ccccc1)c1ccccc1 FGRBYDKOBBBPOI-UHFFFAOYSA-N 0.000 claims 3
- 238000005516 engineering process Methods 0.000 abstract description 2
- 125000004122 cyclic group Chemical group 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000006872 improvement Effects 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
Classifications
-
- 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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 using multiple parity bits
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
Perfeccionamiento del objeto de la solicitud P200900343 con título ?Procedimiento y dispositivo de comunicación de datos a través de medios ruidosos?, para mejorar la protección frente a errores en la transmisión de información a través de un canal o medio de transmisión ruidoso. El procedimiento y dispositivo mejorado consiste en la utilización de un nuevo tipo de estructura de la matriz de paridad para la tecnología de códigos de paridad de baja densidad (Low Density Parity Check Codes) en la codificación y decodificación de datos, que mejora las prestaciones de corrección de errores sin aumentar la complejidad de la implementación hardware.
Description
PERFECCIONAMIENTO DEL OBJETO DE LA SOLICITUD P200900343 CON TÍTULO "PROCEDIMIENTO Y DISPOSITIVO DE COMUNICACIÓN DE
DATOS A TRAVÉS DE MEDIOS RUIDOSOS"
CAMPO DE LA INVENCIÓN
La presente invención se aplica al campo de la transmisión de datos, y más concretamente, a la comunicación de datos a través de medios ruidosos , esto es , medios de comunicación o canales que pueden introducir errores en la comunicación .
ANTECEDENTES DE LA INVENCIÓN
En entornos de comunicación es usual que el medio de transmisión o señales externas introduzcan errores en la señal . Dichos errores deben ser detectados y, si es posible, corregidos en recepción para recuperar la información correcta . Existen múltiples formas de incluir detección y corrección de errores en el estado del arte, siendo una de ellas la codificación y decodificación de la información basada en códigos de paridad de baja densidad
- (Low-Density
- Parity-Check codes ) para la corrección de
- errores .
- Los
- códigos de paridad de baja densidad
- (denominados
- LDPC o low-density parity-check code) son
códigos de corrección de errores que se utilizan en la transmisión de mensajes sobre canales de transmisión ruidosos . Estos códigos introducen cierta redundancia en el mensaje (se envía un número de bits mayor que el del mensaje original) , pero de tal forma que en recepción es posible detectar si hay errores en el mensaje recibido y corregirlos .
Un código LDPC es un código cuya matriz de paridad es poco densa, es decir la gran mayoría de los elementos de la misma son ceros . Este tipo de códigos fueron publicados
por primera vez a principios de la década de los sesenta, por Robert G. Gallager "Low Density Parity Check Codes,"
M. l . T. Press , 1963 , y demostraron tener prestaciones muy cerca del conocido límite de Shannon (máximo teórico de la tasa de transmisión de datos) . Sin embargo, con la definición original de los códigos y la tecnología de la época no era posible una implementación asequible con una complejidad adecuada . Recientemente, gracias a la evolución de los circuitos integrados y a la invención de matrices estructuradas, estos códigos han vuelto a ser de gran interés .
En el estado del arte existen múltiples métodos para realizar la codificación y decodificación frente a errores . Algunos métodos son los publicados en la patentes US 7, 343,548B2 y US 7, 203,897B2, ambas de título "Method and ilppilriltus for encoding ilnd decoding dutu" que presentu sendos métodos para mejorar la protección frente a errores en la transmisión de datos . También se puede relacionar la invención con los estándares IEEE802 . 16e y 802 . 11n, que presentan codificación y decodificación para reducción de errores .
Es conocido en el estado del arte que tener columnas con peso Hamming igual o menor que 2 en la matriz de paridad restringe las prestaciones de los códigos LDPC . Sin embargo, por causas de complejidad de implementación
del codificador, matrices con una sección " bl de doble diagonal han sido usadas en el estado del arte .
Sigue e xistiendo no obstante en el estado de la técnica la necesidad de un método de codificación que incremente la robustez de la corrección de errores de las transmisiones sin con ello aumentar la complejidad del hardware en la implementación del dispositivo de protección frente a errores .
La presente invención se refiere a mejoras introducidas sobre el objeto de la solicitud P200900343 , la cual presenta un método y sistema que soluciona los problemas anteriores , pero en la cual sigue e x istiendo la necesidad de matrices de codificación adicionales a las ahí presentadas que permitan ofrecer alternativas e incluso optimizar dicha invención .
A lo largo de este documento se utiliza una nomenclatura específica para diferenciar los elementos utilizados a lo largo de la descripción de la invención . Una letra mayúscula y en negrita (por ejemplo, A) indica
- que
- el elemento es una matriz ; una letra minúscula y
- negrita
- (por ejemplo, a ) indica que el elemento es un
- vector,
- mientras que una letra minúscula y sin negrit a
- (ejemplo
- a) indica que el elemento es un valor escalar .
Por otra parte, los elementos escalares que componen una
matriz de dimensiones M xN se indican de la forma a(i.j)
donde la tupla (i.j) es la posición de dicho elemento dentro de la matriz siendo 05i5M~1 el número de fila y 0 5j5N -1 el número de columna . Los elementos que componen un vector
a(i)
de dimensión M se anotan de la forma siendo (i) la posición del elemento en el vector (O'5.i.'5.M-l).
Además , a lo largo de la invención se utiliza el término rotación cíclica, que se define a continuación. Una rotación cíclica z sobre un vector a~[a(O),a(I), ...,a(M -2),a(M -1)] consiste en rotar ciclicament e sus elementos hacia la derecha obteniendo el vector [a«M-z)%M)•...• a«M-z-l)%M)] como resultado, siendo % el operador "módulo" . De la misma forma , una rotación cíclica z aplicada sobre una matriz A = [a(O),.....a(N -1)] opera sobre sus columnas obteniendo la matriz
[a((N -z)% N ), ... ,a(( N -z -l)%N)] como resultado . La rotación cíclica también puede definirse en el sentido contrario (hacia la izquierda) de forma que una rotación cíclica z
- hacia
- la derecha es equivalent e a una rotación cíclica
- M -z
- Y N -z respectivamente para vec tor y matriz hacia la
- izquierda .
DESCRIPCIÓN DE LA INVENCIÓN
Para lograr los objetivos y evitar los i n convenientes indicados en anteriores apartados, la i nvención consist e en un procedimiento y dispositivo para la comunicación de datos a través de medios ruidosos . Concretamente, la invención presenta un procedimiento de codificación de datos utilizado en transmisión, su dispositivo de codificación asociado, un procedimiento de decodificación, y su dispositivo de decodificación asociado . Este grupo de invenciones forman un único concepto inventivo, que se describe a continuación . Si el procedimiento o dispositivo se utiliza en transmisión, el equivalente también deberá utilizarse en recepción, y viceversa, para poder recuperar la información enviada .
El procedimiento de codificación de datos se aplica en transmisión y genera bits de paridad sobre un bloque de información de forma que de una palabra de K bits se genera una palabra código de N bits (N)K) que incluye la protección frente a errores . Dicho procedimiento comprende múltiples pasos . Primero se selecciona un factor b que es un número natural entre 1 y K de forma que la división de N Y K entre el factor b sean números naturales (n=N/bi k-K/b) . A continuación se define una matriz modelo binaria
de tamaño (n-k ) x n como la combinación de una submatriz correspondiente a las posiciones de los bits de información Ha Y de una submatriz correspondiente a los
bits de paridad Hb l donde dicha segunda submatriz se compone de un vector columna de n-k
posiciones hbO Y una matriz " bl con estructura triple diagonal, esto es, donde los elementos de las dos diagonales centrales (i,i), (i+ J,i), 05.is.n-k-2 y de la
hb1 hb1
diagonal de la última línea hbJn-k-l,O) son iguales a 1 , siendo n-k el número de filas y columnas de la matriz
"b
I
Y el resto de elementos son iguales a cero . Después , se genera la matriz compacta "1y a partir de ella la matriz de paridad H A partir de ahí se toma un bloque de
información y se util iza la matriz de paridad H sobre el bloque de información para determinar los bits de paridad correspondientes a dicho bloque . Finalmente se transmiten los bits de paridad junto con el bloque de información . En una implementación del procedimiento es posible eliminar uno o más elementos de la palabra código antes de ser transmitidos, reduciendo la redundancia en la transmisión sin empeorar gravemente la capacidad de protección frente a errores . Esta técnica se denomina "técnica de pinchado" (puncturing) . En este caso la palabra transmitida tendrá un número de bits menor que la palabra código obtenida con el procedimiento inicial . El dispositivo de codificación de datos comprende medios para almacenar la matriz compacta HI derivada de
una matriz modelo binaria " o :::: [Ha I" b] formada como la combinación de una submatriz correspondiente a las posiciones de los bits de información Ha Y de una submatriz correspondiente a los bits de paridad " b' donde
dicha segunda submatriz Hb ~ [hb<lIHbll se compone de un
vector columna de n-k posiciones y una estructura " bl
hbO
triple diagonal , esto es , donde los elementos de las dos diagonales centrales hbI U,i) , hbl (i+ l,i), 05,iS.n-k-2 y de la
diagonal de la última línea hb¡{n -k-l,O) son iguales a 1 , siendo n-k el número de filas y columnas de la matriz " b ' Y el resto de elementos son iguales a cero¡ y de un
microprocesador que toma el bloque de información, ut iliza l a matriz compacta "1para generar la matri z de paridad H , aplica la matriz de paridad H al bloque de información para obtener los bits de paridad correspondientes a dicho
bloque y añade los bits de paridad al bloque de información antes de ser transmitidos .
En una implement ación concreta de este dispositivo se eliminan uno o más elementos de la palabra código tras añadir los bits de paridad al bloque de información pero antes de realizar la transmisión, aplicando la técnica de pinchado . De esta forma la palabra transmitida tendrá un número de bits menor que la palabra código generada originalmente .
Por otro lado el procedimiento de decodificación de datos opera en recepción y estima cuál es el bloque de información recibido a partir de un vector de señal recibido del canal . A partir de una palabra código recibida de N bits (que puede tener errores debido al ruido del canal) se obtiene la palabra de información de K bits que el transmisor quería enviar . Este procedimiento inicialmente toma un vector de señal del canal y la matriz
modelo binaria que es una combinación de una submatriz correspondiente a las posiciones de los bits de información Ha Y de una submatriz correspondiente a los bits de paridad donde dicha segunda submatriz se compone de un vector columna de n-k
posiciones hbO y una estructura H bl tripl e diagonal, esto
- es I
- donde los elementos de las dos diagonales centrales
- h" (i,i) ,
- h" (i+ l,i), 05:i$n -k -2 y de la diagonal de la última
- línea
- hb¡{n-k -l,O) son iguales a 1, siendo n-k el número de
filas y columnas de la matriz " b' Y el resto de elementos son iguales a cero . Después genera la matriz compacta "1y a partir de ella la matriz de paridad H , Y finalmente estima el bloque de información a partir del vector de señal recibido y de la matriz de paridad H . Si en transmisión se utilizó la técnica de pinchado, es necesario recuperar la información perdida en recepción . En esta caso, se inserta un valor indicador en las posiciones eliminadas por la técnica de pinchado en transmisión , antes de realizar la estimación del bloque de información a partir del vector de señal recibido y de la matriz de paridad . El dispositivo de decodificación de datos comprende medios para almacenar la matriz compacta "1
derivada de una matriz modelo binaria ", =[".1",] formada como la combinación de una submatriz correspondiente a las posiciones de los bits de información " y de una submatriz correspondiente a los bits de paridad "b' donde dicha segunda submatriz H b =[hbQ IH b1] se compone de un vector columna de n-k posiciones h bO y una estructura " bl triple diagonal, esto es , donde los elementos de las dos di agonales centrales h(i,i) , h(i+l,i), O~ i ~ n-k -2 Y de la
b1 b1
diagonal de la última línea hb¡{n-k-I,O) son iguales a 1, siendo n-k el número de filas y columnas de la matriz " b' y el resto de elementos son iguales a cero; un microprocesador que genera la matriz de paridad H a partir de la matriz compacta "1' aplica dicha matriz de paridad H sobre el vector de señal recibido, y estima el bloque de
•
ES 2 386449 Al
información recibido . Si el dispositivo transmisor utilizó la técnica de pinchado , es necesario recuperar la información perdida antes de realizar la corrección de errores . Por lo tanto, S en esta implementación y antes de aplicar la matriz de paridad H sobre el vector de señal recibido se inserta un valor indicador en las posiciones eliminadas por la técnica de pinchado en transmisión . En una implementación es posible utilizar una de 10 las siguientes matrices compactas "1para obtener palabras código de 336 bits con una tasa de codificación de ~. La matriz :
13 -1 1 -1 -1 1 -1 1 -1 -1 -1 -1 -1 o -} -1 -1 -1 -} -1 -1 -1 -1 -1 S -1 -1 -1 11 -1 -1 -1 4-1 6 -1 o o -1 -1 -1 -1 -1 -1 -1 -1 -1 15 -1 13 -1 -1 -1 -1 II -1 10 -1 9 13 -} -1 o o -} -1 -} -1 -} -1 -} -} -1 -1 13 -1 -1 6 -1 10 -1 5 -1 -1. 4 -1 -1 o o -1 -1 -1 -1 -1 -1 -1 -} -1 2 11 -} -1 -} -1 -} -1 -1 -1 -1 -1 o o -1 -1 -1 -1 -1 -1
o o
-1 -1 9 -1 -1 -1 -1 -1. -1 -1 -1 -1 -1 -1 o o -1 -1 -1
20 2 -1 13 -1 9 -1 -1 -1 -1 -1 -1. -1 -1 -1 -1 -1 -1 -1 o o -1 -1 -1 -1 11 -1 -1 -1 -1 -1 -1 4 11 12 -1 -1 -1 -1 -1 -1 -1 -1 o o -1 -1 -1 -1 -1 10 -1 -1 -1 -1 1 -1 13 13 -1 -1 -1 -1 -1 -1 -1 -1 -1 O O -1 -1 -1 O -1 -1 O 2 2 -1 -1 -1 -1. O -1 -1 -1 -1 -1 -1 -1 -1 -1 O O -1 -1 -1 -1 -1 -1 -1 -1 2 11 2 4 12 -1 -1 -1 -1 -1 -1 -1 -1 -1 o
o bien la matriz :
-1 -1 -1 6 -1 -1 9 6 -1 -1 2 -1 -1 o -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 O -1 -1 -1 3 -1 12 1 -1 -1 3 -1 O o -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 9 11 -1 -1 13 -1 -1 2 12 -1 -1 -1 -1 O O -1 -1 -1 -1 -1 -1 -1 -1 30 1 -1 -1 11 -1 -1 , -1 -1 -1 11 -1 -1 -1 -1 O O -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 4 a -1 -1 -1 -1 -1 2 S 4 -1 -1 -1 O O -1 -1 -1 -1 -1 -1 -1 3 O -1 -1 a -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 O o -1 -1 -1 -1 -1
-1 -} -1 O 6 -} -1 -} -1 5 13 -} -1 -1 -} -1 -1 -1 o o -1 -} -1 -1 -1 -} -1 9 -1 -} -1 3 -1 -} -1 -1 -1 -1 -1 -1 -1 O O -1 -1 -1
35 9 O 13 -1 -1 12 -1 -1 8 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 O O -1 -1
- -
- 1 5 -1 -} 4 -1 -} 5 -} -1 -} -1 -1 -1 -1 -1 -1 -1 -1 -1 o o -1
-1 -1 -1 8 -1 -1 8 -1 -1 9 O -1 O -1 -1 -1 -1 -1 -1 -1 -1 -1 O O
10 11 -1 -1 -1 3 -1 -1 O -1 -1 -1 8 -1 -1 -1 -1 -1 -} -1 -1 -1 O
40 En otra implementación es posible utilizar una de las siguientes matrices compactas "1para obtener palabras código de 1920 bits con una tasa de codificación de 1/2 . La 45 matriz :
- -
- 1 52 -1 64 -1 -1 60 -1 -1 -1 -1 1. -1 O -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
ES 2 386449 Al
10 -1 -1 -1 -1 79 -1 -1 19 -1 18 51. -1 O O -1 -1 -1 -1 -1 -1 -1 -1 -1 9 -1 -1 -1 -1 -1 -1 7S 29 72 -1 -1 -1 O O -1 -1 -1 -1 -1 -1 -1 -1 -1 52 16 63 -1 -1 65 -1 -1 -1 -1 -1. 40 -1 -1 o o -1 -1 -1 -1 -1 -1 -1 -1 24 -1 -1 39 -1 -1 -1 -1 -1. -1 -1 -1 -1 O O -1 -1 -1 -1 -1 -1
" 1 -1 -1 -1 -1 -1 -1 -1 53 79 48 -1. -1 -1 -1 -1 -1 O o -1 -1 -1 -1 -1
- -
- 1 O -1 -1 -1 61 51 -1 -1 -1 -1. -1 -1 -1 -1 -1 -1 O O -1 -1 -1 -1 -1 -1 -1 -1 SO -1 -1 -1 -1 15 -1 -1 -1 -1 -1 -1 -1 O O -1 -1 -1
"
15 -1 19 -1 -1 -1 -1 -1 7S SI 43 -1. -1 -1 -1 -1 -1 -1 -1 -1 O O -1 -1 12 -1 -1 -1 38 -1 -1 -1 69 -1 62 -1. -1 -1 -1 -1 -1 -1 -1 -1 -1 O O -1 -1 19 -1 41 -1 -1 41 -1 -1 -1 -1. O -1 -1 -1 -1 -1 -1 -1 -1 -1 O O 41 -1 11 -1 -1 -1 -1 -1 15 -1 30 -1 40 -1 -1 -1 -1 -1 -1 -1 -1 -1 O
O bien la matriz :
27 -1 -1 -1 55 19 -1 ~ -1 -1 -1 -1 -1 o -1 -1 -1 -1 -1 -] -1 -1 -1 -1 -1 -1 o -1 1 -1 70 -1 47 -1 62 -1 -1 o o -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 41 -1 -1 -1 44 -1 -1 59 W 25 -1 -1 o o -1 -1 -1 -1 -1 -1 -1 -1 16 77 -1 -1 -1 -1 48 -1 -1 -1 -1 -1 -1 -1 o o -1 -1 -1 -1 -1 -1 -1
- -
- } -} -} 45 -} 27 -} 46 }9 -1 -} -1 -1 -} -1 -1 o o -1 -1 -1 -} -1 -} -} -1 63 -1 -} -} 55 -1 -} -1 48 26 }O -} -1 -1 -1 o o -1 -1 -} -1 -} -1 -1 -1 42 -1 21 -1 58 -1 41 -1 -1 -1 -1 -1 -1 -1 -1 o o -1 -1 -1 -1 -1 -1 -1 -1 79 o -1 7 S2 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 o o -1 -1 -1 -1 29 -1 -1 -1 37 -1 -1 -1 35 21 -1 -1 -1 -1 -1 -1 -1 -1 o o -1 -1 -1 -1 22 72 -1 -1 47 -1 -1 -1 o -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 o o -1 35 -1 -1 -1 -1 13 -1 35 -1 70 -1 -1 o -1 -1 -1 -1 -1 -1 -1 -1 -1 o o -1 46 28 -1 -1 -1 38 -1 -1 -1 -1 10 59 -1 -1 -1 -1 -1 -1 -1 -1 -1 O
En otra implementación es posible utilizar una de
las siguientes matrices compactas "1 para obtener palabras
código de 8640 bits con una tasa de codificación de 1/2 . La
matriz :
~"'~"~I "_~ O~~~~~~~~~~
290 O 312 -1 32 -1 120 -1 -} -1 -} -1 -} o o -1 -} -1 -} -1 -} -1 -} -} 183 57 -} -} 187 68 -} -} -} -} 260 -1 8} -} o o -} -} -} -1 -} -} -} -} -1 -1 -1 323 -1 -1 -1 137 3S4 -1 -1 162 -1 -1 -1 o o -1 -1 -1 -1 -1 -1 -1 -} -1 228 -1 -} -} -} 224 -} 114 -} 245 -} -1 -} -1 o o -} -1 -} -} -} -}
113 98 120 23 O O 1 -} -1 -} -1 -} -} -} 138 -} 187 45 62 -} -1 -1 -1 -} -1 o o -} -} -} -}
-1 -1 142 -1 -1 -} 347 67 -1 -} -1 46 -1 -1 -1 -1 -1 -1 -1 O O -1 -1 -1 n9 265 -1 66 156 96 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 O O -1 -1 212 184 -} -} }02 -} -} -} -} }20 -} -1 -} -1 -} -1 -} -} -} -1 -} o o -}
-1 -1 -1 -1 -1 -1 -1 90 15 -1 329 153 o -1 -1 -1 -1 -1 -1 -} -1 -1 o o 207 70 -} 7 235 -} -} -1 -1 -} -} -1 8} }85 -} -1 -} -1 -} -1 -} -1 -} o
o bien la matriz :
- -
- 1 34 -1 95 -1 279 -1 -1 -1 -1 249 -1 -1 O -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -} -} O-} O -} -} -} -} 134 356 275 -} O o -1 -} -} -1 -1 -1 -} -} -} 51 -1 27 -1 -1 -1 -1 -1 22 152 -1 57 -1 -1 o o -1 -1 -1 -1 -1 -1 -1 -1 -1 }24 -1 290 -1 281 15 -} -1 -} -1 -1 -} -1 -} o o -1 -} -1 -} -} -} -1 -1 340 -1 99 336 -} -1 -1 -1 -1 -1 33 -1 -1 -1 o o -} -1 -} -1 -1 -1 163 -} 46 -} -1 -} -1 -} -1 306 -1 86 -} -1 -} -1 -1 o o -1 -} -} -1 -} -1 lBS -1 24 -1 -1 -1 94 o -1 -1 -1 -1 -1 -1 -1 -1 -1 o o -1 -1 -1 -1 -1 223 -1 225 325 -} -1 -1 -1 -} 297 -1 -} -1 -1 -1 -} -1 -1 o o -} -} -} 46 -1 314 -} -1 -} 59 -} -1 67 -1 120 -} -1 -} -1 -} -1 -} -1 o o -1 -} -} -1 }21 -1 -1 -1 -1 161 -1 303 -1 264 -1 -1 -} -1 -} -1 -} -1 -} o o -} -1 303 -1 -1 185 -1 -} 138 -} -1 -1 o -1 -} -1 -1 -} -} -1 -} -} o o
ES 2 386449 Al
-1 -1 312 -1 -1 -1 100 -1 -1 144 -1 307 33 166 -1 -1 -1 -1 -1 -1 -1 -1 -1 O
En otra implementación es p osible utilizar la siguiente matriz compacta para obtener palabras código
H1
de 1440 bits con una tasa de codificación de 2/3
49 -1 -1 21 31 -1 57 -1 -1 19 -1 29 2 -1 19 -1 -1 o -1 -1 -1 -1 -1 -1 -1 7 22 -1 -1 37 -1 32 10 -1 26 -1. -1 59 -1 48 -1 o o -1 -1 -1 -1 -1 53 -1 -1 20 50 -1 -1 .3 16 -1 49 -1. -1 28 14 -1 -1 -1 o o -1 -1 -1 -1 -1 5e 23 -1 -1 15 54 -1 -1 5 -1 18 49 -1 -1 13 -1 -1 -1 o o -1 -1 -1 55 -1 -1 S8 -1 9 -1 26 57 -1 41 -1. 31 -1 21 -1 -1 -1 -1 -1 o o -1 -1 -1 10 49 -1 59 -1 1 -1 -1 JO -1 18 -1 48 -1 7 59 -1 -1 -1 -1 o o -1 48 -1 -1 50 le -1 -1 11 52 -1 59 -1. -1 37 -1 10 o -1 -1 -1 -1 -1 o o -1 24 16 -1 -1 o 53 -1 -1 41 -1 38 51 -1 58 -1 59 8 -1 -1 -1 -1 -1 o
En otra imp lementación es p osible utilizar la siguiente matriz compacta "1 para obtener palabras código de 6480 bits con una tasa de codificación de 2/3 :
78 -1 -1 167 237 -1 3 -1 266 -1 -1 1 n02 153 -1 -1 212 -1 o -1 -1 -1 -1 -1 -1 -1 83 189 -1 -1 68 -1 178 -1 90 205 -1. -1 13 4 -1 -1 o o -1 -1 -1 -1 -1 -1 226 147 -1 46 -1 -1 76 -1 116 -1 211 -1 112 -} 118 -} -1 o o -} -} -} -} 92 -1 -1 214 -1 236 241 -1 }57 -1 143 -1 214 -1 207 -1. -} -1 -} o o -} -} -}
144 -1 -1 258 264 -1 53 -1 114 -1 172 -1. -1 82 262 -1 62 -1 -1 -1 o o -1 -1 -1 153 120 -1 -1 }99 -1 126 -1 61 -1 183 15 -1 -} 134 -1 -1 -} -1 -1 o o -1 -1 100 -1 141 -1 36 -1 17 -1 156 -1 124 162 -1 -1 57 O -1 -1 -1 -1 -1 O O 196 -1 187 -1 73 -1 80 -1 139 -1 57 -1 -1 236 267 -1 62 256 -1 -1 -1 -1 -1 O
En otra implementación es p osible utilizar la siguiente matriz compacta "1 para obtener palabras código de 1152 bits con una tasa de codificación de 5/6 :
- -
- 1 13 32 47 41 24 -1 25 22 40 1 31 8 15 20 15 42 30 13 3 -1 o -1 -1 25 46 15 43 45 29 39 47 23 38 39 12 -} 21 -} 38 33 O O -1 39 O O -} 35 45 45 38 14 16 6 11 -1 18 7 41 35 17 32 45 41 -1 le 17 o -1 o o 9 32 6 22 26 31 9 8 22 32 40 4 18 40 36 -1 -} 23 31 41 39 20 -} O
En otra implementación es posible ut ilizar la siguiente matriz compacta para obtener palabras código
H1
de 5184 bits con una tasa de codificación de 5/6 :
- -
- 1 47 146 203 184 112 -1 116 103 181 3 140 38 68 91 70 191 138 62 14 -1 o -1 -1 117203 67194206133114 212104171 176 56 -1 % -1167149 1 -1177 o o -1 153 206 198 173 55 72 28 53 -1 82 34 186 161 eo 144 204 le7 -1 e4 77 o -1 o o
44 147 27 83 118130 41 38 100 146 183 19 85180 163 -1 -1 106140 les 177 94 -1 o
Una implementación en l a que se utiliza la técnica de pinchado parte de una palabra código con 1152 bits y tasa de codificación de 5/6 y aplica el siguient e
patrón de pinchado
pp~;:;IS) = [1 1 ... 1 O O ... O 1 1 ... 1 O O .•. O1
'-----------v--~~~ 720 36 360 36
para obtener una palabra código de 1080 bits y tasa de codificación de 16/18 .
Otra implementación en la que se utiliza la técnica de pinchado parte de una palabra código con 5184 bits y tasa de codificación de 5/6 y aplica el siguiente patrón de pinchado
pp\\~IS) = [1 1 ... 1 O O ... O 1 1 ... 1 O O ... O 1 1 ... 1 1
'-.r-----' '-.r-----' '-y-----' '-.,.-' '-.r-----' 3240 162 972 162 648
para obtener una palabra código de 4860 bits y tasa de codificación de 16/18 .
Otra implementación en la que se utiliza la técnica de pinchado parte de una palabra código con 1152 bits y tasa de codificación de 5/6 y aplica el siguiente patrón de pinchado
pp:¡;;21) = [1 1 ... 1 O O ... O 1 1 ... 1 O O ... O 1 1 ... 1 1
'-.r-----' '-.,.-' '-v-----" '-v-''-v-------' 720 48 240 % 48
para obtener una palabra código de 1008 bits y tasa de codificación de 20/21 .
Finalmente, una última implementación en la que se utiliza la técnica de pinchado parte de una palabra código con 5184 bits y tasa de codificación 5/6 y aplica el siguiente patrón de pinchado
pp\¡::21) = [O O ... O 1 ... 1 O O ... O 1 1 ... 1 1
- ---------------
- '------y-------~~
216 43W 432 216
para obtener una palabra código de 4536 bits y tasa de codificación de 20/21 .
A continuación, para facilitar una mejor comprensión de esta memoria descriptiva y formando parte integrante de la misma, se acompañan unas figuras en las que con carácter ilustrativo y no limitativo se ha representado el objeto de la invención .
BREVE DESCRIPCIÓN DE LAS FIGURAS Figura 1. -Representa el diagrama de bloques del codificador en el transmisor . Fi.gura 2. -Representa el diagrama de bloques del decodificador en el receptor . Figura 3 . -Muestra el gráfico bipartito de la matriz H del ejemplo . Fi.gura 4. -Representa el diagrama de flujo de la construcción de un código LOPC estructurado .
DESCRIPCIÓN DE UN EJEMPLO DE REALIZACIÓN DE LA INVENCIÓN
Seguidamente se realiza la descripción de un ejemplo de realización de la invención, haciendo referencia a la numeración adoptada en las figuras .
El problema que el procedimiento de invención quiere resolver, desde un punto de vista teórico, consiste en conseguir optimizar la corrección de errores en comunicaciones de datos utilizando implementaciones hardware de bajo coste, utilizando códigos LPDC .
Un código LOPC es un código lineal que opera sobre bloques de información . El código esta definido por su matriz de paridad H. . En este ejemplo de realización los códigos serán códigos binarios, pero es posible generalizar la invención a códigos sobre cualquier campo de Galois
GF(q) , siendo q~2 . En transmisión tendremos bloques de i nformación compuestos por K bits . Dicho bloque de información se denomina u ~ [u(O),II(l), ... ,u(K -1)]. Tras aplicar el procedimiento de invención se generará una palabra de un código lineal
v=[v(O),v(I), ...,v(N -I)] con N bits (donde N>K) . Dicho código se
genera mediante el producto v :;::::: uG siendo G una matriz
I
K xN binaria generadora del código LPDC . El con junto de posibles códigos generados se denominará conjunto e y la
I
tasa de codificación o cadencia del código (rate) será
R=K/N .
Por tanto, es posible definir un código e de tasa de codificación R como el conjunto de vectores VE e
2K
generados por todos los posibles vectores binarios al aplicarles la matriz generadora G. Una definición equivalente sería que e es el espacio vector ial de N dimensiones abarcado por la base compuesta de las K líneas de la matriz C. Otra forma alternativa de definir el código e es mediante su mat r iz de paridad H, que es la forma más empleada en el estado del arte . Esta matriz , de dimensiones (N-K)xN , tiene como líneas la base del
- espacio
- dual e, y por lo tanto GH T =0 . Cualquier vector
- del
- código satisface
- vH T
- = 0
- (siendo
- "TU el operador de transposición).
A la hora de utilizar estos códigos desde un punto de vista práctico, es prefer ible considerar los códigos como códigos sistemáticos, esto es , aquellos en los cuales los bits de la palabra de código están entre los bits de información. Sin perder generalidad este ejemplo se centrará en el caso cuando v=[u lp]' siendo
p = [p(O), p(I), ... , p(N -K -1)] un vector compuesto por los bits de
paridad, u el bloque de información que se quería transmitir y v la palabra código realmente transmitida (tras incluir el código LPDC ).
A continuación se mostrará un ejemplo de
- realización
- en el que puede observarse la relación entre la
- matriz
- de paridad y una palabra del código . En este
- ejemplo,
- el código tiene una tasa de codificación de R:::I / 2
- y
- se define mediante la siguiente matriz de paridad:
- 5
- o 1
- O O O 1
- O O
- 1 O 1 O 1
- H;
- 1 1 O O O 1 O
- O
- O
- O O
- O
- O O
- O
En esta matriz , la sección izquierda corresponde a los K=5 bits de información mientras que la sección derecha corresponde a los N -K =5 bits de paridad.
10 Aplicando la ecuación =0 a la matriz H se obtiene el siguiente sistema de ecuaciones :
urO) + u( l) + u(3)+ prO) + p(3)+ p(4) ; O u(O)+ u(1)+ u(2)+ prO) + p(2) + p(4); O u(O)+ u(I)+u(2)+u(4)+ p(I)+ p(3); O u(2) +u(3) + u(4) + p(O)+ p(l) + p(2) ; O u(3) + u(4) + p(l) + p(2) + p(3) + p(4); O
15 Un código LDPC también puede ser representado de forma gráfica con un grafo bi-partito llamado Tanner-graph . En un grafo Tanner los vértices se clasifican en dos grupos
o conjuntos disjuntos : los " vértices de variables" (variable nodes) , que representan los bits de la palabra 20 del código, y los "vértices de control" (check nodes) que representan las relaciones de paridad. Entre ambos conjuntos de vértices se encuentran las posibles aristas que definen la ecuación de paridad. En el caso del código definido en el ejemplo anterior su grafo correspondiente
25 está representado en la figura 3, donde encontraremos 10 vértices de variables (14) y 5 vértices de control (16) ,
unidos por múltiples aristas (15) . Cada vértice de control está unido por medio de aristas a 6 vértices de variables , tal y como se representa en el sistema de ecuaciones anterior. Es posible observar que el grafo tiene tantos vértices de control y de variables como líneas y columnas tiene la matriz de paridad correspondiente, y que se encontrará una arista entre el vértice de control i y el
vértice de variable j cuando el elemento h(i,j) de la matriz , esto es, el situado en la línea i;;;;; O, ...,N-K-1 y columna j ;:::: O, ... ,N -l , sea distinto de cero .
Por otro lado, es p osible definir ciclos sobre códigos LDPe , donde se define un ciclo de longitud 2c como el camino de 2c aristas de longitud que visita e vértices de control y c vértices de variables en el grafo Tanner que representa al código antes de volver al mismo nodo de inicio . Para optimizar las prestaciones del código, es posible demostrar que es de vj_tal importancia que el número de ciclos cortos sea el mínimo posible . Al ciclo de mínima longitud se le llama lazo (girth) . En particular es deseable que el girth sea mayor de 4 para evitar reducir las prestaciones de un decodificador iterativo .
En la descripción original, R. Gallager presentaba códigos cuyas matrices de paridad eran generadas de forma aleatoria . En el estado del arte es de conocimiento general que para obtener buenas prestaciones, cerca del límite de Shannon, el tamaño del código debe ser relativamente grande y a consecuencia de ello la matriz de
- paridad
- debe de ser de grandes dimensiones . El problema es
- que
- matrices de grandes dimensiones y generadas
- aleatoriamente
- dificultan la implementación tanto del
codificador de como el decodificador . Una forma de evitar esta dificultad es utilizar matrices con una estructura
regular . Para generar una estructura regular se seguirían los siguientes pasos :
1 . -Inicialmente se genera una matriz modelo binaria
HQ de dimensiones (n-k)xn donde n<N , k<K Y R=k/n=K/N .
Si el peso Hamming de las columnas y líneas de "o es constante, el código generado se denomina LDPC regular . Sin embargo, es posible obtener mejores prestaciones si la matriz es irregular, es decir si los pesos de las columnas siguen una distribución estadistica dependiente de la tasa de codificación y del canal donde la transmisión de datos finalmente sea efectuada .
2. -Una vez obtenida la matriz modelo binaria " 01 se genera la matriz compacta K¡ reemplazando cada elemento igual a "1" de "o por un número entero positivo O"::; x < b
(donde b~N/n) de forma pseudo-aleatoria y cada elemento igual a "OH por el valor -l.
3 . -Para obtener la matriz de paridad H, los elementos positivos de se reemplazan por una sub-matriz
H1
i denti dad rotada ciclicamente e l numero de veces indicada por el valor del elemento positivo de en cuestión y los
H1 elementos iguales a -1 son reemplazados por una sub-matriz nula de la misma dimensión . La dimensión de estas submatrices será igualmente bxb.
El resultado es una matriz de paridad H de dimensiones (N -K)xN que defi ne un código LOPC de tasa de codificación R=K/N . El grado de densidad Isparseness) de la matriz dependerá de la magnitud b. Generalmente, cuanto
mayor sea b mejores prestaciones se obtiene usando un decodificador iterativo .
Si los ciclos de la matriz generada (grafo Tanner)
5 resultan ser muy cortos, se repite el paso 2 (o incluso el paso 1 si fuese necesario) con la finalidad de mejorar estas propiedades .
Para facilitar la i mplementación del codificador 10 es necesario generar la matriz modelo binaria "o de una forma específica . Primero se divide dicha matriz en dos
H -[H IH J H.
partes o-b donde la submatriz corresponde a las
a
H,
posiciones de los bits de información y a los bits de paridad . La primera submat riz se genera de forma pseudo15 aleatoria de la forma descrita a nteriormente . Sin embargo, la segunda sección suele ser de carácter determinista. H,
Esta segunda sección según el estado del arte, y para poder diseñar un codificador eficiente tomará una de las siguientes dos formas : la primera forma es
hb(ü)
O ü hb (1)
1 O
ü
hb(n -k-l)
O O
donde la primera sección es un vector columna pseudo-
aleatorio de peso Hammi ng mayor que 2 y una matriz dobl e diagonal cuyos element os hbl (i,j) son iguales a " 1" cuando
e iguales a " O" en el resto de las 25 posiciones .
,.
H,
La segunda forma de generar es totalmente doble diagonal
- o
- o
- 1
- O
- O
- O
- O
donde los elementos de la submatriz hb(i,j) son iguales a i=j i=j+ 1
5 " 1" cuando , e iguales a " O" en el resto de las posiciones . Una vez generado esta estructura de matriz base , la matriz
compacta se genera de la forma anteriormente descrita con la única excepción de que en la parte de doble diagonal H,
10 de , los "1" son reemplazados por un mismo número entero positivo y los \\0" por "-1". Igualmente la matriz de paridad final se obtiene cambiando los enteros positivos por identidades rotadas cíclicamente y los negativos por una submatriz nula . El procedimiento puede observarse
15 gráficamente en la figura 4, donde el bloque (17) genera la Ho
matriz modelo binaria el bloque (18) genera la matriz H,
compacta el bloque (19 ) decide si los ciclos son suficientemente largos, con lo que se pasa a generar la matriz de paridad H con el bloque (20) , o bien si los 20 ciclos son cortos se vuelve a generar la matriz modelo (21)
o bien se vuelve a generar la matriz base (22) .
El procedimiento y dispositivo de invención
25 modifica la estructura de la matriz de paridad conocida en el estado del arte para facilitar la implementación final de la codificación y decodificación y mejorar las
ES 2 386449 Al
prestaciones . Para ello la estructura propuesta consiste en
- que
- la sección de la matriz modelo binaria
- correspondiente
- a los bits de paridad tenga la siguiente
- forma :
h,,(O)
o o
1 O
h,,(l)
O
h,,(n-k -l)
O
donde la estructura H bl es triple diagonal, esto es, además
de los elementos de las dos diagonales centrales hb1 (i,O I
hb1 U+1,i) , el elemento de la diagonal de la última línea
hb1(n-k-J,O) también es igual a " 1" . La matriz compacta se
10 genera de la forma anteriormente descrita salvo que el elemento de la última línea igual a "1n es reemplazado por un entero estrictamente positivo w2: O.
Una matriz modelo binari a "o para r=1/2 con n=24 y k=12 pOdría tener la siguiente estructura :
15 o 00 o 00000 0000000000 000 000 o o 000000000
o 0000 o o 00 00000000 0000 o o 00 00 0000000 o o 0000000000 000000
20 o 000000 o 00000 o o o o o 00 o 00000000000 o o o o o o 0000000000000 o o o
o 000000 00000000 o o o o o o o o o o 000000000 o
25 0000 0000 000000000 00000000 000000000
Una matriz compacta "1derivada de la anterior para un tamaño de bloque N=336 y por tanto con un factor de 30 expansión b=14 sería la siguiente:
13 -1 1 -1 -1 1 -1 1 -1 -1 -1 -1 -1 o -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
S -1 -1 -1 11 -1 -1 -1 4 -1 6 -1 o o -1 -1 -1 -1 -1 -1 -1 -1 -1
ES 2 386449 Al
2 O
- -
- 1 1.3 -1 -1 -1 -1 11 -1 10 -1 9 13 -1 -1 O O -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 13 -1 -1 6 -1 10 -1 S -1 -1 -1 -1 O O -1 -1 -1 -1 -1 -1 -1 -1 -1 8 8 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 o o -1 -1 -1 -1 -1 -1
, "
- -
- 1 .3 -1 -1 -1 -1 -1 -1 , -, , -1 -1 -1 -1 -, O O -1 -1 -1 -1 -1 -1 -1 -, 9 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 O O -1 -1 -1 -1
- -
- 1 13 -1 9 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 O O -1 -1 -1 -1 11 -1 -1 -1 -1 -1 -1 , 11 12 -1 -1 -1 -1 -1 -1 -1 -1 O O -1 -1 -1 -1 -1 10 -1 -1 -1 -1 -1 13 13 -1 -1 -1 -1 -1 -1 -1 -1 -1 O O -1 -1 -1 o -1 -1 o -1 -1 -1 -1 o -1 -1 -1 -1 -1 -1 -1 -1 -1 O O -1 -1 -1 -1 -1 -1 -1 -1 12 -1 -1 -1 -1 -1 -1 -1 -1 -1 O
"
o de manera preferente, puede utilizarse la siguiente matriz como alternativa :
- -
- } -} -} -} -1 9 6 -} -1 -1 -1 o -1 -} -1 -} -1 -} -} -} -} -}
- -
- , o -1 -1 -1 .3 -1 12 -1 -1 .3 -} o o -1 -1 -1 -1 -1 -1 -1 -1 -} -1 9 11 -1 -1 13 -1 -1 12 -1 -1 -1 -1 o o -1 -1 -1 -1 -1 -1 -1 -1
-1 -1 11 -1 -1 -1 -1 -1 11 -1 -1 -1 -1 o o -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 8 -1 -1 -1 -1 -1 -1 -1 -1 o o -1 -1 -1 -1 -1 -1 -1 3 o -1 -1 8 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 o o -1 -1 -1 -1 -1 -1 -1 -1 o 6 -1 -1 -1 -1 5 13 -1 -1 -1 -1 -1 -1 -1 o o -1 -1 -1 -1 -1 -1 -1 9 -1 -1 -1 3 -1 -1 -1 -1 -1 -1 -1 -1 -1 o o -1 -1 -1
9 o 13 -1 -1 12 -1 -1 8 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 o o -1 -1 -1 5 -1 -1 -1 -1 5 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 o o -1 -1 -1 -1 8 -1 -1 8 -1 -1 9 o -1 o -1 -1 -1 -1 -1 -1 -1 -1 -1 O O 10 11 -1 -1 -1 3 -1 -1 o -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 O
Para un tamaño de bloque diferente podemos definir una matriz compacta diferente que puede derivar de la misma matriz modelo binaria o de otra diferente .
Para obtener palabras código de 1920 bits con una tasa de codificación de 1/2 se puede utilizar la matriz :
- -
- 1 52 -1 64 -1 -1 60 -1 -1 -1 -1 1 -1 O -} -1 -} -1 -} -1 -} -1 -} -1
10 -1 -1 -1 -1 " -1 -1 79 -1 78 51. -1 o O -1 -1 -, -, -1 -1 -, -, -, 9 -1 -1 -1 -1 -1 -1 75 29 72 -1 -1 -, O o -1 -, -, -1 -1 -, -, -,
- -
- 1 52 16 63 -1 -1 65 -1 -1 -1 -1 -1 40 -1 -1 o O -1 -1 -1 -1 -1 -1 -1 -1 24 -1 -1 47 39 -1 -1 -1 -1 -1 -} -1 -} -1 O O -} -1 -1 -1 -} -1 52 -1 -1 -1 -1 -1 -1 -1 53 " 48 -1 -} -1 -} -1 -} O O -1 -1 -1 -} -1 -1 O -1 -1 72 -1 67 57 -1 -1 -1 -1 -} -1 -} -1 -1 -1 O O -1 -1 -} -1 -1 7 -1 -1 -1 50 -1 -1 -1 -1 15 -} -1 -1 -1 -} -1 -} O O -1 -1 -1 15 -1 19 -1 -1 -1 -1 -1 75 51 43 -1 -1 -1 -1 -1 -1 -1 -1 -1 O O -1 -1 72 -1 -1 -1 38 -1 -1 -1 69 -1 62 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 O O -1 -1 19 -1 41 -1 -1 41 -1 -1 -1 -1 O -1 -} -1 -1 -1 -} -1 -} -1 O O 41 -1 17 -1 -1 -1 -1 -1 1S -1 JO -1 40 6 -1 -1 -1 -1 -1 -1 -1 -1 -1 o
o bien, preferentemente, la matriz :
27 -1 -} -1 55 19 -} M -1 -1 -} -1 -1 O -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 O -1 -1 70 -1 47 -1 ~ -1 -1 O O -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 41 -1 -1 -1 44 -1 -1 59 W 25 -1 -1 O o -1 -1 -1 -1 -1 -1 -1 -1 16 n -1 -1 -1 -} 48 -1 -1 -} -1 -1 -1 -1 o O -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 45 -1 27 -1 46 19 -1 -1 -1 -1 -1 -1 -1 o o -1 -1 -1 -1 -1 -1 -1 -1 63 -1 -1 -1 55 -1 -1 -1 48 26 10 -1 -1 -1 -1 O O -1 -1 -1 -1 -1
ES 2 386449 Al
-1 -1 -1 42 -1 21 -1 SS -1 41 -1 -1 -1 -1 -1 -1 -1 -1 O O -1 -1 -1 -1 -1 -1 -1 -1 78 O -1 7 52 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 O O -1 -1 -1 -1 29 9 -1 -1 -1 37 -1 -1 -1 35 21 -1 -1 -1 -1 -1 -1 -1 -, O o -1 -1 -1 -1 22 72 -1 -1 47 -1 -1 -1 O -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 O O -1 35 -1 -1 -1 -1 13 -1 35 -1 70 -1 -1 O -1 -1 -1 -1 -1 -1 -1 -1 -1 O O -1 46 28 -1 -1 -1 31 -1 -1 -1 e -1 10 58 -1 -1 -1 -1 -1 -1 -1 -1 -1 o
Una matriz compacta para bits con factor de e xpansión 360 derivada a partir de una matriz modelo binaria diferente sería la siguiente :
- -
- } -1 -} -1 -} -1 297 106 328 -1 -} 99 -1 o -1 -} -1 -} -1 -} -1 -} -1 -} 290 o 312 -1 32 -1 120 -1 -1 -1 -1 -1 -} o o -} -1 -1 -1 -1 -1 -1 -1 -1
18.3 57 -1 -1 187 68 -1 -1 -1 -1260 -1 81 -1 o o -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 323 -1 -1 -1 137 354 -1 -1 162 -1 -1 -1 o o -1 -1 -1 -1 -1 -1 -1 -1 -1228 -1 -1 -1 -1224 -1 114 -1245 -1 -1 -1 -1 o o -1 -1 -1 -1 -1 -1 113 98 -1 -1 120 23 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 o o -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 138 -1 187 45 62 -1 -1 -1 -1 -1 -1 o o -1 -1 -1 -1 -1 -1 142 -1 -1 -1 347 67 -1 -1 -1 46 -1 -1 -1 -1 -1 -1 -1 o o -1 -1 -1 328 265 -1 66 156 96 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 o o -1 -1 212 184 -1 -1 102 -1 -1 -1 -1 120 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 o o -1 -1 -1 -1 -1 -1 -1 -1 60 15 -1 329 153 o -1 -1 -1 -1 -1 -1 -1 -1 -1 o o 207 70 -1 1 235 -1 -1 -1 -1 -1 -1 -1 81 185 -1 -1 -1 -1 -1 -1 -1 -1 -1 o
Otra alternativa preferente para obtener palabras código de 8640 bits con una tasa de codificación de 1/2 es la matriz :
- -
- 1 34 -1 95 -1 279 -1 -1 -1 -1 248 -1. -1 o -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 o -1 o -1 -1 -1 -1 134 356 275 -1 o o -1 -1 -1 -1 -1 -1 -1 -1 -1 51 -1 27 -1 -1 -1 -1 -1 22 152 -1 57 -1 -1 o o -1 -1 -1 -1 -1 -1 -1 -1 -1 124 -1 290 -1 281 15 -1 -1 -1 -1 -1 -1 -1 -1 o o -1 -1 -1 -1 -1 -1 -1 -1 340 -1 99 336 -1 -1 1 -1 -1 -1 -1 33 -1 -1 -1 o o -1 -1 -1 -1 -1 -1 163 -1 46 -1 -1 -1 -1 -1 -1 306 -1 86 -1 -1 -1 -1 -1 o o -1 -1 -1 -1 -1 -1 185 -1 24 -1 -1 -1 94 o -1 -1 -1 -1 -1 -1 -1 -1 -1 o o -1 -1 -1 -1 -1 223 -1 225 325 -1 -1 -1 -1 -1 297 -1 -1 -1 -1 -1 -1 -1 -1 o o -1 -1 -1 46 -1 314 -1 -1 -1 59 -1 -1 67 -1 120 -1 -1 -1 -1 -1 -1 -1 -1 o o -1 -1 -1 -1 121 -1 -1 -1 -1 161 -1 303 -1 264 -1 -1 -1 -1 -1 -1 -1 -1 -1 o o -1 -1 303 -1 8 -1 185 -1 -1 138 -1 -1 -1. o -1 -1 -1 -1 -1 -1 -1 -1 -1 o o -1 -1 312 -1 -1 -1 100 -1 -1 144 -1 307 33 166 -1 -1 -1 -1 -1 -1 -1 -1 -1 O
El paso de matriz compacta a modelo binaria es unívoco pero el paso contrario no , es decir, de una matriz modelo binaria podemos obtener diferentes matrices compactas . La matriz binaria está introducida como un paso que facilita la descripción de la invención . Es posible desarrollar una matriz compacta directamente sin pasar por la matriz modelo
binaria . En ese caso de dicha matriz compacta es posible obtener su correspondiente matriz modelo binaria que si es triple diagonal estará de acuerdo al procedimiento de la invención .
Los códigos para corrección de errores pueden ser "pinchados" ~ donde la técnica del pinchado (puncturing) consiste en quitar elementos de la palabra de código para que no sean transmitidos . En lugar de transmitir una palabra código v = [veO), v(l),..., veN -1)] se transmitirá una
palabra w = [IY{O), w(l), ... , IY{M -1)], donde M<N . El pinchado se debe de hacer de forma controlada, de forma que se transmita la redundancia necesaria para que el decodificador del receptor sea capaz de estimar la información transmitida . Este pinchado se aplica tanto a los bits de información como a los bits de paridad . Es posible definir un patrón de pinchado como la secuencia de bits que han de ser transmitidos como pinchados, donde dicho patrón de bits puede ser periódico o aperiódico . En el caso de no tener ninguna regularidad, dicho patrón puede ser descrito con un vector PP de N posiciones, indicando en él con un " l H los bits que han de transmitirse y con un " OH los bits que han de eliminarse (pincharse) . Gracias a la técnica de pinchado es posible aumentar la comunicación de información, puesto que se está enviando menos
- redundancia .
- Si el peso Hamming del patrón PP es M la
- tasa
- total del sistema de codificación de errores es
- R = K / M
Por ejemplo, si tenemos un código con R=5/6 y tamaño de bloque N=5 l84 y queremos realizar un pinchado para aumentar el rate hasta R=16/l8 podemos utilizar el siguiente patrón de pinchado con lo que obtendremos un bloque con N=4860 bits :
pp\',%'" ~ [1 1 ... 1 O O ... O 1 ... 1 O O ... O 1 1 ...
'-v-' '-v------' '-v-' '----v-' '-----v-'
3240 162 972 162 648
Para realizar la implementación del codificador de códigos LOpe se utiliza un dispositivo electrónico, ya sea un programa ejecutado sobre un micro-procesador o una implementación hardware en FPGA o ASIC . Dicho dispositivo recibe un bloque de información, calcula los bits de paridad, los concatena junto a los bits de información y los entrega a la siguiente etapa del transmisor para ser modulados adecuadamente y transmitidos por el canal correspondiente . El cálculo de los bits de paridad puede
ser mediante el producto con la matriz generadora G o mediante la solución del sistema de ecuaciones presentado anteriormente .
El decodificador de códigos LDPe suele basarse en un decodificador iterativo . Un posible decodificador, entre varias opciones del estado del arte, consiste de un estimador que al recibir la palabra correspondiente al
r =v+z
código transmitido siendo Z ruido aditivo del
canal , hace una estimación de ruido z de forma que
(r-z)H' ~O
En el caso de que el sistema haga uso de la técnica de pinchado , antes del decodificador habrá una unidad que inserte en las posiciones pinchadas un indicador . Este indicador sirve para que el decodificador estime en esas posiciones el valor adecuado .
La figura 1 muestra el diagrama de bloque de un codificador típico, donde (1) es el bloque de información que se desea transmitir u = [u(O),u( I), ...,u(K ~ 1)], (2) es una
memoria que contiene la representación de la matriz de IJaridad H o de la matriz generadora G, (3) es dicha matriz ,
- (4)
- es el bloque que realiza el algoritmo de codificación,
- (5)
- es la palabra código lineal obtenida de la codificación v=[v(O),v(I)"",v(N -I)], (6) es el bloque que realiza la técnica de pinchado (puncturing) y (7 ) es la palabra obtenida tras el pinchado w = [w(O), w( 1),,,,, w(M -1)] .
5 La figura 2 muestra el diagrama de bloques para un decodificador, donde (8 ) representa la señal recibida del
canal S"" [so,s¡, ... ,S,lf_I J I que será similar a la palabra obtenida tras el pinchado pero tras ser afectada por el ruido del canal, (9) representa al bloque que realiza la función de
10 "des-pinchado", obteniendo una palabra (10 ) r = [r(O), r(I),,,.,r(N-I)] con el número de bits del código LPDC .
(11 ) es la memoria que contiene o bien la matriz de paridad
o bien la matriz generadora en el receptor, y la transmite
(12) al bloque que realiza el algoritmo decodificador (13) . 15 La salida de este bloque será la información recompuesta
(14) íi = [ü(O),ü(l), ...,ü(K -1)].
Claims (15)
- REIVINDICACIONES
- 1 . Procedimiento de comunicación de datos a través de5 medios ruidosos , que se aplica en la codificación de datos en transmisión y que genera bits de paridad sobre un bloque de información de forma que de una palabra de K bits se genera una palabra código de N bits; caracterizado porque comprende los pasos de :10 -seleccionar un factor b que consiste en un número natural l~b~K de forma que N/b=n y K/b=k sean números naturales ;
- -
- generar una matriz modelo binaria Ho=[ HaI Hbl de tamaño (nk)x n como la combinación de una submatriz correspondiente a las posiciones de los bits de información Ha y de una 15 submatriz correspondiente a los bits de paridad Hb, donde dicha segunda submatriz Hb [h bO IHblJ se compone de un vector columna de n-k posici ones hbO y una estructura Hbl triple diagonal , en donde los elementos de las dos diagonales centrales hbl(i , i) , hhl(i+l , i) , O~i~n-k-2 y de la
20 diagonal de la última fila hb1(n-k -l , O) son iguales a 1 , siendo n-k el número de filas y columnas de la matriz Hb, y el resto de elementos son iguales a cero ;generar una matriz compacta H1 a partir de la matriz modelo binaria Ho .25 -generar la matriz de paridad H a partir de la matriz compacta Hl ;- -
- seleccionar un bloque de información ;
dfJllcdL Id lIldLL"L:: de pdL"lddd H oübLe el blüque de información para determinar los bits de paridad 30 correspondientes a dicho bloque ; yES 2 386449 Altransmitir los bits de paridad junto con el bloque de información . - 2 . Procedimiento de comunicación de datos a través de 5 medios ruidosos según la reivi ndicación 1 caracterizado porque se utiliza la siguiente matriz compacta Hl para obtener palabras código de 336 bits con una tasa de codificación de 1/2:-1 -1 -1 6 -1 -1 6 -1 -1 2 -1 -1 o -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 10 -1 o -1 -1 -1 3 -1 12 1 -1 -1 3-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 9 11 -1 -1 13 -1 -1 2 12 -1 -1 -1 -1 o -1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1 11 -1 -1 7 -1 -1 -1 11 -1 -1 -1 -1 o -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 a -1 -1 -1 -1 -1 4-1-1-1 o -1 -1 -1 -1 -1 -1 ., o -1 -1 8 -1 -1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 15 -1 -1 -1 6 -1 -1 -1 -1 5 13 -1 -1 -1 -1 -1 -1 -1 0-1-1-1-1 -1 -1 -1 9 -1 -1 -1 3 -1 -1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1o 13 -1 -1 12 -1 -1 6 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 o -1 -1 -1 5 -1 -1 4 -1 -1 5 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 o ., -1 -1 -1 8 -1 -1 8 -1 -1 o -1 o -1 -1 -1 -1 -1 -1 -1 -1 -1 o20 10 11 -1 -1 -1 3 -1 -1 O -1 -1 -1 8 -1 -1 -1 -1 -1 -1 -1 -1 -1
- 3 . Procedimiento de comunicación de datos a través de medios rui dosos según la reivindicaci ón 1 caracterizado porque se utiliza la s igu i ente matriz compacta H1 para 25 obtener palabras código 1920 bits con una tasa de codificación de 1/2:27 -1 -1 -1 55 19 -1 30 -1 -1 -1 -1 -1 o -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 o -1 1 -1 70 -1 47 -1 62 -1 -1 o -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 41 -1 -1 -1 44 -1 -1 59 60 25 -1 -1 o -1 -1 -1 -1 -1 -1 -1 -1 30 16 77 -1 -1 -1 5 -1 48 -1 -1 -1 -1 -1 -1 -1 o -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 45 -1 27 -1 46 19 -1 -1 -1 -1 -1 -1 -1 O -1 -1 -1 -1 -1 -1 -1 -1 63 -1 -1 -1 55 -1 -1 -1 48 26 10 -1 -1 -1 -1 O -1 -1 -1 -1 -1 -1 -1 -1 42 -1 21 -1 58 -1 41 -1 -1 -1 -1 -1 -1 -1 -1 0-1-1-1-1 -1 -1 -1 -1 78 O -1 7 52 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0-1-1-1 35 -1 29 9 -1 -1 -1 37 -1 -1 -1 35 21 -1 -1 -1 -1 -1 -1 -1 -1 O -1 -1 -1 -1 22 72 -1 -1 47 -1 -1 -1 O -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0-1 35 -1 -1 -1 -1 13 -1 35 -1 70 -1 -1 O -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 46 2B -1 -1 -1 3B -1 -1 -1 8 -1 10 58 -1 -1 -1 -1 -1 -1 -1 -1 -1 o40 4 . Procedimiento de comunicación de datos a través demedios ruidosos según la reivindicación 1 caracterizado porque se utiliza la siguiente matriz compact a 8 1 paraES 2 386449 Alobtener palabras c6di go de 8640 bits con una tasa de codificación de 1/2:
- -
- 1 34 -1 9$ -1 219 -1 -1 -1 -1 248 -1 -1 o -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 () -1 o -1 -1 -1 -1 134 356 215 -1 o -1 -1 -1 -1 -1 -1 -1 -1 -1 5 51 -1 27 -1 -1 -1 -1 -1 22 152 -1 57 -1 -1 o o -1 -1 -1 -1 -1 -1 -1 -1 -1 124 -1 290 -1 281 15 -1 -1 -1 -1 -1 -1 -1 -1 o -1 -1 -1 -1 -1 -L -1 -1 340 -1 99 336 -1 -1 1 -1 -1 -1 -1 33 -1 -1 -1 o -1 -1 -1 -1 -1 -1 163 -1 46 -1 -1 -1 -1 -1 -1 306 -1 86 -1 -1 -1 -1 -1 o -1 -1 -1 -1 -1 -1 185 -1 24 -1 -1 -1 94 o -1 -1 -1 -1 -1 -1 -1 -1 -1 0-1-1-L-1
10 -1 223 -1 225 325 -1 -1 -1 -1 -1 297 -1 -1 -1 -1 -1 -1 -1 -1 o -1 -1 -1 46 -1 314 -1 -1 -1 59 -1 -1 67 -1 120 -1 -1 -1 -1 -1 -1 -1 -1 o o -1 -1 -1 -1 121 -1 -1 -1 -1 161 -1 303 -1 264 -1 -1 -1 -1 -1 -1 -1 -1 -1 0-1 -1 303 -1 8 -1 195 -1 -1 138 -1 -1 -1 o -1 -1 -1 -1 -1 -1 -1 -1 -1 o -1 -1 312 -1 -1 -1 100 -1 -1 144 -1 307 33 166 -1 -1 -1 -1 -1 -1 -1 -1 -1 - 5 . Dispositivo de comunicación de datos a través de medios ruidosos , que se aplica en la codificación de datos en transmisión , caracterizado porque el codificador comprende :
- -
- medios para almacenar una matriz compacta 81 derivada de
20 una matriz modelo binaria Ho [Ha I Hb ] formada como la combinación de una submatriz correspondiente a las posiciones de los bits de información Ha y de una submatriz correspondiente a los bits de paridad Hb , donde dicha segunda submatriz H b = [hb O IH bi ] se compone de un vector25 columna de n-k posiciones h bO y una estructura H bl triple diagonal , en donde los elementos de las dos diagonales centrales hb1(i ,i ), hb1(i+l,i ), O~i~n-k-2 y de la diagonal de la última fila hb dn-k-1, O) son iguales a 1 , siendo n-k el número de filas y columnas de la matriz Hb, y el resto30 de elementos son iguales a cero ;- -
- un microprocesador que comprende medios para seleccionar un bloque de información , aplicar la matriz compacta para generar la matriz de paridad H, aplicar la matriz de paridad H al bloque de información para obtener los bits de 35 paridad correspondientes a dicho bloque y afíadir los bits
ES 2 386449 Alde pari dad al bloque de i nformaci ón ant es de se r transrni tidos . - 6 . Dispositivo de comunicación de datos a través de medios ruidosos según la reivindicación 5 caracterizado porque se utiliza la siguiente matriz compacta obtener palabras código de 336 bits con una tasa de codificación de 1/2 :-1 -1 -1 6 -1 -1 6 -1 -1 2 -1 -1 o -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 o -1 -1 -1 3 -1 12 1 -1 -1 3-1 o -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 9 11 -1 -1 13 -1 -1 2 12 -1 -1 -1 -1 o -1 -1 -1 -1 -1 -1 -1 -11 -1 -1 11 -1 -1 7 -1 -1 -1 11 -1 -1 -1 -1 o -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 a -1 -1 -1 -1 -1 4-1-1-1 o -1 -1 -1 -1 -1 -1 -, -1 -1 a -1 -1 1 -1 -1 -1 -1 -1 -1 -1 -1 o o -1 -1 -1 -1 -1 -1 -1 -1 6 -1 -1 -1 -1 5 13 -1 -1 -1 -1 -1 -1 -1 0-1-1-1-1 -1 -1 -1 -1 -1 -1 3 -1 -1 3 1 -1 -1 -1 -1 -1 -1 -1 0-1-1-1o 13 -1 -1 12 -1 -1 a -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 o -1 -1 -) 5 -1 -1 4 -1 -1 5 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 o -, -1 -1 -1 e -1 -1 e -1 -1 o -1 o -1 -1 -1 -1 -1 -1 -1 -1 -1 o 10 11 -1 -1 -1 3 -) -1 o -1 -1 -1 8 -1 -1 -1 -1 -1 -1 -1 -) -1
-
- 7 . Dispositivo de comunicación de datos a través de medios ruidosos según la reivindicación 5 caracterizado porque se utiliza la siguiente matriz compacta obtener palabras código 1920 bits con una tasa de codificación de 1/2 :
-
- 8 . Dispositivo de comunicación de datos a través de medios ruidosos según la reivindicación 5 caracterizado porque se utiliza la siguiente matriz compacta obtener
- 27
- -1 -1 -1 55 19 -1 30 -1 -1 -1 -1 -1 o -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
- -1
- -1
- o -1 1 -1 70 -1 47 -1 62 -1 -1 o
- -1
- -1
- -1
- -1
- -1
- -1
- -1
- -1
- -1
- _1
- _1
- 41 _1 _1 _1 44 _1 _1 _~q 60 n _1 _1 o o
- _1
- _1
- _1
- _1
- _1
- _1
- _1
- _1
- 16
- 77 -1 -1 -1 5 -1 49 -1 -1 -1 -1 -1 -1 -1 O -1 -) -1 -1 -1 -1 -1
- -1
- -1
- -1
- 45 -1 27 -1 46 19 -1 -1 -1 -1 -1 -1 -1 o -)
- -1
- -1
- -1
- -1
- -1
- -)
- -1 63 -) -1 -1 55 -1 -1 -) 48 26 )0 -1 -1 -) -1 o -1 -1 -) -1 -1
- -1
- -1
- -1
- 42 -1 21 -1 SS -1 4l -1 -1 -1 -1 -1 -1 -1 -1 o -1-1-1-1
- -1
- -1
- -1
- -1
- 78 o -1 7 52 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0-1-1-1
- -1
- 29 9 -1 -1 -1 37 -1 -1 -1 35 21 -1 -1 -1 -1 -1 -1 -1 -1 o -1
- -1
- -1
- -1
- 22 72 -1 -1 47 -1 -1 -1 O -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 o -,
- 35
- -1 -1 -1 -1 13 -1 35 -1 70 -1 -1 O -1 -1 -1 -1 -1 -1 -1 -1 -1 O
- -1
- 46 28 -1 -1 -1 39 -1 -1 -1 9 -1 10 59
- -1
- -1
- -1
- -1
- -1
- -1
- -1
- -1
- -1
palabras código de 8640 bits con una tasa de codificaciónES 2 386449 Al- -
- 1 34 -1 95 -1 279 -1 -1 -1 -1 249 -1 -1 O -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 O -1 O -1 -1 -1 -1 134 356 275 -1 o -1 -1 -1 -1 -1 -1 -1 -1 -1 51 -1 27 -1 -1 -1 -1 -1 n 152 -1 57 -1 -1 O -1 -1 -1 -1 -1 -1 -1 -1 -1 124 -1 290 -1 ZSI 15 -1 -1 -1 -1 -1 -1 -1 -1 o -1 -1 -1 -1 -1 -1 -1 5 -1 340 -1 99 336 -1 -1 1 -1 -1 -1 -1 33 -1 -1 -1 o -1 -1 -1 -1 -1 -1 163 -1 46 -1 -1 -1 -1 -1 -1 306 -1 86 -1 -1 -1 -1 -1 O -1 -1 -1 -1 -1 -1 195 -1 24 -1 -1 -1 94 O -1 -1 -1 -1 -1 -1 -1 -1 -1 0-1-1-1-1 -1 223 -1 225 325 -1 -1 -1 -1 -1 297 -1 -1 -1 -1 -1 -1 -1 -1 O -1 -1 -1 46 -1 314 -1 -1 -1 59 -1 -1 67 -1 120 -1 -1 -1 -1 -1 -1 -1 -1 O O -1 -1
10 -1 -1 121 -1 -1 -1 -1 161 -1 303 -1 264 -1 -1 -1 -1 -1 -1 -1 -1 -1 o -, -1 303 -1 e -1 lBS -1 -1 138 -1 -1 -1 o -1 -1 -1 -1 -1 -1 -1 -1 -1 o -1 -1 312 -1 -1 -1 100 -1 -1 144 -1 307 33 166 -1 -1 -1 -1 -1 -1 -1 -1 -1 - 9. Procedimiento de comunicación de datos a través de15 medios ruidosos , que se aplica en la decodificación de datos en recepción y que estima el bloque de información a partir de un vector de señal recibida , de forma que de una palabra código recibida de N bits se obtiene una palabra de K bits ; caracterizado porque comprende los pasos de :20 -seleccionar un vector de señal del canal ;calcular una matriz modelo binaria Ho = [H IHbJ como la combinación de una submatriz correspondiente a las posiciones de los bits de información Ha y de una submatriz correspondiente a los bits de paridad Hb, donde dicha25 segunda submatriz Hb = [hbO IHb1 ] se compone de un vector columna de n-k posiciones hbO y una estructura Hbl. triple diagonal , en donde los elementos de las dos diagonales centrales hb1(i, i) , hb1(i+l , i) , O~i~n-k-2 y de la diagonal de la última fila hb¡(n-k -l , O) son iguales a 1, siendo n-k30 el número de filas y columnas de la matriz Hb, y el resto de elementos son iguales a cero ;generar una matriz compacta H1 a partir de la matriz modelo binaria Ho;generar la matriz de paridad H a partir de la matriz 35 compacta H1; yES 2 386449 Alestimar el bloque de información a partir del vector de señal recibido y de la matriz de paridad H.
- 10 . Procedimiento de comunicación de datos a través de 5 medios ruidosos según la reivi ndicación 9 caracterizado porque se utiliza la siguiente matriz compacta H1 para obtener palabras código de 336 bits con una tasa de codificación de 1/2:-1 -1 -1 6 -1 -1 6 -1 -1 2 -1 -1 o -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 10 -1 o -1 -1 -1 3 -1 12 1 -1 -1 3-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 9 11 -1 -1 13 -1 -1 2 12 -1 -1 -1 -1 o -1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1 11 -1 -1 7 -1 -1 -1 11 -1 -1 -1 -1 o -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 a -1 -1 -1 -1 -1 4-1-1-1 o -1 -1 -1 -1 -1 -1 -, o -1 -1 8 -1 -1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 15 -1 -1 -1 6 -1 -1 -1 -1 5 13 -1 -1 -1 -1 -1 -1 -1 0-1-1-1-1 -1 -1 -1 9 -1 -1 -1 3 -1 -1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1o 13 -1 -1 12 -1 -1 6 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 o -1 -1 -1 5 -1 -1 4 -1 -1 5 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 o -, -1 -1 -1 8 -1 -1 8 -1 -1 o -1 o -1 -1 -1 -1 -1 -1 -1 -1 -1 o 20 10 11 -1 -1 -1 3 -1 -1 O -1 -1 -1 8 -1 -1 -1 -1 -1 -1 -1 -1 -1
- 11 . Procedimient o de comunicación de datos a través de medios ruidosos según la reivi ndicación 9 caracterizado porque se utiliza la siguiente matriz compacta Hl para25 obtener palabras código 1920 bits con una tasa de codificación de 1/2:27 -1 -1 -1 55 19 -1 JO -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 o -1 1 -1 10 -1 41 -1 62 -1 -1 o -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 4l -1 -1 -1 44 -1 -1 59 60 25 -1 -1 o -1 -1 -1 -1 -1 -1 -1 -1 30 16 77 -1 -1 -1 S -1 48 -1 -1 -1 -1 -1 -1 -1 o -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 45 -1 n -1 46 19 -1 -1 -1 -1 -1 -1 -1 O -1 -1 -1 -1 -1 -1 -1 -1 6J -1 -1 -1 55 -1 -1 -1 48 26 10 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 42 -1 21 -1 S8 -1 41 -1 -1 -1 -1 -1 -1 -1 -1 0-1-1-1-1 -1 -1 -1 -1 18 O -1 1 52 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 35 -1 29 9 -1 -1 -1 37 -1 -1 -1 35 21 -1 -1 -1 -1 -1 -1 -1 -1 o -1 -1 -1 -1 22 72 -1 -1 47 -1 -1 -1 O -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0-1 35 -1 -1 -1 -1 13 -1 35 -1 70 -1 -1 O -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 46 28 -1 -1 -1 38 -1 -1 -1 8 -1 10 58 -1 -1 -1 -1 -1 -1 -1 -1 -140 12 . Procedimiento de comunicación de datos a través de medios ruidosos según la reivindicación 9 caracterizadoporque se utiliza la siguiente matriz compacta H1 paraES 2 386449 Alobtener palabras c6di go de 8640 bits con una tasa de codificación de 1/2:
- -
- 1 34 -1 9$ -1 219 -1 -1 -1 -1 248 -1 -1 o -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 () -1 o -1 -1 -1 -1 134 356 215 -1 o -1 -1 -1 -1 -1 -1 -1 -1 -1 5 51 -1 27 -1 -1 -1 -1 -1 22 152 -1 57 -1 -1 o o -1 -1 -1 -1 -1 -1 -1 -1 -1 124 -1 290 -1 281 15 -1 -1 -1 -1 -1 -1 -1 -1 o -1 -1 -1 -1 -1 -L -1 -1 340 -1 99 336 -1 -1 1 -1 -1 -1 -1 33 -1 -1 -1 o -1 -1 -1 -1 -1 -1 163 -1 46 -1 -1 -1 -1 -1 -1 306 -1 86 -1 -1 -1 -1 -1 o -1 -1 -1 -1 -1 -1 185 -1 24 -1 -1 -1 94 o -1 -1 -1 -1 -1 -1 -1 -1 -1 0-1-1-L-1
10 -1 223 -1 225 325 -1 -1 -1 -1 -1 297 -1 -1 -1 -1 -1 -1 -1 -1 o -1 -1 -1 46 -1 314 -1 -1 -1 59 -1 -1 67 -1 120 -1 -1 -1 -1 -1 -1 -1 -1 o o -1 -1 -1 -1 121 -1 -1 -1 -1 161 -1 303 -1 264 -1 -1 -1 -1 -1 -1 -1 -1 -1 0-1 -1 303 -1 8 -1 195 -1 -1 138 -1 -1 -1 o -1 -1 -1 -1 -1 -1 -1 -1 -1 o -1 -1 312 -1 -1 -1 100 -1 -1 144 -1 307 33 166 -1 -1 -1 -1 -1 -1 -1 -1 -1 - 13 . Dispositivo de comunicación de datos a través de medios ruidosos , que se aplica en la decodificación de datos en recepción ; caracterizado porque el decodificador comprende :
- -
- medios para almacenar una matriz compacta Hl derivada de
20 una matriz modelo binaria Ho [Ha I Hb ] formada como la combinación de una submatriz correspondiente a las posiciones de los bits de información Ha y de una submatriz correspondiente a los bits de paridad Hb , donde dicha segunda submatriz Hb [hbO IHbd se compone de un vector25 columna de n-k posiciones hbO y una estructura Hbl triple diagonal , en donde los elementos de las dos diagonales centrales hb1(i, i), hb1(i+l,i), O:::::i:::::n-k-2 y de la diagonal de la última fila hbdn-k -1, O) son iguales a 1, siendo n-k el número de filas y columnas de la matriz Hb, y el resto30 de elementos son iguales a cero ;- -
- un microprocesador que comprende medios para generar la matriz de paridad H a partir de la matriz compacta Hl, aplicar dicha matriz de paridad H sobre el vector de señal recibido , y estimar el bloque de información recibido .
ES 2 386449 Al - 14 . Dispositivo de comunicación de dat os a través de medios ruidosos según la reivindicación 13 caracterizado porque se utiliza la siguiente matriz compacta obtener palabras código de 336 bits con una tasa de codificación de 1/2 :-1 -1 -1 6 -1 -1 6 -1 -1 2 -1 -1 o -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 o -1 -1 -1 3 -1 12 1 -1 -1 3-1 o -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 9 11 -1 -1 13 -1 -1 2 12 -1 -1 -1 -1 o -1 -1 -1 -1 -1 -1 -1 -11 -1 -1 11 -1 -1 7 -1 -1 -1 11 -1 -1 -1 -1 o -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 a -1 -1 -1 -1 -1 ~-1-1-1 o -1 -1 -1 -1 -1 -1~,-1 -1 8 -1 -1 1 -1 -1 -1 -1 -1 -1 -1 -1 o o -1 -1 -1 -1 -1 -1 -1 -1 6 -1 -1 -1 -1 !> 13 -1 -1 -1 -1 -1 -1 -1 0-1-1-1-1 -1 -1 -1 9 -1 -1 -1 3 -1 -1 3 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1o 13 -1 -1 12 -1 -1 8 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 o -1.-1 -1 5 -1 -1 4 -1 -1 5 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 ~, -1 -1 -1 9 -1 -1 9 -1 -1 o -1 o -1 -1 -1 -1 -1 -1 -1 -1 -1•10 11 -1 -1 -1 3 -1 -1 o -1 -1 -1 e -1 -1 -1 -1 -1 -1 -1 -1 -1 o
- 15 . Dispositivo de comunicación de datos a través de medios ruidosos según la reivindicación 13 caracterizado porque se utiliza la siguiente matriz compacta obtenerpalabras código 1920 bits con una tasa de codificación de 1/2 :
- 27
- -1 -1 -1 55 19 -1 30 -1 -1 -1 -1 -1 o -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
- -1
- -1
- o -1 1 -1 70 -1 47 -1 62 -1 -1 o
- -1
- -1
- -1
- -1
- -1
- -1
- -1
- -1
- -1
- -1
- -1
- 41 -1 -1 -1 44 -1 -1 59 60 2S -1 -1 o
- -1
- -1
- -1
- -1
- -1
- -1
- -1
- -1
- 16
- 77 -1 -1 -1 5 -1 48 -1 -1 -1 -1 -1 -1 -1 o -1 -1 -1 -1 -1 -1 -1
- -1
- -1
- -1
- 45 -1 27 -1 46 19 -1 -1 -1 -1 -1 -1 -1 o
- -1
- -1
- -1
- -1
- -1
- -1
- -1
- -1
- 63 -1 -1 -1 55 -1 -1 -1 48 26 10 -1 -1 -1 -1 O
- -1
- -1
- -1
- -1
- -1
- -1
- -1
- -1
- 42 -1 21 -1 se -1 4l -1 -1 -1 -1 -1 -1 -1 -1 0-1-1-1-1
- -1
- -1
- -1
- -1
- 78 O -1 7 52 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0-1-1-1
- -1
- 29 9 -1 -1 -1 37 -1 -1 -1 35 21 -1 -1 -1 -1 -1 -1 -1 -1 O
- -1
- -1
- -1
- -1
- 22 72 -1 -1 47 -1 -1 -1 o -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0
- -1
- 35
- -1 -1 -1 -1 13 -1 35 -1 70 -1 -1 o -1 -1 -1 -1 -1 -1 -1 -1 -1 o
- -1
- 46 28 -1 -1 -1 38 -1 -1 -1 8 -1 10 58
- -1
- -1
- -1
- -1
- -1
- -1
- -1
- -1
- -1
- 16 . Dispositivo de comunicación de datos a través de medios ruidosos según la reivindicación 13 caracterizado porque se utiliza la siguiente matriz compacta obtener palabras código de 8640 bits con una tasa de codificación de 1/2:
- -
- 1 34 -1 95 -1 279 -1 -1 -1 -1 248 -1 -1 o -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 o -1 o -1 -1 -1 -1 134 356 275 -1 o -1 -1 -1 -1 -1 -1 -1 -L -1 51 -1 27 -1 -1 -1 -1 -1 n 152 -1 57 -1 -1 O -1 -1 -1 -1 -1 -1 -1 -1
- ES 2 386449 Al
- -,
- '" -, '" -, '" "
- -,
- -,
- -,
- -,
- -,
- -,
- -,
- -,
- -,
- -,
- -,
- -,
- -,
- -,
- -,
- -,
- '" -, " '" -, -, -, -, -, -, "
- -,
- -,
- -,
- -,
- -,
- -,
- -,
- -,
- -,
- '" -,
- -, '"' " -, -, " -, -, -, -, -, -, -, " -, 30' , -, -, -, "' -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, -,
- 5
- -, m -, m m -, -, -, -, -, m -, -, -, -, -, -, -, -, -, -, -,
- "
- -, n, -, -, -, " -, -, " -, '" -, -, -, -, -, -, -, -, , -, -,
- -,
- -,
- '" -, -, -, -, '" -, '" -, '" -, -, -, -, -, -, -, -, -, , -,
- 10
- -, -, '" -, -, '" -, -, -, '" -, -, '00 -, -, '" -, -, '" -, -, -, '" -, -, " ", -, -, -, -, -, -, -, -, -, -, -, -, -, -, -, , -,
Priority Applications (10)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
ES201030066A ES2386449B1 (es) | 2010-01-20 | 2010-01-20 | Procedimiento y dispositivo de comunicación de datos a través de medios ruidosos mejorado. |
KR1020117005245A KR101636965B1 (ko) | 2009-02-06 | 2010-02-05 | 잡음성 매체들에서 데이터를 통신하기 위한 방법 및 장치 |
US13/056,343 US8719655B2 (en) | 2009-02-06 | 2010-02-05 | Method and device for communicating data across noisy media |
EP10710590.0A EP2395667B1 (en) | 2009-02-06 | 2010-02-05 | Quasi-cyclic ldpc coding |
PCT/ES2010/070067 WO2010089444A1 (es) | 2009-02-06 | 2010-02-05 | Codificar y decodificar usando códigos cuasi-cíclicos ldpc |
ES10710590.0T ES2559637T3 (es) | 2009-02-06 | 2010-02-05 | Codificación LDPC cuasi-cíclica |
CN201080005735.3A CN102301603B (zh) | 2009-02-06 | 2010-02-05 | 使用ldpc准循环码进行编码和解码 |
TW99103896A TWI469536B (zh) | 2010-01-20 | 2010-02-08 | 在雜訊媒體上之資料通信程序及裝置 |
US14/270,637 US9240806B2 (en) | 2009-02-06 | 2014-05-06 | Method of codifying data or generating a block of data based on matrix with a triple diagonal structure |
US14/988,177 US9543985B2 (en) | 2009-02-06 | 2016-01-05 | Method of codifying data including generation of a quasi-cyclic code |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
ES201030066A ES2386449B1 (es) | 2010-01-20 | 2010-01-20 | Procedimiento y dispositivo de comunicación de datos a través de medios ruidosos mejorado. |
Publications (2)
Publication Number | Publication Date |
---|---|
ES2386449A1 ES2386449A1 (es) | 2012-08-21 |
ES2386449B1 true ES2386449B1 (es) | 2013-08-23 |
Family
ID=45024671
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES201030066A Expired - Fee Related ES2386449B1 (es) | 2009-02-06 | 2010-01-20 | Procedimiento y dispositivo de comunicación de datos a través de medios ruidosos mejorado. |
Country Status (2)
Country | Link |
---|---|
ES (1) | ES2386449B1 (es) |
TW (1) | TWI469536B (es) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI635712B (zh) * | 2017-06-21 | 2018-09-11 | 晨星半導體股份有限公司 | 準循環低密度同位檢查碼的解碼電路及其方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8261155B2 (en) * | 2007-03-09 | 2012-09-04 | Qualcomm Incorporated | Methods and apparatus for encoding and decoding low density parity check (LDPC) codes |
-
2010
- 2010-01-20 ES ES201030066A patent/ES2386449B1/es not_active Expired - Fee Related
- 2010-02-08 TW TW99103896A patent/TWI469536B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
ES2386449A1 (es) | 2012-08-21 |
TWI469536B (zh) | 2015-01-11 |
TW201126917A (en) | 2011-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2387157B1 (en) | Efficient encoding of LDPC codes using structured parity-check matrices | |
US11043967B2 (en) | Method and apparatus for channel encoding and decoding in a communication system using a low-density parity check code | |
JP5017463B2 (ja) | 伝送システム | |
WO2010089444A1 (es) | Codificar y decodificar usando códigos cuasi-cíclicos ldpc | |
WO2012037749A1 (zh) | 一种低密度奇偶校验码的编码方法及装置 | |
US9203434B1 (en) | Systems and methods for improved encoding of data in data storage devices | |
US7493548B2 (en) | Method and apparatus for encoding and decoding data | |
BRPI0514245B1 (pt) | Método e aparelho para codificar e decodificar dados | |
CN102394659A (zh) | Ldpc码校验矩阵构造方法及对应矩阵乘法运算装置 | |
CN108832936A (zh) | 一种ldpc码的构造方法及系统 | |
EP3047575B1 (en) | Encoding of multiple different quasi-cyclic low-density parity check (qc-ldpc) codes sharing common hardware resources | |
ES2386449B1 (es) | Procedimiento y dispositivo de comunicación de datos a través de medios ruidosos mejorado. | |
JP4855348B2 (ja) | 符号化器及び復号器、並びに送信装置及び受信装置 | |
Bleichenbacher et al. | Decoding interleaved Reed–Solomon codes over noisy channels | |
Butler et al. | On distance properties of quasi-cyclic protograph-based LDPC codes | |
KR100929080B1 (ko) | 통신 시스템에서 신호 송수신 장치 및 방법 | |
ES2363846B1 (es) | Procedimiento y dispositivo de comunicación de datos a través de medios ruidosos. | |
JP2017505498A (ja) | データ記憶方法及びデータ記憶デバイス、記憶されているデータの復号方法及び復号デバイス、並びに対応するコンピュータプログラム | |
JP5582088B2 (ja) | 符号化装置、復号装置、符号化方法、復号方法、送信装置、送信方法 | |
Rkizat et al. | Construction and iterative threshold decoding for low rates Quasi-Cyclic One Step Majority logic decodable codes | |
CN118868963A (zh) | 非二进制准循环低密度奇偶校验码ldpc编码方法及装置 | |
Xiao et al. | Quasi-Cyclic LDPC Codes with Parity-Check Matrices of Column Weight Two for Erasure Correction | |
EP1800406A2 (en) | Method of encoding and decoding using ldpc code and apparatus thereof | |
Vignesh et al. | Quasi-cyclic regenerating codes for distributed storage: Existence and near-MSR examples | |
Kumar et al. | Structured LDPC codes over GF (2/sup m/) and companion matrix based decoding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PC2A | Transfer of patent |
Owner name: MARVELL HISPANIA, S.L. (SOCIEDAD UNIPERSONAL) Effective date: 20110519 |
|
FG2A | Definitive protection |
Ref document number: 2386449 Country of ref document: ES Kind code of ref document: B1 Effective date: 20130823 |
|
FD2A | Announcement of lapse in spain |
Effective date: 20210915 |