ES2922630T3 - Códigos LDPC cuasi cíclicos basados en una matriz base de dimensión 5x27 y módulo de elevación - Google Patents

Códigos LDPC cuasi cíclicos basados en una matriz base de dimensión 5x27 y módulo de elevación Download PDF

Info

Publication number
ES2922630T3
ES2922630T3 ES18823838T ES18823838T ES2922630T3 ES 2922630 T3 ES2922630 T3 ES 2922630T3 ES 18823838 T ES18823838 T ES 18823838T ES 18823838 T ES18823838 T ES 18823838T ES 2922630 T3 ES2922630 T3 ES 2922630T3
Authority
ES
Spain
Prior art keywords
matrix
row
column
base
ldpc
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
Application number
ES18823838T
Other languages
English (en)
Inventor
Liang Ma
Chen Zheng
Xiaojian Liu
Yuejun Wei
Xin Zeng
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority claimed from PCT/CN2018/081003 external-priority patent/WO2019001046A1/zh
Application granted granted Critical
Publication of ES2922630T3 publication Critical patent/ES2922630T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error 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
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error 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
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error 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
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • H03M13/1185Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/615Use of computational or mathematical techniques
    • H03M13/616Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/618Shortening and extension of codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6508Flexibility, adaptability, parametrability and configurability of the implementation
    • H03M13/6516Support of multiple code parameters, e.g. generalized Reed-Solomon decoder for a variety of generator polynomials or Galois fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0009Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
    • H04L1/0013Rate matching, e.g. puncturing or repetition of code symbols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0071Use of interleaving
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0076Distributed coding, e.g. network coding, involving channel coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0067Rate matching

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Optical Couplings Of Light Guides (AREA)
  • Semiconductor Lasers (AREA)

Abstract

