BRPI0806757A2 - encodificação e decodificação de ldpc de pacotes de tamanhos variáveis - Google Patents

encodificação e decodificação de ldpc de pacotes de tamanhos variáveis Download PDF

Info

Publication number
BRPI0806757A2
BRPI0806757A2 BRPI0806757-0A BRPI0806757A BRPI0806757A2 BR PI0806757 A2 BRPI0806757 A2 BR PI0806757A2 BR PI0806757 A BRPI0806757 A BR PI0806757A BR PI0806757 A2 BRPI0806757 A2 BR PI0806757A2
Authority
BR
Brazil
Prior art keywords
parity check
check matrix
base
value
values
Prior art date
Application number
BRPI0806757-0A
Other languages
English (en)
Inventor
Aamod Khandekar
Thomas Richardson
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of BRPI0806757A2 publication Critical patent/BRPI0806757A2/pt

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1131Scheduling of bit node or check node processing
    • H03M13/1137Partly parallel processing, i.e. sub-blocks or sub-groups of nodes being processed in parallel
    • 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
    • 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
    • H03M13/1188Parity 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 wherein in the part with the double-diagonal at least one column has an odd column weight equal or greater than three
    • 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/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/6508Flexibility, adaptability, parametrability and configurability of the implementation
    • H03M13/6516Support of multiple code parameters, e.g. generalized Reed-Solomon decoder for a variety of generator polynomials or Galois fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0006Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
    • H04L1/0007Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format by modifying the frame length
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0009Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1812Hybrid protocols; Hybrid automatic repeat request [HARQ]

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Engineering & Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (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)

Abstract

ENCODIFICAçãO E DECODIFICAçãO DE LDPC DE PACOTES DE TAMANHOS VARIáVEIS. Técnicas para suportar encodificação e decodificação de verificação de paridade de baixa densidade (LDPC) são descritas. Em um aspecto, a encodificação e decodificação de LDPC de pacotes de tamanhos variáveis podem ser suportadas com um conjunto de matrizes de verificação de paridade base de diferentes dimensões e um conjunto de valores de elevação de diferentes potências de dois. Uma matriz de verificação de paridade base G de dimensões m~B~.n~B~ pode ser utilizada para encodificar um pacote de k~B~=n~B~-m~B~ bits de informação para obter uma palavra-código de n~B~ bits de código. Esta matriz de verificação de paridade base pode ser "elevada" por um valor de elevação de L para obter uma matriz de verificação de paridade elevada H de dimensão Lm~B~.Ln~B~. A matriz de verificação de paridade elevada pode ser utilizada para encodificar um pacote de até LkB bits de informação para obter uma palavra-código de LnB bits de código. Uma ampla faixa de tamanhos de pacotes pode ser suportada com o conjunto de matrizes de verificação de paridade base e o conjunto de valores de elevação.

Description

