BR112019020158B1 - Método de codificação, método de decodificação, método de processamento de informações, aparelho, terminal, estação base, sistema de comunicação, mídia de armazenamento legível por computador e produto de programa de computador - Google Patents

Método de codificação, método de decodificação, método de processamento de informações, aparelho, terminal, estação base, sistema de comunicação, mídia de armazenamento legível por computador e produto de programa de computador Download PDF

Info

Publication number
BR112019020158B1
BR112019020158B1 BR112019020158-0A BR112019020158A BR112019020158B1 BR 112019020158 B1 BR112019020158 B1 BR 112019020158B1 BR 112019020158 A BR112019020158 A BR 112019020158A BR 112019020158 B1 BR112019020158 B1 BR 112019020158B1
Authority
BR
Brazil
Prior art keywords
matrix
column
row
base
sequence
Prior art date
Application number
BR112019020158-0A
Other languages
English (en)
Other versions
BR112019020158A2 (pt
Inventor
Jie Jin
Wen Tong
Jun Wang
Alexander Petyushko
Ivan Leonidovich Mazurenko
Chaolong Zhang
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
Priority claimed from CN201710454030.3A external-priority patent/CN109150191A/zh
Application filed by Huawei Technologies Co., Ltd filed Critical Huawei Technologies Co., Ltd
Publication of BR112019020158A2 publication Critical patent/BR112019020158A2/pt
Publication of BR112019020158B1 publication Critical patent/BR112019020158B1/pt

Links

Images

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/1105Decoding
    • H03M13/1108Hard decision decoding, e.g. bit flipping, modified or weighted bit flipping
    • 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
    • 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/1105Decoding
    • H03M13/1128Judging correct decoding and iterative stopping criteria other than syndrome check and upper limit for decoding iterations
    • 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/1174Parity-check or generator matrices built from sub-matrices representing known block codes such as, e.g. Hamming codes, e.g. generalized LDPC 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/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/1177Regular LDPC codes with parity-check matrices wherein all rows and columns have the same row weight and column weight, respectively
    • 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
    • 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/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0047Decoding adapted to other signal detection operation
    • H04L1/005Iterative decoding, including iteration between signal detection and decoding operation
    • 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/0061Error detection codes
    • H04L1/0063Single parity check
    • 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
    • H04L1/0068Rate matching by puncturing

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Error Detection And Correction (AREA)

Abstract

este pedido revela um método de codificação, um aparelho, um dispositivo de comunicação, e um sistema de comunicação. o método inclui: codificar uma sequência de bit de entrada usando uma matriz de verificação de paridade de baixa densidade ldpc, em que a matriz ldpc é obtida com base em um gráfico base, e o gráfico base inclui submatrizes a, b, c, d, e e, em que a submatriz a é uma matriz que inclui ma linhas e na colunas, ma e na são números inteiros positivos, 4 menor ou igual ma menor ou igual 7, e na =10; a submatriz b é uma matriz que inclui ma linhas e ma colunas, e a submatriz b inclui uma coluna cujo peso é 3 e uma submatriz b' que tem uma estrutura diagonal dupla; a submatriz d inclui md linhas em uma matriz f, a matriz f é uma matriz que inclui mf linhas e (ma+na) colunas, md e mf são números inteiros positivos, 0 menor ou igual md menor ou igual mf, e 35 menor ou igual mf menor ou igual 38; a submatriz c é uma matriz toda zero que inclui ma linhas e md colunas; e a submatriz e é uma matriz identidade que inclui md linhas e md colunas. o método de codificação, o aparelho, o dispositivo de comunicação, e o sistema de comunicação neste pedido podem suportar uma exigência para codificar sequências de bit de informações de vários comprimentos.

Description

CAMPO DA TÉCNICA
[0001] As modalidades do presente pedido referem-se ao campo de comunicação e, em particular, a um método de processamento de informações e a um aparelho de comunicação.
ANTECEDENTES
[0002] O código de verificação de paridade de baixa densidade (low density parity check, LDPC) é um tipo de código de bloco linear que inclui uma matriz de verificação esparsa, e é caracterizado por uma estrutura flexível e baixa complexidade de decodificação. Visto que a decodificação do código LDPC usa um algoritmo de decodificação iterativo parcialmente paralelo, o código LDPC tem um rendimento maior que um código turbo convencional. O código LDPC pode ser usado como um código de correção de erro em um sistema de comunicação, de modo a aumentar confiabilidade de transmissão de canal e utilização de potência. O código LDPC pode ser, adicionalmente, aplicado de maneira ampla à comunicação espacial, comunicação de fibra óptica, um sistema de comunicação pessoal, um ADSL, um dispositivo de gravação magnético, e similares. O esquema de código LDPC tem sido considerado, atualmente, como um dos esquemas de codificação de canal nos sistemas de comunicação móvel de quinta geração.
[0003] Em aplicações práticas, matrizes LDPC caracterizadas por diferentes estruturas especiais podem ser usadas. Uma matriz LDPC H, que tem uma estrutura especial, pode ser obtida expandindo-se uma matriz base de LDPC que tem uma estrutura quase cíclica (quasi cycle, QC).
[0004] De modo geral, os comprimentos de sequências de bits de informações a serem codificadas variam de dezenas a centenas de bits, e taxas de código exigidas por um sistema de comunicação também são variáveis de maneira flexível. Como suportar codificação em sequências de bits de informações de vários comprimentos para satisfazer exigências de taxa de código de um sistema se torna um problema que precisa ser resolvido.
SUMÁRIO
[0005] As modalidades do presente pedido fornecem um método de processamento de informações, um aparelho de comunicação e um sistema de comunicação, para suportar codificação e decodificação de sequências de bits de informações de vários comprimentos e satisfazer exigências flexíveis de comprimento de código e taxa de código do sistema de comunicação.
[0006] De acordo com um primeiro aspecto, um método de codificação e um codificador são fornecidos. O codificador codifica uma sequência de entrada usando uma matriz de verificação de paridade de baixa densidade LDPC.
[0007] De acordo com um segundo aspecto, um método de decodificação e um decodificador são fornecidos. O decodificador decodifica uma sequência de entrada usando uma matriz de verificação de paridade de baixa densidade LDPC.
[0008] Em uma primeira implantação do primeiro aspecto ou do segundo aspecto, a matriz LDPC é obtida com base em um gráfico base, e o gráfico base inclui submatriz A, submatriz B, submatriz C, submatriz D e submatriz E, em que a submatriz A é uma matriz que inclui mA linhas e nA colunas, mA e nA são números inteiros positivos, 4 < mA < 7, e nA = 10; a submatriz B é uma matriz que inclui mA linhas e mA colunas, e a submatriz B inclui uma coluna cujo peso é 3 e uma submatriz B' que tem uma estrutura bidiagonal; a submatriz D inclui mD linhas em uma matriz F, a matriz F é uma matriz que inclui mF linhas e (mA+ nA) colunas, mD e mF são números inteiros positivos, 0< mD < mF, e 35< mF < 38; a submatriz C é uma matriz toda zero que inclui mA linhas e mD colunas; e a submatriz E é uma matriz identidade que inclui mD linhas e mD colunas.
[0009] Com base na implantação antecedente, em uma possível implantação, quaisquer duas linhas adjacentes nas últimas 10 linhas no gráfico base são mutuamente ortogonais.
[0010] Com base nas implantações antecedentes, em uma possível implantação, as últimas 10 linhas, no gráfico base, incluem pelo menos cinco grupos, cada um dentre os pelo menos cinco grupos inclui pelo menos duas linhas, e as pelo menos duas linhas são mutuamente ortogonais.
[0011] Com base em qualquer uma dentre as implantações antecedentes, em uma possível implantação, na matriz F, pesos de nove linhas são 3, e um peso de uma linha é 2.
[0012] Em um projeto, na matriz F, um peso de uma coluna é 16, um peso de uma coluna é 18, um peso de uma coluna é 11, pesos de duas colunas são 10, um peso de uma coluna é 9, um peso de uma coluna é 8, um peso de uma coluna é 7, um peso de uma coluna é 6, pesos de duas colunas são 4, um peso de uma coluna é 3, e pesos de duas colunas são 2.
[0013] Com base na primeira implantação, em outra possível implantação, uma contagem de linha de linhas que têm uma estrutura ortogonal na matriz F é maior que ou igual a 10 e, na matriz F, um peso de uma coluna é 16, um peso de uma coluna é 18, um peso de uma coluna é 11, pesos de duas colunas são 10, um peso de uma coluna é 9, um peso de uma coluna é 8, um peso de uma coluna é 7, um peso de uma coluna é 6, pesos de duas colunas são 4, um peso de uma coluna é 3, e pesos de duas colunas são 2.
[0014] Em outro projeto, na matriz F, pesos de nove linhas são 3, e um peso de uma linha é 2.
[0015] Em outro projeto, a matriz F inclui pelo menos 10 linhas, e quaisquer duas linhas adjacentes nas pelo menos 10 linhas são mutuamente ortogonais.
[0016] Em outro projeto, a matriz F inclui pelo menos cinco grupos, cada um dentre os pelo menos cinco grupos inclui pelo menos duas linhas, e as pelo menos duas linhas são mutuamente ortogonais. De modo opcional, as pelo menos duas linhas podem ser linhas consecutivas. Por exemplo, as pelo menos 10 linhas podem ser as últimas 10 linhas em um gráfico base 30a.
[0017] Em qualquer uma dentre as implantações antecedentes, se mA > 4, pesos de colunas diferentes de mA colunas na matriz F são 0.
[0018] Por exemplo, 10 linhas que têm a estrutura ortogonal na matriz F podem incluir, por exemplo, linhas ou colunas de um bloco de matriz que incluem linha 25 à linha 34 e coluna 0 à coluna 13 no gráfico base 30a; ou 10 linhas que têm a estrutura ortogonal na matriz F podem incluir, por exemplo, linhas ou colunas de um bloco de matriz que incluem linha 25 à linha 34 e coluna 0 à coluna 16 no gráfico base 30a. Na matriz F, as linhas podem ser comutadas umas com as outras, e as colunas também podem ser comutadas umas com as outras.
[0019] Com base nas implantações antecedentes, uma matriz base do gráfico base 30a pode ser, por exemplo, qualquer uma dentre as matrizes base 30b-1, 30b-2, 30b-3, 30b-4, 30b-5, 30b-6, 30b-7 e 30b-8, ou uma matriz obtida realizando-se permutação de linha/coluna em qualquer uma dentre matrizes base 30b-1, 30b-2, 30b-3, 30b-4, 30b-5, 30b-6, 30b-7 e 30b-8.
[0020] Com base nas implantações antecedentes, uma matriz de deslocamento da matriz F pode ser uma matriz que inclui linha 7 à linha 41 e coluna 0 à coluna 16 em qualquer matriz de 30b-1 a 30b-8, ou uma matriz obtida realizando-se permutação de linha/coluna na matriz que inclui linha 7 à linha 41 e coluna 0 à coluna 16 em qualquer matriz de 30b-1 a 30b-8; ou uma matriz de deslocamento da matriz F pode incluir uma matriz que inclui linha 4 à linha 41 e coluna 0 à coluna 14 em qualquer matriz de 30b-1 a 30b-8, ou uma matriz obtida realizando-se permutação de linha/coluna na matriz que inclui linha 4 à linha 41 e coluna 0 à coluna 14 em qualquer matriz de 30b-1 a 30b-8.
[0021] Para suportar diferentes comprimentos de bloco de código, o código LDPC precisa de diferentes fatores de elevação Z. Com base nas implantações antecedentes, em uma possível implantação, com base nos diferentes fatores de elevação Z, matrizes base que correspondem aos diferentes fatores de elevação Z são usadas. Por exemplo, Z = a x 2j, em que a ε {2, 3, 5, 7, 9, 11, 13, 15}.
[0022] Se o fator de elevação for um que satisfaz Z = 2 x 2j , em que j = 0, 1, 2, 3, 4, 5, 6, 7, a matriz de deslocamento da matriz F pode ser a matriz que inclui linha 7 à linha 41 e coluna 0 à coluna 16 em 30b-1, ou a matriz obtida realizando-se a permutação de linha/coluna na matriz que inclui linha 7 à linha 41 e coluna 0 à coluna 16 em 30b-1; ou a matriz de deslocamento da matriz F pode ser a matriz que inclui linha 4 à linha 41 e coluna 0 à coluna 14 em 30b-1, ou a matriz obtida realizando-se permutação de linha/coluna na matriz que inclui linha 4 à linha 41 e coluna 0 à coluna 14 em 30b-1. De maneira correspondente, a matriz base do gráfico base 30a pode ser a matriz mostrada em 30b-1, ou a matriz obtida realizando-se permutação de linha/coluna na matriz mostrada em 30b-1.
[0023] Se o fator de elevação for um que satisfaz Z = 3 x 2', em que j = 0, 1, 2, 3, 4, 5, 6, 7, a matriz de deslocamento da matriz F pode ser a matriz que inclui linha 7 à linha 41 e coluna 0 à coluna 16 em 30b-2, ou a matriz obtida realizando-se permutação de linha/coluna na matriz que inclui linha 7 à linha 41 e coluna 0 à coluna 16 em 30b-2; ou a matriz de deslocamento da matriz F pode ser a matriz que inclui linha 4 à linha 41 e coluna 0 à coluna 14 em 30b-2, ou a matriz obtida realizando-se permutação de linha/coluna na matriz que inclui linha 4 à linha 41 e coluna 0 à coluna 14 em 30b-2. De maneira correspondente, a matriz base do gráfico base 30a pode ser a matriz mostrada em 30b-2, ou a matriz obtida realizando-se permutação de linha/coluna na matriz mostrada em 30b-2.
[0024] Se o fator de elevação for um que satisfaz Z = 5 x 2 , em que j = 0, 1, 2, 3, 4, 5, 6, a matriz de deslocamento da matriz F pode ser a matriz que inclui linha 7 à linha 41 e coluna 0 à coluna 16 em 30b-3, ou a matriz obtida realizando-se permutação de linha/coluna na matriz que inclui linha 7 à linha 41 e coluna 0 à coluna 16 em 30b-3; ou a matriz de deslocamento da matriz F pode ser a matriz que inclui linha 4 à linha 41 e coluna 0 à coluna 14 em 30b-3, ou a matriz obtida realizando-se permutação de linha/coluna na matriz que inclui linha 4 à linha 41 e coluna 0 à coluna 14 em 30b-3. De maneira correspondente, a matriz base do gráfico base 30a pode ser a matriz mostrada em 30b-3, ou a matriz obtida realizando-se permutação de linha/coluna na matriz mostrada em 30b-3.
[0025] Se o fator de elevação for um que satisfaz em Z = 7 x 2j, em que j = 0, 1, 2, 3, 4, 5, a matriz de deslocamento da matriz F pode ser a matriz que inclui linha 7 à linha 41 e coluna 0 à coluna 16 em 30b-4, ou a matriz obtida realizando-se permutação de linha/coluna na matriz que inclui linha 7 à linha 41 e coluna 0 à coluna 16 em 30b-4; ou a matriz de deslocamento da matriz F pode ser a matriz que inclui linha 4 à linha 41 e coluna 0 à coluna 14 em 30b-4, ou a matriz obtida realizando-se permutação de linha/coluna na matriz que inclui linha 4 à linha 41 e coluna 0 à coluna 14 em 30b-4. De maneira correspondente, a matriz base do gráfico base 30a pode ser a matriz mostrada em 30b-4, ou a matriz obtida realizando-se permutação de linha/coluna na matriz mostrada em 30b-4.
[0026] Se o fator de elevação for um que satisfaz Z = 9 x 2j, em que j = 0, 1, 2, 3, 4, 5, a matriz de deslocamento da matriz F pode ser a matriz que inclui linha 7 à linha 41 e coluna 0 à coluna 16 em 30b-5, ou a matriz obtida realizando-se permutação de linha/coluna na matriz que inclui linha 7 à linha 41 e coluna 0 à coluna 16 em 30b-5; ou a matriz de deslocamento da matriz F pode ser a matriz que inclui linha 4 à linha 41 e coluna 0 à coluna 14 em 30b-5, ou a matriz obtida realizando-se permutação de linha/coluna na matriz que inclui linha 4 à linha 41 e coluna 0 à coluna 14 em 30b-5. De maneira correspondente, a matriz base do gráfico base 30a pode ser a matriz mostrada em 30b-5, ou a matriz obtida realizando-se permutação de linha/coluna na matriz mostrada em 30b-5.
[0027] Se o fator de elevação for um que satisfaz Z = 11 x 2j, em que j = 0, 1, 2, 3, 4, 5, a matriz de deslocamento da matriz F pode ser a matriz que inclui linha 7 à linha 41 e coluna 0 à coluna 16 em 30b-6, ou a matriz obtida realizando-se permutação de linha/coluna na matriz que inclui linha 7 à linha 41 e coluna 0 à coluna 16 em 30b-6; ou a matriz de deslocamento da matriz F pode ser a matriz que inclui linha 4 à linha 41 e coluna 0 à coluna 14 em 30b-6, ou a matriz obtida realizando-se permutação de linha/coluna na matriz que inclui linha 4 à linha 41 e coluna 0 à coluna 14 em 30b-6. De maneira correspondente, a matriz base do gráfico base 30a pode ser a matriz mostrada em 30b-6, ou a matriz obtida realizando-se permutação de linha/coluna na matriz mostrada em 30b-6.
[0028] Se o fator de elevação for um que satisfaz Z = 13 x 2j, em que j = 0, 1, 2, 3, 4, a matriz de deslocamento da matriz F pode ser a matriz que inclui linha 7 à linha 41 e coluna 0 à coluna 16 em 30b-7, ou a matriz obtida realizando- se permutação de linha/coluna na matriz que inclui linha 7 à linha 41 e coluna 0 à coluna 16 em 30b-7; ou a matriz de deslocamento da matriz F pode ser a matriz que inclui linha 4 à linha 41 e coluna 0 à coluna 14 em 30b-7, ou a matriz obtida realizando-se permutação de linha/coluna na matriz que inclui linha 4 à linha 41 e coluna 0 à coluna 14 em 30b-7. De maneira correspondente, a matriz base do gráfico base 30a pode ser a matriz mostrada em 30b-7, ou a matriz obtida realizando-se permutação de linha/coluna na matriz mostrada em 30b-7.
[0029] Se o fator de elevação for um que satisfaz Z = 15 x 2j, em que j = 0, 1, 2, 3, 4, a matriz de deslocamento da matriz F pode ser a matriz que inclui linha 7 à linha 41 e coluna 0 à coluna 16 em 30b-8, ou a matriz obtida realizando-se permutação de linha/coluna na matriz que inclui linha 7 à linha 41 e coluna 0 à coluna 16 em 30b-8; ou a matriz de deslocamento da matriz F pode ser a matriz que inclui linha 4 à linha 41 e coluna 0 à coluna 14 em 30b-8, ou a matriz obtida realizando-se permutação de linha/coluna na matriz que inclui linha 4 à linha 41 e coluna 0 à coluna 14 em 30b-8. De maneira correspondente, a matriz base do gráfico base 30a pode ser a matriz mostrada em 30b-8, ou a matriz obtida realizando-se permutação de linha/coluna na matriz mostrada em 30b-8.
[0030] Adicionalmente, de modo opcional, com base nas implantações antecedentes, para os fatores de elevação Z, um elemento Pi,j=f(Vi,j,Z) na linha i e coluna j na matriz base de Z pode ser obtido, adicionalmente, de acordo com as matrizes base dos conjuntos antecedentes, em que Vi,j é um elemento na linha i e coluna j na matriz base do conjunto ao qual o fator de elevação Z pertence.
[0031] Por exemplo,
Figure img0001
[0032] Em outra implantação possível, o gráfico base ou a matriz base pode incluir, adicionalmente, pelo menos uma coluna que corresponde a bits de punção interna.
[0033] Nas implantações antecedentes, o gráfico base e a matriz base, da matriz LDPC, podem satisfazer exigências de desempenho de blocos de código cujo comprimento de bloco é 20 a 2.560 bits.
[0034] Com base nos aspectos antecedentes ou qualquer implantação possível dos aspectos, em outra implantação possível, o método inclui, adicionalmente: determinar o fator de elevação Z. Por exemplo, um valor do fator de elevação Z é determinado de acordo com um comprimento K da sequência de entrada. Por exemplo, se o comprimento da sequência de entrada for K, um valor mínimo que satisfaz 10*Z>K pode ser determinado a partir de uma pluralidade de fatores de elevação definidos em um sistema.
[0035] De modo opcional, a matriz LDPC pode ser obtida com base na matriz base que corresponde a Z, ou com base em uma matriz de deslocamento que corresponde a Z.
[0036] Para um dispositivo de comunicação em uma extremidade de transmissão, codificar uma sequência de entrada usando uma matriz LDPC inclui: codificar a sequência de entrada usando uma matriz LDPC que corresponde ao fator de elevação Z; ou codificar a sequência de entrada usando uma matriz, em que a matriz é obtida realizando-se permutação de linha/coluna em uma matriz LDPC que corresponde ao fator de elevação Z. Neste pedido, a permutação de linha/coluna se refere a permutação de linha, permutação de coluna, ou permutação de linha e permutação de coluna.
[0037] Para um dispositivo de comunicação em uma extremidade de recebimento, decodificar uma sequência de entrada usando uma matriz LDPC inclui:decodificar a sequência de entrada usando uma matriz LDPC que corresponde ao fator de elevação Z; ou realizar permutação de linha/coluna em uma matriz LDPC que corresponde ao fator de elevação Z, e decodificar a sequência de entrada usando uma matriz obtida realizando-se permutação de linha/coluna em uma matriz LDPC que corresponde ao fator de elevação Z. Neste pedido, a permutação de linha/coluna se refere à permutação de linha, permutação de coluna ou permutação de linha e permutação de coluna.
[0038] Em uma possível implantação, a matriz LDPC pode ser armazenada na memória, e a sequência de entrada é codificada usando a matriz LDPC; ou uma matriz LDPC que pode ser usada para codificação é obtida realizando-se permutação (permutação de linha/coluna) ou elevação com base na matriz LDPC.
[0039] Em outra implantação possível, parâmetros podem ser armazenados na memória, e uma matriz LDPC usada para codificação ou decodificação pode ser obtida de acordo com os parâmetros, de modo que a sequência de entrada possa ser codificada ou decodificada com base na matriz LDPC. Os parâmetros incluem pelo menos um dentre o seguinte: um gráfico base, uma matriz base, uma matriz permutada obtida realizando-se permutação de linha/coluna no gráfico base ou na matriz base, uma matriz elevada com base no gráfico base ou na matriz base, um valor de deslocamento de um elemento diferente de zero na matriz base, ou qualquer parâmetro relacionado à obtenção da matriz LDPC.
[0040] Em ainda outra implantação possível, a matriz base da matriz LDPC pode ser armazenada em uma memória.
[0041] Em ainda outra implantação possível, o gráfico base da matriz LDPC é armazenado em uma memória, e valores de deslocamento de elementos diferentes de zero na matriz base da matriz LDPC podem ser armazenados na memória.
[0042] Com base nas possíveis implantações antecedentes, em um possível projeto, pelo menos um dentre um gráfico base e uma matriz base, que são usados para codificação ou decodificação de LDPC, é obtido realizando-se permutação de linha, permutação de coluna ou permutação de linha e permutação de coluna em pelo menos um dentre o gráfico base e as matrizes base da matriz LDPC.
[0043] De acordo com um terceiro aspecto, um aparelho de comunicação é fornecido. O aparelho de comunicação pode incluir módulos correspondentes configurados para realizar os projetos do método antecedente. Os módulos podem ser software e/ou hardware.
[0044] Em um possível projeto, o aparelho de comunicação, fornecido no terceiro aspecto, inclui um processador e um componente de transceptor, e o processador e o componente de transceptor podem ser configurados para implantar funções no método de codificação ou decodificação antecedente. Nesse projeto, se o aparelho de comunicação for um terminal, uma estação base ou outro dispositivo de rede, o componente de transceptor do aparelho de comunicação pode ser um transceptor. Se o aparelho de comunicação for um chip de banda de base ou um quadro de processamento de banda de base, o componente de transceptor do aparelho de comunicação pode ser um circuito de entrada/saída do chip de banda de base ou do quadro de processamento de banda de base, e é configurado para receber/enviar um sinal de entrada/saída. O aparelho de comunicação pode incluir, de modo opcional, uma memória, configurada para armazenar dados e/ou uma instrução.
[0045] Em uma implantação, o processador pode incluir o codificador, de acordo com o primeiro aspecto antecedente, e uma unidade de determinação. A unidade de determinação é configurada para determinar um fator de elevação Z exigido para codificar a sequência de entrada. O codificador é configurado para codificar a sequência de entrada usando a matriz LDPC que corresponde ao fator de elevação Z.
[0046] Em outra implantação, o processador pode incluir o decodificador, de acordo com o segundo aspecto antecedente, e uma unidade de obtenção. A unidade de obtenção é configurada para obter valores não quantificados do código LDPC e um fator de elevação Z. O decodificador é configurado para decodificar os valores não quantificados do código LDPC com base em uma matriz base HB que corresponde ao fator de elevação Z, para obter uma sequência de bits de informações.
[0047] De acordo com um quarto aspecto, um aparelho de comunicação é fornecido. O aparelho de comunicação inclui um ou mais processadores.
[0048] Em um possível projeto, o um ou mais processadores podem implantar uma função do codificador no primeiro aspecto. Em outro possível projeto, o codificador, no primeiro aspecto, pode ser uma parte do processador. Além da função do codificador no primeiro aspecto, o processador pode implantar, adicionalmente, outras funções.
[0049] Em um possível projeto, o um ou mais processadores podem implantar uma função do decodificador no segundo aspecto. Em outro possível projeto, o decodificador, no segundo aspecto, pode ser uma parte do processador.
[0050] De modo opcional, o aparelho de comunicação pode incluir, de maneira adicional, um transceptor e uma antena.
[0051] De modo opcional, o aparelho de comunicação pode incluir, adicionalmente, um componente configurado para produzir um CRC de bloco de transporte, um componente usado para segmentação de bloco de código e anexação de CRC, um intercalador usado para intercalação, um modulador usado para processamento de modulação, ou similares.
[0052] De modo opcional, o aparelho de comunicação pode incluir, adicionalmente, um demodulador usado para uma operação de demodulação, um desintercalador usado para desintercalação, um componente usado para descorrespondência de taxa, ou similares. As funções dos componentes podem ser implantadas usando o um ou mais processadores.
[0053] Em um possível projeto, as funções dos componentes podem ser implantadas usando o um ou mais processadores.
BREVE DESCRIÇÃO DOS DESENHOS
[0054] A Figura 1 é um diagrama esquemático de um gráfico base e uma matriz base de um código LDPC, e matrizes de permutação circular da matriz base em um esquema de código LDPC;
[0055] A Figura 2 é um diagrama estrutural esquemático de um gráfico base de um código LDPC;
[0056] A Figura 3a é um diagrama esquemático de um gráfico base de um código LDPC, de acordo com uma modalidade do presente pedido;
[0057] A Figura 3b-1 à Figura 3b-8 mostram diagramas esquemáticos de matrizes base do gráfico base mostrado na Figura 3a;
[0058] A Figura 4 é um diagrama de desempenho esquemático, de acordo com uma modalidade do presente pedido;
[0059] A Figura 5 é um diagrama estrutural esquemático de um aparelho de processamento de informações, de acordo com uma modalidade do presente pedido; e
[0060] A Figura 6 é um diagrama esquemático de um sistema de comunicação, de acordo com uma modalidade do presente pedido.
DESCRIÇÃO DAS MODALIDADES
[0061] A fim de facilitar o entendimento, alguns termos neste pedido são descritos abaixo.
[0062] Neste pedido, os termos “rede" e "sistema" são frequentemente alternados, e os termos "aparelho" e "dispositivo” também são frequentemente alternados. Entretanto, uma pessoa versada na técnica pode entender seus significados. Um "aparelho de comunicação" pode ser um chip (tal como um chip de banda de base, ou um chip de processamento de sinal digital, ou um chip de propósito geral), um terminal, uma estação base ou outro dispositivo de rede. O terminal é um dispositivo que tem uma função de comunicação. O terminal pode incluir um dispositivo portátil, um dispositivo em veículo, um dispositivo utilizável junto ao corpo e um dispositivo de computação que têm uma função de comunicação sem fio, ou outro dispositivo de processamento conectado a um modem sem fio, ou similares. O terminal pode ter diferentes nomes em diferentes redes, por exemplo, equipamento de usuário, uma estação móvel, uma unidade de usuário, uma estação, um telefone celular, um assistente digital pessoal, um modem sem fio, um dispositivo de comunicação sem fio, um dispositivo portátil, um computador do tipo laptop, um aparelho telefônico sem fio e uma estação de circuito local sem fio. Para facilitar a descrição, neste pedido, os dispositivos são denominados o terminal, por questão de concisão. A estação base (base station, BS), também denominada um dispositivo de estação base, é um dispositivo implementado em uma rede de acesso por rádio para fornecer uma função de comunicação sem fio. Em diferentes sistemas de acesso por rádio, os nomes da estação base podem ser diferentes. Por exemplo, uma estação base em uma rede de Sistema de Telecomunicação Móvel Universal (Universal Mobile Telecommunication System, UMTS) é denominada um nó B (NodeB), uma estação base em uma rede LTE é denominada um nó B evoluído (evolved NodeB, eNB, ou eNodeB), uma estação base em uma rede de novo rádio (new radio, NR) é denominada um ponto de transmissão e recepção (transmission reception point, TRP) ou um nó B de próxima geração (generation nodeB, gNB), ou uma estação base em várias outras redes também pode ser denominada por outros nomes. O presente pedido não é limitado aos mesmos.
[0063] A seguir, são descritas as soluções técnicas nas modalidades do presente pedido com referência aos desenhos anexos nas modalidades do presente pedido.
[0064] Frequentemente, um código LDPC pode ser definido usando uma matriz de verificação de paridade H. A matriz de verificação de paridade H para o código LDPC pode ser obtida usando um gráfico base (base graph) e valores de deslocamento (shift). Frequentemente, o gráfico base pode incluir mxn elementos de matriz (entry). O gráfico base pode ser representado usando uma matriz que inclui m linhas e n colunas. O valor de cada elemento de matriz é 0 ou 1. Um elemento cujo valor é 0 também é denominado, por vezes, um elemento zero, que pode ser substituído por uma matriz toda zero (zero matrix) de tamanho ZxZ. Um elemento cujo valor é 1 também é denominado, por vezes, um elemento diferente de zero, que pode ser substituído por uma matriz de permutação circular (circulant permutation matrix) de tamanho ZxZ. Ou seja, cada elemento de matriz representa uma matriz toda zero ou uma matriz de permutação circular. A Figura 1 mostra um exemplo 10a de um gráfico base de um código LDPC em que m=4 e n=20 e que tem uma estrutura QC. Deve-se observar que, neste relatório descritivo, índices de linha e índices de coluna de um gráfico base e uma matriz são todos numerados iniciando a partir de 0. Isso é apenas para facilitar o entendimento. Pode-se entender que os índices de linha e os índices de coluna podem ser, alternativamente, numerados iniciando a partir de 1, e os índices de linha e os índices de coluna correspondentes são aumentados em 1 com base nos índices de linha e nos índices de coluna mostrados neste relatório descritivo.
[0065] Se um valor de um elemento na linha i e coluna j no gráfico base for 1, é atribuído um valor de deslocamento Pi,j . Pi,j é um número inteiro maior que ou igual a 0, indica que o elemento de 1 (um elemento diferente de zero) na linha i e coluna j pode ser substituído por uma matriz de permutação circular de tamanho ZxZ que corresponde a Pi,j. A matriz de permutação circular pode ser obtida deslocando-se, de modo circular, uma matriz identidade de tamanho ZxZ para a direita Pi,j vezes. Pode-se aprender que, no gráfico base, cada elemento cujo valor é 0 é substituído por uma matriz toda zero de tamanho ZxZ, e cada elemento cujo valor é 1 é substituído por uma matriz de permutação circular de tamanho ZxZ que corresponde a um valor de deslocamento do elemento, de modo que a matriz de verificação de paridade do código LDPC possa ser obtida. O gráfico base pode ser usado para indicar posições de valores de deslocamento, e cada elemento diferente de zero no gráfico base corresponde a um valor de deslocamento. Z é um número inteiro positivo, também pode ser referido como um fator de elevação (lifting), e também pode ser referido como um tamanho de elevação, um fator de elevação ou, por vezes, similares. Z pode ser determinado de acordo com um tamanho de bloco de código que é suportado por um sistema e tamanho de dados de informações. Pode-se aprender que a matriz de verificação de paridade H tem um tamanho de (mxZ)x(nxZ). Por exemplo, se o fator de elevação Z=4, cada elemento zero é substituído por uma matriz toda zero 4x4 11a. Se P2,3 =2, um elemento diferente de zero na linha 2 e coluna 3 é substituído por uma matriz de permutação circular 4x4 11d. A matriz é obtida deslocando-se, de modo circular, uma matriz identidade 4x4 11b para a direita duas vezes. Se P2,4 =0, um elemento diferente de zero na linha 2 e coluna 4 é substituído pela matriz identidade 11b. Deve-se observar que somente exemplos são descritos neste documento, e os exemplos não constituem uma limitação.
[0066] O valor de Pi,j pode depender do fator de elevação Z. Portanto, para um elemento de 1 (um elemento diferente de zero) na linha i e coluna j do gráfico base, Pi,j pode ser diferente para diferentes fatores de elevação Z. Para facilitar a implantação, frequentemente, uma matriz base (base matrix) m*n é definida no sistema. Cada elemento na matriz base está em uma correspondência um para um com cada elemento no gráfico base. Um elemento zero, no gráfico base, tem uma mesma posição na matriz base, e o elemento é indicado por -1. Um elemento diferente de zero indicado por 1 na linha i e coluna j, no gráfico base, tem uma mesma posição na matriz base, e o elemento diferente de zero é indicado por um valor Vi,j, em que Vi,j pode ser um valor de deslocamento definido em relação a um fator de elevação pré-estabelecido ou particular Z, por exemplo, um valor de deslocamento em relação a um fator de elevação máximo Zmáx em um conjunto ao qual o fator de elevação Z pertence. Desse modo, Vi,j pode ser um valor de deslocamento do elemento diferente de zero na linha i e coluna j quando o fator de elevação máximo Zmáx no conjunto ao qual Z pertence é usado. Nessa modalidade deste pedido, a matriz base também é denominada, por vezes, uma matriz de deslocamento de uma matriz do gráfico base.
[0067] Pi,j pode ser obtido com base em Vi,j e Z. Por exemplo, pode ser expresso como Pi,j=f(Vi,j,Z), em que f(Vi,j,Z) é uma função que usa Vi,j e Z como parâmetros. Por exemplo,
Figure img0002
[0068] Conforme mostrado na Figura 1, 10b é uma matriz base que corresponde ao gráfico base 10a.
[0069] Frequentemente, o gráfico base ou a matriz base do código LDPC pode incluir p colunas que correspondem a bits de punção interna (built- in puncture), em que p pode ser um número inteiro de 0 a 2. Essas colunas podem ser usadas em codificação, mas bits sistemáticos que correspondem aos bits de punção interna não são enviados. Uma taxa de código da matriz base do código LDPC satisfaz R=(n-m)/(n-p). Para uma matriz base que inclui 4 linhas e 20 colunas (4x20), se houver duas colunas que correspondem a bits de punção interna, uma taxa de código é (20-4)/(20-2)=8/9.
[0070] Para um código LDPC usado em um sistema de comunicação sem fio, uma matriz de um gráfico base do código LDPC tem um tamanho de mxn, e o gráfico base pode incluir cinco submatrizes: A, B, C, D e E. Um peso da matriz é determinado por uma quantidade de elementos diferentes de zero, um peso de linha de uma linha (a row weight) se refere a uma quantidade de elementos diferentes de zero na linha, e um peso de coluna de uma coluna (a column weight) se refere a uma quantidade de elementos diferentes de zero na coluna.
[0071] Conforme mostrado em 200 na Figura 2:submatriz A é uma matriz que inclui mA linhas e nA colunas, a submatriz A tem um tamanho de mAx nA. Cada coluna corresponde a Z bits sistemáticos no código LDPC, e um bit sistemático é, por vezes, denominado um bit de informações.
[0072] A submatriz B é uma matriz quadrada de mA linhas e mA colunas, e a submatriz B tem um tamanho de mA x mA. Cada coluna corresponde a Z bits de paridade no código LDPC. Conforme mostrado em 20a da Figura 2, a submatriz B inclui uma submatriz B' com uma estrutura bidiagonal, e uma coluna de matriz cujo peso é 3 (para simplificar, coluna de peso-3), e a coluna de peso-3 pode ser localizada no lado esquerdo da submatriz B'. A submatriz B pode incluir, adicionalmente, uma ou mais colunas de matriz cujos pesos de coluna são 1 (para simplificar, coluna de peso-1). Por exemplo, uma possível implantação é mostrada em 20b ou 20c na Figura 2.
[0073] De modo geral, uma matriz gerada com base nas submatrizes A e B é uma matriz principal, que pode ser usada para suportar codificação de taxa de código alta.
[0074] Continuando na Figura 2, a submatriz C é uma matriz toda zero, e a submatriz C tem um tamanho de mAx mD. A submatriz E é uma matriz identidade, e a submatriz E tem um tamanho de mDx mD.
[0075] A submatriz D tem um tamanho de mD x (nA+ mA), e a submatriz D pode ser usada para gerar bits de paridade com baixa taxa de código.
[0076] Pode-se entender que o gráfico base é descrito acima a partir de uma perspectiva de definição matemática, e devido ao fato de que a submatriz C é uma matriz toda zero, e a submatriz E é uma matriz identidade. Portanto, em uma possível implantação, uma matriz que inclui a submatriz A e a submatriz B, ou uma matriz que inclui a submatriz A, a submatriz B e a submatriz D pode ser usada para representar um gráfico base de uma matriz em codificação ou decodificação.
[0077] Visto que as estruturas da submatriz C e da submatriz E são relativamente fixas, as estruturas da submatriz A, da submatriz B e da submatriz D estão determinando fatores que afetam o desempenho de codificação e decodificação do código LDPC.
[0078] Quando uma matriz LDPC com uma estrutura similar a raptor é usada para codificação, em uma possível implantação, a parte da matriz que inclui a submatriz A e a submatriz B, a saber, uma matriz principal, pode ser primeiramente usada para codificação para obter um ou mais bits de paridade que correspondem à submatriz B. Então, toda a matriz é usada para codificação para obter um ou mais bits de paridade que correspondem à submatriz E. Visto que a submatriz B pode incluir uma submatriz B' com uma estrutura bidiagonal e uma coluna de peso-1. Portanto, durante a codificação, um ou mais bits de paridade que correspondem à estrutura bidiagonal podem ser primeiramente obtidos e, então, um ou mais bits de paridade que correspondem à coluna de peso-1 são obtidos.
[0079] A seguir, é fornecido um exemplo de método de codificação. Supondo que a matriz principal que inclui a submatriz A e a submatriz B seja Hcore, uma coluna de peso-1 e uma linha em que um elemento diferente de zero na coluna de peso-1 é localizado são removidas da Hcore para obter uma matriz Hcore-dual. Um bloco de matriz na Hcore-dual que corresponde a bits de paridade é representado por He=[He1 He2], em que He1 é uma coluna de peso-3, e He2 tem uma estrutura bidiagonal. De acordo com uma definição de uma matriz de código LDPC, Hcore-duai-[S Pe]T=0, em que S é uma sequência de entrada e é um vetor que inclui bits de informações, Pe é um vetor que inclui bits de paridade, e [S Pe]T indica uma matriz transposta que inciui a sequência de entrada S e Pe. Portanto, bits de paridade que correspondem a Hcore-duai podem ser caicuiados primeiro de acordo com a sequência de entrada S e Hcore-duai. A sequência de entrada S inciui todos os bits de informações. Então, bits de paridade que correspondem à coiuna de peso-1 na submatriz B são caicuiados de acordo com os bits de paridade obtidos que correspondem a Hcore-duai e a sequência de entrada S. Nesse caso, todos os bits de paridade que correspondem à submatriz B podem ser obtidos. Então, bits de paridade que correspondem à submatriz E são obtidos por codificação usando a submatriz D e com base na sequência de entrada S e nos bits de paridade obtidos que correspondem à submatriz B. Desse modo, todos os bits de informações e todos os bits de paridade são obtidos. Esses bits formam uma sequência codificada, ou seja, palavra-código(s) de LDPC.
[0080] De modo opcional, a codificação de LDPC pode incluir, adicionalmente, operações de encurtamento (shortening) e puncionamento (puncturing). Os bits encurtados e os bits puncionados não são enviados.
[0081] O encurtamento é normalmente realizado iniciando a partir do último bit de bits de informações, e pode ser realizado de diferentes modos. Por exemplo, para uma quantidade de bits encurtados que é s0, os últimos s0 bits na sequência de entrada S podem ser estabelecidos como bits conhecidos, tais como estabelecidos para 0 ou nulo ou outros valores, para obter uma sequência de entrada S' e, então, a sequência de entrada S' é codificada usando uma matriz LDPC. Conforme outro exemplo, os últimos (s0 mod Z) bits na sequência de entrada S podem ser estabelecidos como bits conhecidos, tais como estabelecidos para 0 ou nulo ou outros valores, para obter uma sequência de entrada S', e as últimas
Figure img0003
colunas na submatriz A são excluídas para obter uma matriz LDPC H', e a sequência de entrada S' é codificada usando a matriz LDPC H', ou as últimas
Figure img0004
colunas na submatriz A não participam de codificação da sequência de entrada S'. Após a codificação ser concluída, os bits encurtados não são enviados.
[0082] O puncionamento pode ser realizado em uma ou mais colunas que correspondem a bits de punção interna, ou um ou mais bits de paridade em uma sequência de entrada. Normalmente, o puncionamento de um ou mais bits de paridade também é a partir do último bit em bits de paridade. Alternativamente, o puncionamento de bit(s) de paridade pode ser realizado de acordo com um padrão de puncionamento pré-estabelecido no sistema. Em uma possível implantação, uma sequência de entrada é primeiramente codificada e, então, com base em uma quantidade p de bits que precisa ser puncionada, os últimos p bit(s) em bits de paridade são selecionados, ou p bit(s) são selecionados de acordo com o padrão de puncionamento pré-estabelecido no sistema, em que os p bit(s) não são enviados. Em outra implantação possível, p coluna(s) de uma matriz que corresponde aos bits puncionados e p linhas em que elementos diferentes de zero nessas colunas são localizados podem ser determinadas, e as linhas e as colunas não participam da codificação e, portanto, nenhum bit de paridade correspondente é gerado.
[0083] Deve-se observar que as implantações de codificação descritas neste documento são apenas usadas como exemplos. Outras implantações de codificação conhecidas podem ser usadas, alternativamente, com base no gráfico base e/ou na matriz base fornecidos neste pedido e as implantações de codificação não são limitadas neste pedido. A decodificação neste pedido pode ser realizada em vários métodos de decodificação, por exemplo, um método de decodificação de mínima-soma (MS), ou um método de decodificação de propagação de crença. O método de decodificação de MS também pode ser referido, por vezes, como um método de decodificação de MS invasivo. Por exemplo, uma sequência de entrada é inicializada, e uma iteração é realizada. Detecção de decisão abrupta é realizada após a iteração, e um resultado de decisão abrupta é verificado. Se o resultado de decodificação satisfizer uma equação de verificação, a decodificação tem êxito, a iteração termina, e o resultado de decisão é emitido. Se o resultado de decodificação não satisfizer uma equação de verificação, uma iteração é realizada novamente dentro de uma quantidade máxima de vezes de iteração. Se a verificação ainda falhar quando a quantidade máxima de vezes de iteração é alcançada, a decodificação fracassa. Pode-se entender que o princípio da decodificação de MS é convencionalmente conhecido, e os detalhes não são descritos novamente neste documento.
[0084] Deve-se observar que o método de decodificação é apenas usado como um exemplo neste documento, outros métodos de decodificação conhecidos podem ser usados, alternativamente, com base no gráfico base e/ou na matriz base fornecidos neste pedido, e o modo de decodificação não é limitado neste pedido.
[0085] Um código LDPC pode ser obtido com base em um gráfico base e em uma matriz base, um limite superior de desempenho do código LDPC pode ser determinado realizando-se evolução de densidade no gráfico base ou na matriz base. Um teto de erro do código LDPC é determinado com base em um valor de deslocamento na matriz base. Aperfeiçoar o desempenho de codificação e o desempenho de decodificação e diminuir o teto de erro são alguns dos objetivos de projeto do gráfico base e da matriz base. No sistema de comunicação sem fio, comprimentos de código são bastantes variados. Por exemplo, um comprimento de código pode ser 40 bits, 1.280 bits, ou similares. A Figura 3a e a Figura 3b-1 à Figura 3b-8 são exemplos de um gráfico base e matrizes base de uma matriz principal do código LDPC. Os exemplos podem satisfazer exigências de desempenho de blocos de código que têm um comprimento de bloco de 20 a 2.560 bits. Para facilitar a descrição e o entendimento, índices de coluna e índices de linha são mostrados, respectivamente, no lado superior e no lado esquerdo na Figura 3a e na Figura 3b-1 à Figura 3b-8.
[0086] A Figura 4 é um diagrama de desempenho com base no código LDPC mostrado na Figura 3a e na Figura 3b-1 à Figura 3b-8. Um LDPC 1 indica um código LDPC obtido por codificação com base em uma matriz base que corresponde a um gráfico base 30a, e LDPC 2 indica um código LDPC comumente usado, usado para comparação. Uma coordenada horizontal indica um comprimento de uma sequência de bits de informações, e uma unidade de comprimento é bit. Uma coordenada vertical indica uma relação sinal-ruído de símbolo (Es/N0). As curvas de desempenho indicam desempenho de uma relação sinal-ruído de símbolo para o LDPC 1 e o LDPC 2 no caso de diferentes comprimentos de sequência de bits de informações quando um BLER é 0,0001. Pode-se aprender que, em um mesmo BLER, uma relação sinal-ruído de símbolo do LDPC 1 é menor que aquela do LDPC 2 no caso de diferentes comprimentos de sequência de bits de informações, ou seja, o desempenho do LDPC 1 é melhor que aquele do LDPC 2.
[0087] A Figura 3A mostra um exemplo de um gráfico base 30a de um código LDPC. A matriz do gráfico base 30a tem 42 linhas e 52 colunas. Na figura, 0 a 51 na linha superior indicam índices de coluna, e 0 a 41 na coluna à esquerda indicam índices de linha.
[0088] No gráfico base 30a, a submatriz A corresponde a bits sistemáticos e tem mA linhas e 10 colunas, em que 4< mA < 7. Por exemplo, se mA =4, a submatriz A inclui elementos na linha 0 à linha 3 e coluna 0 à coluna 9 no gráfico base 30a. Conforme outro exemplo, se mA>4, usando mA =7 como um exemplo, a submatriz A inclui elementos na linha 0 à linha 6 e coluna 0 à coluna 9 no gráfico base 30a.
[0089] A submatriz B corresponde a bits de paridade, tem mA linhas e mA colunas, e inclui elementos na linha 0 à linha (mA-1) e coluna 10 à coluna (10 + mA-1) no gráfico base 30a.
[0090] A submatriz A e a submatriz B formam uma matriz principal do gráfico base de um código LDPC, ou seja, uma matriz que inclui mA linhas e (mA +nA) colunas. A matriz pode ser usada para codificação de taxa de código alta. Para facilitar a descrição, usando mA =7 como um exemplo abaixo, a matriz principal do gráfico base do código LDPC é de 7 linhas e 17 colunas.
[0091] A submatriz A pode incluir duas colunas que correspondem a bits de punção interna. Após puncionamento, uma taxa de código que pode ser suportada pela matriz principal é 10/(17-2)=2/3.
[0092] A submatriz B inclui uma coluna de peso-3, ou seja, um peso de coluna de coluna 0 da submatriz B (coluna 10 da matriz principal) é 3. Uma matriz que inclui coluna 1 à coluna 3 (coluna 11 à coluna 13 na matriz principal) e linha 0 à linha 3 na submatriz B é de uma estrutura bidiagonal. A submatriz B inclui, adicionalmente, três colunas de peso-1.
[0093] Usando mA=7 como um exemplo, a matriz principal do gráfico base 30a inclui duas linhas cujos pesos são 10, duas linhas cujos pesos são 8, duas linhas cujos pesos são 6, e uma linha cujo peso é 4. Ou seja, pesos de linha de linhas na matriz principal que inclui a submatriz A e a submatriz B são, respectivamente, 8, 10, 8, 10, 4, 6 e 6. Deve-se observar que as linhas na matriz principal podem ser comutadas, por exemplo, a linha 0 é comutada com a linha 2, a linha 1 é comutada com a linha 3, e similares. Cada uma dentre as linhas na matriz principal pode ser uma dentre as linhas mostradas na linha 0 à linha 6 e coluna 0 à coluna 16 na matriz principal do gráfico base 30a. As linhas podem ser comutadas umas com as outras, e as colunas também podem ser comutadas umas com as outras. Por exemplo, a coluna 8 pode ser comutada com a coluna 14 na matriz principal. Deve-se observar que apenas exemplos são fornecidos neste documento. Em uma aplicação real, permutação de coluna e permutação de linha podem ser projetadas, de maneira flexível, com base em uma exigência de sistema.
[0094] Pode-se entender que, visto que em uma matriz, as linhas podem ser comutadas umas com as outras, as colunas também podem ser comutadas umas com as outras, permutação de linha não muda pesos de colunas, e permutação de coluna não muda pesos de linhas, uma quantidade de elementos diferentes de zero na matriz não muda. Após permutação de linha e permutação de coluna, pesos de linhas em um gráfico base não mudam. O uso de um gráfico base obtido após permutação de linha, permutação de coluna, ou permutação de linha e permutação de coluna não afeta o desempenho.
[0095] Deve-se observar que, neste pedido, que o desempenho não é afetado significa: De modo geral, impacto é aceitável e está dentro de uma faixa de tolerância. Por exemplo, em alguns cenários ou em algumas faixas, o desempenho é reduzido em uma faixa permissível. Entretanto, em alguns cenários ou algumas faixas, o desempenho é aperfeiçoado. De modo geral, há pouco impacto no desempenho.
[0096] Normalmente, para um determinado gráfico base ou uma determinada matriz base de um código LDPC, impacto em desempenho causado por algumas modificações em elementos de matriz é aceitável. Por exemplo, em uma implantação, algumas modificações podem ser feitas com base na matriz principal do gráfico base 30a. Por exemplo, um peso de uma linha é maior que ou igual a 2 e menor que ou igual a 5, e pesos de outras seis linhas são maiores que ou iguais a 6 e menores que ou iguais a 12. Pode-se entender que, com referência à solução fornecida neste pedido, pesos de algumas linhas podem ser aumentados ou diminuídos em 1 ou 2. Isso não é limitado neste pedido.
[0097] Para obter taxas de código flexíveis, uma submatriz C, uma submatriz D, e uma submatriz E de tamanhos correspondentes podem ser adicionadas com base na matriz principal. Visto que a submatriz C é uma matriz toda zero e a submatriz E é uma matriz identidade, os tamanhos das matrizes são determinados de acordo com taxas de código, e as estruturas das matrizes são relativamente fixas. O desempenho de codificação e o desempenho de decodificação são afetados, essencialmente, pela matriz principal e pela submatriz D. Diferentes taxas de código podem ser obtidas adicionando-se linhas e colunas com base na matriz principal para formar as submatrizes correspondentes C, D e E. Por exemplo, a matriz principal do gráfico base 30a pode ser usada como a matriz principal, e as submatrizes correspondentes C, D e E são adicionadas para satisfazer as exigências de codificação ou decodificação para diferentes taxas de código.
[0098] Uma contagem de coluna mD da submatriz D é uma soma de uma contagem de coluna da submatriz A e uma contagem de coluna da submatriz B, e uma contagem de linha da submatriz D está essencialmente relacionada a uma taxa de código. Usando o gráfico base 30a como um exemplo, se mA=4, uma contagem de coluna correspondente da submatriz D é (nA+ mA)=14, ou se mA=7, uma contagem de coluna correspondente da submatriz D é (nA+ mA)=17. Se uma taxa de código suportada pelo código LDPC for Rm, um gráfico base ou uma matriz base do código LDPC tem um tamanho de mxn, em que n = nA / Rm +p e m = n - nA= nA / Rm +p - nA. Se uma taxa de código mínima Rm=1/5, e uma quantidade p colunas que corresponde aos bits de punção interna for 2, usando o gráfico base 30a como um exemplo, n=52 e m=42. Uma contagem de linha mD da submatriz D pode ser até m- mA=42- mA, e se mA=4, 0< mD < 38, ou se mA =7, 0< mD < 35.
[0099] Para facilitar a descrição, uma matriz F de mF linhas e (mA +nA) colunas pode ser definida, de modo que a submatriz D possa incluir mD linhas na matriz F, em que 0< mD < mF , e 35< mF < 38. Ainda usando mA=7 como um exemplo, no gráfico base 30a, mA +mD=42. Se mD=35, de maneira correspondente, a submatriz D inclui 35 linhas e 17 colunas. De modo específico, a submatriz D é a matriz F, e a taxa de código suportada pelo código LDPC correspondente é 10/50=1/5. Pode-se aprender que para mA=7, uma matriz que inclui linha 7 à linha 41 e coluna 0 à coluna 17 no gráfico base 30a é a matriz F. Para mA=4, uma matriz que inclui linha 4 à linha 41 e coluna 0 à coluna 13 no gráfico base 30a é a matriz F. Deve-se observar que apenas exemplos são fornecidos neste documento, e o presente pedido não é limitado aos mesmos. mA pode ser, alternativamente, qualquer valor de número inteiro de 4 a 7, e a contagem de coluna da matriz F também muda de maneira correspondente.
[0100] No presente pedido, se houver, no máximo, um elemento diferente de zero em uma mesma coluna em duas linhas adjacentes no gráfico base, as duas linhas são mutuamente ortogonais. Em outras colunas diferentes de algumas colunas para duas linhas adjacentes no gráfico base, se houver, no máximo, um elemento diferente de zero em uma mesma coluna das outras colunas para duas linhas adjacentes no gráfico base, as duas linhas são quase ortogonais.
[0101] A matriz F pode incluir uma pluralidade de linhas que tem uma estrutura quase ortogonal e pelo menos duas linhas que têm uma estrutura ortogonal. Por exemplo, a matriz F inclui pelo menos 15 linhas que satisfazem a estrutura quase ortogonal. Em colunas diferentes das f colunas que correspondem a bits de punção interna em quaisquer duas linhas adjacentes nas 15 linhas, há, no máximo, um elemento diferente de zero em uma mesma coluna, ou seja, um bloco de matriz que inclui as colunas diferentes das colunas que correspondem a bits de punção interna nas pelo menos 15 linhas na matriz F tem uma estrutura ortogonal. A matriz F pode incluir, adicionalmente, 10 a 20 linhas que satisfazem a estrutura ortogonal. Nessas linhas, há, no máximo, um elemento diferente de zero em uma mesma coluna em quaisquer duas linhas adjacentes. De modo específico, também há, no máximo, um elemento diferente de zero em uma coluna de punção interna.
[0102] Por exemplo, usando o gráfico base 30a como um exemplo, as últimas 10 linhas na matriz F têm uma estrutura ortogonal, pesos de nove linhas são 3, e um peso de uma linha é 2. A distribuição de peso de coluna da matriz F pode ser: um peso de uma coluna é 16, um peso de uma coluna é 18, um peso de uma coluna é 11, pesos de duas colunas são 10, um peso de uma coluna é 9, um peso de uma coluna é 8, um peso de uma coluna é 7, um peso de uma coluna é 6, pesos de duas colunas são 4, um peso de uma coluna é 3, e pesos de duas colunas são 2. Se mA>4, pesos de outras colunas na matriz F são 0.
[0103] Usando mA=7 como um exemplo, em um exemplo da matriz F no gráfico base 30a, pesos de linha da matriz F são 5, 3, 4, 4, 4, 3, 4, 4, 3, 4, 4, 3, 3, 3, 3, 2, 3, 3, 2, 4, 2, 3, 2, 4, 2, 3, 3, 3, 3, 3, 2, 3, 3, 3 e 3, em sequência.
[0104] Visto que a submatriz E é uma matriz identidade, pesos de linhas no gráfico base 30a são, respectivamente, 8, 10, 8, 10, 4, 6, 6, 6, 4, 5, 5, 5, 4, 5, 5, 4, 5, 5, 4, 4, 4, 4, 3, 4, 4, 3, 5, 3, 4, 3, 5, 3, 4, 4, 4, 4, 4, 3, 4, 4, 4 e 4.
[0105] Ainda usando mA=7 como um exemplo, se mD=15, a submatriz D no gráfico base do código LDPC pode incluir 15 linhas e 17 colunas. A submatriz D pode ser uma matriz que inclui linha 0 à linha 14 na matriz F no gráfico base 30a, ou seja, linha 7 à linha 21, e coluna 0 à coluna 16 no gráfico base 30a. Uma taxa de código suportada pelo código LDPC correspondente é 10/30=1/3. Ou seja, na taxa de código, o gráfico base do código LDPC corresponde a uma matriz que inclui linha 0 à linha 21 e coluna 0 à coluna 31, no gráfico base 30a. A submatriz E é uma matriz identidade que inclui 15 linhas e 15 colunas, e a submatriz C é uma matriz toda zero que inclui 7 linhas e 15 colunas.
[0106] Se mD=25, a submatriz D no gráfico base do código LDPC tem 25 linhas e 17 colunas. A submatriz D pode ser uma matriz que inclui linha 0 à linha 24 na matriz F no gráfico base 30a, ou seja, linha 7 à linha 31, e coluna 0 à coluna 16 no gráfico base 30a. Uma taxa de código suportada pelo código LDPC correspondente é 10/40=1/4. Ou seja, na taxa de código, o gráfico base do código LDPC corresponde a uma matriz que inclui linha 0 à linha 31 e coluna 0 à coluna 41 no gráfico base 30a. A submatriz E é uma matriz identidade que inclui 25 linhas e 25 colunas, e a submatriz C é uma matriz toda zero que inclui 7 linhas e 25 colunas.
[0107] O restante pode ser deduzido por analogia, e os detalhes não são descritos um a um.
[0108] Deve-se observar que, no gráfico base e na matriz base do código LDPC, as linhas podem ser comutadas umas com as outras, e as colunas também podem ser comutadas umas com as outras. Por exemplo, no gráfico base 30a, a linha 34 pode ser comutada com a linha 36, e a coluna 44 pode ser comutada com a coluna 45. Conforme outro exemplo, a submatriz D inclui mD linhas na matriz F, as mD linhas podem não ser comutadas, ou uma ou mais dentre as mD linhas podem ser comutadas, a submatriz E ainda é de uma estrutura diagonal, e nem permutação de linha nem permutação de coluna é realizada na submatriz E. Por exemplo, a linha 27 é comutada com a linha 29 na matriz F, a submatriz D inclui mD linhas na matriz F, e a submatriz E ainda é da estrutura diagonal. A matriz F é uma matriz quase ortogonal antes da permutação de linha, e ainda é uma matriz quase ortogonal realizando-se permutação de linha. Pode-se entender que, se o gráfico base ou a matriz base incluir a submatriz D, quando colunas na matriz principal forem comutadas, as colunas correspondentes na submatriz D também precisam ser comutadas.
[0109] Conforme mostrado na Figura 3b-1 à Figura 3b-8, matrizes base 30b-1 a 30b-8 são exemplos de uma pluralidade de matrizes base do gráfico base 30a. Um elemento diferente de zero na linha i e coluna j no gráfico base 30a tem uma mesma posição em cada uma dentre as matrizes base 30b- 1 a 30b-8, e um valor do elemento diferente de zero é um valor de deslocamento Vi,j. Um elemento zero em uma matriz de deslocamento é representado usando -1 ou nulo. Uma parte que corresponde à submatriz D na matriz base pode incluir mD linhas em uma matriz de deslocamento da matriz F, e valores de mD podem ser selecionados de acordo com diferentes taxas de código. Uma matriz de deslocamento que corresponde à submatriz D inclui mD linhas na matriz de deslocamento da matriz F.
[0110] Em uma possível implantação, a matriz de deslocamento da matriz F pode ser uma matriz que inclui linha 7 à linha 41 e coluna 0 à coluna 16 em qualquer uma dentre matrizes 30b-1 a 30b-8, ou uma matriz obtida realizando-se permutação de linha/coluna na matriz que inclui linha 7 à linha 41 e coluna 0 à coluna 16 em qualquer uma dentre matrizes 30b-1 a 30b-8; ou a matriz de deslocamento da matriz F pode incluir uma matriz que inclui linha 4 à linha 41 e coluna 0 à coluna 14 em qualquer uma dentre matrizes 30b-1 a 30b- 8, ou uma matriz obtida realizando-se permutação de linha/coluna na matriz que inclui linha 4 à linha 41 e coluna 0 à coluna 14 em qualquer uma dentre matrizes 30b-1 a 30b-8.
[0111] Para suportar diferentes comprimentos de bloco, o código LDPC precisa de diferentes fatores de elevação Z. Por exemplo, fatores de elevação Z = a x 2j, em que a e {2, 3, 5, 7, 9, 11, 13, 15} podem ser divididos em oito conjuntos mostrados na Tabela 1: Tabela 1
Figure img0005
[0112] Para garantir desempenho de código LDPC em diferentes comprimentos de bloco, com base nos conjuntos de diferentes fatores de elevação Z, matrizes base que correspondem aos conjuntos dos diferentes fatores de elevação Z podem ser usadas separadamente.
[0113] Em uma possível implantação:
[0114] Se o fator de elevação Z for um fator de elevação no conjunto 1, a matriz de deslocamento da matriz F pode ser a matriz que inclui linha 7 à linha 41 e coluna 0 à coluna 16 em 30b-1, ou a matriz obtida realizando-se permutação de linha/coluna na matriz que inclui linha 7 à linha 41 e coluna 0 à coluna 16 em 30b-1; ou a matriz de deslocamento da matriz F pode ser a matriz que inclui linha 4 à linha 41 e coluna 0 à coluna 14 em 30b-1, ou a matriz obtida realizando-se permutação de linha/coluna na matriz que inclui linha 4 à linha 41 e coluna 0 à coluna 14 em 30b-1. De maneira correspondente, a matriz base do gráfico base 30a pode ser a matriz mostrada em 30b-1, ou a matriz obtida realizando-se permutação de linha/coluna na matriz mostrada em 30b-1.
[0115] Se o fator de elevação Z for um fator de elevação no conjunto 2, a matriz de deslocamento da matriz F pode ser a matriz que inclui linha 7 à linha 41 e coluna 0 à coluna 16 em 30b-2, ou a matriz obtida realizando-se permutação de linha/coluna na matriz que inclui linha 7 à linha 41 e coluna 0 à coluna 16 em 30b-2; ou a matriz de deslocamento da matriz F pode ser a matriz que inclui linha 4 à linha 41 e coluna 0 à coluna 14 em 30b-2, ou a matriz obtida realizando-se permutação de linha/coluna na matriz que inclui linha 4 à linha 41 e coluna 0 à coluna 14 em 30b-2. De maneira correspondente, a matriz base do gráfico base 30a pode ser a matriz mostrada em 30b-2, ou a matriz obtida realizando-se permutação de linha/coluna na matriz mostrada em 30b-2.
[0116] Se o fator de elevação Z for um fator de elevação no conjunto 3, a matriz de deslocamento da matriz F pode ser a matriz que inclui linha 7 à linha 41 e coluna 0 à coluna 16 em 30b-3, ou a matriz obtida realizando-se permutação de linha/coluna na matriz que inclui linha 7 à linha 41 e coluna 0 à coluna 16 em 30b-3; ou a matriz de deslocamento da matriz F pode ser a matriz que inclui linha 4 à linha 41 e coluna 0 à coluna 14 em 30b-3, ou a matriz obtida realizando-se permutação de linha/coluna na matriz que inclui linha 4 à linha 41 e coluna 0 à coluna 14 em 30b-3. De maneira correspondente, a matriz base do gráfico base 30a pode ser a matriz mostrada em 30b-3, ou a matriz obtida realizando-se permutação de linha/coluna na matriz mostrada em 30b-3.
[0117] Se o fator de elevação Z for um fator de elevação no conjunto 4, a matriz de deslocamento da matriz F pode ser a matriz que inclui linha 7 à linha 41 e coluna 0 à coluna 16 em 30b-4, ou a matriz obtida realizando-se permutação de linha/coluna na matriz que inclui linha 7 à linha 41 e coluna 0 à coluna 16 em 30b-4; ou a matriz de deslocamento da matriz F pode ser a matriz que inclui linha 4 à linha 41 e coluna 0 à coluna 14 em 30b-4, ou a matriz obtida realizando-se permutação de linha/coluna na matriz que inclui linha 4 à linha 41 e coluna 0 à coluna 14 em 30b-4. De maneira correspondente, a matriz base do gráfico base 30a pode ser a matriz mostrada em 30b-4, ou a matriz obtida realizando-se permutação de linha/coluna na matriz mostrada em 30b-4.
[0118] Se o fator de elevação Z for um fator de elevação no conjunto 5, a matriz de deslocamento da matriz F pode ser a matriz que inclui linha 7 à linha 41 e coluna 0 à coluna 16 em 30b-5, ou a matriz obtida realizando-se permutação de linha/coluna na matriz que inclui linha 7 à linha 41 e coluna 0 à coluna 16 em 30b-5; ou a matriz de deslocamento da matriz F pode ser a matriz que inclui linha 4 à linha 41 e coluna 0 à coluna 14 em 30b-5, ou a matriz obtida realizando-se permutação de linha/coluna na matriz que inclui linha 4 à linha 41 e coluna 0 à coluna 14 em 30b-5. De maneira correspondente, a matriz base do gráfico base 30a pode ser a matriz mostrada em 30b-5, ou a matriz obtida realizando-se permutação de linha/coluna na matriz mostrada em 30b-5.
[0119] Se o fator de elevação Z for um fator de elevação no conjunto 6, a matriz de deslocamento da matriz F pode ser a matriz que inclui linha 7 à linha 41 e coluna 0 à coluna 16 em 30b-6, ou a matriz obtida realizando-se permutação de linha/coluna na matriz que inclui linha 7 à linha 41 e coluna 0 à coluna 16 em 30b-6; ou a matriz de deslocamento da matriz F pode ser a matriz que inclui linha 4 à linha 41 e coluna 0 à coluna 14 em 30b-6, ou a matriz obtida realizando-se permutação de linha/coluna na matriz que inclui linha 4 à linha 41 e coluna 0 à coluna 14 em 30b-6. De maneira correspondente, a matriz base do gráfico base 30a pode ser a matriz mostrada em 30b-6, ou a matriz obtida realizando-se permutação de linha/coluna na matriz mostrada em 30b-6.
[0120] Se o fator de elevação Z for um fator de elevação no conjunto 7, a matriz de deslocamento da matriz F pode ser a matriz que inclui linha 7 à linha 41 e coluna 0 à coluna 16 em 30b-7, ou a matriz obtida realizando-se permutação de linha/coluna na matriz que inclui linha 7 à linha 41 e coluna 0 à coluna 16 em 30b-7; ou a matriz de deslocamento da matriz F pode ser a matriz que inclui linha 4 à linha 41 e coluna 0 à coluna 14 em 30b-7, ou a matriz obtida realizando-se permutação de linha/coluna na matriz que inclui linha 4 à linha 41 e coluna 0 à coluna 14 em 30b-7. De maneira correspondente, a matriz base do gráfico base 30a pode ser a matriz mostrada em 30b-7, ou a matriz obtida realizando-se permutação de linha/coluna na matriz mostrada em 30b-7.
[0121] Se o fator de elevação Z for um fator de elevação no conjunto 8, a matriz de deslocamento da matriz F pode ser a matriz que inclui linha 7 à linha 41 e coluna 0 à coluna 16 em 30b-8, ou a matriz obtida realizando-se permutação de linha/coluna na matriz que inclui linha 7 à linha 41 e coluna 0 à coluna 16 em 30b-8; ou a matriz de deslocamento da matriz F pode ser a matriz que inclui linha 4 à linha 41 e coluna 0 à coluna 14 em 30b-8, ou a matriz obtida realizando-se permutação de linha/coluna na matriz que inclui linha 4 à linha 41 e coluna 0 à coluna 14 em 30b-8. De maneira correspondente, a matriz base do gráfico base 30a pode ser a matriz mostrada em 30b-8, ou a matriz obtida realizando-se permutação de linha/coluna na matriz mostrada em 30b-8.
[0122] Por exemplo, um valor do fator de elevação Z é determinado com base em um comprimento K da sequência de entrada. Por exemplo, se o comprimento da sequência de entrada for K, um valor mínimo que satisfaz 10xZ>K pode ser determinado a partir de uma pluralidade de fatores de elevação definida em um sistema e usada como o valor do fator de elevação da matriz. Adicionalmente, uma matriz base correspondente pode ser selecionada de acordo com o fator de elevação determinado.
[0123] De modo similar, as linhas na matriz base também podem ser comutadas umas com as outras, e as colunas na matriz base também podem ser comutadas umas com as outras. Se pelo menos uma dentre permutação de linha ou permutação de coluna for realizada no gráfico base, a mesma permutação também é realizada nas linhas ou colunas correspondentes na matriz base.
[0124] Pode-se entender que, neste pedido, a estrutura quase ortogonal não é limitada a apenas duas linhas adjacentes. Uma matriz que inclui a estrutura quase ortogonal pode ser projetada, alternativamente, para incluir uma pluralidade de grupos, sendo que cada grupo inclui pelo menos duas linhas, por exemplo, 3 linhas ou 4 linhas, e linhas incluídas em cada grupo são quase ortogonais.
[0125] No diagrama de curva de desempenho mostrado na Figura 4, LDPC 1 indica que o código LDPC é obtido por codificação com base em uma matriz base que corresponde ao gráfico base 30a, e LDPC 2 indica um código LDPC comumente usado, usado para comparação. Uma coordenada horizontal indica um comprimento de uma sequência de bits de informações, e uma unidade de comprimento é bit. Uma coordenada vertical é uma relação sinal- ruído de símbolo (Es/N0). As curvas de desempenho indicam desempenho de uma relação sinal-ruído de símbolo para LDPC 1 e LDPC 2 no caso de diferentes comprimentos de sequência de bits de informações quando BLER é 0,0001. Pode-se aprender que, em um mesmo BLER, uma relação sinal-ruído de símbolo de LDPC 1 é menor que aquela de LDPC 2 no caso de diferentes comprimentos de sequência de bits de informações, ou seja, o desempenho de LDPC 1 é melhor que aquele de LDPC 2.
[0126] Em um método de codificação fornecido em uma modalidade do presente pedido, um codificador codifica uma sequência de entrada usando uma matriz LDPC. Um gráfico base da matriz LDPC pode ser qualquer gráfico base nos exemplos antecedentes, e uma matriz base da matriz LDPC pode ser qualquer matriz base nos exemplos antecedentes. A sequência de entrada do codificador pode ser uma sequência de bits de informações, ou pode ser uma sequência de bits de informações obtida através de pelo menos um tipo do seguinte processamento: anexação de bits de CRC ou inserção de bits de preenchimento.
[0127] Adicionalmente, o método inclui: determinar um fator de elevação Z. Um valor do fator de elevação Z pode ser determinado com base em um comprimento K da sequência de entrada. A sequência de bits de informações também pode ser denominada, por vezes, um bloco de código (code block), e pode ser obtida através de segmentação de bloco de código em um bloco de transporte. Se o comprimento da sequência de bits de informações for K, um valor mínimo que satisfaz 10*Z>K pode ser determinado a partir de uma pluralidade de fatores de elevação definida em um sistema como o valor do fator de elevação Z. Por exemplo, se K=128 e os fatores de elevação definidos no sistema incluírem fatores de elevação nos conjuntos na Tabela 1, por exemplo, 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 e 256, pode-se determinar que Z seja 13 e esteja no conjunto 7. Deve-se observar que somente exemplos são fornecidos neste documento, e os exemplos não constituem uma limitação.
[0128] Em outro possível projeto, Kb pode ser uma contagem de coluna de colunas que correspondem a bits de informações em uma matriz base de um código LDPC. Em um conjunto de fator de elevação suportado, um valor mínimo Zo que satisfaz Kb• Zo>K pode ser determinado como o valor do fator de elevação Z. No gráfico base 30a, a contagem de coluna Kbmáx de colunas que correspondem a bits de informações é 10, e supõe-se que um conjunto de fator de elevação suportado pelo gráfico base 30a seja {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}.
[0129] Se o comprimento K da sequência de entrada for 529 bits, Z é 26. Se o comprimento K da sequência de entrada for 5000 bits, Z é 240. Deve- se observar que somente exemplos são fornecidos neste documento, e os exemplos não constituem uma limitação.
[0130] Conforme outro exemplo, um valor de Kb também pode variar com um valor de K, mas o valor de Kb não excede a contagem de coluna de colunas que correspondem aos bits de informações na matriz base do código LDPC. Por exemplo, diferentes limites podem ser estabelecidos para Kb.
[0131] Um possível projeto é o seguinte: Deve-se observar que valores limítrofes 640, 560 ou 192, neste documento, são apenas exemplos. Outros valores podem ser projetados de acordo com uma exigência de projeto de sistema. se (K>640), Kb =10; ainda se (K>560), Kb=9; ainda se (K>192), Kb =8; ainda Kb= 6; fim
[0132] Em que o fator de elevação Z pode ser determinado pelo codificador de acordo com o comprimento K da sequência de entrada, ou pode ser obtido pelo codificador a partir de outras entidades (tais como um processador).
[0133] Em um possível projeto, um valor de um bit de preenchimento pode ser nulo, ou 0, ou outros valores definidos em um sistema. Após a codificação, os bits de preenchimento podem ser identificados e não são enviados. O presente pedido não é limitado a isso.
[0134] A codificação, pelo codificador, de uma sequência de entrada usando uma matriz LDPC H pode ser codificação da sequência de entrada usando a matriz LDPC H que corresponde ao fator de elevação Z.
[0135] Em uma possível implantação, uma sequência de entrada é c={co, ci, C2, ..., CK-i} , um comprimento da sequência de entrada c é K, e uma sequência de saída obtida após a sequência de entrada c ser codificada pelo codificador é d ={d0, d1, d2, ., dN-1}, em que K é um número inteiro maior que 0, e K pode ser um número inteiro múltiplo do fator de elevação Z.
[0136] A sequência de saída d inclui K0 bits na sequência de entrada c e bits de paridade em uma sequência de bits de paridade w, em que K0 é um número inteiro maior que 0 e menor que ou igual a K. Um comprimento da sequência de bits de paridade w é N- K0, em que w ={w0, w1, w2, ., wN-K0-1}.
[0137] A sequência de bits de paridade w e a sequência de entrada c satisfazem a Fórmula (1):
Figure img0006
em que cT=[c0, c1, c2, ., cK-1]T, cT é um vetor transposto de um vetor que inclui bits na sequência de entrada, e wT=[w0, w1, w2, ., wN-K0-1]T , wT é um vetor transposto de um vetor que inclui bits na sequência de bits de paridade, em que 0T é um vetor coluna, e valores de todos os elementos de 0T são 0.
[0138] H é uma matriz LDPC obtida com base em qualquer gráfico base descrito nas modalidades antecedentes, um gráfico base de H tem m linhas e n colunas, e pode ser o gráfico base 30a mencionado nas modalidades antecedentes.
[0139] Em um projeto, o gráfico base de H inclui p colunas de punção interna, em que p é um número inteiro maior que ou igual a 0, e bits de informações que correspondem às p colunas de punção interna não são emitidos, e a sequência de saída não inclui os bits de informações que correspondem às p colunas de punção interna. Nesse caso, Ko= K- pZ. por exemplo, se p=2, Ko= K- 2Z e o comprimento da sequência de bits de paridade w é N + 2Z - K. Se as p colunas de punção interna participarem de codificação, K0= K e o comprimento da sequência de bits de paridade w é N - K.
[0140] De maneira correspondente, H pode ter M linhas e (N + pZ colunas ou M linhas e N colunas, e um tamanho do gráfico base de H é: m=M/Z linhas e
Figure img0007
colunas.
[0141] O gráfico base da matriz LDPC H pode ser representado como [HBG HBG,EXT], em que
Figure img0008
0 m n c c × representa uma matriz toda zero de tamanho mcx nc , e nxxnc representa uma matriz identidade de tamanho nc x nc. Visto que Kb pode variar com K, HBG inclui Kb colunas que correspondem a bits de informações em HBG2 e inclui coluna 10 a coluna (10+ mA -1) em HBG2, uma contagem de coluna em HBG2 é 10+ mA, em que 4<mA<7. Por exemplo, se Kbe{6, 8, 9}, HBG pode ser obtido após coluna Kb a coluna 9 serem excluídas de HBG2. Se Kb=10, HBG=HBG2.
[0142] Em um possível projeto, mcxnc é a submatriz C no gráfico base nas modalidades antecedentes, e ncxnc é a submatriz E nas modalidades antecedentes, de modo que
Figure img0009
em que A, B e D são,respectivamente, as submatrizes A, B e D no gráfico base nas modalidades antecedentes. Portanto, mc=7, 0<nc<35, uma contagem de linha em HBG2 é menor que ou igual a 42 e é maior que ou igual a 4, e a contagem de coluna em HBG2 é igual a 17.
[0143] Em outro possível projeto, visto que coluna 14 a coluna 16 são colunas de peso-1 e elementos diferentes de zero nessas colunas estão na linha 4 a linha 6, portanto, mc=6, 0<nc<36, e a contagem de coluna em HBG2 é 16; ou mc=5, 0<nc<37, e a contagem de coluna em HBG2 é 15; ou mc=4, 0<nc<38, e a contagem de coluna em HBG2 é 14.
[0144] De maneira correspondente, a matriz LDPC H pode ser representada por H=[H1 H2].
[0145] H1 pode ser obtido substituindo-se cada elemento zero em HBG por uma matriz toda zero de tamanho ZxZ, e substituindo cada elemento diferente de zero por uma matriz de permutação circular hi,j de tamanho ZxZ, em que a matriz de permutação circular hi,j é obtida deslocando-se, de modo circular, uma matriz identidade de tamanho ZxZ para a direita Pi,j vezes, e hi,j também pode ser representado por I(Pi,j), em que i é um índice de linha e j é um índice de coluna. Em um possível projeto, Pi,j = mod (Vi,j,Z ), em que Vi,j é um elemento diferente de zero na linha i e coluna j em uma matriz base que corresponde a um índice de conjunto de fator de elevação que corresponde a Z.
[0146] H2 pode ser obtido substituindo-se cada elemento zero em HBG,EXT por uma matriz toda zero de tamanho ZxZ e substituindo cada elemento diferente de zero por uma matriz identidade de tamanho ZxZ.
[0147] O codificador pode realizar codificação e emissão de uma pluralidade de modos. O gráfico base 30a, mencionado nas modalidades antecedentes, é usado como um exemplo para a descrição abaixo. O gráfico base tem um máximo de 42 linhas e um máximo de 52 colunas, e inclui duas colunas de punção interna. Para facilitar a descrição, no presente pedido, um gráfico base que tem a maioria das linhas e a maioria das colunas é denominado, por vezes, um gráfico base completo.
[0148] Modo 1
[0149] A codificação é realizada com base no gráfico base completo, de modo que o máximo possível de bits de paridade possa ser obtido. Nesse caso, m=42 e n=52, que correspondem a linha 0 à linha 41 e coluna 0 à coluna 51 no gráfico base antecedente.
[0150] De maneira correspondente, para a matriz LDPC H, M é 42xZ e, se a sequência de saída incluir bits de informações que correspondem às colunas que correspondem a bits de punção interna, N=(42+Kb) xZ; ou se a sequência de saída não incluir 2xZ bits de informações que correspondem aos bits de punção interna, N=(40+Kb)^Z.
[0151] Os bits de informações e os bits de paridade que precisam ser enviados podem ser determinados a partir da sequência de saída gerada pelo codificador durante processamento subsequente.
[0152] Modo 2
[0153] A codificação é realizada com base em algumas linhas e algumas colunas no gráfico base completo. As linhas e colunas podem ser selecionadas, com base em uma taxa de código que precisa ser enviada, ou uma quantidade de bits de informações e uma quantidade de bits de paridade que precisam ser enviadas, ou similares, a partir do gráfico base completo para codificação.
[0154] Por exemplo, a taxa de código é 2/3, m=7, e n=17, ou seja, a codificação é realizada com base em linha 0 à linha 6 e coluna 0 à coluna 16 no gráfico base antecedente 30a.
[0155] De maneira correspondente, para a matriz LDPC H, M=7xZ e, se a sequência de saída incluir bits de informações que correspondem às colunas de punção interna, N=17xZ; ou se a sequência de saída não incluir os bits de informações que correspondem às colunas de punção interna, N=15xZ.
[0156] Conforme outro exemplo, a taxa de código é 5/6, m=4, e n=14.
[0157] Conforme outro exemplo, a taxa de código é 1/5, m=42, e n=52.
[0158] Pode-se aprender que o tamanho do gráfico base de H é 4<m<42 e 14<n<52. De maneira correspondente, para a matriz LDPC H, 4x Z< M<42x Z e (4+Kb) x Z< N <(42+Kb) x Z.
[0159] Por exemplo, se Z for 13 e no conjunto 7, a codificação é realizada na sequência de entrada usando a matriz LDPC obtida com base na matriz base 3b-7 que corresponde ao conjunto 7.
[0160] Em outro projeto, um elemento Pi,j na linha i e coluna j da matriz base do fator de elevação Z também pode satisfazer a seguinte relação:
Figure img0010
em que Vi,j pode ser um valor de deslocamento de um elemento na linha i e coluna j em uma matriz base de um conjunto ao qual Z pertence, ou seja, um valor de deslocamento de um elemento diferente de zero na linha i e coluna j em uma matriz base de um fator de elevação máximo no conjunto ao qual Z pertence.
[0161] Por exemplo, usando um exemplo em que Z é 13, o elemento Pi,j na linha i e coluna j na matriz base de Z satisfaz:
Figure img0011
, em que Vi,j é um valor de deslocamento de um elemento diferente de zero na linha i e coluna j na matriz base 3b-7.
[0162] Deve-se observar que apenas exemplos são fornecidos neste documento, e os exemplos não constituem uma limitação no presente pedido.
[0163] Nas implantações antecedentes, a matriz base HB da matriz LDPC H pode ser qualquer matriz base mencionada nas modalidades antecedentes ou uma matriz base obtida realizando-se permutação de linha, ou permutação de coluna, ou permutação de linha e permutação de coluna em qualquer matriz base descrita acima. O gráfico base da matriz LDPC inclui pelo menos uma submatriz A e uma submatriz B, e pode incluir, adicionalmente, uma submatriz C, uma submatriz D e uma submatriz E. Para cada submatriz, consulte as descrições nas modalidades antecedentes, e os detalhes não são descritos novamente neste documento. Certamente, a matriz base HB pode ser, alternativamente, uma matriz base cujo gráfico base é igual ao gráfico base 30a. O presente pedido não é limitado a isso.
[0164] Em uma possível implantação, a matriz base HB do código LDPC pode ser armazenada em uma memória, e o codificador obtém a matriz LDPC que corresponde ao fator de elevação Z, para codificar a sequência de entrada. Em outra implantação possível, visto que há uma pluralidade de matrizes base HB do código LDPC, espaço de armazenamento relativamente grande é ocupado quando as matrizes base são armazenadas de acordo com estruturas de matriz. O gráfico base do código LDPC pode ser armazenado, alternativamente, na memória, e valores de deslocamento de elementos diferentes de zero nas matrizes base podem ser armazenados linha por linha ou coluna por coluna e, então, a matriz LDPC pode ser obtida com base no gráfico base e valores de deslocamento de uma matriz base que correspondem ao fator de elevação Z.
[0165] O gráfico base pode indicar posições de elementos diferentes de zero em cada matriz base. Em outra implantação possível, armazenar o gráfico base pode ser armazenar as posições dos elementos diferentes de zero no gráfico base. Uma posição de um elemento diferente de zero pode ser indicada por uma linha e uma coluna em que o elemento diferente de zero é localizado, por exemplo, uma posição de coluna de um elemento diferente de zero em uma linha, ou uma posição de linha de um elemento diferente de zero em uma coluna. Em outra implantação possível, armazenar o gráfico base também pode ser armazenar posições de elementos zero no gráfico base. De modo similar, uma posição de um elemento zero também pode ser indicada por uma linha e uma coluna em que o elemento zero é localizado, por exemplo, uma posição de coluna de um elemento zero em uma linha é localizado, ou uma posição de linha de um elemento zero em uma coluna. Portanto, posições de elementos diferentes de zero podem ser obtidas excluindo-se as posições dos elementos zero. Deve-se observar que exemplos são fornecidos neste documento, e os exemplos não constituem uma limitação no presente pedido.
[0166] Em um projeto, parâmetros relacionados a um gráfico base ou a uma matriz base podem ser expressos em uma tabela. Por exemplo, parâmetros ou tabelas relacionados podem ser armazenados em uma ou mais memórias. Os parâmetros relacionados, tais como um índice de linha no gráfico base ou na matriz base e um índice de coluna em que um elemento diferente de zero é localizado são lidos a partir da memória, de modo a obter o gráfico base ou a matriz base. De modo opcional, um peso de linha de cada linha, e um valor de deslocamento de um elemento diferente de zero em cada linha podem ser armazenados.
[0167] A seguir, a Figura 3A é usada como um exemplo para descrição. Para outro gráfico base ou matriz base fornecida neste pedido, consulte um projeto similar.
[0168] Por exemplo, parâmetros no gráfico base 30a podem ser expressos na Tabela 2. Tabela 2
Figure img0012
Figure img0013
[0169] Deve-se observar que somente exemplos são fornecidos neste documento, e os exemplos não constituem uma limitação. Os parâmetros relacionados de outro gráfico base ou matriz base fornecida neste pedido também podem ser expressos em uma tabela similar. Pode-se entender que o gráfico base antecedente 30a e a Tabela 2 se destinam a ajudar a entender projetos do gráfico base e da matriz base. As formas de representação do gráfico base e da matriz base não são limitadas apenas às formas de representação do gráfico base antecedente 30a e da Tabela 2. Outras possíveis variações podem ser incluídas.
[0170] Em uma implantação, parâmetros relacionados podem ser índice de coluna, peso de coluna e índice de linha em que um elemento diferente de zero é localizado; ou índice de coluna, peso de coluna e índice de linha em que um elemento zero é localizado. Usando uma forma da Tabela 3 como um exemplo, a Tabela 3 mostra apenas exemplos de duas colunas do gráfico base. Outras colunas podem ser deduzidas por analogia, e os detalhes não são descritos um a um. A coluna 14 à coluna 51 podem ser colunas de peso-1, e podem não ser, alternativamente, armazenadas. O índice de linha de um elemento diferente de zero é calculado de acordo com um índice de coluna. Tabela 3
Figure img0014
[0171] Em uma implantação, o parâmetro "peso de linha" ou "peso de coluna", na Tabela 2 ou na Tabela 3, pode ser, alternativamente, omitido. De acordo com colunas ou linhas em que elementos diferentes de zero em uma linha ou uma coluna são localizados, uma quantidade de elementos diferentes de zero em uma linha ou uma coluna é aprendida. Portanto, peso de linha ou peso de coluna também é aprendido.
[0172] Em uma implantação, valores de parâmetro em “Índice de coluna de elemento diferente de zero " na Tabela 2 e valores de parâmetro em “Índice de linha de elemento diferente de zero" na Tabela 3 podem ser armazenados em outra ordem além de uma ordem crescente, desde que um valor de parâmetro seja indexado a uma coluna de um elemento diferente de zero ou indexado a uma linha de um elemento diferente de zero.
[0173] Em uma implantação, a Tabela 2 ou a Tabela 3 pode incluir, adicionalmente, uma coluna "Valor de deslocamento de elemento diferente de zero". Os valores de parâmetro na coluna "Valor de deslocamento de elemento diferente de zero" estão em uma correspondência um para um com os valores de parâmetro em “Índice de coluna de elemento diferente de zero". A Tabela 5 pode incluir, adicionalmente, uma coluna "Valor de deslocamento de elemento diferente de zero". Os valores de parâmetro na coluna "Valor de deslocamento de elemento diferente de zero" estão em uma correspondência um para um com valores de parâmetro em "Índice de linha de elemento diferente de zero".
[0174] Em um projeto, para economizar espaço de armazenamento, uma posição de um elemento diferente de zero em uma parte com uma estrutura relativamente definida no gráfico base, pode ser calculada de acordo com uma posição de linha e um índice de coluna, e pode não ser armazenada. Por exemplo, a submatriz E é uma matriz diagonal, e inclui elementos diferentes de zero apenas na diagonal da matriz. Um índice de coluna de um elemento diferente de zero pode ser calculado de acordo com um índice de linha, ou um índice de linha de um elemento diferente de zero também pode ser calculado de acordo com um índice de coluna. Usando o gráfico base 30a como um exemplo, para uma coluna de peso-1 na linha me, em que me>4, um índice de coluna de um elemento diferente de zero é coluna (me+Kb), nesse caso, Kb=10. Por exemplo, um índice de coluna de um elemento diferente de zero na linha 4 é coluna 14. Conforme outro exemplo, a estrutura bidiagonal B' na submatriz B é localizada na linha 0 à linha 3 e coluna 11 à coluna 13 no gráfico base 30a. Uma posição de coluna de um elemento diferente de zero pode ser calculada de acordo com um índice de linha, ou um índice de linha de um elemento diferente de zero também pode ser calculado de acordo com um índice de coluna. Para linha mB, se 0<mB<3, índices de coluna de elementos diferentes de zero na linha incluem coluna (mB+Kb) e coluna (mB+Kb+1); e, se mB=0 ou mB=3, um índice de coluna de um elemento diferente de zero na linha inclui coluna (mB+Kb).
[0175] Conforme mostrado na Tabela 4, a Tabela 4 mostra parâmetros em linhas no gráfico base 30a. Os índices de coluna de elementos diferentes de zero na coluna 0 à coluna 13 podem ser armazenados. Entretanto, os índices de coluna de elementos diferentes de zero na coluna 14 à coluna 52 não são armazenados, ou seja, um índice de coluna de um elemento diferente de zero em uma coluna de peso-1 não é armazenado. A Tabela 4 pode ser usada para indicar HBG2 que inclui 14 colunas: Tabela 4
Figure img0015
Figure img0016
[0176] Certamente, para parâmetros armazenados em HBG2 que incluem 15 colunas, os parâmetros de linha 0 à linha 3 e coluna 5 à coluna 41 são iguais àqueles na Tabela 4. Um peso de linha da linha 4 é o peso de linha da linha 4 na Tabela 4 mais 1, ou seja, 4. As posições de coluna de elementos diferentes de zero na linha 4 incluem índices de coluna de elementos diferentes de zero na linha 4 na Tabela 4 e índice de coluna 4, ou seja, 0, 1, 11 e 14. Para parâmetros armazenados em HBG2 que incluem 16 colunas, os parâmetros de linha 0 à linha 3 e coluna 6 à coluna 41 são iguais àqueles na Tabela 4. Um peso de linha da linha 4 é o peso de linha da linha 4 na Tabela 4 mais 1, ou seja, 4. As posições de coluna de elementos diferentes de zero na linha 4 incluem índices de coluna de elementos diferentes de zero na linha 4 na Tabela 4 e índice de coluna 14, ou seja, 0, 1, 11 e 14. Um peso de linha da linha 5 é o peso de linha da linha 5 na Tabela 4 mais 1, ou seja, 6. As posições de coluna de elementos diferentes de zero na linha 5 incluem posições de coluna de elementos diferentes de zero na linha 5 na Tabela 4 e uma posição cujo índice de coluna é 15, ou seja, 0, 1, 5, 7, 11 e 15.
[0177] Para parâmetros armazenados em HBG2 que incluem 17 colunas, os parâmetros de linha 0 à linha 3 e coluna 7 à coluna 41 são iguais àqueles na Tabela 4. Um peso de linha da linha 4 é o peso de linha da linha 4 na Tabela 4 mais 1, ou seja, 4. As posições de coluna de elementos diferentes de zero na linha 4 incluem índices de coluna de elementos diferentes de zero na linha 4 na Tabela 4 e índice de coluna 14, ou seja, 0, 1, 11 e 14. Um peso de linha da linha 5 é o peso de linha da linha 5 na Tabela 4 mais 1, ou seja, 6. As posições de coluna de elementos diferentes de zero na linha 5 incluem índices de coluna de elementos diferentes de zero na linha 5 na Tabela 4 e índice de coluna 15, ou seja, 0, 1, 5, 7, 11 e 15. Um peso de linha da linha 6 é o peso de linha da linha 6 na Tabela 4 mais 1, ou seja, 6. As posições de coluna de elementos diferentes de zero na linha 6 incluem índices de coluna de elementos diferentes de zero na linha 6 na Tabela 4 e índice de coluna 16, ou seja, 0, 5, 7, 9, 11 e 16, conforme mostrado na Tabela 5.Tabela 5
Figure img0017
Figure img0018
[0178] Nos projetos antecedentes, cada coluna "Peso de linha” é opcional. Em um possível projeto, no gráfico base, 1 e 0, em cada linha ou cada coluna, podem ser considerados dígitos binários. O espaço de armazenamento pode ser poupado armazenando-se os dígitos binários como dígitos decimais ou dígitos hexadecimais. Usando qualquer um dentre os gráficos base antecedentes como um exemplo, para cada linha, posições de elementos diferentes de zero nas primeiras 26 colunas ou primeiras 27 colunas podem ser armazenadas usando quatro dígitos hexadecimais. Por exemplo, se as primeiras 14 colunas na linha 0 forem 11110010011100, as posições de elementos diferentes de zero na linha 0 podem ser denotadas como 0xF2 e 0x70, ou seja, cada oito colunas formam um dígito hexadecimal. Para as últimas duas colunas na linha 0, um dígito hexadecimal correspondente pode ser obtido preenchendo- se 0s para alcançar um número inteiro múltiplo de 8 bits. Certamente, um dígito hexadecimal correspondente pode ser obtido, alternativamente, preenchendo 0s antes 11110010011100 para alcançar um número inteiro múltiplo de 8 bits. Outras linhas podem ser deduzidas por analogia, e os detalhes não são descritos novamente neste documento.
[0179] Deve-se observar que apenas exemplos são fornecidos neste documento, e os exemplos não constituem uma limitação no presente pedido.
[0180] Quando a sequência de bits de informações for codificada, a matriz LDPC H usada para codificação pode ser obtida expandindo-se a matriz base HB de acordo com Z. Para cada elemento diferente de zero Pi,j na matriz base HB, uma matriz de permutação circular hij de tamanho Z*Z é determinada, em que hi,j é uma matriz de permutação circular obtida deslocando-se, de modo circular, uma matriz identidade Pi,j vezes. A matriz de verificação de paridade H é obtida substituindo-se cada elemento diferente de zero Pi,j por hi,j e substituindo cada elemento zero na matriz base HB por uma matriz toda zero de tamanho Z*Z.
[0181] Em um sistema de comunicação, um código LDPC pode ser obtido por codificação usando o método antecedente. Após obter o código LDPC, um aparelho de comunicação pode realizar, adicionalmente, as seguintes uma ou mais operações: realizar correspondência de taxa no código LDPC; intercalar, de acordo com um esquema de intercalação, um código LDPC obtido realizando- se correspondência de taxa; modular o código LDPC intercalado de acordo com um esquema de modulação para obter uma sequência de bits B; e enviar a sequência de bits B.
[0182] Em um método de decodificação fornecido em outra modalidade do presente pedido, um decodificador decodifica uma sequência de entrada usando uma matriz LDPC. Um gráfico base da matriz LDPC pode ser qualquer gráfico base nos exemplos antecedentes. Uma matriz base HB da matriz LDPC pode ser qualquer matriz base nos exemplos antecedentes. A sequência de entrada do decodificador pode ser uma sequência de valores não quantificados de um código LDPC.
[0183] Adicionalmente, o método inclui: determinar um fator de elevação Z. Um dispositivo de comunicação em uma extremidade de recebimento pode receber um sinal que inclui o código LDPC, obter a sequência de valores não quantificados do código LDPC no sinal, e determinar o fator de elevação correspondente Z.
[0184] A decodificação, por meio de um decodificador, de uma sequência de entrada usando uma matriz LDPC pode ser decodificação da sequência de valores não quantificados do código LDPC usando a matriz LDPC que corresponde ao fator de elevação Z.
[0185] A decodificação é um processo inverso à codificação. Portanto, para descrições da matriz LDPC H e do gráfico base da matriz LDPC, consulte as modalidades de codificação antecedentes. Durante a decodificação, a decodificação pode ser realizada, alternativamente, com base no gráfico base completo, ou com base em algumas linhas e colunas do gráfico base completo. A matriz base HB da matriz LDPC pode ser qualquer matriz base mencionada nas modalidades antecedentes ou uma matriz base obtida realizando-se permutação de linha, ou permutação de coluna, ou tanto permutação de linha quanto permutação de coluna em qualquer matriz base descrita acima. O gráfico base da matriz LDPC inclui pelo menos uma submatriz A e uma submatriz B, e pode incluir, adicionalmente, uma submatriz C, uma submatriz D e uma submatriz E. Para cada parte, consulte as descrições nas modalidades antecedentes, e os detalhes não são descritos novamente neste documento.
[0186] Em um possível projeto, a matriz base HB do código LDPC pode ser armazenada em uma memória, e valores não quantificados do código LDPC podem ser decodificados obtendo-se a matriz LDPC que corresponde ao fator de elevação Z.
[0187] Em outra implantação possível, visto que há uma pluralidade de matrizes base do código LDPC, espaço de armazenamento relativamente grande é ocupado quando as matrizes base são armazenadas de acordo com estruturas de matriz. O gráfico base do código LDPC pode ser armazenado, alternativamente, na memória, e valores de deslocamento de elementos diferentes de zero nas matrizes base podem ser armazenados linha por linha ou coluna por coluna e, então, a matriz LDPC pode ser obtida com base no gráfico base e valores de deslocamento da matriz base que correspondem ao fator de elevação Z.
[0188] Quanto a um modo de armazenar o gráfico base, o gráfico base pode ser armazenado de vários modos descritos nas modalidades de codificação antecedentes. Deve-se observar que somente exemplos são fornecidos neste documento, e os exemplos não constituem uma limitação.
[0189] A decodificação é um processo inverso à codificação, e a matriz base HB usada durante a decodificação tem uma mesma característica da matriz base nas modalidades do método de codificação. Para obter a matriz LDPC H elevando-se a matriz base HB, consulte as modalidades do método de codificação.
[0190] Em um sistema de comunicação, antes do método de decodificação, um aparelho de comunicação pode realizar, adicionalmente, as seguintes uma ou mais operações: receber um sinal que inclui um código LDPC e realizar demodulação, desintercalação, e pode realizar descorrespondência de taxa no sinal para obter os valores não quantificados do código LDPC.
[0191] Em uma possível implantação, um ou mais parâmetros dentre os seguintes podem ser armazenados: (a) parâmetro usado para obter qualquer matriz base HB descrita nas implantações antecedentes. A matriz base HB pode ser obtida com base nos parâmetros; por exemplo, os parâmetros podem incluir um ou mais dentre o seguinte: valores de deslocamento em uma matriz base, um fator de elevação, um gráfico base da matriz base, uma taxa de código, ou similares; (b) uma matriz base HB, que é uma dentre quaisquer matrizes base descritas nas implantações antecedentes; (c) uma matriz obtida após realizar elevação com base na matriz base HB; (d) uma matriz base obtida realizando-se permutação de linha/coluna com base em qualquer matriz base HB descrita nas implantações antecedentes, em que neste pedido, a permutação de linha/coluna se refere à permutação de linha, permutação de coluna, ou permutação de linha e permutação de coluna; e (e) uma matriz obtida realizando-se elevação com base na matriz base obtida realizando-se permutação de linha/coluna.
[0192] Em uma possível implantação, em um processo de codificação ou um processo de decodificação, a codificação de uma sequência de entrada usando uma matriz de verificação de paridade de baixa densidade LDPC pode ser realizada em um ou mais dentre os seguintes modos: i obter a matriz base HB com base em (a) antecedente, e realizar codificação ou decodificação com base na matriz base obtida HB; ou realizar permutação de linha/coluna com base na matriz base obtida HB, e realizar codificação ou decodificação com base em uma matriz base obtida realizando- se permutação de linha/coluna, em que a realização de codificação ou decodificação com base na matriz base pode incluir, ainda, de modo opcional, realizar codificação ou decodificação com base em uma matriz elevada da matriz base; ii realizar codificação ou decodificação com base na matriz base armazenada (a matriz base armazenada HB, ou a matriz base armazenada obtida realizando-se permutação de linha/coluna com base na matriz base HB) em (b) ou (d); ou realizar permutação de linha/coluna com base na matriz base armazenada, e realizar codificação ou decodificação com base em uma matriz base obtida realizando-se permutação de linha/coluna, em que a realização de codificação ou decodificação com base na matriz base pode incluir, ainda, de modo opcional, realizar codificação ou decodificação com base em uma matriz elevada da matriz base; e iii realizar codificação ou decodificação com base em (c) ou (e).
[0193] O armazenamento neste pedido pode ser armazenar em uma ou mais memórias. A uma ou mais memórias podem ser dispostas separadamente, ou podem ser integradas ao codificador, ao decodificador, a um processador, a um chip, a um aparelho de comunicação ou a um terminal. Alternativamente, algumas dentre a uma ou mais memórias podem ser dispostas separadamente, e as outras são integradas em um codificador, em um decodificador, em um processador, em um chip, em um aparelho de comunicação ou em um terminal. Um tipo da memória pode ser uma mídia de armazenamento em qualquer forma. Isso não é limitado neste pedido.
[0194] A Figura 5 é um diagrama estrutural esquemático de um aparelho de comunicação 500. O aparelho 500 pode ser configurado para implantar o método descrito nas modalidades do método antecedente. Referência pode ser feita a descrições nas modalidades do método antecedente. O aparelho de comunicação 500 pode ser um chip, uma estação base, um terminal ou outros dispositivos de rede.
[0195] O aparelho de comunicação 500 inclui um ou mais processadores 501. O processador 501 pode ser um processador de propósito geral, um processador e propósito especial, ou similares. Por exemplo, o processador 501 pode ser um processador de banda de base ou uma unidade central de processamento. O processador de banda de base pode ser configurado para processar um protocolo de comunicação e dados de comunicação. A unidade central de processamento pode ser configurada para: controlar o aparelho de comunicação (tal como uma estação base, um terminal ou um chip), executar um programa de software, e processar dados do programa de software.
[0196] Em um possível projeto, o aparelho de comunicação 500 inclui um ou mais processadores 501. O um ou mais processadores 501 podem implantar uma função do codificador antecedente. Em outro projeto possível, o codificador antecedente pode ser uma parte do processador 501. Além da função do codificador, o processador 501 pode implantar, adicionalmente, outra função.
[0197] O aparelho de comunicação 500 codifica uma sequência de entrada usando uma matriz LDPC. Um gráfico base da matriz LDPC pode ser qualquer gráfico base nos exemplos antecedentes, ou um gráfico base obtido realizando-se permutação de linha, permutação de coluna, ou tanto permutação de linha quanto permutação de coluna em qualquer gráfico base descrito acima. Uma matriz base HB da matriz LDPC pode ser qualquer matriz base nas modalidades antecedentes, ou uma matriz base obtida realizando-se permutação de linha, permutação de coluna, ou tanto permutação de linha quanto permutação de coluna em qualquer matriz base descrita acima. A sequência de entrada do codificador pode ser uma sequência de bits de informações.
[0198] Em um possível projeto, o um ou mais processadores 501 podem implantar uma função do decodificador antecedente. Em outro projeto possível, o decodificador antecedente pode ser uma parte do processador 501.
[0199] O aparelho de comunicação 500 pode ser configurado para decodificar uma sequência de entrada usando uma matriz LDPC. Um gráfico base da matriz LDPC pode ser qualquer gráfico base nos exemplos antecedentes, ou um gráfico base obtido realizando-se permutação de linha, permutação de coluna, ou tanto permutação de linha quanto permutação de coluna em qualquer gráfico base descrito acima. Uma matriz base HB da matriz LDPC pode ser qualquer matriz base nos exemplos antecedentes, ou uma matriz base obtida realizando-se permutação de linha, permutação de coluna, ou tanto permutação de linha quanto permutação de coluna em qualquer matriz base descrita acima. A sequência de entrada do decodificador pode ser uma sequência de valores não quantificados.
[0200] Em um possível projeto opcional, o processador 501 pode incluir, adicionalmente, instrução (ou instruções) 503. A instrução (ou instruções) pode ser executada no processador, de modo que o aparelho de comunicação 500 realize o método descrito nas modalidades do método antecedente.
[0201] Em outro projeto possível, o aparelho de comunicação 500 pode incluir, adicionalmente, um circuito. O circuito pode implantar a função do codificador, a função do decodificador ou as funções do codificador e do decodificador nas modalidades do método antecedente.
[0202] De modo opcional, o aparelho de comunicação 500 pode incluir uma ou mais memórias 502. A memória armazena instrução (ou instruções) 504, e a instrução (ou instruções) pode ser executada no processador, de modo que o aparelho de comunicação 500 realize o método descrito nas modalidades do método antecedente. De modo opcional, a memória pode armazenar, adicionalmente, dados. De modo opcional, o processador pode armazenar, adicionalmente, instrução (ou instruções) e/ou dados. O processador e a memória podem ser dispostos separadamente ou podem ser integrados em conjunto. De modo opcional, a uma ou mais memórias 502 podem armazenar parâmetros relacionados a uma matriz base, por exemplo, um valor de deslocamento, um gráfico base, uma matriz obtida através de elevação com base no gráfico base, cada linha na matriz base, e um fator de elevação. De modo opcional, a uma ou mais memórias 502 podem armazenar uma matriz base ou uma matriz obtida através de elevação com base na matriz base.
[0203] Opcionalmente, o aparelho de comunicação 500 pode incluir, adicionalmente, um transceptor 505 e uma antena 506. O processador 501 pode ser referido como uma unidade de processamento. O processador 501 controla o aparelho de comunicação (um terminal ou uma estação base). O transceptor 505 pode ser referido como uma unidade transceptora, um circuito transceptor, um transceptor, ou similares, e é configurado para implantar funções de transmissão e recebimento do aparelho de comunicação usando a antena 506.
[0204] De modo opcional, o aparelho de comunicação 500 pode incluir, adicionalmente, um componente configurado para gerar um CRC de bloco de transporte, um componente usado para segmentação de bloco de código e anexação de CRC, um intercalador usado para intercalação, um modulador usado para processamento de modulação ou similares. As funções dos componentes podem ser implantadas usando o um ou mais processadores 501.
[0205] De modo opcional, o aparelho de comunicação 500 pode incluir, adicionalmente, um demodulador usado para uma operação de demodulação, um desintercalador usado para desintercalação, um componente usado para descorrespondência de taxa, ou similares. As funções dos componentes podem ser implantadas usando o um ou mais processadores 501.
[0206] A Figura 6 é um diagrama esquemático de um sistema de comunicação 600. O sistema de comunicação 600 inclui um dispositivo de comunicação 60 e um dispositivo de comunicação 61. Os dados de informações são recebidos e enviados entre o dispositivo de comunicação 60 e o dispositivo de comunicação 61. O dispositivo de comunicação 60 e o dispositivo de comunicação 61 podem ser o aparelho de comunicação 500, ou o dispositivo de comunicação 60 e o dispositivo de comunicação 61 incluem, respectivamente, um aparelho de comunicação 500 para receber e enviar os dados de informações. Em um exemplo, o dispositivo de comunicação 60 pode ser um terminal e, de maneira correspondente, o dispositivo de comunicação 61 pode ser uma estação base. Em outro exemplo, o dispositivo de comunicação 60 é uma estação base e, de maneira correspondente, o dispositivo de comunicação 61 pode ser um terminal.
[0207] Uma pessoa versada na técnica pode entender, adicionalmente, que vários blocos lógicos ilustrativos (illustrative logic block) e etapas (step) que são listadas nas modalidades do presente pedido podem ser implantados usando hardware eletrônico, software de computador ou uma combinação dos mesmos. O fato de as funções serem implantadas usando hardware ou software depende de aplicações particulares e uma exigência de projeto do sistema inteiro. Para cada aplicação específica, uma pessoa versada na técnica pode usar vários métodos para implantar as funções. Entretanto, essa implantação não deve ser entendida como se estendendo além do escopo de proteção das modalidades do presente pedido.
[0208] Os vários circuitos e unidades lógicas ilustrativas descritas nas modalidades do presente pedido podem implantar ou operar as funções descritas usando um processador geral, um processador de sinal digital, um circuito integrado de aplicação específica (ASIC), um arranjo de portas programável em campo (FPGA) ou outro aparelho lógico programável, uma porta discreta ou lógica de transistor, um componente de hardware discreto ou um projeto de qualquer combinação dos mesmos. O processador geral pode ser um microprocessador. Opcionalmente, o processador geral também pode ser qualquer processador convencional, controlador, microcontrolador ou máquina de estado. O processador também pode ser implantado através de uma combinação de aparelhos de computação, tais como um processador de sinal digital e um microprocessador, múltiplos microprocessadores, um ou mais microprocessadores com um núcleo de processador de sinal digital ou qualquer outra configuração similar.
[0209] As etapas dos métodos ou algoritmos descritos nas modalidades do presente pedido podem ser diretamente embutidas em hardware, instrução (ou instruções) executada por um processador ou uma combinação dos mesmos. A memória pode ser uma memória RAM, uma memória flash, uma memória ROM, uma memória EPROM, uma memória EEPROM, um registro, um disco rígido, um disco magnético removível, um CD- ROM ou uma mídia de armazenamento de qualquer outra forma na técnica. Por exemplo, a memória pode se conectar a um processador de modo que o processador possa ler informações a partir da memória e escrever informações na memória. Alternativamente, a memória pode ser integrada, adicionalmente, em um processador. O processador e a memória podem ser dispostos em um ASIC, e o ASIC pode ser disposto em UE. Alternativamente, o processador e a memória podem ser dispostos em diferentes componentes de UE.
[0210] Com as descrições das modalidades antecedentes, uma pessoa versada na técnica pode entender, claramente, que o presente pedido pode ser implantado por hardware, firmware ou uma combinação dos mesmos. Quando o presente pedido for implantado usando um programa de software, a totalidade ou uma parte do presente pedido pode ser implantada em uma forma de um produto de programa de computador. O produto de programa de computador inclui uma ou mais instruções de computador. Quando as instruções de computador forem carregadas e executadas no computador, os procedimentos ou funções, de acordo com as modalidades do presente pedido, são gerados inteira ou parcialmente. Quando o presente pedido for implantado pelo programa de software, as funções antecedentes podem ser armazenadas em uma mídia legível por computador ou transmitidas como uma ou mais instruções ou código na mídia legível por computador. O computador pode ser um computador de propósito geral, um computador dedicado, uma rede de computadores ou outro aparelho programável. As instruções de computador podem ser armazenadas em uma mídia de armazenamento legível por computador, ou podem ser transmitidas a partir de uma mídia de armazenamento legível por computador para outra mídia de armazenamento legível por computador. A mídia legível por computador inclui uma mídia de armazenamento em computador e uma mídia de comunicação, em que a mídia de comunicação inclui qualquer mídia que possibilite que um programa de computador seja transmitido de um local para o outro. A mídia de armazenamento pode ser qualquer mídia disponível acessível a um computador. A seguir, é fornecido um exemplo, mas que não impõe uma limitação: A mídia legível por computador pode incluir uma RAM, uma ROM, uma EEPROM, um CD-ROM ou outro armazenamento em disco óptico ou mídia de armazenamento em disco magnético, ou outro dispositivo de armazenamento magnético, ou qualquer outra mídia que possa portar ou armazenar código de programa esperado em uma forma de instrução (ou instruções) ou uma estrutura de dados e possa ser acessada por um computador. Além disso, qualquer conexão pode ser definida apropriadamente como uma mídia legível por computador. Por exemplo, se o software for transmitido a partir de um site da web, um servidor ou outra fonte remota usando um cabo coaxial, um cabo/fibra óptica, um par trançado, uma linha de assinante digital (DSL) ou tecnologias sem fio, tais como raio infravermelho, rádio e micro-ondas, o cabo coaxial, cabo/fibra óptica, par trançado, DSL ou tecnologias sem fio, tais como raio infravermelho, rádio e micro-ondas são incluídos em fixação de uma mídia à qual os mesmos pertencem. Por exemplo, um disco magnético (Disk) e disco óptico (disc), usados pelo presente pedido, incluem um disco compacto CD, um disco a laser, um disco óptico, um disco versátil digital (DVD), um disquete e um disco Blue-ray, em que o disco magnético geralmente copia dados por um meio magnético, e o disco óptico copia dados opticamente por um meio a laser. A combinação antecedente também deve ser incluída no escopo de proteção da mídia legível por computador.
[0211] Para concluir, o que é descrito acima são apenas exemplos de modalidades das soluções técnicas do presente pedido, e não se destinam a limitar o escopo de proteção do presente pedido. Qualquer modificação, substituição equivalente ou aperfeiçoamento realizado sem se afastar do princípio do presente pedido deve ser abrangido pelo escopo de proteção do presente pedido.

Claims (26)

1. Método de codificação de canal para um sistema de comunicações sem fio, CARACTERIZADO pelo fato de que o método compreende: determinar um fator de elevação Z; determinar uma matriz base correspondente ao fator de elevação a partir de uma pluralidade de matrizes base; realizar, com base no fator de elevação Z e na matriz base correspondente ao fator de elevação Z, uma codificação de verificação de paridade de baixa densidade LDPC em uma sequência de entrada para obter uma sequência codificada; em que cada uma dentre a pluralidade de matrizes base compreende 42 linhas e 52 colunas, elementos (i, j) nas seguintes linhas e colunas correspondem a uma matriz de permutação circular de tamanho Z*Z, e os outros elementos nas seguintes linhas correspondem a uma matriz toda zero de tamanho Z*Z, em que i representa um índice de linha; j representa um índice de coluna, e tanto i quanto j são números inteiros maiores que ou iguais a 0: i = 0, j = 0, 1, 2, 3, 6, 9, 10, 11; i = 1, j = 0, 3, 4, 5, 6, 7, 8, 9, 11, 12; i = 2, j = 0, 1, 3, 4, 8, 10, 12, 13; i = 3, j = 1, 2, 4, 5, 6, 7, 8, 9, 10, 13; i = 4, j = 0, 1, 11, 14; i = 5, j = 0, 1, 5, 7, 11, 15; i = 6, j = 0, 5, 7, 9, 11, 16; i = 7, j = 1, 5, 7, 11, 13, 17; i = 8, j = 0, 1, 12, 18; i = 9, j = 1, 8, 10, 11, 19; i = 10, j = 0, 1, 6, 7, 20; i = 11, j = 0, 7, 9, 13, 21; i = 12, j = 1, 3, 11, 22; i = 13, j = 0, 1, 8, 13, 23; i = 14, j = 1, 6, 11, 13, 24; i = 15, j = 0, 10, 11, 25; i = 16, j = 1, 9, 11, 12, 26; i = 17, j = 1, 5, 11, 12, 27; i = 18, j = 0, 6, 7, 28; i = 19, j = 0, 1, 10, 29; i = 20, j = 1, 4, 11, 30; i = 21, j = 0, 8, 13, 31; i = 22, j = 1, 2, 32; i = 23, j = 0, 3, 5, 33; i = 24, j = 1, 2, 9, 34; i = 25, j = 0, 5, 35; i = 26, j = 2, 7, 12, 13, 36; i = 27, j = 0, 6, 37; i = 28, j = 1, 2, 5, 38; i = 29, j = 0, 4, 39; i = 30, j = 2, 5, 7, 9, 40; i = 31, j = 1, 13, 41; i = 32, j = 0, 5, 12, 42; i = 33, j = 2, 7, 10, 43; i = 34, j = 0, 12, 13, 44; i = 35, j = 1, 5, 11, 45; i = 36, j = 0, 2, 7, 46; i = 37, j = 10, 13, 47; i = 38, j = 1, 5, 11, 48; i = 39, j = 0, 7, 12, 49; i = 40, j = 2, 10, 13, 50; i = 41, j = 1, 5, 11, 51.
2. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a realização, com base no fator de elevação Z e na matriz base correspondente ao fator de elevação Z, de uma codificação LDPC em uma sequência de entrada para obter uma sequência codificada compreende: realizar, com base no fator de elevação Z e em m linhas e n colunas da matriz base correspondente ao fator de elevação Z, a codificação LDPC na sequência de entrada para obter a sequência codificada, em que 4"" mr 42- 14 <n<52.
3. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a realização, com base no fator de elevação Z e na matriz base correspondente ao fator de elevação Z, de codificação em uma sequência de entrada para obter uma sequência codificada compreende: realizar, com base no fator de elevação Z e em uma matriz permutada da matriz base correspondente ao fator de elevação Z, codificação na sequência de entrada para obter a sequência codificada, em que a matriz permutada da matriz base correspondente ao fator de elevação Z corresponde a uma matriz obtida realizando-se permutação de linha, permutação de coluna, ou permutações de linha e coluna na matriz base.
4. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a realização, com base no fator de elevação Z e na matriz base correspondente ao fator de elevação Z, de codificação em uma sequência de entrada para obter uma sequência codificada compreende: substituir separadamente cada elemento na matriz base por uma matriz de permutação circular correspondente I(Pi, j) de tamanho Z*Z, ou uma matriz toda zero correspondente de tamanho Z*Z para obter uma matriz LDPC H; e codificar a sequência de entrada com base na matriz LDPC H para obter a sequência codificada.
5. Método, de acordo com a reivindicação 4, CARACTERIZADO pelo fato de que: a sequência de entrada é representada como c ={co, ci, C2, ..., CK-I}, a sequência codificada é representada como d ={do, di, d2, ..., dN-i}, a sequência codificada d compreende K-2^Z bits na sequência de entrada c e bits de paridade em uma sequência de paridade w, a sequência de paridade é representada como w={wo, wi, w2, ..., WN+2-Z-K-I}; em que K é um comprimento da sequência de entrada, N é um comprimento de uma sequência de saída, K é um múltiplo inteiro de Z, N satisfaz N = (40+Kb^Z, e Kb é um dentre {6, 8, 9, 10}.
6. Método, de acordo com a reivindicação 5, CARACTERIZADO pelo fato de que K= 10-Z, N=50^Z.
7. Método, de acordo com a reivindicação 6, CARACTERIZADO pelo fato de que a sequência de paridade w e a sequência de entrada c satisfazem:
Figure img0019
em que cT=[co, ci, C2, ..., CK-I]T, wT=[wo, wi, W2, ..., WN+2Z-K-I]T, 0T é um vetor coluna, e valores de todos os elementos de 0T são 0.
8. Método, de acordo com a reivindicação 4, CARACTERIZADO pelo fato de que a matriz de permutação circular I(Pi, j) de tamanho Z*Z corresponde a uma matriz obtida deslocando-se, de modo circular, uma matriz identidade de tamanho Z*Z para a direita Pi, j vezes, em que Pi, j = mod (Vi,j, Z), e Vi,j é um valor de desvio de um elemento da iésima linha e da jésima coluna na matriz base correspondente à matriz de permutação circular I(Pi,j) de tamanho Z*Z.
9. Método, de acordo com a reivindicação i, CARACTERIZADO pelo fato de que o fator de elevação Z satisfaz: Z = a x 2j, a e {2, 3, 5, 7, 9, 11, 13, 15}, em que a = 2, j = 0, 1, 2, 3, 4, 5, 6, 7; ou, a = 3, j = 0, 1, 2, 3, 4, 5, 6, 7; ou, a = 5, j = 0, 1, 2, 3, 4, 5, 6; ou, a = 7, j = 0, 1, 2, 3, 4, 5; ou, a = 9, j = 0, 1, 2, 3, 4, 5; ou, a = 11, j = 0, 1, 2, 3, 4, 5; ou, a = 13, j = 0, 1, 2, 3, 4; ou, a = 15, j = 0, 1, 2, 3, 4.
10. Aparelho de comunicações, CARACTERIZADO pelo fato de que compreende meios configurados para realizar o método conforme definido em qualquer uma das reivindicações 1 a 9.
11. Aparelho de comunicações, CARACTERIZADO pelo fato de que o aparelho de comunicações compreende um processador e uma memória acoplada ao processador, e o processador é configurado para: determinar um fator de elevação Z; determinar uma matriz base correspondente ao fator de elevação a partir de uma pluralidade de matrizes base; realizar, com base no fator de elevação Z e na matriz base correspondente ao fator de elevação Z, uma codificação de verificação de paridade de baixa densidade LDPC em uma sequência de entrada para obter uma sequência codificada; em que cada uma dentre a pluralidade de matrizes base compreende 42 linhas e 52 colunas, elementos (i, j) nas seguintes linhas e colunas correspondem a uma matriz de permutação circular de tamanho Z*Z, e os outros elementos nas seguintes linhas correspondem a uma matriz toda zero de tamanho Z*Z, em que i representa um índice de linha; j representa um índice de coluna, e tanto i quanto j são números inteiros maiores que ou iguais a 0: i = 0, j = 0, 1, 2, 3, 6, 9, 10, 11; i = 1, j = 0, 3, 4, 5, 6, 7, 8, 9, 11, 12; i = 2, j = 0, 1, 3, 4, 8, 10, 12, 13; i = 3, j = 1, 2, 4, 5, 6, 7, 8, 9, 10, 13; i = 4, j = 0, 1, 11, 14; i = 5, j = 0, 1, 5, 7, 11, 15; i = 6, j = 0, 5, 7, 9, 11, 16; i = 7, j = 1, 5, 7, 11, 13, 17; i = 8, j = 0, 1, 12, 18; i = 9, j = 1, 8, 10, 11, 19; i = 10, j = 0, 1, 6, 7, 20; i = 11, j = 0, 7, 9, 13, 21; i = 12, j = 1, 3, 11, 22; i = 13, j = 0, 1, 8, 13, 23; i = 14, j = 1, 6, 11, 13, 24; i = 15, j = 0, 10, 11, 25; i = 16, j = 1, 9, 11, 12, 26; i = 17, j = 1, 5, 11, 12, 27; i = 18, j = 0, 6, 7, 28; i = 19, j = 0, 1, 10, 29; i = 20, j = 1, 4, 11, 30; i = 21, j = 0, 8, 13, 31; i = 22, j = 1, 2, 32; i = 23, j = 0, 3, 5, 33; i = 24, j = 1, 2, 9, 34; i = 25, j = 0, 5, 35; i = 26, j = 2, 7, 12, 13, 36; i = 27, j = 0, 6, 37; i = 28, j = 1, 2, 5, 38; i = 29, j = 0, 4, 39; i = 30, j = 2, 5, 7, 9, 40; i = 31, j = 1, 13, 41; i = 32, j = 0,5,12,42; i = 33, j = 2, 7, 10, 43; i = 34, j = 0, 12, 13, 44; i = 35, j = 1, 5, 11, 45; i = 36, j = 0, 2, 7, 46; i = 37, j = 10, 13, 47; i = 38, j = 1, 5, 11, 48; i = 39, j = 0, 7, 12, 49; i = 40, j = 2, 10, 13, 50; i = 41, j = 1, 5, 11, 51.
12. Aparelho de comunicações, de acordo com a reivindicação 11, CARACTERIZADO pelo fato de que a realização, com base no fator de elevação Z e na matriz base correspondente ao fator de elevação Z, de uma codificação LDPC em uma sequência de entrada para obter uma sequência codificada compreende: realizar, com base no fator de elevação Z e em m linhas e n colunas da matriz base correspondente ao fator de elevação Z, a codificação LDPC na sequência de entrada para obter a sequência codificada, em que 4"" mr 42- 14 <n<52.
13. Aparelho de comunicações, de acordo com a reivindicação 11, CARACTERIZADO pelo fato de que a realização, com base no fator de elevação Z e na matriz base correspondente ao fator de elevação Z, de codificação em uma sequência de entrada para obter uma sequência codificada compreende: realizar, com base no fator de elevação Z e em uma matriz permutada da matriz base correspondente ao fator de elevação Z, codificação na sequência de entrada para obter a sequência codificada, em que a matriz permutada da matriz base correspondente ao fator de elevação Z corresponde a uma matriz obtida realizando-se permutação de linha, permutação de coluna, ou permutações de linha e coluna na matriz base.
14. Aparelho de comunicações, de acordo com a reivindicação 11, CARACTERIZADO pelo fato de que a realização, com base no fator de elevação Z e na matriz base correspondente ao fator de elevação Z, de codificação em uma sequência de entrada para obter uma sequência codificada compreende: substituir separadamente cada elemento na matriz base por uma matriz de permutação circular correspondente I(Pi, j) de tamanho Z*Z, ou uma matriz toda zero correspondente de tamanho Z*Z para obter uma matriz LDPC H; e codificar a sequência de entrada com base na matriz LDPC H para obter a sequência codificada.
15. Aparelho de comunicações, de acordo com a reivindicação 14, CARACTERIZADO pelo fato de que: a sequência de entrada é representada como c ={co, ci, C2, ..., CK-I}, a sequência codificada é representada como d ={do, di, d2, ..., dN-i}, a sequência codificada d compreende K-2^Z bits na sequência de entrada c e bits de paridade em uma sequência de paridade w, a sequência de paridade é representada como w={wo, wi, w2, ..., WN+2-Z-K-I}; em que K é um comprimento da sequência de entrada, N é um comprimento de uma sequência de saída, K é um múltiplo inteiro de Z, N satisfaz N = (40+Kb^Z, e Kb é um dentre {6, 8, 9, 10}.
16. Aparelho de comunicações, de acordo com a reivindicação i5, CARACTERIZADO pelo fato de que K= 10-Z, N=50^Z.
17. Aparelho de comunicações, de acordo com a reivindicação i6, CARACTERIZADO pelo fato de que a sequência de paridade w e a sequência de entrada c satisfazem:
Figure img0020
em que cT=[c0, ci, c2, ■, cK-i]T, wT=[w0, wi, w2, ■, wN-K0-i]T, 0T é um vetor coluna, e valores de todos os elementos de 0T são 0.
18. Aparelho de comunicações, de acordo com a reivindicação i4, CARACTERIZADO pelo fato de que a matriz de permutação circular I(Pi, j) de tamanho Z*Z corresponde a uma matriz obtida deslocando-se, de modo circular, uma matriz identidade de tamanho Z*Z para a direita Pi, j vezes, em que Pi, j = mod (Vi,j, Z), e Vi,j é um valor de desvio de um elemento da iésima linha e da jésima coluna na matriz base correspondente à matriz de permutação circular I(Pi,j) de tamanho Z*Z.
19. Aparelho de comunicações, de acordo com a reivindicação 11, CARACTERIZADO pelo fato de que o fator de elevação Z satisfaz: Z = a x 2j, a e {2, 3, 5, 7, 9, 11, 13, 15}, em que a = 2, j = 0, 1, 2, 3, 4, 5, 6, 7; ou, a = 3, j = 0, 1, 2, 3, 4, 5, 6, 7; ou, a = 5, j = 0, 1, 2, 3, 4, 5, 6; ou, a = 7, j = 0, 1, 2, 3, 4, 5; ou, a = 9, j = 0, 1, 2, 3, 4, 5; ou, a = 11, j = 0, 1, 2, 3, 4, 5; ou, a = 13, j = 0, 1, 2, 3, 4; ou, a = 15, j = 0, 1, 2, 3, 4.
20. Aparelho de comunicações, de acordo com a reivindicação 19, CARACTERIZADO pelo fato de que a memória é configurada para armazenar um ou mais dentre os seguintes: o fator de elevação, um gráfico base da matriz base, um parâmetro relacionado ao gráfico base da matriz base, a matriz base, uma matriz permutada da matriz base, um parâmetro relacionado à matriz base, uma matriz LDPC, uma matriz de geração da matriz LDPC, ou um parâmetro relacionado à matriz LDPC.
21. Aparelho de comunicações, de acordo com a reivindicação 20, CARACTERIZADO pelo fato de que o parâmetro relacionado à matriz base compreende um ou mais dentre os seguintes: uma localização de um elemento diferente de zero na matriz base, ou um valor de um elemento diferente de zero na matriz base, ou um peso de linha de um elemento diferente de zero de cada linha, ou um peso de coluna de um elemento diferente de zero de cada coluna, ou uma taxa de código.
22. Aparelho de comunicações, de acordo com a reivindicação 21, CARACTERIZADO pelo fato de que compreende adicionalmente: um componente configurado para realizar correspondência de taxa na sequência codificada; um componente configurado para realizar intercalação em uma sequência de taxa correspondida; e um componente configurado para realizar modulação em uma sequência intercalada.
23. Terminal, CARACTERIZADO pelo fato de que compreende o aparelho conforme definido na reivindicação 10 ou o aparelho conforme definido em qualquer uma das reivindicações 11 a 22.
24. Estação base, CARACTERIZADA pelo fato de que compreende o aparelho conforme definido na reivindicação 10 ou o aparelho conforme definido em qualquer uma das reivindicações 11 a 22.
25. Sistema de comunicações, CARACTERIZADO pelo fato de que compreende o terminal conforme definido na reivindicação 23 e a estação base conforme definida na reivindicação 24.
26. Mídia de armazenamento legível por computador, CARACTERIZADA pelo fato de que compreende instruções, em que quando as instruções são rodadas em um computador, fazem com que o computador realize o método conforme definido em qualquer uma das reivindicações 1 a 9.
BR112019020158-0A 2017-06-15 2017-07-13 Método de codificação, método de decodificação, método de processamento de informações, aparelho, terminal, estação base, sistema de comunicação, mídia de armazenamento legível por computador e produto de programa de computador BR112019020158B1 (pt)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
CN201710454030.3A CN109150191A (zh) 2017-06-15 2017-06-15 信息处理的方法、装置和通信设备
CN201710454030.3 2017-06-15
CN201710503056.2 2017-06-27
CN201710503056 2017-06-27
PCT/CN2017/092878 WO2018227681A1 (zh) 2017-06-15 2017-07-13 信息处理的方法和通信装置

Publications (2)

Publication Number Publication Date
BR112019020158A2 BR112019020158A2 (pt) 2020-04-22
BR112019020158B1 true BR112019020158B1 (pt) 2022-02-08

Family

ID=64658860

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112019020158-0A BR112019020158B1 (pt) 2017-06-15 2017-07-13 Método de codificação, método de decodificação, método de processamento de informações, aparelho, terminal, estação base, sistema de comunicação, mídia de armazenamento legível por computador e produto de programa de computador

Country Status (11)

Country Link
US (4) US10742235B2 (pt)
EP (2) EP4187794A1 (pt)
JP (2) JP6820438B2 (pt)
KR (1) KR102194029B1 (pt)
CN (2) CN111416625B (pt)
AU (1) AU2017418080B9 (pt)
BR (1) BR112019020158B1 (pt)
CA (1) CA3055231C (pt)
RU (1) RU2740154C1 (pt)
WO (2) WO2018227681A1 (pt)
ZA (1) ZA201906314B (pt)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2017418080B9 (en) * 2017-06-15 2021-01-28 Huawei Technologies Co., Ltd. Information processing method and communication apparatus
CN109327225B9 (zh) 2017-06-27 2021-12-10 华为技术有限公司 信息处理的方法、装置和通信设备
US11791938B2 (en) * 2019-09-26 2023-10-17 Nvidia Corporation Parity check decoding
US11640255B2 (en) * 2020-11-19 2023-05-02 Macronix International Co., Ltd. Memory device and operation method thereof
US20220231701A1 (en) * 2021-01-20 2022-07-21 Nvidia Corporation Technique to perform decoding of wireless communications signal data
CN112821895B (zh) * 2021-04-16 2021-07-09 成都戎星科技有限公司 一种实现信号高误码率下的编码识别方法
CN115913252A (zh) * 2021-09-30 2023-04-04 华为技术有限公司 编码方法、译码方法及装置

Family Cites Families (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6031098A (en) 1997-08-11 2000-02-29 California Institute Of Technology Detection and treatment of duplex polynucleotide damage
JP3808769B2 (ja) 2001-12-27 2006-08-16 三菱電機株式会社 Ldpc符号用検査行列生成方法
JP3917624B2 (ja) 2002-07-03 2007-05-23 ヒューズ・エレクトロニクス・コーポレーション 低密度パリティチェック(ldpc)デコーダにおける経路指定方法およびシステム
US7058873B2 (en) 2002-11-07 2006-06-06 Carnegie Mellon University Encoding method using a low density parity check code with a column weight of two
KR100996029B1 (ko) 2003-04-29 2010-11-22 삼성전자주식회사 저밀도 패리티 검사 코드의 부호화 장치 및 방법
KR100809619B1 (ko) 2003-08-26 2008-03-05 삼성전자주식회사 이동 통신 시스템에서 블록 저밀도 패러티 검사 부호부호화/복호 장치 및 방법
KR100918763B1 (ko) 2003-11-14 2009-09-24 삼성전자주식회사 병렬 연접 저밀도 패리티 검사 부호를 사용하는 채널 부호화/복호 장치 및 방법
CN1961499B (zh) 2004-04-02 2013-06-05 苹果公司 用于正交频分复用应用的空间时间发射分集系统及方法
KR20050118056A (ko) 2004-05-12 2005-12-15 삼성전자주식회사 다양한 부호율을 갖는 Block LDPC 부호를 이용한이동 통신 시스템에서의 채널부호화 복호화 방법 및 장치
US20050283707A1 (en) * 2004-06-22 2005-12-22 Eran Sharon LDPC decoder for decoding a low-density parity check (LDPC) codewords
RU2348103C2 (ru) 2004-08-10 2009-02-27 Самсунг Электроникс Ко., Лтд. Устройство и способ кодирования и декодирования блочного кода разреженного контроля четности
US7188297B2 (en) 2004-08-12 2007-03-06 Motorola, Inc. Method and apparatus for encoding and decoding data
KR100651343B1 (ko) * 2004-09-15 2006-11-29 삼성전자주식회사 이동통신 시스템에서 전송 정보의 부호화/복호화 방법 및장치
CN100550655C (zh) 2004-11-04 2009-10-14 中兴通讯股份有限公司 一种低密度奇偶校验码的编码器/译码器及其生成方法
US7752520B2 (en) 2004-11-24 2010-07-06 Intel Corporation Apparatus and method capable of a unified quasi-cyclic low-density parity-check structure for variable code rates and sizes
KR100913876B1 (ko) * 2004-12-01 2009-08-26 삼성전자주식회사 저밀도 패리티 검사 부호의 생성 방법 및 장치
CN1845482B (zh) * 2005-04-07 2011-05-11 华为技术有限公司 宽带码分多址系统下行信道编码打孔压缩装置和实现方法
US7774675B1 (en) 2005-12-05 2010-08-10 Marvell International Ltd. LDPC codes and expansion method
US7493548B2 (en) 2006-02-06 2009-02-17 Motorola, Inc Method and apparatus for encoding and decoding data
CN100546205C (zh) * 2006-04-29 2009-09-30 北京泰美世纪科技有限公司 构造低密度奇偶校验码的方法、译码方法及其传输系统
CN101162907B (zh) * 2006-10-10 2010-11-03 华为技术有限公司 一种利用低密度奇偶校验码实现编码的方法及装置
CN101217337B (zh) 2007-01-01 2013-01-23 中兴通讯股份有限公司 一种支持递增冗余混合自动重传的低密度奇偶校验码编码装置和方法
MX2009007946A (es) * 2007-01-24 2009-08-18 Qualcomm Inc Codificacion y descodificacion de verificacion de paridad de baja densidad (ldpc) de paquetes de tamaños variables.
CN101431337A (zh) 2007-11-09 2009-05-13 松下电器产业株式会社 提高编码并行度实现降低编码时延的方法
KR101445080B1 (ko) 2008-02-12 2014-09-29 삼성전자 주식회사 하이브리드 자동 반복 요구 방식을 사용하는 통신 시스템에서 신호 송신 방법 및 장치
CN101515839A (zh) 2008-02-22 2009-08-26 大唐移动通信设备有限公司 一种编码输出的方法、装置及其系统
CN101662290B (zh) 2008-08-26 2013-08-28 华为技术有限公司 生成准循环ldpc码及编码的方法与装置
US8103931B2 (en) 2008-08-27 2012-01-24 Mitsubishi Electric Research Laboratories, Inc. Method for constructing large-girth quasi-cyclic low-density parity-check codes
CN101686061A (zh) 2008-09-27 2010-03-31 松下电器产业株式会社 构造低密度奇偶校验码的方法及发送/接收装置和系统
CN101741396B (zh) 2008-11-19 2013-03-13 华为技术有限公司 可变码长ldpc码编码或译码的方法与装置及编码器和译码器
CN101834613B (zh) 2009-03-09 2012-11-21 电信科学技术研究院 一种ldpc码的编码方法及编码器
US8433972B2 (en) 2009-04-06 2013-04-30 Nec Laboratories America, Inc. Systems and methods for constructing the base matrix of quasi-cyclic low-density parity-check codes
GB2471513B (en) * 2009-07-02 2013-09-25 Samsung Electronics Uk Ltd Encoding/decoding apparatus and method
CN102025441B (zh) 2009-09-11 2013-07-31 北京泰美世纪科技有限公司 Ldpc码校验矩阵的构造方法、ldpc码的编码方法和编码装置
KR101644656B1 (ko) 2009-11-02 2016-08-10 삼성전자주식회사 선형 블록 부호를 사용하는 통신 시스템에서 패리티 검사 행렬을 생성하는 방법과 이를 이용한 채널 부호화/복호화 장치 및 방법
CN102412842B (zh) 2010-09-25 2016-06-15 中兴通讯股份有限公司 一种低密度奇偶校验码的编码方法及装置
US8627166B2 (en) 2011-03-16 2014-01-07 Samsung Electronics Co., Ltd. LDPC code family for millimeter-wave band communications in a wireless network
CN102315911B (zh) 2011-09-29 2017-10-27 中兴通讯股份有限公司 一种低密度奇偶校验码编码方法及装置
US9100052B2 (en) * 2013-02-01 2015-08-04 Samsung Electronics Co., Ltd. QC-LDPC convolutional codes enabling low power trellis-based decoders
US20140229788A1 (en) * 2013-02-13 2014-08-14 Qualcomm Incorporated Ldpc design for high rate, high parallelism, and low error floor
BR112015002543B1 (pt) 2013-06-12 2021-12-28 Sony Corporation Aparelho e método de processamento de dados
CN104518847B (zh) 2013-09-29 2018-02-02 中国科学院上海高等研究院 基于bch码与短ldpc码级联的信令编码方法及系统
US9559722B1 (en) 2013-10-21 2017-01-31 Marvell International Ltd. Network devices and methods of generating low-density parity-check codes and performing corresponding encoding of data
CN104868925B (zh) * 2014-02-21 2019-01-22 中兴通讯股份有限公司 结构化ldpc码的编码方法、译码方法、编码装置和译码装置
CN104917536B (zh) 2014-03-11 2019-11-12 中兴通讯股份有限公司 一种支持低码率编码的方法及装置
CN104168030B (zh) 2014-07-14 2017-11-14 北京邮电大学 一种基于本原域循环群两个生成元的ldpc码构造方法
US9432052B2 (en) * 2014-09-18 2016-08-30 Broadcom Corporation Puncture-aware low density parity check (LDPC) decoding
US9692451B2 (en) * 2014-09-30 2017-06-27 Avago Technologies General Ip (Singapore) Pte. Ltd Non-binary low density parity check (NB-LDPC) codes for communication systems
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
SG10201500905QA (en) * 2015-02-05 2016-09-29 Nanyang Polytechnic LDPC Codes For Storage System
CN104821831B (zh) 2015-03-24 2019-03-05 东南大学 一种适用于高码率qc-ldpc码的双循环构造方法
US9847794B2 (en) * 2015-05-19 2017-12-19 Samsung Electronics Co., Ltd. Transmitting apparatus and interleaving method thereof
CN106685586B (zh) * 2015-11-11 2020-02-14 华为技术有限公司 生成用于在信道中传输的低密度奇偶校验码的方法及设备
WO2017091018A1 (en) * 2015-11-24 2017-06-01 Samsung Electronics Co., Ltd. Method and apparatus for channel encoding/decoding in a communication or broadcasting system
US10469104B2 (en) 2016-06-14 2019-11-05 Qualcomm Incorporated Methods and apparatus for compactly describing lifted low-density parity-check (LDPC) codes
CN109792253A (zh) 2016-09-30 2019-05-21 Lg电子株式会社 Qc ldpc码速率匹配方法和用于该方法的装置
WO2018084735A1 (en) 2016-11-03 2018-05-11 Huawei Technologies Co., Ltd. Efficiently decodable qc-ldpc code
CN108173621B (zh) 2016-12-07 2022-06-14 华为技术有限公司 数据传输的方法、发送设备、接收设备和通信系统
CN106849958B (zh) 2016-12-29 2020-10-27 上海华为技术有限公司 低密度奇偶校验码校验矩阵的构造方法、编码方法及系统
US10581457B2 (en) * 2017-01-09 2020-03-03 Mediatek Inc. Shift coefficient and lifting factor design for NR LDPC code
RU2733826C1 (ru) 2017-03-03 2020-10-07 Хуавей Текнолоджиз Ко., Лтд. Высокоскоростные длинные ldpc коды
CN113949389A (zh) * 2017-05-05 2022-01-18 联发科技股份有限公司 Qc-ldpc编码方法、装置及非暂时性计算机可读介质
CN108809328B (zh) 2017-05-05 2024-05-17 华为技术有限公司 信息处理的方法、通信装置
AU2017418080B9 (en) 2017-06-15 2021-01-28 Huawei Technologies Co., Ltd. Information processing method and communication apparatus
CN109327225B9 (zh) 2017-06-27 2021-12-10 华为技术有限公司 信息处理的方法、装置和通信设备

Also Published As

Publication number Publication date
US11296726B2 (en) 2022-04-05
CN111416625A (zh) 2020-07-14
AU2017418080B2 (en) 2020-12-24
US20220255563A1 (en) 2022-08-11
US11611356B2 (en) 2023-03-21
CN110754042A (zh) 2020-02-04
JP2020520570A (ja) 2020-07-09
EP3588786A1 (en) 2020-01-01
CA3055231C (en) 2022-10-04
AU2017418080B9 (en) 2021-01-28
JP6820438B2 (ja) 2021-01-27
US20200343912A1 (en) 2020-10-29
EP3588786B1 (en) 2022-11-16
US10742235B2 (en) 2020-08-11
CN110754042B (zh) 2024-06-04
WO2018227681A1 (zh) 2018-12-20
RU2740154C1 (ru) 2021-01-12
WO2018228514A1 (zh) 2018-12-20
US20200007159A1 (en) 2020-01-02
AU2017418080A1 (en) 2019-10-03
EP3588786A4 (en) 2020-07-15
CA3055231A1 (en) 2018-12-20
KR20190113983A (ko) 2019-10-08
CN111416625B (zh) 2021-03-23
KR102194029B1 (ko) 2020-12-22
BR112019020158A2 (pt) 2020-04-22
US11996863B2 (en) 2024-05-28
US20230299792A1 (en) 2023-09-21
ZA201906314B (en) 2020-07-29
JP2021064962A (ja) 2021-04-22
JP7221999B2 (ja) 2023-02-14
EP4187794A1 (en) 2023-05-31

Similar Documents

Publication Publication Date Title
US10784893B2 (en) Method and apparatus for low density parity check channel coding in wireless communication system
ES2970217T3 (es) Decodificación de códigos LDPC cuasi-cíclicos para un sistema de comunicaciones móviles 5G
BR112019020158B1 (pt) Método de codificação, método de decodificação, método de processamento de informações, aparelho, terminal, estação base, sistema de comunicação, mídia de armazenamento legível por computador e produto de programa de computador
BR112019018329B1 (pt) Método para processamento de informação e aparelho em um dispositivo de comunicações

Legal Events

Date Code Title Description
B06A Patent application procedure suspended [chapter 6.1 patent gazette]
B350 Update of information on the portal [chapter 15.35 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 13/07/2017, OBSERVADAS AS CONDICOES LEGAIS.