Esta solicitud divulga un método de codificación, un aparato, un dispositivo de comunicaciones y un sistema de comunicaciones. El método incluye: codificar una secuencia de bits de entrada mediante el uso de una matriz LDPC de verificación de paridad de baja densidad, donde la matriz LDPC se obtiene en función de un factor de elevación Z y una matriz base, la matriz base incluye la fila 0 a la fila 4 y la columna 0 a la columna 26 en una de las matrices mostradas en la FIG. 3b-1 a la fig. 3b-10, o la matriz base incluye la fila 0 a la fila 4 y parte de la columna 0 a la columna 26 en una de las matrices que se muestran en la FIG. 3b-1 a la fig. 3b-10. El método de codificación, el aparato, el dispositivo de comunicaciones y el sistema de comunicaciones en esta aplicación pueden cumplir un requisito de codificación de canal. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Códigos LDPC cuasi cíclicos basados en una matriz base de dimensión 5x27 y módulo de elevación
Campo de la invención
Las modalidades de la presente solicitud se refieren al campo de las comunicaciones y, en particular, a un método de procesamiento de información y a un aparato de comunicaciones.
Antecedentes de la invención
El código de comprobación de paridad de baja densidad (low density parity check, LDPC) es un tipo de código de bloque lineal que tiene una matriz de comprobación de paridad dispersa y se caracteriza por una estructura flexible y baja complejidad de decodificación. Debido a que la decodificación del código de LDPC utiliza un algoritmo de decodificación iterativa parcialmente paralela, el código de LDPC tiene un mayor rendimiento que un código turbo convencional. El código de LDPC puede utilizarse como un código de corrección de errores en un sistema de comunicación, con la finalidad de incrementar la confiabilidad de transmisión de canal y la utilización de energía. El código de LDPC puede ser ampliamente utilizado en sistemas de comunicación espacial, comunicación de fibra óptica, de comunicación personal, ADSL, dispositivos de grabación magnética y similares. Actualmente, el esquema de código de LDPC se ha considerado como uno de los esquemas de codificación de canal en la comunicación móvil de 5ta generación.
En aplicaciones prácticas, pueden utilizarse matrices de LDPC caracterizadas por diferentes estructuras especiales. Puede obtenerse una matriz H de LDPC, que tiene una estructura especial al expandir una matriz base de LDPC que tiene una estructura cuasicíclica (quasi cycle, QC). Un esquema de codificación que utiliza matrices de QC-LDPC es adecuado para hardware con alto grado de paralelismo y proporciona un mayor rendimiento.
QC-LDPC es adecuado para hardware con alto grado de paralelismo y proporciona un mayor rendimiento. La matriz de LDPC puede diseñarse para que sea aplicable a codificación de canal.
MEDIATEK INC:"On NR LDPC design and performance", borrador 3GPP, R1-1710829, divulga la gráfica base de BG1 y BG2 para un código QC-LDPC y un diseño de factor de elevación. Huawei:"Merged LDPC BG1 alternativo PCM" 14 de junio de 2017, divulga algunos diseños de PCM para LDPC BG1.
Breve descripción de la invención
Las modalidades de la presente solicitud proporcionan un método de procesamiento de información y un aparato y sistema de comunicación para soportar la codificación y decodificación de secuencias de bits de información de una pluralidad de longitudes. El objeto anterior se logra mediante las características de las reivindicaciones independientes. Otras formas de implementación se desprenden de las reivindicaciones dependientes, la descripción y las figuras.
De acuerdo con un primer aspecto, se proporciona un método de codificación. El método comprende: codificar una secuencia de entrada c con base en una matriz H de LDPC de comprobación de paridad de baja densidad, para obtener una secuencia codificada, en donde la secuencia de entrada comprende K bits, y la matriz H de LDPC se obtiene con base en un factor de elevación Z y una matriz base, Z es uno de 9, 18, 36, 72, 144 y 288, en donde la matriz base de la matriz H de LDPC comprende m filas y n columnas, m y n son números enteros, y m = 5, y n = 27, en donde cada elemento en la matriz base es o bien un elemento nulo o un elemento no nulo; cada elemento nulo en la matriz base corresponde a una matriz completamente nula de tamaño Z*Z en la matriz H de LDPC, y la matriz base comprende una pluralidad de elementos no nulos (i, j), en donde i es un índice de fila, j es un índice de columna, 0<i<m, 0<j<n, cada elemento no nulo (i, j) corresponde a una matriz de permutación circular de tamaño Z*Z en la matriz H de LDPC, y la matriz de permutación circular es igual a una matriz obtenida al desplazar de manera circular una matriz de identidad de tamaño Z*Z hacia la derecha por Py , en donde Py = mod (Vy ,Z), Vy es un valor de desplazamiento del elemento no nulo (i, j) en la fila i y la columna j, y cada uno de los elementos no nulos (i, j) y correspondiente Vy en la fila 0 a la fila 4 son los siguientes, otros elementos en la fila 0 a la fila 4 son elementos nulos:
i=0, j=0, 1, 2, 3, 5, 6, 9, 10, 11, 12, 13, 15, 16, 18, 19, 20, 21,22, 23 y Vu es respectivamente 211, 198, 188, 186, 219, 4, 29, 144, 116, 216, 115, 233, 144, 95, 216, 73, 261, 1, 0;
i=1, j=0, 2, 3, 4, 5, 7, 8, 9, 11, 12, 14, 15, 16, 17, 19, 21, 22, 23, 24 y Vy es respectivamente 179, 162, 223, 256, 160, 76, 202, 117, 109, 15, 72, 152, 158, 147, 156, 119, 0, 0, 0;
i=2, j=0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 13, 14, 15, 17, 18, 19, 20, 24, 25 y Vy es respectivamente 258, 167, 220, 133, 243, 202, 218, 63, 0, 3, 74, 229, 0, 216, 269, 200, 234, 0, 0;
i=3, j=0, 1, 3, 4, 6, 7, 8, 10, 11, 12, 13, 14, 16, 17, 18, 20, 21,22, 25 y Vy es respectivamente 187, 145, 166, 108, 82, 132, 197, 41, 162, 57, 36, 115, 242, 165, 0, 113, 108, 1, 0; y
i=4, j=0, 1, 26 y Vi,j es respectivamente 246, 235, 0.
De acuerdo con un segundo aspecto, se proporciona un aparato. El aparato comprende un codificador y una unidad de determinación, en donde la unidad de determinación se configura para determinar un factor de elevación Z, en donde Z es uno de 9, 18, 36, 72, 144 y 288; y el codificador se configura para codificar una secuencia de entrada con base en una matriz H de comprobación de paridad de baja densidad, LDPC, para obtener una secuencia codificada, en donde la secuencia de entrada comprende K bits, y la matriz H de LDPC se obtiene con base en un factor de elevación Z y una matriz base, en donde la matriz base de la matriz H de LDPC comprende m filas y n columnas, m y n son números enteros, y m=5 y n=27, en donde cada elemento en la matriz base es o bien un elemento nulo o un elemento no nulo; cada elemento nulo en la matriz base corresponde a una matriz completamente nula de tamaño
Z*Z en la matriz H de LDPC, y la matriz base comprende una pluralidad de elementos no nulos (i, j), en donde i es un índice de fila, j es un índice de columna, 0<i<m, 0<j<n, cada elemento no nulo (i, j) corresponde a una matriz de permutación circulante de tamaño Z*Z en la matriz H de LDPC, y la matriz de permutación circulante es igual a una matriz obtenida al desplazar de manera circular una matriz de identidad de tamaño Z*Z hacia la derecha por Py veces, en donde Py = mod (Vy,Z), Vy es un valor de desplazamiento del elemento no nulo (i, j) en la fila i y la columna j, y cada elemento no nulo (i, j) y un valor correspondiente Vy del elemento no nulo (i, j) en la fila 0 a la fila 4 son los siguientes, otros elementos en la fila 0 a la fila 4 son elementos nulos:
i=0,j=0, 1, 2, 3, 5, 6, 9, 10, 11, 12, 13, 15, 16, 18, 19, 20, 21, 22, 23 y Vy es respectivamente 211, 198, 188, 186, 219,
4, 29, 144, 116, 216, 115, 233, 144, 95, 216, 73, 261, 1, 0;
i=1, j=0, 2, 3, 4, 5, 7, 8, 9, 11, 12, 14, 15, 16, 17, 19, 21,22, 23, 24 y Vy es respectivamente 179, 162, 223, 256, 160,
76, 202, 117, 109, 15, 72, 152, 158, 147, 156, 119, 0, 0, 0;
i=2, j=0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 13, 14, 15, 17, 18, 19, 20, 24, 25 y Vy es respectivamente 258, 167, 220, 133, 243,
202, 218, 63, 0, 3, 74, 229, 0, 216, 269, 200, 234, 0, 0;
i=3, j=0, 1, 3, 4, 6, 7, 8, 10, 11, 12, 13, 14, 16, 17, 18, 20, 21, 22, 25 y Vy es respectivamente 187, 145, 166, 108, 82,
132, 197, 41, 162, 57, 36, 115, 242, 165, 0, 113, 108, 1, 0; y
i=4, j=0, 1, 26 y Vi,j es respectivamente 246, 235, 0.
En una implementación, con base en cualquiera de los aspectos anteriores, la secuencia de entrada es c ={c0 , c-i, c2 ,
..., ck-1}, la secuencia codificada es d={dü, d-1, d2, ..., dN-1}, en donde K y N son ambos números enteros positivos, 2 Z los bits en la secuencia de entrada se perforan y N = n Z -2Z . Además, la secuencia codificada d comprende K-2Z bits de la secuencia de entrada c y bits de paridad N -(K- 2-Z) en una secuencia de paridad w=w0, W1, W2 , ..., wn-(k-2-z)-1}, en donde la secuencia de paridad w y la secuencia de entrada c cumplen:
en donde
Figure imgf000003_0001
wn-(
Figure imgf000003_0002
n vector de colu elementos de 0T son 0.
En una implementación, con base en cualquiera de los aspectos anteriores o las posibles implementaciones de los aspectos, la matriz base de la matriz H de LDPC comprende además los siguientes elementos no nulos (i, j), y los valores correspondientes Vy de los elementos no nulos (i, j) son los siguientes, otros elementos en las siguientes filas son elementos nulos:
=5, j=0, 1, 3, 12, 16, 21, 22, 27 y Vy es respectivamente 261, 181, 72, 283, 254, 79, 144, 0;
=6, j=0, 6, 10, 11, 13, 17, 18, 20, 28 y Vy es respectivamente 80, 144, 169, 90, 59, 177, 151, 108, 0;
=7, j=0, 1, 4, 7, 8, 14, 29 y Vi j es respectivamente 169, 189, 154, 184, 104, 164, 0;
=8, j=0, 1, 3, 12, 16, 19, 21, 22, 24, 30 y Vy es respectivamente 54, 0, 252, 41, 98, 46, 15, 230, 54, 0;
=9, j=0, 1, 10, 11, 13, 17, 18, 20, 31 y Vy es respectivamente 162, 159, 93, 134, 45, 132, 76, 209, 0;
=10, j=1, 2, 4, 7, 8, 14, 32 y Vu es respectivamente 178, 1, 28, 267, 234, 201, 0;
=11, j=0, 1, 12, 16, 21,22, 23, 33 y Vy es respectivamente 55, 23, 274, 181, 273, 39, 26, 0;
=12, j=0, 1, 10, 11, 13, 18, 34 y Vu es respectivamente 225, 162, 244, 151, 238, 243, 0;
=13, j=0, 3, 7, 20, 23, 35 y Vy es respectivamente 231, 0, 216, 47, 36, 0;
=14, j=0, 12, 15, 16, 17, 21, 36 y Vy es respectivamente 0, 186, 253, 16, 0, 79, 0;
=15, j=0, 1, 10, 13, 18, 25, 37 y Vu es respectivamente 170, 0, 183, 108, 68, 64, 0;
=16, j=1, 3, 11,20, 22, 38 y Vy es respectivamente 270, 13, 99, 54, 0, 0;
=17, j=0, 14, 16, 17, 21, 39 y Vy es respectivamente 153, 137, 0, 0, 162, 0;
=18, j=1, 12, 13, 18, 19, 40 y Vu es respectivamente 161, 151, 0, 241, 144, 0;
=19, j=0, 1, 7, 8, 10, 41 y Vy es respectivamente 0, 0, 118, 144, 0, 0;
=20, j=0, 3, 9, 11, 22, 42 y Vy es respectivamente 265, 81, 90, 144, 228, 0;
=21, j=1, 5, 16, 20, 21, 43 y Vy es respectivamente 64, 46, 266, 9, 18, 0;
=22, j=0, 12, 13, 17, 44 y Vu es respectivamente 72, 189, 72, 257, 0;
=23, j=1, 2, 10, 18, 45 y Vy es respectivamente 180, 0, 0, 165, 0;
=24, j=0, 3, 4, 11, 22, 46 y Vy es respectivamente 236, 199, 0, 266, 0, 0;
=25, j=1, 6, 7, 14, 47 y Vy es respectivamente 205, 0, 0, 183, 0;
=26, j=0, 2, 4, 15, 48 y Vy es respectivamente 0, 0, 0, 277, 0;
i=27, j=1, 6, 8, 49 y Vi,j es respectivamente 45, 36, 72, 0;
i=28, j=0, 4, 19, 21, 50 y Vy es respectivamente 275, 0, 155, 62, 0;
i=29, j=1, 14, 18, 25, 51 y Vy es respectivamente 0, 180, 0, 42, 0;
i=30, j=0, 10, 13, 24, 52 y Vy es respectivamente 0, 90, 252, 173, 0;
i=31, j=1, 7, 22, 25, 53 y Vu es respectivamente 144, 144, 166, 19, 0;
i=32, j=0, 12, 14, 24, 54 y Vy es respectivamente 0, 211, 36, 162, 0;
i=33, j=1, 2, 11, 21, 55 y Vy es respectivamente 0, 0, 76, 18, 0;
i=34, j=0, 7, 15, 17,
Figure imgf000004_0002
Vy es respectivamente
Figure imgf000004_0001
197, 0, 108, 0, 0;
i=35, j=1, 6, 12, 22, 57 y Vy es respectivamente 199, 278, 0, 205, 0;
i=36, j=0, 14, 15, 18, 58 y Vy es respectivamente 216, 16, 0, 0, 0;
i=37, j=1, 13, 23, 59 y Vy es respectivamente 72, 144, 0, 0;
i=38, j=0, 9, 10, 12, 60 y Vy es respectivamente 190, 0, 0, 0, 0;
i=39, j=1, 3, 7, 19, 61 y Vy es respectivamente 153, 0, 165, 117, 0;
i=40, j=0, 8, 17, 62 y Vy es respectivamente 216, 144, 2, 0;
i=41, j=1, 3, 9, 18, 63 y Vy es respectivamente 0, 0, 0, 183, 0;
i=42, j=0, 4, 24, 64 y Vy es respectivamente 27, 0, 35, 0;
i=43, j=1, 16, 18, 25, 65 y Vy es respectivamente 52, 243, 0, 270, 0;
i=44, j=0, 7, 9, 22, 66 y Vy es respectivamente 18, 0, 0, 57, 0; y
i=45, j=1, 6, 10, 67 y Vy es respectivamente 168, 0, 144, 0.
En una implementación, con base en cualquiera de los aspectos anteriores o las posibles implementaciones de los aspectos, el factor de elevación Z = Zo, Zo es un mínimo de una pluralidad de factores de elevación que satisfacen una relación de 22 * Z0 > K.
En una implementación, con base en cualquiera de los aspectos anteriores o las posibles implementaciones de los aspectos, la codificación de la secuencia de entrada con base en la matriz H de LDPC comprende: la codificación de la secuencia de entrada con base en una matriz; en donde la matriz se obtiene realizando una permutación de filas, o permutación de columnas, o permutación de filas y permutación de columnas en la matriz H de LDPC.
En una implementación, con base en el segundo aspecto o las posibles implementaciones del segundo aspecto, la matriz base, o el factor de elevación Z, o la matriz transformada se recupera de una o más memorias.
Las matrices base de la matriz de LDPC en los aspectos anteriores o las posibles implementaciones de los aspectos pueden cumplir los requisitos de rendimiento de los bloques de código de una pluralidad de longitudes de bloque.
De acuerdo con el método de codificación y el aparato en las modalidades de la presente solicitud, los requisitos flexibles de longitud de código y tasa de código de un sistema pueden cumplirse en términos de rendimiento de codificación y un nivel mínimo de error.
Breve descripción de los dibujos
La FIGURA 1 es un diagrama esquemático de una gráfica base, una matriz base y matrices de permutación circular de la matriz base en un esquema de código de LDPC;
La FIGURA 2 es un diagrama estructural esquemático de una gráfica base de un código de LDPC;
La FIGURA 3a es un diagrama esquemático de una gráfica base de un código de LDPC de acuerdo con una modalidad de la presente solicitud;
La FIGURA 3b-1 es un diagrama esquemático de una matriz base de acuerdo con un ejemplo de la presente solicitud; La FIGURA 3b-2 es un diagrama esquemático de otra matriz base de acuerdo con un ejemplo de la presente solicitud; La FIGURA 3b-3 es un diagrama esquemático de otra matriz base de acuerdo con un ejemplo de la presente solicitud; La FIGURA 3b-4 es un diagrama esquemático de otra matriz base de acuerdo con un ejemplo de la presente solicitud; La FIGURA 3b-5 es un diagrama esquemático de otra matriz base de acuerdo con un ejemplo de la presente solicitud; La FIGURA 3b-6 es un diagrama esquemático de otra matriz base de acuerdo con un ejemplo de la presente solicitud; La FIGURA 3b-7 es un diagrama esquemático de otra matriz base de acuerdo con una modalidad de la presente solicitud;
La FIGURA 3b-8 es un diagrama esquemático de otra matriz base de acuerdo con un ejemplo de la presente solicitud; La FIGURA 3b-9 es un diagrama esquemático de otra matriz base de acuerdo con un ejemplo de la presente solicitud; La FIGURA 3b-10 es un diagrama esquemático de otra matriz base de acuerdo con un ejemplo de la presente solicitud; La FIGURA 4 es un diagrama esquemático de rendimiento de acuerdo con una modalidad de la presente solicitud; La FIGURA 5 es un diagrama de flujo de un método de procesamiento de información de acuerdo con otra modalidad de la presente solicitud;
La FIGURA 6 es un diagrama de flujo de un método de procesamiento de información de acuerdo con otra modalidad de la presente solicitud;
La FIGURA 7 es un diagrama estructural esquemático de un aparato de procesamiento de información de acuerdo con otra modalidad de la presente solicitud;
La FIGURA 8 es un diagrama esquemático de un sistema de comunicaciones de acuerdo con otro ejemplo de la presente solicitud; y
La FIGURA 9 es un diagrama esquemático de valores de desplazamiento de una matriz base de acuerdo con otro ejemplo de la presente solicitud.
Descripción de las modalidades
Para facilitar la comprensión, a continuación se describen algunos términos utilizados en esta solicitud.
En esta solicitud, los términos "red" y "sistema" a menudo se utilizan indistintamente, y los términos "aparato" y "dispositivo" también se utilizan normalmente de forma indistinta. Un experto en la técnica puede entender los significados de los términos. Un "aparato de comunicación" puede ser un chip (tal como un chip de banda base, un chip de procesamiento de señales digitales o un chip de propósito general), una terminal, una estación base u otro dispositivo de red. La terminal es un dispositivo que tiene una función de comunicación, y puede incluir un dispositivo de bolsillo, un dispositivo en vehículo, un dispositivo usable, un dispositivo informático, otro dispositivo de procesamiento conectado a un módem inalámbrico o similar que tenga una función de comunicación inalámbrica. La terminal puede tener diferentes nombres en diferentes redes, por ejemplo, equipo de usuario, una estación móvil, una unidad de suscriptor, una estación, un teléfono celular, un asistente digital personal, un módem inalámbrico, un dispositivo de comunicación inalámbrica, un dispositivo de bolsillo, una computadora tipo laptop, un teléfono inalámbrico y una estación de bucle local inalámbrica. Para facilitar la descripción, estos dispositivos brevemente se denominan como terminal en esta solicitud. Una estación base (base station, BS) también puede denominarse un dispositivo de estación base, y es un dispositivo implementado en una red de acceso por radio para proporcionar funciones de comunicación inalámbrica. La estación base puede tener diferentes nombres en diferentes sistemas de acceso inalámbrico. Por ejemplo, una estación base en una red de Sistema Universal de Telecomunicación Móvil (Universal Mobile Telecommunications System, UMTS) se denomina como NodoB (NodeB), una estación base en una red de LTE se denomina como NodoB evolucionado (evolved NodeB, eNB o eNodeB), una estación base en una nueva red de radio (new radio, NR) se denomina como un punto de recepción de transmisión (transmission reception point, TRP) o un Nodo B de próxima generación (generation nodeB, gNB), o una estación base en otra red evolucionada puede tener otro nombre. Esto no se limita en la presente solicitud.
Lo siguiente describe las soluciones técnicas en las modalidades de la presente solicitud con referencia a los dibujos acompañantes en las modalidades de la presente solicitud.
Un código de LDPC puede definirse al utilizar una matriz H de comprobación de paridad. La matriz de comprobación de paridad puede obtenerse al utilizar una gráfica base (base graph) y valores de desplazamiento. La gráfica base normalmente puede incluir entradas de matriz m*n (entry), y puede representarse al utilizar una matriz de m filas y n columnas. Un valor de un elemento de matriz es cualquiera de 0 o 1. Un elemento cuyo valor es 0 a veces se denomina elemento nulo, que puede reemplazarse por una matriz completamente nula (zero matrix) de tamaño Z*Z. Un elemento cuyo valor es 1 a veces se denomina como elemento no nulo, el cual puede reemplazarse con una matriz de permutación circular de tamaño Z*Z. En otras palabras, cada elemento de matriz representa una matriz completamente nula o una matriz de permutación circular. La FIGURA 1 muestra un ejemplo 10a de una gráfica base de un código de LDPC en el cual m=5 y n=27 y que tiene una estructura de QC. Cabe señalar que, en esta especificación, simplemente para facilitar la descripción, los índices de fila y los índices de columna de una gráfica base y una matriz todos son numerados a partir de 0. Por ejemplo, la columna 0 indica una primera columna de la gráfica base y la matriz, y una primera columna representa una segunda columna de la gráfica base y la matriz, la fila 0 representa una primera fila de la gráfica base y la matriz, la fila 1 representa una segunda fila de la gráfica base y la matriz, y así sucesivamente.
Puede entenderse que los índices de fila y los índices de columna pueden numerarse alternativamente comenzando a partir de 1, y en este caso, los índices de fila y los índices de columna mostrados en esta especificación se incrementan en 1 para obtener los índices de fila e índices de columna correspondientes. Por ejemplo, si los índices de fila o los índices de columna se numeran comenzando a partir de 1, la columna 1 representa una primera columna de la gráfica base y la matriz, la columna 2 representa una segunda columna en la gráfica base y la matriz, la fila 1 representa una primera fila de la gráfica base y la matriz, la fila 2 representa una segunda fila en la gráfica base y la matriz, y así sucesivamente.
Si el valor de un elemento en la fila i y la columna j en la gráfica base es 1, y un valor de desplazamiento del elemento es Pij, donde Pi,j es un número entero mayor que o igual a 0, indica que el elemento puede reemplazarse con una matriz de permutación circular de tamaño Z*Z que corresponde a Pij. La matriz de permutación circular puede obtenerse al desplazar de manera circular una matriz de identidad de tamaño Z*Z a la derecha para Pi j veces. Puede aprenderse que cada elemento cuyo valor es 0 en la gráfica base se reemplaza con una matriz completamente nula de tamaño Z*Z, y cada elemento cuyo valor es 1 se reemplaza con una matriz de permutación circular de tamaño Z*Z que corresponde a un valor de desplazamiento del elemento, para obtener la matriz de comprobación de paridad del código de LDPC. La gráfica base puede utilizarse para indicar posiciones de valores de desplazamiento, y cada elemento no nulo en la gráfica base corresponde a un valor de desplazamiento. Z es un número entero positivo y también puede denominarse como factor de elevación o, algunas veces, denominarse como tamaño de elevación, factor de elevación o similares. Z puede determinarse con base en un tamaño de bloque de código soportado por un sistema y tamaño de datos de información. Puede aprenderse que la matriz H de comprobación de paridad tiene un tamaño de (m*Z)*(n*Z). Por ejemplo, si el factor de elevación Z es 4, cada elemento nulo se reemplaza con una matriz completamente nula de tamaño 4*4 11a. Si P2,3 es 2, un elemento no nulo en la fila 2 y la columna 3 se reemplaza con una matriz de permutación circular 4*4 11d, y la matriz 11d se obtiene al desplazar de manera circular una matriz de identidad 4*4 1 lb hacia la derecha dos veces. Si P2,4 es 0, un elemento no nulo en la fila 2 y la columna 4 se reemplaza con la matriz de identidad 11b. Cabe señalar que sólo se describen ejemplos en la presente, y los ejemplos no constituyen una limitación.
El valor de Py puede depender del factor de elevación Z, para un elemento de 1 (un elemento no nulo) en la fila i y la columna j de la gráfica base, Py puede ser diferente para diferentes factores de elevación Z. Para facilidad de implementación, una matriz base (base matrix) de m filas y n columnas, que algunas veces se denomina como matriz de comprobación de paridad (PCM), puede definirse en el sistema. Los elementos en la matriz base se encuentran en una correspondencia de uno a uno con los elementos en la gráfica base. Un elemento nulo en la gráfica base tiene una misma posición en la matriz base. En la matriz, un elemento nulo se representa por un valor -1 o un valor nulo. Un elemento no nulo en la fila i y la columna j, cuyo valor es 1 en la gráfica base, corresponde a un elemento no nulo en una misma posición en la matriz base. El elemento no nulo es representado por un valor Py, donde Py puede ser un valor de desplazamiento definido con respecto a un factor de elevación Z preestablecido o particular. En las modalidades de esta solicitud, la matriz base algunas veces también se denomina como matriz de desplazamiento de una gráfica base.
Como se muestra en la FIGURA 1, 10b es una matriz base que corresponde a la gráfica base 10a.
Generalmente, la gráfica base o la matriz base del código de LDPC además puede incluir p columnas que corresponden a bits de perforación integrados (built-in puncture), y p puede ser un número entero que varía de 0 a 2. Estas columnas pueden utilizarse en la codificación, pero los bits de sistema que corresponden a la codificación que utiliza las columnas que corresponden a los bits de perforación integrados no se envían. Una tasa de código de la matriz base del código de LDPC cumple con R=(n-m)/(n-p). Al utilizar la gráfica base 10a como ejemplo, si hay dos columnas que corresponden a los bits de perforación integrados, una tasa de código es (27-5)/(27-2)=0,88, que es aproximada a 8/9.
Un código de LDPC utilizado en un sistema de comunicación inalámbrica es un código de QC-LDPC, y una parte de matriz que corresponde a los bits de paridad del código de QC-LDPC tiene una estructura bidiagonal o una estructura tipo Raptor. Esto puede simplificar la codificación y soportar la repetición híbrida de redundancia por incrementos. En un decodificador para el código de QC-LDPC, una red de desplazamiento de QC-LDPC (QC-LDPC shift network, QSN), una red de Banyan o una red de Benes se utiliza normalmente para implementar un desplazamiento circular de información.
Una gráfica base del código de QC-LDPC con la estructura tipo Raptor es una matriz de m filas y n columnas. La gráfica base puede incluir cinco submatrices:A, B, C, D y E, donde un peso de una matriz se determina por una cantidad de elementos no nulos, un peso de una fila (row weight) se refiere a una cantidad de elementos no nulos en una fila, un peso de una columna (column weight) se refiere a una cantidad de elementos no nulos en una columna. Como se muestra en 200 en la FlGURA 2:
Submatriz A es una matriz que incluye mA filas y nA columnas, y un tamaño de la submatriz A es mA * nA. Cada columna corresponde a Z bits sistemáticos en el código de LDPC, y un bit sistemático algunas veces se denomina como bit de información.
Submatriz B es una matriz que incluye mA filas y mA columnas, y un tamaño de la submatriz B es mA * mA. Cada columna corresponde a Z bits de paridad en el código de LDPC. La submatriz B incluye una submatriz B' con una estructura bidiagonal y una columna de matriz cuyo peso de columna es 3 (para abreviar, columna de peso 3), y la columna de peso 3 puede ubicarse en el lado izquierdo de la submatriz B', como se muestra en 20a en la FIGURA 2. La submatriz B además puede incluir una o más columnas de matriz cuyos pesos de columna son 1 (para abreviar, columna de peso 1). Por ejemplo, una posible implementación se muestra en 20b o 20c en la FIGURA 2.
Normalmente, una matriz generada con base en la submatriz A y la submatriz B es una matriz central, y puede utilizarse para soportar codificación de alta tasa de código.
Una submatriz C es una matriz completamente nula, y tiene un tamaño de mA * mp.
La submatriz E es una matriz de identidad, y tiene un tamaño de mo * me.
La submatriz D tiene un tamaño de mD * (nA mA), y puede utilizarse normalmente para generar bits de paridad para una baja tasa de código.
Puede entenderse que la gráfica base se describe en lo anterior a partir de una perspectiva de definición matemática. Debido a que C es una matriz completamente nula y E es una matriz de identidad, en una implementación posible, una matriz que incluye la submatriz A y la submatriz B, o una matriz que incluye la submatriz A, la submatriz B y la submatriz D, pueden utilizarse para representar simplemente una gráfica base de una matriz para codificar o decodificar.
Debido a que la submatriz C y la submatriz E tienen estructuras relativamente definidas, las estructuras de la submatriz A, la submatriz B y la submatriz D son uno de los factores que afectan al rendimiento de codificación y decodificación del código de LDPC.
Cuando una matriz de LDPC con una estructura similar a Raptor se utiliza para codificar, en una posible implementación, la matriz que incluye la submatriz A y la submatriz B, en otras palabras, la matriz central, puede utilizarse primero para codificar para obtener uno o más bits de paridad que corresponden a la submatriz B, y luego toda la matriz se utiliza para codificar para obtener uno o más bits de paridad que corresponden a la submatriz E. Debido a que la submatriz B puede incluir una submatriz B' con la estructura bidiagonal y una o más columnas de peso 1, durante la codificación, primero pueden obtenerse bits de paridad que corresponden a la estructura bidiagonal, y luego pueden obtenerse los bits de paridad que corresponden a las columnas de peso 1.
Lo siguiente proporciona una implementación de codificación ejemplar. Se supone que la matriz central que incluye la submatriz A y la submatriz B es Hcentral. Una última fila y una última columna en el Hcentral se retiran de Hcentral, en otras palabras, una columna de peso 1 y una fila en la que se ubica un elemento no nulo en la columna de peso 1 en el Hcentral re retiran de Hcentral, para obtener una matriz Hcentral-doble . Parte de los bits de paridad del Hcentral -doble se representa por He=[He1 He2]. He1 es una columna de peso 3 y He2 tiene una estructura bidiagonal. De acuerdo con una definición de la matriz de LDPC, Hcentral-doble [S Pe]T = 0, donde S es una secuencia de entrada y se representa por un vector de bits de información, Pe es un vector que incluye bits de paridad y [S Pe]T representa una matriz transpuesta formada por la secuencia de entrada S y Pe. Por lo tanto, los bits de paridad que corresponden a Hcentral-doble pueden calcularse primero con base en la secuencia de entrada S y Hcentral-doble, donde la secuencia de entrada S incluye todos los bits de información. Luego, los bits de paridad que corresponden a una o más columnas de peso 1 en la submatriz B se calculan con base en los bits de paridad obtenidos que corresponden a Hcentral-doble y la secuencia de entrada S. En este caso, pueden obtenerse todos los bits de paridad que corresponden a la submatriz B. Entonces, los bits de paridad que corresponden a la submatriz E se obtienen al codificar la submatriz D y con base en la secuencia de entrada S y los bits de paridad que corresponden a la submatriz B. De esta manera, se obtienen todos los bits de información y todos los bits de paridad. Estos bits forman una secuencia codificada, en otras palabras, palabras de código de LDPC.
Opcionalmente, la codificación de código de LDPC además puede incluir una operación de acortamiento (shortening) y una operación de perforación (puncturing). Los bits acortados y los bits perforados no se envían.
El acortamiento normalmente se realiza a partir del último bit de los bits de información, y puede realizarse de diferentes maneras. Por ejemplo, para una cantidad de bits acortados es s0, los últimos s0 bits en la secuencia de entrada S pueden establecerse como bits conocidos, por ejemplo, establecerse en 0 o nulo u otro valor, para obtener una secuencia de entrada S', y luego la secuencia de entrada S' se codifica al utilizar una matriz de LDPC. Para otro ejemplo, los últimos bits (sO mod Z) en la secuencia de entrada S pueden establecerse como bits conocidos, por ejemplo, establecerse en 0 o nulo u otro valor, para obtener una secuencia de entrada S', y las últimas columnas
en la submatriz A se eliminan para obtener una matriz H' de LDPC, y la secuencia de entrada S' se codifica al utilizar la matriz H' de LDPC, o las últimas
Figure imgf000007_0001
columnas de la submatriz A no participan en la codificación de la secuencia
de entrada S'. Después de la codificación, los bits acortados no se envían.
La perforación puede realizarse en bits de perforación integrados, o en bits de paridad en una secuencia de entrada. La perforación de bits de paridad se realiza normalmente a partir del último bit en los bits de paridad. Alternativamente, la perforación de los bits de paridad puede realizarse de acuerdo con un orden de perforación preestablecido del sistema. En una posible implementación, primero se codifica una secuencia de entrada y, luego, con base en una cantidad p de bits que deben perforarse, se seleccionan los últimos p bits en los bits de paridad o se seleccionan los p bits con base en la secuencia de perforación preestablecida en el sistema, donde no se envían los p bits. En otra posible implementación, pueden determinarse p columnas que corresponden a bits perforados en una matriz y p filas en las que se encuentran elementos no nulos en estas columnas, y no participan las filas y las columnas en la codificación, y por lo tanto, no se generan bits de paridad correspondientes.
Debe observarse que la implementación de codificación se utiliza simplemente como un ejemplo en la presente, y otra implementación de codificación conocida por una persona con experiencia en la técnica puede utilizarse con base en la gráfica base y/o las matrices base proporcionadas en esta solicitud, y ninguna limitación se impone en esta solicitud. La decodificación en esta solicitud puede realizarse utilizando una pluralidad de métodos de decodificación, por ejemplo, un método de decodificación de suma mínima (MS) o un método de decodificación de propagación de creencia. El método de decodificación de MS algunas veces también se denomina como método de decodificación de MS por inundación. Por ejemplo, se inicializa una secuencia de entrada y se realiza una iteración en la secuencia de entrada inicializada. La detección de decisiones difíciles se realiza después de la iteración y se comprueba el resultado de una decisión difícil. Si el resultado de decodificación cumple con una ecuación de comprobación de paridad, la decodificación tiene éxito, finaliza el procesamiento de iteración y se emite el resultado de decisión. Si un resultado de decodificación no cumple con una ecuación de comprobación de paridad, se realiza una iteración nuevamente dentro de una cantidad máxima de veces de iteración. Si la comprobación aún falla cuando se alcanza la cantidad máxima de veces de iteración, la decodificación falla. Puede entenderse que una persona con experiencia en la técnica puede comprender que un principio de la decodificación de MS se conoce convencionalmente, y los detalles no se describen en la presente.
Cabe señalar que el método de decodificación se utiliza simplemente como un ejemplo en la presente, y puede utilizarse otro método de decodificación conocido para una persona con experiencia en la técnica con base en la gráfica base y/o la matriz base proporcionada en esta solicitud, y ninguna limitación se impone en esta solicitud.
Normalmente, puede obtenerse un código de LDPC con base en un diseño de una gráfica base o una matriz base. Por ejemplo, un límite superior de rendimiento del código de LDPC puede determinarse al realizar una evolución de densidad en la gráfica base o la matriz base, y un nivel mínimo de error del código de LDPC se determina con base en los valores de desplazamiento en la matriz base. Mejorar el rendimiento de codificación y decodificación y reducir el nivel mínimo de error son algunos objetivos del diseño de la gráfica base y la matriz base. Las longitudes de código son muy variadas en un sistema de comunicación inalámbrica. Por ejemplo, una longitud de código puede ser de 2560 bits, 38400 bits o similares. La FIGURA 3a muestra un ejemplo de una gráfica base 30a de un código de LDPC. La FIGURA 3b-1 a la FIGURA 3b-10 son ejemplos de matrices base de la gráfica base 30a, y pueden cumplirse los requisitos de rendimiento de varias longitudes de bloque. Para facilitar la descripción y la comprensión, los índices de fila y los índices de columna se muestran por separado en el lado superior y el lado izquierdo en la FIGURA 3a, y la FIGURA 3b-1 a 3b-10.
La FIGURA 3a muestra un ejemplo de una gráfica base 30a de un código de LDPC. En la cifra, 0 a 67 (es decir, columna 0 a columna 67) en la fila superior se indican índices de columna, y 0 a 45 (es decir, fila 0 a fila 45) en la columna izquierda se indican índices de fila. Es decir, la gráfica base tiene un tamaño de 46 filas y 68 columnas.
En una implementación, la submatriz A y la submatriz B pueden considerarse como una matriz central de la gráfica base del código de LDPC, y pueden utilizarse para codificación de alta tasa de código. Una matriz que incluye 5 filas y 27 columnas como se muestra en la gráfica base 10a puede ser una matriz central de la gráfica base, que es una matriz que incluye 5 filas y 27 columnas.
En una implementación, la submatriz A puede incluir una o más columnas que corresponden a los bits de perforación integrados, por ejemplo, puede incluir dos columnas que corresponden a los bits de perforación integrados. Después de la perforación, una tasa de código que puede ser soportada por la matriz central es 0,88.
La submatriz B puede incluir una columna de peso 3, es decir, un peso de columna de la columna 0 de la submatriz B (columna 22 de la matriz central) es 3. La submatriz B tiene una estructura bidiagonal que incluye la columna 1 a la columna 3 (columna 23 a la columna 25 de la matriz central) y la fila 0 a la fila 3 de la submatriz, y la submatriz B además incluye una columna de peso 1 (columna 26 de la matriz central).
En una implementación, la submatriz A puede corresponder a bits sistemáticos. Los bits sistemáticos algunas veces se denominan como bits de información. La submatriz A tiene un tamaño de mA filas y 22 columnas, si mA =5, y la submatriz A incluye elementos en la fila 0 a la fila 4 y la columna 0 a la columna 21 en la gráfica base 30a.
En una implementación, la submatriz B puede corresponder a bits de paridad, la submatriz B tiene un tamaño de mA filas y mA columnas, e incluye elementos en la fila 0 a la fila 4 y la columna 22 a la columna 26 en la gráfica base 30a.
Para obtener tasas de código flexibles, puede agregarse una submatriz C, una submatriz D y una submatriz E de tamaños correspondientes con base en la matriz central, para obtener diferentes tasas de código. La submatriz C es una matriz completamente nula. La submatriz E es una matriz de identidad, los tamaños de las matrices se determinan de acuerdo con una tasa de código y las estructuras de las matrices son relativamente fijas. Por lo tanto, el rendimiento de codificación y el rendimiento de decodificación se ven afectados principalmente por la matriz central y la submatriz D. Las filas y columnas se agregan con base en la matriz central para formar C, D y E correspondientes, de modo que pueden obtenerse diferentes tasas de código.
Un recuento de columnas mp de la submatriz D es una suma de un recuento de columnas de la submatriz A y un recuento de columnas de la submatriz B, y un recuento de filas de la submatriz D se relaciona principalmente con una tasa de código. La gráfica base 30a se utiliza como ejemplo. Un recuento de columnas de la submatriz D es 27 columnas. Si una tasa de código soportada por un código de LDPC es Rm, una gráfica base o una matriz base del código de LDPC tiene un tamaño de m filas y n columnas, donde n / , y n / .
n = +p m = n - n A= y ^ p - n A Si una tasa de código mínima Rm es 1/3, y una cantidad p de columnas que corresponden a bits de perforación integrados es 2, en el ejemplo de la gráfica base 30a, n=68, m=46, un recuento de mD filas de la submatriz D puede ser hasta m- mA =46-5=41, y 0<mD<41.
La gráfica base 30a se utiliza como ejemplo. La submatriz D puede incluir mo filas en la fila 5 a la fila 41 en la gráfica base 30a.
En esta solicitud, si hay como máximo un elemento no nulo en una misma columna para dos filas adyacentes en una gráfica base, las dos filas son mutuamente ortogonales. En otras columnas diferentes de algunas columnas para dos filas adyacentes en la gráfica base, si hay como máximo un elemento no nulo en una misma columna de las otras columnas para dos filas adyacentes, las dos filas son cuasi-ortogonales. Por ejemplo, para dos filas adyacentes, si sólo hay un elemento no nulo en una columna distinta a las columnas que corresponden a los bits de perforación integrados, las dos filas adyacentes son cuasi-ortogonales.
La fila 5 a la fila 41 en la gráfica base 30a puede incluir una pluralidad de filas con una 15 estructura cuasi-ortogonal y al menos dos filas con una estructura ortogonal. Por ejemplo, la fila 5 a la fila 41 en la gráfica base 30a incluye al menos 15 filas que cumplen con la estructura cuasi-ortogonal. Hay como máximo un elemento no nulo en una misma columna en columnas distintas a las columnas que corresponden a los bits de perforación integrados en cualquiera de las dos filas adyacentes de las 15 filas. . La fila 5 a la fila 41 en la gráfica base 30a además puede incluir 10 a 26 filas que cumplen con la estructura ortogonal. En otras palabras, en estas filas, hay como máximo un elemento no nulo en una misma columna para cualquiera de las dos filas adyacentes. En otras palabras, también hay como máximo un elemento no nulo en una columna que corresponde a los bits de perforación integrados.
Si mo =15, la submatriz D en la gráfica base del código de LDPC tiene un tamaño de 15 filas y 27 columnas. La submatriz D puede ser una matriz constituida por la fila 5 a la fila 19 y la columna 0 a la columna 26 en la gráfica base 30a. Una tasa de código correspondiente soportada por el código de LDPC es 22/40=0,55. A esta tasa de código, la gráfica base del código de LDPC corresponde a una matriz constituida por la fila 0 a la fila 19 y la columna 0 a la columna 41 en la gráfica base 30a. La submatriz E es una matriz de identidad de 15 filas y 15 columnas, y la submatriz C es una matriz completamente nula de 5 filas y 15 columnas.
Si mD=19, la submatriz D en la gráfica base del código de LDPC tiene un tamaño de 19 filas y 27 columnas. La submatriz D puede ser una matriz constituida por la fila 5 a la fila 23 y la columna 0 a la columna 26 en la gráfica base 30a. Una tasa de código correspondiente soportada por el código de LDPC es 22/44=1/2. A esta tasa de código, la gráfica base del código de LDPC corresponde a una matriz formada por la fila 0 a la fila 23 y la columna 0 a la columna 45 en la gráfica base 30a. La submatriz E es una matriz de identidad de 19 filas y 19 columnas, y la submatriz C es una matriz completamente nula de 5 filas y 19 columnas.
Lo mismo es cierto si mD es otro valor, y no se describen los detalles.
En un diseño, la permutación de filas/columnas puede realizarse en la gráfica base y/o la matriz base. En otras palabras, puede realizarse permutación de filas o permutación de columnas, o permutación de filas y permutación de columnas. La operación de permutación de filas/columnas no cambia un peso de fila o un peso de columna, y tampoco cambia una cantidad de elementos no nulos. Por lo tanto, una gráfica base y/o una matriz base obtenida por permutación de filas/columnas tiene/tienen un impacto limitado en el rendimiento de sistema. En general, el impacto en el rendimiento de sistema debido a la permutación de filas/columnas es aceptable y queda dentro de un margen tolerable. Por ejemplo, en algunos escenarios o en algunos márgenes, el rendimiento se reduce en un margen permitido, mientras que en algunos escenarios o en algunos márgenes, el rendimiento se mejora. En conjunto, y el rendimiento general no se ve muy afectado.
Por ejemplo, la fila 34 y la fila 36 en la gráfica base 30a pueden intercambiarse, y la columna 44 y la columna 45 pueden intercambiarse. Para otro ejemplo, la submatriz D incluye mD filas en una matriz F, la permutación de filas no puede realizarse en las mD filas, o la permutación de filas puede realizarse en una o más de las mD filas; y la submatriz E todavía tiene una estructura diagonal, y no se realiza permutación de filas o permutación de columnas en la submatriz E. Por ejemplo, la fila 27 y la fila 29 en la matriz F se intercambian, la submatriz D incluye mD filas en la submatriz F, y la submatriz E todavía tiene una estructura diagonal. Puede entenderse que, si la gráfica base o la matriz base incluye la submatriz D, cuando el intercambio de columnas se realiza en columnas en la matriz central, el intercambio de columnas debe realizarse de manera correspondiente en la submatriz D.
Las matrices 30b-10 a 30b-80 mostradas en la FIGURA 3b-1 a la FIGURA 3b-10 son diseños respectivamente de una pluralidad de matrices base de la gráfica base 30a. La posición de un elemento no nulo en la fila i y la columna j, en la gráfica base 30a, en cada una de las matrices 30b-10 a 30b-80 no cambia, y un valor del elemento no nulo en la fila i y la columna j en cada una de las matrices es un valor de desplazamiento V j y un elemento nulo se representa por -1 o nulo en la matriz base. Una parte correspondiente de la submatriz D en las matrices base puede incluir mD filas en la fila 5 a la fila 45 de cualquiera de las matrices base, y un valor de mD puede seleccionarse con base en las diferentes tasas de código. Puede entenderse que, si la gráfica base es una matriz obtenida al realizar la transformación de filas/columnas en la gráfica base 30a, la matriz base también es una matriz obtenida al realizar la transformación de filas/columnas en cualquiera de las matrices 30b-10 a 30b-80.
En un posible diseño, la matriz base del código de LDPC puede incluir la fila 0 a la fila 4 y la columna 0 a la columna 26 en cualquiera de las matrices 30b-10 a 30b-80 mostradas en la FIGURA 3b-1 a la FIGURA 3b-10. En este caso, una matriz que incluye la fila 0 a la fila 4 y la columna 0 a la columna 26 de la matriz mostrada en la FIGURA 3b-1 a la FIGURA 3b-10 puede utilizarse como una parte de matriz central de la matriz base. En este diseño, una estructura de otra parte de la matriz base del código de LDPC, por ejemplo, la matriz C, la matriz D o la matriz E, no se limita. Por ejemplo, puede utilizarse cualquier estructura mostrada en la FIGURA 3b-1 a la FIGURA 3b-10 o pueden utilizarse otros diseños de matriz.
En otro diseño posible, la matriz base del código de LDPC puede incluir: una matriz que incluye la fila 0 a la fila (m-1) y la columna 0 a la columna (n-1) en cualquiera de las matrices 30b-10 a 30b-80 mostradas en la FIGURA 3b-1 a la FIGURA 3b-10, donde 5 < m < 46, m es un número entero, 27 < n < 68, y n es un número entero.
En este diseño, una estructura de otra parte de la matriz base del código de LDPC no se limita. Por ejemplo, puede utilizarse cualquier estructura mostrada en la FIGURA 3b-1 a la FIGURA 3b-10 o pueden utilizarse otros diseños de matriz.
En otro posible diseño, la matriz base del código de LDPC puede incluir: fila 0 a fila 4 y algunas de la columna 0 a la columna 26 en cualquiera de las matrices 30b-10 a 30b-80 mostradas en la FIGURA 3b-1 a la FIGURA 3b-10. Por ejemplo, el acortamiento (shortening) y/o la perforación (puncturing) pueden realizarse en una parte de matriz central (fila 0 a la fila 4 y columna 0 a la columna 26) de una matriz mostrada en la FIGURA 3b-1 a la FIGURA 3b-10. En una implementación, la matriz base del código de LDPC puede no incluir una columna que corresponde a bits acortados y/o perforados.
En este diseño, otra parte de la matriz base del código de LDPC no se limita. Por ejemplo, las estructuras mostradas en la FIGURA 3b-1 a la FIGURA 3b-10pueden ser mencionadas, o pueden utilizarse otras estructuras
En otro diseño posible, la matriz base del código de LDPC puede incluir: una matriz que incluye la fila 0 a la fila (m-1) y algunas de la columna 0 a columna (n-1) en cualquiera de las matrices 30b-10 a 30b-80 mostradas en la FIGURA 3b-1 a la FIGURA 3b-10, donde 5 < m < 46, m es un número entero, 27 < n < 68 y n es un número entero. Por ejemplo, el acortamiento (shortening) y/o la perforación (punturing) pueden realizarse en la fila 0 a la fila (m-1) y la columna 0 a la columna (n-1) en cualquiera de las matrices 30b-10 a 30b-80 mostradas en la FIGURA 3b-1 a la FiGu RA 3b-10. En una implementación, la matriz base del código de LDPC puede no incluir columnas que correspondan a bits acortados y/o perforados. En este diseño, otra parte de la matriz base del código de LDPC no se limita. Por ejemplo, las estructuras mostradas en la FIGURA 3b-1 a la FIGURA 3b-10 pueden ser mencionadas, o puede utilizarse otra estructura
En una implementación, la operación de acortamiento se puede realizaren bits de información. Por ejemplo, cualquier matriz mostrada en la FIGURA 3b-1 a la FIGURA 3b-10 se utiliza como ejemplo. Si una o más columnas de la columna 0 a la columna 21 se acortan, la matriz base del código de LDPC puede no incluir una o más columnas acortadas de las matrices mostradas en la FIGURA 3b-1 a la FIGURA 3b-10. Por ejemplo, si la columna 21 se acorta, la matriz base del código de LDPC puede incluir: columna 0 a columna 20 y columna 22 a columna 26 en cualquiera de las matrices 30b-10 a 30b-80. Para una matriz que incluye la fila 0 a la fila 4, la columna 0 a la columna 20 y la columna 22 a la columna 26 en cualquiera de las matrices 30b-10 a 30b-80, una tasa de código soportada por la matriz en este caso es 7/8.
En otra implementación, la perforación puede realizarse en bits de paridad. Por ejemplo, cualquier matriz mostrada en la FIGURA 3b-1 a la FIGURA 3b-10 se utiliza como ejemplo, y se perforan una o más columnas de la columna 22 a la columna 26. La matriz base del código de LDPC puede no incluir una o más columnas perforadas en las matrices mostradas en la FIGURA 3b-1 a la FIGURA 3b-10. Por ejemplo, si la columna 26 se perfora, la matriz base del código de LDPC puede incluir: columna 0 a columna 25 en cualquiera de las matrices 30b-10 a 30b-80.
Los diferentes factores de elevación Z se diseñan para el código de LDPC, para soportar secuencias de bits de información de diferentes longitudes. En un posible diseño, pueden utilizarse diferentes matrices base para diferentes factores de elevación, para obtener un rendimiento relativamente alto. Por ejemplo, factores de elevación Z = a * 2j, donde 0 <j < 7, y a e {2,3,5,7,9,11,13,15}. La tabla 1 es un conjunto de factores de elevación {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 22, 24, 26, 28, 30, 32, 36, 40, 44, 48, 52, 56, 60, 64, 72, 80, 88, 96, 104, 112, 120, 128, 144, 160, 176, 192, 208, 224, 240, 256, 288, 320, 352, 384} que posiblemente se soporta. Cada una de las celdas, excepto la fila superior y la columna más a la izquierda, representa un valor de Z que corresponde a los valores correspondientes a y j. Por ejemplo, para una columna en la que a=2 y una fila en la que j=1, Z=4. Para otro ejemplo, para a=11 y j=3, Z=88. Por analogía, los detalles no se describen.
Tabla 1
Figure imgf000011_0001
Un conjunto de factores de elevación soportado por una gráfica base puede ser todos o algunos de los factores de elevación en la Tabla 1, por ejemplo, pueden ser {24, 26, 28, 30, 32, 36, 40, 44, 48, 52, 56, 60, 64, 72, 80, 88, 96, 104, 112, 120, 128, 144, 160, 176, 192, 208, 224, 240, 256, 288, 320, 352, 384}, en los que Z es mayor que o igual a 24. Para otro ejemplo, el conjunto de factores de elevación puede ser un conjunto de unión de uno o más de {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 22} y {24, 26, 28, 30, 32, 36, 40, 44, 48, 52, 56, 60, 64, 72, 80, 88, 96, 104, 112, 120, 128, 144, 160, 176, 192, 208, 224, 240, 256, 288, 320, 352, 384}. Cabe señalar que sólo se proporcionan ejemplos en la presente. El conjunto de factores de elevación soportado por la gráfica base puede dividirse en diferentes subconjuntos basados en un valor de a. Por ejemplo, si a=2, un subconjunto del factor de elevación Z puede incluir uno o más de {2, 4, 8, 16, 32, 64, 128, 256}. Para otro ejemplo, si a=3, un subconjunto del factor de elevación Z puede incluir uno o más de {3, 6, 12, 24, 48, 96, 192, 384}, y así sucesivamente.
El conjunto de factores de elevación soportado por la gráfica base puede dividirse con base en diferentes valores de a, y se determina una matriz base correspondiente
Si a=2, o un valor del factor de elevación Z es uno de {2, 4, 8, 16, 32, 64, 128, 256}, la matriz base puede incluir la fila 0 a la fila 4 y la columna 0 a la columna 26 en la matriz 30b-10 o 30b-11; o la matriz base incluye la fila 0 a la fila (m-1) y la columna 0 a la columna (n-1) en la matriz 30b-10 o 30b-11, donde 5 < m < 46, m es un número entero, 27 < n < 68, y n es un número entero; o la matriz base incluye la fila 0 a la fila (m-1) y algunas de la columna 0 a la columna (n-1) en la matriz 30b-10 o 30b-11, donde 5 < m < 46, m es un número entero, 27 < n < 68, y n es un número entero.
Si a=3, o un valor del factor de elevación Z es uno de {3, 6, 12, 24, 48, 96, 192, 384}, la matriz base puede incluir la fila 0 a la fila 4 y la columna 0 a la columna 26 en la matriz 30b-20 o 30b-21; o la matriz base incluye la fila 0 a la fila (m-1) y la columna 0 a la columna (n-1) en la matriz 30b-20 o 30b-21, donde 5 < m < 46, m es un número entero, 27 < n < 68, y n es un número entero; o la matriz base incluye la fila 0 a la fila (m-1) y algunas de la columna 0 a la columna (n-1) en la matriz 30b-20 o 30b-21, donde 5 < m < 46, m es un número entero, 27 < n < 68, y n es un número entero.
Si a=5, o un valor del factor de elevación Z es uno de {5, 10, 20, 40, 80, 160, 320}, la matriz base puede incluir la fila 0 a la fila 4 y la columna 0 a la columna 26 en el matriz 30b-30; o la matriz base incluye la fila 0 a la fila (m-1) y la columna 0 a la columna (n-1) en la matriz 30b-30, donde 5 < m < 46, m es un número entero, 27 < n < 68, y n es un número entero; o la matriz base incluye la fila 0 a la fila (m-1) y algunas de la columna 0 a la columna (n-1) en la matriz 30b-30, donde 5 < m < 46, m es un número entero, 27 < n < 68, y n es un número entero.
Si a=7, o un valor del factor de elevación Z es uno de {7, 14, 28, 56, 112, 224}, la matriz base puede incluir la fila 0 a la fila 4 y la columna 0 a la columna 26 en la matriz 30b -40; o la matriz base incluye la fila 0 a la fila (m-1) y la columna 0 a la columna (n-1) en la matriz 30b-40, donde 5<m<46, m es un número entero, 27<n<68, y n es un número entero; o la matriz base incluye la fila 0 a la fila (m-1) y algunas de la columna 0 a la columna (n-1) en la matriz 30b-40, donde 5<m<46, m es un número entero, 27<n<68, y n es un número entero.
Si a=9, o un valor del factor de elevación Z es uno de {9, 18, 36, 72, 144, 288}, la matriz base incluye la fila 0 a la fila 4 y la columna 0 a la columna 26 en la matriz 30b- 50; o la matriz base incluye la fila 0 a la fila (m-1) y la columna 0 a la columna (n-1) en la matriz 30b-50, donde 5 < m < 46, m es un número entero, 27 < n < 68, y n es un número entero; o la matriz base incluye la fila 0 a la fila (m-1) y algunas de la columna 0 a la columna (n-1) en la matriz 30b-50, donde 5 < m < 46, m es un número entero, 27 < n < 68, y n es un número entero.
Si a=11, o un valor del factor de elevación Z es uno de {11,22, 44, 88, 176, 352}, la matriz base puede incluir la fila 0 a la fila 4 y la columna 0 a la columna 26 en la matriz 30b-60; o la matriz base incluye la fila 0 a la fila (m-1) y la columna 0 a la columna (n-1) en la matriz 30b-60, donde 5 < m < 46, m es un número entero, 27 < n < 68, y n es un número entero; o la matriz base incluye la fila 0 a la fila (m-1) y algunas de la columna 0 a la columna (n-1) en la matriz 30b-60, donde 5 < m < 46, m es un número entero, 27 < n < 68, y n es un número entero.
Si a=13, o un valor del factor de elevación Z es uno de {13, 26, 52, 104, 208}, la matriz base puede incluir la fila 0 a la fila 4 y la columna 0 a la columna 26 en la matriz 30b-70; o la matriz base incluye la fila 0 a la fila (m-1) y la columna 0 a la columna (n-1) en la matriz 30b-70, donde 5 < m < 46, m es un número entero, 27 < n < 68, y n es un número entero; o la matriz base incluye la fila 0 a la fila (m-1) y algunas de la columna 0 a la columna (n-1) en la matriz 30b-70, donde 5 < m < 46, m es un número entero, 27 < n < 68, y n es un número entero.
Si a=15, o un valor del factor de elevación Z es uno de {15, 30, 60, 120, 240}, la matriz base puede incluir la fila 0 a la fila 4 y la columna 0 a la columna 26 en la matriz 30b-80; o la matriz base incluye la fila 0 a la fila (m-1) y la columna 0 a la columna (n-1) en la matriz 30b-80, donde 5 < m < 46, m es un número entero, 27 < n < 68, y n es un número entero; o la matriz base incluye la fila 0 a la fila (m-1) y algunas de la columna 0 a la columna (n-1) en la matriz 30b-80, donde 5 < m < 46, m es un número entero, 27 < n < 68, y n es un número entero.
Opcionalmente, para una matriz base para un código de LDPC, pueden incrementarse o disminuirse los valores de desplazamiento de elementos no nulos en una o más columnas en la matriz por una compensación Offsets, sin afectar mucho el rendimiento de sistema. Las compensaciones de elementos no nulos en diferentes columnas pueden ser las mismas o pueden ser diferentes. Por ejemplo, para compensar una o más columnas en la matriz, los valores de compensación para diferentes columnas pueden ser los mismos o puede ser diferentes. Esto no se limita en esta solicitud.
Sin afectar mucho el rendimiento de sistema significa que el impacto en el rendimiento de sistema es aceptable y se encuentra dentro de un margen de tolerancia como un todo. Por ejemplo, el rendimiento disminuye dentro de un margen de tolerancia en algunos escenarios o en algunos márgenes. Sin embargo, en algunos escenarios o en algunos márgenes, el rendimiento mejora en cierta medida. El rendimiento general no se ve afectado mucho.
Por ejemplo, cada valor de desplazamiento mayor o igual a 0 en la columna s en cualquiera de las matrices 30b-10 a 30b-80 se incrementa o disminuye por una compensación Offsets, de modo que se pueda obtener una matriz de compensación Hs de la matriz puede obtenerse, donde Offsets es un número entero mayor que o igual a 0, y 0 < s < 23 . Las compensaciones Offsets de una o más columnas pueden ser las mismas o pueden ser diferentes.
En un diagrama de rendimiento mostrado en la FIGURA 4, se muestran las curvas de rendimiento de los códigos LDPC codificados con base en las matrices 30b-10 a 30b-80. Una coordenada horizontal representa una longitud de una secuencia de bits de información y una unidad de longitud es un bit. Una coordenada vertical es una relación señal a ruido de símbolo (Es/N0) requerida para alcanzar una BLER correspondiente. Dos líneas de cada tasa de código respectivamente corresponden a dos casos cuando las BLER son 0,01 y 0,0001. A la misma tasa de código, el caso cuando la BLER es 0,01 corresponde a una curva superior, y el caso cuando la BLER es 0,0001 corresponde a una curva inferior. Si cada curva es suave, indica que la matriz tiene un rendimiento relativamente bueno en casos de diferentes longitudes de código.
La FIGURA 1 a la FIGURA 3a y la FIGURA 3b-1 a la FIGURA 3b-10 muestran estructuras de una gráfica base y una matriz base de un código de LDPC. Para describir los diseños de la gráfica base y/o las matrices base en las implementaciones de la presente solicitud, los diseños pueden describirse adicionalmente en la Tabla 2-10 y la Tabla 2-11.
En un diseño, la gráfica base 10a en la FIGURA 1 es una matriz de 5 filas y 27 columnas, y los parámetros relacionados pueden expresarse en la Tabla 2-10.
Tabla 2-10
Figure imgf000012_0001
En un diseño, la matriz base que se muestra en 10b en la FIGURA 1 es una matriz de 5 filas y 27 columnas, y los parámetros relacionados se pueden expresar en la Tabla 2-11.
Tabla 2-11
Figure imgf000013_0002
En un diseño, la matriz 30b-10 en la FIGURA 3b-1 puede expresarse en la Tabla 3-10.
Tabla 3-10
Figure imgf000013_0001
Figure imgf000014_0001
En un diseño, la matriz 30b-11 en la FIGURA 3b-2 puede expresarse en la Tabla 3-11.
Tabla 3-11
Figure imgf000014_0002
Figure imgf000015_0001
En un diseño, la matriz 30b-20 en la FIGURA 3b-3 puede expresarse en la Tabla 3-20.
Tabla 3-20
Figure imgf000016_0001
Figure imgf000017_0002
En un diseño, la matriz 30b-21 en la FIGURA 3b-4 puede expresarse en la Tabla 3-21.
Tabla 3-21
Figure imgf000017_0001
Figure imgf000018_0002
En un diseño, la matriz 30b-30 en la FIGURA 3b-5 puede expresarse en la Tabla 3-30.
Tabla 3-30
Figure imgf000018_0001
Figure imgf000019_0002
En un diseño, la matriz 30b-40 en la FIGURA 3b-6 puede expresarse en la Tabla 3-40.
Tabla 3-40
Figure imgf000019_0001
Figure imgf000020_0002
En un diseño, la matriz 30b-50 en la FIGURA 3b-7 puede expresarse en la Tabla 3-50.
Tabla 3-50
Figure imgf000020_0001
Figure imgf000021_0001
Figure imgf000022_0002
En un diseño, la matriz 30b-60 en la FIGURA 3b-8 puede expresarse en la Tabla 3-60.
Tabla 3-60
Figure imgf000022_0001
Figure imgf000023_0001
En un diseño, la matriz 30b-70 en la FIGURA 3b-9 puede expresarse en la Tabla 3-70
Tabla 3-70
Figure imgf000023_0002
Figure imgf000024_0002
En un diseño, la matriz 30b-80 en la FIGURA 3b-10 puede expresarse en la Tabla 3-80.
Tabla 3-80
Figure imgf000024_0001
Figure imgf000025_0001
Puede entenderse que la FIGURA 1 a la FIGURA 3a, la FIGURA 3b-1 a la FIGURA 3b-10, la Tabla 2-10, la Tabla 2­ 11 y las Tablas 3-10 a la Tabla 3-80 son para ayudar a comprender los diseños de la gráfica base y la matriz, y las formas de expresión de los diseños no se limitan a las formas de expresión en la FIGURA 1 a la FIGURA 3a, la FIGURA 3b-1 a la FIGURA 3b-10, o Tabla 2-10, Tabla 2-11 y Tabla 3-10 a Tabla 3-80. Puede incluirse otra posible variación.
En una implementación, el parámetro "peso de fila" en la Tabla 2-10, la Tabla 2-11 y la Tabla 3-10 a la Tabla 3-80 puede omitirse alternativamente. Puede aprenderse una cantidad de elementos no nulos en una fila de acuerdo con las posiciones de columna de los elementos no nulos en la fila. Por lo tanto, también se aprende un peso de fila.
En una implementación, los valores de parámetro en el "índice de columna del elemento no nulo" en la Tabla 2-10, la Tabla 2-11 y la Tabla 3-10 a la Tabla 3-80 no pueden clasificarse en orden ascendente siempre que una posición de columna de un elemento no nulo pueda recuperarse utilizando los valores de parámetro. Además, los valores de parámetro en "valor de desplazamiento del elemento no nulo" en la Tabla 2-10, la Tabla 2-11 y la Tabla 3-10 a la Tabla 3-80 no pueden clasificarse con base en un orden de columna, siempre que los valores de parámetro en el "valor de desplazamiento del elemento no nulo" queden en correspondencia de uno a uno con los valores de parámetro en el "índice de columna del elemento no nulo".
En un diseño, para ahorrar espacio de almacenamiento, una posición de un elemento no nulo en una parte con una estructura relativamente definida en una gráfica base o una matriz base puede calcularse con base en una posición de fila o una posición de columna, y puede que no sea almacenada.
Por ejemplo, la submatriz E es una matriz diagonal e incluye elementos no nulos sólo en una diagonal de la matriz. Los valores de desplazamiento de estos elementos no nulos en la diagonal son 0. Un índice de columna de un elemento no nulo en la submatriz E puede calcularse con base en un índice de fila, o un índice de fila de un elemento no nulo puede calcularse con base en un índice de columna. Al utilizar la matriz 30b-50 en la FIGURA 3b-7 como ejemplo, un índice de columna de un elemento no nulo en la fila me es la columna (me+Kb), donde me>4, y Kb=22. Por ejemplo, un índice de columna de un elemento no nulo en la fila 7 es la columna 29, y un valor de desplazamiento del elemento no nulo es 0.
Para otro ejemplo, una estructura bidiagonal B' en una submatriz B se ubica en la fila 0 a la fila 3 y la columna 23 a la columna 25 en la matriz 30b-50. Puede calcularse un índice de columna de un elemento no nulo en la estructura bidiagonal B' con base en un índice de fila, o puede calcularse una posición de fila de un elemento no nulo con base en un índice de columna. Los índices de columna de elementos no nulos en la fila me incluyen la columna (me+Kb) y la columna (me+Kb+1), donde 0<me<3. Los índices de columna de un elemento no nulo en la fila me incluye la columna (me+Kb), donde me=0 o me=3. Un valor de desplazamiento de un elemento no nulo en la estructura bidiagonal de la submatriz B también es 0. También puede aprenderse que, una parte de matriz que incluye la columna 23 a la columna 25 que pertenece a una submatriz D, los índices de columna de elementos no nulos en la fila 5 a la fila 47 no son fijos, los valores de desplazamiento de los elementos no nulos no son 0 , y las posiciones y los valores de desplazamiento de los elementos no nulos aún deben almacenarse.
Para otro ejemplo, para una columna de peso 1 en una submatriz B, en otras palabras, la columna 26 en la matriz 30b-50, un índice de columna de un elemento no nulo en la fila me incluye la columna (me+Kb), donde me=4, y un valor de desplazamiento del elemento no nulo también es 0.
La Tabla 3-90 muestra los parámetros relacionados con las filas en la matriz 30b-50. Los índices de columna de elementos no nulos en la columna 0 a la columna 25 pueden almacenarse, mientras que los índices de columna de elementos no nulos en la columna 26 a la columna 68 no se almacenan. En otras palabras, los índices de columna de elementos no nulos en columnas de peso 1 en la submatriz E y la submatriz B no se almacenan.
Tabla 3-90
Figure imgf000026_0001
Figure imgf000027_0002
La Tabla 3-91 muestra los parámetros relacionados con las filas en la matriz 30b-50. Las posiciones de columna de elementos no nulos en la columna 0 a la columna 26 pueden almacenarse, mientras que las posiciones de columna de elementos no nulos en la columna 27 a la columna 6 8 no se almacenan. En otras palabras, las posiciones de columna de elementos no nulos en la submatriz E no se almacenan.
Tabla 3-91
Figure imgf000027_0001
Figure imgf000028_0001
En la Tabla 3-10 a la Tabla 3-91, un peso de fila es opcional, y un índice de fila y los índices de columna de elementos no nulos indican las posiciones de columna de elementos no nulos en cada fila, lo cual también se refiere a información sobre una gráfica base de una matriz de LDPC. En un diseño, la información sobre una gráfica base y los valores de desplazamiento de una matriz de LDPC pueden almacenarse de acuerdo con las formas en la Tabla 3-10 a la Tabla 3-91.
En otro diseño, la gráfica base de la matriz de LDPC y los valores de desplazamiento de la matriz de LDPC pueden almacenarse por separado. La información sobre los valores de desplazamiento de la matriz de LDPC puede almacenarse utilizando índices de fila y valores de desplazamiento de elementos no nulos en la Tabla 3-10 a la Tabla 3-91. La gráfica base de la matriz de LDPC puede almacenarse de una pluralidad de formas, por ejemplo, puede almacenarse en forma de matriz de la gráfica base 30a mostrada en la FIGURA 3a, o puede almacenarse con base en los índices de fila y posiciones de los elementos no nulos en la Tabla 3-10 a la Tabla 3-91, o pueden almacenarse de una manera que 1 y 0 en cada fila o cada columna en una gráfica base puedan considerarse como números binarios, y la gráfica base se almacena en forma de números decimales o números hexadecimales para ahorrar espacio de almacenamiento. La gráfica base 30a se utiliza como ejemplo. En cada fila, las posiciones de elementos no nulos en las primeras 26 columnas o las primeras 27 columnas pueden almacenarse en cuatro números hexadecimales. Por ejemplo, si las primeras 26 columnas en la fila 0 son 11110110 01111101 10111111 00, las posiciones de los elementos no nulos en la fila 0 pueden denotarse como 0xF6, 0x7D, 0xBF y 0x00. Para ser específicos, cada ocho columnas forman un número hexadecimal. Puede rellenarse con 0 en las últimas dos o tres columnas para obtener ocho dígitos, de modo que se obtenga un número hexadecimal correspondiente. Lo mismo es cierto para otra fila, y los detalles no se describen nuevamente en la presente.
Opcionalmente, en los diversos diseños anteriores, los valores de desplazamiento de la LDPC pueden almacenarse en otra transformación. Por ejemplo, para facilitar el procesamiento del desplazamiento circular, puede almacenarse una diferencia entre un valor de desplazamiento y un valor de desplazamiento previo en una columna en la que se ubica el valor de desplazamiento. La FIGURA 9 muestra los valores de desplazamiento de la fila 0 a la fila 4 y la columna 0 a la columna 26 en la matriz 3b-50 después de la transformación. En el ejemplo mostrado en la FIGURA 9, la fila 0 es una fila de inicio, y los valores de desplazamiento en la fila 0 no cambian. Los elementos nulos en cada fila no cambian, y un valor de desplazamiento de un elemento no nulo en cada fila es una diferencia entre un valor de desplazamiento en una misma posición en la matriz 30b-50 y un elemento no nulo previo en la matriz 30b-50 en una columna en la que se ubica el valor de desplazamiento. Si no hay un elemento no nulo antes de una fila en la que se ubica el valor de desplazamiento y en una columna en la que se ubica el valor de desplazamiento, el valor de desplazamiento no cambia. Por ejemplo, un valor de desplazamiento en la fila 1 y la columna 0 de la matriz 30b-50 es 179, y un valor de desplazamiento en la fila 1 y columna 0 en la FIGURA 9 es una diferencia -32 entre 179 y un valor de desplazamiento previo 211 en la columna 0 . Debido a que un elemento en la fila 0 y la columna 4 en la FIGURA 9 es un elemento nulo, un valor de desplazamiento en la fila 1 y la columna 4 en la FIGURA 9 es lo mismo que un valor de desplazamiento en la fila 1 y la columna 4 en la matriz 30b-50. Un elemento en la fila 2 y la columna 3 en la FIGURA 9 es un elemento nulo, y un elemento en la fila 1 y la columna 3 es un elemento no nulo, y por lo tanto, un valor de desplazamiento en la fila 3 y la columna 3 es una diferencia -57 entre un valor de desplazamiento 166 en la fila 3 y la columna 3 en la matriz 30b-50 y un valor de desplazamiento 223 en la fila 1 y columna 3, y así sucesivamente. Debido al espacio limitado, otras filas de la matriz 30b-50 no se muestran en la FIGURA 9. Lo mismo es cierto para otras filas, y los detalles no se describen nuevamente en la presente. Cuando la diferencia de un valor de desplazamiento en la presente es un número positivo, el desplazamiento circular a la derecha se realiza en una matriz de identidad; cuando una diferencia es un número negativo, el desplazamiento circular hacia la izquierda se realiza en una matriz de identidad. Por consiguiente, un valor de desplazamiento obtenido después de la permutación, en otras palabras, una diferencia de un valor de desplazamiento puede almacenarse en "valores de desplazamiento de elementos no nulos" en la Tabla 3-10 a la Tabla 3-91. Sólo se proporcionan ejemplos en lo anterior, y los ejemplos no constituyen una limitación.
La FIGURA 5 es un diseño de un proceso de procesamiento de datos. El proceso de procesamiento de datos puede implementarse al utilizar un aparato de comunicación. El aparato de comunicación puede ser una estación base, una terminal u otra entidad tal como un chip de comunicación o un codificador/decodificador.
Parte 501: Obtener una secuencia de entrada.
En una implementación, una secuencia de entrada para codificar puede ser una secuencia de bits de información. La secuencia de bits de información algunas veces se denomina como bloque de código (code block), por ejemplo, puede ser una secuencia de salida obtenida después de que se realiza la segmentación de bloques de código en un bloque de transporte. Opcionalmente, la secuencia de entrada puede incluir al menos uno de los siguientes: bits de relleno o bits de comprobación por redundancia cíclica (CRC). En un posible diseño, puede insertarse una secuencia de bits de información en los bits de relleno para obtener una secuencia de entrada, de modo que una longitud de la secuencia de entrada es K=KbZ, y Z=K/Kb. La secuencia de bits de información puede insertarse en bits de relleno durante la segmentación de bloques de código, o puede insertarse después de la segmentación de bloques de código.
En un posible diseño, los valores de los bits de relleno pueden ser nulos, 0 u otros valores acordados en un sistema. De esta manera, después de la codificación, estos bits de relleno pueden identificarse y no se envían. La presente solicitud no se limita a los mismos.
En una implementación, una secuencia de entrada para decodificar puede ser una secuencia de valores temporales de un código de LDPC.
Parte 502: Codificar/decodificar la secuencia de entrada con base en una matriz de LDPC, donde una matriz base de la matriz de LDPC puede ser cualquier matriz base en los ejemplos anteriores.
En una implementación, la matriz H de LDPC puede obtenerse con base en un factor de elevación Z y una matriz base.
En una implementación, los parámetros relacionados con la matriz H de LDPC pueden almacenarse, y los parámetros incluyen uno o más de los siguientes:
a) parámetro utilizado para obtener cualquier matriz base descrita en las implementaciones anteriores. La matriz base puede obtenerse con base en los parámetros y, por ejemplo, los parámetros pueden ser uno o más de los siguientes: índice de fila, peso de fila, índice de columna, peso de columna, posiciones de un elemento no nulo (tales como los índices de fila de elementos no nulos o índices de columna de elementos no nulos), valores de desplazamiento de una matriz base, valores de desplazamiento de los elementos no nulos y posiciones correspondientes, una compensación, un factor de elevación, una gráfica base, un tasa de código y similares; b) Una matriz base, la cual es una de las matrices base descritas en las implementaciones anteriores;
c) una matriz de compensación Hs obtenida al compensar al menos una columna de cualquier matriz base listada en las implementaciones anteriores;
d) una matriz obtenida al elevar la matriz base o al elevar una matriz de compensación Hs de la matriz base; e) una matriz base obtenida al realizar una transformación de filas/columnas en cualquier matriz base listada en las implementaciones anteriores o en una matriz de compensación Hs;
f) (una matriz obtenida al elevar una matriz base transformada de fila/columna o una matriz de compensación Hs transformada de fila/columna de la matriz base; y
g) una matriz obtenida al acortar o perforar cualquier matriz base o una matriz de compensación Hs de la matriz base descrita en las implementaciones anteriores.
En una posible implementación, la secuencia de entrada puede codificarse/decodificarse con base en la matriz de comprobación de paridad de baja densidad LDPC en un proceso de codificación/decodificación de una o más de las siguientes formas:
i. Obtener la matriz base con base en (a); y realizar codificación/decodificación con base en la matriz base obtenida, o realizar permutación de filas/columnas con base en la matriz base obtenida, y realizar codificación/decodificación con base en una matriz base obtenida al realizar permutación de filas/columnas, o realizar codificación/decodificación con base en una matriz de compensación de la matriz base obtenida, o realizar codificación/decodificación en una matriz obtenida al realizar permutación de filas/columnas con base en una matriz de compensación Hs de la matriz base obtenida. Opcionalmente, realizar codificación/decodificación con base en la matriz base o la matriz de compensación Hs en la presente además puede incluir: realizar codificación/decodificación con base en una matriz elevada de la matriz base o una matriz elevada de la matriz de compensación Hs, o realizar codificación/decodificación con base en una matriz obtenida al acortar o perforar la matriz base o la matriz de compensación.
ii. Realizar codificación/decodificación con base en la matriz base (la matriz base almacenada H o Hs, o la matriz base almacenada obtenida al realizar permutación de filas/columnas en la matriz base H o Hs) almacenada en (b), (c), (d ), o (e); o realizar una permutación de filas/columnas con base en la matriz base almacenada, y realizar codificación/decodificación con base en una matriz base obtenida al realizar permutación de filas/columnas. Opcionalmente, realizar codificación/decodificación con base en la matriz base o la matriz de compensación Hs en la presente además puede incluir: realizar codificación/decodificación con base en una matriz elevada de la matriz base o una matriz elevada de la matriz de compensación Hs, o realizar codificación/decodificación con base en una matriz obtenida al acortar o perforar la matriz base o la matriz de compensación.
iii. Realizar codificación/decodificación con base en (d), (f) o (g).
Parte 503: Emitir una secuencia de bits obtenida después de la codificación/decodificación.
La FIGURA 6 es un diseño para obtener un proceso de procesamiento de datos, y el diseño puede aplicarse a la parte 502 en la FIGURA 5.
Parte 601: Obtener un factor de elevación Z.
En una implementación, el factor de elevación Z puede determinarse con base en una longitud K de una secuencia de entrada. Por ejemplo, un valor mínimo Zo puede encontrarse en un conjunto de factores de elevación soportado, y se utiliza como el valor del factor de elevación Z, donde Kb Zo >K se cumple. En un posible diseño, Kb puede ser un recuento de columnas de columnas de bits de información en una matriz base de un código de LDPC. Para una gráfica base 30a, un recuento de columnas de bits de información es Kbmáx=22, y se supone que un conjunto de factores de elevación soportado por la gráfica base 30a es {24, 26, 28, 30, 32, 36, 40, 44, 4 8 , 52, 56, 60, 64, 72, 80, 88, 96, 104, 112, 120, 128, 144, 160, 176, 192, 208, 224, 240, 256, 288, 320, 352, 384}.
Si la longitud K de la secuencia de entrada es de 529 bits, entonces Z es 26; si la longitud K de la secuencia de entrada es de 5000 bits, entonces Z es 240. Cabe señalar que en este documento solo se proporcionan ejemplos en la presente, y los ejemplos no constituyen una limitación.
En otro ejemplo, un valor de Kb puede variar con base en un valor de K, pero no excede un recuento de columnas de columnas de bits de información en una matriz base de un código de LDPC. Por ejemplo, cuando K es mayor que un primer umbral, Kb=22; cuando K es menor que o igual a un primer umbral, Kb=21. Alternativamente, cuando K es mayor que un primer umbral, Kb=22; cuando K es menor que o igual que un primer umbral y es mayor que un segundo umbral, Kb=21; cuando K es menor que o igual que un segundo umbral, Kb=20. Cabe señalar que sólo se proporcionan ejemplos en la presente, y los ejemplos no constituyen una limitación.
Además, con base en cualquiera de las implementaciones anteriores, para una longitud de información específica K, por ejemplo, cuando 104<K<512, Z puede seleccionarse con base en una regla definida por el sistema. Cuando K es una longitud distinta de 104<K<512, Z todavía se selecciona con base en cualquiera de las implementaciones anteriores, por ejemplo, se selecciona un valor mínimo Zo que cumple Kb-Zü >K, donde el valor de Kb es 22 o se determina con base en un umbral.
En un diseño, cuando 104<K<512, se muestra un valor de Z en la Tabla 4-1. Para otra longitud, Z se selecciona con base en cualquiera de las implementaciones anteriores.
Tabla 4-1
Figure imgf000030_0001
Figure imgf000031_0002
En otro posible diseño, un valor mínimo Zo que cumple Kb Zo >K se selecciona. Cuando 104<K<512, el valor de Kb puede variar con base en el valor de K, por ejemplo, como se muestra en la Tabla 4-2. Cuando K es una longitud distinta de 104<K<512, Kb se selecciona con base en cualquiera de las implementaciones anteriores, por ejemplo, Kb=22 o Kb se determina con base en un umbral.
Tabla 4-2
Figure imgf000031_0001
El factor de elevación Z puede determinarse por un aparato de comunicación con base en la longitud K de la secuencia de entrada, o puede obtenerse por un aparato de comunicación de otra entidad (por ejemplo, un procesador).
Parte 602:Obtener una matriz de LDPC con base en el factor de elevación y una matriz base.
La matriz base es cualquier matriz base descrita en las implementaciones anteriores, o una matriz de compensación obtenida al compensar al menos una columna en cualquier matriz base descrita en lo anterior, o una matriz base obtenida al realizar permutación de filas, o permutación de columnas, o permutación de filas y permutación de columnas en cualquier matriz base o matriz de compensación descrita en lo anterior. Una gráfica base de la matriz base incluye al menos una submatriz A y una submatriz B.Opcionalmente, la gráfica base de la matriz base además puede incluir una submatriz C, una submatriz D y una submatriz E. Para las submatrices, consulte las descripciones en las modalidades anteriores, y los detalles no se describen nuevamente en la presente.
En una posible implementación, se determina una matriz base correspondiente con base en el factor de elevación Z, y la matriz base se permuta con base en el factor de elevación Z para obtener la matriz de LDPC.
En una implementación, puede almacenarse una correspondencia entre un factor de elevación y una matriz base, y se determina una matriz base correspondiente con base en el factor de elevación Z obtenido en la parte 601.
Por ejemplo, cuando Z es 26, y a=13, la matriz base puede incluir de la fila 0 a la fila 4 y de la columna 0 a la columna 26 en una matriz 30b-70, o la matriz base incluye de la fila 0 a la fila 4 y algunas de la columna 0 a la columna 26 en una matriz 30b-70. Alternativamente, la matriz base puede incluir la fila 0 a la fila (m-1) y la columna 0 a la columna (n-1) en una matriz 30b-70, donde 5<m<46, m es un número entero, 27<n<68, y n es un número entero; o la matriz base incluye la fila 0 a la fila (m-1) y la columna 0 a la columna (n-1) en una matriz 30b-70, donde , m es un número entero, 27 < n < 68, y n es un número entero. Además, la matriz base puede incluir una o más filas en la fila 5 a la fila 45 y una o más columnas en la columna 27 a la columna 67 en la matriz 30b-70. La matriz de LDPC se obtiene al permutar la matriz base con base en el factor de elevación Z.
Debe observarse que Z=26, a=13, y la matriz mostrada en la FIGURA 3b-7 se utilizan simplemente como ejemplo en la presente. Sólo se proporcionan ejemplos en la presente, y la presente solicitud no se limita a los mismos. Puede entenderse que, si los factores de elevación son diferentes, las matrices base también son diferentes.
En una posible implementación, la correspondencia entre un factor de elevación y una matriz base puede mostrarse en la Tabla 5. El índice de una matriz base que corresponde a un factor de elevación se determina con base en la Tabla 5. En un posible diseño, PCM1 puedeser una matriz 30b-10 mostrada en la FIGURA 3b-1, o es una matriz 30b-11 mostrada en la FIGURA 3b-2; Pc M2 puede ser una matriz 30b-20 mostrada en la FIGURA 3b-3, o es una matriz 30b-21 mostrada en la FIGURA 3b-4; PCM3 puede ser una matriz 30b-30 mostrada en la FIGURA 3b-5; PCM4 puede ser una matriz 30b-40 mostrada en la FIGURA 3b-6; PCM5 puede ser una matriz 30b-50 mostrada en la FIGu Ra 3b-7; PCM6 puede ser una matriz 30b-60 mostrada en la FIGURA 3b-8; PCM7 puede ser una matriz 30b-70 mostrada en la FIGURA 3b-9; y PCM8 puede ser una matriz 30b-80 mostrada en la FIGURA 3b-80. Solo se proporcionan ejemplos en la presente, y los ejemplos no constituyen una limitación.
Tabla 5
Figure imgf000032_0001
En un posible diseño, como se muestra en la Tabla 6, los índices establecidos se establecen para los ocho conjuntos de factores de elevación en la Tabla 5.
Tabla 6
Figure imgf000032_0002
Cada índice establecido corresponde a una PCM. Por ejemplo, 1 corresponde a PCM1, 2 corresponde a PCM2, 3 corresponde a PCM3, ...y 8 corresponde a PCM8, y así sucesivamente.
Para el factor de elevación Z, un elemento Py en la fila i y la columna j en la matriz base puede cumplir la siguiente relación:
_í - i K j =-1
IJ }mo d(V j ,Z ) V¡] > O
donde V¡j es un valor de desplazamiento de un elemento no nulo en la fila i y la columna j en una matriz base de un conjunto al cual pertenece el factor de elevación Z, o un valor de desplazamiento de un elemento no nulo en la fila i y la columna j en una matriz base de un factor de elevación máximo en un conjunto al cual pertenece el factor de elevación Z.
Por ejemplo, para Z es igual a 13, y un elemento V¡j en la fila i y la columna j en una matriz base de Z cumple la siguiente relación:
Figure imgf000033_0001
donde V¡j es un valor de desplazamiento de un elemento no nulo en la fila i y la columna j en PCM7, en otras palabras, en la matriz 30b-70, donde, cuando Z=13, debe realizarse una operación de coeficiente al tomar el valor de desplazamiento V¡,j del elemento no nulo en la fila i y la columna j en el coeficiente Z de la matriz 30b-70, donde Z=13.
Cabe señalar que sólo se proporcionan ejemplos en la presente, y la presente solicitud no se limita a los mismos.
Parte 603: Codificar/decodificar una secuencia de entrada con base en la matriz de LDPC.
En una implementación, una secuencia de entrada para codificar puede ser una secuencia de bits de información. En otra implementación, una secuencia de entrada para decodificar puede ser una secuencia de valores temporales del código de LDPC. Para obtener detalles, consulte las descripciones relacionadas en la FIGURA 5.
En una posible implementación, una secuencia de entrada para codificar es c={c o,c i,C2,...,CK-i}una longitud de la secuencia de entrada c es K, y una secuencia de salida obtenida después de que se codifica la secuencia de entrada c es d={d o,d i,d2,...,dN-i}. K es un número entero mayor que 0, y K puede ser un múltiplo entero del factor de elevación Z.
La secuencia de salida d incluye K0 bits en la secuencia de entrada c y bits de paridad en una secuencia de bits de paridad w, donde K0 es un número entero mayor que 0 y menor o igual a K, una longitud de la secuencia de comprobación de paridad w es N - Ko, y w={w o, wi, W2,...,w n-ko-i } .
La secuencia de bits de paridad w y la secuencia de entrada c cumplen una fórmula (1):
Figure imgf000033_0002
donde cT =[co,ci,c2 ,...,ck-i ]t , cT es un vector transpuesto de un vector que incluye bits en la secuencia de entrada wT=[w0, w1, w2, ...,wN-Ko-1]T, wT es un vector transpuesto de un vector que incluye bits en la secuencia de bits de paridad, 0T es un vector columna, y los valores de todos los elementos de 0T son 0.
H es una matriz de LDPC obtenida con base en cualquier gráfica base o matriz base descrita en las modalidades anteriores. Una gráfica base de H tiene m filas y n columnas, y puede ser cualquier gráfica descrita en las modalidades anteriores, por ejemplo, la gráfica base 30a
En un diseño, la gráfica base de H incluye p columnas que corresponden a bits de perforación integrados, p es un número entero mayor que o igual a 0, los bits de información que corresponden a las p columnas que corresponden a bits de perforación integrados no se emiten, y la secuencia de salida no incluye los bits de información que corresponden a las p columnas que corresponden a los bits de perforación integrados. En este caso, Ko= K- p Z .. Por ejemplo, si p=2, Ko= K- 2 Z, y la longitud de la secuencia de bits de paridad w es N 2 Z - K. . Si las p columnas que corresponden a bits de perforación integrados participan en la codificación, Ko= K, y la longitud de la secuencia de bits de paridad w es N - K.
En consecuencia, H puede tener M filas y (N p-Z) columnas o M filas y N columnas, y un tamaño de la gráfica base
Figure imgf000034_0001
La gráfica base de la matriz H de LDPC puede estar representada por [Hbg Hbg,ext], donde
Figure imgf000034_0002
, Omc*nc representa una matriz completamente nula de tamaño mcxnc, y Incxnc representa una matriz identidad de tamaño nc xnc.
En un diseño posible, si Omcxnc es la submatriz C en la gráfica base en las modalidades anteriores, y Incxnc es la
submatriz E en las modalidades anteriores,
Figure imgf000034_0003
, donde A, B y D son respectivamente la submatriz A, la submatriz B y la submatriz D en la gráfica base en las modalidades anteriores, mc=5, 0<nc<41, un conteo de filas de Hbg es menor que o igual a 46 y mayor que o igual a 5, y un conteo de columnas de Hbg es igual a 27.
En otro diseño posible, debido a que la columna 26 es una columna de peso 1, y un elemento no nulo en la columna 26 se encuentra en la fila 5, Omcxnc también puede incluir las primeras cuatro filas en la columna 26 en la gráfica base en las modalidades anteriores y las primeras cuatro filas en la submatriz C en las modalidades anteriores, y Incxnc también puede incluir la submatriz E en la gráfica base en las modalidades anteriores, la fila 5 a la fila 46 en la columna 26 y una última fila en la submatriz C, donde mc=4, 0<nc<42, Hbg es una matriz obtenida después de que una última columna se retira de una parte que incluye la submatriz A, la submatriz B y la submatriz D en la gráfica base en las modalidades anteriores, un conteo de filas de Hbg es menor que o igual a 46 y mayor que o igual a 5, y un conteo de columnas de Hbg es igual a 26. Opcionalmente, si es necesario incrementar aún más la tasa de código, Hbg puede tener cuatro filas: fila 0 a fila 3.
De manera correspondiente, la matriz H de LDPC puede estar representada por H=[Hi H2].
H1 puede obtenerse al reemplazar cada elemento nulo en Hbg con una matriz completamente nula de tamaño ZxZ y al reemplazar cada elemento no nulo con una matriz de permutación circular h¡j de tamaño ZxZ. La matriz de permutación circular hi,j se obtiene al desplazar de manera circular una matriz de identidad de tamaño ZxZ a la derecha Pi,j veces, y algunas veces se representa por I(Pi,j), donde i es un índice de fila, y j es un índice de columna. En un posible diseño, Py = mod (Vy Z), y Vi, j es un elemento no nulo en la fila i y la columna en una matriz base que corresponde a un índice del conjunto de factores de elevación ¡ls que corresponde a Z.
H2 puede obtenerse al reemplazar cada elemento nulo en Hbg,ext con una matriz completamente nula de tamaño ZxZ y al reemplazar cada elemento no nulo con una matriz de identidad de tamaño ZxZ.
Un codificador puede realizar codificación y emisión de una pluralidad de maneras. La gráfica base 30a y la matriz base 30b-50 descritas en la modalidad anterior se utilizan como un ejemplo para la descripción siguiente. La gráfica base y la matriz base tienen un máximo de 46 filas y un máximo de 68 columnas y cada una incluye dos columnas que corresponden a los bits de perforación integrados. Para facilitar la descripción, en la presente solicitud, una gráfica base que tiene una cantidad máxima de filas y una cantidad máxima de columnas a veces se denomina como gráfica base completa y una matriz base que tiene una cantidad máxima de filas y una cantidad máxima de columnas algunas veces se denomina como matriz base completa.
Forma 1:
La codificación se realiza con base en la gráfica base completa o la matriz base completa, de modo que puedan obtenerse tantos bits de paridad como sea posible. En este caso, m=46 y n=68, que corresponden a la fila 0 a la fila 45 y la columna 0 a la columna 67 en la gráfica base 30a, o valores de desplazamiento en la fila 0 a la fila 45 y la columna 0 a la columna 67 en la matriz base 30b-50.
Por consiguiente, M=46 Z para la matriz H de LDPC. Si una secuencia de salida incluye los bits de información que corresponden a las columnas que corresponden a los bits de perforación integrados, N=68 Z; o si una secuencia de salida no incluye los bits de información 2 Z que son los bits de perforación integrados, N=66Z.
Durante el procesamiento posterior, bits de información y bits de paridad que deben enviarse pueden determinarse a partir de la secuencia de salida generada por el codificador.
Forma 2:
La codificación se realiza con base en algunas filas y algunas columnas en la gráfica base completa o la matriz base completa. Las filas y columnas pueden seleccionarse, con base en una tasa de código para una transmisión, o una cantidad de bits de información y una cantidad de bits de paridad, o similares, de la gráfica base completa o la matriz base completa para codificación.
Por ejemplo, la tasa de código es 8/9, m=5 y n=27. En otras palabras, la codificación se realiza con base en la fila 0 a la fila 4 y la columna 0 a la columna 26 en la gráfica base 30a, o la codificación se realiza con base en los valores de desplazamiento de la fila 0 a la fila 4 y la columna 0 a la columna 26 en la matriz base 30b-50.
Por consiguiente, M=5 Z para la matriz H de LDPC. Si una secuencia de salida incluye los bits de información que corresponden a las columnas que corresponden a los bits de perforación integrados, N=27Z; o si una secuencia de salida no incluye los bits de información que corresponden a las columnas que corresponden a los bits de perforación integrados, N=25Z.
Para otro ejemplo, la tasa de código es 1/3, m=46 y n=68.
Puede aprenderse que, de esta manera, los tamaños de la gráfica base de H o la matriz base cumplen con 5<m<46 y 27<n<68, y por consiguiente, para la matriz H de LDPC, 5 Z <M<46Z y 27Z <N<68Z.
En un posible diseño, la columna 26 en la gráfica base 30a es una columna de peso 1, y la perforación puede realizarse en la columna de peso 1 en una matriz central, de modo que una fila y una columna se eliminan de la matriz central en consecuencia, y m=4 y n=26. En otras palabras, la codificación se realiza con base en la fila 0 a la fila 3 y la columna 0 a la columna 25 en la gráfica base 30a o la matriz base 30b-50. Puede obtenerse una tasa de código más alta de esta manera. Por lo tanto, los tamaños de la gráfica base o la matriz base cumplen con 4<m<46 y 26<n<68, y por consiguiente, para la matriz H de LDPC, 4 Z <M<46 Z y 26 Z <N<68Z.
Debido a que la decodificación es un proceso inverso de codificación, para las descripciones de la matriz H de LDPC y la gráfica base y la matriz base de la matriz H de LDPC, consulte el método de codificación anterior. La decodificación puede realizarse con base en una gráfica base completa o una matriz base completa, o la decodificación puede realizarse con base en algunas filas o algunas columnas en una gráfica base completa o una matriz base completa.
Cuando la secuencia de entrada va a codificarse/decodificarse, la matriz base puede elevarse con base en Z para obtener la matriz H de LDPC. Una matriz de permutación circular hi,j de tamaño Z*Z se determina para cada elemento no nulo Pi,j en la matriz base, donde hi,j es una matriz de permutación circular obtenida al desplazar de manera circular una matriz de integridad Py veces. Un elemento no nulo Py se reemplaza con hy, y un elemento nulo en una matriz base HB se reemplaza con una matriz completamente nula de tamaño Z*Z, para obtener la matriz de comprobación de paridad H.
En una posible implementación, la matriz base del código de LDPC puede almacenarse en una memoria, y el aparato de comunicación obtiene la matriz de LDPC que corresponde al factor de elevación Z, para codificar/decodificar la secuencia de entrada.
En una posible implementación, debido a que hay una pluralidad de matrices base del código de LDPC, y se ocupa un espacio de almacenamiento relativamente grande si las matrices base se almacenan con base en una estructura matricial, una gráfica base del código de LDPC puede almacenarse en una memoria, los valores de desplazamiento de elementos no nulos en cada matriz base pueden almacenarse por fila o por columna, y luego puede obtenerse la matriz de LDPC con base en la gráfica base y los valores de desplazamiento de la matriz base que corresponden al factor de elevación Z.
Una gráfica base puede indicar posiciones de elementos no nulos de cada matriz base. La obtención de la matriz de LDPC con base en la gráfica base y los valores de desplazamiento de la matriz base que corresponden al factor de elevación Z además puede ser: obtener la matriz de LDPC con base en posiciones de elementos no nulos y valores de desplazamiento de la matriz base que corresponden al factor de elevación Z.
En otra posible implementación, almacenar una gráfica base puede ser almacenar posiciones de elementos no nulos en la gráfica base. Una posición de un elemento no nulo puede indicarse mediante un índice de fila y un índice de columna en el que se encuentra el elemento no nulo. Por ejemplo, las posiciones de elementos no nulos pueden ser posiciones de columna de elementos no nulos en cada fila, o posiciones de fila de elementos no nulos en cada columna. En otra posible implementación, almacenar una gráfica base puede ser almacenar posiciones de elementos nulos en la gráfica base. De manera similar, una posición de un elemento no nulo también puede indicarse mediante un índice de fila y un índice de columna en el que se encuentra el elemento nulo. Por ejemplo, las posiciones de elementos nulos pueden ser posiciones de columna de elementos nulos en cada fila, o las posiciones de fila de elementos nulos en cada columna se encuentran, y las posiciones correspondientes de elementos no nulos pueden obtenerse al excluir las posiciones de elementos nulos. Cabe señalar que sólo se proporcionan ejemplos en la presente, y la presente solicitud no se limita a los mismos.
En una posible implementación, los valores de desplazamiento de elementos no nulos de cada matriz base pueden almacenarse de las maneras de la Tabla 2-10, la Tabla 2-11, la Tabla 3-10 a la Tabla 3-80, la Tabla 3-90 y la Tabla 3­ 91, y se utilizan como parámetros de la matriz de LDPC. Una columna de "peso de fila" en la Tabla 2-10, Tabla 2-11, Tabla 3-10 a la Tabla 3-80, Tabla 3-90 y Tabla 3-91 es opcional. En otras palabras, opcionalmente, la columna de "peso de fila" puede almacenarse o no almacenarse. Se aprende una cantidad de elementos no nulos en una fila al utilizar posiciones de columna de los elementos no nulos en la fila. Por lo tanto, también se aprende un peso de fila. En una posible implementación, los valores de parámetro en el "índice de columna de elemento no nulo" en la Tabla 2-10, la Tabla 2-11, la Tabla 3-10 a la Tabla 3-80, la Tabla 3-90 y la Tabla 3-91 pueden no clasificarse en orden ascendente siempre que puedan recuperarse las posiciones de columna de elementos no nulos al utilizar los valores de parámetro. Además, los valores de parámetro en "valores de desplazamiento de elementos no nulos" en la Tabla 2- 10, la Tabla 2-11, la Tabla 3-10 a la Tabla 3-80, la Tabla 3-90 y la Tabla 3-91 no necesariamente se clasifican con base en un orden de columnas, siempre que los valores de parámetro en "valores de desplazamiento de elementos no nulos" queden en correspondencia de uno a uno con los valores de parámetro en "posiciones de columna de elementos no nulos" y siempre que el aparato de comunicación pueda aprender en qué fila y en qué columna se encuentra un elemento no nulo con base en un valor de desplazamiento del elemento no nulo. Por ejemplo:
En una posible implementación, los parámetros relacionados de la matriz de LDPC pueden almacenarse con referencia a descripciones relacionadas en la FIGURA 5.
En una posible implementación, cuando se almacenan los parámetros relacionados de la matriz de LDPC, los parámetros almacenados pueden no comprender todas las filas de las matrices mostradas en la FIGURA 1 a la FIGURA 3a, la FIGURA 3b-1 a la FIGURA 3b-10, o Tabla 2-10, Tabla 2-11, Tabla 3-10 a Tabla 3-80, Tabla 3-90 y Tabla 3-91, y un parámetro indicado por una fila correspondiente en una tabla puede almacenarse con base en las filas incluidas en la matriz base. Por ejemplo, puede almacenarse una matriz que incluye filas y columnas incluidas en la matriz base de la matriz de LDPC descrita en la realización anterior, o se almacenan parámetros relacionados con la matriz que incluye las filas y columnas.
Por ejemplo, si la matriz base incluye la fila 0 a la fila 4 y la columna 0 a la columna 26 en cualquiera de las matrices 30b-10 a 30b-80 y las matrices mostradas en la Tabla 3-90 y la Tabla 3-91, una matriz que incluye la fila 0 a la fila 4 y la columna 0 a la columna 26 pueden almacenarse, y/o los parámetros relacionados con la matriz que incluyen la fila 0 a la fila 4 y la columna 0 a la columna 26 se almacenan. Para obtener detalles, consulte los parámetros mostrados en la Tabla 3-10 a la Tabla 3-80, la Tabla 3-90 y la Tabla 3-91 y las descripciones en la parte anterior.
Si la matriz base incluye la fila 0 a la fila (m-1) y la columna 0 a la columna (n-1) en cualquiera de las matrices 30b-10 a 30b-80 y las matrices mostradas en la Tabla 3-90 y la Tabla 3- 91, donde 5 < m < 46, m es un número entero, 27 < n < 68, n es un número entero, puede almacenarse una matriz que incluye la fila 0 a la fila (m-1) y la columna 0 a la columna (n-1), y/o parámetros relacionados con la matriz que incluyen la fila 0 a fila (m-1) y columna 0 a columna (n-1) se almacenan. Para obtener detalles, consulte los parámetros mostrados en la Tabla 3-10 a la Tabla 3-80, la Tabla 3- 90 y la Tabla 3-91 y las descripciones en la parte anterior.
En una posible implementación, cada valor de desplazamiento mayor que o igual a 0 e indicado por al menos una posición s del "índice de columna de elemento no nulo" en cualquiera de la Tabla 3-10 a la Tabla 3-80, Tabla 3-90, y la Tabla 3-91 puede incrementarse o disminuirse mediante una compensación Offsets.
En una posible implementación, uno o más valores de desplazamiento transformados, descritos en la modalidad anterior pueden almacenarse en "valor de desplazamiento de elemento no nulo" en cualquiera de la Tabla 3-10 a la Tabla 3-80, la Tabla 3-90, y la Tabla 3-91, por ejemplo, uno o más valores de desplazamiento mostrados en la FIGURA 9.
En otro diseño, la gráfica base de la matriz de LDPC y los valores de desplazamiento de la matriz de LDPC pueden almacenarse por separado. La información sobre los valores de desplazamiento de la matriz de LDPC puede almacenarse utilizando índices de fila y valores de desplazamiento de elementos no nulos en la Tabla 3-10 a la Tabla 3-91. La gráfica base de la LDPC puede almacenarse de una pluralidad de formas, por ejemplo, puede almacenarse en forma de matriz de la gráfica base 30a mostrada en la FIGURA 3a, o puede almacenarse con base en los índices de fila y posiciones de los elementos no nulos en la Tabla 3-10 a la Tabla 3-91, o pueden almacenarse de una manera que 1 y 0 en cada fila o cada columna en una gráfica base puedan considerarse como dígitos binarios, y la gráfica base se almacena en forma de números decimales o números hexadecimales para ahorrar espacio de almacenamiento. La gráfica base 30a se utiliza como ejemplo. Las posiciones de elementos no nulos en las primeras 26 columnas o las primeras 27 columnas pueden almacenarse en cuatro números hexadecimales en cada fila. Por ejemplo, si las primeras 26 columnas en la fila 0 son 11110110 01111101 10111111 00, las posiciones de los elementos no nulos en la fila 0 pueden denotarse como 0xF6, 0x7D, 0xBF y 0x00. Para ser específicos, cada ocho columnas forman un número hexadecimal. Puede rellenarse con 0 en las últimas dos o tres columnas para obtener ocho dígitos, de modo que se obtenga un número hexadecimal correspondiente. Lo mismo es cierto para otra fila, y los detalles no se describen nuevamente en la presente. Cabe señalar que sólo se proporcionan ejemplos en la presente, y los ejemplos no constituyen una limitación.
La FIGURA 1 se utiliza como ejemplo. Después de determinar la matriz base HB, los bits de paridad que corresponden de la columna 22 a la columna 25 pueden obtenerse primero al utilizar la secuencia de entrada y la fila 0 a la fila 3 y la columna 0 a la columna 25 en la matriz base, en otras palabras, Hcentral-doble. Luego, los bits de paridad que corresponden a la columna 26, en otras palabras, una columna de peso 1, pueden obtenerse con base en la secuencia de entrada y los bits de paridad que corresponden a Hcentral-doble, y luego la codificación puede realizarse con base en la secuencia de entrada, los bits de paridad que corresponden de la columna 22 a la columna 26, y la submatriz D, para obtener bits de paridad que corresponden a la submatriz E. De esta manera, se completa la codificación. Para un proceso de codificación del código de LDPC, consulte las descripciones en las implementaciones anteriores, y los detalles no se describen nuevamente en la presente.
En una posible implementación, la matriz H de LDPC puede elevarse con respecto al factor de elevación con base en el factor de elevación Z antes de codificar, en otras palabras, cada valor de desplazamiento se reemplaza con una matriz de permutación circular correspondiente con base en cada valor de desplazamiento.
En otra posible implementación, se obtiene un valor de desplazamiento que corresponde a un elemento no nulo con base en una posición del elemento no nulo que corresponde a los bits que se codificarán durante la codificación, y el elemento no nulo se reemplaza con una matriz de permutación circular y se realiza el procesamiento.
En otra posible implementación, la matriz H de LDPC no se levanta directamente durante el uso, y los bits en una secuencia de entrada se procesan con base en una relación de conexión que se encuentra entre filas y columnas de una matriz equivalente y que se calcula con base en los valores de desplazamiento.
En otra posible implementación, la codificación puede realizarse al utilizar un método de QSN. Para cada elemento no nulo que ha de procesarse, con base en un valor de desplazamiento del elemento no nulo, se realiza una operación de desplazamiento en un segmento de bits que ha de codificarse que corresponde al elemento no nulo; y luego, se realiza una operación de codificación en todos los segmentos de bits en los que se realiza la operación de desplazamiento.
En otra posible implementación, una matriz generadora G de la matriz H de LDPC también puede almacenarse, y la secuencia de entrada c y la secuencia de salida d cumplen con una fórmula (2):
d = c . G (2)
Si la permutación de filas/columnas se realiza en la matriz H de LDPC para obtener H', donde el lado derecho de H' es una matriz de identidad I, y una matriz de lado izquierdo es P, H'= [P I], y la matriz generadora G cumplen con la siguiente fórmula (3):
G =[I PT ] (3)
Debe observarse que la descripción anterior es un ejemplo, y la presente solicitud no se limita a la misma.
Opcionalmente, en un sistema de comunicación, el código de LDPC puede obtenerse después de realizar la codificación al utilizar el método anterior. Después de obtener el código de LDPC, el aparato de comunicación además puede realizar una o más de las siguientes operaciones: realizar una coincidencia de tasa en el código de LDPC; realizar, con base en un esquema de intercalado, intercalar en un código de LDPC de tasa coincidente; modular, con base en un esquema de modulación, un código de LDPC intercalado, para obtener una secuencia de bits X; y enviar la secuencia de bits X.
La decodificación es un proceso inverso de codificación, y la matriz base utilizada durante la decodificación y la matriz base durante la codificación tienen una misma característica. Para el proceso de codificación del código de LDPC, consulte las descripciones en las implementaciones anteriores, y los detalles no se describen nuevamente en la presente. En una implementación, antes de decodificar, el aparato de comunicación además puede realizar una o más de las siguientes operaciones: recibir una señal obtenida después de la codificación de código de LDPC; y realizar demodulación, desintercalado y reducción de tasa en la señal para obtener una secuencia de valores temporales de un código de LDPC; y decodificar la secuencia de valores temporales del código de LDPC.
El almacenamiento en esta solicitud puede ser almacenando en una o más memorias. Una o más memorias pueden estar dispuestas por separado, o pueden integrarse en el codificador, el decodificador, un procesador, un chip, el aparato de comunicación o una terminal. Algunas de una o más memorias pueden disponerse por separado, y las otras pueden integrarse en el decodificador, el procesador, el chip, el aparato de comunicación o la terminal. Un tipo de memoria puede ser cualquier forma de medio de almacenamiento, y esta solicitud no se limita al mismo.
En correspondencia con los diseños de los procesos de procesamiento de datos en la FIGURA 5 y la FIGURA 6, una modalidad de la presente solicitud además proporciona un aparato de comunicación correspondiente. El aparato de comunicación incluye módulos configurados para realizar cada parte en la FIGURA 5 o la FIGURA 6. El módulo puede ser software, o puede ser hardware, o puede ser una combinación de software y hardware. Por ejemplo, los módulos pueden incluir una memoria, un dispositivo electrónico, un componente electrónico, un circuito lógico o similar, o cualquier combinación de los mismos. La FIGURA 7 es un diagrama estructural esquemático de un aparato de comunicación 700. El aparato 700 puede configurarse para implementar el método descrito en la modalidad del método anterior. Para obtener detalles, consulte las descripciones en la modalidad del método anterior. El aparato de comunicación 700 puede ser un chip, una estación base, una terminal u otro dispositivo de red.
El aparato de comunicación 700 incluye uno o más procesadores 701. El procesador 701 puede ser un procesador de propósito general, un procesador de propósito especial o similares. Por ejemplo, el procesador 701 puede ser un procesador de banda base o una unidad central de procesamiento. El procesador de banda base puede configurarse para procesar un protocolo de comunicación y los datos de comunicación. La unidad central de procesamiento puede configurarse para controlar el aparato de comunicación (tal como la estación base, la terminal o el chip), ejecutar un programa de software y procesar datos del programa de software.
En un posible diseño, el uno o más módulos de la FIGURA 5 y la FIGURA 6 puede implementarse al utilizar uno o más procesadores, o pueden implementarse al utilizar uno o más procesadores y una o más memorias.
En un posible diseño, el aparato de comunicaciones 700 incluye uno o más procesadores 701. El uno o más procesadores 701 pueden implementar funciones de codificación/decodificación. Por ejemplo, el aparato de comunicaciones puede ser un codificador o un decodificador. En otro diseño posible, el procesador 701 puede implementar otras funciones además de las funciones de codificación/decodificación.
El aparato de comunicación 700 codifica/decodifica una secuencia de entrada con base en una matriz de LDPC. Una matriz base de la matriz de LDPC puede ser cualquier matriz base en los ejemplos anteriores, o una matriz base obtenida al realizar permutación de filas, o permutación de columnas, o permutación de filas y permutación de columnas en cualquier matriz base en los ejemplos anteriores, o una matriz base obtenida al realizar acortamiento o perforación en cualquier matriz base en los ejemplos anteriores, o una matriz obtenida al elevar cualquier matriz base en los ejemplos anteriores. Para el procesamiento de codificación/decodificación, consulte las descripciones de las partes relacionadas en la FIGURA 5 y la FIGURA 6, y los detalles no se describen nuevamente en la presente.
Opcionalmente, en un diseño, el procesador 701 puede incluir una instrucción 703 (algunas veces también denominada como código o programa). La instrucción puede ejecutarse en el procesador, de modo que el aparato de comunicación 700 realiza el método descrito en la modalidad del método anterior. En otro posible diseño, el aparato de comunicación 700 también puede incluir un circuito, y el circuito puede implementar las funciones de codificación/decodificación en la modalidad anterior.
Opcionalmente, en un diseño, el aparato de comunicación 700 puede incluir una o más memorias 702. La memoria almacena una instrucción 704, y la instrucción puede ejecutarse en el procesador, de modo que el aparato de comunicación 700 realiza el método descrito en la modalidad del método anterior.
Opcionalmente, la memoria puede almacenar además datos. Opcionalmente, el procesador además puede almacenar una instrucción y/o datos. El procesador y la memoria pueden estar dispuestos por separado, o pueden estar integrados entre sí.
Opcionalmente, el "almacenamiento" en la modalidad anterior puede almacenar datos en la memoria 702, o puede almacenar datos en otra memoria periférica o dispositivo de almacenamiento.
Por ejemplo, una o más memorias 702 pueden almacenar uno o más parámetros relacionados con la matriz de LDPC en el ejemplo anterior, por ejemplo, uno o más parámetros relacionados con una matriz base tales como valores de desplazamiento, una gráfica base, una matriz elevada con base en una gráfica base, filas en la matriz base, un factor de elevación, la matriz base o una matriz elevada con base en la matriz base. Para obtener detalles, consulte las descripciones relacionadas en la FIGURA 5.
Opcionalmente, el aparato de comunicación 700 además puede incluir un transceptor 705 y una antena 706. El procesador 701 puede denominarse como una unidad de procesamiento y controla el aparato de comunicación (la terminal o la estación base). El transceptor 705 puede denominarse como unidad transceptora o circuito transceptor, y se configura para implementar una función de transceptor del aparato de comunicación al utilizar la antena 706.
Opcionalmente, el aparato de comunicación 700 además puede incluir un componente configurado para generar una CRC de bloque de transporte, un componente configurado para realizar la segmentación de bloques de código y la comprobación de CRC, un intercalador configurado para realizar el intercalado, un componente configurado para realizar una coincidencia de tasa, un modulador configurado para realizar procesamiento de modulación, o similares. Las funciones de estos componentes pueden ser implementadas por uno o más procesadores 701.
Opcionalmente, el aparato de comunicación 700 además puede incluir un demodulador configurado para realizar la demodulación, un desintercalador configurado para realizar el desintercalado, un componente configurado para realizar una coincidencia de reducción de tasa, un componente configurado para realizar la concatenación de bloques de código y la comprobación de CRC, o similares. Las funciones de estos componentes pueden ser implementadas por uno o más procesadores 701.
La FIGURA 8 es un diagrama esquemático de un sistema de comunicación 800. El sistema de comunicación 800 incluye un dispositivo de comunicación 80 y un dispositivo de comunicación 81. El dispositivo de comunicación 80 y el dispositivo de comunicación 81 reciben datos de información entre sí y se envían datos de información entre sí. El dispositivo de comunicación 80 y el dispositivo de comunicación 81 pueden ser el aparato de comunicación 700, o el dispositivo de comunicación 80 y el dispositivo de comunicación 81 cada uno incluye el aparato de comunicación 700, y reciben y/o envían datos de información. Por ejemplo, el dispositivo de comunicación 80 puede ser una terminal y, en consecuencia, el dispositivo de comunicación 81 puede ser una estación base. Para otro ejemplo, el dispositivo de comunicación 80 es una estación base y, en consecuencia, el dispositivo de comunicación 81 puede ser una terminal.
Un experto en la técnica además puede comprender que varios bloques lógicos ilustrativos (illustrative logical block) y etapas (steps) que se enumeran en las modalidades de la presente solicitud pueden implementarse al utilizar hardware electrónico, software informático o una combinación de los mismos. Si las funciones se implementan al utilizar hardware o software depende de aplicaciones particulares y de un requisito de diseño de todo el sistema. Un experto en la técnica puede utilizar varios métodos para implementar las funciones descritas para cada solicitud particular, pero no debe considerarse que la implementación va más allá del alcance de las modalidades de la presente solicitud.
Las tecnologías descritas en esta solicitud pueden implementarse de varias maneras. Por ejemplo, estas tecnologías pueden implementarse al utilizar hardware, software o una combinación de los mismos. Para la implementación por hardware, puede implementarse una unidad de procesamiento configurada para realizar estas tecnologías en un aparato de comunicación (por ejemplo, una estación base, una terminal, una entidad de red o un chip) en uno o más procesadores de propósito general, procesadores digitales de señales (DSP), dispositivos de procesamiento digital de señales (DSPD), circuitos integrados de aplicación específica (ASIC), Dispositivos Lógicos Programables (PLD), disposiciones de puerta programable de campo (FPGA) u otros aparatos lógicos programables, puertas discretas o lógica de transistor, componentes de hardware discreto, o cualquier combinación de los mismos. El procesador de propósito general puede ser un microprocesador. Opcionalmente, el procesador de propósito general puede ser cualquier procesador, controlador, microcontrolador o máquina de estado convencional. El procesador puede implementarse mediante una combinación de aparatos informáticos, tales como un procesador digital de señales y un microprocesador, una pluralidad de microprocesadores, uno o más microprocesadores con un núcleo de procesador digital de señales o cualquier otra configuración similar.
Las etapas de los métodos o algoritmos descritos en las modalidades de la presente solicitud pueden integrarse directamente en hardware, una instrucción ejecutada por un procesador o una combinación de los mismos. La memoria puede ser una memoria RAM, una memoria flash, una memoria ROM, una memoria EPROM, una memoria EEPROM, un registro, un disco duro, un disco magnético removible, un CD-ROM o un medio de almacenamiento de cualquier otra forma en la técnica. Por ejemplo, la memoria puede estar conectada al procesador, de modo que el procesador pueda leer información de la memoria y escribir información en la memoria. Opcionalmente, la memoria puede integrarse en el procesador. El procesador y la memoria pueden estar dispuestos en un ASIC, y el ASIC puede estar dispuesto en el UE. Opcionalmente, el procesador y la memoria pueden estar dispuestos en diferentes componentes del UE.
Con base en las descripciones de las implementaciones anteriores, una persona con experiencia en la técnica puede comprender claramente que las tecnologías pueden implementarse mediante hardware, firmware o una combinación de los mismos. Para implementación mediante un programa de software, la implementación puede tener total o parcialmente forma de un producto de programa informático. El producto de programa informático incluye una o más instrucciones del ordenador. Cuando las instrucciones del ordenador el procedimiento o las funciones de acuerdo con las modalidades de la presente solicitud se generan total o parcialmente. Cuando la presente solicitud se implementa mediante un programa de software, las funciones anteriores pueden almacenarse en un medio legible por ordenador o transmitirse como una o más instrucciones o códigos en el medio legible por ordenador. El ordenador puede ser un ordenador de propósito general, un ordenador dedicado, una red informática u otro aparato programable. La instrucción del ordenador puede almacenarse en un medio de almacenamiento legible por ordenador, o puede transmitirse desde un medio de almacenamiento legible por ordenador a otro. El medio legible por ordenador incluye un medio de almacenamiento en ordenador y un medio de comunicación. El medio de comunicación incluye cualquier medio que hace que un programa informático se transmita de un lugar a otro. El medio de almacenamiento puede ser cualquier medio disponible accesible a un ordenador. Lo siguiente proporciona un ejemplo, pero no impone una limitación: El medio legible por ordenador puede incluir una RAM, una ROM, una EEPROm , un CD-ROM u otro medio de almacenamiento en disco óptico o de almacenamiento en disco, u otro dispositivo de almacenamiento magnético, o cualquier otro medio que puede transportar o almacenar el código de programa esperado en forma de una instrucción o una estructura de datos y pueda ser accedido por un ordenador. Además, cualquier conexión puede definirse adecuadamente como un medio legible por ordenador. Por ejemplo, si el software se transmite desde un sitio web, un servidor u otra fuente remota utilizando un cable coaxial, un cable/fibra óptica, un par trenzado, una línea de suscriptor digital (DSL) o tecnologías inalámbricas tales como rayos infrarrojos, radio y microondas, el cable coaxial, fibra óptica/cable, par trenzado, DSL o tecnologías inalámbricas tales como rayos infrarrojos, radio y microondas se incluyen en la definición de un medio al que pertenecen. Por ejemplo, un disquete (Disk) o un disco (disc) utilizados por la presente solicitud incluyen un disco compacto (CD), un disco láser, un disco óptico, un disco versátil digital (DVD), un disquete flexible y un disco Blu-ray, donde el disquete generalmente copia datos por medios magnéticos, y el disco copia datos ópticamente por medios láser. La combinación anterior también debe incluirse en el alcance de protección del medio legible por ordenador.
Cabe señalar que, en esta solicitud, "/" indica "y/o". Por ejemplo, "codificación/decodificación (codificación y/o decodificación)" indica codificación, o decodificación, o codificación y decodificación.
En conclusión, lo que se describe anteriormente es meramente modalidades preferidas de las soluciones técnicas de la presente solicitud, pero no pretende limitar el alcance de protección de la presente solicitud.