"ENCODIFICAÇÃO E DECODIFICAÇÃO DE LDPC DE PACOTES DE TAMANHOS VARIÁVEIS"
O presente pedido reivindica prioridade ao Pedido de Patente U.S. No. de Série 60/886,496, intitulado "LDPC HARMONIZATI0N", depositado em 24 de janeiro de 2007, cedido à cessionária deste e incorporado aqui por referência.
FUNDAMENTOS
I. CAMPO
A presente invenção refere-se em geral à comunicação, e mais especificamente a técnicas para encodificar e decodificar dados.
II. FUNDAMENTOS
Em um sistema de comunicação, um transmissor pode encodificar um pacote de dados para obter bits de códigos, intercalar os bits de código, e mapear os bits intercalados para símbolos de modulação. O transmissor pode então processar e transmitir os símbolos de modulação através de um canal de comunicação. O canal de comunicação pode distorcer a transmissão de dados com uma resposta de canal específico e ainda degradar a transmissão de dados com ruído e interferência. Um receptor pode obter símbolos recebidos, que podem ser distorcidos e versões degradadas dos símbolos de modulação transmitidos. O receptor pode processar os símbolos recebidos para recuperar o pacote transmitido.
A encodificação pelo transmissor pode permitir o receptor recuperar com confiança o pacote transmitido com os símbolos recebidos degradados. O transmissor pode desempenhar a encodif icação com base em um código de correção antecipada de erros (FEC) que gera redundância nos bits de código. O receptor pode utilizar a redundância para melhorar a probabilidade de recuperar o pacote transmitido.
Vários tipos de código de FEC podem ser utilizados para encodificação. Alguns tipos comuns de código de FEC incluem código convolucional, código Turbo, e código de verificação de paridade de baixa densidade (LDPC). Um código convolucional ou um código Turbo pode encodificar um pacote de k bits de informação e gerar um pacote codificado de aproximadamente r vezes k bits de código, onde l/r é a taxa de código do código convolucional ou Turbo. Um código convolucional pode prontamente encodificar um pacote de qualquer tamanho passando cada bit de informação através de um encodificador que possa operar em um bit de informação em um tempo. Um código Turbo pode também suportar diferentes tamanhos de pacotes empregando dois encodificadores eleitos que possam operar em um bit de informação em um tempo e um intercalador de código que possa suportar diferentes tamanhos de pacote. Um código LDPC pode possuir melhor desempenho que os códigos Turbo e convolucional sob certas condições de operação. No entanto, um código LDPC é tipicamente projetado para um tamanho especifico e pode não ser capaz de acomodar prontamente pacotes de tamanhos variáveis.
Existe, por conseguinte, uma necessidade na técnica por técnicas para suportar encodificação e decodificação de LDPC de pacotes de tamanhos variáveis.
SUMÁRIO
Técnicas para suportar encodificação e decodificação de LDPC são descritas aqui. Em um aspecto, encodificação e decodificação de LDPC de pacotes de tamanhos variáveis podem ser eficientemente suportadas com um conjunto de matrizes de verificação de paridade de base de diferentes dimensões e um conjunto de valores de suspensão de diferentes potências de dois. Uma matriz de verificação de paridade de base G de dimensão mB X nB pode ser utilizada para encodificar um pacote de acima de kB = ηΒ - Mb bits de informação para obter um pacote codificado ou palavra-código de nB bits de código. Esta matriz de verificação de paridade de base G pode ser "suspensa" por um valor de suspensão de L para obter uma matriz de verificação de paridade suspensa H de dimensão L.mB X L.nB.
A matriz de verificação de paridade suspensa H pode ser utilizada para encodificar um pacote de acima de L.kB bits de informação para obter uma palavra-código de L.nB bits de código. Uma ampla faixa de tamanhos de pacotes pode ser suportada com um conjunto relativamente pequeno de matrizes de verificação de paridade de base e um conjunto relativamente pequeno de valores de suspensão. A suspensão pode também permitir encodificação e decodificação paralela eficiente, que pode melhorar o desempenho. Adicionalmente, a suspensão pode reduzir a complexidade de descrição para códigos de LDPC grandes.
Em outro aspecto, um único conjunto de valores de deslocamento cíclico para elementos não-zero da matriz de verificação de paridade de base para um valor de suspensão (por exemplo, o valor de suspensão máxima) pode ser utilizado para gerar valores de deslocamento cíclico para totós os outros valores de suspensão de diferentes potências de dois. Em ainda outro aspecto, os valores de deslocamento cíclico de s e s+L/m podem ser selecionados para dois elementos não-zero em uma coluna de uma matriz de verificação de paridade de base possuindo pelo menos três elementos não-zero, onde s é um valor arbitrário e m é uma potência de dois. Em um projeto, m é igual a quatro, e os valores de deslocamento cíclico para os elementos não-zero são s e s+L/4. Estes valores de deslocamento cíclico podem simplificar a encodificação e decodificação.
Vários aspectos e características da descrição estão descritos em detalhes adicionais abaixo. BBEVE DESCRIÇÃO DOS DESENHOS
A Figura 1 mostra um sistema de comunicação sem fio.
A Figura 2 mostra um diagrama em blocos de uma estação base e um terminal.
A Figura 3 mostra um gráfico de Tanner para um exemplo de código de LDPC.
A Figura 4 mostra a suspensão de uma matriz de verificação de paridade de base.
A Figura 5 mostra um conjunto de quatro matrizes de permutação cíclica.
A Figura 6 mostra uma matriz de verificação de paridade suspensa.
A Figura 7 mostra outra representação da matriz de verificação de paridade suspensa.
A Figura 8 mostra um gráfico para uma matriz de verificação de paridade suspensa.
A Figura 9 mostra um processo para processar dados.
A Figura 10 mostra um equipamento para processar dados.
A Figura 11 mostra um processo para processar um pacote.
A Figura 12 mostra outro processo para processar um pacote.
A Figura 13 mostra um equipamento para processar um pacote.
A Figura 14 mostra ainda outro processo para processar um pacote.
A Figura 15 mostra outro equipamento para processar um pacote.
DESCRIÇÃO DETALHADA
As técnicas descritas aqui podem ser utilizadas para várias aplicações tais como comunicação, computação, funcionamento em rede, etc. As técnicas podem também ser utilizadas para vários sistemas de comunicação incluindo sistemas sem fio, sistemas com fio, etc. Para clareza, certos aspectos das técnicas são descritos abaixo por um sistema de comunicação sem fio.
A Figura 1 mostra um sistema de comunicação sem fio 100, que pode também ser referido como uma rede de acesso (AN) . Para simplicidade, somente uma estação base 110 e dois terminais 120 e 130 são mostrados na Figura 1. Uma estação base é uma estação que se comunica com os terminais e podem também ser referidos como um ponto de acesso, um Nó B, um Nó B envolvido, etc. Um terminal pode ser estacionário ou móvel e pode também ser referido como um terminal de acesso (AT), uma estação móvel, um equipamento de usuário, uma unidade de assinante, etc. um terminal pode ser um telefone celular, um assistente digital pessoal (PDA), um dispositivo de comunicação sem fio, um modem sem fio, um dispositivo manual, um computador laptop, um telefone com fio, etc. Um terminal pode se comunicar com uma estação base nos links direto e/ou reverso em um dado momento. O link direto (ou downlink) se refere ao link de comunicação proveniente das estações base para os terminais, e o link reverso (ou uplink) se refere ao link de comunicação proveniente dos terminais para as estações base. Na Figura 1, o terminal 120 pode receber dados a partir da estação base 110 através do link direto 122 e pode transmitir dados através do link reverso 124. O terminal 130 pode receber dados a partir da estação base 110 através do link direto 132 e pode transmitir dados através do link reverso 134. As técnicas descritas aqui podem ser utilizadas para transmissão no link direto bem como no link reverso. A Figura 2 mostra um diagrama em blocos de um projeto de estação base 110 e terminal 120 na Figura 1. Neste projeto, a estação base 110 é equipada com antenas S 224a a 224s, e o terminal 120 é equipado com antenas T 252a a 252t, onde em geral S≥1 e T≥1.
No link direto, na estação base 110, um processador de dados de transmissão (TX) 210 pode receber um pacote de dados proveniente de uma fonte de dados 208, processar (por exemplo, encodificar, intercalar, e mapear em símbolos) o pacote com base em um formato de pacote, e prover símbolos de dados, que sejam símbolos de modulação para dados. Um processador MIMO TX 220 pode multiplexar os símbolos de dados com símbolos piloto, desempenhar processamento espacial (por exemplo, precodificação) se aplicável, e prover S fluxos de símbolos de saída a S transmissores (TMTR) 222a a 222s. Cada transmissor 222 pode processar seu fluxo de símbolo de saída (por exemplo, para OFDM) para obter um fluxo de chip de saída. Cada transmissor 222 pode ainda condicionar (por exemplo, converter para análogo, filtrar, amplificar, e converter ascendentemente) seu fluxo de chip de saída e gerar um sinal de link direto. Sinais de link direto S provenientes dos transmissores 222a a 222s podem ser transmitidos através das antenas S 222a 224s, respectivamente.
No terminal 120, antenas T 252a a 252t podem receber os sinais de link direto provenientes da estação base 110, e cada antena 252 pode prover um sinal recebido a um respectivo receptor (RCVR) 254. Cada receptor 254 pode processar (por exemplo, filtrar, amplificar, converter descendentemente, e digitalizar) seu sinal recebido para obter amostras, processar adicionalmente as amostras (por exemplo, para OFDM) para obter símbolos recebidos, e prover os símbolos recebidos a um detector MIMO 256. O detector MIMO 256 pode desempenhar detecção MIMO nos símbolos recebidos, se aplicável, e prover símbolos detectados. Um processador de dados de recepção (RX) 260 pode processar (por exemplo, demapear símbolos, deintercalar, e decodificar) os símbolos detectados e prover dados decodificados a um depósito de dados 262. Em geral, o processamento através do detector MIMO 256 e o processador de dados RX 2 60 é complementar ao processamento através do processador MIMO TX 220 e o processador de dados TX 210 na estação base 110.
No link reverso, no terminal 120, um pacote de dados pode ser provido pela fonte de dados 278 e processada (por exemplo, encodifiçada, intercalada, e mapeada em símbolos) através de um processador de dados TX 280. Os símbolos de dados provenientes do processador de dados TX 280 podem ser multiplexados com símbolos piloto e espacialmente processados por um processador por um processador MIMO TX, e ainda processados pelos transmissores 254a a 254t para gerar sinais de link reverso T, que podem ser transmitidos através das antenas 252a a 252t. Na estação base 110, os sinais de link reverso provenientes do terminal 120 podem ser recebidos pelas antenas 224a 224s, processados pelos receptores 222a a 222s, detectados por um detector MIMO 238, e ainda processados por um processador de dados RX 240 para recuperar o pacote enviado pelo terminal 120.
Os controladores/processadores 230 e 270 podem direcionar a operação na estação base 110 e terminal 120, respectivamente. Os controladores/processadores 230 e 270 podem determinar os tamanhos de pacotes para serem transmitidos e/ou recebidos, os controladores/processadores 230 e 270 podem então direcionar a encodificação pelos processadores de dados TX 210 e 280, respectivamente, e/ou direcionar a decodificação pelos processadores de dados RX 240 e 260, respectivamente. As memórias 232 e 272 podem armazenar códigos de dados e programas para a estação base 110 e terminal 120, respectivamente.
Em um aspecto, a encodificação ou decodificação de LDPC de pacotes de tamanhos variáveis pode ser eficientemente suportada com um conjunto de matrizes de verificação de paridade de base de diferentes dimensões e um conjunto de valores de suspensão de diferentes potências de dois. As matrizes de verificação de paridade de base podem ser para códigos de LDPC base de diferentes taxas (kB, nB) , onde kB é o número de bits de informação e nB é o número de bits de código. Cada código de LDPC base pode ser elevado como descrito abaixo para obter um conjunto de códigos LDPC elevados, que podem ser utilizados para encodificar ou decodificar pacotes de tamanhos diferentes. Uma faixa de tamanhos de pacotes pode ser suportada por códigos de LDPC de prolongação ou encurtamento pela adição ou remoção de bits de paridade em um gráfico base.
Um código de LDPC pode ser definido por uma matriz de verificação de paridade escassa possuindo relativamente poucos elementos não-zero/não-nulos e na maioria das vezes elementos zero/nulos. A matriz de verificação de paridade define um conjunto de restrições lineares nos bits de código e pode ser representada na forma de um gráfico de Tanner.
A Figura 3 mostra um gráfico de Tanner 300 para um exemplo de código de LDPC base. Neste exemplo, o gráfico de Tanner inclui sete nós variáveis Vi a V7 representados por sete círculos e quatro nós de verificação Cl a C4 representados por quatro quadrados. Cada nó variável representa um bit de código, que pode ser transmitido ou puncionado (isto é, não transmitido) . Os sete bits de código para nós variáveis Vi a V7 formam uma palavra- código. Cada nó de verificação representa uma restrição, e os quatro nós Cl a C4 representaram as quatro restrições que definem o código de LDPC base. Os nós variáveis são conectados aos nós de verificação através das bordas. Neste exemplo, 16 bordas a a ρ conectam os sete nós variáveis para os quatro nós de verificação. O grau de um nó é igual ao número de bordas conectadas àquele nó. Neste exemplo, nós variáveis V1 e V2 são graduados nós 3, e nós variáveis V3 a V7 são graduados nós 2. Para cada nó de verificação, todos os bits de código nos nós variáveis acoplados àquele nó de verificação são restringidos à soma para 0 (módulo 2) .
A Figura 3 também mostra uma matriz de verificação de paridade base Hjb correspondendo ao gráfico de Tanner 300. Hjb inclui setes colunas para os sete nós variáveis Vi a V7 e quatro linhas para os quatro nós de verificação Ci a C4. Cada coluna de Hjb inclui um elemento 1 para cada borda conectada ao nó variável correspondendo àquela coluna. Por exemplo, a coluna 1 inclui três Is nas linhas 1, 2, e 3 para as três bordas a, b e c conectando os nós variáveis correspondentes V1 para os nós de verificação C1, C2 e C3 no gráfico de Tanner 300. Cada coluna restante de Hb, inclui dois ou três Is para duas ou três bordas conectando os nós variáveis correspondentes aos dois ou três nós de verificação.
As restrições para um código de LDPC podem ser expressas na forma de matriz como:
O = Hx, Eq(I)
Onde: H é uma matriz de verificação de paridade mB x nB para um código de LDPC,
χ é um vetor de coluna mB x 1 de bits de código nB para uma palavra-código, e
0 é um vetor de coluna de todos os zeros.
Por simplicidade, 0 pode significar um vetor ou uma matriz de todos os zeros na descrição abaixo. A multiplicação de matriz na equação (1) é com módulo-2 aritmético. Uma palavra-código é considerada como válida se as restrições na equação (1) forem satisfeitas. A encodificação de um pacote baseado na matriz de verificação de paridade H para obter o livro-código χ é descrito abaixo.
Um código de LDPC base pequeno pode ser elevado para obter um código de LDPC elevado maior. A suspensão pode ser alcançada pela recolocação de cada elemento não- zero em uma matriz de verificação de paridade base para o código de LDPC base com uma matriz de permutação LxL para obter uma matriz de verificação de paridade suspensa para o código de LDPC elevado. Isto resulta em L cópias de um gráfico base para o código de LDPC base sendo gerado. As matrizes de permutação determinam como os nós variáveis em cada cópia de gráfico estão conectados aos nós de verificação nas cópias de gráfico L.
A Figura 4 mostra um exemplo de suspensão para a matriz de verificação de paridade base Hjb mostrada na Figura 3. Cada elemento não-zero Hb (que corresponde a uma borda no gráfico de Tanner) é recolocado com uma matriz de permutação L x L σ para obter uma matriz de verificação de paridade suspensa H1. As 16 matrizes de permutação para os 16 elementos não-zero de Hb são denotadas como σa a σρ, onde σa é a matriz de permutação para borda a na Figura 3.
As matrizes de permutação podem ser definidas de várias maneiras. Em um projeto, um conjunto de matrizes de permutação podem ser predefinidas, e a matriz de permutação para cada elemento não-zero da matriz de verificação de paridade base pode ser selecionada a partir deste conjunto de matrizes de permutação. Em outro projeto, as matrizes de permutação ciclica são utilizadas para elementos não-zero da matriz de verificação de paridade base.
A Figura 5 mostra um conjunto de quatro matrizes de permutação ciclica para L= 4. Neste exemplo, cada matriz de permutação possui a dimensão 4 χ 4. A matriz de permutação Go para um valor de deslocamento cíclico de zero é igual a uma matriz identidade I possuindo uns ao longo da diagonal e zeros em outras. A matriz de permutação G1 para um valor de deslocamento cíclico de um possui a linha mais baixa da matriz identidade movida ou deslocada para cima. A matriz de permutação G2 para um valor de deslocamento cíclico de dois possui as duas linhas mais baixas da matriz identidade movidas para cima. A matriz de permutação G3 para um valor de deslocamento cíclico de três possui as três linhas mais baixas da matriz identidade movidas para cima. Em geral, uma matriz de permutação L χ L Gs para um valor de deslocamento cíclico de s possui as s linhas mais baixas da matriz identidade movidas para cima, onde 0 < s < L-I.
A Figura 6 mostra um exemplo da matriz de verificação de paridade suspensa H1 na Figura 4 com cada uma das 16 matrizes de permutação Ga a Gp sendo recolocada com uma das quatro matrizes de permutação cíclica G0 a G3 mostrada na Figura 5. O fundo da Figura 6 mostra a matriz de verificação de paridade suspensa H1 com cada matriz de permutação cíclica sendo recolocada com sua matriz 4x4 correspondente de uns e zeros.
Recolocar cada elemento não-zero da matriz de verificação de paridade Hjb com uma matriz de permutação 4x4 resulta em quatro cópias do gráfico base para o código de LDPC base sendo gerado. Para uma matriz de permutação 4x4 correspondendo a um nó variável dado Vu e um nó de verificação dado Cv, as quatro colunas desta matriz de permutação correspondem ao nó variável Vu nas quatro cópias de gráfico, e as quatro linhas desta matriz de permutação correspondem ao nó de verificação Cv nas quatro cópias de gráfico. Os 1s na matriz de permutação correspondem às bordas conectando nós variáveis Vu nas quatro cópias de gráfico. Em particular, um 1 na coluna χ da linha y significa que os nós variáveis Vu na cópia de gráfico χ está conectado ao nó de verificação Cu na cópia de gráfico Cu. Como um exemplo, a matriz de permutação cíclica σχ é utilizada para o elemento não-zero para nós variáveis V1 e nó de verificação C1 em H1. A matriz G1 inclui um 1 na coluna de linha 2, que significa que nós variáveis V1 na cópia de gráfico 1 está conectado ao nó de verificação C1 na cópia de gráfico 2.
A Figura 7 mostra uma representação de uma matriz de verificação de paridade suspensa H1 gerada com base na matriz de verificação de paridade base Hb mostrada na Figura 3 com L = 8. Nesta representação, uma rede 8 χ 16 710 armazena as bordas para os setes nós variáveis em oito cópias de gráfico. Cada linha da rede 710 corresponde a uma cópia de gráfico. As 16 caixas em cada linha correspondem as 16 bordas a a ρ para os sete nós variáveis em uma cópia de gráfico. Uma rede 8X16 720 armazena as bordas para os quatro nós de verificação em todas as oito cópias de gráfico. Cada linha da rede 720 corresponde a uma cópia de gráfico. As 16 caixas em cada linha correspondem as 16 bordas a a ρ para os quatro nós de verificação em uma cópia de gráfico.
A Figura 7 também mostra as conexões entre as oito cópias de nós variáveis V2 e as oito cópias do nó de verificação C2 para borda d, que possui matriz de permutação σ3 neste exemplo. Desse modo, as oito cópias da borda d são deslocadas ciclicamente para baixo por três posições devido à matriz σ3. Cada uma das bordas restantes pode ser deslocada ciclicamente por um valor dentro de uma faixa de 0 a 7 para L = 8.
Em geral, uma rede pode incluir uma coluna para cada borda na matriz de verificação de paridade base e uma linha para cada uma das cópias de gráfico L. As L cópias de cada borda podem ser deslocadas ciclicamente por uma quantidade determinada pela matriz de permutação cíclica para aquela borda.
As Figuras 3 a 6 mostram um exemplo de código de LDPC base com a matriz de verificação de paridade base Hjb mostrada na Figura 3 e suspensão deste código de LDPC base para obter um código de LDPC maior com a matriz de verificação de paridade suspensa Hb mostrada na Figura 6. A suspensão de diferentes tamanhos pode ser alcançada utilizando matrizes de permutação cíclica de diferentes dimensões. As bordas da matriz de verificação de paridade base Hjb podem ser deslocadas ciclicamente por um valor dentro de uma faixa de o a L-1. Os valores de deslocamento cíclico para as bordas da matriz de verificação de paridade base podem ser selecionados com base no desempenho da codificação.
Em um projeto, um conjunto de seis códigos de LDPC base pode ser definido para diferentes valores de kB variando de 6 a 11. A tabela 1 lista vários parâmetros dos seis códigos de LDPC base de acordo com um projeto. Em um projeto, os seis códigos de LDPC base podem ser implementados como descrito em 3GPP2 C.S0084-001, intitulado "Physical Layer for Ultra Mobile Broadband (UMB) Air Interface Specification", Agosto de 2007, que está publicamente disponível. Os códigos de LDPC base podem ser implementados com outros projetos.
Tabela 1
<table>table see original document page 15</column></row><table>
Em um projeto, um conjunto de nove valores de suspensão de 4, 8, 16, 32, 64, 128, 256, 512 e 1024 pode ser suportado. Neste projeto, o valor de suspensão menos é Lmin = 4, e o valor de suspensão maior é Lmax = 1024. Estes valores de suspensão são potências diferentes de dois, o que pode prover certas vantagens. Um total de 54 diferentes tamanhos de pacotes variando de 24 a 11.264 bits pode ser suportado com os seis códigos de LDPC com kB variando de 6 a 11 e nove valores de suspensão variando de 4 a 1024. Em geral, qualquer faixa de valores de suspensão pode ser suportada, e Lmin e Lmax podem ser quaisquer valores adequáveis.
A tabela 2 dá parâmetros da matriz de verificação de paridade base G0 de acordo com um projeto. Como mostrado na Tabela 1, Go possui dimensões de 27 χ 33 e inclui 27 linhas com índices de 0 a 26 e 33 colunas com índices de 0 a 32. Para cada linha, a segunda coluna da Tabela 2 dá o grau de linha, que corresponde ao número de elementos não- zero na linha. A terceira coluna da Tabela 2 dá as posições da coluna dos elementos não-zero em cada linha. A quarta coluna da Tabela 2 dá o valor de deslocamento cíclico para cada elemento não-zero em cada linha. Para Lmax = 1024, os valores de deslocamento estão dentro de uma faixa de 0 a 1023. Os projetos de exemplos de matrizes de verificação de paridade Gl a G5 estão descritos no 3GPP2 C.S0084-001, acima mencionado.
Tabela 2 - Matriz de Verificação de Paridade Base G0
<table>table see original document page 16</column></row><table> Em um projeto, uma matriz de verificação de paridade base e um valor de suspensão podem ser selecionados para um pacote de tamanho k como segue: Primeiro, um valor de suspensão L pode ser selecionado com base no tamanho de pacote k como segue:
L = 2-[log2(k/kBilMX), Eq (2)
Onde kg, Max é o número máximo de bits de informação para todos os codigos de LDPC base, e "[]" significa um operador teto.
Uma matriz de verificação de paridade base pode então ser selecionada com base no tamanho de pacote k e no valor de suspensão L selecionado como segue:
kB k/L] . Eq (3)
O índice da matriz de verificação de paridade base pode ser dado como i = kB - β. A matriz de verificação de paridade base selecionada é denotada com G na descrição a seguir.
A matriz de verificação de paridade base selecionada Geo valor de suspensão selecionado L podem encodificar até kB-L bits de informação e prover nB*L bits de código. O pacote pode ser cheio de zero para comprimento kB-L pelo anexo Zp = kB-L-K zeros na extremidade do pacote. O pacote enchido de zero pode ser encodificado com a matriz de verificação de paridade suspensa para obter nB-L bits de código. Para um código (n,k), o pacote enchido de zeros bem como bits de paridade nB.L-n-Zp podem ser puncionados para obter uma palavra-código de n bits de código.
Para encodificar o pacote, uma matriz de verificação de paridade suspensa H pode primeiro ser gerado com base na matriz de verificação de paridade selecionada G e o valor de suspensão selecionado L. O pacote pode então ser encodificado com base na matriz de verificação de paridade suspensa H.
Para gerar a matriz de verificação de paridade suspensa Η, o valor de deslocamento cíclico para cada elemento não-zero da matriz de verificação de paridade base selecionado G pode ser determinado como segue:
<formula>formula see original document page 18</formula> Eq(4)
Onde: g é um valor de deslocamento cíclico para elemento não-zero de G assumindo suspensão por Lmax, e
g' é um valor de deslocamento cíclico para um elemento não-zero de G com suspensão por L
A quarta coluna da Tabela 2 dá os valores de deslocamento cíclico para elementos não-zero de Go para Lmax = 1024. Os valores de deslocamento cíclico para elementos não-zero de outras matrizes de verificação de paridade base podem ser gerados e armazenados em tabelas similares. Em geral, os valores de deslocamento cíclico para elementos não-zero de G podem ser gerados para Lmax e podem ser utilizados para todos os valores de suspensão de Lmin a Lmax. Isto pode simplificadamente projetar uma vez que somente um conjunto de valore de deslocamento cíclico pode ser armazenado para G e utilizado para todos os valores de suspensão. A equação (4) essencialmente remove zero ou os bits menos insignificantes (LSBs) de g para obter g' para os valores de suspensão selecionados L. Para o projeto com Lmax = 10024, um LSB pode ser removido se L = 512, dois LSBs podem ser removidos se L=256, etc. A remoção dos LSBs pode preservar a relação entre parâmetros de deslocamento diferentes, por exemplo, s' = s+L/4 descrito abaixo, que pode simplificar a encodificação. Em outro projeto, zero ou mais bits mais signif icantes (MSBs) de g podem ser removidos desempenhando operação de módulo-L para obter g'. g' pode também ser obtido de outras maneiras.
Em um projeto, cada elemento não-zero de G pode ser recolocado com uma matriz de permutação ciclica ag-, para obter a matriz de verificação de paridade suspensa H. σ9< pode ser obtido ciclicamente deslocando a matriz identidade I por g' . Em outro projeto, cada elemento não- zero de G pode ser recolocado com uma matriz 2x2 para
<formula>formula see original document page 19</formula>
obter uma matriz G' . Esta matriz 2x2 pode ser se g' for um mesmo valor ou
<formula>formula see original document page 19</formula>
se g' for um
valor impar. Cada elemento não-zero de G' pode então ser recolocado com uma matriz de permutação ciclica que é ciclicamente deslocada por g'/2, (g'-l)/2, ou (g'+l)/2 para obter a matriz de verificação de paridade base Η. H pode ser gerada com base em G de outras maneiras.
As colunas e linhas da matriz de verificação de paridade suspensa H pode ser rearranjada ou permutada de modo que a matriz resultante tenha a seguinte forma:
<formula>formula see original document page 19</formula>
Onde Mi é uma matriz M χ N, com N = M-Jcb-L,
M2 é uma matriz (mB-L-M) *M, e
0 é uma matriz Mx (nB-L-N) toda de zeros.
A matriz identidade no canto direito inferior de H pode ser recolocada com uma matriz triangular, que pode ter elementos não-zero abaixo da diagonal.
A dimensão de Mi pode ser dependente na matriz de verificação de paridade base e pode ser uma função de índice de código i. Mi pode ter a seguinte forma: <formula>formula see original document page 20</formula>
sendo invertível,
Eq (6)
Onde A é uma matriz (M-L/2) χ (Icb-L) ,
B é uma matriz (M- L/2) χ (L/2),
C é uma matriz (L/2) χ (Icb-L) ,
D é uma matriz (L/2) χ (L/2),
E é uma matriz (L/2) χ (N-kB-L) , e
T é uma matriz triangular inferior (M-L/2) χ (M-L/2) possuindo uns ao longo da diagonal e zeros acima da diagonal.
As restrições para o código de LDPC elevado podem ser expressas como:
<formula>formula see original document page 20</formula>
Eq (7)
Onde: Xi é um vetor de coluna N χ 1 de bits de informação e bits de paridade, e
p3 é um vetor de coluna (nB-L-N) χ 1 de bits de paridade.
Devido à matriz de zero 0 na curva direita superior de H na equação (5), uma parte da equação (7) pode ser expressa como:
<formula>formula see original document page 20</formula>
Eq(B)
Onde: s é um vetor de coluna (kB-L) χ 1 dos bits de informação no pacote,
pi é um vetor de coluna (L/2) χ 1 de bits de paridade, e
p2 é um vetor de coluna (M-L/2) χ 1 de bits de paridade. Para resolver pela equação (8), Mi pode ser pré-
multiplicada com
<formula>formula see original document page 21</formula>
como segue:
<formula>formula see original document page 21</formula>
Onde <*>=ET-1B + D.
As equações (8) e (9) podem ser combinadas para obter:
<formula>formula see original document page 21</formula>
Eq(II)
Os bits de paridade p1, p2 e P3 podem então ser computados como segue:
<formula>formula see original document page 21</formula>
Onde X1 inclui s, p1, e p2 como mostrado na equação (8) . Se a matriz identidade na curva direita inferior de H for recolocada com uma matriz triangular inferior, então a equação (14) pode ser resolvida utilizando substituição traseira (cima para baixo).
A computação para pi, e Ρ3 pode ser simplificada desempenhando a multiplicação da matriz nas equações (12) e (13) em etapas, armazenando resultados intermediários, e utilizando os resultados intermediários para etapas posteriores.
A matriz de verificação de paridade suspensa H 4está para a taxa de código mais baixa, que pode se dada como r = kB/nB. H pode ser puncionada para obter taxas mais altas. Os códigos de LDPC estão estruturados como um código de LDPC de "núcleo" interno com bits de paridade externa. A encodificação pode ser desempenhada em uma maneira seqüencial para obter o número desejado de bits de código. Por exemplo, bits de paridade pi podem ser computados primeiro como mostrado na equação (12), então os bits de paridade P2 podem ser computados em seguida (se necessário) como mostrado na equação (13), e então os bits de paridade P3 podem ser computados por último (se necessário) como mostrado na equação (14).
O sistema pode suportar a retransmissão automática híbrida (HARQ). Por HARQ, um transmissor pode enviar uma primeira transmissão de um pacote para um receptor e pode a seguir enviar uma ou mais transmissões adicionais (ou retransmissões) se necessário até o pacote ser corretamente decodificado pelo receptor, ou o número máximo de transmissões que tem sido enviado, ou alguma outra condição de terminação é encontrada. HARQ pode melhorar a confiabilidade da transmissão de dados. Para cada código de LDPC base, uma seqüência de extensões de HARQ pode ser gerada para abranger todas as taxas de código pelo sistema. As extensões de HARQ podem ser definidas pelo puncionamento de bits de paridade. A maioria do puncionamento pode ser no terceiro bit de paridade P3, porém alguns dos puncionamentos podem ser no segundo bit de paridade p2.
A Figura 8 mostra um gráfico base 800 de uma matriz de verificação de paridade base G, que pode ter a forma mostrada nas equações (5) e (6). O gráfico 800 é utilizado somente para ilustração e não compara-se a qualquer das matrizes de verificação de paridade base descrita acima. O gráfico base 800 inclui um número de caixas quadradas, com cada caixa quadrada representando um elemento na matriz de verificação de paridade base. Cada elemento não-zero da matriz de verificação de paridade base é representado por uma caixa marcada. Cada caixa marcada é associada a um valor de deslocamento cíclico que determina a quantidade de deslocamento cíclico para as cópias das bordas L pela suspensão da matriz de verificação de paridade base por um valor de suspensão de L.
Uma palavra-código é composta de bits de informação e bits de paridade ao longo do topo do gráfico 800. Os bits na palavra-código podem ser transmitidos iniciando da esquerda e se movendo para a direita, exceto para alguma reordenação das colunas de paridade.
O gráfico base 800 compreende bits de informação s, primeiros bits de paridade pi, segundo bits de paridade p2, e terceiro bit de paridade P3 ao longo do topo do gráfico base. O primeiro bit de paridade é associado a um primeiro conjunto de restrições, o segundo bit de paridade é associado a um segundo conjunto de restrições, e o terceiro bit de paridade é associado a um terceiro conjunto de restrições. A parte de núcleo do gráfico base 800 consiste em nós variáveis representando os bits de informação e o primeiro e segundo bits de paridade e os nós de restrição representando o primeiro e segundo conjuntos de restrições. A parte de núcleo tipicamente não contém nenhum nó variável de grau 1. O terceiro bit de paridade e as restrições do terceiro conjunto de restrições (ou terceira restrição de paridade) são em correspondência de um-para-um com · cada outro, o que é mostrado pela matriz identidade na curva direita inferior do gráfico base 800. O terceiro bit de paridade e a terceira restrição de paridade pode ser linearmente ordenada de modo que cada terceiro bit de paridade possa ser determinado como uma paridade de bits de informação, primeiro bit de paridade, segundo bit de paridade, e precedendo o terceiro bit de paridade. Um terceiro nó de restrição de paridade associado a um terceiro bit de paridade pela correspondência de um para um é conectado pelas bordas a um nó variável do terceiro bit de paridade bem como nós representando os bits dos quais este terceiro bit de paridade é um bit de paridade.
0 projeto mostrado na Figura 8 inclui várias características que podem simplificar a encodificação. Os nós variáveis do primeiro e segundo nós de paridade estão tanto em grau 2 ou grau 3. Para simplificar a encodificação, um primeiro bit de paridade pode ser associado a um nó variável de grau 3, e o segundo bit de paridade pode ser associado a um nó variável de grau 2. 0 nó variável de grau 3 é mostrado pela coluna 810 para matrizes B e D, que inclui três caixas quadradas sombreadas para três elementos não-zero. 0 nó variável de grau 2 pode ser configurado em uma estrutura de cadeia acumulada, que é também conhecida como estrutura diagonal dupla. Esta estrutura diagonal dupla é mostrada pela matriz triangular T possuindo duas caixas marcadas empilhadas em cada coluna de Τ. A estrutura diagonal dupla pode possuir significância no desempenho de código e encodificação. Possuir um grande número de nós variáveis de grau 2 pode melhorar o desempenho, e possuir nós variáveis de grau 2 na forma diagonal dupla quase satura esta possibilidade. A estrutura diagonal dupla também permite os nós variáveis de grau 2 para serem facilmente encodifiçados recursivamente, muito próximo a um código convolucional. Quando ordenado propriamente, a estrutura da matriz H pode estar incluída a sub-matriz T com somente a diagonal (1,1), (2,2), etc., bem como a sub-diagonal (2,1), (3,2), etc., contendo elementos não-zero. Freqüentemente, as bordas correspondendo à estrutura diagonal dupla são dadas valor de suspensão 0, significando nenhuma permutação, formando cadeias separadas L no gráfico elevado.
Duas das bordas dos nós variáveis de grau 3 podem se conectar no gráfico base de modo que feche uma malha em um gráfico associado à estrutura diagonal dupla. Para simplificar a encodificação nesta situação, os valores de suspensão para as três bordas do nó variável de grau 3 podem estar na forma x, s, s' = (s+L/m) modo L, onde m é a potência de 2, e χ e s podem ser valores arbitrários. Quando todos os deslocamentos cíclicos forem revezados, o código é inalterado porque esta quantidade reveza a ordem dos nós de restrição em uma suspensão. Desse modo, os valores de suspensão da forma x, s, s' = (s+L/m) modo L podem também ser utilizados. A encodif icação pode ser simplificada devido à matriz φ = -ET-1B+D poder ser faturada com fatores de baixo grau e ser por si própria de baixo peso.
Os valores de deslocamento cíclico para elementos não-zero do nó variável de grau 3 podem ser s e s' , onde s pode ser um valor selecionado arbitrariamente e s' pode ser selecionado de várias maneiras. Em um primeiro projeto, s'-s e é uma matriz de permutação. Para este projeto, o código de LDPC elevado possui uma malha passando através do comprimento da cadeia acumulado do gráfico base (nós de grau 2) e um nó de grau 3. A malha ocorre com multiplicidade L, que pode resultar em desempenho de piso de erro sub-otimizado, especialmente uma vez que o gráfico base possui uma cadeia acumuladora curta. Em outro projeto, s'=s+L/2 e φ~1 é uma soma de três matrizes de permutação. Para este projeto, a malha correspondente no código de LDPC elevado passa através do comprimento da cadeira acumuladora do gráfico base (nós de grau 2) e dois nós de grau 3. A complexidade de multiplicação por φ'1 pode ainda ser pequena. No entanto, este projeto pode ainda ser suscetível a alguns pisos de erro. Em um terceiro projeto, s' = s+L/4 e φ'1 é a soma de nove matrizes de permutação. A malha correspondente no código de LDPC elevado passa através do comprimento da cadeia acumuladora do gráfico base (nós de grau 2) e quatro nós de grau 3. A complexidade de multiplicação por φ'1 pode ainda ser pequena uma vez que φ"1 pode ainda ser uma matriz escassa. Este projeto pode simplificar a encodificação enquanto evita problemas associados aos pisos de erro. O valor de deslocamento cíclico para o terceiro elemento não-zero pode ser x, que pode ser outro valor arbitrariamente selecionado.
As técnicas descritas aqui podem ser utilizadas para suportar uma ampla faixa de tamanhos de pacotes. Um tamanho de pacote adequável pode ser selecionado com base em vários fatores tais como condições do canal (que podem ser dadas através de eficiência espectral ou formato de pacotes), quantidade de recursos atribuídos, overhead piloto, ranque MIMO, etc. As técnicas são permitidas para geração de bons códigos compatíveis com a taxa para quaisquer valores de k e η utilizando um número pequeno de códigos de LDPC base.
Os códigos de LDPC descritos aqui podem capacitar as implementações paralelas do decodificador e do encodificador de várias formas. Para uma implementação do decodificador em paralelo com a borda, as bordas no gráfico base podem ser processadas em um modo em série, e o paralelismo pode ser alcançado processando simultaneamente cópias L da mesma borda. Para uma implementação de decodificador paralela ao nó, diferentes cópias do gráfico base podem ser processadas em um modo em série, e o paralelismo pode ser alcançado processando simultaneamente diferentes nós no gráfico base. Utilizando as matrizes de permutação cíclica com tamanhos restritos para potências de dois, a suspensão pode ser facilmente implementada utilizando uma operação de contagem, especialmente para a implementação paralela ao nó. A operação de contagem se refere ao andamento através de um ciclo em L contando de x a x+1 modo L. Esta restrição no tamanho de suspensão pode assegurar que todos os diferentes tamanhos de suspensão possuem um grande fator comum, que pode ser uma importante propriedade para uma implementação do decodificador paralela à borda. A estrutura do código de LDPC descrita aqui pode suportar ambas as implementações eficazes do decodificador paralelas ao nó e paralelas à borda. Adicionalmente, as descrições do gráfico são compactas e provêem redução de complexidade fundamental.
A Figura 9 mostra um projeto de um processo 900 para processar dados. 0 processo 900 pode ser desempenhado por uma estação base, um terminal, ou alguma outra entidade. Os pacotes de tamanhos variáveis podem ser encodifiçados ou decodificados com base em um conjunto de matrizes de verificação de paridade base de diferentes dimensões e um conjunto de valores de suspensão de diferentes potências de dois (bloco 912). O conjunto de matrizes de verificação de paridade base pode compreender matrizes de verificação de paridade base para 6, 7, 8, 9, 10 e 11 bits de informação, como descrito acima, para kB a 2kB-l bits de informação, para kB+l a 2kB bits de informação, ou para alguma outra faixa de bits de informação. O conjunto de matrizes de verificação de paridade base pode também incluir alguma outra combinação de matrizes de verificação de paridade base. O conjunto de valores de suspensão pode compreender valores de suspensão para 4, 8, 16, 32, 64, 128, 256, 512 e 1024, como descrito acima, ou alguma outra faixa ou combinação de valores de suspensão. Os parâmetros (por exemplo, valores de deslocamento cíclico) para o conjunto de matrizes de verificação de paridade base podem ser armazenados para uso para encodificar ou decodificar pacotes de tamanhos variáveis (bloco 914). Cada matriz de verificação de paridade base pode compreender uma pluralidade de elementos não-zero em uma pluralidade de localizações. Cada elemento não-zero pode ser associada a um valor de deslocamento cíclico dentro de uma faixa de 0 a Lmax-I, onde Lmax é um valor de suspensão máximo. Uma pluralidade de valores de deslocamento cíclico pode ser armazenada para a pluralidade de elementos não-zero de cada matriz de verificação de paridade base. Os valores de deslocamento cíclico para todos os valores de suspensão para ,cada matriz de verificação de paridade base pode ser determinada com base nos valores de deslocamento cíclico armazenados para aquela matriz de verificação de paridade base.
A Figura 10 mostra um projeto de um equipamento 1000 para processar dados. 0 equipamento 1000 inclui dispositivos para encodificar ou decodificar pacotes de tamanhos variáveis com base em um conjunto de matrizes de verificação de paridade de dimensões diferentes e um conjunto de valores de suspensão de diferentes potências de dois (módulo 1012), e dispositivos para armazenar parâmetros (por exemplo, valores de deslocamento cíclico) para o conjunto de matrizes de verificação de paridade base (bloco 1014) .
A Figura 11 mostra um projeto de um processo 1100 para processar um pacote, que pode ser utilizado para o bloco 912 na Figura 9. Um tamanho de pacote de um pacote a ser encodificado ou decodificado pode ser determinado (bloco 1112). Um valor de suspensão pode ser selecionado a partir do conjunto de valores de suspensão com base no tamanho de pacote, por exemplo, como mostrado na equação (2) (bloco 1114). Uma matriz de verificação de paridade base pode ser selecionada a partir do conjunto de matrizes de verificação de paridade base com base no tamanho de pacote e no valor de suspensão selecionado, por exemplo, como mostrado na equação (3) (bloco 1116). Uma matriz de verificação de paridade suspensa pode ser gerada com base na matriz de verificação de paridade base selecionada e no valor de suspensão selecionado (bloco 1118). O pacote pode ser encodificado ou decodificado com base na matriz de verificação de paridade suspensa (bloco 1120).
Para o bloco 1118, a matriz de verificação de paridade suspensa pode ser gerada ainda com base em valores de deslocamento cíclico para elementos não-zero da matriz de verificação de paridade base selecionada. Os valores de deslocamento cíclico para a matriz de verificação de paridade suspensa pode ser computada com base nos valores de deslocamento cíclico para os elementos não-zero da matriz de verificação de paridade selecionada e valores de suspensão selecionados, por exemplo, como mostrado na equação (4). A matriz de verificação de paridade suspensa pode então ser gerada recolocando cada elemento não-zero da matriz de verificação de paridade base selecionada com uma matriz de permutação cíclica de um valor de deslocamento cíclico computado para aquele elemento não-zero.
Para a encodif icação no bloco 1120, os bits de informação no pacote podem ser encodifiçados com base na matriz de verificação de paridade suspensa para obter primeiros bits de paridade, por exemplo, como mostrado na equação (12). Os bits de informação e os primeiros bits de paridade podem ser encodifiçados com base na matriz de verificação de paridade suspensa para obter o segundo bit de paridade, por exemplo, como mostrado na equação (13). Os bits de informação, os primeiros bits de paridade, e o segundo bit de paridade podem ser encodifiçados com base na matriz de verificação de paridade suspensa para obter o terceiro bit de paridade, por exemplo, como mostrado na equação (14) .
Para decodificação no bloco 1120, um gráfico grande para a matriz de verificação de paridade suspensa pode ser gerado com base nas L cópias de um gráfico base para a matriz de verificação de paridade base selecionada, onde L é o valor de suspensão selecionado. Os nós das L cópias do gráfico base podem ser interconectados com base nas matrizes de permutação para os elementos não-zero da matriz de verificação de paridade base selecionada. 0 gráfico base pode compreender uma pluralidade de bordas para os elementos não-zero da matriz de verificação de paridade base selecionada. Para decodificação paralela às bordas, decodificação pode ser desempenhada em paralelo para as L cópias de mesma borda nas L cópias do gráfico base e pode ser desempenhado seqüencialmente para diferentes bordas nas L cópias do gráfico base. Para decodificação paralela ao nó, a decodificação pode ser desempenhada em paralelo para os nós de cada cópia do gráfico e pode ser desempenhada seqüencialmente para as L cópias do gráfico base.
A Figura 12 mostra um projeto de um processo 1200 para processar um pacote. Um primeiro conjunto de valores de deslocamento cíclico para uma matriz de verificação de paridade de um primeiro tamanho de suspensão pode ser determinado com base em um segundo conjunto de valores de deslocamento cíclico para uma segunda matriz de verificação de paridade de um segundo tamanho de suspensão (bloco 1212). Os primeiro e segundo tamanhos de suspensão podem ser diferentes potências de dois. Em um projeto do bloco 1212, um fator K pode ser determinado com base em um raio do segundo tamanho de suspensão ao primeiro tamanho de suspensão, e K LSBs de cada valor de deslocamento cíclico no segundo conjunto pode ser removido para obter um valor de deslocamento cíclico correspondente no primeiro conjunto. Isto pode ser alcançado dividindo cada valor de deslocamento cíclico no segundo conjunto pelo raio e arredondando descendentemente para um valor inteiro para obter um valor de deslocamento cíclico correspondente no primeiro conjunto, como mostrado na equação (4). Em outro projeto do bloco 1212, K MSBs de cada valor de deslocamento cíclico no segundo conjunto pode ser removido para obter um valor de deslocamento cíclico correspondente no primeiro conjunto.
A primeira matriz de verificação de paridade pode ser gerada com base no primeiro conjunto de valores de deslocamento cíclico (bloco 1214). Isto pode ser alcançado recolocando cada elemento não-zero de uma matriz de verificação de paridade base com uma matriz de permutação cíclica de um valor de deslocamento cíclico no primeiro conjunto correspondendo àquele elemento não-zero. Um pacote pode ser encodificado ou decodificado com base na primeira matriz de verificação de paridade (bloco 1216).
A Figura 13 mostra um projeto de um equipamento 1300 para processar um pacote. O equipamento 1300 inclui dispositivos para determinar um primeiro conjunto de valores de deslocamento cíclico para uma primeira matriz de verificação de paridade de um tamanho de suspensão com base no segundo conjunto de valores de deslocamento cíclico para uma segunda matriz de verificação de paridade de um segundo tamanho de suspensão (módulo 1312), dispositivos para gerar a primeira matriz de verificação de paridade com base no primeiro conjunto de valores de deslocamento cíclico (módulo 1314), e dispositivos para encodificar ou decodificar um pacote com base na primeira matriz de verificação de paridade (módulo 1316).
A Figura 14 mostra um projeto de um processo 1400 para processar um pacote. Uma matriz de verificação de paridade suspensa pode ser obtida recolocando cada elemento não-zero de uma matriz de verificação de paridade base com uma matriz de permutação L χ L de um valor de deslocamento cíclico específico, onde L é uma potência de dois (bloco 1412). Os valores de deslocamento cíclico de s e s+L/m podem ser utilizados para dois elementos não-zero em uma coluna da matriz de verificação de paridade base possuindo pelo menos três elementos não-zero, onde s é um valor arbitrário e m é uma potência de dois (bloco 1414) . Em um projeto, m é igual a dois, e os valores de deslocamento cíclico para os dois elementos não-zero são s e s+L/2. Em outro projeto, m é igual a quatro, e os valores de deslocamento cíclico para os dois elementos não-zero são s e s+ L/4. Em outro projeto, m é igual a oito, e os valores de deslocamento cíclico para os dois elementos não-zero são s e s+ L/8, m pode também ser igual a outros valores. Um valor de deslocamento cíclico de χ pode ser selecionado para um terceiro elemento não-zero na coluna possuindo pelo menos três elementos não-zero. A matriz de verificação de paridade base pode compreender uma sub-matriz <formula>formula see original document page 32</formula> onde T é uma matriz triangular inferior, as matrizes BeD possuem cada uma uma largura de 1, as matrizes DeE possuem cada uma uma altura de 1, e os pelo menos três elementos não- zero estão em uma coluna correspondendo às matrizes BeD.
Um pacote pode ser encodificado ou decodificado com base na matriz de verificação de paridade suspensa (bloco 1416).
A Figura 15 mostra um projeto de um equipamento 1500 para processar um pacote. O equipamento 1500 inclui dispositivos para obter uma matriz de verificação de paridade suspensa recolocando cada elemento não-zero de uma matriz de verificação de paridade base com uma matriz de permutação L χ L de um valor de deslocamento cíclico específico, onde L é uma potência de dois (módulo 1512), dispositivos para utilizar os valores de deslocamento cíclico de s e s+L/m para dois elementos não-zero em uma coluna da matriz de verificação de paridade base possuindo pelo menos três elementos não-zero, onde s é um valor arbitrário e m é uma potência de dois (módulo 1514), e dispositivos para encodificar ou decodificar um pacote com base na matriz de verificação de paridade suspensa (módulo 1516).
Os módulos nas Figuras 10, 13 e 15 podem compreender processadores, dispositivos eletrônicos, dispositivos de hardware, componentes eletrônicos, circuitos lógicos, memórias, etc. ou qualquer combinação dos mesmos.
As técnicas descritas aqui podem ser implementadas por vários dispositivos. Por exemplo, estas técnicas podem ser implementadas em hardware, software, ou uma combinação dos mesmos. Para uma implementação de hardware, as unidades de processamento utilizadas para desempenhar as técnicas em uma entidade (por exemplo, um Nó B ou um terminal) podem ser implementadas dentro de um ou mais circuitos integrados de aplicação específica (ASICs), processadores de sinal digital (DSPs), dispositivos de processamento de sinal digital (DSPDs), dispositivos lógicos programáveis (PLDs), arranjos de portas programáveis em campo (FPGAs),processadores, controladores, microcontroladores, microprocessadores, dispositivos eletrônicos, outras unidades eletrônicas projetadas para desempenhar as funções descritas aqui, um computador, ou uma combinação dos mesmos.
Para uma implementação de software e/ou firmware, as técnicas podem ser implementadas com código (por exemplo, procedimentos, funções, módulos, instruções, etc.) que desempenham as funções descritas aqui. Em geral, qualquer meio legível por computador/processador modulando tangivelmente códigos de firmware e/ou software pode ser utilizado na implementação de técnicas descritas aqui. Por exemplo, os códigos de firmware e/ou software podem ser armazenados em uma memória (por exemplo, 232 ou 272 na Figura 2) e executados por um processador (por exemplo, 230 ou 270). A memória pode ser implementada dentro do processador ou externa ao processador. Os códigos de firmware e/ou software podem ser também armazenados em um meio legível por computador/processador tal como uma memória de acesso aleatória (RAM), memória somente para leitura (ROM), memória de acesso aleatório não-volátil (NVRAM), memória somente para leitura programável (PROM), PROM apagável eletricamente (EPROM), memória FLASH, disco flexível, disco compacto (CD), disco versátil digital (DVD), dispositivo de armazenamento de dados óticos ou magnéticos, etc. 0 código pode ser executável por um ou mais computadores/processadores e podem fazer com que o(s) computador(es)/processador(es) desempenhem certos aspectos da funcionalidade aqui descrita.
A descrição prévia da invenção é provida para capacitar qualquer pessoa versada na técnica a fazer ou utilizara invenção. Várias modificações à descrição estarão prontamente aparentes àqueles versados na técnica, e os princípios genéricos aqui definidos podem ser aplicados a outras variações se sair do espírito ou escopo da invenção. Desse modo, a invenção não pretende estar limitada aos exemplos e projetos descritos aqui, mas é para estar acordada ao amplo escopo consistente com os princípios e características de novidade aqui descritas.

