BR112019018329B1 - Método para processamento de informação e aparelho em um dispositivo de comunicações - Google Patents

Método para processamento de informação e aparelho em um dispositivo de comunicações Download PDF

Info

Publication number
BR112019018329B1
BR112019018329B1 BR112019018329-9A BR112019018329A BR112019018329B1 BR 112019018329 B1 BR112019018329 B1 BR 112019018329B1 BR 112019018329 A BR112019018329 A BR 112019018329A BR 112019018329 B1 BR112019018329 B1 BR 112019018329B1
Authority
BR
Brazil
Prior art keywords
matrix
base
column
row
base graph
Prior art date
Application number
BR112019018329-9A
Other languages
English (en)
Other versions
BR112019018329A2 (pt
BR112019018329B8 (pt
Inventor
Chen Zheng
Liang Ma
Xiaojian Liu
Yuejun Wei
Xin Zeng
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 PCT/CN2017/086227 external-priority patent/WO2018201540A1/zh
Priority claimed from PCT/CN2017/087073 external-priority patent/WO2018201547A1/zh
Priority claimed from PCT/CN2017/087943 external-priority patent/WO2018201554A1/zh
Application filed by Huawei Technologies Co., Ltd filed Critical Huawei Technologies Co., Ltd
Priority claimed from PCT/CN2017/092877 external-priority patent/WO2018201609A1/zh
Publication of BR112019018329A2 publication Critical patent/BR112019018329A2/pt
Publication of BR112019018329B1 publication Critical patent/BR112019018329B1/pt
Publication of BR112019018329B8 publication Critical patent/BR112019018329B8/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
    • 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/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
    • 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/033Theoretical methods to calculate these checking codes
    • H03M13/036Heuristic code construction methods, i.e. code construction or code search based on using trial-and-error
    • 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
    • H03M13/6368Error control coding in combination with rate matching by puncturing using rate compatible puncturing or complementary puncturing
    • H03M13/6393Rate compatible low-density parity check [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/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • 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
    • 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/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location

Landscapes

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

Abstract

este pedido expõe um método de codificação, um aparelho, um dispositivo de comunicações e um sistema de comunicações. o método inclui: a codificação de uma sequência de bit de entrada pelo uso de uma matriz de verificação de paridade de densidade baixa ldpc, onde um gráfico de base da matriz de ldpc é representado por uma matriz de m linhas e n colunas, m é um inteiro maior do que ou igual a 5, e n é um inteiro maior do que ou igual a 27; o gráfico de base inclui pelo menos uma submatriz a e uma submatriz b; a submatriz a é uma matriz de cinco linhas e 22 colunas; e a submatriz b é uma matriz de cinco linhas e cinco colunas, e a submatriz b inclui uma coluna cujo peso é 3 e uma submatriz b? com uma estrutura bidiagonal. de acordo com o método de codificação, o aparelho, o dispositivo de comunicações e o sistema de comunicações neste pedido, as exigências de codificação de sequências de bit de informação de uma pluralidade de comprimentos podem ser suportadas.

Description

CAMPO TÉCNICO
[0001] As modalidades do presente pedido se referem ao campo de comunicações e, em particular, a um método de processamento de informação e um aparelho de comunicações.
ANTECEDENTES
[0002] Um código de verificação de paridade de densidade baixa (low density parity check, LDPC) é um tipo de código de bloco linear que tem uma matriz de verificação esparsa, e é caracterizado por uma estrutura flexível e uma complexidade de decodificação baixa. Devido ao fato de o código de LDPC usar um algoritmo de decodificação iterativo parcialmente paralelo, o código de LDPC tem um ritmo de transferência mais alto do que um turbocódigo convencional. O código de LDPC pode ser usado como um código de correção de erro em um sistema de comunicação, de modo a se aumentar uma confiabilidade de transmissão de canal e uma utilização de potência. Os códigos de LDPC podem ser adicionalmente usados de forma ampla em comunicações espaciais, comunicações por fibra ótica, sistemas de comunicação pessoal, ADSL, dispositivos de gravação magnéticos e similares. O código de LDPC tem sido considerado atualmente como um dos modos de codificação de canal na comunicação móvel de quinta geração.
[0003] Em aplicações reais, as matrizes de LDPC caracterizadas por estruturas especiais diferentes podem ser usadas. Uma matriz de LDPC H, caracterizada por uma estrutura especial, pode ser obtida pela expansão de uma matriz de base de LDPC tendo uma estrutura quase cíclica (quasi cycle, QC). QC-LDPC é adequada para um hardware com alto paralelismo, e provê um ritmo de transferência mais alto. É possível projetar uma matriz de LDPC que seja adequada para codificação de canal.
SUMÁRIO
[0004] As modalidades do presente pedido proveem um método de processamento de informação, um aparelho de comunicações, e um sistema de comunicações, para suporte de codificação e decodificação de sequências de bit de informação de uma pluralidade de comprimentos e atender a um comprimento de código flexível e exigências de taxa de codificação de um sistema.
[0005] De acordo com um primeiro aspecto, um método de codificação e um codificador são providos, e o codificador codifica uma sequência de entrada pelo uso de uma matriz de verificação de paridade de densidade baixa (LDPC).
[0006] De acordo com um segundo aspecto, um método de decodificação e um decodificador são providos, e o decodificador decodifica uma sequência de entrada pelo uso de uma matriz de verificação de paridade de densidade baixa (LDPC).
[0007] Em uma primeira implementação do primeiro aspecto ou do segundo aspecto, um gráfico de base da matriz de LDPC é representado por uma matriz de m linhas e n colunas, m é um inteiro maior do que ou igual a 5, e n é um inteiro maior do que ou igual a 27. O gráfico de base inclui pelo menos uma submatriz A e uma submatriz B. A submatriz A é uma matriz de cinco linhas e 22 colunas. A submatriz B é uma matriz de cinco linhas e cinco colunas, e a submatriz B inclui uma coluna cujo peso é 3 e uma submatriz B’ com uma estrutura bidiagonal.
[0008] Opcionalmente, na submatriz A, uma coluna tem um peso de 5, uma coluna tem um peso de 4 e outras 20 colunas têm um peso de 3.
[0009] Opcionalmente, na submatriz B, uma coluna tem um peso de 3, e três colunas têm um peso de 2.
[0010] Com base na implementação precedente, a submatriz B ainda inclui uma coluna cujo peso é 1.
[0011] Em uma segunda implementação do primeiro aspecto ou do segundo aspecto, um gráfico de base da matriz de LDPC é representado por uma matriz de m linhas e n colunas, m é um inteiro maior do que ou igual a 5, e n é um inteiro maior do que ou igual a 27. O gráfico de base inclui pelo menos uma submatriz A e uma submatriz B. A submatriz A é uma matriz de cinco linhas e 22 colunas; e a submatriz B é uma matriz de cinco linhas e cinco colunas. Em uma matriz incluindo a submatriz A e a submatriz B, uma coluna tem um peso de 5, uma coluna tem um peso de 4, 21 colunas têm um peso de 3, três colunas têm um peso de 2, e uma coluna tem um peso de 1.
[0012] Opcionalmente, na matriz incluindo a submatriz A e a submatriz B, uma linha tem um peso maior do que ou igual a 1 e menor do que ou igual a 5, e as outras quatro linhas têm pesos maiores do que ou iguais a 17 e menores do que ou iguais a 21.
[0013] Por exemplo, na matriz incluindo a submatriz A e a submatriz B, uma linha tem um peso de 3, outras quatro linhas têm um peso de 19. Neste caso, a matriz incluindo a submatriz A e a submatriz B pode incluir linhas ou colunas em um bloco de matriz de cinco linhas que compreende da linha 0 à linha 4 e da coluna 0 à coluna 26 em um gráfico de base 30a mostrado na figura 3a. As linhas podem ser comutadas com cada outra, e as colunas também podem ser comutadas com cada outra. Por exemplo, no bloco de matriz incluindo a submatriz A e a submatriz B no gráfico de base 30a, a linha 3 e a linha 0 podem ser comutadas com cada outra, a linha 2 e a linha 1 podem ser comutadas com cada outra, e a coluna 23 e a coluna 25 podem ser comutadas com cada outra, para a obtenção de uma matriz de núcleo em um gráfico de base 80a mostrado na figura 8a.
[0014] Com base nas implementações precedentes, uma parte que está em uma matriz de base da matriz de LDPC e que corresponde à submatriz A e à submatriz B pode ser representada por, por exemplo, qualquer uma das matrizes de base 30b-1, 30b-2, 30b-3, 30b-4, e 30b-5 mostradas na figura 3b-1, e 30b-6, 30b-7, 30b-8, 30b-9, e 30b-10 mostradas na figura 3b-2.
[0015] Uma parte que está em uma matriz de base da matriz de LDPC e que corresponde à submatriz A e à submatriz B pode ser representada por uma matriz obtida pela execução de uma permutação de coluna, uma permutação de linha ou uma permutação de linha e uma permutação de coluna em qualquer uma das matrizes de base 30b-1, 30b-2, 30b-3, 30b-4, 30b-5, 30b-6, 30b-7, 30b-8, 30b-9, ou 30b-10. Por exemplo, a parte que está na matriz de base da matriz de LDPC e que corresponde à submatriz A e à submatriz B pode incluir linhas ou colunas em qualquer uma das matrizes de base 30b-1, 30b- 2, 30b-3, 30b-4, 30b-5, 30b-6, 30b-7, 30b-8, 30b-9, ou 30b- 10.
[0016] Com base nas implementações precedentes, uma parte que está em uma matriz de base da matriz de LDPC e que corresponde à submatriz A e à submatriz B pode ser representada por qualquer uma das matrizes de base 80b-1, 80b-2, 80b-3, 80b-4, 80b-5 mostradas na figura 8b-1, ou 80b6 mostrada na figura 8b-2. 80b-4 é uma matriz obtida pela execução de uma permutação de linha e uma permutação de coluna em 30b-3, 80b-5 é uma matriz obtida pela execução de uma permutação de linha e uma permutação de coluna em 30b4, e 80b-6 é uma matriz obtida pela execução de uma permutação de linha e uma permutação de coluna que são executadas em 30b-5.
[0017] Para suporte de comprimentos de bloco diferentes, um código de LDPC precisa de fatores de elevação Z diferentes. Com base nas implementações precedentes, em uma implementação possível, matrizes de base correspondentes a fatores de elevação Z diferentes são usadas com base em fatores de elevação Z diferentes.
[0018] Por exemplo: se o fator de elevação Z for um dentre {16, 18, 20, 22, 24, 26, 28, 30}, uma parte que está em uma matriz de base do gráfico de base 30a e que corresponde à submatriz A e à submatriz B poderá ser a matriz de base 30b-1 mostrada na figura 3b-1; ou se o fator de elevação Z for um dentre {32, 36, 40, 44, 48, 52, 56, 60}, uma parte que está em uma matriz de base do gráfico de base 30a e que corresponde à submatriz A e à submatriz B poderá ser a matriz de base 30b-2 mostrada na figura 3b-1; ou se o fator de elevação Z for um dentre {60, 64, 72, 80, 88, 96, 104, 112, 120}, uma parte que está em uma matriz de base do gráfico de base 30a e que corresponde à submatriz A e à submatriz B poderá ser a matriz de base 30b-3 mostrada na figura 3b-1; ou se o fator de elevação Z for um dentre {128, 144, 160, 176, 192, 208, 224, 240}, uma parte que está em uma matriz de base do gráfico de base 30a e que corresponde à submatriz A e à submatriz B poderá ser a matriz de base 30b-4 mostrada na figura 3b-1; ou se o fator de elevação Z for um dentre {256, 288, 320, 352, 384}, uma parte que está em uma matriz de base do gráfico de base 30a e que corresponde à submatriz A e à submatriz B poderá ser a matriz de base 30b-5 mostrada na figura 3b-1.
[0019] Em uma outra implementação possível, se o fator de elevação Z for um dentre {24, 26, 28, 30}, uma parte que está em uma matriz de base do gráfico de base 80a e que corresponde à submatriz A e à submatriz B poderá ser a matriz de base 80b-1 mostrada na figura 8b-1; ou se o fator de elevação Z for um dentre {32, 36, 40, 44}, uma parte que está em uma matriz de base do gráfico de base 80a e que corresponde à submatriz A e à submatriz B poderá ser a matriz de base 80b-2 mostrada na figura 8b-1; ou se o fator de elevação Z for um dentre {48, 52, 56, 60}, uma parte que está em uma matriz de base do gráfico de base 80a e que corresponde à submatriz A e à submatriz B poderá ser a matriz de base 80b-3 mostrada na figura 8b-1; ou se o fator de elevação Z for um dentre {60, 64, 72, 80, 88, 96, 104, 112, 120}, uma parte que está em uma matriz de base do gráfico de base 80a e que corresponde à submatriz A e à submatriz B poderá ser a matriz de base 80b-4 mostrada na figura 8b-1; ou se o fator de elevação Z for um dentre {128, 144, 160, 176, 192, 208, 224, 240}, uma parte que está em uma matriz de base do gráfico de base 80a e que corresponde à submatriz A e à submatriz B poderá ser a matriz de base 80b-5 mostrada na figura 8b-1; ou se o fator de elevação Z for um dentre {256, 288, 320, 352, 384}, uma parte que está em uma matriz de base do gráfico de base 80a e que corresponde à submatriz A e à submatriz B poderá ser a matriz de base 80b-6 mostrada na figura 8b-2.
[0020] Em uma outra implementação possível, a submatriz A ainda pode incluir duas colunas de bits de perfuração embutidos.
[0021] Ainda, para a obtenção de uma taxa de código flexível, uma submatriz C, uma submatriz D e uma submatriz E de tamanhos correspondentes podem ser adicionadas com base em uma matriz de núcleo, para a obtenção de diferentes taxas de código.
[0022] A submatriz C é uma matriz toda de zeros de cinco linhas e mD colunas: a submatriz D é uma matriz de mD linhas e 27 colunas; a submatriz E é uma matriz identidade de mD linhas e mD colunas; e mD é um inteiro e 0<mD<41.
[0023] A submatriz D inclui mD linhas em uma matriz F, a matriz F tem 41 linhas e 27 colunas, e os pesos das linhas na matriz F são respectivamente 7, 7, 9, 8, 7, 7, 8, 6, 6, 5, 6, 5, 5, 6, 5, 5, 5, 5, 4, 4, 4, 5, 4, 5, 4, 4, 4, 4, 3, 4, 4, 4, 4, 3, 3, 4, 4, 3, 3, 3, e 4.
[0024] Em uma implementação possível, a matriz F é uma matriz incluindo da linha 5 à linha 45 e da coluna 0 à coluna 26 no gráfico de base 30a.
[0025] Em uma implementação possível, uma matriz de deslocamento da matriz F pode ser representada por qualquer uma das matrizes de base 30c-1 mostrada na figura 3c-2, 30c2 mostrada na figura 3c-3, 30c-3 mostrada na figura 3c-4, 30c- 4 mostrada na figura 3c-5, ou 30c-5 mostrada na figura 3c- 6.
[0026] Em uma outra implementação possível, a linha 17 e a linha 19 no gráfico de base 30a podem ser comutadas com cada outra, e a coluna 39 e a coluna 41 podem ser comutadas com cada outra, para obter a matriz de gráfico de base 80a mostrada na figura 8a. Para um outro exemplo, a submatriz D inclui mD linhas em uma matriz F, uma permutação de linha pode não ser realizada entre as mD linhas, ou uma permutação de linha pode ser realizada entre uma ou mais das mD linhas, e a submatriz E ainda tem uma estrutura diagonal. Por exemplo, a submatriz D inclui mD linhas na matriz F, a linha 12 e a linha 14 na matriz F são comutadas com cada outra, e a submatriz E ainda tem uma estrutura diagonal, para obter o gráfico de base 80a.
[0027] Para suporte de comprimentos de bloco diferentes, um código de LDPC precisa de fatores de elevação Z diferentes. Com base nas implementações precedentes, em uma implementação possível, as matrizes de base correspondentes a diferentes fatores de elevação Z são usadas nos fatores de elevação Z diferentes. Por exemplo, em uma implementação possível, se o fator de elevação Z for um dentre {16, 18, 20, 22, 24, 26, 28, 30}, a submatriz D na matriz de base poderá incluir mD linhas em uma matriz de deslocamento 30c- 1 mostrada na figura 3c-2; ou se o fator de elevação Z for um dentre {32, 36, 40, 44, 48, 52, 56, 60}, a submatriz D na matriz de base poderá incluir mD linhas em uma matriz de deslocamento 30c-2 mostrada na figura 3c-3; ou se o fator de elevação Z for um dentre {60, 64, 72, 80, 88, 96, 104, 112, 120}, a submatriz D na matriz de base poderá incluir mD linhas em uma matriz de deslocamento 30c-3 mostrada na figura 3c-4; ou se o fator de elevação Z for um dentre {128, 144, 160, 176, 192, 208, 224, 240}, a submatriz D na matriz de base poderá incluir mD linhas em uma matriz de deslocamento 30c-4 mostrada na figura 3c-5; ou se o fator de elevação Z for um dentre {256, 288, 320, 352, 384}, a submatriz D na matriz de base poderá incluir mD linhas em uma matriz de deslocamento 30c-5 mostrada na figura 3c-6.
[0028] Em uma outra implementação possível, um conjunto de fator de elevação pode ser {24, 26, 28, 30, 32, 36, 40, 44, 48, 52, 56, 60, 64, 72, 80, 88, 96, 104, 112, 120, 128, 144, 160, 176, 192, 208, 224, 240, 256, 288, 320, 352, 384}.
[0029] Se o fator de elevação Z for um dentre {24, 26, 28, 30}, a matriz de deslocamento da matriz F poderá ser 80c-1 mostrada na figura 8c-2; ou se o fator de elevação Z for um dentre {32, 36, 40, 44}, a matriz de deslocamento da matriz F poderá ser 80c-2 mostrada na figura 8c-3; ou se o fator de elevação Z for um dentre {48, 52, 56, 60}, a matriz de deslocamento da matriz F poderá ser 80c-3 mostrada na figura 8c-4; ou se o fator de elevação Z for um dentre {60, 64, 72, 80, 88, 96, 104, 112, 120}, a matriz de deslocamento da matriz F poderá ser 80c-4 mostrada na figura 8c-5; ou se o fator de elevação Z for um dentre {128, 144, 160, 176, 192, 208, 224, 240}, a matriz de deslocamento da matriz F poderá ser 80c-5 mostrada na figura 8c-6; ou se o fator de elevação Z for um dentre {256, 288, 320, 352, 384}, a matriz de deslocamento da matriz F poderá ser 80c-6 mostrada na figura 8c-7.
[0030] O gráfico de base e a matriz de base da matriz de LDPC na primeira implementação podem atender a exigências de performance de blocos de código cujos comprimentos de bloco são de 352 a 8448 bits.
[0031] Com base em qualquer um dos aspectos precedentes ou nas implementações possíveis dos aspectos, em uma outra implementação possível, o método ainda inclui: a determinação de um fator de elevação Z. 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 em fatores de elevação que atenda a 22*Z>K poderá ser determinado a partir de uma pluralidade de fatores de elevação definidos em um sistema.
[0032] Para um dispositivo de comunicações em uma extremidade de transmissão, a codificação de uma sequência de entrada pelo uso de uma matriz de LDPC inclui: a codificação da sequência de entrada pelo uso de uma matriz de LDPC correspondente ao fator de elevação Z.
[0033] Para um dispositivo de comunicações em uma extremidade de recepção, a decodificação de uma sequência de entrada pelo uso de uma matriz de LDPC inclui: a decodificação da sequência de entrada pelo uso de uma matriz de LDPC correspondente ao fator de elevação Z.
[0034] Com base em qualquer um dos aspectos precedentes ou nas implementações possíveis dos aspectos, em uma outra implementação possível, a matriz de base da matriz de LDPC pode ser armazenada em uma memória.
[0035] Com base em qualquer um dos aspectos precedentes ou nas implementações possíveis dos aspectos, em uma outra implementação possível, o gráfico de base da matriz de LDPC é armazenada na memória, e os valores de deslocamento de elementos não nulos na matriz de base da matriz de LDPC podem ser armazenados na memória.
[0036] Com base nas implementações possíveis precedentes, em um projeto possível, pelo menos um dentre um gráfico de base e uma matriz de base para codificação e decodificação de LDPC é obtido pela execução de uma permutação de linha, ou uma permutação de coluna, ou uma permutação de linha e uma permutação de coluna em pelo menos um dentre o gráfico de base e a matriz de base da matriz de LDPC.
[0037] De acordo com um terceiro aspecto, um aparelho de comunicações é provido, e o aparelho pode incluir módulos de software e/ou componentes de hardware configurados para a execução de qualquer uma das implementações possíveis do primeiro aspecto no projeto de método precedente.
[0038] Em um projeto possível, o aparelho de comunicações provido no terceiro aspecto inclui o codificador descrito no primeiro aspecto, uma unidade de determinação e uma unidade de processamento. A unidade de determinação é configurada para a determinação de um fator de elevação Z requerido para a codificação de uma sequência de entrada. A unidade de processamento é configurada para a codificação da sequência de entrada pelo uso de uma matriz de LDPC correspondente ao fator de elevação Z.
[0039] Opcionalmente, o aparelho de comunicações ainda inclui um transceptor, e o transceptor é configurado para enviar um sinal correspondente aos dados de informação codificados.
[0040] De acordo com um quarto aspecto, um aparelho de comunicações é provido, e o aparelho pode incluir um módulo configurado para a execução de qualquer uma das implementações possíveis do segundo aspecto no projeto de método precedente. O módulo pode ser um software e/ou um hardware.
[0041] Em um projeto possível, o aparelho de comunicações provido no quarto aspecto inclui o decodificador descrito no segundo aspecto, uma unidade de obtenção e uma unidade de processamento. A unidade de obtenção é configurada para a obtenção de valores flexíveis de um código de LDPC e um fator de elevação Z. A unidade de processamento é configurada para a decodificação dos valores flexíveis do código de LDPC com base em uma matriz de base HB correspondente ao fator de elevação Z, para a obtenção de uma sequência de bit de informação.
[0042] O aparelho de comunicações ainda inclui um transceptor, e o transceptor é configurado para receber um sinal incluindo um código de LDPC.
[0043] De acordo com um quinto aspecto, um aparelho de comunicações é provido, incluindo um ou mais processadores.
[0044] Em um projeto possível, um ou mais processadores podem implementar funções do codificador no primeiro aspecto. Em um outro projeto possível, o codificador no primeiro aspecto pode ser uma parte do processador, e o processador pode implementar outras funções além das funções do codificador no primeiro aspecto.
[0045] Em um projeto possível, um ou mais processadores podem implementar funções do codificador no segundo aspecto. Em um outro projeto possível, o decodificador no segundo aspecto pode ser uma parte do processador.
[0046] Opcionalmente, o aparelho de comunicações ainda pode incluir um transceptor e uma antena.
[0047] Opcionalmente, o aparelho de comunicações ainda pode incluir um componente configurado para a geração de uma verificação de redundância cíclica (CRC) de bloco de transporte, um componente usado para segmentação de bloco de código e uma verificação CRC, um entrelaçador usado para entrelaçamento, um modulador usado para processamento de modulação ou similar.
[0048] Opcionalmente, o aparelho de comunicações ainda pode incluir um demodulador usado para demodulação, um desentrelaçador usado para desentrelaçamento, um componente usado para descombinação de taxa ou similar. As funções destes componentes podem ser implementadas por um ou mais processadores.
[0049] Em um projeto possível, as funções destes componentes podem ser implementadas por um ou mais processadores.
[0050] De acordo com um sexto aspecto, uma modalidade do presente pedido provê um sistema de comunicações, e o sistema inclui o aparelho de comunicações descrito no terceiro aspecto e o aparelho de comunicações descrito no quarto aspecto.
[0051] De acordo com um sétimo aspecto, uma modalidade do presente pedido provê um sistema de comunicações, e o sistema inclui um ou mais aparelhos de comunicações descritos no quinto aspecto.
[0052] De acordo com um outro aspecto, uma modalidade do presente pedido provê um meio de armazenamento em computador, onde o meio de armazenamento em computador armazena um programa, e, quando o programa é rodado, um computador é feito para executar os métodos descritos nos aspectos precedentes.
[0053] De acordo com um outro aspecto deste pedido, um produto de programa de computador incluindo uma instrução é provido. Quando a instrução é rodada em um computador, o computador é feito para executar os métodos nos aspectos precedentes.
[0054] De acordo com o método de processamento de informação, o aparelho, o dispositivo de comunicações e o sistema de comunicações nas modalidades do presente pedido, exigências flexíveis de comprimento de código e taxa de código de um sistema podem ser atendidas em termos de performance de codificação e um patamar de erro.
BREVE DESCRIÇÃO DOS DESENHOS
[0055] A figura 1 mostra diagrama estrutural esquemático de um gráfico de base, uma matriz de base e matrizes de permutação circular de um código de LDPC; a figura 2 é um diagrama estrutural esquemático de um gráfico de base de um código de LDPC; a figura 3a é um diagrama esquemático de um gráfico de base de um código de LDPC de acordo com uma modalidade do presente pedido; a figura 3b-1 e a figura 3b- 2 mostram diagramas esquemáticos de matrizes de base de um código de LDPC de acordo com uma modalidade do presente pedido; a figura 3c-1 à figura 3c-11 mostram diagramas esquemáticos de matrizes de base de código de LDPC de acordo com uma outra modalidade do presente pedido; a figura 4 é um diagrama esquemático de performance provido por uma modalidade do presente pedido; a figura 5 é um diagrama esquemático de performance provido por uma outra modalidade do presente pedido; a figura 6 é um diagrama de blocos esquemático de um aparelho de processamento de informação de acordo com uma modalidade do presente pedido; a figura 7 é um diagrama de blocos esquemático de um sistema de comunicações de acordo com uma modalidade do presente pedido; a figura 8a é um diagrama esquemático de um gráfico de base de um código de LDPC de acordo com uma outra modalidade do presente pedido; a figura 8b-1 e a figura 8b- 2 mostram diagramas esquemáticos de matrizes de base de um código de LDPC de acordo com ainda uma outra modalidade do presente pedido; a figura 8c-1 à figura 8c-10 mostram diagramas esquemáticos de matrizes de base de código de LDPC de acordo com ainda uma outra modalidade do presente pedido; a figura 9 é um diagrama esquemático de performance de um código de LDPC de acordo com uma modalidade do presente pedido; a figura 10 é um diagrama esquemático de performance de um código de LDPC de acordo com uma outra modalidade do presente pedido; a figura 11a é um diagrama esquemático de um gráfico de base de um código de LDPC de acordo com ainda uma outra modalidade do presente pedido; a figura 11b é um diagrama esquemático de uma matriz de base com base no gráfico de base do código de LDPC provido na figura 11a; e a figura 12 é um diagrama esquemático de um gráfico de base de acordo com ainda uma outra modalidade do presente pedido.
DESCRIÇÃO DETALHADA DE MODALIDADES
[0056] Para facilidade de entendimento, alguns termos usados neste pedido são descritos abaixo.
[0057] Neste pedido, os termos “rede” e “sistema” são frequentemente usados de forma intercambiável, e “aparelho” e “dispositivo” são frequentemente usados de forma intercambiável. Os significados destes termos são entendidos por pessoas versadas na técnica. Um “aparelho de comunicação” pode se referir a um chip (tal como um chip de banda base, um chip de processamento de sinal digital, ou um chip de finalidade geral, etc.), um terminal, uma estação base ou qualquer outro dispositivo de ligação em rede.
[0058] Um terminal é um dispositivo que tem uma função de comunicação. Ele pode ser um dispositivo portátil, um dispositivo veicular, um dispositivo usável, um dispositivo de computação, ou qualquer outro dispositivo de processamento que seja conectado a um modem sem fio e tendo funções de comunicação sem fio. O terminal pode ser chamado por diferentes nomes em diferentes redes, tais como um equipamento de usuário, uma estação móvel, uma unidade de assinante, uma estação, um telefone celular, um assistente digital pessoal, um modem sem fio, um dispositivo de comunicações sem fio, um dispositivo portátil, um computador laptop, um telefone sem fio e uma estação de laço local sem fio. Para facilidade de descrição, estes dispositivos são simplesmente referidos como um terminal neste pedido.
[0059] Uma estação base (base station, BS) também pode ser referida como um dispositivo de estação base, e é um dispositivo empregado em uma rede de acesso por rádio para a provisão de funções de comunicação sem fio. A estação base pode ser chamada por nomes diferentes em sistemas de acesso sem fio diferentes. Por exemplo, uma estação base em uma rede de Sistema Universal de Telecomunicações Móveis (Universal Mobile Telecommunications System, UMTS) é referido como Nó B (NodeB), uma estação base em uma rede de LTE é referida como um Nó B evoluído (evolved NodeB, eNB ou eNodeB), uma estação base em uma rede de novo rádio (new radio, NR) é referido como um ponto de recepção de transmissão (transmission reception point, TRP) ou um Nó B de próxima geração (generation nodeB, gNB). As estações base em outras redes podem ser chamadas por outros nomes. Isto não é limitado no presente pedido.
[0060] O que vem a seguir descreve as soluções técnicas nas modalidades do presente pedido com referência aos desenhos associados.
[0061] Um código de LDPC pode ser representado por uma matriz de verificação de paridade H. A matriz de verificação de paridade H pode ser obtida pelo uso de um gráfico de base (base graph) e um valor de deslocamento (shift). O gráfico de base é uma matriz de m linhas e n colunas e inclui m*n elementos de matriz (também denominados entradas). O valor de cada elemento de matriz é 0 ou 1. Um elemento cujo valor é 0 é referido como um elemento nulo, o qual pode ser substituído por matriz toda de zeros de Z linhas *Z colunas (matriz nula). Um elemento cujo valor é 1 é referido como um elemento não nulo, o qual pode ser substituído por uma matriz de permutação circular (circular permutation matrix) de Z linhas *Z colunas. Isto é, cada elemento do gráfico de base representa uma matriz toda de zeros ou uma matriz de permutação circular. 10a na figura 1 mostra elementos em um gráfico de base de exemplo de um código de LDPC com uma estrutura QC, onde m = 4, e n = 20.
[0062] Deve ser notado que, neste relatório descritivo, índices de linha e índices de coluna de gráficos e matrizes de base são numerados começando de 0, e isto é meramente para facilidade de descrição. Por exemplo, a coluna 0 indica uma primeira coluna em um gráfico de base ou uma matriz, e a coluna 1 indica uma segunda coluna no gráfico e na matriz de base, a linha 0 indica uma primeira linha no gráfico e na matriz de base, a linha 1 indica uma segunda linha no gráfico e na matriz de base, e assim por diante.
[0063] Pode ser entendido que índices de linha e índices de coluna alternativamente podem ser numerados a partir de 1, e, neste caso, os índices de linha e os índices de coluna mostrados neste relatório descritivo são aumentados por 1 para a obtenção de índices de linha e índices de coluna correspondentes. Por exemplo, se os índices de linha e índices de coluna forem numerados a partir de 1, uma coluna 1 indicará uma primeira coluna no gráfico e na matriz de base, uma coluna 2 indicará uma segunda coluna no gráfico e na matriz de base, uma linha 1 indicará uma primeira linha no gráfico e na matriz de base, uma linha 2 indicará uma segunda linha no gráfico e na matriz de base, e assim por diante.
[0064] Se um valor de um elemento em uma linha i e uma coluna j no gráfico de base for 1, será atribuído um valor de deslocamento Pi,j, e Pi,j é um inteiro maior do que ou igual a 0, então, o elemento cujo valor é 1 na linha i e na coluna j do gráfico de base será substituído por uma matriz de permutação circular Z*Z correspondente a Pi,j. A matriz de permutação circular correspondente a Pi,j equivale a uma matriz obtida pelo deslocamento de forma circular de uma matriz identidade de tamanho Z*Z para a direita Pi,j vezes. Cada elemento no gráfico de base cujo valor é 0 é substituído por uma matriz toda de zeros de tamanho Z*Z, e cada elemento cujo valor é 1 é substituído por uma matriz de permutação circular de tamanho Z*Z correspondente a um valor de deslocamento do elemento, para a obtenção de uma matriz de verificação de paridade do código de LDPC. As posições de valores de deslocamento podem ser indicadas pelo gráfico de base e um elemento não nulo no gráfico de base corresponde ao valor de deslocamento.
[0065] Z é um inteiro positivo, um fator de elevação (lifting), ou pode ser referido às vezes como um tamanho de elevação. Z pode ser determinado com base em tamanhos de bloco de código que são suportados por um sistema e um tamanho de dados de informação. Pode ser visto que, para um gráfico de base de m linhas * n colunas, a matriz de verificação de paridade H tem um tamanho de (m*Z)*(n*Z). Por exemplo, se o fator de elevação Z for 4, cada elemento nulo no gráfico de base 10a será substituído por uma matriz toda de zeros 11a de tamanho 4*4. Se P2,3 for 2, um elemento não nulo na linha 2 e na coluna 3 no gráfico de base será substituído por uma matriz de permutação circular 11d de tamanho 4*4, e a matriz 11d será obtida pelo deslocamento circular de uma matriz identidade 11b de tamanho 4*4 duas vezes para a direita. Se P2,4 for 0, um elemento não nulo na linha 2 na coluna 4 será substituído pela matriz identidade 11b. Deve ser notado que apenas exemplos são descritos aqui, e os exemplos não constituem uma limitação.
[0066] O valor de Pi,j pode depender do fator de elevação Z. Para um elemento do gráfico de base cujo valor é 1 na mesma posição, Pi,j pode ser diferente para diferentes fatores de elevação Z. Para facilidade de implementação, uma matriz de base m*n pode ser definida. Os elementos na matriz de base estão em uma correspondência um a um com elementos no gráfico de base. Um elemento nulo no gráfico de base tem uma mesma posição na matriz de base, e o elemento é indicado por -1. Um elemento não nulo, na linha i e na coluna j, cujo valor é 1 no gráfico de base tem uma mesma posição na matriz de base, o elemento podendo ser indicado por Pi,j, e Pi,j é um inteiro positivo maior do que ou igual a 0. Nesta modalidade deste pedido, às vezes a matriz de base também é referida como uma matriz de deslocamento da matriz de gráfico de base.
[0067] A figura 1 mostra uma matriz de base 10b correspondente ao gráfico de base 10a.
[0068] Normalmente, o gráfico de base ou a matriz de base do código de LDPC ainda pode incluir p colunas de bits de perfuração embutidos (built-in puncture), onde p pode ser um inteiro variando de 0 a 2. Estas colunas podem ser usadas em codificação, mas bits de sistema correspondentes às colunas não são enviados. Uma taxa de código da matriz de base do código de LDPC atende a R=(n-m)/(n-p). Se uma matriz de base de quatro linhas e 20 colunas (4*20) incluir duas colunas de bits de perfuração embutidos, uma taxa de código será (20- 4)/ (20-2)=8/9.
[0069] Um código de LDPC usado em um sistema de comunicação sem fio é um código de QC-LDPC, e uma parte de bits de paridade do código de QC-LDPC tem uma estrutura bidiagonal ou uma estrutura como uma ave de rapina, de modo que uma codificação possa ser simplificada e uma repetição híbrida de redundância em incrementos possa ser suportada. Em um decodificador para o código de QC-LDPC, uma rede de deslocamento de QC-LDPC (QC-LDPC shift network, QSN), uma rede de Banyan, ou uma rede de Benes é usualmente usada para a implementação de um deslocamento cíclico de informação.
[0070] Um gráfico de base do código de QC-LDPC com a estrutura tipo de ave de rapina é uma matriz que tem m linhas e n colunas, e o gráfico de base usualmente pode incluir cinco submatrizes: A, B, C, D, e E. Um peso de matriz é determinado por uma quantidade de elementos não nulos. Um peso de linha (row weight) é uma quantidade de elementos não nulos em uma linha, e um peso de coluna (column weight) é uma quantidade de elementos não nulos em uma coluna. O que vem a seguir é mostrado em 200 na figura 2.
[0071] Uma submatriz A é uma matriz de mA linhas e nA colunas, e a submatriz A tem um tamanho de mA*nA. Cada coluna corresponde a Z bits de sistema no código de LDPC, e um bit de sistema às vezes é referido como um bit de informação.
[0072] Uma submatriz B é uma matriz quadrada de mA linhas e mA colunas, e a submatriz B tem um tamanho de mA*mA. Cada coluna corresponde a Z bits de paridade no código de LDPC. A submatriz B inclui uma submatriz B’ com uma estrutura bidiagonal e uma coluna de matriz cujo peso é 3 (coluna de peso 3 para abreviar), e a coluna de peso 3 está localizada no lado esquerdo da submatriz B’, conforme mostrado em 20a na figura 2. A submatriz B pode incluir, ainda, uma coluna de matriz cujo peso é 1 (coluna de peso 1 para abreviar), a coluna de matriz de peso 1 pode estar localizada em uma primeira ou última coluna na submatriz B, e um elemento não nulo na coluna de matriz de peso 1 está em uma última linha na submatriz B, de modo que um peso da última linha na submatriz B seja 1, conforme mostrado em 20b ou 20c na figura 2.
[0073] Geralmente, uma matriz gerada com base na submatriz A e na submatriz B é uma matriz de núcleo, a qual pode ser usada para suporte de uma alta codificação de taxa de código.
[0074] Uma submatriz C é uma matriz toda de zeros, e a submatriz C tem um tamanho de mA* (n-(mA + nA)) .
[0075] Uma submatriz E é uma matriz identidade, e a submatriz E tem um tamanho de (m - mA) * (m - mA).
[0076] Uma submatriz D tem um tamanho de (m - mA)* (nA+ mA), e a submatriz D pode ser usada para a geração de bits de paridade para uma taxa de código baixa.
[0077] Pode ser entendido que o gráfico de base é expresso matematicamente, e devido ao fato de C ser uma matriz toda de zeros, e E ser uma matriz identidade, em uma implementação possível, uma matriz incluindo a submatriz A e a submatriz B, ou uma matriz incluindo a submatriz A, a submatriz B, e a submatriz D pode ser usada para simplesmente se representar um gráfico de base de uma matriz para codificação ou decodificação.
[0078] Devido ao fato de as estruturas da submatriz B, da submatriz C e da submatriz E serem relativamente específicas, as estruturas da submatriz A e da submatriz D são um dos fatores afetando uma performance de codificação e decodificação do código de LDPC.
[0079] Quando uma matriz de LDPC com uma estrutura tipo de ave de rapina é usada para codificação, em uma implementação possível, a parte da matriz incluindo a submatriz A e a submatriz B, especificamente a matriz de núcleo, pode ser primeiramente codificada para a obtenção de um ou mais bits de paridade correspondentes à submatriz B e, então, a matriz inteira é codificada para a obtenção de um ou mais bits de paridade correspondentes à submatriz E. Devido ao fato de a submatriz B poder incluir a submatriz B’ com a estrutura bidiagonal e a coluna de matriz de peso 1, durante uma codificação, um ou mais bits de paridade correspondentes à submatriz B’ com a estrutura bidiagonal pode ser primeiramente obtida, e, então, um ou mais bits de paridade correspondentes à coluna de matriz de peso 1 pode ser obtida.
[0080] O que vem a seguir provê uma implementação de codificação de exemplo. Assumindo que a matriz de núcleo incluindo a submatriz A e a submatriz B seja Hcore, uma coluna de matriz de peso 1 e uma linha na qual um elemento não nulo na coluna está localizado são removidas da Hcore para a obtenção de uma matriz Hcore-dual. A parte na Hcore-dual para bits de paridade é representada por He=[He1 He2], He1 é uma coluna de matriz de peso 3, e He2 tem uma estrutura bidiagonal. De acordo com a definição da matriz de código de LDPC, Hcoreduai • [S Pe]T =0, onde S é uma sequência de entrada e é um vetor incluindo bits de informação, Pe é um vetor incluindo bits de paridade, e [S Pe]T indica uma matriz transposta incluindo a sequência de entrada S e Pe. Portanto, os bits de paridade correspondentes a Hcore-dual podem ser primeiramente calculados com base na sequência de entrada S e Hcore-dual, onde a sequência de entrada S inclui todos os bits de informação. Então, bits de paridade correspondentes à coluna de matriz de peso 1 em uma submatriz B são calculados com base no bit de paridade obtido correspondente a H core-dual e à sequência de entrada S. Neste caso, todos os bits de paridade correspondentes à submatriz B podem ser obtidos. Após isso, os bits de paridade correspondentes à submatriz E são obtidos por codificação pelo uso da submatriz D e com base na sequência de entrada S e nos bits de paridade correspondentes à submatriz B, para a obtenção de todos os bits de informação e todos os bits de paridade. Uma sequência compreendendo todos os bits de informação e todos os bits de paridade obtidos pela execução de uma codificação, especificamente, uma sequência de código de LDPC.
[0081] Opcionalmente, uma codificação de LDPC ainda pode incluir uma operação de encurtamento (shortening) e uma operação de perfuração (puncturing). Os bits encurtados e os bits perfurados não são enviados.
[0082] O encurtamento usualmente é realizado começando- se a partir de um último bit de informação, e pode ser realizado de maneiras diferentes. Por exemplo, uma quantidade de bits encurtados é s0, os últimos bits s0 na sequência de entrada S podem ser regulados para bits conhecidos, por exemplo, regulados para 0 ou nulo ou um outro valor, para a obtenção de uma sequência de entrada S’, e então a sequência de entrada S’ é codificada pelo uso de uma matriz de LDPC. Para um outro exemplo, os últimos bits (s0 mod Z) na sequência de entrada S podem ser regulados para bits conhecidos, por exemplo, regulados para 0 ou nulo ou um outro valor, para a obtenção de uma sequência de entrada S’,
Figure img0001
e as últimas Dz colunas na submatriz A são apagadas para a obtenção de uma matriz de LDPC H’, e a sequência de entrada S’ é codificada pelo uso da matriz de LDPC H’, ou as últimas
Figure img0002
colunas na submatriz A não participam na codificação da sequência de entrada S’. Após a codificação, os bits encurtados não são enviados.
[0083] A perfuração pode ser executada em um ou mais bits de perfuração embutidos, ou um ou mais bits de paridade em uma sequência de entrada. Usualmente, a perfuração de bits de paridade também é a partir do último bit um em bits de paridade. Alternativamente, uma perfuração pode ser executada com base em um padrão de perfuração pré-regulado no sistema. Em uma implementação possível, uma sequência de entrada é primeiramente codificada, e, então, com base em uma quantidade p de bits que precisam ser perfurados os últimos p bits em bits de paridade são selecionados ou p bits são selecionados com base no padrão de perfuração préregulado no sistema, onde os p bits não são enviados. Em uma outra implementação possível, p colunas em uma matriz que correspondem aos bits perfurados e p linhas nas quais os elementos não nulos nestas colunas estão localizados também podem ser determinadas, e as linhas e as colunas não são usadas em uma codificação, e, portanto, nenhum bit de paridade correspondente é gerado.
[0084] Deve ser notado que a implementação de codificação descrita aqui é meramente usada como um exemplo. Outras implementações de codificação conhecidas por pessoas versadas na técnica podem ser usadas com base no gráfico de base e/ou na matriz de base providos neste pedido, e as implementações de codificação não são limitadas neste pedido. Uma decodificação neste pedido pode ser realizada em uma pluralidade de métodos de decodificação, por exemplo, um método de decodificação de soma mínima (MS) ou um método de decodificação de propagação de crença. O método de decodificação de MS é referido às vezes como um método de decodificação de MS de inundação. Por exemplo, uma sequência de entrada é inicializada e uma ou mais iterações são executadas. Uma detecção de decisão inflexível é executada após a(s) interação(ões), e um resultado de decisão inflexível é verificado. Se o resultado de detecção atender a uma equação de verificação, uma decodificação será bemsucedida, uma iteração terminará, e um resultado de detecção será extraído. Se um resultado de decodificação não atender a uma equação de verificação, uma iteração será executada de novo em uma quantidade máxima de vezes de iteração, e se uma verificação ainda falhar quando a quantidade máxima de vezes de iteração for atingida, uma decodificação falhará. O princípio da decodificação de MS é entendido por pessoas versadas na técnica, e os detalhes não são descritos aqui.
[0085] Deve ser notado que o método de decodificação é meramente usado como um exemplo aqui, outros métodos de decodificação conhecidos por pessoas versadas na técnica podem ser usados com base no gráfico de base e/ou na matriz de base providos neste pedido, e o método de decodificação não é limitado neste pedido.
[0086] Um código de LDPC pode ser obtido com base em um gráfico de base e uma matriz de base, um limite superior de performance do código de LDPC pode ser determinado pela execução de uma evolução de densidade no gráfico de base ou na matriz de base. Um patamar de erro do código de LDPC é determinado com base em um valor de deslocamento na matriz de base. Um melhoramento de performance de codificação e decodificação e um abaixamento do patamar de erro são alguns dos objetivos de projeto do gráfico de base e da matriz de base. Um comprimento de código é flexível no sistema de comunicações sem fio. Um bloco de código pode ter um comprimento de bloco curto, tal como 40 bits ou 1280 bits, ou um bloco de código pode ter um comprimento longo, tal como 5000 bits ou 8448 bits. A figura 3a, as figuras 3b-1 e 3b-2 e as figuras 3c-1 a 3c-11 são exemplos de um gráfico de base e matrizes de base de um código de LDPC, e os exemplos podem atender a uma exigência de performance de um bloco de código com um comprimento de bloco de até 8448 bits. A figura 8a, as figuras 8b-1 e 8b-2, e as figuras 8c-1 a 8c-10 proveem exemplos de um gráfico de base e matrizes de base de um outro código de LDPC. A figura 11a e a figura 11b proveem exemplos de um gráfico de base e uma matriz de base de um outro código de LDPC. Para facilidade de descrição e entendimento, índices de linha e índices de coluna são respectivamente mostrados no lado mais superior e no lado mais inferior na figura 3a, nas figuras 3b-1 e 3b-2 e nas figuras 3c-1 a 3c- 11. A figura 4 e a figura 5 respectivamente proveem diagramas esquemáticos de performance do código de LDPC mostrado na figura 3a e nas figuras 3c-1 a 3c-11 em duas taxas de código diferentes. A figura 3a mostra um exemplo de um gráfico de base 30a de um código de LDPC. Na figura, 0 a 67 na linha mais superior indicam índices de coluna, e 0 a 45 na coluna mais à esquerda indicam índices de linha. Para se ser específico, o gráfico de base tem 46 linhas e 68 colunas.
[0087] Uma submatriz A corresponde a bits de sistema, tem cinco linhas e 22 colunas, e inclui elementos da linha 0 à linha 4 e da coluna 0 à coluna 21 no gráfico de base 30a.
[0088] Uma submatriz B corresponde a bits de paridade, tem cinco linhas e cinco colunas, e inclui elementos da linha 0 à linha 4 e da coluna 22 à coluna 26 no gráfico de base 30a.
[0089] A submatriz A e a submatriz B formam uma matriz de núcleo no gráfico de base do código de LDPC e, para se ser específico, formam uma matriz de cinco linhas e 27 colunas, e podem ser usadas para uma codificação de alta taxa de código. Por exemplo, na matriz de núcleo incluindo a submatriz A e a submatriz B, uma coluna tem um peso de 5, uma coluna tem um peso de 4, 21 colunas têm um peso de 3, três colunas têm um peso de 2, e uma coluna tem um peso de 1.
[0090] A submatriz A pode incluir duas colunas de bits de perfuração embutidos, e, após uma perfuração, uma taxa de código que pode ser suportada pela matriz de núcleo é 22/(27- 2)=0,88. Na submatriz A, uma coluna tem um peso de 5, uma coluna tem um peso de 4, e outras 20 colunas têm um peso de 3. Por exemplo, os pesos das duas colunas de bits de perfuração embutidos podem ser respectivamente 5 e 4.
[0091] Ambos um peso de uma última linha (linha 4) e um peso de uma última coluna (coluna 4 na submatriz B, isto é, uma coluna 26 na matriz de núcleo) na submatriz B são 1. A submatriz B inclui uma coluna de peso 3, e, para se ser específico, um peso de coluna 0 na submatriz B (coluna 22 na matriz de núcleo) é 3. Da coluna 1 à coluna 3 na submatriz B (da coluna 23 à coluna 25 na matriz de núcleo) e da linha 0 à linha 3 na submatriz B formam uma estrutura bidiagonal.
[0092] A matriz de núcleo no gráfico de base 30a inclui quatro linhas cujos pesos são 19 e uma linha cujo peso é 3. Os pesos das linhas na matriz de núcleo incluindo a submatriz A e a submatriz B são 19, 19, 19, 19 e 3. Deve ser notado que as linhas na matriz de núcleo podem ser comutadas, por exemplo, a linha 0 e a linha 2 são comutadas com cada outra, e a linha 1 e a linha 3 são comutadas com cada outra. A linha cujo peso é 3 pode ser a linha 4 da coluna 0 à coluna 26 na matriz de núcleo no gráfico de base 30a, e as linhas cujos pesos são 19 podem ser respectivamente da linha 0 à linha 3 da coluna 0 à coluna 26 na matriz de núcleo no gráfico de base 30a. Estas linhas podem ser comutadas com cada outra, e as colunas também podem ser comutadas com cada outra. Por exemplo, a coluna 8 e a coluna 25 na matriz de núcleo podem ser comutadas com cada outra, e a coluna 10 e a coluna 26 podem ser comutadas com cada outra. Por exemplo, a linha 3 e a linha 0 na matriz de núcleo podem ser comutadas com cada outra, e a linha 2 e a linha 1 podem ser comutadas com cada outra. Para se manter a estrutura bidiagonal na submatriz B, nesta base, a coluna 23 e a coluna 25 podem ser comutadas com cada outra para a obtenção de uma matriz de núcleo em um gráfico de base 80a mostrado na figura 8a, isto é, uma matriz incluindo da linha 0 à linha 5 e da coluna 0 à coluna 26 em 80a. Deve ser notado que apenas exemplos são providos aqui. Em uma aplicação real, uma permutação de linha e uma permutação de coluna podem ser projetadas de forma flexível com base em uma exigência de sistema.
[0093] A tabela 1 mostra um exemplo de permutação de coluna para o gráfico de base 80a. Para facilidade de descrição, uma sequência obtida por permutação de coluna de 27 colunas na matriz de núcleo é provida aqui. Os índices de coluna são índices de coluna da matriz após a permutação, e são numerados a partir de 0. Os índices de coluna antes da permutação são índices de coluna da matriz antes da permutação. Conforme mostrado na Tabela 1, a coluna 8 e a coluna 10 na matriz antes da permutação são comutadas para a coluna 25 e a coluna 26, a coluna 9 na matriz antes da permutação é comutada para a coluna 8, a coluna 11 à coluna 21 na matriz antes da permutação são comutada para a coluna 9 à coluna 19, e a coluna 25 e a coluna 26 na matriz antes da permutação são comutadas para a coluna 20 e a coluna 21. Desta maneira, uma performance de uma taxa de código específica e de um comprimento de código específico pode ser melhorada. Por exemplo, a figura 9 é um diagrama esquemático de performance com base na matriz de base mostrada na Tabela 1. A performance é melhorada em um caso de uma taxa de código de 2/3, uma taxa de erro de bloco (BLER) de 1E-2, e um comprimento de código variando de 672 a 960. A figura 10 é um diagrama esquemático de performance com base na matriz de base mostrada na Tabela 1. A performance é melhorada em um caso de uma taxa de código de 2/3, uma BLER de 1E-2, e um comprimento de código variando de 1952 a 2624.
Figure img0003
Figure img0004
[0094] Pode ser entendido que, devido ao fato de, em uma matriz, as linhas podem ser comutadas com cada outra, as colunas também podem ser comutadas com cada outra, uma permutação de linha não muda pesos das colunas na matriz, uma permutação de coluna não muda pesos das linhas na matriz, e uma quantidade de elementos não nulos na matriz não é mudada. Os pesos das linhas no gráfico de base 80a após uma permutação de linha e uma permutação de coluna não são mudados. Uma performance não é afetada para um gráfico de base obtido pela execução de uma permutação de linha ou uma permutação de coluna ou uma permutação de linha e uma permutação de coluna.
[0095] Deve ser notado neste pedido que uma performance não é afetada significa que um impacto é aceitável e cai em uma faixa tolerável como um todo. Por exemplo, uma performance é pouco afetada como um todo porque uma performance deteriora em uma faixa admissível em alguns cenários ou em algumas faixas, mas uma performance é melhorada em alguns cenários ou em algumas faixas.
[0096] A matriz de núcleo no gráfico de base 30a e aquela no gráfico de base 80a são usadas como exemplos. Após uma permutação de linha ser executada no gráfico de base 30a, a matriz de núcleo no gráfico de base 80a ainda inclui as colunas na matriz de núcleo no gráfico de base 30a, uma linha tem um peso de 3, e as outras quatro linhas têm um peso de 19, exceto pelo fato de a ordem das linhas mudar. Se uma permutação de coluna for executada no gráfico de base 30a, por exemplo, a coluna 5 e a coluna 7 são comutadas com cada outra, pode ser descoberto que uma matriz de núcleo que é do gráfico de base 30a e que é obtida pela execução da permutação de coluna ainda inclui as colunas na matriz de núcleo no gráfico de base 30a. Uma coluna tem um peso de 5, uma coluna tem um peso de 4, 21 colunas têm um peso de 3, três colunas têm um peso de 2, e uma coluna tem um peso de 1, exceto pelo fato de a ordem das colunas mudar. Deve ser notado que são providos aqui apenas exemplos, e os exemplos não constituem uma limitação.
[0097] Para um dado gráfico de base ou uma da matriz de base de um código de LDPC, um impacto de umas poucas mudanças em elementos de matriz na performance usualmente é aceitável. Por exemplo, em uma implementação, umas poucas mudanças podem ser feitas com base na matriz de núcleo no gráfico de base 30a. Por exemplo, uma linha tem um peso maior do que ou igual a 1 e menor do que ou igual a 5, e as outras quatro linhas têm pesos maiores do que ou iguais a 17 e menores do que ou igual a 21, respectivamente. Por exemplo, uma linha tem um peso de 2, e as outras quatro linhas têm um peso de 18; ou uma linha tem um peso de 4, e as outras quatro linhas respectivamente têm pesos de 17, 18, 19, e 19. Pode ser entendido que pesos de algumas linhas podem ser aumentados ou diminuídos por 1 ou 2 com referência às soluções providas neste pedido, e isto não é limitado neste pedido.
[0098] A submatriz A também pode incluir uma linha, na qual outros elementos além dos elementos nas colunas de bits de perfuração embutidos são elementos nulos. Ainda, para minimização de um peso da linha na matriz de núcleo ou na matriz de gráfico de base, a linha usualmente é a mesma que a linha cujo peso é 1 na submatriz B. Por exemplo, há duas colunas de bits de perfuração embutidos, e, para se ser específico, a coluna 0 e a coluna 1 são colunas de bits de perfuração embutidos, conforme mostrado no gráfico de base 30a ou 80a. Na linha 4, os elementos na coluna 0 e na coluna 1 são elementos não nulos, os elementos na coluna 2 à coluna 25 são elementos nulos, os elementos na coluna 26 são elementos não nulos, e um peso da linha 4 é 3. A linha 4 tem um peso menor na matriz de núcleo, e mesmo na matriz de gráfico de base inteira. Essa regulagem pode melhorar a performance de codificação e decodificação.
[0099] Para suporte de diferentes comprimentos de bloco, o código de LDPC precisa de diferentes fatores de elevação Z. Por exemplo, o fator de elevação Z pode ser um ou mais dos valores a seguir: 16, 18, 20, 22, 24, 26, 28, 30, 32, 36, 40, 44, 48, 52, 56, 60, 64, 72, 80, 88, 96, 104, 112, 120, 128, 144, 160, 176, 192, 208, 224, 240, 256, 288, 320, 352, ou 384. Para garantir uma performance de código de LDPC em casos de diferentes comprimentos de bloco, as matrizes de base correspondentes a diferentes fatores de elevação Z podem ser usados com base nos diferentes fatores de elevação Z. A figura 3b-1 e a figura 3b-2 mostram uma pluralidade de exemplos de matriz de base da matriz de núcleo no gráfico de base 30a. As matrizes de base são obtidas com base na matriz de núcleo no gráfico de base 30a e no fator de elevação Z. Um elemento não nulo na linha i e na coluna j no gráfico de base 30a tem um valor de deslocamento PI J, na linha i e na coluna j na matriz de base, e um elemento nulo no gráfico de base 30a é representado por by -1 ou nulo na matriz de base.
[0100] Em uma implementação possível, se o fator de elevação Z for um dentre {16, 18, 20, 22, 24, 26, 28, 30}, uma parte que está em uma matriz de base do gráfico de base 30a e que corresponde à submatriz A e à submatriz B pode ser mostrada em uma matriz de base 30b-1 na figura 3b-1; ou se o fator de elevação Z for um dentre {32, 36, 40, 44, 48, 52, 56, 60}, uma parte que está em uma matriz de base do gráfico de base 30a e que corresponde à submatriz A e à submatriz B pode ser mostrada em uma matriz de base 30b-2 na figura 3b- 1; ou se o fator de elevação Z for um dentre {60, 64, 72, 80, 88, 96, 104, 112, 120}, uma parte que está em uma matriz de base do gráfico de base 30a e que corresponde à submatriz A e à submatriz B pode ser mostrada em uma matriz de base 30b-3 na figura 3b-1; ou se o fator de elevação Z for um dentre {128, 144, 160, 176, 192, 208, 224, 240}, uma parte que está em uma matriz de base do gráfico de base 30a e que corresponde à submatriz A e à submatriz B pode ser mostrada em uma matriz de base 30b-4 na figura 3b-1; ou se o fator de elevação Z for um dentre {256, 288, 320, 352, 384}, uma parte que está em uma matriz de base do gráfico de base 30a e que corresponde à submatriz A e à submatriz B pode ser mostrada em uma matriz de base 30b-5 na figura 3b-1.
[0101] Em uma outra implementação possível, um conjunto de fator de elevação pode ser {24, 26, 28, 30, 32, 36, 40, 44, 48, 52, 56, 60, 64, 72, 80, 88, 96, 104, 112, 120, 128, 144, 160, 176, 192, 208, 224, 240, 256, 288, 320, 352, 384}.
[0102] Se o fator de elevação Z for um dentre {24, 26, 28, 30}, uma parte que está em uma matriz de base do gráfico de base 30a e que corresponde à submatriz A e à submatriz B pode ser uma matriz de base 30b-6 mostrada na figura 3b-2; ou se o fator de elevação Z for um dentre {32, 36, 40, 44}, uma parte que está em uma matriz de base do gráfico de base 30a e que corresponde à submatriz A e à submatriz B pode ser uma matriz de base 30b-7 mostrada na figura 3b-2; ou se o fator de elevação Z for um dentre {48, 52, 56, 60}, uma parte que está em uma matriz de base do gráfico de base 30a e que corresponde à submatriz A e à submatriz B pode ser uma matriz de base 30b-8 mostrada na figura 3b-2; ou se o fator de elevação Z for um dentre {60, 64, 72, 80, 88, 96, 104, 112, 120}, uma parte que está em uma matriz de base do gráfico de base 30a e que corresponde à submatriz A e à submatriz B pode ser uma matriz de base 30b-3 mostrada na figura 3b-1; ou se o fator de elevação Z for um dentre {128, 144, 160, 176, 192, 208, 224, 240}, uma parte que está em uma matriz de base do gráfico de base 30a e que corresponde à submatriz A e à submatriz B pode ser uma matriz de base mostrada em 30b-4 na figura 3b-1; ou se o fator de elevação Z for um dentre {256, 288, 320, 352, 384}, uma parte que está em uma matriz de base do gráfico de base 30a e que corresponde à submatriz A e à submatriz B pode ser uma matriz de base 30b- 5 mostrada na figura 3b-1.
[0103] Com base nas implementações precedentes, em uma outra implementação possível, para melhoria adicional da performance, o gráfico de base pode corresponder a mais matrizes de base, e partes que estão nas matrizes de base do gráfico de base 30a e que correspondem à submatriz A e à submatriz B podem corresponder a diferentes matrizes de base. Por exemplo, se o fator de elevação Z for um dentre {24, 26, 28, 30}, uma parte que está na matriz de base do gráfico de base 30a e que corresponde à submatriz A e à submatriz B pode ser uma matriz de base 30b-6 mostrada na figura 3b-2; ou se o fator de elevação Z for um dentre {32, 36, 40, 44}, uma parte que está na matriz de base do gráfico de base 30a e que corresponde à submatriz A e à submatriz B pode ser uma matriz de base 30b-7 mostrada na figura 3b-2; ou se o fator de elevação Z for um dentre {48, 52, 56, 60}, uma parte que está na matriz de base do gráfico de base 30a e que corresponde à submatriz A e à submatriz B pode ser uma matriz de base 30b-8 mostrada na figura 3b-2; ou se o fator de elevação Z for um dentre {64, 72, 80, 88}, uma parte que está na matriz de base do gráfico de base 30a e que corresponde à submatriz A e à submatriz B pode ser uma matriz de base 30b-9 ou 30b-10 mostrada na figura 3b-2; ou se o fator de elevação Z for um dentre {96, 104, 112, 120}, uma parte que está na matriz de base do gráfico de base 30a e que corresponde à submatriz A e à submatriz B pode ser uma matriz de base 30b-3 mostrada na figura 3b-1; ou se o fator de elevação Z for um dentre {128, 144, 160, 176, 192, 208, 224, 240}, uma parte que está na matriz de base do gráfico de base 30a e que corresponde à submatriz A e à submatriz B pode ser uma matriz de base 30b-4 mostrada na figura 3b-1; ou se o fator de elevação Z for um dentre {256, 288, 320, 352, 384}, uma parte que está na matriz de base do gráfico de base 30a e que corresponde à submatriz A e à submatriz B pode ser uma matriz de base 30b-5 mostrada na figura 3b-1.
[0104] A figura 8b mostra uma pluralidade de exemplos de matriz de base da matriz de núcleo no gráfico de base 80a. As matrizes de base são obtidas com base na matriz de núcleo no gráfico de base 80a e no fator de elevação Z. Um elemento não nulo na linha i e na coluna j no gráfico de base 80a é um valor de deslocamento Pi,j na linha i e na coluna j na matriz de base, e um elemento nulo no gráfico de base 80a é representado por -1 ou nulo em uma matriz de deslocamento .
[0105] Em uma outra implementação possível, um conjunto de fator de elevação pode ser {24, 26, 28, 30, 32, 36, 40, 44, 48, 52, 56, 60, 64, 72, 80, 88, 96, 104, 112, 120, 128, 144, 160, 176, 192, 208, 224, 240, 256, 288, 320, 352, 384}.
[0106] Se o fator de elevação Z for um dentre {24, 26, 28, 30}, uma parte que está em uma matriz de base do gráfico de base 80a e que corresponde à submatriz A e à submatriz B pode ser uma matriz de base 80b-1 mostrada na figura 8b-1; ou se o fator de elevação Z for um dentre {32, 36, 40, 44}, uma parte que está em uma matriz de base do gráfico de base 80a e que corresponde à submatriz A e à submatriz B pode ser uma matriz de base 80b-2 mostrada na figura 8b-1; ou se o fator de elevação Z for um dentre {48, 52, 56, 60}, uma parte que está em uma matriz de base do gráfico de base 80a e que corresponde à submatriz A e à submatriz B pode ser uma matriz de base 80b-3 mostrada na figura 8b-1; ou se o fator de elevação Z for um dentre {60, 64, 72, 80, 88, 96, 104, 112, 120}, uma parte que está em uma matriz de base do gráfico de base 80a e que corresponde à submatriz A e à submatriz B pode ser uma matriz de base 80b-4 mostrada na figura 8b-1; ou se o fator de elevação Z for um dentre {128, 144, 160, 176, 192, 208, 224, 240}, uma parte que está em uma matriz de base do gráfico de base 80a e que corresponde à submatriz A e à submatriz B pode ser uma matriz de base 80b-5 mostrada na figura 8b-1; ou se o fator de elevação Z for um dentre {256, 288, 320, 352, 384}, uma parte que está em uma matriz de base do gráfico de base 80a e que corresponde à submatriz A e à submatriz B pode ser uma matriz de base 80b-6 mostrada na figura 8b-2.
[0107] Com base na implementação precedente, em uma outra implementação possível, para melhoria adicional da performance, o gráfico de base pode corresponder a mais matrizes de base, e partes que estão nas matrizes de base do gráfico de base 80a e que correspondem à submatriz A e à submatriz B podem corresponder a diferentes matrizes de base. Por exemplo, se o fator de elevação Z for um dentre {24, 26, 28, 30}, uma parte que está na matriz de base do gráfico de base 80a e que corresponde à submatriz A e à submatriz B pode ser uma matriz de base 80b-1 mostrada na figura 8b-1; ou se o fator de elevação Z for um dentre {32, 36, 40, 44}, uma parte que está na matriz de base do gráfico de base 80a e que corresponde à submatriz A e à submatriz B pode ser uma matriz de base 80b-2 mostrada na figura 8b-1; ou se o fator de elevação Z for um dentre {48, 52, 56, 60}, uma parte que está na matriz de base do gráfico de base 80a e que corresponde à submatriz A e à submatriz B pode ser uma matriz de base 80b-3 mostrada na figura 8b-1; ou se o fator de elevação Z for um dentre {64, 72, 80, 88}, uma parte que está na matriz de base do gráfico de base 80a e que corresponde à submatriz A e à submatriz B pode ser uma matriz de base 80b-7 ou 80b-8 mostrada na figura 8b-2; ou se o fator de elevação Z for um dentre {96, 104, 112, 120}, uma parte que está na matriz de base do gráfico de base 80a e que corresponde à submatriz A e à submatriz B pode ser uma matriz de base 80b-4 mostrada na figura 8b-1; ou se o fator de elevação Z for um dentre {128, 144, 160, 176, 192, 208, 224, 240}, uma parte que está na matriz de base do gráfico de base 80a e que corresponde à submatriz A e à submatriz B pode ser uma matriz de base 80b-5 mostrada na figura 8b-1; ou se o fator de elevação Z for um dentre {256, 288, 320, 352, 384}, uma parte que está na matriz de base do gráfico de base 80a e que corresponde à submatriz A e à submatriz B pode ser uma matriz de base 80b-6 mostrada na figura 8b-2.
[0108] Em uma outra implementação possível, uma parte que está em uma matriz de base do gráfico de base 80a e que corresponde à submatriz A e à submatriz B pode ser uma matriz de base 80b-9 mostrada na figura 8b-2. Devido ao fato de os fatores de elevação Z poderem ser classificados de uma pluralidade de maneiras, uma matriz de base usada para um grupo de fatores de elevação Z pode ser considerada em termos de performance de modo conforme.
[0109] 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 em fatores de elevação que atendem a 22*Z>K pode ser determinado a partir de uma pluralidade de fatores de elevação definidos no sistema e pode ser usado como o valor do fator de elevação da matriz. Ainda, uma matriz de base correspondente pode ser selecionada com base no fator de elevação determinado. A Tabela 2 mostra um exemplo de uma correspondência entre uma matriz de base e um fator de elevação. Uma pluralidade de fatores de elevação definidos no sistema é classificada em oito grupos, isto é, oito conjuntos, e os índices de conjunto são de 1 a 8. De forma correspondente, há oito matrizes de base de PCM (matriz de verificação de paridade, PCM) 1 a PCM 8.
Figure img0005
[0110] Por exemplo, a matriz de base 80b-9 pode ser usada como PCM 8, e, neste caso, quando o fator de elevação Z for qualquer um dentre 15, 30, 60, 120, ou 240, 80b-9 pode ser usada como uma matriz de base, e, de forma correspondente, a matriz de base é elevada pelo uso do fator de elevação Z para a obtenção de uma matriz de verificação de paridade de LDPC. Ainda, quando Z é maior do que ou igual a 24, a matriz de base 80b-9 tem uma performance relativamente alta.
[0111] Da mesma forma, as linhas podem ser comutadas com cada outra, e as colunas também podem ser comutadas com cada outra em uma matriz de base. Se pelo menos uma dentre uma permutação de linha ou uma permutação de coluna for executada em um gráfico de base, uma mesma permutação também será realizada em uma matriz de base correspondente.
[0112] Pode ser aprendido que, nas implementações precedentes, 80b-1 é uma matriz de base obtida pela execução de uma permutação de linha e uma permutação de coluna na matriz de base 30b-6, 80b-2 é uma matriz de base obtida pela execução de uma permutação de linha e uma permutação de coluna na matriz de base 30b-7, 80b-3 é uma matriz de base obtida pela execução de uma permutação de linha e uma permutação de coluna na matriz de base 30b-8, 80b-4 é uma matriz de base obtida pela execução de uma permutação de linha e uma permutação de coluna na matriz de base 30b-3, 80b-5 é uma matriz de base obtida pela execução de uma permutação de linha e uma permutação de coluna na matriz de base 30b-4, 80b-6 é uma matriz de base obtida pela execução de uma permutação de linha e uma permutação de coluna na matriz de base 30b-5, 80b-7 é uma matriz de base obtida pela execução de uma permutação de linha e uma permutação de coluna na matriz de base 30b-9, e 80b-8 é uma matriz de base obtida pela execução de uma permutação de linha e uma permutação de coluna na matriz de base 30b-10.
[0113] Certamente, pode ser entendido que a parte que está na matriz de base da matriz de LDPC e que corresponde à submatriz A e à submatriz B pode incluir linhas ou colunas em qualquer uma das matrizes de base 30b-1, 30b-2, 30b-3, 30b-4, 30b-5, 30b-6, 30b-7, 30b-8, 30b-9, ou 30b-10, isto é, uma matriz obtida pela execução de uma permutação de coluna, ou uma permutação de linha, ou uma permutação de linha e uma permutação de coluna são executadas em qualquer uma das matrizes de base 30b-1, 30b-2, 30b-3, 30b-4, 30b-5, 30b-6, 30b-7, 30b-8, 30b-9, ou 30b-10.
[0114] Para a obtenção de uma taxa de codificação flexível, uma submatriz C, uma submatriz D, e uma submatriz E de tamanhos correspondentes podem ser adicionadas em uma matriz de núcleo, para a obtenção de taxa de código diferentes. Devido ao fato de a submatriz C ser uma matriz toda de zeros, e a submatriz E ser uma matriz identidade, os tamanhos da submatriz C e da submatriz E são determinados com base em taxas de código, e estruturas da submatriz C e da submatriz E são relativamente fixas. Principalmente, a matriz de núcleo e a submatriz D afetam a performance de codificação e decodificação. Linhas e colunas são adicionadas com base na matriz de núcleo para a formação de C, D, e E correspondentes, de modo que taxas de código diferentes possam ser obtidas. Por exemplo, a matriz de núcleo no gráfico de base 30a ou a matriz de núcleo no gráfico de base 80a pode ser usada como a matriz de núcleo, e as submatrizes C, D, e E são adicionadas para atendimento a exigências de codificação ou decodificação para diferentes taxas de código.
[0115] Uma contagem de coluna da submatriz D é uma soma de contagens contagem de coluna de uma submatriz A e uma submatriz B, e uma contagem de linha da submatriz D está principalmente relacionada a uma taxa de código. O gráfico de base 30a é usado como um exemplo. Uma contagem de coluna mD da submatriz correspondente D é (nA + mA) =27 colunas. Se uma taxa de código suportada por um código de LDPC for Rm, os tamanhos de um gráfico de base ou uma matriz de base do código de LDPC serão m*n, onde n=nA/Rm+p, e m=n - nA = nA/Rm+p - nA. Se a taxa de código mínima Rm for 1/3, e uma quantidade p de colunas de bits de perfuração embutidos for 2, no exemplo do gráfico de base 30a, n=68, m=46, uma contagem de linha mD da submatriz D poderá ser de até m-mA=46-5=41, e 0<mo<41.
[0116] Para facilidade de descrição, uma matriz F de 41 linhas e 27 colunas pode ser definida. Neste caso, a submatriz D pode incluir mD linhas na matriz F, e a submatriz D, a submatriz A, a submatriz B, e a submatriz C e a submatriz E de tamanhos correspondentes formam um gráfico de base que é de um código de LDPC cuja taxa de código é 22/(25+mD). No gráfico de base 30a, mD=41, e a submatriz D tem 41 linhas e 27 colunas de forma correspondente. Para se ser específico, a submatriz D é a matriz F, e uma taxa de código correspondente suportada pelo código de LDPC é 22/66=1/3. Pode ser aprendido que uma matriz incluindo da linha 5 à linha 45 e da coluna 0 à coluna 26 no gráfico de base 30a é a matriz F.
[0117] Os pesos de linha da matriz F mostrados no gráfico de base 30a como um exemplo são sequencialmente 7, 7, 9, 8, 7, 7, 8, 6, 6, 5, 6, 5, 5, 6, 5, 5, 5, 5, 4, 4, 4, 5, 4, 5, 4, 4, 4, 4, 3, 4, 4, 4, 4, 3, 3, 4, 4, 3, 3, 3, e 4.
[0118] Devido ao fato de a submatriz E ser uma matriz identidade, os pesos de linhas no gráfico de base 30a são 8, 8, 10, 9, 8, 8, 9, 7, 7, 6, 7, 6, 6, 7, 6, 6, 6, 6, 5, 5, 5, 6, 5, 6, 5, 5, 5, 5, 4, 5, 5, 5, 5, 4, 4, 5, 5, 4, 4, 4, e 5.
[0119] No presente pedido, se houver no máximo um elemento não nulo em duas linhas adjacentes em uma mesma coluna em um gráfico de base, as duas linhas serão mutuamente ortogonais.
[0120] Em uma implementação possível, a matriz F pode ser uma matriz com uma estrutura quase ortogonal. Em um bloco de matriz incluindo outras colunas além das colunas de bits de perfuração embutidos na matriz F, há um máximo de apenas um elemento não nulo em quaisquer duas linhas adjacentes em uma mesma coluna, isto é, o bloco de matriz incluindo as outras colunas além das colunas de bits de perfuração embutidos na matriz F tem uma estrutura ortogonal. No exemplo do gráfico de base 30a, a matriz F é uma matriz incluindo da linha 5 à linha 45 e da coluna 0 à coluna 26, e a coluna 0 e a coluna 1 são colunas de bits de perfuração embutidos. Em um bloco de matriz incluindo da linha 5 à linha 45 e da coluna 2 à coluna 26, a linha 5 e a linha 6 são mutuamente ortogonais, a linha 6 e a linha 7 são mutuamente ortogonais, a linha 23 e a linha 24 são mutuamente ortogonais, a linha 32 e a linha 33 são mutuamente ortogonais, e assim por diante. Se mD=15, a submatriz D no gráfico de base do código de LDPC terá 15 linhas e 27 colunas. A submatriz D pode ser uma matriz incluindo da linha 0 à linha 14 na matriz F no gráfico de base 30a, isto é, da linha 5 à linha 19 no gráfico de base 30a, e da coluna 0 à coluna 26. Uma taxa de código correspondente suportada pelo código de LDPC é 22/40=0,55. Nesta taxa de código, o gráfico de base do código de LDPC corresponde a uma matriz incluindo da linha 0 à linha 19 e da coluna 0 à coluna 41 no gráfico de base 30a. A submatriz E é uma matriz identidade de 15 linhas e 15 colunas, e a submatriz C é uma matriz toda de zeros de cinco linhas e 15 colunas.
[0121] Se mD=19, a submatriz D no gráfico de base do código de LDPC terá 19 linhas e 27 colunas. A submatriz D pode ser uma matriz incluindo da linha 0 à linha 18 na matriz F no gráfico de base 30a, isto é, da linha 5 à linha 23 no gráfico de base 30a, e da coluna 0 à coluna 26. Uma taxa de código correspondente suportada pelo código de LDPC é 22/44=1/2. Nesta taxa de código, o gráfico de base do código de LDPC corresponde a uma matriz incluindo da linha 0 à linha 23 e da coluna 0 à coluna 41 no gráfico de base 30a. A submatriz E é uma matriz identidade de 19 linhas e 19 colunas, e a submatriz C é uma matriz toda de zeros de cinco linhas e 19 colunas.
[0122] O mesmo é verdadeiro se mD for um outro valor, e detalhes não são descritos.
[0123] Deve ser notado que as linhas podem ser comutadas com cada outra, e as colunas também podem ser comutadas com cada outra no gráfico de base e a matriz de base do código de LDPC. Por exemplo, a linha 17 e a linha 19 no gráfico de base 30a podem ser comutadas com cada outra, e a coluna 39 e a coluna 41 podem ser comutadas com cada outra, para se obter a matriz de gráfico de base 80a mostrada na figura 8a. Para um outro exemplo, a submatriz D inclui mD linhas na matriz F, uma permutação de linha pode não ser realizada entre as mD linhas, ou uma permutação de linha pode ser realizada entre uma ou mais das mD linhas; e a submatriz E ainda tem uma estrutura diagonal, e nenhuma permutação de linha ou permutação de coluna é realizada na submatriz E. Por exemplo, a linha 12 e a linha 14 na matriz F são comutadas com cada outra, a submatriz D inclui mD linhas na submatriz F, e a submatriz E ainda tem uma estrutura diagonal, para a obtenção do gráfico de base 80a. A matriz F é uma matriz quase ortogonal antes da permutação de linha, e a matriz F ainda é uma matriz quase ortogonal após a permutação. Por exemplo, no gráfico de base 80a, a matriz F é uma matriz incluindo da linha 5 à linha 45 e da coluna 0 à coluna 26, e a coluna 0 e a coluna 1 são colunas de bits de perfuração embutidos. Em um bloco de matriz incluindo da linha 5 à linha 45 e da coluna 2 à coluna 26, a linha 5 e a linha 6 são mutuamente ortogonais, a linha 29 e a linha 30 são mutuamente ortogonais, e assim por diante. Pode ser entendido que se o gráfico de base ou a matriz de base incluir a submatriz D, quando as colunas na matriz de núcleo são comutadas com cada outra, as colunas correspondentes na submatriz D também precisarão ser comutadas com cada outra. Por exemplo, se a coluna 23 e a coluna 25 na matriz de núcleo são comutadas com cada outra, a coluna 23 e a coluna 25 na submatriz D também precisarão ser comutadas com cada outra de forma correspondente. Apenas exemplos são providos aqui, e os exemplos não constituem uma limitação.
[0124] Nas modalidades do presente pedido, a submatriz D tem uma estrutura quase ortogonal, e, para se ser específico, duas linhas adjacentes em cada outra coluna além das colunas de bits de perfuração embutidos são ortogonais. Por exemplo, em submatrizes D providas no gráfico de base 30a, o gráfico de base 80a, um gráfico de base 170a conforme mostrado na figura 11a, e o gráfico de base conforme mostrado na figura 12 de acordo com as modalidades do presente pedido, a coluna 0 e a coluna 1 são colunas de bits de perfuração embutidos, e duas linhas adjacentes em cada uma das outras colunas são ortogonais. Deve ser notado que as colunas de bits de perfuração embutidos podem ser outras colunas. Isto não é limitado aqui.
[0125] Em uma outra implementação possível, a matriz F com a estrutura quase ortogonal também pode incluir pelo menos duas linhas ortogonais, e há um máximo de apenas um elemento não nulo em cada uma da coluna 0 à coluna 26 em duas linhas adjacentes dentre pelo menos duas linhas ortogonais. Por exemplo, se mD>30, uma taxa de código correspondente suportada pelo código de LDPC será menor do que 2/5, e uma submatriz incluindo as últimas 11 linhas na matriz F, isto é, da linha 30 à linha 40 na matriz F, e da coluna 0 à coluna 26 pode ser ortogonal. Para se ser específico, na matriz F, há um máximo de apenas um elemento não nulo em uma outra coluna além das colunas de bits de perfuração embutidos em duas linhas adjacentes dentre da linha 0 à linha 29, e há um máximo de apenas um elemento não nulo em cada uma da coluna 0 à coluna 26 em duas linhas adjacentes dentre da linha 30 à linha 40.
[0126] Para um outro exemplo, uma submatriz incluindo da linha 26 à linha 40 e da coluna 0 à coluna 26 na matriz F pode ser ortogonal. Para se ser específico, na matriz F, há um máximo de apenas um elemento não nulo em uma outra coluna além das colunas de bits de perfuração embutidos em duas linhas adjacentes dentre da linha 0 à linha 25, e há um máximo de apenas um elemento não nulo em cada uma da coluna 0 à coluna 26 em duas linhas adjacentes dentre da linha 26 à linha 40. No gráfico de base 170a mostrada na figura 11a, a matriz F é uma matriz incluindo da linha 5 à linha 45 e da coluna 0 à coluna 26 no gráfico de base, a matriz F tem uma estrutura quase ortogonal, da linha 26 à linha 40 na matriz F são ortogonais, e há um máximo de apenas um elemento não nulo em cada coluna em duas linhas adjacentes dentre da linha 26 à linha 40.
[0127] Uma matriz de núcleo no gráfico de base 170a é a mesma que a matriz de núcleo no gráfico de base 80a. Para a submatriz D em cada taxa de código, mudanças podem ser feitas em um ou dois elementos não nulos em cada linha, sem se afetar a performance da submatriz D.
[0128] Para um outro exemplo, se mD>20, uma submatriz incluindo as últimas 21 linhas na matriz F, isto é, da linha 25 à linha 45 na matriz F, e da coluna 0 à coluna 26 pode ser ortogonal. Para se ser específico, na matriz F, há um máximo de apenas um elemento não nulo em uma outra coluna além das colunas de bits de perfuração embutidos em duas linhas adjacentes dentre da linha 0 à linha 19, e há um máximo de apenas um elemento não nulo em cada uma da coluna 0 à coluna 26 em duas linhas adjacentes dentre da linha 20 à linha 40. Uma matriz de núcleo no gráfico de base 170a mostrada na figura 11a é a mesma que a matriz de núcleo no gráfico de base 80a. Da linha 5 à linha 45 atendem a uma estrutura quase ortogonal, ou da linha 5 à linha 25 atendem a uma estrutura quase ortogonal, e da linha 25 à linha 45 atendem a uma estrutura quase ortogonal.
[0129] Uma matriz de núcleo em um gráfico de base mostrada na figura 12 é a mesma que a matriz de núcleo no gráfico de base 80a, e da linha 5 à linha 45 na matriz de núcleo tem uma estrutura quase ortogonal.
[0130] Uma matriz de base 30c mostrada na figura 3c1 é um exemplo de matriz de base do gráfico de base 30a mostrada na figura 3a. Um elemento não nulo na linha i e na coluna j no gráfico de base 30a tem uma mesma posição na matriz de base 30c, e um valor do elemento não nulo é um valor de deslocamento PI J, . A submatriz D inclui mD linhas em uma matriz de deslocamento da matriz F. Para a matriz de base 30c mostrada na figura 3c-1, mD=41, e mD pode ser selecionado com base em taxas de código diferentes. Uma matriz de deslocamento correspondente à submatriz D é a matriz de deslocamento da matriz F. Aqui, a matriz de deslocamento da matriz F é obtida pela substituição de um elemento não nulo na linha i e na coluna j na matriz F por um valor de deslocamento PI J, , e um elemento nulo é representado por -1 ou nulo na matriz de deslocamento. Deve ser notado que apenas exemplos são providos aqui, o gráfico de base pode ser 80a, 180a, ou similares, e gráficos de base não são descritos um a um aqui.
[0131] Em uma implementação possível, a matriz de deslocamento da matriz F pode incluir linhas ou colunas em qualquer uma das matrizes 30c-1 a 30c-10 mostradas da figura 3c-2 à figura 3c-11. Por exemplo, se um fator de elevação Z for um dentre {16, 18, 20, 22, 24, 26, 28, 30}, a matriz de deslocamento da matriz F poderá ser a matriz 30c-1 mostrada na figura 3c-2 ou uma matriz obtida pela execução de uma permutação de linha/coluna na matriz 30c-1; ou se um fator de elevação Z for um dentre {32, 36, 40, 44, 48, 52, 56, 60}, a matriz de deslocamento da matriz F poderá ser a matriz 30c-2 mostrada na figura 3c-3 ou uma matriz obtida pela execução de uma permutação de linha/coluna na matriz 30c-2; ou se um fator de elevação Z for um dentre {60, 64, 72, 80, 88, 96, 104, 112, 120}, a matriz de deslocamento da matriz F poderá ser a matriz 30c-3 mostrada na figura 3c-4 ou uma matriz obtida pela execução de uma permutação de linha/coluna na matriz 30c-3; ou se um fator de elevação Z for um dentre {128, 144, 160, 176, 192, 208, 224, 240}, a matriz de deslocamento da matriz F poderá ser a matriz 30c- 4 mostrada na figura 3c-5 ou uma matriz obtida pela execução de uma permutação de linha/coluna na matriz 30c-4; ou se um fator de elevação Z for um dentre {256, 288, 320, 352, 384}, a matriz de deslocamento da matriz F poderá ser a matriz 30c-5 mostrada na figura 3c-6 ou uma matriz obtida pela execução de uma permutação de linha/coluna na matriz 30c-5.
[0132] Uma submatriz D na matriz de base 30c é substituída por mD linhas em cada matriz de deslocamento da matriz F, para a obtenção de matrizes de base que são de taxas de código diferentes e correspondem ao gráfico de base 30a. Se mD=41, uma matriz incluindo da linha 5 à linha 45 e da coluna 0 à coluna 26 na matriz de base 30c é substituída por cada matriz de deslocamento da matriz F, para a obtenção de cada matriz de base de 46 linhas e 68 colunas que corresponde ao gráfico de base 30a. Neste caso, uma taxa de código é 1/3.
[0133] Em uma outra implementação possível, um conjunto de fator de elevação pode ser {24, 26, 28, 30, 32, 36, 40, 44, 48, 52, 56, 60, 64, 72, 80, 88, 96, 104, 112, 120, 128, 144, 160, 176, 192, 208, 224, 240, 256, 288, 320, 352, 384}.
[0134] Se um fator de elevação Z for um dentre {24, 26, 28, 30}, a matriz de deslocamento da matriz F poderá ser a matriz 30c-6 mostrada na figura 3c-7 ou uma matriz obtida pela execução de uma permutação de linha/coluna na matriz 30c-6; ou se um fator de elevação Z for um dentre {32, 36, 40, 44}, a matriz de deslocamento da matriz F poderá ser a matriz 30c-7 mostrada na figura 3c-8 ou uma matriz obtida pela execução de uma permutação de linha/coluna na matriz 30c-7; ou se um fator de elevação Z for um dentre {48, 52, 56, 60}, a matriz de deslocamento da matriz F poderá ser a matriz 30c-8 mostrada na figura 3c-9 ou uma matriz obtida pela execução de uma permutação de linha/coluna na matriz 30c-8; ou se um fator de elevação Z for um dentre {60, 64, 72, 80, 88, 96, 104, 112, 120}, a matriz de deslocamento da matriz F poderá ser a matriz 30c-3 mostrada na figura 3c-4 ou uma matriz obtida pela execução de uma permutação de linha/coluna na matriz 30c-3; ou se um fator de elevação Z for um dentre {128, 144, 160, 176, 192, 208, 224, 240}, a matriz de deslocamento da matriz F poderá ser a matriz 30c- 4 mostrada na figura 3c-5 ou uma matriz obtida pela execução de uma permutação de linha/coluna na matriz 30c-4; ou se um fator de elevação Z for um dentre {256, 288, 320, 352, 384}, a matriz de deslocamento da matriz F poderá ser a matriz 30c-5 mostrada na figura 3c-6 ou uma matriz obtida pela execução de uma permutação de linha/coluna na matriz 30c-5.
[0135] Com base nas implementações precedentes, em uma outra implementação possível, há mais escolhas para a matriz de deslocamento da matriz F para melhoria adicional da performance. Por exemplo, a matriz de deslocamento da matriz F poderá ser a matriz 30c-9 mostrada na figura 3c-10 ou uma matriz obtida pela execução de uma permutação de linha/coluna na matriz 30c-9, ou a matriz 30c-10 mostrada na figura 3c-11 ou uma matriz obtida pela execução de uma permutação de linha/coluna na matriz 30c-10. Por exemplo, um fator de elevação pode ser projetado conforme se segue: se o fator de elevação Z for um dentre {24, 26, 28, 30}, a matriz de deslocamento da matriz F poderá ser a matriz 30c- 6 mostrada na figura 3c-7 ou uma matriz obtida pela execução de uma permutação de linha/coluna na matriz 30c-6; ou se o fator de elevação Z for um dentre {32, 36, 40, 44}, a matriz de deslocamento da matriz F poderá ser a matriz 30c-7 mostrada na figura 3c-8 ou uma matriz obtida pela execução de uma permutação de linha/coluna na matriz; ou se o fator de elevação Z for um dentre {48, 52, 56, 60}, a matriz de deslocamento da matriz F poderá ser a matriz 30c-8 mostrada na figura 3c-9 ou uma matriz obtida pela execução de uma permutação de linha/coluna na matriz 30c-8; ou se o fator de elevação Z for um dentre {64, 72, 80, 88}, a matriz de deslocamento da matriz F poderá ser a matriz 30c-9 mostrada na figura 3c-10 ou uma matriz obtida pela execução de uma permutação de linha/coluna na matriz 30c-9, ou a matriz 30c- 10 mostrada na figura 3c-11 ou uma matriz obtida pela execução de uma permutação de linha/coluna na matriz 30c- 10; ou se o fator de elevação Z for um dentre {96, 104, 112, 120}, a matriz de deslocamento da matriz F poderá ser a matriz 30c-3 mostrada na figura 3c-4 ou uma matriz obtida pela execução de uma permutação de linha/coluna na matriz 30c-3; ou se o fator de elevação Z for um dentre {128, 144, 160, 176, 192, 208, 224, 240}, a matriz de deslocamento da matriz F poderá ser a matriz 30c-4 mostrada na figura 3c-5 ou uma matriz obtida pela execução de uma permutação de linha/coluna na matriz 30c-4; ou se o fator de elevação Z for um dentre {256, 288, 320, 352, 384}, a matriz de deslocamento da matriz F poderá ser a matriz 30c-5 mostrada na figura 3c-6 ou uma matriz obtida pela execução de uma permutação de linha/coluna na matriz 30c-5.
[0136] Em uma outra implementação possível, a matriz de deslocamento da matriz F pode incluir linhas ou colunas em qualquer uma das matrizes 80c-1 a 80c-9 mostrada das figuras 8c-2 à figura 8c-10. Por exemplo, um conjunto de fator de elevação pode ser {24, 26, 28, 30, 32, 36, 40, 44, 48, 52, 56, 60, 64, 72, 80, 88, 96, 104, 112, 120, 128, 144, 160, 176, 192, 208, 224, 240, 256, 288, 320, 352, 384}.
[0137] Se um fator de elevação Z for um dentre {24, 26, 28, 30}, a matriz de deslocamento da matriz F poderá ser a matriz 80c-1 mostrada na figura 8c-2 ou uma matriz obtida pela execução de uma permutação de linha/coluna na matriz 80c-1; ou se um fator de elevação Z for um dentre {32, 36, 40, 44}, a matriz de deslocamento da matriz F poderá ser a matriz 80c-2 mostrada na figura 8c-3 ou uma matriz obtida pela execução de uma permutação de linha/coluna na matriz 80c-2; ou se um fator de elevação Z for um dentre {48, 52, 56, 60}, a matriz de deslocamento da matriz F poderá ser a matriz 80c-3 mostrada na figura 8c-4 ou uma matriz obtida pela execução de uma permutação de linha/coluna na matriz 80c-3; ou se um fator de elevação Z for um dentre {60, 64, 72, 80, 88, 96, 104, 112, 120}, a matriz de deslocamento da matriz F poderá ser a matriz 80c-4 mostrada na figura 8c-5 ou uma matriz obtida pela execução de uma permutação de linha/coluna na matriz 80c-4; ou se um fator de elevação Z for um dentre {128, 144, 160, 176, 192, 208, 224, 240}, a matriz de deslocamento da matriz F poderá ser a matriz 80c- 5 mostrada na figura 8c-6 ou uma matriz obtida pela execução de uma permutação de linha/coluna na matriz 80c-5; ou se um fator de elevação Z for um dentre {256, 288, 320, 352, 384}, a matriz de deslocamento da matriz F poderá ser a matriz 80c-6 mostrada na figura 8c-7 ou uma matriz obtida pela execução de uma permutação de linha/coluna na matriz 80c-6.
[0138] Com base nas implementações precedentes, em uma outra implementação possível, para melhoria adicional da performance, os fatores de elevação Z podem ser projetados a uma granularidade mais fina, de modo que haja mais escolhas para a matriz de deslocamento da matriz F. Por exemplo, a matriz de deslocamento da matriz F poderá ser a matriz 80c7 ou uma matriz obtida pela execução de uma permutação de linha/coluna na matriz, ou a matriz 80c-8 ou uma matriz obtida pela execução de uma permutação de linha/coluna na matriz. Por exemplo, um fator de elevação pode ser projetado conforme se segue: se o fator de elevação Z for um dentre {24, 26, 28, 30}, a matriz de deslocamento da matriz F poderá ser a matriz 80c-1 mostrada na figura 8c-2 ou uma matriz obtida pela execução de uma permutação de linha/coluna na matriz 80c-1; ou se o fator de elevação Z for um dentre {32, 36, 40, 44}, a matriz de deslocamento da matriz F poderá ser a matriz 80c-2 mostrada na figura 8c-3 ou uma matriz obtida pela execução de uma permutação de linha/coluna na matriz 80c-2; ou se o fator de elevação Z for um dentre {48, 52, 56, 60}, a matriz de deslocamento da matriz F poderá ser a matriz 80c-3 mostrada na figura 8c-4 ou uma matriz obtida pela execução de uma permutação de linha/coluna na matriz 80c-3; ou se o fator de elevação Z for um dentre {64, 72, 80, 88}, a matriz de deslocamento da matriz F poderá ser a matriz 80c-7 mostrada na figura 8c-8 ou uma matriz obtida pela execução de uma permutação de linha/coluna na matriz 80c-7, ou a matriz 80c-8 mostrada na figura 8c-9 ou uma matriz obtida pela execução de uma permutação de linha/coluna na matriz 80c-8; ou se o fator de elevação Z for um dentre {96, 104, 112, 120}, a matriz de deslocamento da matriz F poderá ser a matriz 80c-4 mostrada na figura 8c-5 ou uma matriz obtida pela execução de uma permutação de linha/coluna na matriz 80c-4; ou se o fator de elevação Z for um dentre {128, 144, 160, 176, 192, 208, 224, 240}, a matriz de deslocamento da matriz F poderá ser a matriz 80c-5 mostrada na figura 8c- 6 ou uma matriz obtida pela execução de uma permutação de linha/coluna na matriz 80c-5; ou se o fator de elevação Z for um dentre {256, 288, 320, 352, 384}, a matriz de deslocamento da matriz F poderá ser a matriz 80c-6 mostrada na figura 8c-7 ou uma matriz obtida pela execução de uma permutação de linha/coluna na matriz 80c-6.
[0139] Em uma outra implementação possível, se o fator de elevação Z for qualquer um dentre 15, 30, 60, 120, ou 240, a matriz de deslocamento da matriz F poderá ser a matriz 80c-9 mostrada na figura 8c-10 ou uma matriz obtida pela execução de uma permutação de linha/coluna na matriz 80c-9. Ainda, quando Z é maior do que ou igual a 24, a performance da matriz de deslocamento de uma matriz F é relativamente mais alta quando a matriz de deslocamento é 80c-9.
[0140] Da mesma forma, linhas podem ser comutadas com cada outra, e as colunas também podem ser comutadas com cada outra em uma matriz de base. Se pelo menos uma dentre uma permutação de linha ou uma permutação de coluna for executada em um gráfico de base, uma mesma permutação também será realizada em uma matriz de base correspondente.
[0141] Pode ser aprendido que, nas implementações precedentes, 80c-1 é uma matriz de base obtida pela execução de uma permutação de linha na matriz de base 30c-6, 80c-2 é uma matriz de base obtida pela execução de uma permutação de linha na matriz de base 30c-7, 80c-3 é uma matriz de base obtida pela execução de uma permutação de linha na matriz de base 30c-8, 80c-4 é uma matriz de base obtida pela execução de uma permutação de linha na matriz de base 30c-3, 80c-5 é uma matriz de base obtida pela execução de uma permutação de linha na matriz de base 30c-4, 80c-6 é uma matriz de base obtida pela execução de uma permutação de linha na matriz de base 30c-5, 80c-7 é uma matriz de base obtida pela execução de uma permutação de linha na matriz de base 30c-9, e 80c-8 é uma matriz de base obtida pela execução de uma permutação de linha na matriz de base 30c-10.
[0142] Uma submatriz D em uma matriz de base 80c é substituída por mD linhas em cada matriz de deslocamento da matriz F, para a obtenção de matrizes de base que são de taxas de código diferentes e correspondem ao gráfico de base 80a. Se mD=41, uma matriz incluindo da linha 5 à linha 45 e da coluna 0 à coluna 26 na matriz de base 80c é substituída por cada matriz de deslocamento da matriz F, para a obtenção de cada matriz de base de 46 linhas e 68 colunas que corresponde ao gráfico de base 80a. Neste caso, uma taxa de código é 1/3.
[0143] Deve ser notado que devido ao fato de as linhas poderem ser comutadas com cada outra e as colunas poderem ser comutadas com cada outra em um gráfico de base e uma matriz de base, em uma implementação possível, a matriz de núcleo no gráfico de base 30a pode ser usada como uma matriz de núcleo no gráfico de base, isto é, uma parte incluindo uma submatriz A e uma submatriz B, e uma submatriz D no gráfico de base pode incluir mD linhas em uma matriz incluindo da linha 5 à linha 45 e da coluna 0 à coluna 26 no gráfico de base 30a. De forma correspondente, uma matriz de núcleo na matriz de base pode ser uma dentre 30b-3, 30b-4, 30b-5, 30b-6, 30b-7, 30b-8, 30b-9, ou 30b-10, e uma submatriz D correspondente pode incluir mD linhas em qualquer uma das matrizes a seguir: 30c-3, 30c-4, 30c-5, 30c-6, 30c-7, 30c8, 30c-9, ou 30c-10. A matriz de núcleo e a submatriz D correspondente podem ser selecionadas com base em um fator de elevação.
[0144] Em uma outra implementação possível, a matriz de núcleo no gráfico de base 80a pode ser usada como uma matriz de núcleo em um gráfico de base, isto é, uma parte incluindo uma submatriz A e uma submatriz B, e uma submatriz D no gráfico de base pode incluir mD linhas em uma matriz incluindo da linha 5 à linha 45 e da coluna 0 à coluna 26 no gráfico de base 80a. De forma correspondente, uma matriz de núcleo em uma matriz de base pode ser uma dentre 80b-1, 80b2, 80b-3, 80b-4, 80b-5, 80b-6, 80-7, 80b-8, ou 80b-9, e uma submatriz D correspondente pode incluir mD linhas em qualquer uma das matrizes a seguir: 80c-1, 80c-2, 80c-3, 80c-4, 80c5, 80c-6, 80c-7, 80c-8, ou 80c-9. A matriz de núcleo e a submatriz D correspondente podem ser selecionadas com base em um fator de elevação.
[0145] Em uma outra implementação possível, a matriz de núcleo no gráfico de base 80a pode ser usada como uma matriz de núcleo em um gráfico de base, isto é, uma parte incluindo uma submatriz A e uma submatriz B, e uma submatriz D no gráfico de base pode incluir mD linhas em uma matriz incluindo da linha 5 à linha 45 e da coluna 0 à coluna 26 no gráfico de base 170a, conforme mostrado no gráfico de base 170a. De forma correspondente, uma matriz de base pode incluir mD linhas da linha 5 à linha 45 e da linha 0 à linha 4 em uma matriz de base 170b mostrada na figura 11b.
[0146] Em uma outra implementação possível, a matriz de núcleo no gráfico de base 80a pode ser usada como uma matriz de núcleo em um gráfico de base, e uma submatriz D no gráfico de base pode incluir mD linhas em uma matriz incluindo da linha 5 à linha 45 e da coluna 0 à coluna 26 no gráfico de base mostrada na figura 12.
[0147] Pode ser entendido que, neste pedido, a estrutura quase ortogonal não está limitada a duas linhas adjacentes, uma matriz que atende à estrutura quase ortogonal pode ser projetada para incluir uma pluralidade de grupos, cada grupo inclui pelo menos duas linhas, por exemplo, três linhas ou quatro linhas, e as linhas incluídas em cada grupo são quase ortogonais.
[0148] Nos diagramas de curva de performance mostrados na figura 4 e na figura 5, LDPC 1 indica que o código de LDPC é obtido por uma codificação com base em matrizes de base correspondentes ao gráfico de base 30a, e LDPC 2 indica um código de LDPC comum para comparação. Uma coordenada horizontal indica um comprimento de uma sequência de bit de informação, e uma unidade do comprimento é bit. Uma coordenada vertical é uma relação de sinal para ruído de símbolo (Es/N0). As curvas de performance indicam uma performance de uma relação de sinal para ruído para LDPC 1 e LDPC 2 nos casos de comprimentos de bit de sequência de informação diferentes quando as BLERs forem respectivamente 0,01 e 0,0001. Uma taxa de código R é 8/9 na figura 4, e uma taxa de código R é 1/3 na figura 5. Pode ser aprendido que a uma mesma BLER, uma relação de sinal para ruído de símbolo de LDPC 1 é menor do que aquela de LDPC 2 nos casos de comprimentos de sequência de bit de informação diferentes, isto é, uma performance de LDPC 1 é melhor do que aquela de LDPC 2.
[0149] Em um método de codificação provido em uma modalidade do presente pedido, um codificador codifica uma sequência de entrada pelo uso de uma matriz de LDPC. Um gráfico de base da matriz de LDPC pode ser qualquer gráfico de base nos exemplos precedentes, e uma matriz de base HB da matriz de LDPC pode ser qualquer matriz de base nos exemplos precedentes. A sequência de entrada do codificador pode ser uma sequência de bit de informação, ou pode ser uma sequência de bit de informação obtida após pelo menos um dos processamentos a seguir: anexação de CRC ou inserção de bits de preenchimento.
[0150] O método ainda inclui: a determinação de 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. Às vezes, a sequência de bit de informação também é referida como um bloco de código (code block), e pode ser obtida pela execução de uma divisão de bloco de código em um bloco de transporte. Se um comprimento da sequência de bit de informação for Kc, um valor mínimo em fatores de elevação que atendem a 22*Z>Kc poderá ser determinado a partir de uma pluralidade de fatores de elevação definidos no sistema. Por exemplo, se Kc=3800, e os fatores de elevação Z definidos no sistema incluírem 16, 18, 20, 22, 24, 26, 28, 30, 32, 36, 40, 44, 48, 52, 56, 60, 64, 72, 80, 88, 96, 104, 112, 120, 128, 144, 160, 176, 192, 208, 224, 240, 256, 288, 320, 352, e 384, poderá ser determinado que Z é 176. Deve ser notado que apenas exemplos são providos aqui, e os exemplos não constituem uma limitação.
[0151] Em um projeto possível, um preenchimento pode ser realizado na sequência de bit de informação para a obtenção da sequência de entrada, de modo que o comprimento da sequência de entrada seja K=Kb^Z, isto é, Z=K/Kb. Por exemplo, os valores de bits de preenchimento podem ser nulos, 0, ou outros valores acordados no sistema. Após a codificação, estes bits de preenchimento podem ser identificados e não são enviados, o que não constitui uma limitação no presente pedido.
[0152] Que o codificador codificando a sequência de entrada pelo uso da matriz de LDPC H pode ser a codificação da sequência de entrada pelo uso da matriz de LDPC correspondente ao fator de elevação Z.
[0153] Em uma implementação possível, a 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 o codificador codificar a sequência de entrada c é d ={d0, d1, d2, ., dN-1}. K é um inteiro maior do que 0, e K pode ser um inteiro múltiplo do fator de elevação Z.
[0154] 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 paridade w, K0 é um inteiro maior do que 0 e menor do que ou igual a K, um comprimento da sequência de paridade w é
Figure img0006
Figure img0007
[0155] A sequência de paridade w e a sequência de entrada c atendem à Fórmula (1):
Figure img0008
, onde
Figure img0009
é um vetor transposto de um vetor incluindo bits na sequência de entrada, wT=[w0, wi, w2, ., wN-Ko-i]T, wT é um vetor transposto de um vetor incluindo bits na sequência de paridade, 0T é um vetor coluna, e os valores de todos os elementos de 0T são 0.
[0156] H é uma matriz de LDPC obtida de acordo com qualquer gráfico de base descrito nas modalidades precedentes, e um gráfico de base de H tem m linhas e n colunas, e pode ser qualquer gráfico de base descrito nas modalidades precedentes, por exemplo, 30a, 80a, 170a, e o gráfico de base mostrado na figura 12.
[0157] Em um projeto, o gráfico de base de H inclui p colunas de bits de perfuração embutidos, p é um inteiro maior do que ou igual a 0, bits de informação correspondentes às p colunas de bits de perfuração embutidos não são extraídos, e a sequência de saída não inclui os bits de informação correspondentes às p colunas de bits de perfuração embutidos. Neste caso, Ko = K - p'Z. Por exemplo, se p=2, Ko = K - 2'Z, e o comprimento da sequência de paridade w for N + 2'Z - K. Se as p colunas de bits de perfuração embutidos participarem na codificação, Ko = K, e o comprimento da sequência de paridade w será N - K.
[0158] De forma correspondente, H pode ter M linhas e (N + p'Z) colunas ou M linhas e N colunas, o gráfico de base de H tem M/Z linhas e
Figure img0010
colunas. Z
[0159] O gráfico de base da matriz de LDPC H pode ser representado por
Figure img0011
representa uma matriz toda de zeros de tamanho mc xnc, e nNXc representa uma matriz identidade de tamanho nc *nc.
[0160] Em um projeto possível, se M NCX C for a submatriz C no gráfico de base nas modalidades precedentes, e N NCX C for a submatriz E nas modalidades precedentes,
Figure img0012
onde A, B, e D são respectivamente a submatriz D A, a submatriz B, e a submatriz D no gráfico de base nas modalidades precedentes, mc=5, 0^nc^41, uma contagem de linha de HBG será menor do que ou igual a 46 e maior do que ou igual a 5, e uma contagem de coluna de HBG será igual a 27.
[0161] Em um outro projeto possível, devido ao fato de a coluna 26 ser uma coluna de matriz de peso 1, e um elemento não nulo na coluna 26 estar localizado na linha 5, 0 m nc x c também pode incluir as quatro primeiras linhas na coluna 26 no gráfico de base nas modalidades precedentes e as quatro primeiras linhas na submatriz C nas modalidades precedentes, e IN NCx C também pode incluir a submatriz E no gráfico de base nas modalidades precedentes, da linha 5 à linha 46 na coluna 26, e uma última linha na submatriz C, onde mc=4, 0<nc^42, HBG é obtida após uma última coluna ser removida de uma parte incluindo a submatriz A, a submatriz B, e a submatriz D no gráfico de base nas modalidades precedentes, uma contagem de linha de HBG é menor do que ou igual a 46 e maior do que ou igual a 5, e uma contagem de coluna de HBG é igual a 26. Opcionalmente, se uma taxa de código precisar ser adicionalmente aumentada, HBG poderá ter quatro linhas: da linha 0 à linha 3.
[0162] De forma correspondente, a matriz de LDPC H pode ser representada por H=[H1 H2].
[0163] H1 pode ser obtida após cada elemento nulo em HBG ser substituído por uma matriz toda de zeros de tamanho Z*Z e cada elemento não nulo é substituído por uma matriz de permutação circular hi,j de tamanho Z*Z. A matriz de permutação circular hi,j é obtida pelo deslocamento de forma circular da matriz identidade de tamanho Z*Z para a direita Pi,j vezes, e, às vezes, é representada por I(Pi,j), onde i é um índice de linha e j é um índice de coluna. Em um projeto possível, Pi,j = mod(Vi,j, Z), e Vi,j é um elemento não nulo na linha i e na coluna j em uma matriz de base correspondente a um índice regulado de fator de elevação correspondente a Z.
[0164] H2 pode ser obtida após cada elemento nulo em HBG,EXT ser substituído por uma matriz toda de zeros Z*Z e cada elemento não nulo é substituído por uma matriz identidade Z*Z.
[0165] O codificador pode executar uma codificação e extração de uma pluralidade de maneiras. Qualquer um dentre o gráfico de base mostrado na figura 12, o gráfico de base 80a, ou o gráfico de base 170a descrito na modalidade precedente é usado como um exemplo para a descrição abaixo. O gráfico de base tem um máximo de 46 linhas e um máximo de 68 colunas e inclui duas colunas de bits de perfuração embutidos. Para facilidade de descrição, um gráfico de base que tem a maioria das linhas e a maioria das colunas às vezes é referido como um gráfico de base completo no presente pedido. Maneira 1
[0166] Uma codificação é realizada com base no gráfico de base completo, de modo que tantos bits de paridade quanto possível possam ser obtidos. Neste caso, m=46, e n=68, os quais correspondem da linha 0 à linha 45 e da coluna 0 à coluna 67 em qualquer um dos gráficos de base precedentes.
[0167] De forma correspondente, M=46^Z para a matriz de LDPC H. Se a sequência de saída incluir os bits de informação correspondentes às colunas de bits de perfuração embutidos, N=68^Z; ou se a sequência de saída não incluir os 2*Z bits de informação correspondentes às colunas de bits de perfuração embutidos, N=66^Z.
[0168] Durante um processamento subsequente, um ou mais bits de informação e um ou mais bits de paridade que precisam ser enviados podem ser determinados a partir da sequência de saída gerada pelo codificador. Maneira 2
[0169] Uma codificação é realizada com base em algumas linhas e algumas colunas no gráfico de base completo. Uma linha e uma coluna podem ser selecionadas, com base em uma taxa de código que precisa ser enviada, ou uma quantidade de bits de informação e uma quantidade de bits de paridade, ou similares, a partir do gráfico de base completo para codificação.
[0170] Por exemplo, a taxa de código é 8/9, m=5, e n=27, isto é, uma codificação é realizada com base em da linha 0 à linha 4 e da coluna 0 à coluna 26 em qualquer um dos gráficos de base precedentes.
[0171] De forma correspondente, M=5 • Z para a matriz de LDPC H. Se a sequência de saída incluir os bits de informação correspondentes às colunas de bits de perfuração embutidos, N=27^Z; ou se a sequência de saída não incluir os bits de informação correspondentes às colunas de bits de perfuração embutidos, N=25^Z.
[0172] Para um outro exemplo, a taxa de código é 1/3, m=46, e n=68.
[0173] Pode ser aprendido que, nesta maneira, um tamanho do gráfico de base de H atende à 5 < m < 46 e 27 < n < 68, e, de forma correspondente, para a matriz de LDPC H, 5'Z < M < 46^Z e 27^Z < N < 68-Z.
[0174] Em um projeto possível, a 26a coluna em qualquer gráfico de base descrito acima é uma coluna de matriz de peso 1, e uma perfuração pode ser executada na coluna de matriz de peso 1 na matriz de núcleo, de modo que a matriz de núcleo seja diminuída em uma linha e uma coluna de modo conforme, e m=4 e n=26, isto é, uma codificação é executada com base em da linha 0 à linha 3 e da coluna 0 à coluna 25 em qualquer gráfico de base descrito acima. Uma taxa de código mais alta pode ser obtida desta maneira. Portanto, um tamanho do gráfico de base atende à 4 < m < 46 e 26 < n < 68, e, de forma correspondente, para a matriz de LDPC H, 4*Z < M < 46 •Z e 26 •Z < N < 68-Z.
[0175] Nas implementações precedentes, a matriz de base HB da matriz de LDPC H pode ser qualquer matriz de base descrita nas modalidades precedentes ou uma matriz de base obtida pela execução de uma permutação de linha ou uma permutação de coluna, o uma permutação de linha e uma permutação de coluna em qualquer matriz de base descrita acima. Um gráfico de base da matriz de base HB inclui pelo menos uma submatriz A e uma submatriz B, e ainda pode incluir uma submatriz C, uma submatriz D, e uma submatriz E. Para as submatrizes, faça uma referência às descrições nas modalidades precedentes, e detalhes não são descritos aqui de novo. Certamente, a matriz de base HB pode ser uma outra matriz de base cujo gráfico de base se conforme ao gráfico de base mostrado nas modalidades precedentes, e a matriz de base HB não é limitada a isso no presente pedido.
[0176] Em uma implementação possível, uma matriz de base HB de um código de LDPC pode ser armazenada em uma memória, e o codificador obtém uma matriz de LDPC correspondente a um fator de elevação Z, de modo a codificar a sequência de entrada.
[0177] Em uma outra implementação possível, devido ao fato de haver uma pluralidade de matrizes de base HB de um código de LDPC, e um espaço de armazenamento relativamente grande ser ocupado se as matrizes de base HB forem armazenadas com base em uma estrutura de matriz, um gráfico de base do código de LDPC pode ser armazenado em uma memória, os valores de elementos não nulos em cada matriz de base podem ser armazenados por linha ou por coluna, e, então, uma matriz de LDPC pode ser obtida com base no gráfico de base e um valor de deslocamento em uma matriz de base correspondente ao fator de elevação Z.
[0178] O gráfico de base pode indicar uma posição do elemento não nulo em cada matriz de base. Em uma outra implementação possível, o armazenamento de um gráfico de base pode ser o armazenamento de uma posição de um elemento não nulo no gráfico de base. A posição do elemento não nulo pode ser indicado por uma linha e uma coluna onde o elemento não nulo está localizado, por exemplo, uma posição de uma coluna na qual um elemento não nulo em cada linha está localizado, ou uma posição de uma linha na qual um elemento não nulo em cada coluna está localizado. Em uma outra implementação possível, o armazenamento de um gráfico de base pode ser o armazenamento de uma posição de um elemento nulo no gráfico de base. Da mesma forma, a posição do elemento nulo também pode ser indicada por uma linha e uma coluna onde o elemento nulo está localizado, por exemplo, uma posição de uma coluna na qual um elemento nulo em cada linha está localizado, ou uma posição de uma linha na qual um elemento nulo em cada coluna está localizado, e uma posição correspondente de um elemento não nulo pode ser obtida pela exclusão da posição do elemento nulo. Deve ser notado que apenas exemplos são providos aqui, e os exemplos não constituem uma limitação no presente pedido.
[0179] Em um projeto, os parâmetros relacionados a um gráfico de base ou uma matriz de base podem ser expressos em uma tabela. Por exemplo, os parâmetros relacionados ou tabelas podem ser armazenados em uma ou mais memórias. Os parâmetros relacionados, tal como um índice de linha de um gráfico de base ou uma matriz de base, ou uma coluna na qual um elemento não nulo está localizado, são lidos a partir da memória, de modo a se obter o gráfico de base ou a matriz de base. Opcionalmente, um peso de cada linha e um valor de deslocamento de um elemento não nulo em cada linha podem ser adicionalmente armazenados.
[0180] A figura 11a é usada como um exemplo para descrição abaixo. Para um outro gráfico de base ou uma outra matriz de base provido neste pedido, faça uma referência a projetos similares.
[0181] Por exemplo, a matriz de núcleo no gráfico de base 80a, o gráfico de base 170a, ou o gráfico de base mostrada na figura 12 pode ser expresso na Tabela 3.
Figure img0013
Figure img0014
[0182] Por exemplo, um gráfico de base de uma matriz de LDPC pode incluir uma parte de matriz de núcleo mostrada na Tabela 3. Uma outra parte do gráfico de base da matriz de LDPC pode ser mostrada no gráfico de base 80a, no gráfico de base 170a, ou no gráfico de base mostrada na figura 12, ou uma outra estrutura descrita neste pedido, ou uma outra estrutura de matriz, e isto não é limitado neste pedido.
[0183] O gráfico de base 170a é usado como um outro exemplo. Os parâmetros relacionados às 24 primeiras linhas no gráfico de base podem ser mostrados na Tabela 4. Os parâmetros relacionados a outras linhas são similares e não são listados na Tabela 4, devido a uma limitação de espaço. Tabela 4
Figure img0015
Figure img0016
[0184] Deve ser notado que apenas exemplos são providos aqui, e os exemplos não constituem uma limitação. Os parâmetros relacionados de um outro gráfico de base ou uma outra matriz de base provido neste pedido também podem ser expressos em uma tabela similar. Pode ser entendido que o gráfico de base 170a, a Tabela 3, e a Tabela 4 são pretendidos para ajudarem no entendimento do projeto do gráfico de base e da matriz de base. Uma forma de representação não é limitada apenas ao gráfico de base 170a ou a uma forma de representação na Tabela 3 ou na Tabela 4. Uma outra variação possível pode ser incluída.
[0185] Em uma implementação, a índice de coluna, um peso de coluna e uma linha na qual um elemento não nulo está localizado ou uma linha na qual um elemento nulo está localizado, por exemplo, uma forma na Tabela 5 pode ser usada. Tabela 5
Figure img0017
Figure img0018
[0186] Em uma implementação, o parâmetro “peso de linha” ou “peso de coluna” na Tabela 3, na Tabela 4, ou na Tabela 5 pode ser omitido. Uma quantidade de elementos não nulos em uma linha ou uma coluna pode ser aprendida a partir de uma coluna ou uma linha na qual um elemento não nulo está localizado na linha ou na coluna. Portanto, um peso de linha ou um peso de coluna também é aprendido.
[0187] Em uma implementação, os valores de parâmetro em “índices de coluna de elementos não nulos em uma linha” na Tabela 3 ou na Tabela 4 ou valores de parâmetro em “índices de linha de elementos não nulos na coluna” na Tabela 5 podem não ser classificados em ordem ascendente, desde que uma coluna na qual um elemento não nulo está localizado ou uma linha na qual um elemento não nulo está localizado possa ser recuperado nos valores de parâmetro.
[0188] Em uma implementação, a Tabela 3 ou a Tabela 4 ainda pode incluir uma coluna de “valores de deslocamento de elementos não nulos”, e valores de parâmetro na coluna de “valores de deslocamento de elementos não nulos” estão em uma correspondência de um para um com valores de parâmetro em “índices de coluna de elementos não nulos em linha”. A Tabela 5 ainda pode incluir uma coluna de “valores de deslocamento de elementos não nulos”, e valores de parâmetro na coluna de “valores de deslocamento de elementos não nulos” estão em uma correspondência de um para um com os valores de parâmetro em “índices de linha de elementos não nulos em coluna”.
[0189] Em um projeto, para se economizar espaço de armazenamento, uma posição de um elemento não nulo em uma parte com uma estrutura relativamente fixa em um gráfico de base pode ser calculada com base em um índice de linha ou um índice de coluna sem a posição ser armazenada. Por exemplo, uma submatriz E é uma matriz diagonal, e inclui o(s) elemento(s) não nulo(s) apenas em uma diagonal da matriz. Uma posição de uma coluna na qual um elemento não nulo está localizado na submatriz E pode ser calculada com base em um índice de linha, ou uma posição de uma linha na qual um elemento não nulo está localizado pode ser calculada com base em um índice de coluna. Em um exemplo de qualquer um dentre gráfico de base 80a, o gráfico de base 170a, ou o gráfico de base na figura 12, um índice de coluna de um elemento não nulo na linha me é me+Kb, onde me>4, e Kb=22. Por exemplo, uma coluna na qual um elemento não nulo na linha 7 está localizado é a coluna 29. Para um outro exemplo, uma estrutura bidiagonal B’ em uma submatriz B está localizada da linha 0 à linha 3 e da coluna 23 à coluna 25 em qualquer um dentre o gráfico de base 80a, o gráfico de base 170a, ou o gráfico de base mostrado na figura 12. Um índice de coluna de uma coluna na qual um elemento não nulo na estrutura bidiagonal B’ está localizado pode ser calculado com base em um índice de linha, ou um índice de linha de uma linha na qual um elemento não nulo está localizado pode ser calculado com base em um índice de coluna. As posições de elementos não nulos em uma linha mB incluem a coluna mB+Kb e a coluna mB+Kb+1, onde 0<mB<3. Uma posição de um elemento não nulo na linha mB é a coluna mB+Kb, onde mB=0 ou mB=3. Para um outro exemplo, para uma coluna de matriz de peso 1 em uma submatriz B, isto é, a coluna 26 em qualquer um dentre o gráfico de base 80a, o gráfico de base 170a, ou o gráfico de base na figura 12, uma posição de um elemento não nulo borda anular linha mB é a coluna mB+Kb, onde mB=4.
[0190] A Tabela 6 mostra parâmetros relacionados às linhas na figura 12. As posições de colunas nas quais elementos não nulos da coluna 0 à coluna 25 estão localizados podem ser armazenadas, ao passo que as posições de colunas nas quais os elementos não nulos da coluna 26 à coluna 68 estão localizados não são armazenadas, isto é, as colunas nas quais os elementos não nulos nas colunas de matriz de peso 1 na submatriz E e na submatriz B estão localizados não são armazenados. A Tabela 6 pode ser usada para representação de HBG, cujo índice de coluna é 26. Tabela 6
Figure img0019
Figure img0020
Figure img0021
[0191] A Tabela 7 mostra parâmetros relacionados às linhas na figura 12. As posições de colunas nas quais elementos não nulos da coluna 0 à coluna 26 estão localizados podem ser armazenadas, ao passo que as posições de colunas nas quais os elementos não nulos da coluna 27 à coluna 68 estão localizados não são armazenadas, isto é, as colunas nas quais os elementos não nulos na submatriz E estão localizados não são armazenadas. A Tabela 7 pode ser usada para a representação de HBG cujo índice de coluna é 27. Tabela 7
Figure img0022
Figure img0023
Figure img0024
[0192] Nos projetos precedentes, a coluna de “peso de linha” é opcional. Em um projeto possível, 1 e 0 em cada linha ou cada coluna em um gráfico de base podem ser considerados como números binários, e armazenamento dos números binários em números decimais ou números hexadecimais pode poupar espaço de armazenamento. Qualquer um dos gráficos de base precedentes é usado como um exemplo. As posições de elementos não nulos nas primeiras 26 colunas ou nas primeiras 27 colunas podem ser armazenadas em quatro números hexadecimais em cada linha. Por exemplo, se as primeiras 26 colunas na linha 0 forem 11110110 01111101 10111111 00, as posições de elementos não nulos em uma linha 0 poderão ser denotados como 0xF6, 0x7D, 0xBF e 0x00. Para se ser específico, cada oito colunas formam um número hexadecimal. 0 pode ser preenchido para as últimas duas ou três colunas para a obtenção de oito dígitos, de modo que um número hexadecimal correspondente seja obtido. O mesmo é verdadeiro para uma outra linha, e detalhes não são descritos aqui de novo.
[0193] Quando a sequência de bit de informação é para ser codificada, a matriz de base HB pode ser elevada com base em Z para a obtenção da matriz de LDPC H usada para codificação. Uma matriz de permutação circular hi,j de tamanho Z*Z é determinada para cada elemento não nulo Pi,j na matriz de base HB, onde hi,j é uma matriz de permutação circular obtida pelo deslocamento de forma circular de uma matriz de identidade Pi,j vezes. Um elemento não nulo Pi,j é substituído por hi,j, e um elemento nulo na matriz de base HB é substituído por uma matriz toda de zeros de tamanho Z*Z, de modo a se obter a matriz de verificação de paridade H.
[0194] Em um projeto possível, for o fator de elevação Z, um elemento Pi,j na linha i e na coluna j na matriz de base HB pode atender a uma relação mostrada em (2):
Figure img0025
onde Vi,j pode ser um valor de deslocamento de um elemento na linha i e na coluna j em uma matriz de base de um conjunto de fatores de elevação que compreende o fator de elevação Z, ou um valor de deslocamento de um elemento não nulo na linha i e na coluna j em uma matriz de base correspondente a um fator de elevação máximo em um conjunto de fatores de elevação que compreende o fator de elevação Z.
[0195] Uma correspondência entre uma matriz de base e um conjunto de fatores de elevação Z que é mostrado na Tabela 2 é usada como um exemplo. Z=13, e um elemento Pi,j na linha i e na coluna j em uma matriz de base de Z atende a (2).
[0196] Vi,j é um valor de deslocamento de um elemento não nulo na linha i e na coluna j em uma matriz de base indicada por PCM 7. Para Z=13, uma operação de módulo é executada pela tomada do valor de deslocamento Vi,j módulo Z, onde Z=13, e Vi,j é um valor de deslocamento do elemento não nulo na linha i e na coluna j na matriz de base indicada por PCM 7.
[0197] Deve ser notado que apenas exemplos são providos aqui, e os exemplos não constituem uma limitação no presente pedido.
[0198] O gráfico de base 80a ou o gráfico de base 170a é usado como um exemplo. Após uma matriz de base HB ser determinada, um ou mais bits de paridade correspondendo da coluna 22 à coluna 25 na matriz de base podem ser primeiramente obtidos pelo uso sequência de entrada e da linha 0 à linha 3 e da coluna 0 à coluna 25, isto é, Hcoredual, um ou mais bits de paridade correspondendo à coluna 26, isto é, uma coluna de matriz de peso 1 podem ser obtidos com base na sequência de entrada e um ou mais bits de paridade correspondentes a Hcore-dual, e, então, uma codificação pode ser realizada com base na sequência de entrada, em um ou mais bits de paridade correspondentes da coluna 22 à coluna 26, e uma submatriz D, para a obtenção de um ou mais bits de paridade correspondentes a uma submatriz E. Desta forma, uma codificação é completada. Para um processo de codificação de um código de LDPC, faça uma referência às descrições nas implementações precedentes, e os detalhes não são descritos aqui de novo.
[0199] No sistema de comunicações, o código de LDPC pode ser obtido após uma codificação ser realizada no método precedente. Após o código de LDPC ser obtido, um aparelho de comunicações ainda pode executar uma ou mais das operações a seguir: execução de uma combinação de taxa no código de LDPC; execução, com base em um esquema de entrelaçamento, de um entrelaçamento em um código de LDPC obtido após a combinação de taxa; a modulação, com base em um esquema de modulação, de um código de LDPC obtido após o entrelaçamento, para a obtenção de uma sequência de bit X; ou o envio da sequência de bit X.
[0200] Em um método de decodificação provido em uma outra modalidade do presente pedido, um decodificador decodifica uma sequência de entrada pelo uso de uma matriz de LDPC. Um gráfico de base da matriz de LDPC pode ser qualquer gráfico de base nos exemplos precedentes, e uma matriz de base HB da matriz de LDPC pode ser qualquer matriz de base nos exemplos precedentes. A sequência de entrada do decodificador pode ser uma sequência de valor flexível de um código de LDPC.
[0201] O método ainda inclui a determinação de um fator de elevação Z. Um dispositivo de comunicações em uma extremidade de recepção pode receber um sinal incluindo um código de LDPC, obter uma sequência de valor flexível do código de LDPC no sinal, e determinar o fator de elevação Z correspondente.
[0202] Que o decodificador decodifica a sequência de entrada pelo uso da matriz de LDPC H pode ser uma decodificação da sequência de valor flexível do código de LDPC pelo uso de uma matriz de LDPC H correspondente ao fator de elevação Z.
[0203] Devido ao fato de uma decodificação ser um processo inverso de codificação, para descrições da matriz de LDPC H e do gráfico de base da matriz de LDPC H, faça uma referência à modalidade de codificação precedente. Uma decodificação pode ser realizada com base em um gráfico de base completo, ou uma decodificação pode ser realizada com base em algumas linhas ou algumas colunas em um gráfico de base completo.
[0204] A matriz de base HB da matriz de LDPC H pode ser qualquer matriz de base com base nas modalidades precedentes ou uma matriz de base obtida pela execução de uma permutação de linha, ou uma permutação de coluna, ou uma permutação de linha e uma permutação de coluna em qualquer matriz de base descrita acima. Um gráfico de base da matriz de base HB inclui pelo menos uma submatriz A e uma submatriz B, e pode incluir ainda uma submatriz C, uma submatriz D e uma submatriz E. Para as submatrizes, faça uma referência às descrições nas modalidades precedentes, e os detalhes não são descritos aqui de novo. Certamente, a matriz de base HB pode ser uma outra matriz de base cujo gráfico de base se conforma ao gráfico de base mostrado nas modalidades precedentes, e a matriz de base HB não é limitada a isso no presente pedido.
[0205] Em um projeto possível, a matriz de base HB do código de LDPC pode ser armazenado em uma memória, os valores flexíveis do código de LDPC podem ser decodificados após a matriz de LDPC correspondente ao fator de elevação Z ser obtida.
[0206] Em uma outra implementação possível, devido ao fato de haver uma pluralidade de matrizes de base de um código de LDPC, e um espaço de armazenamento relativamente grande ser ocupado se as matrizes de base forem armazenadas com base em uma estrutura de matriz, um gráfico de base do código de LDPC pode ser armazenado em uma memória, os valores de deslocamento de elementos não nulos em cada matriz de base podem ser armazenados por linha ou por coluna, e, então, uma matriz de LDPC pode ser obtida com base no gráfico de base e um valor de deslocamento em uma matriz de base correspondente a um fator de elevação Z.
[0207] O gráfico de base pode ser armazenado de várias maneiras descritas na modalidade de codificação precedente.
[0208] Deve ser notado que apenas exemplos são providos aqui, e os exemplos não constituem uma limitação.
[0209] Uma decodificação é um processo inverso ao de codificação, e a matriz de base HB usada durante a decodificação tem uma mesma característica que a matriz de base na modalidade de método de codificação. Para elevação da matriz de base HB para a obtenção da matriz de LDPC H, também faça uma referência à modalidade de método de codificação.
[0210] No sistema de comunicações, antes do método de decodificação, um aparelho de comunicações ainda pode executar uma ou mais das operações a seguir: o recebimento de um sinal incluindo um código de LDPC; ou a execução de demodulação, desentrelaçamento ou descombinação de taxa no sinal para a obtenção de valores flexíveis do código de LDPC.
[0211] Em uma implementação possível, um ou mais dos seguintes podem ser armazenados: (a) um parâmetro usado para a obtenção de qualquer matriz de base HB descrita nas implementações precedentes, onde a matriz de base HB pode ser obtida com base no parâmetro; por exemplo, o parâmetro pode incluir um ou mais dos seguintes: um índice de linha, um índice de coluna ou um peso de coluna de um gráfico de base e/ou uma matriz de base, uma posição de um elemento não nulo em um gráfico de base e/ou uma matriz de base, um valor de deslocamento em uma matriz de base, um valor de deslocamento de um elemento não nulo e uma posição correspondente, um valor de compensação, um fator de elevação, um conjunto de fator de elevação, um gráfico de base de uma matriz de base, ou uma taxa de código; (b) qualquer matriz de base HB descrita nas implementações precedentes; (c) uma matriz elevada a partir da matriz de base HB; (d) uma matriz de base obtida pela execução de uma permutação de linha/coluna em qualquer matriz de base HB descrita nas implementações precedentes, onde uma permutação de linha/coluna é uma permutação de linha, ou uma permutação de coluna, ou uma permutação de linha e uma permutação de coluna neste pedido; ou (e) uma matriz elevada a partir da matriz de base obtida pela execução da permutação de linha/coluna. 1.
[0212] Em uma implementação possível, uma sequência de entrada pode ser codificada ou decodificada pelo uso de uma matriz de verificação de paridade de densidade baixa LDPC em uma ou mais das maneiras a seguir durante uma codificação ou decodificação:
[0213] A obtenção de uma matriz de base HB com base no parâmetro descrito em (a) precedente; e executar uma codificação ou decodificação com base na matriz de base HB obtida; ou executar uma permutação de linha/coluna com base na matriz de base HB obtida, e executar uma codificação ou decodificação com base em uma matriz de base obtida pela execução da permutação de linha/coluna, onde uma codificação ou decodificação é executada com base na matriz de base aqui, e, opcionalmente, uma codificação ou decodificação pode ser realizada com base na matriz elevada da matriz de base; a execução de uma codificação ou decodificação com base em uma matriz de base armazenada em (b) ou (d) (uma matriz de base HB armazenada ou uma matriz de base armazenada obtida pela execução de uma permutação de linha/coluna em uma matriz de base HB); ou executar uma permutação de linha/coluna na matriz de base armazenada, e executar uma codificação ou decodificação com base em uma matriz de base obtida pela execução da permutação de linha/coluna, onde uma codificação ou decodificação é executada com base na matriz de base ali, e, opcionalmente, uma codificação ou decodificação pode ser executada com base em uma matriz elevada da matriz de base; ou a execução de uma codificação ou decodificação com base em (c) ou (e).
[0214] A elevação deste pedido pode ser a obtenção de uma matriz elevada após uma matriz ser transformada ou processada, e uma maneira de elevação não é limitada neste pedido. Em uma implementação, a elevação pode ser realizar um processamento de compensação em uma matriz. Por exemplo, cada valor de deslocamento maior do que ou igual a 0 em uma matriz de base é aumentada ou diminuída por um valor de compensação, para a obtenção de uma matriz compensada. Em uma outra implementação, a elevação pode ser uma elevação de uma linha e uma coluna em uma matriz, para a obtenção de uma matriz elevada. Em uma outra implementação, a elevação pode ser converter um valor não nulo em uma matriz.
[0215] O armazenamento neste pedido pode ser o armazenamento em uma ou mais memórias. Uma ou mais memórias podem ser dispostas separadamente, ou podem ser integradas no codificador, no decodificador, um processador, um chip, o aparelho de comunicações ou um terminal. Algumas de uma ou mais memórias podem ser separadamente dispostas, e as outras podem ser integradas no decodificador, um processador, um chip, o aparelho de comunicações ou um terminal. Um tipo da memória pode ser qualquer forma de meio de armazenamento, e o tipo não é limitado neste pedido.
[0216] A figura 6 é um diagrama estrutural esquemático de um aparelho de comunicações 600. O aparelho 600 é configurado para a implementação do método descrito na modalidade de método precedente. Faça uma referência às descrições na modalidade de método precedente. O aparelho de comunicações 600 pode ser um chip, uma estação base, um terminal ou um outro dispositivo de rede.
[0217] O aparelho de comunicações 600 inclui um ou mais processadores 601. O processador 601 pode ser um processador de finalidade geral, um processador dedicado ou similar. Por exemplo, o processador 601 pode ser um processador de banda base ou uma unidade de processamento central. O processador de banda base pode ser configurado para controle do aparelho de comunicações (tal como a estação base, o terminal ou o chip), execução de um programa de software e processamento de dados do programa de software.
[0218] Em um projeto possível, o aparelho de comunicações 600 inclui um ou mais processadores 601. Um ou mais processadores 601 podem implementar funções do codificador precedente. Em um outro projeto possível, o codificador pode ser uma parte do processador 601, e o processador 601 pode implementar outras funções além das funções do codificador.
[0219] O aparelho de comunicações 600 codifica uma sequência de entrada pelo uso de uma matriz de LDPC. Um gráfico de base da matriz de LDPC pode ser qualquer gráfico de base nos exemplos precedentes ou um gráfico de base obtido pela execução de uma permutação de linha, ou uma permutação de coluna, ou uma permutação de linha e uma permutação de coluna em qualquer gráfico de base descrito acima. Uma matriz de base HB da matriz de LDPC pode ser qualquer matriz de base na modalidade precedente ou uma matriz de base obtida pela execução de uma permutação de linha, ou uma permutação de coluna, ou uma permutação de linha e uma permutação de coluna em qualquer matriz de base descrita acima. A sequência de entrada do codificador pode ser uma sequência de bit de informação.
[0220] Em um projeto possível, um ou mais processadores 601 podem implementar funções do decodificador precedente. Em um outro projeto possível, o decodificador pode ser uma parte do processador 601.
[0221] O aparelho de comunicações 600 é configurado para a decodificação de uma sequência de entrada pelo uso de uma matriz de LDPC. Um gráfico de base da matriz de LDPC pode ser qualquer gráfico de base nos exemplos precedentes ou um gráfico de base obtido pela execução de uma permutação de linha, ou uma permutação de coluna, ou uma permutação de linha e uma permutação de coluna em qualquer gráfico de base descrito acima. Uma matriz de base HB da matriz de LDPC pode ser qualquer matriz de base nos exemplos precedentes ou uma matriz de base obtida pela execução de uma permutação de linha, ou uma permutação de coluna, ou uma permutação de linha e uma permutação de coluna em qualquer matriz de base descrita acima. A sequência de entrada do decodificador pode ser uma sequência de valor flexível.
[0222] Opcionalmente, em um projeto, o processador 601 também pode incluir uma instrução 603. A instrução pode ser rodada no processador, para se fazer com que o aparelho de comunicações 600 execute o método descrito na modalidade de método precedente.
[0223] Em um outro projeto possível, o aparelho de comunicações 600 também pode incluir um circuito, e o circuito pode implementar funções do codificador, do decodificador ou do codificador e do decodificador na modalidade de método precedente.
[0224] Opcionalmente, o aparelho de comunicações 600 pode incluir uma ou mais memórias 602. A memória armazena uma instrução 604, e a instrução pode ser rodada no processador, para se fazer com que o aparelho de comunicações 600 execute o método descrito na modalidade de método precedente. Opcionalmente, a memória ainda pode armazenar dados. Opcionalmente, o processador também pode armazenar uma instrução e/ou dados. O processador e a memória podem ser dispostos separadamente, ou podem ser integrados em conjunto. Opcionalmente, uma ou mais memórias 602 podem armazenar um parâmetro relacionado a uma matriz de base, por exemplo, um valor de deslocamento, um gráfico de base, uma matriz elevada a partir de um gráfico de base, linhas na matriz de base ou um fator de elevação. Opcionalmente, uma ou mais memórias 602 podem armazenar uma matriz de base ou uma matriz elevada de uma matriz de base.
[0225] Opcionalmente, o aparelho de comunicações 600 pode incluir ainda um transceptor 605 e uma antena 606. O processador 601 pode ser referido como uma unidade de processamento, e controla o aparelho de comunicações (o terminal ou a estação base). O transceptor 605 pode ser referido como uma unidade de transceptor ou um circuito de transceptor, e é configurado para a implementação de uma função de transcepção do aparelho de comunicações pelo uso da antena 606.
[0226] Opcionalmente, o aparelho de comunicações 600 pode incluir ainda um componente configurado para a geração de uma CRC de bloco de transporte, um componente usado para uma segmentação de bloco de código e verificação CRC, um entrelaçador usado para entrelaçamento, um modulador usado para processamento de modulação, ou similares. As funções destes componentes podem ser implementadas por um ou mais processadores 601.
[0227] Opcionalmente, o aparelho de comunicações 600 podem incluir ainda um demodulador usado para demodulação, um desentrelaçador usado para desentrelaçamento, um componente usado para descombinação de taxa, ou similares. As funções destes componentes podem ser implementadas por um ou mais processadores 601.
[0228] A figura 7 é um diagrama esquemático de um sistema de comunicações 700. O sistema de comunicações 700 inclui um dispositivo de comunicações 70 e um dispositivo de comunicações 71. O dispositivo de comunicações 70 e o dispositivo de comunicações 71 recebem dados de informação de cada outro e enviam dados de informação para cada outro. O dispositivo de comunicações 70 e o dispositivo de comunicações 71 podem ser o aparelho de comunicações 600, ou o dispositivo de comunicações 70 e o dispositivo de comunicações 71, cada um, incluem o aparelho de comunicações 600, e recebem e enviam dados de informação. Por exemplo, o dispositivo de comunicações 70 pode ser um terminal, e, de forma correspondente, o dispositivo de comunicações 71 pode ser uma estação base. Para um outro exemplo, o dispositivo de comunicações 70 é uma estação base, e, de forma correspondente, o dispositivo de comunicações 71 pode ser um terminal.
[0229] Uma pessoa versada na técnica ainda pode entender que vários blocos lógicos ilustrativos (illustrative logical block) e etapas (step) que são listados nas modalidades do presente pedido podem ser implementados pelo uso de um hardware eletrônico, um software de computador ou uma combinação dos mesmos. Se as funções são implementadas pelo uso de um hardware ou software depende das aplicações em particular e de uma exigência de projeto do sistema inteiro. Uma pessoa versada na técnica pode usar vários métodos para a implementação das funções descritas para cada aplicação em particular, mas não deve ser considerado que a implementação vai além do escopo das modalidades do presente pedido.
[0230] As várias unidades lógicas ilustrativas e circuitos descritos nas modalidades do presente pedido podem implementar ou operar as funções descritas pelo uso de um processador de finalidade geral, um processador de sinal digital, um circuito integrado específico de aplicação (ASIC), um arranjo de porta programável no campo (FPGA), ou um outro aparelho lógico programável, uma lógica discreta de porta ou transistor, um componente de hardware discreto, ou um projeto de qualquer combinação dos mesmos. O processador de finalidade geral pode ser um microprocessador. Opcionalmente, o processador de finalidade geral pode ser qualquer processador convencional, controlador, microcontrolador, ou máquina de estado. O processador pode ser implementado por uma combinação de aparelhos de computação, tal como um processador de sinal digital e um microprocessador, uma pluralidade de microprocessadores, um ou mais microprocessadores com um núcleo de processador de sinal digital, ou qualquer outra configuração similar.
[0231] As etapas de método ou algoritmos descritos aqui nas modalidades do presente pedido podem ser embutidas diretamente em hardware, uma instrução 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 em EEPROM, um registrador, um disco rígido, um disco magnético removível, um CD-ROM, ou um meio de armazenamento de qualquer outra forma na técnica. Por exemplo, a memória pode ser conectada ao processador, de modo que o processador possa ler uma informação a partir da memória e escrever uma informação na memória. Opcionalmente, a memória pode ser integrada no processador. O processador e a memória podem ser dispostos em um ASIC, e o ASIC pode ser disposto no aparelho de comunicações (tal como a estação base ou o terminal). Opcionalmente, o processador e a memória podem ser dispostos em componentes diferentes do aparelho de comunicações.
[0232] Com as descrições das implementações precedentes, uma pessoa versada na técnica pode claramente entender que o presente pedido pode ser implementado por hardware, firmware, ou uma combinação dos mesmos. Quando o presente pedido é implementado por um programa de software, o presente pedido pode ser total ou parcialmente implementado 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 são carregadas e executadas no computador, o processador ou as funções de acordo com as modalidades do presente pedido são geradas total ou parcialmente. Quando o presente pedido é implementado por um programa de software, as funções precedentes podem ser armazenadas em um meio legível por computador ou transmitidas como uma ou mais instruções ou um código no meio legível por computador. O computador pode ser um computador de finalidade geral, um computador dedicado, uma rede de computador, ou um outro aparelho programável. A instrução de computador pode ser armazenada em um meio de armazenamento legível por computador, ou pode ser transmitida a partir de um meio de armazenamento legível por computador para um outro. O meio legível por computador inclui um meio de armazenamento em computador e um meio de comunicações, onde o meio de comunicações inclui qualquer meio que permite que um programa de computador seja transmitido de um local para um outro. O meio de armazenamento pode ser qualquer meio disponível acessível para um computador. O que vem a seguir provê um exemplo, mas não impõe uma limitação: o meio legível por computador pode incluir uma RAM, uma ROM, uma EEPROM, um CD-ROM, ou um outro meio de armazenamento em disco ótico ou de armazenamento em disco, ou um outro dispositivo de armazenamento magnético, ou qualquer outro meio que possa portar ou armazenar um código de programa esperado em uma forma de uma instrução ou uma estrutura de dados e pode ser acessado por um computador. Além disso, qualquer conexão pode ser apropriadamente definida como um meio legível por computador. Por exemplo, se um software for transmitido a partir de um website, um servidor ou uma outra fonte remota pelo uso de um cabo coaxial, uma fibra ótica / cabo, 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, fibra ótica / cabo, par trançado, DSL, ou tecnologias sem fio, tais como raio infravermelho, rádio ou micro-ondas, são incluídas em uma definição de um meio ao qual eles pertencem. Por exemplo, um disco (Disk) ou um disco (Disc) usado pelo presente pedido inclui um disco compacto (CD), um disco a laser, um disco ótico, um disco versátil digital (DVD), um disco flexível e um disco de Blu-ray, onde o disco geralmente copia dados por um meio magnético, e o disco copia dados oticamente por um meio a laser. A combinação precedente também deve ser incluída no escopo de proteção do meio legível por computador.
[0233] Neste pedido, “/” indica e/ou. Por exemplo, codificação/decodificação indica codificação, decodificação ou codificação e decodificação.
[0234] Em resumo, são descritas acima meramente modalidades das soluções técnicas do presente pedido, mas não é pretendido limitar o escopo de proteção do presente pedido. Qualquer modificação, substituição equivalente ou melhoramento feito sem se desviar do princípio do presente pedido deverá cair no escopo de proteção do presente pedido.

Claims (13)

1. Método para processamento de informação, realizada por um aparelho de comunicação em uma rede sem fio, caracterizado pelo fato de que compreende: obter uma sequência de entrada, em que a sequência de entrada compreende K bits de informação e K é um número inteiro positivo; determinar um fator de elevação Z, em que k= 22 × Z; codificar a sequência de entrada usando uma matriz de codificação H, para a obtenção de uma sequência codificada; e enviar a sequência codificada; em que a matriz de codificação H é obtida a partir de um gráfico de base de verificação de paridade de densidade baixa (LDPC) substituindo cada elemento do gráfico de base de LDPC por uma matriz de Z linhas e Z colunas; em que o gráfico de base LDPC compreende m linhas e n colunas, 5 ≤ m ≤ 46, e 27 ≤ n ≤ 68, e cada elemento no gráfico de base LDPC tem um valor de 0 ou 1; em que um elemento no gráfico de base LDPC tem um valor de 1 quando: i = 0, j = 0, 1, 2, 3, 5, 6, 9, 10, 11, 12, 13, 15, 16, 18, 19, 20, 21, 22, ou 23; i = 1, j = 0, 2, 3, 4, 5, 7, 8, 9, 11, 12, 14, 15, 16, 17, 19, 21, 22, 23, ou 24; i = 2, j = 0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 13, 14, 15, 17, 18, 19, 20, 24, ou 25; i = 3, j = 0, 1, 3, 4, 6, 7, 8, 10, 11, 12, 13, 14, 16, 17, 18, 20, 21, 22, ou 25; i = 4, j = 0, 1, ou 26; em que i é um índice de linha do gráfico de base LDPC, 0 ≤ i < 46, j é um índice de coluna do gráfico de base LDPC, 0 ≤ j < 68.
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o gráfico de base LDPC compreende 46 linhas e 68 colunas, e em que um elemento no gráfico de base LDPC tem o valor de 1 quando: i = 0, j = 0, 1, 2, 3, 5, 6, 9, 10, 11, 12, 13, 15, 16, 18, 19, 20, 21, 22, ou 23; i = 1, j = 0, 2, 3, 4, 5, 7, 8, 9, 11, 12, 14, 15, 16, 17, 19, 21, 22, 23, ou 24; i = 2, j = 0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 13, 14, 15, 17, 18, 19, 20, 24, ou 25; i = 3, j = 0, 1, 3, 4, 6, 7, 8, 10, 11, 12, 13, 14, 16, 17, 18, 20, 21, 22, ou 25; i = 4, j = 0, 1, ou 26; i = 5, j = 0, 1, 3, 12, 16, 21, 22, ou 27; i = 6, j = 0, 6, 10, 11, 13, 17, 18, 20, ou 28; i = 7, j = 0, 1, 4, 7, 8, 14, ou 29; i = 8, j = 0, 1, 3, 12, 16, 19, 21, 22, 24, ou 30; i = 9, j = 0, 1, 10, 11, 13, 17, 18, 20, ou 31; i = 10, j = 1, 2, 4, 7, 8, 14, ou 32; i = 11, j = 0, 1, 12, 16, 21, 22, 23, ou 33; i = 12, j = 0, 1, 10, 11, 13, 18, ou 34; i = 13, j = 0, 3, 7, 20, 23, ou 35; i = 14, j = 0, 12, 15, 16, 17, 21, ou 36; i = 15, j = 0, 1, 10, 13, 18, 25, ou 37;i = 16, j = 1, 3, 11, 20, 22, ou 38; i = 17, j = 0, 14, 16, 17, 21, ou 39; i = 18, j = 1, 12, 13, 18, 19, ou 40; i = 19, j = 0, 1, 7, 8, 10, ou 41; i = 20, j = 0, 3, 9, 11, 22, ou 42; i = 21, j = 1, 5, 16, 20, 21, ou 43; i = 22, j = 0, 12, 13, 17, ou 44; i = 23, j = 1, 2, 10, 18, ou 45; i = 24, j = 0, 3, 4, 11, 22 ou 46; i = 25, j = 1, 6, 7, 14 ou, 47; i = 26, j = 0, 2, 4, 15, ou 48; i = 27, j = 1, 6, 8 ou 49; i = 28, j = 0, 4, 19, 21, ou 50; i = 29, j = 1, 14, 18, 25, ou 51; i = 30, j = 0, 10, 13, 24, ou 52; i = 31, j = 1, 7, 22, 25, ou 53; i = 32, j = 0, 12, 14, 24, ou 54; i = 33, j = 1, 2, 11, 21, ou 55; i = 34, j = 0, 7, 15, 17, ou 56; i = 35, j = 1, 6, 12, 22, ou 57; i = 36, j = 0, 14, 15, 18, ou 58; i = 37, j = 1, 13, 23, ou 59; i = 38, j = 0, 9, 10, 12, ou 60; i = 39, j = 1, 3, 7, 19, ou 61; i = 40, j = 0, 8, 17, ou 62; i = 41, j = 1, 3, 9, 18, ou 63; i = 42, j = 0, 4, 24, ou 64; i = 43, j = 1, 16, 18, 25, ou 65; i = 44, j = 0, 7, 9, 22, ou 66i = 45, j = 1, 6, 10, ou 67; em que i é um índice de linha do gráfico de base LDPC, 0 ≤ i < 46, j é um índice de coluna do gráfico de base LDPC, 0 ≤ j < 68.
3. Método, de acordo com a reivindicação 2, caracterizado pelo fato de que a obtenção da matriz de codificação H substituindo cada elemento do gráfico de base LDPC por uma matriz de linhas Z e colunas Z compreende: substituir cada elemento de valor 0 no gráfico de base LDPC por uma matriz totalmente nula de Z linhas × Z colunas; e substituir um elemento {índice de linha i, índice de coluna j} de valor 1 no gráfico de base LDPC por uma matriz de permutação circular I(Pi, j) de Z linhas × Z colunas, em que a matriz de permutação circular I(Pi, j) é obtida pelo deslocamento circular de uma matriz de identidade de Z linhas × Z colunas para a direita Pi, j vezes, em que Pi,j = mod (Vi, j, Z), Vi, j é um valor de deslocamento correspondente a um índice de conjunto de fator de elevação de Z, Vi, j é um número inteiro, e Vi, j ≥ 0.
4. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a sequência de entrada é c ={c0, c1, c2, …, cK-1}, a sequência codificada é d ={d0, d1, d2, …, dN-1}, em que ci (i = 0, 1, ... K-1) são bits de informação, dj (j = 0, 1, ... N-1) são bits codificados N é um inteiro positivo, e N = 66×Z.
5. Método, de acordo com a reivindicação 4, caracterizado pelo fato de que a sequência codificada d compreende K0 bits obtidos da sequência de entrada c e N-K0 bits de paridade em uma sequência de paridade w={w0, w1, w2, …, wN-K0-1}, K0 é um inteiro maior do que 0 e menor do que ou igual a K, em que a sequência de paridade w e a sequência de entrada c atendem a:
Figure img0026
em que cT=[c0, c1, c2, …, cK-1]T é um vetor transposto incluindo bits na sequência de entrada, wT=[w0, w1, w2, …, wNK0-1]T é um vetor transposto incluindo bits na sequência de paridade, 0T é um vetor coluna, e os valores de todos os elementos de 0T são zero.
6. Método, de acordo com a reivindicação 5, caracterizado pelo fato de que K0 = K - 2×Z.
7. Aparelho em um dispositivo de comunicações, caracterizado pelo fato de que compreende: um processador e uma memória, armazenando um conjunto de instruções; em que o processador, ao executar o conjunto de instruções, é configurado para: obter uma sequência de entrada, em que a sequência de entrada compreende K bits de informação e K é um número inteiro positivo; determinar um fator de elevação Z, em que K = 22×Z;codificar a sequência de entrada usando uma matriz de codificação H, para a obtenção de uma sequência codificada; e enviar a sequência codificada; em que a matriz de codificação H é obtida a partir de um gráfico de base de verificação de paridade de densidade baixa (LDPC) substituindo cada elemento do gráfico de base de LDPC por uma matriz de Z linhas e Z colunas; em que o gráfico de base LDPC compreende m linhas e n colunas, 5 ≤ m ≤ 46, e 27 ≤ n ≤ 68, e cada elemento no gráfico de base LDPC tem um valor de 0 ou 1; em que um elemento no gráfico de base LDPC tem um valor de 1 quando: i = 0, j = 0, 1, 2, 3, 5, 6, 9, 10, 11, 12, 13, 15, 16, 18, 19, 20, 21, 22, ou 23; i = 1, j = 0, 2, 3, 4, 5, 7, 8, 9, 11, 12, 14, 15, 16, 17, 19, 21, 22, 23, ou 24; i = 2, j = 0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 13, 14, 15, 17, 18, 19, 20, 24, ou 25; i = 3, j = 0, 1, 3, 4, 6, 7, 8, 10, 11, 12, 13, 14, 16, 17, 18, 20, 21, 22, ou 25; i = 4, j = 0, 1, ou 26; em que i é um índice de linha do gráfico de base LDPC, 0 ≤ i < m, j é um índice de coluna do gráfico de base LDPC, 0 ≤ j < n.
8. Aparelho, de acordo com a reivindicação 7, caracterizado pelo fato de que o gráfico de base LDPCcompreende 46 linhas e 68 colunas, e em que um elemento no gráfico de base LDPC tem o valor de 1 quando: i = 0, j = 0, 1, 2, 3, 5, 6, 9, 10, 11, 12, 13, 15, 16, 18, 19, 20, 21, 22, ou 23; i = 1, j = 0, 2, 3, 4, 5, 7, 8, 9, 11, 12, 14, 15, 16, 17, 19, 21, 22, 23, ou 24; i = 2, j = 0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 13, 14, 15, 17, 18, 19, 20, 24, ou 25; i = 3, j = 0, 1, 3, 4, 6, 7, 8, 10, 11, 12, 13, 14, 16, 17, 18, 20, 21, 22, ou 25; i = 4, j = 0, 1, ou 26; i = 5, j = 0, 1, 3, 12, 16, 21, 22, ou 27; i = 6, j = 0, 6, 10, 11, 13, 17, 18, 20, ou 28; i = 7, j = 0, 1, 4, 7, 8, 14, ou 29; i = 8, j = 0, 1, 3, 12, 16, 19, 21, 22, 24, ou 30; i = 9, j = 0, 1, 10, 11, 13, 17, 18, 20, ou 31; i = 10, j = 1, 2, 4, 7, 8, 14, ou 32; i = 11, j = 0, 1, 12, 16, 21, 22, 23, ou 33; i = 12, j = 0, 1, 10, 11, 13, 18, ou 34; i = 13, j = 0, 3, 7, 20, 23, ou 35; i = 14, j = 0, 12, 15, 16, 17, 21, ou 36; i = 15, j = 0, 1, 10, 13, 18, 25, ou 37; i = 16, j = 1, 3, 11, 20, 22, ou 38; i = 17, j = 0, 14, 16, 17, 21, ou 39; i = 18, j = 1, 12, 13, 18, 19, ou 40; i = 19, j = 0, 1, 7, 8, 10, ou 41; i = 20, j = 0, 3, 9, 11, 22, ou 42; i = 21, j = 1, 5, 16, 20, 21, ou 43; i = 22, j = 0, 12, 13, 17, ou 44; i = 23, j = 1, 2, 10, 18, ou 45; i = 24, j = 0, 3, 4, 11, 22, ou 46; i = 25, j = 1, 6, 7, 14, ou 47; i = 26, j = 0, 2, 4, 15, ou 48; i = 27, j = 1, 6, 8, ou 49; i = 28, j = 0, 4, 19, 21, ou 50; i = 29, j = 1, 14, 18, 25, ou 51; i = 30, j = 0, 10, 13, 24, ou 52; i = 31, j = 1, 7, 22, 25, ou 53; i = 32, j = 0, 12, 14, 24, ou 54; i = 33, j = 1, 2, 11, 21, ou 55; i = 34, j = 0, 7, 15, 17, ou 56; i = 35, j = 1, 6, 12, 22, ou 57; i = 36, j = 0, 14, 15, 18, ou 58; i = 37, j = 1, 13, 23, ou 59; i = 38, j = 0, 9, 10, 12, ou 60; i = 39, j = 1, 3, 7, 19, ou 61; i = 40, j = 0, 8, 17, ou 62; i = 41, j = 1, 3, 9, 18, ou 63; i = 42, j = 0, 4, 24, ou 64; i = 43, j = 1, 16, 18, 25, ou 65; i = 44, j = 0, 7, 9, 22, ou 66; i = 45, j = 1, 6, 10, ou 67; em que i é um índice de linha do gráfico de base LDPC, 0 ≤ i < 46, j é um índice de coluna do gráfico de base LDPC, 0 ≤ j < 68.
9. Aparelho, de acordo com a reivindicação 8, caracterizado pelo fato de que ao obter a matriz de codificação H substituindo cada elemento do gráfico de base LDPC por uma matriz de Z linhas e Z colunas, o processador é configurado para: substituir cada elemento de valor 0 no gráfico de base LDPC por uma matriz totalmente nula de Z linhas × Z colunas; e substituir um elemento {índice de linha i, índice de coluna j} de valor 1 no gráfico de base LDPC por uma matriz de permutação circular I(Pi,j) de Z linhas × Z colunas, em que a matriz de permutação circular I(Pi,j) é obtida pelo deslocamento circular de uma matriz de identidade de Z linhas × Z colunas para a direita Pi, j vezes, em que Pi, j = mod (Vi, j, Z), Vi, j é um valor de deslocamento correspondente a um índice de conjunto de fator de elevação de Z, Vi, j é um número inteiro e Vi, j ≥ 0.
10. Aparelho de comunicações, de acordo com a reivindicação 7, caracterizado pelo fato de que a sequência de entrada é c ={c0, c1, c2, …, cK-1}, a sequência codificada d ={d0, d1, d2, …, dN-1}, em que ci (i = 0, 1, ... K-1) são bits de informação, dj (j = 0, 1, ... N-1) são bits codificados, em que N é um inteiro positivo, e N = 66×Z.
11. Aparelho, de acordo com a reivindicação 10, caracterizado pelo fato de que a sequência codificada d compreende K0 bits obtidos da sequência de entrada c e N-K0 bits de paridade em uma sequência de paridade w={w0, w1, w2, …, wN-K0-1}, K0 é um inteiro maior do que 0 e menor do que ou igual a K, em que a sequência de paridade w e a sequência de entrada c atendem a:
Figure img0027
em que cT=[c0, c1, c2, …, cK-1]T é um vetor transposto incluindo bits na sequência de entrada, wT=[w0, w1, w2, …, wNK0-1]T é um vetor transposto incluindo bits na sequência de paridade, 0T é um vetor coluna, e os valores de todos os elementos de 0T são zero.
12. Aparelho, de acordo com a reivindicação 11, caracterizado pelo fato de que K0 = K - 2×Z.
13. Aparelho, de acordo com a reivindicação 7, caracterizado pelo fato de que o dispositivo de comunicações é um dispositivo de rede ou um dispositivo terminal em uma rede de comunicação
BR112019018329A 2017-05-05 2017-07-13 Método para processamento de informação e aparelho em um dispositivo de comunicações BR112019018329B8 (pt)

Applications Claiming Priority (15)

Application Number Priority Date Filing Date Title
CN201710314217 2017-05-05
CN201710314217.3 2017-05-05
CN201710381396.2 2017-05-25
CN201710381396.2A CN108809328B (zh) 2017-05-05 2017-05-25 信息处理的方法、通信装置
CNPCT/CN2017/086227 2017-05-26
PCT/CN2017/086227 WO2018201540A1 (zh) 2017-05-05 2017-05-26 信息处理的方法、通信装置
PCT/CN2017/087073 WO2018201547A1 (zh) 2017-05-05 2017-06-02 信息处理的方法、通信装置
CNPCT/CN2017/087073 2017-06-02
PCT/CN2017/087830 WO2018201553A1 (zh) 2017-05-05 2017-06-09 信息处理的方法、通信装置
CNPCT/CN2017/087830 2017-06-09
PCT/CN2017/087943 WO2018201554A1 (zh) 2017-05-05 2017-06-12 信息处理的方法、通信装置
CNPCT/CN2017/087943 2017-06-12
PCT/CN2017/090417 WO2018201597A1 (zh) 2017-05-05 2017-06-27 信息处理的方法、通信装置
CNPCT/CN2017/090417 2017-06-27
PCT/CN2017/092877 WO2018201609A1 (zh) 2017-05-05 2017-07-13 信息处理的方法和通信装置

Publications (3)

Publication Number Publication Date
BR112019018329A2 BR112019018329A2 (pt) 2020-03-31
BR112019018329B1 true BR112019018329B1 (pt) 2021-09-14
BR112019018329B8 BR112019018329B8 (pt) 2021-09-21

Family

ID=64094520

Family Applications (3)

Application Number Title Priority Date Filing Date
BR112019023243A BR112019023243A2 (pt) 2017-05-05 2017-05-26 método de processamento de informação, aparelho de comunicações, dispositivo de comunicação, terminal, estação base, sistema de comunicações, meio de armazenamento legível por computador e produto de programa de computador
BR112019023179A BR112019023179A2 (pt) 2017-05-05 2017-06-27 método de processamento de informação e aparelho de comunicações
BR112019018329A BR112019018329B8 (pt) 2017-05-05 2017-07-13 Método para processamento de informação e aparelho em um dispositivo de comunicações

Family Applications Before (2)

Application Number Title Priority Date Filing Date
BR112019023243A BR112019023243A2 (pt) 2017-05-05 2017-05-26 método de processamento de informação, aparelho de comunicações, dispositivo de comunicação, terminal, estação base, sistema de comunicações, meio de armazenamento legível por computador e produto de programa de computador
BR112019023179A BR112019023179A2 (pt) 2017-05-05 2017-06-27 método de processamento de informação e aparelho de comunicações

Country Status (13)

Country Link
US (5) US10432219B2 (pt)
EP (1) EP3540948A4 (pt)
JP (2) JP7171590B2 (pt)
KR (1) KR102205936B1 (pt)
CN (3) CN108809328B (pt)
AU (1) AU2017413002B2 (pt)
BR (3) BR112019023243A2 (pt)
CA (1) CA3051761C (pt)
DE (1) DE202017007614U1 (pt)
MX (1) MX2019010697A (pt)
MY (1) MY195263A (pt)
RU (1) RU2740151C1 (pt)
ZA (1) ZA201905493B (pt)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10784901B2 (en) 2015-11-12 2020-09-22 Qualcomm Incorporated Puncturing for structured low density parity check (LDPC) codes
US10469104B2 (en) 2016-06-14 2019-11-05 Qualcomm Incorporated Methods and apparatus for compactly describing lifted low-density parity-check (LDPC) codes
US10340949B2 (en) * 2017-02-06 2019-07-02 Qualcomm Incorporated Multiple low density parity check (LDPC) base graph design
US10312939B2 (en) 2017-06-10 2019-06-04 Qualcomm Incorporated Communication techniques involving pairwise orthogonality of adjacent rows in LPDC code
WO2018227681A1 (zh) 2017-06-15 2018-12-20 华为技术有限公司 信息处理的方法和通信装置
CN109150197B (zh) 2017-06-27 2024-05-14 华为技术有限公司 信息处理的方法、装置和通信设备
CN110677157B (zh) 2017-06-27 2023-02-07 华为技术有限公司 信息处理的方法、装置和通信设备
MA47865B1 (fr) * 2017-08-24 2020-09-30 Ericsson Telefon Ab L M Sélection de graphe de base pour une nouvelle radio 3gpp
CN111327330B (zh) * 2018-12-14 2022-04-08 深圳市中兴微电子技术有限公司 一种信息处理方法、设备及计算机存储介质
CN112751571A (zh) * 2019-10-30 2021-05-04 华为技术有限公司 一种ldpc的编码方法及装置
CN114696840A (zh) * 2020-12-31 2022-07-01 华为技术有限公司 一种编码方法及装置
CN112787762B (zh) * 2021-04-12 2021-07-23 南京创芯慧联技术有限公司 信道编码后数据的速率匹配方法及其速率匹配装置
CN116192338B (zh) * 2023-04-25 2023-07-14 中国人民解放军国防科技大学 一种ldpc码的快速盲识别方法

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3808769B2 (ja) 2001-12-27 2006-08-16 三菱電機株式会社 Ldpc符号用検査行列生成方法
EP1518328B1 (en) * 2002-07-03 2007-04-18 The DIRECTV Group, Inc. Encoding of low-density parity check (ldpc) codes using a structured parity check matrix
KR100996029B1 (ko) 2003-04-29 2010-11-22 삼성전자주식회사 저밀도 패리티 검사 코드의 부호화 장치 및 방법
KR100809619B1 (ko) 2003-08-26 2008-03-05 삼성전자주식회사 이동 통신 시스템에서 블록 저밀도 패러티 검사 부호부호화/복호 장치 및 방법
KR20050118056A (ko) 2004-05-12 2005-12-15 삼성전자주식회사 다양한 부호율을 갖는 Block LDPC 부호를 이용한이동 통신 시스템에서의 채널부호화 복호화 방법 및 장치
US7526717B2 (en) 2004-06-16 2009-04-28 Samsung Electronics Co., Ltd. Apparatus and method for coding and decoding semi-systematic block low density parity check codes
US20050283707A1 (en) * 2004-06-22 2005-12-22 Eran Sharon LDPC decoder for decoding a low-density parity check (LDPC) codewords
US7581157B2 (en) * 2004-06-24 2009-08-25 Lg Electronics Inc. Method and apparatus of encoding and decoding data using low density parity check code in a wireless communication system
JP4545793B2 (ja) 2004-08-10 2010-09-15 サムスン エレクトロニクス カンパニー リミテッド ブロック低密度パリティ検査符号を符号化/復号化する装置及び方法
US7188297B2 (en) 2004-08-12 2007-03-06 Motorola, Inc. Method and apparatus for encoding and decoding data
US7934140B2 (en) * 2004-09-17 2011-04-26 Lg Electronics Inc. Method of encoding and decoding using LDPC code
US7752521B2 (en) * 2004-10-12 2010-07-06 Nortel Networks Limited Low density parity check (LDPC) code
US7343548B2 (en) 2004-12-15 2008-03-11 Motorola, Inc. Method and apparatus for encoding and decoding data
CN1805291B (zh) * 2005-01-10 2010-04-28 华为技术有限公司 一种低密度奇偶校验码并行编码方法及编码装置
KR100703483B1 (ko) * 2005-03-04 2007-04-03 삼성전자주식회사 저밀도 패러티 검사 부호의 천공 방법
CN100505555C (zh) 2005-09-30 2009-06-24 电子科技大学 一种无线通信系统中非正则低密度奇偶校验码的生成方法
CN101162907B (zh) * 2006-10-10 2010-11-03 华为技术有限公司 一种利用低密度奇偶校验码实现编码的方法及装置
BRPI0806757A2 (pt) * 2007-01-24 2011-09-13 Qualcomm Inc encodificação e decodificação de ldpc de pacotes de tamanhos variáveis
CN101378304A (zh) 2007-08-28 2009-03-04 华为技术有限公司 基于低密度校验码的重传传输方法及传输设备
CN101159435B (zh) * 2007-11-14 2010-06-16 中国人民解放军理工大学 基于移位矩阵分级扩展的低密度校验码校验矩阵构造方法
TWI410055B (zh) 2007-11-26 2013-09-21 Sony Corp Data processing device, data processing method and program product for performing data processing method on computer
CN101459430B (zh) * 2007-12-14 2010-12-08 中兴通讯股份有限公司 低密度生成矩阵码的编码方法及装置
CN101572554B (zh) 2008-05-04 2013-04-24 华为技术有限公司 生成码率兼容ldpc码及harq方案的方法及装置
CN101662290B (zh) * 2008-08-26 2013-08-28 华为技术有限公司 生成准循环ldpc码及编码的方法与装置
GB2471513B (en) * 2009-07-02 2013-09-25 Samsung Electronics Uk Ltd Encoding/decoding apparatus and method
JP5371623B2 (ja) 2009-08-13 2013-12-18 三菱電機株式会社 通信システム及び受信装置
US8196012B2 (en) 2009-10-05 2012-06-05 The Hong Kong Polytechnic University Method and system for encoding and decoding low-density-parity-check (LDPC) codes
EP2477335B1 (en) 2011-01-18 2019-05-29 Samsung Electronics Co., Ltd. Apparatus and method for transmitting and reveiving data in communication/broadcasting system
US9100052B2 (en) * 2013-02-01 2015-08-04 Samsung Electronics Co., Ltd. QC-LDPC convolutional codes enabling low power trellis-based decoders
US9306601B2 (en) 2013-02-13 2016-04-05 Qualcomm Incorporated LDPC design for high parallelism, low error floor, and simple encoding
KR102104937B1 (ko) * 2013-06-14 2020-04-27 삼성전자주식회사 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
CN103731160B (zh) * 2014-01-09 2016-08-17 西安电子科技大学 分组空间耦合低密度奇偶校验编码方法
KR101800409B1 (ko) 2014-02-19 2017-11-23 삼성전자주식회사 송신 장치 및 그의 인터리빙 방법
CN104168030B (zh) 2014-07-14 2017-11-14 北京邮电大学 一种基于本原域循环群两个生成元的ldpc码构造方法
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
CN104485970B (zh) * 2014-10-27 2017-07-28 清华大学 单码率、多码率qc‑ldpc码的模板矩阵的构造方法
CN104333390B (zh) * 2014-11-26 2019-08-06 西安烽火电子科技有限责任公司 一种ldpc码的校验矩阵的构造方法与编码方法
US20160173132A1 (en) 2014-12-10 2016-06-16 Alcatel-Lucent Usa Inc. Construction of Structured LDPC Convolutional Codes
US10469104B2 (en) * 2016-06-14 2019-11-05 Qualcomm Incorporated Methods and apparatus for compactly describing lifted low-density parity-check (LDPC) codes
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 华为技术有限公司 数据传输的方法、发送设备、接收设备和通信系统
CA3056908A1 (en) * 2017-03-22 2018-09-27 Ntt Docomo, Inc. User terminal and radio communication method
US10608665B2 (en) * 2017-03-24 2020-03-31 Mediatek Inc. Method and apparatus for error correction coding in communication
US10659079B2 (en) * 2017-05-05 2020-05-19 Mediatek Inc. QC-LDPC codes

Also Published As

Publication number Publication date
CA3051761A1 (en) 2018-11-08
EP3540948A1 (en) 2019-09-18
US20210242881A1 (en) 2021-08-05
RU2740151C1 (ru) 2021-01-12
CN110535474A (zh) 2019-12-03
US20220352903A1 (en) 2022-11-03
US10924134B2 (en) 2021-02-16
JP7171590B2 (ja) 2022-11-15
CA3051761C (en) 2021-11-16
AU2017413002A1 (en) 2019-09-05
MY195263A (en) 2023-01-11
CN110999091A (zh) 2020-04-10
BR112019023179A2 (pt) 2020-05-19
US10432219B2 (en) 2019-10-01
KR102205936B1 (ko) 2021-01-20
EP3540948A4 (en) 2019-12-11
JP2020518145A (ja) 2020-06-18
ZA201905493B (en) 2022-10-26
BR112019018329A2 (pt) 2020-03-31
CN109120276B (zh) 2019-08-13
US20200044665A1 (en) 2020-02-06
US11777521B2 (en) 2023-10-03
US20240048155A1 (en) 2024-02-08
CN109120276A (zh) 2019-01-01
BR112019023243A2 (pt) 2020-05-19
BR112019018329B8 (pt) 2021-09-21
US20190158114A1 (en) 2019-05-23
DE202017007614U1 (de) 2023-07-27
US11374591B2 (en) 2022-06-28
CN110535474B (zh) 2023-06-06
CN108809328B (zh) 2024-05-17
AU2017413002B2 (en) 2020-12-10
CN108809328A (zh) 2018-11-13
KR20190101476A (ko) 2019-08-30
MX2019010697A (es) 2020-01-27
JP2023014085A (ja) 2023-01-26

Similar Documents

Publication Publication Date Title
BR112019018329B1 (pt) Método para processamento de informação e aparelho em um dispositivo de comunicações
JP6815537B2 (ja) 情報処理方法、機器、及び通信装置
US20230361787A1 (en) Method and apparatus for low density parity check channel coding in wireless communication system
US11996863B2 (en) Method and apparatus for low density parity check channel coding in wireless communication system
WO2019001477A1 (zh) 信息处理的方法、装置和通信设备
CN110999091B (zh) 信息处理的方法和通信装置

Legal Events

Date Code Title Description
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B09W Correction of the decision to grant [chapter 9.1.4 patent gazette]

Free format text: O PRESENTE PEDIDO TEVE UM PARECER DE DEFERIMENTO NOTIFICADO NA RPI NO 2634 DE 29 DEJUNHO DE 2021. ATRAVES DA MENSAGEM FALE CONOSCO 959811, A REQUERENTE SOLICITA CORRIGIR OQUADRO REIVINDICATORIO, DA PETICAO DE DEFERIMENTO. AS CORRECOES QUE DEVERAO COMPOR A CARTAPATENTE SAO APRESENTADAS NA PETICAO 870210071551 DE 05/08/2021. DIANTE DISTO, CONCLUO PELARETIFICACAO DO PARECER DE DEFERIMENTO, DEVENDO INTEGRAR A CARTA PATENTE OS DOCUMENTOSQUE CONSTAM NO QUADRO 1 DESTE PARECER.

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.

B16C Correction of notification of the grant [chapter 16.3 patent gazette]

Free format text: REFERENTE AO DESPACHO 16.1 PUBLICADO NA RPI 2645 DE 14.09.2021, QUANTO AS REIVINDICACOES