Claims (13)

REIVINDICACIONES
1. Un método de codificación, que comprende:
codificar (502, 603) una secuencia de entrada c con base en una matriz H de comprobación de paridad de baja densidad, LDPC, para obtener una secuencia codificada, en donde la secuencia de entrada comprende K bits, y la matriz H de LDPC se obtiene con base en un factor de elevación Z y una matriz base, Z es uno de 9, 18, 36, 72, 144 y 288, en donde
la matriz base de la matriz H de LDPC comprende m filas y n columnas, m y n son números enteros, y m=5, y n=27, en donde
cada elemento en la matriz base es un elemento nulo o un elemento no nulo;
cada elemento nulo en la matriz base corresponde a una matriz completamente nula de tamaño Z*Z en la matriz H de LDPC, y la matriz base comprende una pluralidad de elementos no nulos (i, j), en donde i es un índice de fila, j es un índice de columna, 0<i<m, 0<j<n, cada elemento no nulo (i, j) corresponde a una matriz de permutación circular de tamaño Z*Z en la matriz H de LDPC, y la matriz de permutación circular es igual a una matriz obtenida al desplazar de manera circular una matriz de identidad de tamaño Z*Z hacia la derecha por Pi,j veces, en donde P¡,j = mod (Vi,j,Z), V¡j es un valor de desplazamiento del elemento no nulo (i, j) en la fila i y la columna j, y cada uno de los elementos no nulos (i, j) y correspondiente V¡j en la fila 0 a la fila 4 son los siguientes, otros elementos en la fila 0 a la fila 4 son elementos nulos:
i=0, j=0, 1, 2, 3, 5, 6, 9, 10, 11, 12, 13, 15, 16, 18, 19, 20, 21, 22, 23, y Vu es respectivamente 211, 198, 188, 186, 219, 4, 29, 144, 116, 216, 115, 233, 144, 95, 216, 73, 261, 1, 0;
i=1, j=0, 2, 3, 4, 5, 7, 8, 9, 11, 12, 14, 15, 16, 17, 19, 21,22, 23, 24, y Vu es respectivamente 179, 162, 223, 256, 160, 76, 202, 117, 109, 15, 72, 152, 158, 147, 156, 119, 0, 0, 0;
i=2, j=0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 13, 14, 15, 17, 18, 19, 20, 24, 25, y Vu es respectivamente 258, 167, 220, 133, 243, 202, 218, 63, 0, 3, 74, 229, 0, 216, 269, 200, 234, 0, 0;
i=3, j=0, 1, 3, 4, 6, 7, 8, 10, 11, 12, 13, 14, 16, 17, 18, 20, 21, 22, 25, y Vu es respectivamente 187, 145, 166, 108, 82, 132, 197, 41, 162, 57, 36, 115, 242, 165, 0, 113, 108, 1, 0; y
i=4, j=0, 1, 26 y Vi,j es respectivamente 246, 235, 0.
2. El método de conformidad con la reivindicación 1, la secuencia de entrada es c ={c0, c-i, c2 , ..., ck-1}, la secuencia codificada es d ={dü, d1, d2 , ..., dN-1}, en donde K y N son números enteros positivos, 2 Z los bits en la secuencia de entrada se perforan y N = n Z -2Z.
3. El método de conformidad con la reivindicación 2, la secuencia codificada d comprende K- 2 Z bits de la secuencia de entrada c y N -(K- 2 Z) bits de paridad en una secuencia de paridad w={w0, w1, w2, ..., wN-(K- 2 Z)-1},
en donde la secuencia de paridad w y la secuencia de entrada c cumplen:
Figure imgf000041_0001
en donde cT=[c0, c1, c2, ..., ck-1]t , wT=[w0, W1, W2, ..., wn-(k-2 Z)-1]t , 0t es un vector columna, y los valores de todos los elementos de 0T son 0
4. El método de conformidad con cualquiera de las reivindicaciones 1 a 3, en donde la matriz base de la matriz H de LDPC comprende además los siguientes elementos no nulos (i, j), y los valores correspondientes V¡j de los elementos no nulos (i, j) son los siguientes, otros elementos en las siguientes filas son elementos nulos:
i=5, j=0, 1, 3, 12, 16, 21, 22, 27 y Vu es respectivamente 261, 181, 72, 283, 254, 79, 144, 0;
i=6, j=0, 6, 10, 11, 13, 17, 18, 20, 28 y Vu es respectivamente 80, 144, 169, 90, 59, 177, 151, 108, 0; i=7, j=0, 1, 4, 7, 8, 14, 29 y Vi j es respectivamente 169, 189, 154, 184, 104, 164, 0;
i=8, j=0, 1, 3, 12, 16, 19, 21, 22, 24, 30 y Vu es respectivamente 54, 0, 252, 41, 98, 46, 15, 230, 54, 0; i=9, j=0, 1, 10, 11, 13, 17, 18, 20, 31 y Vu es respectivamente 162, 159, 93, 134, 45, 132, 76, 209, 0; i=10, j=1, 2, 4, 7, 8, 14, 32 y Vu es respectivamente 178, 1,28, 267, 234, 201, 0;
i=11, j=0, 1, 12, 16, 21,22, 23, 33 y Vu es respectivamente 55, 23, 274, 181, 273, 39, 26, 0;
i=12, j=0, 1, 10, 11, 13, 18, 34 y Vu es respectivamente 225, 162, 244, 151, 238, 243, 0;
i=13, j=0, 3, 7, 20, 23, 35 y Vi j es respectivamente 231, 0, 216, 47, 36, 0;
i=14, j=0, 12, 15, 16, 17, 21, 36 y Vu es respectivamente 0, 186, 253, 16, 0, 79, 0;
i=15, j=0, 1, 10, 13, 18, 25, 37 y Vu es respectivamente 170, 0, 183, 108, 68, 64, 0;
i=16, j=1, 3, 11,20, 22, 38 y Vi j es respectivamente 270, 13, 99, 54, 0, 0;
i=17, j=0, 14, 16, 17, 21, 39 y Vu es respectivamente 153, 137, 0, 0, 162, 0;
i=18, j=1, 12, 13, 18, 19, 40 y Vu es respectivamente 161, 151, 0, 241, 144, 0;
i=19, j=0, 1, 7, 8, 10, 41 y Vu es respectivamente 0, 0, 118, 144, 0, 0;
i=20, j=0, 3, 9, 11, 22, 42 y Vu es respectivamente 265, 81, 90, 144, 228, 0;
i=21, j=1, 5, 16, 20, 21, 43 y Vi j es respectivamente 64, 46, 266, 9, 18, 0;
i=22, j=0, 12, 13, 17, 44 y Vu es respectivamente 72, 189, 72, 257, 0;
i=23, j=1, 2, 10, 18, 45 y Vi,j es respectivamente 180, 0, 0, 165, 0;
i=24, j=0, 3, 4, 11, 22, 46 y Vi,j es respectivamente 236, 199, 0, 266, 0, 0;
i=25, j=1, 6, 7, 14, 47 y Vi,j es respectivamente 205, 0, 0, 183, 0;
i=26, j=0, 2, 4, 15, 48 y Vi,j es respectivamente 0, 0, 0, 277, 0;
i=27, j=1, 6, 8, 49 y Vi,j es respectivamente 45, 36, 72, 0;
i=28, j=0, 4, 19, 21, 50 y Vi,j es respectivamente 275, 0, 155, 62, 0;
i=29, j=1, 14, 18, 25, 51 y Vi,j es respectivamente 0, 180, 0, 42, 0;
i=30, j=0, 10, 13, 24, 52 y Vi j es respectivamente 0, 90, 252, 173, 0;
i=31, j=1, 7, 22, 25, 53 y Vu es respectivamente 144, 144, 166, 19, 0;
i=32, j=0, 12, 14, 24, 54 y Vi,j es respectivamente 0, 211, 36, 162, 0;
i=33, j=1, 2, 11, 21, 55 y Vi,j es respectivamente 0, 0, 76, 18, 0;
i=34, j=0, 7, 15, 17, 56 y Vi,j es respectivamente 197, 0, 108, 0, 0;
i=35, j=1, 6, 12, 22, 57 y Vi,j es respectivamente 199, 278, 0, 205, 0;
i=36, j=0, 14, 15, 18, 58 y Vi,j es respectivamente 216, 16, 0, 0, 0;
i=37, j=1, 13, 23, 59 y Vi,j es respectivamente 72, 144, 0, 0;
i=38, j=0, 9, 10, 12, 60 y Vi,j es respectivamente 190, 0, 0, 0, 0;
i=39, j=1, 3, 7, 19, 61 y Vi,j es respectivamente 153, 0, 165, 117, 0;
i=40, j=0, 8, 17, 62 y Vi,j es respectivamente 216, 144, 2, 0;
i=41, j=1, 3, 9, 18, 63 y Vi,j es respectivamente 0, 0, 0, 183, 0;
i=42, j=0, 4, 24, 64 y Vi,j es respectivamente 27, 0, 35, 0;
i=43, j=1, 16, 18, 25, 65 y Vi,j es respectivamente 52, 243, 0, 270, 0;
i=44, j=0, 7, 9, 22, 66 y Vi,j es respectivamente 18, 0, 0, 57, 0; y
i=45, j=1, 6, 10, 67 y Vi,j es respectivamente 168, 0, 144, 0.
5. El método de conformidad con cualquiera de las reivindicaciones 1 a 4, en donde el factor de elevación Z = Zo, Zo es un mínimo de una pluralidad de factores de elevación que satisfacen una relación de 22 * Zü>K.
6. El método de conformidad con cualquiera de las reivindicaciones 1 a 5, en donde la codificación de la secuencia de entrada con base en la matriz H de LDPC comprende:
codificar la secuencia de entrada con base en una matriz;
en donde la matriz se obtiene realizando permutación de filas, o permutación de columnas, o permutación de filas y permutación de columnas en
la matriz H de LDPC.
7. Un aparato, que comprende un codificador y una unidad de determinación, en donde
la unidad de determinación se configura para determinar un factor de elevación Z, en donde Z es uno de 9, 18, 36, 72, 144 y 288; y el codificador se configura para codificar una secuencia de entrada con base en una matriz H de comprobación de paridad de baja densidad, LDPC, para obtener una secuencia codificada, en donde la secuencia de entrada comprende K bits, y la matriz H de LDPC se obtiene con base en el factor de elevación Z y una matriz base, en donde la matriz base de
la matriz H de LDPC comprende m filas y n columnas, m y n son números enteros, y m=5, y n=27, en donde
cada elemento en la matriz base es un elemento nulo o un elemento no nulo;
cada elemento nulo en la matriz base corresponde a una matriz completamente nula de tamaño Z*Z en la matriz H de LDPC, y la matriz base comprende una pluralidad de elementos no nulos (i, j), donde i es un índice de fila, j es un índice de columna, 0<i <m, 0<j<n, cada elemento no nulo (i, j) corresponde a una matriz de permutación circulante de tamaño Z*Z en la matriz H de LDPC, y la matriz de permutación circulante es igual a una matriz obtenida al desplazar de manera circular una matriz de identidad de tamaño Z*Z hacia la derecha por Pi,j veces, en donde Pi,j = mod (Vi j,Z), Vi,j es un valor de desplazamiento del elemento no nulo (i, j) en la fila i y la columna j, y cada elemento no nulo (i, j) y un valor correspondiente Vi,j del elemento no nulo (i, j) en la fila 0 a la fila 4 son los siguientes, otros elementos en la fila 0 a la fila 4 son elementos nulos:
i=0, j=0, 1, 2, 3, 5, 6, 9, 10, 11, 12, 13, 15, 16, 18, 19, 20, 21, 22, 23 y Vu es respectivamente 211, 198, 188, 186, 219, 4, 29, 144, 116, 216, 115, 233, 144, 95, 216, 73, 261, 1, 0;
i=1, j=0, 2, 3, 4, 5, 7, 8, 9, 11, 12, 14, 15, 16, 17, 19, 21, 22, 23, 24 y Vu es respectivamente 179, 162, 223, 256, 160, 76, 202, 117, 109, 15, 72, 152, 158, 147, 156, 119, 0, 0, 0;
i=2, j=0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 13, 14, 15, 17, 18, 19, 20, 24, 25 y Vu es respectivamente 258, 167, 220, 133, 243, 202, 218, 63, 0, 3, 74, 229, 0, 216, 269, 200, 234, 0, 0;
i=3, j=0, 1, 3, 4, 6, 7, 8, 10, 11, 12, 13, 14, 16, 17, 18, 20, 21, 22, 25 y Vu es respectivamente 187, 145, 166, 108, 82, 132, 197, 41, 162, 57, 36, 115, 242, 165, 0, 113, 108, 1, 0; y
i=4, j=0, 1, 26 y Vij es respectivamente 246, 235, 0.
8. El aparato de conformidad con la reivindicación 7, en donde:
la secuencia de entrada es c ={c0, c-i, c2, ..., ck-1}, la secuencia codificada es d={dü, d-i, d2, ..., dN-1}, en donde tanto K como N son números enteros positivos, 2 Z los bits en la secuencia de entrada se perforan y N = n Z -2Z.
9. El aparato de conformidad con la reivindicación 8, la secuencia codificada d comprende K- 2 Z bits en la secuencia de entrada c y N-(K- 2 Z) bits de paridad en una secuencia de paridad w={w0 , W1, W2, ..., wn-(k-2Z)-1},; y
la secuencia de paridad w y la secuencia de entrada c cumplen:
Figure imgf000043_0001
en donde cT=[c0 , c1, c2, ..., ck-1]t , wT=[w0, W1, W2 , ..., wn-(k-2 Z)-1]t , 0t es un vector columna, y los valores de todos los elementos de 0T son 0
10. El aparato de conformidad con cualquiera de las reivindicaciones 7 a 9, en donde la matriz base de la matriz H de LDPC comprende además los siguientes elementos no nulos (i, j), y los valores correspondientes Vij de los elementos no nulos (i, j) son los siguientes, otros elementos en las siguientes filas son elementos nulos:
i=5, j=0, 1, 3, 12, 16, 21, 22, 27 y Vij es respectivamente 261, 181, 72, 283, 254, 79, 144, 0;
i=6, j=0, 6, 10, 11, 13, 17, 18, 20, 28 y Vij es respectivamente 80, 144, 169, 90, 59, 177, 151, 108, 0; i=7, j=0, 1, 4, 7, 8, 14, 29 y Vu es respectivamente 169, 189, 154, 184, 104, 164, 0;
i=8, j=0, 1, 3, 12, 16, 19, 21, 22, 24, 30 y Vij es respectivamente 54, 0, 252, 41, 98, 46, 15, 230, 54, 0; i=9, j=0, 1, 10, 11, 13, 17, 18, 20, 31 y Vij es respectivamente 162, 159, 93, 134, 45, 132, 76, 209, 0; i=10, j=1, 2, 4, 7, 8, 14, 32 y Vij es respectivamente 178, 1,28, 267, 234, 201, 0;
i=11, j=0, 1, 12, 16, 21,22, 23, 33 y Vij es respectivamente 55, 23, 274, 181, 273, 39, 26, 0;
i=12, j=0, 1, 10, 11, 13, 18, 34 y Vu es respectivamente 225, 162, 244, 151, 238, 243, 0;
i=13, j=0, 3, 7, 20, 23, 35 y Vij es respectivamente 231, 0, 216, 47, 36, 0;
i=14, j=0, 12, 15, 16, 17, 21, 36 y Vij es respectivamente 0, 186, 253, 16, 0, 79, 0;
i=15, j=0, 1, 10, 13, 18, 25, 37 y Vu es respectivamente 170, 0, 183, 108, 68, 64, 0;
i=16, j=1, 3, 11,20, 22, 38 y Vij es respectivamente 270, 13, 99, 54, 0, 0;
i=17, j=0, 14, 16, 17, 21, 39 y Vij es respectivamente 153, 137, 0, 0, 162, 0;
i=18, j=1, 12, 13, 18, 19, 40 y Vu es respectivamente 161, 151, 0, 241, 144, 0;
i=19, j=0, 1, 7, 8, 10, 41 y Vij es respectivamente 0, 0, 118, 144, 0, 0;
i=20, j=0, 3, 9, 11, 22, 42 y Vi j es respectivamente 265, 81, 90, 144, 228, 0;
i=21, j=1, 5, 16, 20, 21, 43 y Vij es respectivamente 64, 46, 266, 9, 18, 0;
i=22, j=0, 12, 13, 17, 44 y Vu es respectivamente 72, 189, 72, 257, 0;
i=23, j=1, 2, 10, 18, 45 y Vi,j es respectivamente 180, 0, 0, 165, 0;
i=24, j=0, 3, 4, 11, 22, 46 y Vi j es respectivamente 236, 199, 0, 266, 0, 0;
i=25, j=1, 6, 7, 14, 47 y Vi,j es respectivamente 205, 0, 0, 183, 0;
i=26, j=0, 2, 4, 15, 48 y Vi,j es respectivamente 0, 0, 0, 277, 0;
i=27, j=1, 6, 8, 49 y V¡j es respectivamente 45, 36, 72, 0;
i=28, j=0, 4, 19, 21, 50 y Vi,j es respectivamente 275, 0, 155, 62, 0;
i=29, j=1, 14, 18, 25, 51 y Vi,j es respectivamente 0, 180, 0, 42, 0;
i=30, j=0, 10, 13, 24, 52 y Vij es respectivamente 0, 90, 252, 173, 0;
i=31, j=1, 7, 22, 25, 53 y Vu es respectivamente 144, 144, 166, 19, 0;
i=32, j=0, 12, 14, 24, 54 y Vi,j es respectivamente 0, 211, 36, 162, 0;
i=33, j=1, 2, 11, 21, 55 y Vi,j es respectivamente 0, 0, 76, 18, 0;
i=34, j=0, 7, 15, 17, 56 y Vi,j es respectivamente 197, 0, 108, 0, 0;
i=35, j=1, 6, 12, 22, 57 y Vi,j es respectivamente 199, 278, 0, 205, 0;
i=36, j=0, 14, 15, 18, 58 y Vi,j es respectivamente 216, 16, 0, 0, 0;
i=37, j=1, 13, 23, 59 y Vi,j es respectivamente 72, 144, 0, 0;
i=38, j=0, 9, 10, 12, 60 y Vi,j es respectivamente 190, 0, 0, 0, 0;
i=39, j=1, 3, 7, 19, 61 y Vi,j es respectivamente 153, 0, 165, 117, 0;
i=40, j=0, 8, 17, 62 y V¡j es respectivamente 216, 144, 2, 0;
i=41, j=1, 3, 9, 18, 63 y Vi,j es respectivamente 0, 0, 0, 183, 0;
i=42, j=0, 4, 24, 64 y Vi j es respectivamente 27, 0, 35, 0;
i=43, j=1, 16, 18, 25, 65 y Vi,j es respectivamente 52, 243, 0, 270, 0;
i=44, j=0, 7, 9, 22, 66 y Vi,j es respectivamente 18, 0, 0, 57, 0; y
i=45, j=1, 6, 10, 67 y Vi,j es respectivamente 168, 0, 144, 0.
11. El aparato de conformidad con cualquiera de las reivindicaciones 7 a 10, en donde el factor de elevación Z = Zo, Zo es un mínimo de una pluralidad de factores de elevación que satisfacen una relación de 22*Zo>K.
12. El aparato de conformidad con cualquiera de las reivindicaciones 7 a 11, en donde la codificación de la secuencia de entrada con base en la matriz H de LDPC comprende:
codificar la secuencia de entrada con base en una matriz;
en donde la matriz se obtiene realizando una permutación de filas, o permutación de columnas, o permutación de filas y permutación de columnas en la matriz H de LDPC.
13. El aparato de conformidad con cualquiera de las reivindicaciones 7 a 12, en donde la matriz base, o el factor de elevación Z, o la matriz se recupera de una o más memorias.
ES18823838T 2017-06-27 2018-03-29 Códigos LDPC cuasi cíclicos basados en una matriz base de dimensión 5x27 y módulo de elevación Active ES2922630T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201710502600 2017-06-27
CN201710572348.1A CN109150196B (zh) 2017-06-27 2017-07-13 信息处理的方法、装置和通信设备
PCT/CN2018/081003 WO2019001046A1 (zh) 2017-06-27 2018-03-29 信息处理的方法、装置和通信设备