Claims (51)

1. Equipamento compreendendo: pelo menos um processador para encodificar ou decodificar pacotes de tamanhos variáveis com base em um conjunto de matrizes de verificação de paridade base de diferentes dimensões e um conjunto de valores de suspensão de diferentes potências de dois;e uma memória acoplada a pelo menos um processador e configurada para armazenar parâmetros para o conjunto de matrizes de verificação de paridade base.
2. Equipamento, de acordo com a reivindicação 1, em que pelo menos um processador é configurado para determinar um tamanho de pacote para ser encodificado ou decodificado, para selecionar um valor de suspensão proveniente do conjunto de valores de suspensão com base no tamanho de pacote, para selecionar uma matriz de verificação de paridade base proveniente do conjunto de matrizes de verificação de paridade base com base no tamanho de pacote e o valor de suspensão selecionado, para gerar uma matriz de verificação de paridade suspensa com base na matriz de verificação de paridade base selecionada e o valor de suspensão selecionado, e para encodificar ou decodificar o pacote com base na matriz de verificação de paridade suspensa.
3. Equipamento, de acordo com a reivindicação 2, em que o pelo menos um processador é configurado para selecionar o valor de suspensão computando <formula>formula see original document page 36</formula> Onde k é o tamanho do pacote, . kB/Max é um número máximo de bits de informação para o conjunto de matrizes de verificação de paridade base, L é o valor de suspensão <formula>formula see original document page 37</formula> selecionado, e denota um operador teto.
4. Equipamento, de acordo com a reivindicação 2, em que o pelo menos um processador é configurado para selecionar a matriz de verificação de paridade base computando <formula>formula see original document page 37</formula> Onde k é o tamanho de pacote, L é o valor de suspensão selecionado, kB é um número de bits de informação para a matriz de verificação de paridade selecionado, e denota um operador teto.
5. Equipamento, de acordo com a reivindicação 2, em que o pelo menos um processador é configurado para gerar a matriz de verificação de paridade suspensa com base em valores de deslocamento cíclico para elementos não-zero da matriz de verificação de paridade base selecionada.
6. Equipamento, de acordo com a reivindicação 5, em que o pelo menos um processador é configurado para computar valores de deslocamento cíclico para a matriz de verificação de paridade suspensa com base nos valores de deslocamento cíclico para elementos não-zero da matriz de verificação de paridade base selecionada e o valor de suspensão selecionado, e para gerar a matriz de verificação de paridade suspensa recolocando cada elemento não-zero da matriz de verificação de paridade base selecionada com uma matriz de permutação cíclica de um valor de deslocamento cíclico computado para o elemento não-zero.
7. Equipamento, de acordo com a reivindicação 2, em que o pelo menos um processador é configurado para gerar a matriz de verificação de paridade suspensa com base nas L cópias de um gráfico base para a matriz de verificação de paridade base selecionada, onde L é o valor de suspensão selecionado, e para interconectar nós das L cópias do gráfico base com base nas matrizes de permutação para elementos não-zero da matriz de verificação de paridade selecionada.
8. Equipamento, de acordo com a reivindicação 7, em que o gráfico base compreende uma pluralidade de bordas para elementos não-zero da matriz de verificação de paridade selecionada, e em que o pelo menos um processador é configurado para desempenhar a decodificação em paralelo para L cópias da mesma borda nas L cópias do gráfico base, e para desempenhar a decodificação seqüencialmente para diferentes bordas nas L cópias do gráfico base.
9. Equipamento, de acordo com a reivindicação 7, em que o pelo menos um processador é configurado para desempenhar decodificação em paralelo para os nós de cada cópia do gráfico base, e para desempenhar decodificação seqüencialmente para as L cópias do gráfico base.
10. Equipamento, de acordo com a reivindicação 2, em que o pelo menos um processador é configurado para encodificar bits de informação no pacote com base na matriz de verificação de paridade suspensa para obter primeiro bit de paridade, e para encodificar os bits de informação e o primeiro bit de paridade na matriz de verificação de paridade suspenso para obter segundo bit de paridade.
11. Equipamento, de acordo com a reivindicação -10, em que o pelo menos um processador é ainda configurado para encodificar os bits de informação, o primeiro bit de paridade, e o segundo bit de paridade com base na matriz de verificação de paridade suspensa para obter o terceiro bit de paridade.
12. Equipamento, de acordo com a reivindicação 1, em que o conjunto de matrizes de verificação de paridade base compreende pelo menos uma matriz de verificação de paridade base para pelo menos um de 6, 7, 8, 9, 10 e 11 bits de informação.
13. Equipamento, de acordo com a reivindicação 1, em que o conjunto de valores de suspensão compreendem pelo menos um valor de suspensão para pelo menos um de 4, 8, 16, -32, 64, 128, 256, 512 e 1024.
14. Equipamento, de acordo com a reivindicação 1, em que cada matriz de verificação de paridade base compreende uma pluralidade de elementos não-zero em uma pluralidade de localizações, cada elemento não-zero sendo associado a um valor de deslocamento cíclico dentro de uma faixa de 0 a Lmax-I, onde Lmax é um valor de suspensão máximo.
15. Equipamento, de acordo com a reivindicação -14, em que a memória é configurada para armazenar uma pluralidade de valores de deslocamento cíclico para a pluralidade de elementos não-zero de cada matriz de verificação de paridade base.
16. Equipamento, de acordo com a reivindicação -15, em que o pelo menos um processador é configurado para determinar valores de deslocamento cíclico para todos os valores de suspensão para cada matriz de verificação de paridade base em uma pluralidade de valores de deslocamento cíclico armazenados para a matriz de verificação de paridade base.
17. Método para processar dados, compreendendo: encodificar ou decodificar pacotes de tamanhos variáveis com base em um conjunto de matrizes de verificação de paridade base de diferentes dimensões e um conjunto de valores de suspensão de diferentes potências de dois.
18. Método, de acordo com a reivindicação 17, em que a encodificação ou decodificação de pacotes de tamanhos variáveis compreende: determinar um tamanho de pacote de um pacote a ser encodificado ou decodificado, selecionar um valor de suspensão proveniente do conjunto de valores de suspensão com base no tamanho de pacote, selecionar uma matriz de verificação de paridade base proveniente do conjunto de matrizes de verificação de paridade base com base no tamanho de pacote e nos valores de suspensão selecionados, gerar uma matriz de verificação de paridade com base na matriz de verificação de paridade selecionada e no valor de suspensão selecionado, e encodificar ou decodificar o pacote com base na matriz de verificação de paridade suspensa.
19. Método, de acordo com a reivindicação 18, em que a seleção do valor de suspensão compreende computar <formula>formula see original document page 40</formula> Onde k é o tamanho de pacote, kB,max é o número de bits de informação para o conjunto de matrizes de verificação de paridade base, L é o valor de suspensão selecionado, e "Γ Ί" denota um operador teto.
20. Método, de acordo com a reivindicação 18, em que a seleção da matriz de verificação de paridade base compreende computar <formula>formula see original document page 40</formula> Onde k é o tamanho de pacote, L é o valor de suspensão selecionado, kB é um número de bits de informação para a matriz de verificação de paridade selecionada, e "Γ Ί" denota um operador teto.
21. Método, de acordo com a reivindicação 17, em que a geração da matriz de verificação de paridade suspensa compreende: gerar a matriz de verificação de paridade suspensa com base ainda na pluralidade de valores de deslocamento cíclico para uma pluralidade de elementos não- zero da matriz de verificação de paridade base selecionada.
22. Método, de acordo com a reivindicação 17, compreendendo adicionalmente: armazenar uma pluralidade de valores de deslocamento cíclico para uma pluralidade de elementos não- zero de cada matriz de verificação de paridade base no conjunto de matrizes de verificação de paridade base.
23. Equipamento para processar dados, compreendendo dispositivo para encodificar ou decodificar pacotes de tamanhos variáveis com base em um conjunto de matrizes de verificação de paridade base de diferentes dimensões e um conjunto de valores de suspensão de diferentes potências de dois.
24. Equipamento, de acordo com a reivindicação 23, em que o dispositivo para encodificar ou decodificar pacotes de tamanhos variáveis compreende dispositivo para determinar um tamanho de pacote de um pacote a ser encodificado ou decodificado, dispositivo para selecionar um valor de suspensão proveniente do conjunto de valores de suspensão com base no tamanho de pacote, dispositivo para selecionar uma matriz de verificação de paridade base proveniente do conjunto de matrizes de verificação de paridade no tamanho de pacote e no valor de suspensão selecionado, dispositivo para gerar uma matriz de verificação de paridade suspensa com base na matriz de verificação de paridade base selecionada e no valor de suspensão selecionado, e dispositivo para encodificar ou decodificar o pacote com base na matriz de verificação de paridade suspensa.
25. Equipamento, de acordo com a reivindicação 24, em que o dispositivo para selecionar o valor de suspensão compreende dispositivo para computar <formula>formula see original document page 42</formula> onde k é o tamanho de pacote, kB,max é um número máximo de 10 bits de informação para o conjunto de matrizes de verificação de paridade base, L é o valor de suspensão "⌈⌉" selecionado e denota um operador teto.
26. Equipamento, de acordo com a reivindicação 24, em que o dispositivo para selecionar a matriz de verificação de paridade base compreende dispositivo para computar <formula>formula see original document page 42</formula> Onde k é o tamanho de pacote, L é o valor de suspensão selecionado, kB é um número de bits de informação para a <image>image see original document page 42</image> matriz de verificação de paridade base selecionada, e denota um operador teto.
27. Equipamento, de acordo com a reivindicação 23, em que o dispositivo para gerar a matriz de verificação de paridade suspensa compreende dispositivo para gerar a matriz de verificação de paridade suspensa com base adicionalmente em uma pluralidade de valores de deslocamento cíclico para uma pluralidade de elementos não-zero da matriz de verificação de paridade base selecionada.
28. Equipamento, de acordo com a reivindicação -23, compreendendo: dispositivo para armazenar uma pluralidade de valores de deslocamento cíclico para uma pluralidade de elementos não-zero de cada matriz de verificação de paridade base no conjunto de matrizes de verificação de paridade base.
29. Produto de programa de computador, compreendendo: um meio legível por computador compreendendo: código para fazer com que pelo menos um computador encodifique ou decodifique pacotes de tamanhos variáveis com base em um conjunto de matrizes de verificação de paridade base de diferentes dimensões e um conjunto de valores de suspensão de diferentes potências de dois.
30. Produto de programa de computador, de acordo com a reivindicação 29, em que o meio legível por computador adicionalmente compreende: código para fazer com que o pelo menos um computador determine um tamanho de pacote de um pacote a ser encodificado ou decodificado; código para fazer com que o pelo menos um computador selecione um valor de suspensão proveniente do conjunto de valores de suspensão com base no tamanho de pacote; código para fazer com que o pelo menos um computador selecione uma matriz de verificação de paridade base proveniente do conjunto de matrizes de verificação de paridade base com base no tamanho de pacote e no valor de suspensão selecionado; código para fazer com que o pelo menos um computador gere uma matriz de verificação de paridade suspensa com base na matriz de verificação de paridade base selecionada e no valor de suspensão selecionado; e código para fazer com que o pelo menos um computador encodifique ou decodifique o pacote com base na matriz de verificação de paridade suspensa.
31. Produto de programa de computador, de acordo com a reivindicação 30, em que o meio legivel por computador compreende: código para fazer com que o pelo menos um computador selecione o valor de suspensão computando <formula>formula see original document page 44</formula> Onde k é o tamanho de pacote, kB,max é o número máximo de bits de informação para o conjunto de matrizes de verificação de paridade base, L é o valor de suspensão selecionado, e denota um operador teto.
32. Produto de programa de computador, de acordo com a reivindicação 30, em que o meio legivel por computador compreende: código para fazer com que o pelo menos um computador selecione a matriz de verificação de paridade base computando <formula>formula see original document page 44</formula> Onde k é o tamanho de pacote, L é o valor de suspensão selecionado, kB é um número de bits de informação para a matriz de verificação de paridade base selecionada e denota um operador teto.
33. Produto de programa de computador, de acordo com a reivindicação 29, em que o meio legivel por computador adicionalmente compreende: código para fazer com que o pelo menos um computador gere a matriz de verificação de paridade suspensa com base ainda na pluralidade de valores de deslocamento cíclico para a pluralidade de elementos não- zero da matriz de verificação de paridade base selecionada.
34. Equipamento compreendendo: pelo menos um processador configurado para determinar um primeiro conjunto de valores de deslocamento cíclico para uma primeira matriz de verificação de paridade com base em um segundo conjunto de valores de deslocamento cíclico para uma segunda matriz de verificação de paridade de um segundo tamanho de suspensão, a primeira e segunda suspensão sendo diferentes potências de dois, gerar a primeira matriz de verificação de paridade com base no primeiro conjunto de valores de deslocamento cíclico, e encodificar ou decodificar um pacote com base na primeira matriz de verificação de paridade; e uma memória acoplada a pelo menos um processador.
35. Equipamento, de acordo com a reivindicação -34, em que o pelo menos um processador é configurado para determinar um fator K baseado em um raio do segundo tamanho de suspensão para o primeiro tamanho de suspensão, e para remover K bits significantes menores (LSBs) de cada valor de deslocamento cíclico no segundo conjunto para obter um valor de deslocamento cíclico correspondente no primeiro conjunto.
36. Equipamento, de acordo com a reivindicação -34, em que o pelo menos um processador é configurado para determinar um raio do segundo tamanho de suspensão para o primeiro tamanho de suspensão, e para obter cada valor de deslocamento cíclico no primeiro conjunto dividindo um 30 valor de deslocamento cíclico correspondente no segundo conjunto através do raio e circunferência para um valor inteiro.
37. Equipamento, de acordo com a reivindicação - 34, em que o pelo menos um processador é configurado para determinar um fator K baseado em um raio do segundo tamanho de suspensão para o primeiro tamanho de suspensão, e para remover K bits mais significantes (MSBs) de cada valor de deslocamento cíclico no segundo conjunto para obter um valor de deslocamento cíclico correspondente no primeiro conj unto.
38. Equipamento, de acordo com a reivindicação 34, em que o primeiro e segundo tamanhos de suspensão são diferentes potências de dois.
39. Equipamento, de acordo com a reivindicação 34, em que o pelo menos um processador é configurado para gerar a primeira matriz de verificação de paridade recolocando cada elemento não-zero de uma matriz de verificação de paridade base com uma matriz de permutação cíclica de um valor de deslocamento cíclico no primeiro conjunto correspondo ao elemento não-zero.
40. Método para processar dados, compreendendo: determinar um primeiro conjunto de valores de deslocamento cíclico para uma primeira matriz de verificação de paridade de um primeiro tamanho de suspensão em um segundo conjunto de valores de deslocamento cíclico para uma segunda matriz de verificação de paridade de um segundo tamanho de suspensão, o primeiro e segundo tamanhos de suspensão sendo diferentes potências de dois; gerar a primeira matriz de verificação de paridade com base no primeiro conjunto de valores de deslocamento cíclico; e encodificar ou decodificar um pacote com base na primeira matriz de verificação de paridade.
41. Método, de acordo com a reivindicação 40, em que a determinação do primeiro conjunto de valores de deslocamento cíclico compreende determinar um fator k com base em um raio do segundo tamanho de suspensão para o primeiro tamanho de suspensão, e remover K bits menos significantes (LSBs) de cada valor de deslocamento cíclico no segundo conjunto para obter um valor de deslocamento cíclico correspondente no primeiro conjunto.
42. Método, de acordo com a reivindicação 40, em que a geração da primeira matriz de verificação de paridade compreende gerar a primeira matriz de verificação de paridade recolocando cada elemento não-zero de uma matriz de verificação de paridade base com uma matriz de permutação cíclica de um valor de deslocamento cíclico no primeiro conjunto correspondendo ao elemento não-zero.
43. Equipamento compreendendo: pelo menos um processador configurado para obter uma matriz de verificação de paridade suspensa recolocando cada elemento não-zero de uma matriz de verificação de paridade base com uma matriz de permutação L X L de um valor de deslocamento cíclico específico, onde L é uma potência de dois, para utilizar valores de deslocamento cíclico de s e s+L/m para elementos não-zero em uma coluna da matriz de verificação de paridade base possuindo pelo menos três elementos não-zero, onde s é um valor arbitrário e m é uma potência de dois, e para encodificar ou decodificar um pacote com base na matriz de verificação de paridade suspensa; e uma memória acoplada ao pelo menos um processador.
44. Equipamento, de acordo com a reivindicação -43, em que a matriz de verificação de paridade base compreende: <formula>formula see original document page 48</formula> onde T é uma matriz triangular inferior, as matrizes BeD cada possuem uma largura de 1, as matrizes DeE cada possuem uma altura de 1, e os pelo menos três elementos não-zero estão em uma coluna correspondendo às matrizes B e D.
45. Equipamento, de acordo com a reivindicação -43, em que o pelo menos um processador é configurado para selecionar um valor de deslocamento cíclico de s para um terceiro elementos não-zero na coluna possuindo pelo menos três elementos não-zero.
46. Equipamento, de acordo com a reivindicação -43, em que m é igual a dois e os valores de deslocamento cíclico para os dois elementos não-zero são s e s+L/2.
47. Equipamento, de acordo com a reivindicação -43, em que m é igual a quatro e os valores de deslocamento cíclico para os dois elementos não-zero são s e s+L/4.
48. Equipamento, de acordo com a reivindicação -43, em que m é igual a oito e os valores de deslocamento cíclico para os dois elementos não-zero são s+L/8.
49. Método para processar dados, compreendendo: obter uma matriz de verificação de paridade suspensa recolocando cada elemento não-zero de uma matriz de verificação de paridade base com uma matriz de permutação L χ L de um valor de deslocamento cíclico específico, onde L é uma potência de dois; utilizar valores de deslocamento cíclico de s e s+L/m para dois elementos não-zero em uma coluna da matriz de verificação de paridade base possuindo pelo menos três elementos não-zero, onde s é um valor arbitrário e m é uma potência de dois; e encodificar ou decodificar um pacote com base na matriz de verificação de paridade suspensa.
50. Método, de acordo com a reivindicação 49, em que a matriz de verificação de paridade base compreende <formula>formula see original document page 49</formula> onde T é uma matriz triangular inferior, as matrizes BeD cada uma possui uma largura de 1, as matrizes DeE cada uma possui uma altura de 1, e os pelo menos três elementos não-zero estão em uma coluna correspondendo às matrizes B e D.
51. Método, de acordo com a reivindicação 49, em que m é igual a quatro e os valores de deslocamento cíclico para os dois elementos não-zero são s e s+L/4.
BRPI0806757-0A 2007-01-24 2008-01-24 encodificação e decodificação de ldpc de pacotes de tamanhos variáveis BRPI0806757A2 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US88649607P 2007-01-24 2007-01-24
US60/886,496 2007-01-24
PCT/US2008/051961 WO2008092040A2 (en) 2007-01-24 2008-01-24 Ldpc encoding and decoding of packets of variable sizes