Publications (1)

Publication Number Publication Date
ES2922630T3 true ES2922630T3 (es) 2022-09-19

Family

ID=64807111

Family Applications (1)

Application Number Title Priority Date Filing Date
ES18823838T Active ES2922630T3 (es) 2017-06-27 2018-03-29 Códigos LDPC cuasi cíclicos basados en una matriz base de dimensión 5x27 y módulo de elevación

Country Status (11)

Country Link
US (4) US10784893B2 (es)
EP (2) EP4113848A1 (es)
JP (1) JP6815537B2 (es)
KR (1) KR102194617B1 (es)
CN (4) CN109150196B (es)
AU (1) AU2018290395B2 (es)
BR (2) BR112019020898B1 (es)
ES (1) ES2922630T3 (es)
MX (1) MX2019012019A (es)
RU (1) RU2769096C2 (es)
ZA (1) ZA201905739B (es)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10879927B2 (en) * 2017-05-17 2020-12-29 Futurewei Technologies, Inc. Compact low density parity check (LDPC) base graph
CN109150196B (zh) * 2017-06-27 2024-06-18 华为技术有限公司 信息处理的方法、装置和通信设备
KR102395537B1 (ko) * 2017-08-18 2022-05-10 에스케이하이닉스 주식회사 H 행렬 생성 회로, 그것의 동작 방법 및 그것에 의해 생성된 h 행렬을 사용하는 에러 정정 회로
CN108052285B (zh) * 2017-12-12 2018-12-11 清华大学 一种自适应编码长度的时序数据存储的方法和装置
US11184888B2 (en) * 2018-09-25 2021-11-23 Qualcomm Incorporated Rate matching for a downlink transmission with multiple transmission configurations
CN111327330B (zh) * 2018-12-14 2022-04-08 深圳市中兴微电子技术有限公司 一种信息处理方法、设备及计算机存储介质
CN112149049A (zh) * 2019-06-26 2020-12-29 北京百度网讯科技有限公司 用于变换矩阵的装置和方法、数据处理系统
WO2021146967A1 (zh) * 2020-01-21 2021-07-29 华为技术有限公司 低密度奇偶校验码编码方法和编码器
CN112511173A (zh) * 2020-12-23 2021-03-16 中兴通讯股份有限公司 低密度奇偶校验编码、译码方法、编码、译码设备及介质
CN115529108A (zh) * 2021-06-25 2022-12-27 华为技术有限公司 数据传输方法及相关装置
KR20230037264A (ko) * 2021-09-09 2023-03-16 삼성전자주식회사 통신 시스템에서 신호 송수신 방법 및 장치
CN115118289B (zh) * 2022-08-29 2022-11-18 北京航空航天大学 一种基于gpu的5gldpc编码器的编码方法
CN117749315A (zh) * 2022-09-13 2024-03-22 华为技术有限公司 编码方法、译码方法、通信装置及计算机可读存储介质

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2454574C (en) 2002-07-03 2008-12-09 Hughes Electronics Corporation Method and system for memory management in low density parity check (ldpc) decoders
US7617439B2 (en) * 2005-01-10 2009-11-10 Broadcom Corporation Algebraic construction of LDPC (Low Density Parity Check) codes with corresponding parity check matrix having CSI (Cyclic Shifted Identity) sub-matrices
CN100546205C (zh) * 2006-04-29 2009-09-30 北京泰美世纪科技有限公司 构造低密度奇偶校验码的方法、译码方法及其传输系统
KR101119111B1 (ko) * 2006-05-04 2012-03-16 엘지전자 주식회사 Ldpc 부호를 이용한 데이터 재전송 방법
TW200838159A (en) 2007-01-24 2008-09-16 Qualcomm Inc LDPC encoding and decoding of packets of variable sizes
CN101431337A (zh) * 2007-11-09 2009-05-13 松下电器产业株式会社 提高编码并行度实现降低编码时延的方法
CN101272223B (zh) * 2008-04-30 2011-04-20 中兴通讯股份有限公司 一种低密度生成矩阵码的译码方法及装置
CN101662290B (zh) * 2008-08-26 2013-08-28 华为技术有限公司 生成准循环ldpc码及编码的方法与装置
CN101834613B (zh) * 2009-03-09 2012-11-21 电信科学技术研究院 一种ldpc码的编码方法及编码器
CN102025441B (zh) * 2009-09-11 2013-07-31 北京泰美世纪科技有限公司 Ldpc码校验矩阵的构造方法、ldpc码的编码方法和编码装置
CN103053116B (zh) * 2011-06-28 2016-10-05 华为技术有限公司 低密度奇偶校验码的编码方法和装置
US9077378B2 (en) * 2013-01-31 2015-07-07 Lsi Corporation Integrated-interleaved low density parity check (LDPC) codes
KR101662747B1 (ko) * 2013-02-13 2016-10-06 퀄컴 인코포레이티드 높은 병렬성, 낮은 에러 플로어, 및 간단한 인코딩 원리를 갖는 리프팅된 ldpc 코드들에 대한 설계
TWI540844B (zh) * 2013-03-27 2016-07-01 國立清華大學 雙重準循環低密度同位校驗碼
CN103731160B (zh) * 2014-01-09 2016-08-17 西安电子科技大学 分组空间耦合低密度奇偶校验编码方法
US9264074B2 (en) * 2014-02-11 2016-02-16 Entropic Communications, Llc LDPC code matrices
CN104202057B (zh) * 2014-02-12 2019-08-16 中兴通讯股份有限公司 信息处理方法及装置
CN104868925B (zh) * 2014-02-21 2019-01-22 中兴通讯股份有限公司 结构化ldpc码的编码方法、译码方法、编码装置和译码装置
US20150381025A1 (en) 2014-06-25 2015-12-31 Mada Energie Llc Laes operating phase change materials
US9432055B2 (en) * 2014-06-26 2016-08-30 Sandisk Technologies Llc Encoder for quasi-cyclic low-density parity-check codes over subfields using fourier transform
KR102270310B1 (ko) * 2014-08-26 2021-06-30 한국전자통신연구원 Ldpc 부호화기 및 이를 이용한 ldpc 부호화 방법
CN104333390B (zh) * 2014-11-26 2019-08-06 西安烽火电子科技有限责任公司 一种ldpc码的校验矩阵的构造方法与编码方法
US20160173132A1 (en) 2014-12-10 2016-06-16 Alcatel-Lucent Usa Inc. Construction of Structured LDPC Convolutional Codes
US20160218750A1 (en) * 2015-01-23 2016-07-28 Empire Technology Development Llc Parity check code encoder
CN104821831B (zh) 2015-03-24 2019-03-05 东南大学 一种适用于高码率qc-ldpc码的双循环构造方法
US10340953B2 (en) * 2015-05-19 2019-07-02 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding low density parity check codes
CN106685586B (zh) * 2015-11-11 2020-02-14 华为技术有限公司 生成用于在信道中传输的低密度奇偶校验码的方法及设备
US10469104B2 (en) * 2016-06-14 2019-11-05 Qualcomm Incorporated Methods and apparatus for compactly describing lifted low-density parity-check (LDPC) codes
US10804933B2 (en) * 2016-09-30 2020-10-13 Lg Electronics Inc. QC LDPC code rate matching method and device therefor
CN106849958B (zh) * 2016-12-29 2020-10-27 上海华为技术有限公司 低密度奇偶校验码校验矩阵的构造方法、编码方法及系统
EP4373019A3 (en) * 2017-03-03 2024-07-10 Huawei Technologies Co., Ltd. High-rate long ldpc codes
CN109120276B (zh) * 2017-05-05 2019-08-13 华为技术有限公司 信息处理的方法、通信装置
CN109314527B (zh) * 2017-05-05 2021-10-26 联发科技股份有限公司 Qc-ldpc编码方法、装置及非暂时性计算机可读介质
CN108712174B9 (zh) * 2017-06-27 2019-08-30 华为技术有限公司 信息处理的方法、装置和通信设备
CN109150196B (zh) * 2017-06-27 2024-06-18 华为技术有限公司 信息处理的方法、装置和通信设备