Publications (1)

Publication Number Publication Date
BRPI0806757A2 true BRPI0806757A2 (pt) 2011-09-13

Family

ID=39642439

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0806757-0A BRPI0806757A2 (pt) 2007-01-24 2008-01-24 encodificação e decodificação de ldpc de pacotes de tamanhos variáveis

Country Status (13)

Country Link
US (2) US8433984B2 (pt)
EP (2) EP2106635A2 (pt)
JP (3) JP5231453B2 (pt)
KR (5) KR101364160B1 (pt)
CN (2) CN102904583B (pt)
AU (1) AU2008207799B2 (pt)
BR (1) BRPI0806757A2 (pt)
CA (1) CA2674719A1 (pt)
IL (1) IL199605A0 (pt)
MX (1) MX2009007946A (pt)
RU (1) RU2443053C2 (pt)
TW (2) TW201334425A (pt)
WO (1) WO2008092040A2 (pt)

Families Citing this family (115)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9419749B2 (en) 2009-08-19 2016-08-16 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
CN102904583B (zh) 2007-01-24 2017-06-23 高通股份有限公司 对可变大小分组进行ldpc编码和译码
US8370711B2 (en) * 2008-06-23 2013-02-05 Ramot At Tel Aviv University Ltd. Interruption criteria for block decoding
US8392814B2 (en) * 2008-10-07 2013-03-05 Qualcomm Incorporated Method and apparatus for high speed structured multi rate low density parity check codes
US8612823B2 (en) * 2008-10-17 2013-12-17 Intel Corporation Encoding of LDPC codes using sub-matrices of a low density parity check matrix
CN101741396B (zh) * 2008-11-19 2013-03-13 华为技术有限公司 可变码长ldpc码编码或译码的方法与装置及编码器和译码器
JP4898858B2 (ja) 2009-03-02 2012-03-21 パナソニック株式会社 符号化器、復号化器及び符号化方法
TWI427936B (zh) * 2009-05-29 2014-02-21 Sony Corp 接收設備,接收方法,程式,及接收系統
US8495450B2 (en) * 2009-08-24 2013-07-23 Samsung Electronics Co., Ltd. System and method for structured LDPC code family with fixed code length and no puncturing
US8560911B2 (en) * 2009-09-14 2013-10-15 Samsung Electronics Co., Ltd. System and method for structured LDPC code family
KR101644656B1 (ko) * 2009-11-02 2016-08-10 삼성전자주식회사 선형 블록 부호를 사용하는 통신 시스템에서 패리티 검사 행렬을 생성하는 방법과 이를 이용한 채널 부호화/복호화 장치 및 방법
KR101670511B1 (ko) * 2010-05-07 2016-10-28 삼성전자주식회사 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널 부호/복호 방법 및 장치
US8971261B2 (en) 2010-06-02 2015-03-03 Samsung Electronics Co., Ltd. Method and system for transmitting channel state information in wireless communication systems
US8732565B2 (en) 2010-06-14 2014-05-20 Samsung Electronics Co., Ltd. Method and apparatus for parallel processing in a gigabit LDPC decoder
US9634693B2 (en) * 2010-08-12 2017-04-25 Samsung Electronics Co., Ltd Apparatus and method for decoding LDPC codes in a communications system
JP5500379B2 (ja) * 2010-09-03 2014-05-21 ソニー株式会社 データ処理装置、及びデータ処理方法
US8644282B2 (en) * 2010-09-16 2014-02-04 Qualcomm Incorporated System and method for transmitting a low density parity check signal
US8739001B2 (en) * 2011-04-23 2014-05-27 Analogies Sa LDPC encoding and decoding techniques
EP2525497A1 (en) 2011-05-18 2012-11-21 Panasonic Corporation Bit-interleaved coding and modulation (BICM) with quasi-cyclic LDPC codes
CN102801431B (zh) * 2011-05-25 2015-02-04 华为技术有限公司 一种编码装置及方法
KR20120137198A (ko) 2011-06-11 2012-12-20 삼성전자주식회사 통신 시스템에서 패킷 송수신 장치 및 방법
JP5391253B2 (ja) * 2011-10-26 2014-01-15 パナソニック株式会社 送信装置及び送信方法
KR101922990B1 (ko) 2011-11-11 2018-11-28 삼성전자주식회사 멀티미디어 통신 시스템에서 준순환 저밀도 패리티 검사 부호 송/수신 장치 및 방법
JP5665725B2 (ja) * 2011-12-13 2015-02-04 株式会社東芝 符号化装置及びこれを用いた半導体メモリシステム
KR101221062B1 (ko) * 2011-12-14 2013-01-11 단국대학교 산학협력단 가변 usc 부호를 이용한 부호화 및 복호화 방법
KR101685010B1 (ko) 2012-06-01 2016-12-13 한국전자통신연구원 지상파 클라우드 방송을 위한 ldpc 부호
US9178653B2 (en) * 2013-01-16 2015-11-03 Broadcom Corporation Very short size LDPC coding for physical and/or control channel signaling
US9154261B2 (en) * 2013-01-16 2015-10-06 Broadcom Corporation Low density parity check (LDPC) coding in communication systems
MX2015009838A (es) * 2013-02-08 2015-10-14 Sony Corp Dispositivo para el procesamiento de datos y metodo para el procesamiento de datos.
KR102142142B1 (ko) * 2013-02-13 2020-08-06 퀄컴 인코포레이티드 높은 레이트, 높은 병렬성, 및 낮은 에러 플로어를 위해 준순환 구조들 및 펑처링을 사용하는 ldpc 설계
RU2658791C2 (ru) * 2013-05-02 2018-06-22 Сони Корпорейшн Устройство обработки данных и способ обработки данных
CN109327224B (zh) 2013-05-07 2022-04-05 华为技术有限公司 一种编码及解码的方法、设备和系统
CN107888199B (zh) * 2013-05-16 2021-11-09 韩国电子通信研究院 基于低密度奇偶校验编码/解码输入信息的方法和编码器
CN104521147B (zh) 2013-06-12 2019-12-17 索尼公司 数据处理设备和数据处理方法
EP2833553B1 (en) * 2013-07-30 2021-03-31 Alcatel Lucent LDPC decoder
EP2858249A1 (en) 2013-10-07 2015-04-08 Electronics and Telecommunications Research Institute Low density parity check encoder
US9430375B2 (en) 2013-12-30 2016-08-30 International Business Machines Corporation Techniques for storing data in bandwidth optimized or coding rate optimized code words based on data access frequency
JP2015156530A (ja) 2014-02-19 2015-08-27 ソニー株式会社 データ処理装置、及び、データ処理方法
KR102260775B1 (ko) * 2014-05-22 2021-06-07 한국전자통신연구원 길이가 16200이며, 부호율이 10/15인 ldpc 부호어 및 256-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
CA2864630C (en) 2014-08-14 2017-05-30 Electronics And Telecommunications Research Institute Low density parity check encoder having length of 64800 and code rate of 4/15, and low density parity check encoding method using the same
CA2963911C (en) 2014-08-14 2019-11-05 Electronics And Telecommunications Research Institute Low density parity check encoder having length of 16200 and code rate of 2/15, and low density parity check encoding method using the same
CA2959613C (en) 2014-08-14 2019-05-14 Electronics And Telecommunications Research Institute Low density parity check encoder having length of 16200 and code rate of 5/15, and low density parity check encoding method using the same
CA2864635C (en) 2014-08-14 2017-06-27 Sung-Ik Park Low density parity check encoder having length of 16200 and code rate of 3/15, and low density parity check encoding method using the same
CA2959616C (en) 2014-08-14 2021-05-25 Electronics And Telecommunications Research Institute Low density parity check encoder having length of 16200 and code rate of 4/15, and low density parity check encoding method using the same
US9496896B2 (en) 2014-08-14 2016-11-15 Electronics And Telecommunications Research Institute Low density parity check encoder having length of 64800 and code rate of 5/15, and low density parity check encoding method using the same
CA2864650C (en) 2014-08-14 2017-05-30 Sung-Ik Park Low density parity check encoder having length of 64800 and code rate of 2/15, and low density parity check encoding method using the same
US9525432B2 (en) 2014-08-14 2016-12-20 Electronics And Telecommunications Research Institute Low density parity check encoder having length of 64800 and code rate of 3/15, and low density parity check encoding method using the same
KR102270310B1 (ko) * 2014-08-26 2021-06-30 한국전자통신연구원 Ldpc 부호화기 및 이를 이용한 ldpc 부호화 방법
US9602243B2 (en) 2014-08-26 2017-03-21 Electronics And Telecommunications Research Institute Low density parity check encoder, and low density parity check encoding method using the same
US9432052B2 (en) * 2014-09-18 2016-08-30 Broadcom Corporation Puncture-aware low density parity check (LDPC) decoding
US20160218750A1 (en) * 2015-01-23 2016-07-28 Empire Technology Development Llc Parity check code encoder
JP5848472B2 (ja) * 2015-02-24 2016-01-27 パナソニック株式会社 受信装置及び受信方法
US9667276B1 (en) * 2015-08-06 2017-05-30 Xilinx, Inc. Efficient low error-floor LDPC codes
US10382069B2 (en) * 2015-08-11 2019-08-13 Apple Inc. Data encoding by efficient inversion of a parity-check sub-matrix
US10784901B2 (en) 2015-11-12 2020-09-22 Qualcomm Incorporated Puncturing for structured low density parity check (LDPC) codes
JP6005830B2 (ja) * 2015-11-26 2016-10-12 パナソニック株式会社 受信装置及び受信方法
WO2017111853A1 (en) * 2015-12-24 2017-06-29 Intel Corporation Hybrid scheduling and latch-based pipelines for low-density parity-check decoding
KR20170083432A (ko) 2016-01-08 2017-07-18 삼성전자주식회사 레이트 호환 가능 저밀도 패리티 검사 코드를 지원하는 통신 시스템에서 신호를 송신 및 수신하는 장치 및 방법
US11043966B2 (en) * 2016-05-11 2021-06-22 Qualcomm Incorporated Methods and apparatus for efficiently generating multiple lifted low-density parity-check (LDPC) codes
US10164659B2 (en) 2016-05-12 2018-12-25 Mediatek Inc. QC-LDPC coding methods and apparatus
US10454499B2 (en) 2016-05-12 2019-10-22 Qualcomm Incorporated Enhanced puncturing and low-density parity-check (LDPC) code structure
WO2017193558A1 (zh) 2016-05-13 2017-11-16 中兴通讯股份有限公司 结构化ldpc码的数据处理方法及装置
CN107370489B (zh) 2016-05-13 2020-07-28 中兴通讯股份有限公司 结构化ldpc码的数据处理方法及装置
US9917675B2 (en) 2016-06-01 2018-03-13 Qualcomm Incorporated Enhanced polar code constructions by strategic placement of CRC bits
US10313057B2 (en) 2016-06-01 2019-06-04 Qualcomm Incorporated Error detection in wireless communications using sectional redundancy check information
US10291354B2 (en) * 2016-06-14 2019-05-14 Qualcomm Incorporated High performance, flexible, and compact low-density parity-check (LDPC) code
EP3479486B1 (en) 2016-07-20 2023-05-31 Huawei Technologies Co., Ltd. Methods and systems for encoding and decoding for ldpc codes with rate 7/8
CA3026317C (en) 2016-07-27 2023-09-26 Qualcomm Incorporated Design of hybrid automatic repeat request (harq) feedback bits for polar codes
EP4075671A1 (en) 2016-08-10 2022-10-19 IDAC Holdings, Inc. Protograph based low-density parity check (ldpc) codes in combination with harq
WO2018030909A1 (en) * 2016-08-11 2018-02-15 Huawei Technologies Co., Ltd. Construction of qc-ldpc codes for a hybrid automatic repeat request (harq) scheme
KR102126404B1 (ko) 2016-08-12 2020-06-24 텔레호낙티에볼라게트 엘엠 에릭슨(피유비엘) Ldpc 코드들에 대한 레이트 매칭 방법들
WO2018029616A1 (en) * 2016-08-12 2018-02-15 Telefonaktiebolaget Lm Ericsson (Publ) Determining elements of base matrices for quasi-cyclic ldpc codes having variable code lengths
CN109792253A (zh) * 2016-09-30 2019-05-21 Lg电子株式会社 Qc ldpc码速率匹配方法和用于该方法的装置
US10778371B2 (en) * 2016-11-02 2020-09-15 Qualcomm Incorporated Deeply-pipelined high-throughput LDPC decoder architecture
WO2018084735A1 (en) * 2016-11-03 2018-05-11 Huawei Technologies Co., Ltd. Efficiently decodable qc-ldpc code
CN110024295B (zh) 2016-11-14 2021-02-12 华为技术有限公司 可变长度准循环低密度奇偶校验qc-ldpc码的编、解码方法和装置
KR20180071917A (ko) * 2016-12-20 2018-06-28 삼성전자주식회사 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치
EP4312393A3 (en) * 2016-12-20 2024-04-03 Samsung Electronics Co., Ltd. Apparatus and method for channel encoding/decoding in communication or broadcasting system
WO2018117651A1 (en) 2016-12-20 2018-06-28 Samsung Electronics Co., Ltd. Apparatus and method for channel encoding/decoding in communication or broadcasting system
TWI602188B (zh) * 2017-01-03 2017-10-11 慧榮科技股份有限公司 用來於記憶裝置中進行資料管理之方法以及記憶裝置及其控制器
US20210167800A1 (en) * 2017-01-06 2021-06-03 Lg Electronics Inc. Method for selecting ldpc base code in multiple ldpc codes and apparatus therefor
US10581457B2 (en) 2017-01-09 2020-03-03 Mediatek Inc. Shift coefficient and lifting factor design for NR LDPC code
US10630319B2 (en) 2017-01-24 2020-04-21 Mediatek Inc. Structure of interleaver with LDPC code
US10432227B2 (en) 2017-01-24 2019-10-01 Mediatek Inc. Location of interleaver with LDPC code
US10340949B2 (en) * 2017-02-06 2019-07-02 Qualcomm Incorporated Multiple low density parity check (LDPC) base graph design
CN110249536B (zh) 2017-03-03 2021-07-20 华为技术有限公司 高码率的长ldpc码
CA3094841C (en) 2017-03-24 2023-05-02 Zte Corporation Processing method and device for quasi-cyclic low density parity check coding
US10735138B2 (en) 2017-05-02 2020-08-04 Futurewei Technologies, Inc. Multi-label offset lifting method
RU2667772C1 (ru) * 2017-05-05 2018-09-24 Хуавэй Текнолоджиз Ко., Лтд. Способ и устройство обработки информации и устройство связи
CN109120276B (zh) * 2017-05-05 2019-08-13 华为技术有限公司 信息处理的方法、通信装置
US10567116B2 (en) 2017-05-12 2020-02-18 Mediatek Inc. Wireless communication using codebooks from a QC-LDPC code for shorter processing latency and improved decoder throughput efficiency
US10484011B2 (en) 2017-05-12 2019-11-19 Mediatek Inc. Shift-coefficient table design of QC-LDPC code for larger code block sizes in mobile communications
US10484013B2 (en) 2017-05-12 2019-11-19 Mediatek Inc. Shift-coefficient table design of QC-LDPC code for smaller code block sizes in mobile communications
WO2018218466A1 (zh) 2017-05-28 2018-12-06 华为技术有限公司 信息处理的方法和通信装置
CN108988869B (zh) * 2017-05-31 2021-07-30 大唐移动通信设备有限公司 一种确定校验矩阵的方法及装置、计算机存储介质
CN108988871A (zh) * 2017-05-31 2018-12-11 电信科学技术研究院 一种编码方法及装置、计算机存储介质
CN110870207B (zh) * 2017-06-03 2022-05-10 华为技术有限公司 信息处理的方法和通信装置
US10312939B2 (en) 2017-06-10 2019-06-04 Qualcomm Incorporated Communication techniques involving pairwise orthogonality of adjacent rows in LPDC code
CA3055231C (en) * 2017-06-15 2022-10-04 Huawei Technologies Co., Ltd. Information processing method and communication apparatus
AU2018294852B2 (en) * 2017-06-25 2021-07-22 Lg Electronics Inc. Method for performing encoding on basis of parity check matrix of LDPC code in wireless communication system and terminal using same
CN109120275B (zh) * 2017-06-26 2021-02-05 电信科学技术研究院 一种编码方法及装置、计算机存储介质
CN109120374B (zh) 2017-06-26 2022-11-18 中兴通讯股份有限公司 准循环低密度奇偶校验编码设计方法及装置
CN109327225B9 (zh) 2017-06-27 2021-12-10 华为技术有限公司 信息处理的方法、装置和通信设备
CN110291721B (zh) * 2017-06-27 2023-09-26 联发科技股份有限公司 在移动通信中用于小码块尺寸的qc-ldpc码的移位系数表设计方法
CN109150196A (zh) 2017-06-27 2019-01-04 华为技术有限公司 信息处理的方法、装置和通信设备
TWI690169B (zh) * 2017-06-28 2020-04-01 聯發科技股份有限公司 在移動通信中用於大碼塊尺寸的qc-ldpc碼的移位係數表設計方法
SG11201911638SA (en) 2017-07-07 2020-02-27 Qualcomm Inc Communication techniques applying low-density parity-check code base graph selection
US11258536B2 (en) 2017-08-10 2022-02-22 Samsung Electronics Co., Ltd. Method and apparatus for encoding/decoding channel in communication or broadcasting system
CN109391367B (zh) * 2017-08-11 2022-12-30 华为技术有限公司 通信方法和装置
KR101991447B1 (ko) * 2018-09-10 2019-06-20 국방과학연구소 블록 간섭 및 블록 페이딩에 강인한 고부호율 프로토그래프 기반 ldpc 부호 설계 기법
WO2020145516A1 (ko) * 2019-01-07 2020-07-16 엘지전자 주식회사 무선 통신 시스템에서 저밀도 패리티 체크 행렬을 이용한 채널 코딩을 수행하는 방법 및 장치
US11791938B2 (en) 2019-09-26 2023-10-17 Nvidia Corporation Parity check decoding
CN112583420B (zh) * 2019-09-30 2024-01-09 上海华为技术有限公司 一种数据处理方法和译码器
US10778248B1 (en) * 2020-01-30 2020-09-15 TenaFe, Inc. Low-density parity-check decoding with de-saturation
CN112511173A (zh) * 2020-12-23 2021-03-16 中兴通讯股份有限公司 低密度奇偶校验编码、译码方法、编码、译码设备及介质

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2007042C1 (ru) * 1991-02-22 1994-01-30 Морозов Андрей Константинович Система для кодирования и декодирования с исправлением ошибок
US6633859B1 (en) * 1999-08-17 2003-10-14 Authoria, Inc. Knowledge system with distinct presentation and model structure
US6567465B2 (en) * 2001-05-21 2003-05-20 Pc Tel Inc. DSL modem utilizing low density parity check codes
US6633856B2 (en) 2001-06-15 2003-10-14 Flarion Technologies, Inc. Methods and apparatus for decoding LDPC codes
US6961888B2 (en) * 2002-08-20 2005-11-01 Flarion Technologies, Inc. Methods and apparatus for encoding LDPC codes
US7702986B2 (en) * 2002-11-18 2010-04-20 Qualcomm Incorporated Rate-compatible LDPC codes
US6957375B2 (en) * 2003-02-26 2005-10-18 Flarion Technologies, Inc. Method and apparatus for performing low-density parity-check (LDPC) code operations using a multi-level permutation
CN1781254B (zh) * 2003-02-26 2012-03-14 高通股份有限公司 使用多级置换来执行低密度奇偶校验码操作的方法和设备
JP4224777B2 (ja) * 2003-05-13 2009-02-18 ソニー株式会社 復号方法および復号装置、並びにプログラム
EP1656737B1 (en) * 2003-08-08 2019-05-08 Intel Corporation Method and apparatus for varying lengths of low density parity check codewords
KR100809619B1 (ko) * 2003-08-26 2008-03-05 삼성전자주식회사 이동 통신 시스템에서 블록 저밀도 패러티 검사 부호부호화/복호 장치 및 방법
KR100955952B1 (ko) * 2003-10-13 2010-05-19 삼성전자주식회사 무선 통신 시스템에서 리프팅 저밀도 패러티 검사 부호를이용한 시공간 부호화 방법 및 장치
KR100922956B1 (ko) * 2003-10-14 2009-10-22 삼성전자주식회사 저밀도 패리티 검사 코드의 부호화 방법
US7395495B2 (en) * 2004-01-12 2008-07-01 Intel Corporation Method and apparatus for decoding forward error correction codes
KR100678176B1 (ko) * 2004-04-28 2007-02-28 삼성전자주식회사 가변 블록 길이를 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
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
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
US7346832B2 (en) * 2004-07-21 2008-03-18 Qualcomm Incorporated LDPC encoding methods and apparatus
US7395490B2 (en) * 2004-07-21 2008-07-01 Qualcomm Incorporated LDPC decoding methods and apparatus
WO2006019217A1 (en) 2004-08-16 2006-02-23 Samsung Electronics Co., Ltd. Apparatus and method for coding/decoding block low density parity check code with variable block length
WO2006039801A1 (en) 2004-10-12 2006-04-20 Nortel Networks Limited System and method for low density parity check encoding of data
KR100809616B1 (ko) * 2005-10-19 2008-03-05 삼성전자주식회사 가변 블록 길이를 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
KR100975558B1 (ko) * 2006-05-03 2010-08-13 삼성전자주식회사 통신 시스템에서 신호 송수신 장치 및 방법
US8464120B2 (en) * 2006-10-18 2013-06-11 Panasonic Corporation Method and system for data transmission in a multiple input multiple output (MIMO) system including unbalanced lifting of a parity check matrix prior to encoding input data streams
US7934146B2 (en) * 2006-10-18 2011-04-26 Nokia Corporation Method, apparatus and computer program product providing for data block encoding and decoding
CN102904583B (zh) * 2007-01-24 2017-06-23 高通股份有限公司 对可变大小分组进行ldpc编码和译码

Also Published As

Publication number Publication date
JP5231453B2 (ja) 2013-07-10
TW201334425A (zh) 2013-08-16
CN101601187A (zh) 2009-12-09
KR101364160B1 (ko) 2014-02-17
KR101339120B1 (ko) 2013-12-09
WO2008092040A2 (en) 2008-07-31
KR20130026525A (ko) 2013-03-13
CN102904583A (zh) 2013-01-30
KR20120076382A (ko) 2012-07-09
MX2009007946A (es) 2009-08-18
TW200838159A (en) 2008-09-16
JP5551209B2 (ja) 2014-07-16
AU2008207799A1 (en) 2008-07-31
WO2008092040A3 (en) 2008-12-31
US20120166914A1 (en) 2012-06-28
KR20130081324A (ko) 2013-07-16
CA2674719A1 (en) 2008-07-31
AU2008207799B2 (en) 2010-12-02
KR101280477B1 (ko) 2013-07-01
RU2009131711A (ru) 2011-02-27
US8433984B2 (en) 2013-04-30
KR20130023375A (ko) 2013-03-07
KR20090113869A (ko) 2009-11-02
IL199605A0 (en) 2010-03-28
JP2012231473A (ja) 2012-11-22
KR101312468B1 (ko) 2013-09-27
RU2443053C2 (ru) 2012-02-20
JP2012231474A (ja) 2012-11-22
EP2568612A1 (en) 2013-03-13
EP2106635A2 (en) 2009-10-07
CN101601187B (zh) 2014-08-20
JP2010517444A (ja) 2010-05-20
CN102904583B (zh) 2017-06-23
US8578249B2 (en) 2013-11-05
US20080178065A1 (en) 2008-07-24
JP5559246B2 (ja) 2014-07-23