Also Published As

Publication number Publication date
US11469776B2 (en) 2022-10-11
US20200403636A1 (en) 2020-12-24
ZA201905739B (en) 2021-07-28
BR112019026818A2 (pt) 2020-06-30
RU2019131324A3 (es) 2021-08-05
US11770135B2 (en) 2023-09-26
CN110677157A (zh) 2020-01-10
MX2019012019A (es) 2019-11-11
US10784893B2 (en) 2020-09-22
EP3582398B1 (en) 2022-06-15
CN109150196A (zh) 2019-01-04
BR112019020898B1 (pt) 2022-02-15
KR102194617B1 (ko) 2020-12-24
CN118487610A (zh) 2024-08-13
JP2020516147A (ja) 2020-05-28
EP3582398A1 (en) 2019-12-18
EP3582398A4 (en) 2020-08-12
US20190349006A1 (en) 2019-11-14
KR20190112129A (ko) 2019-10-02
US20230059125A1 (en) 2023-02-23
RU2019131324A (ru) 2021-04-05
CN110677157B (zh) 2023-02-07
EP4113848A1 (en) 2023-01-04
CN111052615A (zh) 2020-04-21
JP6815537B2 (ja) 2021-01-20
BR112019020898A2 (pt) 2020-04-28
CN109150196B (zh) 2024-06-18
AU2018290395A1 (en) 2019-09-19
US20240056100A1 (en) 2024-02-15
RU2769096C2 (ru) 2022-03-28
AU2018290395B2 (en) 2020-05-21

Similar Documents

Publication Publication Date Title
ES2922630T3 (es) Códigos LDPC cuasi cíclicos basados en una matriz base de dimensión 5x27 y módulo de elevación
ES2907089T3 (es) Diseño de códigos ldpc cuasi-cíclicos para un sistema de comunicaciones móviles 5g
CN110999091B (zh) 信息处理的方法和通信装置
JP6820438B2 (ja) 情報処理方法および通信装置
BR112019027688A2 (pt) Método de codificação, método de decodificação, aparelho, aparelho de comunicação, terminal, estação de base, sistema de comunicação, mídia de armazenamento legível por computador, e produto de programa de computador
WO2019001477A1 (zh) 信息处理的方法、装置和通信设备
CN108712174B (zh) 信息处理的方法、装置和通信设备
CN109150194B (zh) 信息处理的方法、装置和通信设备