Similar Documents

Publication Publication Date Title
BRPI0806757A2 (pt) encodificação e decodificação de ldpc de pacotes de tamanhos variáveis
JP5875713B2 (ja) 送信機および受信機、並びに符号化率可変方法
JP6871396B2 (ja) 情報を処理するための方法および装置、通信デバイス、ならびに通信システム
JP7361017B2 (ja) データ符号化方法及び装置、記憶媒体、並びにプロセッサ
RU2758968C2 (ru) Аппаратура, способ обработки информации и аппаратура связи
CN109417392A (zh) Ldpc码的编解码方法及系统
EP3232576A1 (en) Feed-forward staircase codes for channel coding in optical communication systems
JP5522641B2 (ja) Ldpc符号を利用した多重入力ハードウェアの再利用
AU2017418080A1 (en) Information processing method and communication apparatus
CN109347485A (zh) 构造ldpc码校验矩阵的方法及ldpc码编译方法
KR101128804B1 (ko) 참조 행렬을 이용한 lpdc 부호화 및 복호화 방법
CN108400836B (zh) 一种多码率多码长qc-ldpc码的构造和编码方法

Legal Events

Date Code Title Description
B08F Application dismissed because of non-payment of annual fees [chapter 8.6 patent gazette]

Free format text: REFERENTE A 7A ANUIDADE.

B08K Patent lapsed as no evidence of payment of the annual fee has been furnished to inpi [chapter 8.11 patent gazette]

Free format text: REFERENTE AO DESPACHO 8.6 PUBLICADO NA RPI 2290 DE 25/11/2014.