BR112018073114B1 - Método e equipamento para comunicações sem fio e memória legível por computador - Google Patents

Método e equipamento para comunicações sem fio e memória legível por computador Download PDF

Info

Publication number
BR112018073114B1
BR112018073114B1 BR112018073114-5A BR112018073114A BR112018073114B1 BR 112018073114 B1 BR112018073114 B1 BR 112018073114B1 BR 112018073114 A BR112018073114 A BR 112018073114A BR 112018073114 B1 BR112018073114 B1 BR 112018073114B1
Authority
BR
Brazil
Prior art keywords
nodes
punctured
variable nodes
codeword
variable
Prior art date
Application number
BR112018073114-5A
Other languages
English (en)
Other versions
BR112018073114A2 (pt
Inventor
Thomas Joseph Richardson
Shrinivas KUDEKAR
Original Assignee
Qualcomm Incorporated
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 Incorporated filed Critical Qualcomm Incorporated
Publication of BR112018073114A2 publication Critical patent/BR112018073114A2/pt
Publication of BR112018073114B1 publication Critical patent/BR112018073114B1/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/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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/1174Parity-check or generator matrices built from sub-matrices representing known block codes such as, e.g. Hamming codes, e.g. generalized LDPC codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/033Theoretical methods to calculate these checking codes
    • H03M13/036Heuristic code construction methods, i.e. code construction or code search based on using trial-and-error
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/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
    • H03M13/1168Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices wherein the sub-matrices have column and row weights greater than one, e.g. multi-diagonal 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/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
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0009Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
    • H04L1/0013Rate matching, e.g. puncturing or repetition of code symbols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0067Rate matching
    • H04L1/0068Rate matching by puncturing

Landscapes

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

Abstract

certos aspectos da presente revelação referem-se, de forma geral, a técnicas para puncionamento e códigos de verificação de paridade de baixa densidade (ldpc) aperfeiçoados. é proporcionado um método para comunicações sem fio por um dispositivo de transmissão. o método de modo geral inclui codificar um conjunto de bits de informação com base em um código ldpc para produzir uma palavra-código, o código ldpc definido por uma matriz de base possuindo um primeiro número de nós de variável e um segundo número de nós de verificação; puncionar a palavra-código de acordo com um padrão de puncionamento projetado para puncionar bits correspondendo a pelo menos dois dos nós de variável para produzir uma palavra-código puncionada; adicionar pelo menos um bit de paridade adicional para os pelo menos dois nós de variável puncionados; e transmitir a palavra-código puncionada.

Description

REFERÊNCIA CRUZADA AOS PEDIDOS RELACIONADOS E REIVINDICAÇÃO DE PRIORIDADE
[0001] Este pedido reivindica prioridade ao Pedido U.S. No 15/593, 035, depositado em 11 de maio de 2017, que reivindica o benefício e prioridade do Pedido de Patente U.S. Provisório No 62/335,163, depositado em 12 de maio de 2016, os quais são incorporados no presente a título de referência em sua totalidade para todos os fins aplicáveis.
CAMPO TÉCNICO
[0002] Certos aspectos da tecnologia discutida a seguir se relacionam de forma geral a comunicações sem fios e à detecção e/ou correção de erros em dados binários, e, mais particularmente, a métodos e equipamentos para puncionamento e estrutura de código de verificação de paridade de baixa densidade (LDPC) aperfeiçoados. Certos aspectos podem possibilitar a execução aperfeiçoada dos códigos LDPC puncionados.
INTRODUÇÃO
[0003] Os sistemas de comunicação sem fio são amplamente empregados para oferecer variados tipos de conteúdo de comunicações, tal como voz, vídeo, dados, envio de mensagens, difusões, entre outros. Esses sistemas podem empregar tecnologias de acesso múltiplo aptos a darem suporte à comunicação com múltiplos usuários através do compartilhamento de recursos disponíveis do sistema (por exemplo, largura de banda e potência de transmissão). Exemplos de tais sistemas de acesso múltiplo incluem sistemas de acesso múltiplo por divisão de código (CDMA), sistemas de acesso múltiplo por divisão no tempo (TDMA), sistemas de CDMA síncrono por divisão no tempo (TD-SCDMA), sistemas de acesso múltiplo por divisão em frequências (FDMA), sistemas FDMA de portadora única (SC-FDMA), sistemas de evolução a longo prazo (LTE) do grupo 3rd Generation Partnership Project (3GPP), sistemas LTE Avançado (LTE-A), e sistemas de acesso múltiplo por divisão em frequências ortogonais (OFDMA).
[0004] As tecnologias de acesso múltiplo vêm sendo adotadas em vários padrões de telecomunicações para oferecer um protocolo comum que possibilite a diferentes dispositivos sem fio se comunicarem em um nível municipal, nacional, regional e até mesmo global. Um exemplo de um padrão de telecomunicações emergente é o New Radio (NR), por exemplo, acesso via rádio 5G. O NR é um conjunto de aprimoramentos ao padrão móvel LTE promulgado pelo 3GPP. Ele é projetado para oferecer melhor suporte ao acesso à Internet móvel em banda larga pelo aprimoramento da eficiência espectral, redução de custos, melhoria de serviços, fazendo uso de um novo espectro, com melhor integração com outros padrões abertos usando OFDMA com um prefixo cíclico (CP) no downlink (DL) e no uplink (UL), além de dar suporte à conformação de feixe (beamforming), tecnologia de antena Múltiplas Entradas Múltiplas Saídas (MIMO), e agregação de portadoras.
[0005] Geralmente, um sistema de comunicação de acesso múltiplo sem fio pode suportar comunicação simultaneamente para múltiplos nós sem fio. Cada nó se comunica com uma ou mais estações base por meio de transmissões nos links direto e reverso. O link direto (ou downlink) refere-se a um link de comunicação a partir das estações base para os nós, e um link reverso (ou uplink) refere-se ao link de comunicação a partir dos nós para as estações base. Os links de comunicação podem ser estabelecidos por meio de um sistema de única entrada / única saída, múltiplas entradas / única saída ou múltiplas entradas / múltiplas saídas (MIMO).
[0006] Um sistema de comunicação de acesso múltiplo sem fio pode incluir uma série de BSs, cada uma suportando simultaneamente comunicação para múltiplos dispositivos de comunicação, alternativamente chamados de equipamento do usuário (UE). Em uma rede LTE ou LTE-A, um conjunto de uma ou mais BSs podem definir um e-Nó-B (eNB). Em outros exemplos (por exemplo, em uma rede de próxima geração, NR, ou 5G), um sistema de comunicação de acesso múltiplo sem fio pode incluir uma série de unidades distribuídas (DUs) (por exemplo, unidades de borda (EUs), nós de borda (ENs), unidades de rádio (RHs), unidades de rádio inteligentes (SRHs), pontos de recepção de transmissão (TRPs), etc.) em comunicação com uma série de unidades centrais (CUs) (por exemplo, nós centrais (CNs), controladores de nó de acesso (ANCs), etc.), em que um conjunto de uma ou mais DUs, em comunicação com uma CU, pode definir um nó de acesso (por exemplo, uma BS, uma BS NR, uma BS 5G, um NB, um eNB, um NB NR, um NB 5G, um ponto de acesso (AP)), um nó de rede, um gNB, um TRP, etc.). Uma BS, AN ou DU pode se comunicar com um UE ou um conjunto de UEs nos canais de downlink (por exemplo, para transmissões no sentido da BS ou para um UE) e nos canais de uplink (por exemplo, uplinks, para transmissões no sentido de um UE para uma BS, AN ou DU).
[0007] Valores binários (por exemplo, uns e zeros) são usados para representar e comunicar vários tipos de informação, como vídeo, áudio, informação estatística, etc. Infelizmente, durante o armazenamento, transmissão e/ou processamento de dados binários, podem ser introduzidos erros por acidente; por exemplo, um “1” pode ser trocado para um “0”, ou vice-versa.
[0008] Geralmente, no caso da transmissão de dados, um receptor observa cada bit recebido na presença de ruído ou distorção e apenas uma indicação do valor do bit é obtida. Sob essas circunstâncias, os valores observados são interpretados como uma fonte de bits “soft” (suaves). Um bit “soft” indica uma estimativa preferida do valor do bit (por exemplo, um 1 ou um 0) juntamente com alguma indicação da confiabilidade dessa estimativa. Embora o número de erros possa ser relativamente baixo, até mesmo um número pequeno de erros ou nível de distorção pequeno pode resultar nos dados sendo inutilizáveis, ou, no caso de erros de transmissão, pode necessitar da retransmissão dos dados. Para oferecer um mecanismo para verificar quanto a erros, e, em alguns casos, para corrigir os erros, os dados binários podem ser codificados para introduzir uma redundância cuidadosamente projetada. A codificação de uma unidade de dado produz o que é geralmente conhecido como palavra-código. Por causa de sua redundância, uma palavra- código geralmente irá incluir mais bits do que a unidade de entrada de dados a partir da qual a palavra-código foi produzida.
[0009] Os bits redundantes são adicionados por um codificador ao fluxo de bits transmitido para criar uma palavra-código. Quando sinais provenientes das palavras- códigos transmitidas são recebidos ou processados, a informação redundante incluída na palavra-código, como observado no sinal, pode ser usada para identificar e/ou corrigir erros ou remover a distorção do sinal recebido de modo a recuperar a unidade de dados original. Tal verificação e/ou correção de erros pode ser implementada como parte de um processo de decodificação. Na ausência de erros, ou no caso de erros ou distorção passível de correção, pode-se usar decodificação para recuperar, a partir dos dados de origem sendo processados, a unidade de dados original que foi codificada. No caso de erros irrecuperáveis, o processo de decodificação pode produzir alguma indicação de que os dados originais não podem ser totalmente recuperados. Tais indicações de falha de decodificação podem iniciar a retransmissão dos dados; Com o aumento do uso de linhas de fibra óptica para comunicação de dados e da taxa de transmissão à qual os dados podem ser lidos e armazenados nos dispositivos de armazenamento de dados (por exemplo, unidades de disco, fitas, etc.), há uma demanda crescente não somente pelo uso eficiente da capacidade de transmissão e armazenamento de dados, mas também da capacidade de codificar e decodificar dados em altas taxas de transmissão de dados.
BREVE SUMÁRIO
[0010] O que se segue sintetiza alguns aspectos da presente revelação para propiciar uma compreensão básica da tecnologia discutida. Este sumário não é uma visão geral abrangente de todos os aspectos contemplados da revelação, tampouco pretende identificar elementos cruciais ou essenciais de todos os aspectos da revelação, nem delinear o escopo de quaisquer ou todos os aspectos da revelação. Sua única finalidade é a de apresentar alguns conceitos de um ou mais aspectos da revelação em uma forma resumida para servir de prelúdio à descrição mais detalhada apresentada mais adiante. Após considerar esta discussão, e particularmente após a leitura da seção intitulada “Descrição Detalhada”, será compreendido como os aspectos da presente revelação oferecem vantagens que incluem comunicações aprimoradas entre os pontos de acesso e estações em uma rede sem fio.
[0011] Embora a eficiência de codificação e altas taxas de transferência de dados sejam importantes, para que um sistema de codificação e/ou decodificação seja prático para uso em uma vasta gama de dispositivos (por exemplo, dispositivos do consumidor), também é importante que os codificadores e/ou decodificadores possam ser implementados a um custo razoável.
[0012] À medida que a demanda por acesso móvel de banda larga continua a aumentar, existe a necessidade de aprimoramentos adicionais na tecnologia NR. De preferência, esses aperfeiçoamentos deverão ser aplicáveis a outras tecnologias de acesso múltiplo e aos padrões de telecomunicações que empregam essas tecnologias. Uma área que carece de aprimoramentos é a de codificação (encoding)/decodificação, aplicável ao NR. Por exemplo, são desejáveis técnicas para códigos LDPC de alto desempenho para NR.
[0013] Certos aspectos da presente revelação referem-se, de forma geral, a métodos e equipamentos para puncionamento aperfeiçoado de códigos de verificação de paridade de baixa densidade (LDPC). Os sistemas de comunicação geralmente precisam operar em várias taxas de transmissão diferentes. Os códigos LDPC são uma opção para uma implementação simples que ofereça codificação e decodificação em diferentes taxas de transmissão. Por exemplo, códigos LDPC de taxa superior podem ser gerados pelo puncionamento de códigos LDPC de taxa inferior.
[0014] Certos aspectos da presente revelação propõem um método para comunicações sem fio que pode ser executado por um dispositivo de transmissão. O método de forma geral inclui codificar um conjunto de bits de informação com base em um código LDPC para produzir uma palavra-código, o código LDPC definido por uma matriz de base possuindo um primeiro número de nós de variável e um segundo número de nós de verificação; puncionar a palavra- código de acordo com um padrão de puncionamento projetado para puncionar bits correspondendo a pelo menos dois dos nós de variável para produzir uma palavra-código puncionada; adicionar pelo menos um bit de paridade adicional para os pelo menos dois nós de variável puncionados; e transmitir a palavra-código puncionada.
[0015] Certos aspectos da presente revelação proporcionam um equipamento para comunicações sem fio, tal como um dispositivo de transmissão. O equipamento de forma geral inclui meios para codificar um conjunto de bits de informação com base em um código LDPC para produzir uma palavra-código, o código LDPC definido por uma matriz de base possuindo um primeiro número de nós de variável e um segundo número de nós de verificação; meios para puncionar a palavra-código de acordo com um padrão de puncionamento projetado para puncionar bits correspondendo a pelo menos dois dos nós de variável para produzir uma palavra-código puncionada; meios para adicionar pelo menos um bit de paridade adicional para os pelo menos dois nós de variável puncionados; e meios para transmitir a palavra-código puncionada.
[0016] Certos aspectos da presente revelação proporcionam um equipamento para comunicações sem fio, tal como um dispositivo de transmissão. O equipamento geralmente inclui pelo menos um processador acoplado a uma memória e configurado para codificar um conjunto de bits de informação com base em um código LDPC para produzir uma palavra-código, o código LDPC definido por uma matriz de base possuindo um primeiro número de nós de variável e um segundo número de nós de verificação; puncionar a palavra- código de acordo com um padrão de puncionamento projetado para puncionar bits correspondendo a pelo menos dois dos nós de variável para produzir uma palavra-código puncionada; e adicionar pelo menos um bit de paridade adicional para os pelo menos dois nós de variável puncionados. O equipamento inclui um transmissor configurado para transmitir a palavra-código puncionada.
[0017] Certos aspectos da presente revelação proporcionam um meio legível por computador possuindo código executável por computador armazenado nele. O código executável por computador de forma geral inclui código para codificar um conjunto de bits de informação com base em um código LDPC para produzir uma palavra-código, o código LDPC definido por uma matriz de base possuindo um primeiro número de nós de variável e um segundo número de nós de verificação; código para puncionar a palavra-código de acordo com um padrão de puncionamento projetado para puncionar bits correspondendo a pelo menos dois dos nós de variável para produzir uma palavra-código puncionada; código para adicionar pelo menos um bit de paridade adicional para os pelo menos dois nós de variável puncionados; e código para transmitir a palavra-código puncionada.
[0018] Outros aspectos, características e modalidades da presente revelação tornar-se-ão evidentes aos versados na técnica, quando da análise da descrição seguinte dos aspectos exemplificativos específicos da presente revelação em conjunto com as figuras concomitantes. Embora os aspectos da presente revelação possam ser discutidos com relação a certos aspectos e figuras abaixo, todos os aspectos da presente revelação podem incluir um ou mais dos aspectos vantajosos aqui discutidos. Em outras palavras, embora um ou mais aspectos possam ser discutidos como possuindo certas características vantajosas, um ou mais de tais aspectos também podem ser usados de acordo com os vários aspectos da revelação aqui discutida. De maneira similar, embora os aspectos exemplificativos possam ser discutidos adiante como modalidades de dispositivos, sistemas ou métodos, deve-se compreender que tais modalidades exemplificativas podem ser implementadas em diversos dispositivos, sistemas e métodos.
BREVE DESCRIÇÃO DOS DESENHOS
[0019] De modo que a maneira na qual as características supracitadas da presente revelação possam ser entendidas em detalhes, uma descrição mais específica, resumida brevemente acima, pode lograda por referência aos aspectos, alguns dos quais são ilustrados nos desenhos acompanhantes. Os desenhos anexos ilustram apenas certos aspectos típicos da presente revelação, não sendo, portanto, considerados limitantes ao seu escopo, podendo a descrição admitir outros aspectos igualmente eficazes.
[0020] A FIG. 1 é um diagrama de blocos ilustrando um exemplo de uma rede de comunicação sem fio, de acordo com certos aspectos da presente revelação.
[0021] A FIG. 2 é um diagrama de blocos ilustrando uma arquitetura lógica exemplificativa de uma rede de acesso via rádio (RAN) distribuída, de acordo com certos aspectos da presente revelação.
[0022] A FIG. 3 é um diagrama ilustrando uma arquitetura física exemplificativa de uma RAN distribuída, de acordo com certos aspectos da presente revelação.
[0023] A FIG. 4 é um diagrama de blocos ilustrando uma estrutura de um exemplo de estação base (BS) e equipamento do usuário (UE), de acordo com certos aspectos da presente revelação.
[0024] A FIG. 5 é um diagrama ilustrando exemplos para implementação de uma pilha de protocolos de comunicação, de acordo com certos aspectos da presente revelação.
[0025] A FIG. 6 ilustra um exemplo de um subquadro centrado no downlink (DL), de acordo com certos aspectos da presente revelação.
[0026] A FIG. 7 ilustra um exemplo de um subquadro centrado no uplink (UL), de acordo com certos aspectos da presente revelação.
[0027] A FIG. 8 é uma representação gráfica de um código de verificação de paridade de baixa densidade (LDPC) exemplificativo, de acordo com certos aspectos da presente revelação.
[0028] A FIG. 8A é uma representação em matriz do código LDPC exemplificativo da FIG. 8 de acordo com certos aspectos da presente revelação.
[0029] A FIG. 9A é uma representação gráfica dos “liftings” do código LDPC da FIG. 8 de acordo com certos aspectos da presente revelação.
[0030] A FIG. 10 é uma representação em número inteiro de uma matriz para um código LDPC 802.11 quase- cíclico.
[0031] A FIG. 11 é um diagrama de blocos simplificado ilustrando um codificador exemplificativo, de acordo com certos aspectos da presente revelação.
[0032] A FIG. 12 é um diagrama de blocos simplificado ilustrando um decodificador exemplificativo, de acordo com certos aspectos da presente revelação.
[0033] A FIG. 13 é um fluxograma ilustrando exemplos de operações para codificação de informações com base no puncionamento e estrutura de código LDPC aperfeiçoados para comunicações sem fio por um dispositivo de transmissão, de acordo com certos aspectos da presente revelação.
[0034] A FIG. 14 mostra uma representação gráfica de um código LDPC ilustrativo possuindo múltiplos nós de variável puncionados de grau relativamente baixo e bits de paridade adicionais, de acordo com certos aspectos da presente revelação.
[0035] A fim de facilitar a compreensão, utilizaram-se números de referência idênticos, sempre que possível, para designar elementos idênticos que são comuns às figuras. Contempla-se que os elementos revelados em uma modalidade podem ser beneficamente utilizados em outras modalidades sem menção específica.
DESCRIÇÃO DETALHADA
[0036] Os aspectos da presente revelação proporcionam equipamentos, métodos, sistemas de processamento e produtos de programa de computador para codificação (encoding) (e/ou decodificação) para tecnologia de acesso New Radio (por exemplo, acesso via rádio 5G). O NR pode se referir a rádios configurados para operar de acordo com uma nova interface aérea ou camada de transporte fixa. O NR pode incluir serviço de Banda Larga Móvel Aperfeiçoada (eMBB) visando largura de banda ampla (por exemplo, 80 MHz superior), serviço de ondas milimétricas (mmW) visando alta frequência de portadora (por exemplo, 60 GHz), serviços de comunicações massivas tipo máquina (mMTC) visando técnicas MTC incompatíveis com versões anteriores, e/ou serviço de “missão crítica” (MiCr) visando ao serviço de comunicações de baixa latência ultra-confiável (URLLC). Esses serviços podem incluir requisitos de latência e confiabilidade. O NR pode usar codificação (coding) de verificação de paridade de baixa densidade (LDPC) e/ou códigos polares.
[0037] Os aspectos da presente revelação proporcionam técnicas para puncionamento e estrutura de código de verificação de paridade de baixa densidade (LDPC) aperfeiçoados, por exemplo, para códigos LDPC com desempenho aperfeiçoado. Em aspectos, múltiplos nós de variável de grau relativamente baixo podem ser puncionados, por exemplo, em vez de um único nó de variável de alto grau. O grau dos nós de variável refere-se ao número de conexões entre a variável para verificar os nós no grafo base. Em um grafo base de grande (também chamado de código de base ou PCM de base), os nós de variável podem oferecer suporte a um alto grau de conectividade em relação aos nós de variável em um grafo base menor. Adicionalmente, para efetivamente aumentar a taxa de código, bits de paridade extras podem ser adicionados à estrutura de código LDPC, cada bit de paridade correspondendo a um nó de variável de um grau formado pela paridade dos dois nós puncionados.
[0038] Vários aspectos da revelação são descritos em maiores detalhes aqui posteriormente com referência aos desenhos acompanhantes. A presente revelação, entretanto, pode ser incorporada em muitas formas diferentes e não deverá ser interpretada como limitada a nenhuma estrutura ou função específica apresentada ao longo de toda esta revelação. Em vez disso, esses aspectos são apresentados de modo que esta revelação seja meticulosa e completa, e transmitirão plenamente o escopo da revelação aos versados na técnica. Com base nos ensinamentos aqui apresentados, os versados na técnica deverão apreciar que o escopo da revelação pretende abranger qualquer aspecto da revelação aqui revelada, quer implementado de maneira independente ou combinado com qualquer outro aspecto da revelação. Por exemplo, um equipamento pode ser implementado ou um método pode ser praticado usando qualquer número dos aspectos apresentados aqui. Além disso, o escopo da revelação pretende abranger tal equipamento ou método que é praticado usando outra estrutura, funcionalidade, ou estrutura e funcionalidade além de ou diferente dos vários aspectos da revelação aqui apresentada. Deve-se entender que qualquer aspecto da revelação revelado aqui pode ser incorporado por um ou mais elementos de uma reivindicação. A palavra "exemplificativo" é usada para indicar algo que “serve de exemplo ou ilustração”. Qualquer aspecto aqui descrito aqui como "ilustrativo" não deve ser necessariamente interpretado como preferido ou vantajoso em relação a outros aspectos.
[0039] Embora aspectos específicos sejam descritos aqui, muitas variações e permutações desses aspectos se enquadrarão dentro do escopo da revelação. Embora alguns benefícios e vantagens dos aspectos preferidos sejam mencionados, o escopo da revelação não pretende ser limitado a benefícios, usos ou objetivos específicos. Em vez disso, os aspectos da revelação pretendem ser amplamente aplicáveis a diferentes tecnologias sem fio, configurações de sistema, redes e protocolos de transmissão, alguns dos quais são ilustrados a título de exemplo nas figuras e na descrição seguinte dos aspectos preferidos. A descrição detalhada e os desenhos são meramente ilustrativos da revelação ao invés de limitantes, o escopo da revelação sendo definido pelas reivindicações anexas e seus equivalentes.
[0040] As técnicas aqui descritas podem ser usadas para várias redes de comunicação sem fio, tais como redes de Acesso Múltiplo por Divisão de Código (CDMA), redes de Acesso Múltiplo por Divisão no Tempo (TDMA), redes de Acesso Múltiplo por Divisão em Frequência (FDMA), redes de FDMA ortogonal (OFDMA), redes FDMA de portadora única (SC-FDMA), etc. Os termos “redes” e “sistemas” geralmente são utilizados aqui de maneira intercambiável. Uma rede CDMA pode implementar uma tecnologia de rádio, tal como Acesso Terrestre Universal via Rádio (UTRA), CDMA2000, etc. A UTRA inclui CDMA de Banda Larga (W-CDMA) e “Low Chip Rate” (LCR). O CDMA2000 abrange os padrões IS-2000, IS-95 e IS-856. Uma rede TDMA pode implementar uma tecnologia de rádio, tal como Sistema Global para Comunicações Móveis (GSM). Uma rede OFDMA pode implementar uma tecnologia de rádio, tal como UTRA Evoluída (E-UTRA), IEEE 802,11, IEEE 802.16, IEEE 802.20, Flash-OFDM®, etc. A UTRA, a E-UTRA e o GSM fazem parte do Sistema Universal de Telecomunicações Móveis (UMTS). A LTE 3GPP e a LTE-Avançada (LTE-A) são versões do UMTS que utilizam E-UTRA. A UTRA, E-UTRA, UMTS, LTE, LTE-A e o GSM são descritos nos documentos de uma organização chamada 3GPP ("3rd Generation Partnership Project"). O CDMA2000 é descrito nos documentos de uma organização chamada "3rd Generation Partnership Project 2" (3GPP2 - Projeto Parceria de 3a Geração 2). Essas redes de comunicações são listadas meramente como exemplos de redes nas quais as técnicas descritas nesta revelação podem ser aplicadas; entretanto, esta revelação não se limita à rede de comunicações descritas acima. Por clareza, nota-se que, embora os aspectos possam ser descritos aqui utilizando terminologia normalmente associada a tecnologias sem fios 3G e/ou 4G, os aspectos da presente revelação podem ser aplicados em outros sistemas de comunicação baseados em geração, tal como tecnologias de New Radio (NR), inclusive 5G e lançadas posteriormente.
CONTEXTO DO SISTEMA DE COMUNICAÇÃO SEM FIO
[0041] A FIG. 1 ilustra um exemplo de rede de comunicações sem fio 100 no qual os aspectos da presente revelação podem ser praticados. Por exemplo, um dispositivo de transmissão, tal como o UE 120 ou uma BS 110, pode codificar um conjunto de bits de informação com base em um código de verificação de paridade de baixa densidade (LDPC) para produzir uma palavra-código. O dispositivo de transmissão pode realizar o puncionamento do LDPC de acordo com um padrão de puncionamento. O padrão de puncionamento pode ser projetado para puncionar bits correspondendo a pelo menos dois dos nós de variável. Os nós de variável puncionados podem ser os nós de variável de maior grau na matriz de base, mas nós de variável de grau relativamente baixo em relação aos nós de variável nos outros códigos LDPC. Os nós de variável de alto grau possuem muitas conexões com os nós de verificação. Os grafos de base grande (por exemplo, contendo muitos nós de verificação) podem suportar/incluir nós de variável de grau maior em relação aos grafos de base pequena (por exemplo, contendo poucos nós de verificação). Bits de paridade extras podem ser adicionados à estrutura de código LDPC para cada par de nós de variável puncionados.
[0042] Como ilustrado na FIG. 1, a rede de comunicações sem fio 100 pode incluir uma série de BSs 110 e outras entidades de rede. Uma BS pode ser uma estação que se comunica com UEs. Cada BS 110 pode proporcionar cobertura de comunicação para uma área geográfica específica. No 3GPP, o termo “célula” pode se referir a uma área de cobertura de um Nó B e/ou a um subsistema de Nó B servindo a esta área de cobertura, dependendo do contexto no qual o termo é utilizado. Nos sistemas NR, os termos “célula” e gNB, Nó B, NB 5G, AP, BS NR, BS NR, TRP, etc., podem ser intercambiáveis. Em alguns exemplos, uma célula pode não ser necessariamente fixa, e a área geográfica da célula pode se mover de acordo com a localização de uma BS móvel. Em alguns exemplos, as BSs podem ser interconectadas uma às outras e/ou a uma ou mais outras BSs ou nós de rede (não ilustrados) na rede de comunicações sem fio 100 através de vários tipos de interfaces de canal de transporte de retorno (backhaul), tal como uma conexão física direta, uma rede virtual, ou similar, usando qualquer rede de transporte adequada.
[0043] Em geral, qualquer número de redes sem fio pode ser implementado em uma dada área geográfica. Cada rede sem fio pode oferecer suporte a uma tecnologia de acesso via rádio (RAT) específica e pode operar em uma ou mais frequências. Uma RAT também pode ser designada como tecnologia de rádio, interface aérea, etc. Uma frequência também pode ser chamada de portadora, canal de frequência, etc. Cada frequência pode suportar uma única RAT em uma dada área geográfica de modo a evitar interferência entre redes sem fio de diferentes RATs. Em alguns casos, redes RAT NR ou 5G podem ser implementadas.
[0044] Uma BS pode oferecer cobertura de comunicação para uma macro célula, uma pico célula, uma femto célula e/ou para outros tipos de células. Uma macro célula pode cobrir uma área geográfica relativamente grande (por exemplo, raio de vários quilômetros) e pode permitir acesso irrestrito pelos UEs com assinatura de serviço. Uma pico célula pode cobrir uma área geográfica relativamente pequena e pode permitir acesso irrestrito por UEs com assinatura de serviço. Uma femto célula pode cobrir uma área geográfica relativamente pequena (por exemplo, uma residência) e pode permitir acesso restrito por UEs possuindo associação com a femto célula (por exemplo, UEs em um Grupo Fechado para Assinantes (CSG), UEs para usuários na residência, etc.). Um BS para uma macrocélula pode ser chamado de macro BS. Um BS para uma pico célula pode ser chamado de pico BS. Um BS para uma femto célula pode ser chamado de femto BS ou BS residencial. No exemplo ilustrado na FIG. 1, a BS 110a, a BS 110b e a BS 110c podem ser macro BSs para a macro célula 102a, a macro célula 102b e a macro-célula 102c, respectivamente. Uma BS pode suportar uma ou múltiplas células (por exemplo, três).
[0045] A rede de comunicações sem fio 100 também pode incluir estações retransmissoras. Uma estação retransmissora é uma estação que recebe uma transmissão de dados e/ou outras informações a partir de uma estação a montante (por exemplo, uma BS 110 ou um UE 120) e envia uma transmissão dos dados e/ou outras informações para uma estação a jusante (por exemplo, um UE 120 ou uma BS 110). Uma estação retransmissora também pode ser um UE que retransmite transmissões para outros UEs. No exemplo ilustrado na FIG. 1, a estação retransmissora 110r pode se comunicar com a BS 110a e com o UE 120r de modo a facilitar a comunicação entre a BS 110a e o UE 120r. Uma estação retransmissora também pode ser chamada de retransmissor, eNB retransmissor, etc.
[0046] A rede de comunicações sem fio 100 pode ser uma rede heterogênea que inclui BSs de diferentes tipos, por exemplo, macro BSs, pico-BSs, femto BSs, retransmissores, etc. Esses tipos diferentes de BSs podem ter diferentes níveis de potência de transmissão, diferentes áreas de cobertura e diferentes impactos sobre a interferência na rede de comunicações sem fio 100. Por exemplo, uma macro BS pode ter um alto nível de potência de transmissão (por exemplo, 20 Watts), ao passo que a pico BS, a femto BS e as retransmissoras podem ter um nível de potência de transmissão inferior (por exemplo, 1 Watt).
[0047] A rede de comunicações sem fio 100 pode oferecer suporte à operação síncrona ou assíncrona. Para operação síncrona, as BSs podem ter uma temporização de quadro similar, e as transmissões de diferentes BSs podem estar aproximadamente alinhadas no tempo. Para operação assíncrona, as BSs podem ter temporizações de quadro diferentes, e as transmissões a partir de BSs diferentes podem não estar alinhadas temporalmente. As técnicas descritas aqui podem ser usadas tanto para operações síncronas quanto assíncronas.
[0048] Um controlador de rede 130 pode se acoplar a um conjunto de BSs e proporcionar coordenação e controle para essas BSs. O controlador de rede 130 pode se comunicar com as BSs 110 por meio de um canal de transporte de retorno (backhaul). As BSs 110 também podem se comunicar umas com as outras, por exemplo, direta ou indiretamente por meio de um canal de transporte de retorno com fio ou sem fio.
[0049] Os UEs 120 (por exemplo, o UE 120x, o UE 120y, etc.) podem estar dispersos por toda a rede de comunicações sem fio 100, e cada UE pode ser fixo ou móvel. Um UE também pode ser chamado de estação móvel, terminal de acesso, unidade do assinante, estação, Equipamento no Local do Assinante (CPE), telefone celular, smart phone, assistente pessoal digital (PDA), modem sem fio, dispositivo de comunicação sem fio, dispositivo portátil, computador laptop, telefone sem fio, estação de Loop Local sem Fio (WLL), tablet, câmera, dispositivo de jogo, netbook, smartbook, ultrabook, dispositivo médico ou equipamento médico, sensor/dispositivo biométrico, dispositivo vestível, tal como um relógio inteligente, roupa inteligente, óculos inteligentes, pulseira inteligente, jóias inteligentes (por exemplo, um anel inteligente, um bracelete inteligente, etc.), dispositivo de entretenimento (por exemplo, um dispositivo de música ou vídeo, um rádio de satélite, etc.), componente ou sensor veicular, medidor/sensor inteligente, equipamento de fabricação industrial, dispositivo do sistema global de posicionamento, ou qualquer outro dispositivo apropriado que seja configurado para se comunicar através de um meio com fio ou sem fio. Alguns UEs podem ser considerados dispositivos de comunicação evoluída ou do tipo máquina (MTC) ou dispositivos MTC evoluído (eMTC). Os UEs MTC e eMTC incluem, por exemplo, robôs, drones, dispositivos remotos, sensores, medidores, monitores, etiquetas de localização, etc., que podem se comunicar com uma BS, outro dispositivo (por exemplo, dispositivo remoto), ou alguma outra entidade. Um nó sem fio pode oferecer, por exemplo, conectividade para ou a uma rede (por exemplo, uma rede de longa distância, tal como a Internet, ou uma rede celular) por meio de um link de comunicação com fio ou sem fio. Alguns UEs podem ser considerados como dispositivos da “Internet das Coisas” (IoT).
[0050] Na FIG. 1, uma linha sólida com setas duplas indica transmissões desejadas entre um UE e uma BS servidora, que é uma BS designada para servir o UE no downlink e/ou no uplink. Uma linha finamente tracejada com setas duplas indica transmissões interferentes entre um UE e uma BS.
[0051] Certas redes sem fio (por exemplo, a LTE) utilizam multiplexação por divisão de frequência ortogonal (OFDM) no downlink e multiplexação por divisão de frequência de portadora única (SC-FDM) no uplink. A OFDM e a SC-FDM particionam a largura de banda do sistema em múltiplas (K) subportadoras ortogonais, que também são geralmente chamadas de tons, compartimentos (“bins”), etc. Cada subportadora pode ser modulada com dados. Em geral, os símbolos de modulação são enviados no domínio da frequência com o OFDMA e no domínio do tempo com SC-FDM. O espaçamento entre as subportadoras adjacentes pode ser fixo, e o número total de (K) subportadoras pode ser dependente da largura de banda do sistema. Por exemplo, o espaçamento das subportadoras pode ser de 15 kHz e a alocação mínima de recursos (chamada de “bloco de recurso” (RB)) pode ser de 12 subportadoras (isto é, 180 kHz). Consequentemente, o tamanho da Transformada Rápida de Fourier (FFT) nominal pode ser igual a 128, 256, 512, 1024 ou 2048 para uma largura de banda do sistema de 1.25, 2,5 MHz, 5 MHz, 10 MHz ou 20 MHz (MHz), respectivamente. A largura de banda do sistema também pode ser particionada em sub-bandas. Por exemplo, uma sub-banda pode cobrir 1.08 MHz (ou seja, 6 RBs), e pode haver 1, 2, 4, 8 ou 16 sub-bandas para uma largura de banda do sistema de 1.25 MHz, 2.5 MHz, 5 MHz, 10 MHz ou 20 MHz, respectivamente.
[0052] Embora os aspectos dos exemplos descritos aqui possam ser associados a tecnologias LTE, os aspectos da presente revelação podem ser aplicáveis a outros sistemas de comunicações sem fio, tal como NR.
[0053] NR pode utilizar OFDM com um CP no uplink e no downlink e inclui suporte à operação half-duplex utilizando TDD. Uma largura de banda de portadora componente única de 100 MHz pode ser suportada. Os blocos de recurso (RBs) NR podem abranger 12 subportadoras com uma largura de banda de subportadora de 75 kHz por uma duração de 0,1 ms. Cada quadro de rádio pode consistir de 50 subquadros com uma duração de 10 ms. Consequentemente, cada subquadro pode ter uma duração de 0,2 ms. Cada subquadro pode indicar uma direção do link (isto é, downlink ou uplink) para transmissão de dados e a direção de link para cada subquadro pode ser comutada dinamicamente. Cada subquadro pode incluir dados de DL/UL, bem como dados de controle de DL/UL. Os subquadros de UL e DL para NR podem ser conforme descrito em mais detalhes com relação às FIGs. 6 e 7. A conformação de feixe pode ser suportada e a direção do feixe pode ser configurada dinamicamente. As transmissões MIMO com pré-codificação também podem ser suportadas. As configurações MIMO no DL podem suportar até 8 antenas transmissoras com transmissões de DL multicamada até 8 fluxos e até 2 fluxos por UE. Transmissões multicamada com até 2 fluxos por UE podem ser suportadas. A agregação de múltiplas células pode ser suportada com até 8 células servidoras. Como alternativa, a NR pode suportar uma interface aérea diferente, além de uma interface baseada em OFDM.
[0054] Em alguns exemplos, o acesso à interface aérea pode ser programado. Uma entidade de programação (por exemplo, uma BS 110 ou UE 120) aloca recursos para comunicação entre alguns ou todos os dispositivos e equipamentos dentro de sua área de serviço ou célula. Dentro da presente revelação, como discutido em mais detalhes abaixo, a entidade de programação pode ser responsável pela programação, atribuição, reconfiguração e liberação dos recursos para uma ou mais entidades subordinadas. Ou seja, para comunicação programada, as entidades subordinadas utilizam recursos alocados pela entidade de programação. As BSs não são as únicas entidades que podem funcionar como uma entidade de programação. Isto é, em alguns exemplos, um UE pode funcionar como uma entidade de programação, programando recursos para uma ou mais entidades subordinadas (por exemplo, uma ou mais outras UEs). Neste exemplo, ao UE está funcionando como uma entidade de programação, e outros UEs utilizam recursos programados pelo UE para comunicação sem fio. Um UE pode funcionar como uma entidade de programação em uma rede ponto a ponto (P2P), e/ou em uma rede em malha. Em um exemplo de rede em malha, os UEs podem opcionalmente se comunicar diretamente uns com os outros além de se comunicarem com a entidade de programação.
[0055] Assim, em uma rede de comunicação sem fio com um acesso programado a recursos de tempo-frequência e possuindo uma configuração celular, uma configuração P2P, e uma configuração em malha, uma entidade de programação e uma ou mais entidades subordinadas podem se comunicar utilizando os recursos programados.
[0056] A rede de cesso via rádio (RAN) NR pode incluir uma ou mais unidades centrais (CU) e unidades distribuídas (DUs). Uma BS NR (por exemplo, um gNB, um NB 5G, um NB, um NB 5G, um TRP, um AP) pode corresponder a uma ou múltiplas BSs. As células NR podem ser configuradas como células de acesso (Células-A) ou células somente de dados (Células-D). As células-D podem ser células usadas para agregação de portadoras ou conectividade dupla, mas não usadas para acesso inicial, seleção/re-seleção de célula, ou handover.
[0057] A FIG. 2 ilustra um exemplo de arquitetura lógica de uma RAN distribuída 200, que pode ser implementada no sistema de comunicações sem fio 100 ilustrado na FIG. 1. Um nó de acesso 5G (AN) 206 pode incluir o controlador de nó de acesso (ANC) 202. O ANC 202 pode ser uma CU da RAN distribuída 200. Uma interface de canal de transporte de retorno para a rede núcleo de próxima geração (NG-CN) 204 pode terminar no ANC 202. Uma interface de canal de transporte de retorno para os nós de acesso de próxima geração adjacentes (NG-ANs) pode terminar no ANC 202. O ANC 202 pode incluir um ou mais TRPs 208.
[0058] Os TRPs 208 compreendem DUs. Os TRPs 208 podem ser conectados a um ANC (ANC 202) ou a mais de um ANC (não ilustrado). Por exemplo, para compartilhamento RAN, rádio como serviço (RaaS) e implementações AND específicas ao serviço, o TRP pode ser conectado a mais de um ANC 202. UM TRP 208 pode incluir uma ou mais portas de antena. Os TRPs 208 podem ser configurados para servir de tráfego individualmente (por exemplo, seleção dinâmica) ou de maneira conjunta (por exemplo, transmissão conjunta) para um UE (por exemplo, um UE 120).
[0059] Um exemplo de arquitetura lógica da RAN distribuída 200 pode ser usado para ilustrar a definição de canal de transporte de retorno. A arquitetura lógica pode oferecer suporte a soluções de fronthauling entre diferentes tipos de implementações. Por exemplo, a arquitetura lógica pode ser baseada nas capacidades da rede de transmissão (por exemplo, largura de banda, latência e/ou variação de latência (jitter)). A arquitetura lógica pode compartilhar aspectos e/ou componentes com a LTE. O NG-AN 210 pode oferecer suporte a conectividade dupla com NR. O NG-AN 210 pode compartilhar um fronthaul em comum para a LTE e a NR. A arquitetura lógica pode permitir cooperação entre os TRPs 208. Por exemplo, a cooperação pode ser pré-configurada dentro de um TRP 208 e/ou entre os TRPs por meio do ANC 208. Pode não existir nenhuma interface inter-TRP.
[0060] A arquitetura lógica para a RAN distribuída 200 pode incluir uma configuração dinâmica das funções lógicas divididas. Como será descrito em mais detalhes com referência à fig. 5, a camada de Controle de Recursos de Rádio (RRC), a camada de Protocolo de Convergência de Dados de Pacote (PDCP), a camada de Controle de Link de Rádio (RLC), a camada de Controle de Acesso à Mídia (MAC), e uma camada Física (PHY) podem ser colocadas na DU (por exemplo, um TRP 208) ou na CU (por exemplo, ANC 202).
[0061] A FIG. 3 ilustra um exemplo de arquitetura física de uma RAN distribuída 300, de acordo com aspectos da presente revelação. Como ilustrado na FIG. 3, a RAN distribuída 300 inclui a unidade de rede núcleo centralizada (C-CU) 302, a unidade de RAN centralizada (CRU) 304, e a DU 306.
[0062] A C-CU 302 pode hospedar funções da rede núcleo. A C-CU 302 pode ser implementada centralmente. A funcionalidade da C-CU 302 pode ser descarregada (por exemplo, para serviços sem fio avançados (AWS)), em um esforço para gerenciar a capacidade de pico. A C-RU 304 pode hospedar uma ou mais funções da ANC. Opcionalmente, a C-RU 304 pode hospedar funções de rede núcleo localmente. A C-RU 304 pode ter uma implementação distribuída. A C-RU 304 pode estar localizada próximo a uma borda da rede. A DU 306 pode hospedar um ou mais TRPs (nó de borda (EN), uma unidade de borda (EU), uma unidade de rádio (RH), uma unidade de rádio inteligente (SRH), entre outros). A DU 306 pode estar localizada nas bordas da rede com funcionalidade de radiofrequência (RF).
[0063] A FIG. 4 ilustra exemplos de componentes da BS 110 e do UE 120 ilustrados na FIG. 1, que podem ser usados para implementar aspectos da presente revelação para codificação LDPC flexível, compacta e de alto desempenho. Um ou mais dos componentes da BS 110 e do UE 120 ilustrados na FIG. 4 podem ser usados para colocar em prática os aspectos da presente revelação. Por exemplo, a(s) antena(s) 452a-454r, os Demodulador(es)/Modulador(es) 454a-454r, o processador MIMO TX 466, o Processador de Recepção 458, o Processador de Transmissão 464, e/ou o Controlador/Processador 480 do UE 120 e/ou da(s) antena(s) 434a-434t, do(s) Demodulador(es)/Modulador(es) 432a-434t, dos Processadores MIMO TX 430, do Processador de Transmissão 420, do Processador de Recepção 438, e/ou o Controlador/Processador 440 da BS 110 podem ser usados para realizar as operações 1300 descritas aqui e ilustradas com referência à FIG. 13.
[0064] Para um cenário de associação restrita, a BS 110 pode ser uma macro BS 110c na FIG. 1, e o UE 120 pode ser o UE 120y. A BS 110 também pode ser uma BS de algum outro tipo. A BS 110 pode ser equipada com as antenas 434a a 434t e o UE 120 pode ser equipado com as antenas 452a a 452r.
[0065] Na BS 110, o processador de transmissão 420 pode receber dados a partir da fonte de dados 412 e informações de controle a partir do controlador/processador 440. As informações de controle podem ser para o Canal Físico de Difusão (PBCH), para o Canal Físico Indicador de Formato de Controle (PCFICH), para o Canal Físico Indicador ARQ Híbrido (PHICH), para o Canal Físico de Controle de Downlink (PDCCH) ou outro canal ou sinal de controle. Os dados podem ser para o Canal Físico Compartilhado de Downlink (PDSCH), ou outro canal ou sinal de dados. O processador de transmissão 420 pode processar (por exemplo, codificar e mapear por símbolos) os dados e informações de controle para obter símbolos de dados e símbolos de controle, respectivamente. Por exemplo, o processador de transmissão 420 pode codificar bits de informação usando estruturas de código LDPC discutidas em maiores detalhes a seguir. O processador de transmissão 420 também pode gerar símbolos de referência, por exemplo, para o sinal de sincronização primário (PSS), o sinal de sincronização secundário (SSS) e o sinal de referência específico da célula (CRS). Um processador de Múltiplas Entradas Múltiplas Saídas (MIMO) de transmissão (TX) 430 pode realizar processamento espacial (por exemplo, pré- codificação) nos símbolos de dados, nos símbolos de controle e/ou nos símbolos de referência, se aplicável, e pode fornecer fluxos de símbolo de saída aos moduladores (MODs) 432a a 432t. Cada modulador 432 pode processar um respectivo fluxo de símbolo de saída (por exemplo, para OFDM, etc.) para obter um fluxo de amostra de saída. Cada modulador 432 pode adicionalmente processar (por exemplo, converter para analógico, amplificar, filtrar e converter para frequência superior) o fluxo de amostra de saída para obter um sinal de downlink. Os sinais de downlink provenientes dos moduladores 432a a 432t podem ser transmitidos por meio das antenas 434a a 434t, respectivamente.
[0066] No UE 120, as antenas 425a a 452r podem receber os sinais de downlink a partir da BS 110 e podem fornecer os sinais recebidos aos demoduladores (DEMODs) 454a a 454r, respectivamente. Cada demodulador 454 pode condicionar (por exemplo, filtrar, amplificar, converter para frequência inferior, e digitalizar) um respectivo sinal recebido para obter amostras de entrada. Cada demodulador 454 pode adicionalmente processar as amostras de entrada (por exemplo, para OFDM, etc.) para obter símbolos recebidos. O detector MIMO 456 pode obter símbolos recebidos a partir de todos os demoduladores 454a a 454r, realizar a detecção MIMO nos símbolos recebidos, se aplicável, e fornecer os símbolos detectados. O processador de recepção 458 pode processar (por exemplo, demodular, realizar a desintercalação, e decodificar) os símbolos detectados, fornecer os dados decodificados ao UE 120 para um repositório de dados 460, e fornecer informações de controle decodificadas e ao controlador/processador 480.
[0067] No uplink, no UE 120, o processador de transmissão 464 pode receber e processar dados (por exemplo, para o Canal Físico Compartilhado de Uplink (PUSCH) ou outro canal ou sinal de dados) a partir da fonte de dados 462 e informações de controle (por exemplo, para o Canal Físico de Controle de Uplink (PUCCH) ou outro canal ou sinal de controle) a partir do controlador/processador 480. O processador de transmissão 464 também pode gerar símbolos de referência para um sinal de referência. Os símbolos provenientes do processador de transmissão 464 podem ser pré-codificados por um processador TX MIMO 466, se aplicável, adicionalmente processados pelos demoduladores 454a a 454r (por exemplo, para SC-FDM, etc.), e transmitidos à BS 110. Na BS 110, os sinais de uplink provenientes do UE 120 podem ser recebidos pelas antenas 434, processados pelos moduladores 432, detectados pelo detector MIMO 436, se aplicável, e adicionalmente processados pelo processador de recepção 438 para obter dados decodificados e informações de controle enviadas pelo UE 120. O processador de recepção 438 pode fornecer os dados decodificados a um repositório de dados 439 e as informações de controle decodificadas ao controlador/processador 440.
[0068] A memória 442 pode armazenar dados e códigos de programa para a BS 110 e a memória 482 pode armazenar dados e códigos de programa para o UE 120. O programador 444 pode programar UEs para transmissão de dados no downlink e/ou no uplink.
[0069] A FIG. 5 ilustra um diagrama 500 ilustrando exemplos para implementação de uma pilha de protocolos de comunicações, de acordo com aspectos da presente revelação. As pilhas de protocolos de comunicações ilustradas podem ser implementadas por dispositivos operando em um sistema 5G (por exemplo, um sistema que oferece suporte à mobilidade baseada em uplink). O diagrama 500 ilustra uma pilha de protocolos de comunicações incluindo a camada RRC 510, a camada PDCP 515, a camada RLC 520, a camada MAC 525 e a camada PHY 530. Em um exemplo, as camadas de uma pilha de protocolos podem ser implementadas como módulos separados de software, partes de um processador ou ASIC, partes de dispositivos não co- localizados conectados por um link de comunicações, ou várias combinações dos mesmos. As implementações co- localizadas e não co-localizadas podem ser usadas, por exemplo, em uma pilha de protocolos para um dispositivo de acesso à rede (por exemplo, Anc, CUs e/ou DUs) ou um UE.
[0070] Uma primeira opção 505-a mostra uma implementação dividida de uma pilha de protocolos, em que a implementação da pilha de protocolos é dividida entre um dispositivo de acesso de rede centralizado (por exemplo, ANC 202) e o dispositivo de acesso à rede distribuída (por exemplo, DU 208). Na primeira opção 505-a, a camada RRC 510 e a camada PDCP 515 podem ser implementadas pela CU, e a camada RLC 520, a camada MAC 525, e a camada PHY 530 podem ser implementadas pela DU. Em vários exemplos, a CU e a DU podem estar co-localizadas ou não co-localizadas. A primeira opção 505-a pode ser útil em uma implementação em macro-célula, micro-célula ou pico-célula.
[0071] Uma segunda opção 505-b mostra uma implementação unificada de uma pilha de protocolos, na qual a pilha de protocolos é implementada em um único dispositivo de acesso à rede (por exemplo, nó de acesso (AN), BS NR, um NB NR, um nó de rede (NN), TRP, gNB, etc.). Na segunda opção, cada uma dentre a camada RRC 510, a camada PDCP 515, a camada RLC 520, a camada MAC525 e a camada PHY 530 pode ser implementada pela AN. A segunda opção 505-b pode ser útil em uma implementação em femto- célula.
[0072] Independentemente de se um dispositivo de acesso à rede implementa parte de uma pilha de protocolos ou ela inteira, um UE pode implementar toda a pilha de protocolos (por exemplo, camada RRC 510, camada PDCP 515, a camada RLC 520, a camada MAC 525 e a camada PHY 530).
[0073] A FIG. 6 é um diagrama ilustrando um exemplo de um subquadro centrado no DL 600. O subquadro centrado no DL 600 pode incluir uma parte de controle 602. A parte de controle 602 pode existir na parte inicial ou no começo do subquadro centrado no DL 600. A parte de controle 602 pode incluir várias informações de programação e/ou informações de controle correspondendo a várias partes do subquadro centrado no DL 600. Em algumas configurações, a parte de controle 602 pode ser um canal de controle de DL físico (PDCCH), como ilustrado na FIG. 6. O subquadro centrado no DL 600 também pode incluir uma parte de dados de DL 604. A parte de dados de DL 604 pode ser chamada de carga útil do subquadro centrado no DL 600. A parte de dados de DL 604 pode incluir os recursos de comunicação utilizados para comunicar dados de DL a partir da entidade de programação (por exemplo, UE ou BS) para a entidade subordinada (por exemplo, UE). Em algumas configurações, a parte de dados de DL 604 pode ser um canal compartilhado de DL físico (PDSCH).
[0074] O subquadro centrado no DL 600 também pode incluir a parte de UL em comum 606. A parte de UL em comum 606 pode ser chamada de rajada de UL, rajada de UL em comum, e/ou vários outros termos adequados. A parte de UL em comum 606 pode incluir informação de realimentação correspondendo a várias outras partes do subquadro centrado no DL 600 . Por exemplo, a parte de UL em comum 606 pode incluir informações de realimentação correspondendo à parte de controle 602. Exemplos não-limitantes de informações de realimentação podem incluir um sinal e confirmação (ACK), um sinal de confirmação negativa (NACK), um indicador HARQ e/ou vários outros tipos de informações adequados. A parte de UL em comum 606 pode adicionalmente ou alternativamente incluir informações, tais como informações pertencentes a procedimentos de canal de acesso aleatório (RACH), solicitações de programação (SRs), e vários outros tipos de informações adequados. Como ilustrado na FIG. 6, o final da parte de dados de DL 604 pode ser separado temporalmente do começo da parte de UL em comum 606. Esta separação temporal pode ser chamada de lacuna, período de guarda, intervalo de guarda e/ou vários outros termos adequados. Esta separação fornece tempo para a alteração da comunicação DL (por exemplo, operação de recepção pela entidade subordinada (por exemplo, UE)) para comunicação UL (por exemplo, transmissão pela entidade subordinada (por exemplo, UE)). O disposto acima é meramente um exemplo de um subquadro centrado no DL, podendo existir estruturas alternativas com aspectos similares sem necessariamente desviar-se dos aspectos aqui descritos.
[0075] A FIG. 7 é um diagrama ilustrando um exemplo de um subquadro centrado no UL 700. O subquadro centrado no UL 700 pode incluir a parte de controle 702. A parte de controle 702 pode existir na parte inicial ou no começo do subquadro centrado no UL 700. A parte de controle 702 na FIG. 7 pode ser similar à parte de controle 602 descrita acima com referência à FIG. 6. O subquadro centrado no UL 700 também pode incluir uma parte de dados de UL 704. A parte de dados de UL 704 pode ser chamada de carga útil do subquadro centrado no UL 700. A parte de dados de UL 704 pode se referir aos recursos de comunicação utilizados para comunicar dados de UL a partir da entidade subordinada (por exemplo, UE) para a entidade de programação (por exemplo, UE ou BS). Em algumas configurações, a parte de controle 702 pode ser um PDCCH. Como ilustrado na FIG. 7, o final da parte de controle 702 pode ser separado temporalmente do começo da parte de dados de UL 704. Esta separação temporal pode ser chamada de lacuna, período de guarda, intervalo de guarda e/ou vários outros termos adequados. Esta separação fornece tempo para a alteração da comunicação DL (por exemplo, operação de recepção pela entidade de programação) para comunicação UL (por exemplo, transmissão pela entidade de programação). O subquadro centrado no UL 700 também pode incluir a parte de UL em comum 706. A parte de UL em comum 706 na FIG. 7 pode ser similar à parte de UL em comum 1006 descrita acima com referência à FIG. 6. A parte de UL em comum 706 pode, adicionalmente ou como alternativa, incluir informações pertencentes ao indicador de qualidade do canal (CQI), sinais de referência de sondagem (SRSs), e vários outros tipos de informações adequados. O disposto acima é meramente um exemplo de um subquadro centrado no UL, podendo existir estruturas alternativas com aspectos similares sem necessariamente desviar-se dos aspectos aqui descritos.
[0076] Em algumas circunstâncias, duas ou mais entidades subordinadas (por exemplo, UEs) podem se comunicar uma com a outra usando sinais de sidelink. As aplicações do mundo real de tais comunicações de sidelink podem incluir segurança pública, serviços de proximidade, retransmissão do UE para a rede, comunicações de veículo para veículo (V2V), comunicações “Internet de Tudo” (Internet-of-Everything - IoE), comunicações IoT, malha de missão crítica e/ou várias outras aplicações adequadas. Geralmente, um sinal de sidelink pode se referir a um sinal comunicado a partir de uma entidade subordinada (por exemplo, UE1) para outra entidade subordinada (por exemplo, UE2) sem retransmitir essa comunicação através da entidade de programação (por exemplo, UE ou BS), ainda que a entidade de programação possa ser utilizada para fins de programação e/ou controle. Em alguns exemplos, os sinais de sidelink podem ser comunicados usando um espectro licenciado (diferente das redes locais sem fio (WLAN), que tipicamente usam um espectro não-licenciado).
[0077] Um UE pode operar em várias configurações de recurso de rádio, incluindo uma configuração associada à transmissão de pilotos usando um conjunto dedicado de recursos (por exemplo, um estado dedicado de controle de recurso de rádio (RRC), etc.) ou uma configuração associada a pilotos de transmissão usando um conjunto comum de recursos (por exemplo, um estado comum RRC, etc.). Quando operando no estado dedicado RRC, o UE pode selecionar um conjunto dedicado de recursos para transmitir um sinal piloto para uma rede. Quando operando no estado comum RRC, o UE pode selecionar um conjunto de recursos em comum para transmitir um sinal piloto para a rede. Em ambos os casos, um sinal piloto transmitido pelo UE pode ser recebido por um ou mais dispositivos de acesso à rede, tal como um AN, ou uma DU, ou partes dos mesmos. Cada dispositivo de acesso à rede receptor pode ser configurado para receber e medir sinais pilotos transmitidos no conjunto de recursos em comum, e também receber e medir sinais pilotos transmitidos em conjuntos dedicados de recursos alocados para os UEs para os quais o dispositivo de acesso à rede é um membro de um conjunto de monitoramento de um dispositivo de acesso à rede para o UE. Um ou mais dos dispositivos de acesso à rede receptores, ou uma CU à qual o(s) dispositivo(s) de acesso à rede receptor(es) transmite(m) as medições dos sinais pilotos, pode(m) usar as medições para identificar células servidoras para os UEs, ou iniciar uma mudança da célula servidora para um ou mais dos UEs.
EXEMPLO DE RECURSOS DE CODIFICAÇÃO DE CORREÇÃO DE ERROS
[0078] Muitos sistemas de comunicações utilizam códigos de correção de erro. Especificamente, os códigos de correção de erro compensam a falta de confiabilidade intrínseca da transferência de informações nesses sistemas por meio da introdução de redundância no fluxo de dados. Os códigos de verificação de paridade de baixa densidade (LDPC) são um tipo específico de códigos de correção de erro que utiliza um sistema de codificação iterativa. Os códigos de Gallager são um exemplo preliminar de códigos LDPC “regulares”. Os códigos LDPC regulares são códigos de bloco lineares nos quais a maioria dos elementos de sua matriz de verificação de paridade H são ‘0’.
[0079] Os códigos LDPC podem ser representados por grafos bipartidos (geralmente chamados de “grãos de Tanner”). No grafo bipartido, um conjunto de nós de variável corresponde aos bits de uma palavra-código (por exemplo, bits de informação ou bits sistemáticos) e um conjunto de nós de verificação corresponde a um conjunto de restrições de verificação de paridade que definem o código. Dessa forma, os nós do grafo são separados em dois conjuntos distintivos e com nós de conexão de aresta de dois tipos diferentes, variável e de verificação. Um grafo ou código regular é aquele para o qual todos os nós de variável possuem o mesmo grau e todos os nós de restrição possuem o mesmo grau. Neste caso, o código é um código regular. Por outro lado, um código irregular possui nós de restrição e/ou nós de variável de graus diferentes. Por exemplo, alguns nós de variável podem ser de grau 4, outros de grau 3, e ainda outros de grau 2.
[0080] O “lifting” possibilita que os códigos LDPC sejam implementados usando implementações de codificação e/ou decodificação paralela ao mesmo tempo em que reduz a complexidade geralmente associada a código LDPC grandes. Mais especificamente, o “lifting” é uma técnica para gerar um código LDPC relativamente grande a partir de múltiplas cópias de um código base menor. exemplo, um código LDPC sujeito ao “lifting” pode ser gerado produzindo-se um número (Z) de cópias paralelas do grafo base e então interconectando as cópias paralelas através de permutações dos agrupamentos de arestas de cada cópia do grafo base. Assim, um grafo maior pode ser obtido por uma operação de “cópia e permuta”, na qual múltiplas cópias são sobrepostas de modo que vértices do mesmo tipo estejam em estreita proximidade, mas o grafo geral consista de múltiplas subgrafos desconectados.
[0081] Um grafo sujeito ao “lifting” é criado por meio da cópia de um grafo base bipartido (G), que também ser chamado de protografo, um número de vezes, Z,que pode ser chamado de “lifting”, tamanho de “lifting” ou valor do tamanho de “lifting”. Um nó de variável e um nó de verificação são considerados “vizinhos” se forem conectados por uma “aresta” (isto é, a linha conectando o nó de variável e o nó de verificação) no grafo. Além disso, para cada aresta (e) do grafo base bipartido (G), uma permutação é aplicada às Z cópias da aresta (e) para interconectar as N cópias de G. A permutação é geralmente um valor inteiro k associado à aresta, que pode ser chamado de valor de “lifting”. Uma sequência de bits possuindo uma associação de um para um com a sequência de nó de variável é uma palavra-código válida se e somente se, para cada nó de verificação, se a soma dos bits associados a todos os nós de variável vizinhos for zero módulo dois (isto é, eles incluem um número par de uns). O código LDPC resultante pode ser quase-cíclico (QC) se as permutações (valores de “lifting”) usados forem cíclicas.
[0082] As FIGs. 8-8A mostram representações gráficas e matriciais, respectivamente, de um exemplo de código LDPC, de acordo com certos aspectos da presente revelação. Por exemplo, a FIG. 8 mostra um grafo bipartido 800 representando o código LDPC. O grafo bipartido 800 inclui um conjunto de 5 nós de variável 810 (representados por círculos) conectados a 4 nós de verificação 820 (representados por quadrados). As arestas no grafo bipartido 800 conectam os nós de variável 810 aos nós de verificação 820 (representados pelas linhas conectando os nós de variável 810 aos nós de verificação 820). Assim, o grafo bipartido 800 consiste de |V| = 5 nós de variável e |C| = 4 nós de variável, conectados por |E| = 12 arestas.
[0083] O grafo bipartido 800 pode ser representado por uma matriz de adjacência simplificada, como ilustrado na FIG. 8A. A representação em matriz 800A inclui uma matriz de verificação de paridade (PCM) H e um vetor de palavra-código x, onde x1-x5 representam bits da palavra-código x. H é usado para determinar se um sinal recebido foi decodificado normalmente. H tem C fileiras correspondendo a j nós de verificação e V colunas correspondendo a i nós de variável (isto é, um símbolo demodulado), em que as fileiras representam as equações e as colunas representam os bits da palavra-código. Na FIG. 8A, H tem 4 fileiras e 5 colunas correspondendo a 4 nós de verificação e 5 nós de verificação do grafo bipartido 800,respectivamente. Se um y-nésimo nó de verificação estiver conectado a um z-nésimo nó de variável por uma resta (isto é, os dois nós são vizinhos), então há um “1” na z-nésima coluna e na y-nésima fileira de H. Isto é, a interseção de uma z-nésima e uma y-nésima coluna contém um “1” onde uma aresta unir os vértices correspondentes e um “0” quando não houver aresta. O vetor de palavra-código x representa uma palavra-código válida se e somente se Hx = 0 (por exemplo, se para cada nó de restrição, a soma dos bits adjacentes à restrição (através de sua associação com nós de variável) for igual a 0 módulo 2 (isto é, eles compreendem um número par de uns). Dessa forma, se a palavra-código for recebida corretamente, então Hx = 0 (mod 2). Quando o produto de um sinal recebido codificado e H se tornar “0", isso significa que não ocorreu nenhum erro.
[0084] O número de símbolos demodulados ou nós de variável é o comprimento do código LDPC. O número de elementos diferentes de zero em uma fileira (coluna) é definido como o peso da fileira (coluna) d(c)d(v). O grau de um nó refere-se ao número de arestas conectadas a esse nó. Por exemplo, como ilustrado na FIG. 8, o nó de variável 801 possui três graus de conectividade, com arestas conectadas aos nós de verificação 811, 812 e 813. O nó de variável 802 possui três graus de conectividade, com as arestas conectadas aos nós de verificação 811, 813 e 814. O nó de variável 803 possui dois graus de conectividade, com as arestas conectadas aos nós de verificação 811 e 814. O nó de variável 804 possui dois graus de conectividade, com as arestas conectadas aos nós de verificação 812 e 814. Além disso, o nó de variável 805 possui dois graus de conectividade, com as arestas conectadas aos nós de verificação 812 e 813. Este aspecto é ilustrado na matriz H ilustrada na FIG. 8A, onde o número de arestas incidentes a um nó de variável 810 é igual ao número de 1s na coluna correspondente, e é chamado de grau de nó de variável d(v). De maneira similar, o número de arestas conectadas a um nó de verificação 820 é igual ao número de 1s em uma fileira correspondente, e é chamado de grau de nó de verificação d(c). Por exemplo, como ilustrado na FIG. 8A, a primeira coluna na matriz H corresponde ao nó de variável801 e as entradas correspondentes na coluna (1, 1, 1, 0) indicam as conexões de aresta aos nós de verificação 811, 812 e 813, ao passo que 0 indica que não há uma aresta para o nó de verificação 814. As entradas na segunda, terceira, quarta e quinta colunas de H representam as conexões de aresta dos nós de variável 802, 803, 804 e 805, respectivamente, aos nós de verificação.
[0085] A FIG. 9 é um grafo bipartido 900 ilustrando os “liftings” de três cópias do grafo bipartido 800 da FIG. 8. Três cópias podem ser interconectadas por meio da permutação de arestas similares entre as cópias. Se as permutações estiverem restritas a permutações cíclicas, então o grafo resultante corresponde a um LDPC quase- cíclica com “lifting” Z = 3. O grafo original a partir do qual três cópias foram feitas é chamado aqui de grafo base. Para derivar grafos de diferentes tamanhos a partir do grafo base, uma operação de “cópia e permuta” pode ser aplicada ao grafo base.
[0086] Um PCM correspondente do grafo sujeito ao “lifting” pode ser construído a partir do PCM do grafo base por meio da substituição de cada entrada no PCM base por uma matriz Z x Z. As entradas “0” (as que não possuem arestas de base) são substituídas pela matriz 0 e as entradas 1 (indicando uma aresta de base) são substituídas por uma matriz de permutação Z x Z. No caso de “liftings” cíclicos, as permutações são permutações cíclicas.
[0087] Um código LDPC ciclicamente submetido ao “lifting” também pode ser interpretado como um código sobre o anel dos polinômios binários módulo xz + 1. Nesta interpretação, um polinômio binário, (x) = b0 + b1x + b2x2 + ... + bz-ixz-1 pode ser associado a cada nó de variável no grafo base. O vetor binário (bo, bix, b2x2 + ... + bz-i) corresponde aos bits associados aos Z nós de variável correspondentes no grafo submetido ao “lifting”, isto é, Z cópias de um único nó de variável base. Uma permutação cíclica por k (chamado de valor de “lifting” associado às arestas no grafo) do vetor binário é obtida multiplicando- se o polinômio binário correspondente por xk, onde a multiplicação é obtida por módulo xz + 1. Uma verificação de paridade de grau d no grafo base pode ser interpretada como uma restrição linear nos polinômios binários adjacentes Bi(x), ..., Bd(x), escritos como xk1Bi(x) + xk2B2(x) + ... + xkdBd(x) = 0xk 1Bi(x) + xk2B2 (x) + ... + xkdBd(x) = 0, os valores k i, ... k d sendo os valores de “lifting” cíclico associados às arestas correspondentes.
[0088] Esta equação resultante é equivalente às Z verificações de paridade no grafo de Tanner submetido ciclicamente ao “lifted” correspondendo à verificação de paridade associada única no grafo base. Dessa forma, a matriz de verificação de paridade para o grafo submetido ao “lifting” pode ser expressa usando a matriz para o grafo base no qual as entradas de i são substituídas com monômios da forma xk e as entradas de 0 sejam submetidas ao “lifting” como 0, mas agora o 0 é interpretado como o polinômio binário 0 módulo xz + i. Tal matriz pode ser escrita fornecendo o valor k no lugar de xk. Neste caso, o polinômio 0 é, por vezes, representado como “-1”, e outras vezes como outro caractere de modo a distingui-lo de x0.
[0089] Tipicamente, uma submatriz quadrada da matriz de verificação de paridade representa os bits de paridade do código. As colunas complementares correspondem a bits de informação que, no momento da codificação, são iguais aos bits de informação a serem codificados. A codificação pode ser obtida resolvendo-se as variáveis na submatriz quadrada supracitada de modo a satisfazer as equações de verificação de paridade. A matriz H pode ser particionada em duas partes M e N, onde M é a parte quadrada. Assim, a codificação reduz-se à resolução de Mc = s = Nd, onde c e d compreendem x. No caso dos códigos quase-cíclicos, ou códigos ciclicamente submetidos ao “lifting”, a álgebra acima pode ser interpretada como estando sobre o anel dos polinômios binários módulo xz + 1.No caso dos códigos LDPC 802.11, que são quase-cíclicos, a submatriz de codificação M tem uma representação de número inteiro, como ilustrado na FIG. 10.
[0090] Uma palavra-código LDPC recebida pode ser decodificada para produzir uma versão reconstruída da palavra-código original. Na ausência de erros, ou no caso de erros passíveis de correção, pode-se usar decodificação para recuperar a unidade de dado original que foi codificada. Bits redundantes podem ser usados pelos decodificadores para detectar e corrigir erros e bits. O(s) decodificador(es) LDPC geralmente opera(m) realizando, de forma iterativa, cálculos locais e passando esses resultados pela troca de mensagens dentro do grafo bipartido 800, ao longo das arestas, e atualizando essas mensagens por meio da execução de cálculos nos nós com base nas mensagens recebidas. Essas etapas tipicamente podem ser repetidas várias vezes. Por exemplo, cada nó de variável 810 no grafo 800 pode inicialmente receber um “bit suave” (por exemplo, representando o bit recebido da palavra- código) que indica uma estimativa do valor do bit associado, conforme determinado a partir das observações do canal de comunicações. Usando esses bits suaves, os decodificadores LDPC podem atualizar as mensagens lendo-as iterativamente, ou alguma parte delas, a partir da memória, e escrevendo uma mensagem atualizada, ou alguma parte da mesma, de volta na memória. As operações de atualização são tipicamente baseadas nas restrições de verificação de paridade do código LDPC correspondente. Em implementações para códigos LDPC submetidos ao “lifting”, as mensagens em arestas similares geralmente são processadas em paralelo.
[0091] Os códigos LDPC projetados para aplicações de alta velocidade geralmente utilizam construções quase-cíclicas com fatores de “lifting” elevados e grafos base relativamente pequenos para suportar paralelismo elevado nas operações de codificação e decodificação. Os códigos LDPC com taxas de código superiores (por exemplo, a razão do comprimento da mensagem para o comprimento da palavra-código) tendem a ter relativamente menos verificações de paridade. Se o número de verificações de paridade de base for menor do que o grau de um nó de variável (por exemplo, o número de arestas conectadas a um nó de variável), então, no grafo base, esse nó de variável é conectado a pelo menos uma das verificações de paridade de base por duas ou mais arestas (por exemplo, o nó de variável pode ter uma “aresta dupla”). Se o número de verificações de paridade de base for menor do que o grau de um nó de variável (por exemplo, o número de arestas conectadas a um nó de variável), então, no grafo base, esse nó de variável é conectado a pelo menos uma das verificações de paridade de base por duas ou mais arestas. Ter um nó de variável de base e um nó de verificação de base conectados por duas ou mais arestas é geralmente indesejável para fins de implementação em hardware paralelo. Por exemplo, tais arestas duplas podem resultar em múltiplas operações simultâneas de leitura e escrita nas mesmas localizações de memória, o que, por sua vez, pode criar problemas de coerência de dados. Uma aresta dupla em um código LDPC de base pode desencadear a leitura paralela da mesma localização de memória do valor de bit suave duas vezes durante uma única atualização de verificação de paridade em paralelo. Assim, geralmente é necessário um conjunto de circuitos adicional para combinar os valores de bit suave que são gravados novamente na memória, de modo a incorporar corretamente ambas as atualizações. Eliminar arestas duplas no código LDPC ajuda a evitar esta complexidade extra.
[0092] Os projetos de código LDPC baseados em “lifting” cíclico podem ser interpretados como códigos sobre o anel de polinômios, módulo pode ser polinômios binários módulo xZ - 1, onde Z é o tamanho do "lifting" (por exemplo, o tamanho do ciclo no código quase-cíclico). Dessa forma, a codificação de tais códigos pode, muitas vezes, ser interpretada como uma operação algébrica neste anel.
[0093] Na definição dos conjuntos de código LDPC irregulares padrão (distribuições em grau), todas as arestas na representação no grafo de Tanner podem ser estatisticamente intercambiáveis. Em outras palavras, existe uma única classe de equivalência estatística das arestas. Para códigos LDPC multi-arestas, podem ser possíveis múltiplas classes de equivalência das arestas. Embora, na definição do conjunto LDPC irregular padrão, os nós no grafo (tanto de variável quanto de restrição) são especificados por seu grau, isto é, o número de arestas às quais eles estão conectados, na configuração do tipo multi- arestas, um grau de aresta é um vetor; ele especifica o número de arestas conectadas ao nó a partir de cada classe (tipo) de equivalência de aresta de maneira independente. Um conjunto do tipo multi-arestas é composto de um número finito de tipos de aresta. O tipo de grau de um nó de restrição é um vetor de números inteiros (não-negativos); a z-nésima entrada deste vetor registra o número de sockets do z-nésimo tipo conectado a tal nó. Este vetor pode ser chamado de grau de aresta. O tipo de grau de um nó de variável possui duas partes, embora possa ser visto como um vetor de inteiros (não-negativos). A primeira parte está relacionada à distribuição recebida e será chamada de grau recebido, e a segunda parte especifica o grau de aresta. O grau de aresta desempenha o mesmo papel que para os nós de restrição. As arestas são tipificadas, uma vez que emparelham sockets do mesmo tipo. A restrição de que os sockets deverão se emparelhar com sockets de tipo similar caracteriza o conceito de tipo multi-arestas. Em uma descrição do tipo multi-arestas, diferentes tipos de nós podem ter diferentes distribuições recebidas (por exemplo, os bits associados podem passar através de diferentes canais).
[0094] O puncionamento é realizado removendo- se os bits de uma palavra-código para gerar uma palavra- código mais curta. Dessa forma, os nós de variável puncionados correspondem a bits de palavra-código que não são realmente transmitidos. O puncionamento de um nó variável em um código LDPC cria um código encurtado (por exemplo, devido à remoção de um bit), ao mesmo tempo em que efetivamente remove um nó de verificação. Especificamente, para uma representação matricial de um código LDPC, incluindo os bits a serem puncionados, onde o nó variável a ser puncionado tem um grau de um (por exemplo, por combinação de fileiras), puncionar o nó variável remove o bit associado do código e efetivamente remove seu nó de verificação de adjacência único do grafo. Como resultado, o número de nós de verificação no grafo é reduzido em um. O puncionamento pode ser realizado de acordo com o padrão de puncionamento. O padrão de puncionamento especifica os bits a serem puncionados.
[0095] A FIG. 11 é um diagrama de blocos simplificado ilustrando um codificador, de acordo com certos aspectos da presente revelação. A FIG. 1 é um diagrama de blocos 1100 simplificado ilustrando uma parte de um modem de radiofrequência (RF) 1150 que pode ser configurado para fornecer um sinal incluindo uma mensagem codificada para transmissão sem fio. Em um exemplo, um codificador convolucional 1102 em uma BS 110 (ou um UE 120 no caminho inverso) recebe uma mensagem 1120 para transmissão. A mensagem1120 pode conter dados e/ou voz codificada ou outro conteúdo direcionado ao dispositivo de recepção. O codificador 1102 codifica a mensagem usando um esquema de modulação e codificação adequado (MCS), tipicamente selecionado com base em uma configuração definida pela BS 110 ou por outra entidade de rede. Um fluxo de bits codificado 1122 produzido pelo codificador 1102 pode então ser puncionado seletivamente por um módulo de puncionamento 1104, que pode ser um dispositivo ou componente separado, ou que pode ser integrado ao codificador 1102. O módulo de puncionamento 1104 pode determinar que o fluxo de bits deverá ser puncionado antes da transmissão, ou transmitido sem puncionamento. A decisão de puncionar o fluxo de bits 1122 é tipicamente feita com base nas condições de rede, na configuração de rede, nas preferências definidas da RAN e/ou por outros motivos. O fluxo de bits 1122 pode ser puncionado de acordo com um padrão de puncionamento 1112 e usado para codificar a mensagem 1120. O módulo de puncionamento 1104 fornece uma saída 1124 para um mapeador 1106 que gera uma sequência de símbolos de transmissão 1126 que são modulados, amplificados e de alguma outra forma processados pela cadeia de transmissão 1108 para produzir um sinal RF 1128 para transmissão através da antena 1110.
[0096] A saída 1124 do módulo de puncionamento 1104 pode ser o fluxo de bits não-puncionado 1122 ou uma versão puncionada do fluxo de bits 1122, de acordo com se a parte de modem 1150 é configurada para puncionar o fluxo de bits 1122. Em um exemplo, os bits de paridade e/ou outros bits de correção de erro podem ser puncionados na saída 1124 do codificador 1102 de modo a transmitir a mensagem 1120 dentro de uma largura de banda limitada do canal de RF. Em outro exemplo, o fluxo de bits pode ser puncionado para reduzir a potência necessária para transmitir a mensagem 1120, para evitar interferência, ou por outras razões relacionadas à rede. Esses bits de palavra-código puncionados não são transmitidos.
[0097] Os decodificadores e algoritmos de decodificação usados para decodificar as palavras-códigos LDPC operam trocando mensagens dentro do grafo ao longo das arestas e atualizando essas mensagens por meio da realização de cálculos nos nós com base nas mensagens recebidas. Cada nó variável no grafo é provido inicialmente de um bit suave, chamado de valor recebido, o qual indica uma estimativa do valor do bit associado, conforme determinado pelas observações, por exemplo, a partir do canal de comunicações. Idealmente, as estimativas para bits separados são estatisticamente independentes. Este ideal pode ser violado na prática. Uma palavra recebida é composta de um conjunto de valores recebidos.
[0098] A FIG. 12 é um diagrama de blocos simplificado ilustrando um decodificador, de acordo com certos aspectos da presente revelação. A FIG. 12 é um diagrama esquemático simplificado 1200 ilustrando uma parte de um modem RF 1250 que pode ser configurado para receber e decodificar um sinal transmitido por tecnologia sem fio incluindo uma mensagem codificada puncionada. Os bits de palavra-código puncionados podem ser tratados como apagados. Por exemplo, os LLRs dos nós puncionados podem ser definidos como “0” na inicialização. Nos vários exemplos, o modem1250 recebendo o sinal pode residir no UE, na BS, ou em qualquer outro equipamento ou meio adequado para realizar as funções descritas. Uma antena 1202 fornece um sinal RF 1220 para um UE. Uma cadeia RF 1204 processa e demodula o sinal RF 1220 e pode fornecer uma sequência de símbolos 1222 a um desmapeador 1206, que produz um fluxo de bits 1224 representante da mensagem codificada.
[0099] O desmapeador 1206 pode fornecer um fluxo de bits despuncionado 1224. Em um exemplo, o desmapeador 1206 pode incluir um módulo de despuncionamento que pode ser configurado para inserir valores nulos em localizações no fluxo de bits nas quais os bits puncionados foram excluídos pelo transmissor. O módulo de despuncionamento pode ser usado quando o padrão de puncionamento 1210 usado para produzir o fluxo de bits puncionado no transmissor é conhecido. O padrão de puncionamento 1210 pode ser usado para identificar LLRs 1228 que podem ser ignorados durante a decodificação do fluxo de bits 1224 pelo decodificador convolucional 1208. Os LLRs podem ser associados a um conjunto de localizações de bits despuncionados no flux ode bits 1224. Por conseguinte, o decodificador 1208 pode produzir a mensagem decodificada 1226 com sobrecarga de processamento reduzida ignorando os LLRs identificados 1228. O decodificador LDPC pode incluir uma pluralidade de elementos de processamento para realizar as operações de nó de verificação de paridade ou de nó variável em paralelo. Por exemplo, ao processar uma palavra-código com tamanho de “lifting” Z, o decodificador LDPC pode utilizar um número (2) de elementos de processamento para realizar operações de verificação de paridade em todas as Z arestas de um grafo “lifted”, simultaneamente.
[00100] A eficiência de processamento de um decodificador 1208 pode ser aprimorada configurando o decodificado 1208 para ignorar os LLRs 1228 que correspondem aos bits puncionados em uma mensagem transmitida em um fluxo de bits puncionado 1222. O fluxo de bits puncionado 1222 pode ter sido puncionado de acordo com um esquema de puncionamento que define certos bits a serem removidos de uma mensagem codificada. Em um exemplo, certos bits de paridade ou outros bits de correção de erro podem ser removidos. Um padrão de puncionamento pode ser expresso em uma matriz ou tabela de puncionamento que identifica a localização dos bits a serem puncionados em cada mensagem. Um esquema de puncionamento pode ser selecionado para reduzir a sobrecarga de processamento usada para decodificar a mensagem 1226 ao mesmo tempo em que se mantém o cumprimento das taxas de dados no canal de comunicação e/ou das limitações de potência de transmissão estabelecidas pela rede. Um fluxo de bits puncionado resultante geralmente apresenta as características de correção de erro de um código de correção de erro de alta taxa, porém com menos redundância. Por conseguinte, o puncionamento pode ser empregado de maneira eficaz para reduzir a sobrecarga de processamento no decodificador 1208 no receptor quando as condições do canal produzirem uma relação sinal-ruído (SNR) relativamente alta.
[00101] Um decodificador convolucional 1208 pode ser usado para decodificar cadeias de caracteres de informação de m-bits a partir de um fluxo de bits que foi codificado usando um código convolucional. O decodificador 1208 pode compreender um decodificador de Viterbi, um decodificador algébrico, ou outro decodificador apropriado. Em um exemplo, um decodificador de Viterbi emprega o bem conhecido algoritmo de Viterbi para encontrar a sequência mais provável de estados de sinalização (o caminho de Viterbi) que corresponde a um fluxo de bits recebido 1224. O fluxo de bits 1224 pode ser decodificado com base em uma análise estatística dos LLRs calculados para o fluxo de bits 1224. Em um exemplo, um decodificador de Viterbi pode comparar e selecionar o caminho de Viterbi correto que define uma sequência de estados de sinalização usando um teste de razão de probabilidade para gerar LLRs a partir do fluxo de bits 1224. As razões de probabilidade podem ser usadas para estatisticamente comparar o ajuste de uma pluralidade de caminhos de Viterbi candidatos usando um teste de razão de probabilidade que compara o logaritmo de uma razão de probabilidade para cada caminho de Viterbi candidato (isto é, o LLR) para determinar qual caminho é mais provável de responder pela sequência de símbolos que produziu o fluxo de bits 1224.
[00102] No receptor, o mesmo decodificador usado para decodificar fluxos de bits não-puncionados pode tipicamente ser usado para decodificação de fluxos de bits puncionados, independentemente de quantos bits foram puncionados. Nos receptores convencionais, a informação LLR é tipicamente despuncionada antes de a decodificação ser tentada por meio do preenchimento de LLRs para estados ou posições puncionadas (LLRs despuncionadas) com zeros. Um decodificador pode desconsiderar LLRs despuncionados que efetivamente não carregam nenhuma informação.
EXEMPLO DE PUNCIONAMENTO E ESTRUTURA DE CÓDIGO LDPC APERFEIÇOADOS ASPECTOS
[00103] Uma das propriedades desejáveis para códigos de verificação de paridade de baixa densidade (LDPC) destinados a transmissões sem fio é o alto desempenho tanto para canais de ruído Gaussiano quanto para canais de desvanecimento. Também é desejável que o grau máximo de nós de variável (por exemplo, o grau de conectividade, ou número de conexões, dos nós de variável no grafo com os nós de verificação no grafo) não seja muito grande (por exemplo, em relação a um código LDPC de referência).
[00104] Certos sistemas (por exemplo, 802.11n, 802ad, WiMAX, ATSC, etc.) podem usar uma estrutura de código LDPC do tipo multi-arestas. Os códigos LDPC do tipo multi-arestas podem ter vantagens em relação aos códigos LDPC irregulares padrão. Por exemplo, a estrutura de código LDPC do tipo multi-arestas pode fornecer muitos graus de liberdade a mais do que os códigos LDPC irregulares padrão, o que pode ser aproveitado para projetar códigos com excelente desempenho, baixa complexidade de codificação e/ou outras propriedades desejáveis.
[00105] Construções do tipo multi-arestas podem introduzir nós de variável puncionados de alto grau na estrutura, de modo que a lacuna para a capacidade possa ser reduzida com graus de nó vinculados. Embora os nós puncionados ajudem a alcançar a meta de projeto conhecida como a condição de correlação, os nós puncionados podem fazer com que o decodificador iterativo desacelere no começo do processo de decodificação. Por exemplo, os nós puncionados enviam informações de apagamento ao longo das arestas de saída, fazendo com que os nós de verificação conectados enviem pouca ou nenhuma informação nas primeiras poucas iterações. No contexto de códigos LDPC submetidos ao “lifting”, para um código construído por “lifting” (por exemplo, cópia) de um código de base relativamente pequeno, é geralmente desejável que o código de base tenha poucas ou nenhuma aresta (por exemplo, um nó de variável conectado a um nó de verificação por duas arestas). Uma vez que os nós de variável de alto grau são conectados a muitos nós de verificação, os nós de variável podem levar à criação de arestas duplas, por exemplo, a taxas superiores quando o número de nós de verificação é relativamente pequeno.
[00106] Outra propriedade desejável para os códigos LDPC é o suporte a extensões de solicitação de repetição híbrida automática (HARQ). As extensões HARQ podem envolver adicionar bits de paridade adicionais e dividir as verificações de paridade pré-existentes com a adição de um nó de variável de um grau. Se ambas as metades da divisão forem conectadas a um nó de variável puncionado, o que pode ser desejável de modo a alcançar o desempenho desejado, então o nó de verificação pré-dividido pode ter pelo menos duas arestas que são conectadas a nós de variável puncionados. Por exemplo, as estruturas de código LDPC com um único nó de variável puncionado de alto grau possuem a presença de arestas duplas no código de base. Dessa forma, pode ser desejável ter múltiplos nós de variável puncionados de grau menor ao invés de um nó de variável puncionado de grau maior; no entanto, para códigos de taxa elevada, pode ser difícil obter bom desempenho. Em outras palavras, pode ser necessário escolher entre evitar arestas duplas e obter taxas de código superiores.
[00107] Por conseguinte, são desejáveis técnicas para puncionamneto de códigos LDPC possuindo poucas arestas duplas, mas que ainda seja capaz de obter alto desempenho ao longo de uma ampla faixa de taxas de código.
[00108] São apresentadas técnicas aqui para puncionamento aperfeiçoado de múltiplos nós de variável do maior grau no grafo base, mas de nós de variável de grau relativamente baixo em relação a outros tipos de códigos LDPC, e estruturas de código LDPC possuindo bits de paridade adicionais adicionados à estrutura de código LDPC do tipo multi-aresta que podem ajudam a alcançar uma taxa de código e desempenho desejados através de canais Gaussianos e de desvanecimento.
[00109] A FIG. 13 ilustra exemplos de operações 1300 para comunicação sem fio, de acordo com certos aspectos da presente revelação. As operações 1300 podem ser realizadas, por exemplo, por um dispositivo de transmissão (por exemplo, o UE 120 ou a BS 110). As operações 1300 podem começar, em 1302, com a codificação de um conjunto de bits de informação com base em um código LDPC (por exemplo, um código LDPC do tipo multi-aresta) para produzir uma palavra-código. O código LDPC é definido por uma matriz de base tendo um primeiro número de nós de variável (colunas na matriz de base) e um segundo número de nós de verificação (fileiras na matriz de base). Os nós de variável podem ter um baixo grau de conectividade com os nós de verificação em relação aos nós de variável em um código LDPC de referência (por exemplo, um código LDPC contendo um único nó puncionado de alto grau) e a matriz de base possui pelo menos um bit de paridade adicional (por exemplo, M - 1 nós de variável extras ou um nó de variável extra para cada par de nós de variável puncionados) para os nós de variável puncionados. Em 1304, o dispositivo de transmissão punciona a palavra-código de acordo com um padrão de puncionamento projetado para puncionar bits correspondendo a pelo menos dois (por exemplo, M nós de variável) dos nós de variável (por exemplo, os dois nós de variável de maior grau da matriz de base) para produzir uma palavra-código puncionada. Em 1306, o dispositivo de transmissão adiciona pelo menos um bit de paridade adicional ao grafo base para pelo menos um par dos pelos menos dois nós de variável puncionados.
[00110] Em 1308, o dispositivo de transmissão transmite a palavra-código puncionada. De acordo com certos aspectos, o pelo menos um nó de variável extra é formado por uma paridade dos dois nós de variável puncionados. O pelo menos um nó de variável extra pode ter um grau de conectividade com os nós de verificação de um.
[00111] De acordo com certos aspectos, um código LDPC pode ser projetado com múltiplos nós de grau inferior puncionados em vez de puncionar um único nó de alto grau. Por exemplo, dois nós de um certo grau podem ser puncionados em vez de um nó puncionado de duas vezes o grau. Os nós de variável puncionados podem ser os nós de variável de maior grau na estrutura de código LDPC, mas ainda nós de variável de grau relativamente baixo em relação a outros códigos LDPC (por exemplo, convencionais) com um único nó de variável puncionado de alto grau. A presença de dois nós puncionados que são nós de grau inferior pode contribuir para diminuir a convergência de decodificação para esses nós, o que pode tornar mais difícil alcançar bom desempenho para códigos de alta taxa, particularmente quando o número de nós de verificação for relativamente pequeno. Em alguns casos, os nós puncionados podem ser nós de grau superior no grafo base (isto é, os nós de variável possuindo as arestas mais conectadas com os nós de verificação no grafo base); entretanto, os nós puncionados podem ter um baixo grau de conectividade em relação a um maior grau possível de conectividade ou grau dos nós puncionados em um código LDPC de referência.
[00112] De acordo com certos aspectos, um ou mais bits adicionais não-puncionados podem ser adicionados à estrutura de código LDPC. Os bits adicionais não- puncionados podem ser formados obtendo a paridade dos dois nós puncionados (por exemplo, os bits de paridade podem ser nós de variável de um grau). A adição dos bits extras não- puncionados à estrutura de código LDPC pode ter o efeito de reduzir a taxa de puncionamento líquida. A estrutura geral dos dois nós puncionados e um bit de paridade adicional transmitido efetivamente punciona somente um grau de liberdade a partir do código. Os nós puncionados permanecem de modo que seus benefícios ainda estejam presentes, mas o bit de paridade pode permitir uma convergência mais rápida e, desse modo, facilitar a determinação dos valores de bits puncionados no processo de decodificação. Esta estrutura pode ajudar a melhorar o desempenho da estrutura geral tanto nos canais Gaussianos quanto de desvanecimento, ao mesmo tempo em que oferece suporte aos outros aspectos desejáveis discutidos acima.
[00113] De acordo com certos aspectos, podem ser usadas estruturas de código LDPC nas quais o grafo base possui certo número pequeno de nós de variável puncionados de grau moderado (por exemplo, relativamente baixo) (por exemplo, grau 3 ao grau 7). A estrutura de código LDPC também pode conter um ou mais bits de paridade adicionais, cada um formado a partir de dois de tais nós puncionados.
[00114] Em um exemplo de implementação, a estrutura de código LDPC contendo um grafo base de comprimento 27 ou 28 pode ser usada. No grafo base, dois nós de variável de grau baixo podem ser puncionados e um bit de paridade adicional pode ser adicionado à estrutura de código LDPC, formada por uma paridade dos dois nós puncionados. Esta estrutura de código LDPC pode ser útil, por exemplo, para taxas de código de um quarto a oito nonos.
[00115] De acordo com certos aspectos, estruturas de código LDPC contendo um grafo de base grande podem envolver um número maior de nós de grau baixo puncionados e um número maior de bits de paridade associados adicionados. Por exemplo, para m nós de variável puncionados, m - 1 bits de paridade de grau um podem ser adicionados. Apesar disso, em outros casos, um número diferente de bits de paridade possa ser adicionado, por exemplo, em alguns casos, menos de m - 1 bits de paridade podem ser usados. Em outro exemplo de implementação ilustrado na FIG. 14, uma estrutura de código LDPC 1400 possuindo um grafo base de comprimento 36 pode ser usada. No grafo base, os três nós de variável de maior grau 1304 na estrutura de código LDPC 1400, possuindo um grau relativamente baixo, são puncionados e dois bits de paridade adicionais 1306 são adicionados à estrutura de código LDPC 1400, cada um formado por uma paridade de dois dos nós puncionados e sendo conectados a um dos nós de verificação 1402.
[00116] Pode-se observar que o grau dos nós puncionados de grau relativamente baixo não inclui arestas usadas para formar os bits de paridade adicionais. Nas extensões HARQ, o grau dos nós puncionados pode aumentar substancialmente devido à adição de bits de paridade adicionais. Uma das vantagens das construções do tipo multi-arestas é que elas permitem a introdução de nós de variável de grau um de maneira controlada. Por meio do puncionamento de todos os nós de variável de grau um e da remoção desses nós de variável do grafo de código também mediante remoção de seu nó de verificação associado, pode- se obter um grafo “núcleo”. O “grau” dos nós de variável puncionados pode ser o grau dos nós no grafo de núcleo.
[00117] As técnicas e equipamentos descritos aqui para gerar uma estrutura de código LDPC contendo pelo menos dois nós de variável puncionados de grau relativamente baixo, e adicionar bits de paridade adicionais para os pares puncionados de nós de variável, podem propiciar melhores operações do codificador / decodificador, e assim, melhor desempenho de um processador e/ou sistemas de processamento. Por exemplo, o uso de nós puncionados de grau inferior ajuda a evita a presença de arestas duplas no grafo, o que pode tornar a decodificação iterativa mais lenta. Por meio da adição dos bits de paridade adicionais ao grafo base para os nós de variável puncionados, ainda é possível obter bom desempenho, até mesmo na presença dos nós de variável puncionados, e taxas de código maiores podem ser obtidas ao mesmo tempo em que ainda se evita a criação de arestas duplas no grafo. Assim, a codificação/decodificação usando as estruturas de código LDPC propostas resulta em tempos de processamento aperfeiçoados.
[00118] Quaisquer métodos revelados aqui compreendem uma ou mais etapas ou ações para realizar o método descrito. As etapas e/ou ações do método podem ser intercambiadas entre si sem se afastar do escopo das reivindicações. Em outras palavras, a menos que uma ordem específica de etapas ou ações seja especificada, a ordem e/ou uso das etapas e/ou ações específicas podem ser modificadas sem se afastar do escopo das reivindicações.
[00119] Como utilizado aqui, o termo “determinar” engloba uma grande variedade de ações. Por exemplo, “determinar” pode incluir calcular, computar, processar, derivar, investigar, consultar (por exemplo, consultar em uma tabela, em uma base de dados ou outra estrutura de dados), avaliar, entre outros. Além disso, “determinar” pode incluir receber (por exemplo, receber informações), acessar por exemplo, acessar dados em uma memória), entre outros. Além disso, “determinar” pode incluir resolver, selecionar, escolher, estabelecer, e similares.
[00120] Em alguns casos, em vez de comunicar um quadro de fato, um dispositivo pode ter uma interface para gerar um quadro para transmissão. Por exemplo, um processador pode emitir um quadro, por meio de uma interface de barramento, para um front-end RF para transmissão. De forma similar, em vez de realmente receber um quadro, um dispositivo pode ter uma interface para obter um quadro recebido de outro dispositivo. Por exemplo, um processador pode obter (ou receber) um quadro, por meio de uma interface de barramento, a partir de um front-end RF para transmissão.
[00121] As várias operações dos métodos descritos acima podem ser realizadas por qualquer meio adequado capaz de realizar as funções correspondentes. O meio pode incluir diversos componentes de hardware e/ou software e/ou módulo(s), incluindo, mas não limitado a um circuito, um circuito integrado de aplicação específica (ASIC), ou processador. Geralmente, quando há operações ilustradas nas figuras, essas operações podem ter componentes de contraparte do tipo “meio mais função” correspondentes com numeração similar.
[00122] Os vários blocos lógicos ilustrativos, e circuitos descritos em conexão com a presente revelação aqui apresentada podem ser implementados ou realizados com um processador de uso geral, um processador de sinais digitais (DSP), um circuito integrado de aplicação específica (ASIC), um arranjo de portas programáveis em campo (FPGA) ou outro dispositivo de lógica programável (PLD), lógica discreta de porta ou transistor, componentes de hardware discretos, ou qualquer combinação dos mesmos projetada para realizar as funções aqui descritas. Um processador de propósito geral pode ser um microprocessador, mas na alternativa, o processador pode ser qualquer processador, controlador, microcontrolador ou máquina de estados comercialmente disponível. Um processador também pode ser implementado como uma combinação de dispositivos de computação, por exemplo, uma combinação de um DSP e um microprocessador, uma pluralidade de microprocessadores, um ou mais em conjunto com um núcleo DSP, ou qualquer outra tal configuração.
[00123] Se implementadas em hardware, uma configuração de hardware ilustrativa pode compreender um sistema de processamento em um nó sem fio. O sistema de processamento pode ser implementado com uma arquitetura de barramento. O barramento pode incluir qualquer número de barramentos e pontes de interconexão, dependendo da aplicação específica do sistema de processamento e das restrições gerais do projeto. O barramento pode interligar vários circuitos, inclusive um processador, meios legíveis por máquina e uma interface de barramento. A interface de barramento pode ser usada para conectar um adaptador de rede, dentre outras coisas, ao sistema de processamento por meio do barramento. O adaptador de rede pode ser usado para implementar as funções de processamento de sinal da camada PHY. No caso de um nó sem fio (vide a FIG. 1), uma interface do usuário (por exemplo, teclado numérico, monitor, mouse, joystick, etc.) também pode ser conectada ao barramento. O barramento também pode interligar vários outros circuitos, como fontes de temporização, periféricos, reguladores de tensão, circuitos de gerenciamento de potência, entre outros, os quais são bem conhecidos na técnica, e, portanto, não serão descritos em mais detalhes. O processador pode ser implementado com um ou mais processador de uso geral e/ou de uso especial. Exemplos incluem microprocessadores, microcontroladores,processadores DSP, e outros conjuntos de circuito que podem executar software. Os versados na técnica irão reconhecer qual a melhor forma de implementar a funcionalidade descrita para o sistema de processamento, dependendo da aplicação específica e das restrições gerais de projeto impostas sobre o sistema como um todo.
[00124] Se implementadas em software, as funções podem ser armazenadas em ou transmitidas como uma ou mais instruções ou código em um meio legível por computador. O termo software deverá ser interpretado em amplo sentido de forma a abranger instruções, dados ou qualquer combinação dos mesmos, quer referidos como software, firmware, middleware, microcódigo, linguagem de descrição de hardware, entre outros. Os meios legíveis por computador incluem tanto meios de armazenamento de computador quanto meios de comunicação incluindo qualquer meio que facilite a transferência de um programa de computador de um local para outro. O processador pode ser responsável por gerenciar o barramento e o processamento geral, inclusive a execução dos módulos de software armazenados nos meios de armazenamento legíveis por máquina. Um meio de armazenamento legível por computador pode ser acoplado a um processador de forma que o processador possa ser informações a partir de, e gravar informações no meio de armazenamento. Como alternativa, o meio de armazenamento pode ser integrado ao processador. A título de exemplo, os meios legíveis por máquina podem inclui uma linha de transmissão, uma onda portadora modulada por dados e/ou um meio de armazenamento legível por computador com instruções armazenadas nele separadas do nó sem fio, todos os quais podem ser acessados pelo processador através da interface de barramento. Como alternativa, ou em adição, os meios legíveis por máquina, ou qualquer parte dos mesmos, podem ser integrados ao processador, tal como pode ser o caso da memória cache e/ou dos arquivos gerais de registro. Exemplos de meios de armazenamento legíveis por máquina podem incluir, a título de exemplo, RAM (Memória de Acesso Aleatório), memória flash, ROM (Memória Somente para Leitura), PROM (Memória Somente para Leitura Programável), EPROM (Memória Somente para Leitura Programável Apagável), EEPROM (Memória Somente para Leitura Programável Eletricamente Apagável), registros, discos magnéticos, discos ópticos, unidades de disco rígido, ou qualquer outro meio de armazenamento adequado, ou qualquer combinação dos mesmos. O meio legível por máquina pode ser incorporado em um produto de programa de computador.
[00125] Um módulo de software pode compreender uma única instrução, ou muitas instruções, e pode ser distribuído em vários segmentos de código diferentes, entre diferentes programas, e entre múltiplos meios de armazenamento. Os meios legíveis por computador podem compreender uma série de módulos de software. Os módulos de software incluem instruções que, quando executadas por um equipamento, tal como um processador, fazem com que o sistema de processamento realize várias funções. Os módulos de software podem incluir um módulo de transmissão e um módulo de recepção. Cada módulo de software pode residir em um único dispositivo de armazenamento ou ser distribuído entre múltiplos dispositivos de armazenamento. A título de exemplo, um módulo de software pode ser carregado para a RAM a partir de uma unidade de disco rígido quando ocorre um evento desencadeador. Durante a execução do módulo de software, o processador pode carregar algumas das instruções para a memória cache para aumentar a velocidade de acesso. Uma ou mais linhas de cache podem então ser carregadas para um arquivo de registro geral para execução pelo processador. Quando nos referimos à funcionalidade de um módulo de software a seguir, será compreendido que tal funcionalidade é implementada pelo processador ao executar instruções a partir desse módulo de software.
[00126] Além disso, qualquer conexão é chamada apropriadamente de meio legível por computador. Por exemplo, se o software for transmitido a partir de um site da Internet, servidor ou outra fonte remota usando um cabo coaxial, cabo de fibra óptica, par trançado, linha digital do assinante (DSL), ou tecnologias sem fio, como infravermelho (IR), rádio e microondas, então o cabo coaxial, cabo de fibra óptica, par trançado, DSL ou tecnologias sem fio, tal como infravermelho, rádio e microondas, são incluídos na definição de meio. O termo “disco”, como empregado aqui, abrange disco compacto (CD), disco a laser, disco óptico, disco versátil digital (DVD), disco flexível e disco Blu-ray, onde os discos geralmente reproduzem dados magneticamente, ao passo que os discos reproduzem dados opticamente com lasers. Assim, em alguns aspectos, os meios legíveis por computador podem compreender meios legíveis por computador não-temporários (por exemplo, meios tangíveis). Além disso, para outros aspectos, os meios legíveis por computador podem compreender meios legíveis por computador não-temporários (por exemplo, um sinal). Combinações dos itens listados acima também deverão ser incluídas no escopo dos meios legíveis por computador.
[00127] Assim, certos aspectos podem compreender um produto de programa de computador para realizar as operações aqui apresentadas. Por exemplo, tal produto de programa de computador pode compreender um meio legível por computador contendo instruções armazenadas (e/ou codificadas) no mesmo, sendo as instruções executáveis por um ou mais processadores para realizar as operações aqui descritas.
[00128] Além disso, deve ser apreciado que os módulos e/ou outros meios apropriados para executar os métodos e técnicas aqui descritos podem ser baixados e/ou obtidos de outra forma por um nó sem fio e/ou estação base, conforme aplicável. Por exemplo, tal dispositivo pode ser acoplado a um servidor para facilitar a transferência dos meios para executar os métodos aqui descritos.
[00129] Alternativamente, vários métodos aqui descritos podem ser fornecidos através de meios de armazenamento (por exemplo, RAM, ROM, um meio de armazenamento físico, tal como um disco compacto (CD) ou disquete, etc.), de modo que um nó sem fio e/ou estação base possa obter os vários métodos ao acoplar ou fornecer os meios de armazenamento ao dispositivo. Além disso, qualquer outra técnica adequada para fornecer os métodos e técnicas aqui descritos para um dispositivo pode ser utilizada
[00130] Deve-se compreender que as reivindicações não se limitam à configuração e componentes exatos ilustrados acima. Várias modificações, alterações e variações podem ser feitas na disposição, operação e nos detalhes dos métodos e equipamento descritos acima sem se afastar do escopo das reivindicações.

Claims (6)

1. Método para comunicações sem fio, caracterizado pelo fato de que compreende: codificar um conjunto de bits de informação com base em um código de verificação de paridade de baixa densidade, LDPC, para produzir uma palavra-código, o código LDPC definido por um grafo de base (1400) possuindo um primeiro número de nós de variável correspondendo a bits da palavra código e um segundo número de nós de verificação correspondendo a um conjunto de restrições de verificação de paridade que definem o código LDPC; puncionar a palavra-código de acordo com um padrão de puncionamento projetado para puncionar bits correspondendo a pelo menos dois dos nós de variável (1404) para produzir uma palavra-código puncionada, em que o grafo de base (1400) inclui pelo menos um nó de variável adicional (1406) para pelo menos dois nós de variável puncionados (1404) e em cada nó de variável adicional (1406) é conectado a um nó de rede (1402); e transmitir a palavra-código puncionada.
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o pelo menos dois nós de variável puncionados (1404) possuem um grau de conectividade superior aos nós de verificação do que os outros nós de variável no grafo de base (1400).
3. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o primeiro número de nós de variável é 27 ou 28 nós de variável.
4. Equipamento para comunicações sem fio, caracterizado pelo fato de que compreende: meios para codificar um conjunto de bits de informação com base em um código de verificação de paridade de baixa densidade, LDPC, para produzir uma palavra-código, o código LDPC definido por um grafo de base (1400) possuindo um primeiro número de nós de variável correspondendo a bits da palavra código e um segundo número de nós de verificação correspondendo a um conjunto de restrições de verificação de paridade que definem o código LDPC; meios para puncionar a palavra-código de acordo com um padrão de puncionamento projetado para puncionar bits correspondendo a pelo menos dois dos nós de variável (1404) para produzir uma palavra-código puncionada, em que o grafo de base (1400) inclui pelo menos um nó de variável adicional (1406) para pelo menos dois nós de variável puncionados (1404) e em cada nó de variável adicional (1406) é conectado a um nó de rede (1402); e meios para transmitir a palavra-código puncionada.
5. Equipamento, de acordo com a reivindicação 4, caracterizado pelo fato de que o pelo menos dois nós de variável puncionados (1404) possuem um grau de conectividade superior aos nós de verificação do que os outros nós de variável no grafo de base (1400).
6. Memória legível por computador caracterizada pelo fato de que compreende instruções armazenadas na mesma, as instruções sendo executáveis por computador para realizar as etapas do método conforme definido em qualquer uma das reivindicações 1 a 3.
BR112018073114-5A 2016-05-12 2017-05-12 Método e equipamento para comunicações sem fio e memória legível por computador BR112018073114B1 (pt)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662335163P 2016-05-12 2016-05-12
US62/335,163 2016-05-12
US15/593,035 US10454499B2 (en) 2016-05-12 2017-05-11 Enhanced puncturing and low-density parity-check (LDPC) code structure
US15/593,035 2017-05-11
PCT/US2017/032413 WO2017197267A1 (en) 2016-05-12 2017-05-12 Enhanced puncturing and low-density parity-check (ldpc) code structure

Publications (2)

Publication Number Publication Date
BR112018073114A2 BR112018073114A2 (pt) 2019-03-06
BR112018073114B1 true BR112018073114B1 (pt) 2024-03-12

Family

ID=58745486

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112018073114-5A BR112018073114B1 (pt) 2016-05-12 2017-05-12 Método e equipamento para comunicações sem fio e memória legível por computador

Country Status (20)

Country Link
US (2) US10454499B2 (pt)
EP (1) EP3455942A1 (pt)
JP (1) JP6808755B2 (pt)
KR (1) KR102150183B1 (pt)
CN (2) CN109075802B (pt)
AU (1) AU2017263634B2 (pt)
BR (1) BR112018073114B1 (pt)
CA (1) CA3019600C (pt)
CL (1) CL2018003152A1 (pt)
CO (1) CO2018012093A2 (pt)
IL (1) IL262101B (pt)
MX (1) MX2018013497A (pt)
MY (1) MY189511A (pt)
PH (1) PH12018502070A1 (pt)
RU (1) RU2718171C1 (pt)
SA (1) SA518400286B1 (pt)
SG (1) SG11201808344UA (pt)
TW (1) TWI692211B (pt)
WO (1) WO2017197267A1 (pt)
ZA (1) ZA201807541B (pt)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10784901B2 (en) 2015-11-12 2020-09-22 Qualcomm Incorporated Puncturing for structured low density parity check (LDPC) codes
US11043966B2 (en) 2016-05-11 2021-06-22 Qualcomm Incorporated Methods and apparatus for efficiently generating multiple lifted low-density parity-check (LDPC) codes
US10454499B2 (en) 2016-05-12 2019-10-22 Qualcomm Incorporated Enhanced puncturing and low-density parity-check (LDPC) code structure
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
CN109478959B (zh) 2016-07-27 2021-08-06 高通股份有限公司 用于极化码的混合自动重复请求(harq)反馈比特的设计
US10340949B2 (en) 2017-02-06 2019-07-02 Qualcomm Incorporated Multiple low density parity check (LDPC) base graph design
CN114598424A (zh) * 2017-02-15 2022-06-07 中兴通讯股份有限公司 一种数据处理方法及装置
US10879927B2 (en) * 2017-05-17 2020-12-29 Futurewei Technologies, Inc. Compact low density parity check (LDPC) base graph
US10312939B2 (en) 2017-06-10 2019-06-04 Qualcomm Incorporated Communication techniques involving pairwise orthogonality of adjacent rows in LPDC code
KR102385274B1 (ko) 2017-07-07 2022-04-08 퀄컴 인코포레이티드 저밀도 패리티 체크 코드 베이스 그래프 선택을 적용한 통신 기술
CN111357372B (zh) * 2017-11-17 2022-06-28 中兴通讯股份有限公司 用于处理控制信息的系统和方法
CN112074902B (zh) * 2018-02-01 2024-04-12 弗劳恩霍夫应用研究促进协会 使用混合编码器/解码器空间分析的音频场景编码器、音频场景解码器及相关方法
US10680764B2 (en) * 2018-02-09 2020-06-09 Qualcomm Incorporated Low-density parity check (LDPC) parity bit storage for redundancy versions
US11973593B2 (en) * 2018-02-23 2024-04-30 Nokia Technologies Oy LDPC codes for 3GPP NR ultra-reliable low-latency communications
US11032061B2 (en) * 2018-04-27 2021-06-08 Microsoft Technology Licensing, Llc Enabling constant plaintext space in bootstrapping in fully homomorphic encryption
US11005595B2 (en) * 2018-06-07 2021-05-11 Qualcomm Incorporated Self-decodability for low-density parity-check codes
US11121806B2 (en) * 2018-09-07 2021-09-14 Qualcomm Incorporated Decoding performance
CN109167600A (zh) * 2018-10-12 2019-01-08 哈尔滨工业大学 基于深度置信网络的抗音调干扰ldpc码的译码方法
US11777524B2 (en) * 2019-04-22 2023-10-03 Lg Electronics Inc. Method for supporting rate-compatible non-binary LDPC code, and wireless terminal using same
US11303303B2 (en) * 2020-01-03 2022-04-12 Qualcomm Incorporated Rate 7/8 low-density parity-check (LDPC) code
US11764813B1 (en) 2022-06-07 2023-09-19 Western Digital Technologies, Inc. Extendable parity code matrix construction and utilization in a data storage device
WO2024040457A1 (en) * 2022-08-24 2024-02-29 Qualcomm Incorporated Low-density parity-check coding with applications for probabilistic amplitude shaping

Family Cites Families (159)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5583500A (en) 1993-02-10 1996-12-10 Ricoh Corporation Method and apparatus for parallel encoding and decoding of data
US5844918A (en) 1995-11-28 1998-12-01 Sanyo Electric Co., Ltd. Digital transmission/receiving method, digital communications method, and data receiving apparatus
DE69841631D1 (de) 1997-07-30 2010-06-02 Samsung Electronics Co Ltd Verfahren und Vorrichtung zur adaptiven Kanalcodierung
TW427076B (en) 1999-04-06 2001-03-21 Inst Information Industry CRC key checking device and the method thereof
WO2001039421A2 (de) 1999-11-25 2001-05-31 Siemens Aktiengesellschaft Verfahren zur anpassung der datenrate in einer kommunikationsvorrichtung und entsprechende kommunikationsvorrichtung
US6633865B1 (en) 1999-12-23 2003-10-14 Pmc-Sierra Limited Multithreaded address resolution system
US6931581B1 (en) 2000-10-25 2005-08-16 Sun Microsystems, Inc. Method for superimposing a sequence number in an error detection code in a data network
US6961388B2 (en) 2001-02-01 2005-11-01 Qualcomm, Incorporated Coding scheme for a wireless communication system
US7093179B2 (en) 2001-03-22 2006-08-15 University Of Florida Method and coding means for error-correction utilizing concatenated parity and turbo codes
US6987778B2 (en) 2001-05-22 2006-01-17 Qualcomm Incorporated Enhanced channel interleaving for optimized data throughput
US6633856B2 (en) 2001-06-15 2003-10-14 Flarion Technologies, Inc. Methods and apparatus for decoding LDPC codes
KR100762632B1 (ko) 2001-10-17 2007-10-01 삼성전자주식회사 부호 분할 다중 접속 통신 시스템에서 전송 채널 다중화/역다중화 장치 및 방법
US6854082B1 (en) 2001-11-27 2005-02-08 Lsi Logic Corporation Unequal error protection Reed-Muller code generator and decoder
US20060013181A1 (en) * 2002-07-31 2006-01-19 Victor Stolpman Apparatus, and associated method, for allocating communications in a multi-channel communication system
US6961888B2 (en) 2002-08-20 2005-11-01 Flarion Technologies, Inc. Methods and apparatus for encoding 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
US7222284B2 (en) * 2003-06-26 2007-05-22 Nokia Corporation Low-density parity-check codes for multiple code rates
KR100955952B1 (ko) 2003-10-13 2010-05-19 삼성전자주식회사 무선 통신 시스템에서 리프팅 저밀도 패러티 검사 부호를이용한 시공간 부호화 방법 및 장치
KR100918763B1 (ko) 2003-11-14 2009-09-24 삼성전자주식회사 병렬 연접 저밀도 패리티 검사 부호를 사용하는 채널 부호화/복호 장치 및 방법
WO2005107124A1 (en) 2004-04-28 2005-11-10 Samsung Electronics Co., Ltd. Apparatus and method for coding/decoding block low density parity check code with variable block length
KR20050118056A (ko) * 2004-05-12 2005-12-15 삼성전자주식회사 다양한 부호율을 갖는 Block LDPC 부호를 이용한이동 통신 시스템에서의 채널부호화 복호화 방법 및 장치
US7526717B2 (en) 2004-06-16 2009-04-28 Samsung Electronics Co., Ltd. Apparatus and method for coding and decoding semi-systematic block low density parity check codes
US20050283707A1 (en) 2004-06-22 2005-12-22 Eran Sharon LDPC decoder for decoding a low-density parity check (LDPC) codewords
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
EP1641128A1 (en) * 2004-09-22 2006-03-29 STMicroelectronics N.V. Method and device for delivering punctured code words encoded with a LDPC code.
US7996746B2 (en) * 2004-10-12 2011-08-09 Nortel Networks Limited Structured low-density parity-check (LDPC) code
US7581159B2 (en) * 2004-11-23 2009-08-25 Texas Instruments Incorporated Simplified decoding using structured and punctured LDPC codes
US7543197B2 (en) 2004-12-22 2009-06-02 Qualcomm Incorporated Pruned bit-reversal interleaver
US7571369B2 (en) 2005-02-17 2009-08-04 Samsung Electronics Co., Ltd. Turbo decoder architecture for use in software-defined radio systems
KR101157246B1 (ko) * 2005-05-16 2012-06-15 삼성전자주식회사 저밀도 패리티 검사 부호의 패딩 및 천공 방법
US7571372B1 (en) 2005-06-23 2009-08-04 Marvell International Ltd. Methods and algorithms for joint channel-code decoding of linear block codes
US7343539B2 (en) * 2005-06-24 2008-03-11 The United States Of America As Represented By The United States National Aeronautics And Space Administration ARA type protograph codes
US8213291B2 (en) 2005-06-29 2012-07-03 Intel Corporation Wireless data transmission methods, devices, and systems
KR100856235B1 (ko) * 2005-09-26 2008-09-03 삼성전자주식회사 가변 부호화율을 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
KR100943623B1 (ko) 2005-09-30 2010-02-24 삼성전자주식회사 저밀도 패러티 검사 부호의 천공기법
KR100966043B1 (ko) 2005-10-31 2010-06-25 삼성전자주식회사 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 신호 송수신 장치 및 방법
KR100929079B1 (ko) * 2005-10-31 2009-11-30 삼성전자주식회사 저밀도 패리티 검사 부호를 사용하는 통신 시스템의 복호 장치 및 방법
TWI303414B (en) 2005-12-21 2008-11-21 Ind Tech Res Inst A data encoding method for error correcton
US8132072B2 (en) 2006-01-06 2012-03-06 Qualcomm Incorporated System and method for providing H-ARQ rate compatible codes for high throughput applications
US7979784B2 (en) 2006-03-29 2011-07-12 Samsung Electronics Co., Ltd. Method and system for enhancing transmission reliability of video information over wireless channels
CN100546205C (zh) * 2006-04-29 2009-09-30 北京泰美世纪科技有限公司 构造低密度奇偶校验码的方法、译码方法及其传输系统
KR101119111B1 (ko) 2006-05-04 2012-03-16 엘지전자 주식회사 Ldpc 부호를 이용한 데이터 재전송 방법
KR101191196B1 (ko) 2006-06-07 2012-10-15 엘지전자 주식회사 패리티 검사 행렬을 이용하여 부호화 및 복호화하는 방법
KR100834650B1 (ko) * 2006-09-04 2008-06-02 삼성전자주식회사 통신 시스템에서 신호 송수신 장치 및 방법
US7797464B2 (en) 2006-09-08 2010-09-14 Ciena Corporation Configuring data transmission over one or more line cards globally or individually
US7840880B1 (en) 2006-09-25 2010-11-23 Altera Corporation Methods and apparatus for error checking code computation
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
US7986622B2 (en) 2006-10-24 2011-07-26 Broadcom Corporation Method and system for physical layer aggregation
BRPI0717729B1 (pt) * 2006-10-26 2020-02-27 Qualcomm Incorporated Método e equipamento de comunicação sem fio para facilitar a transmissão de dados codificados, e memória legível por computador
US8892979B2 (en) * 2006-10-26 2014-11-18 Qualcomm Incorporated Coding schemes for wireless communication transmissions
KR100981501B1 (ko) * 2006-11-06 2010-09-10 연세대학교 산학협력단 통신 시스템에서 신호 송신 장치 및 방법
US8086929B2 (en) 2006-11-17 2011-12-27 Lg Electronics Inc. Method of executing LDPC coding using parity check matrix
KR100833515B1 (ko) 2006-12-05 2008-05-29 한국전자통신연구원 가변 정보 길이 및 가변 부호율을 가진 ldpc 부호의패리티 검사 행렬 생성 방법, 부/복호화 방법 및 이를이용하는 장치
WO2008092040A2 (en) 2007-01-24 2008-07-31 Qualcomm Incorporated Ldpc encoding and decoding of packets of variable sizes
JPWO2008093717A1 (ja) * 2007-01-31 2010-05-20 パナソニック株式会社 無線通信装置およびパンクチャリング方法
WO2008151516A1 (fr) 2007-06-08 2008-12-18 Datang Mobile Communications Equipment Co., Ltd Procédé, équipement et système pour codage et décodage ldpc
CN101325474B (zh) 2007-06-12 2012-05-09 中兴通讯股份有限公司 Ldpc码的混合自动请求重传的信道编码及调制映射方法
EP2159930A1 (en) 2007-06-15 2010-03-03 Panasonic Corporation Radio communication device, radio communication system, and radio communication method
US7890834B2 (en) 2007-06-20 2011-02-15 Motorola Mobility, Inc. Apparatus comprising a circular buffer and method for assigning redundancy versions to a circular buffer
JP5354979B2 (ja) 2007-07-12 2013-11-27 パナソニック株式会社 低密度パリティ検査畳み込み符号(ldpc−cc)符号化器及びldpc−cc復号器
WO2009011134A1 (ja) * 2007-07-19 2009-01-22 Panasonic Corporation 無線通信装置およびldpc符号化における通信リソース配置方法
WO2009019817A1 (ja) 2007-08-09 2009-02-12 Panasonic Corporation 無線通信装置、無線通信システム及び無線通信方法
KR100928261B1 (ko) 2007-09-08 2009-11-24 엘지전자 주식회사 비검출 오류 저감을 위한 신호 분할 및 crc 부착 방법
JPWO2009041034A1 (ja) 2007-09-27 2011-01-13 パナソニック株式会社 無線通信装置、無線通信システム及び無線通信方法
EP2381582B1 (en) 2007-12-06 2013-04-10 Samsung Electronics Co., Ltd. Method and apparatus for channel encoding in a communication system using low-density parity-check codes
CN101188428B (zh) 2007-12-10 2012-09-05 中兴通讯股份有限公司 一种ldpc码的有限长度循环缓存的速率匹配方法
KR101445080B1 (ko) 2008-02-12 2014-09-29 삼성전자 주식회사 하이브리드 자동 반복 요구 방식을 사용하는 통신 시스템에서 신호 송신 방법 및 장치
KR101503058B1 (ko) 2008-02-26 2015-03-18 삼성전자주식회사 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서의 채널 부호화/복호화 방법 및 장치
KR101503059B1 (ko) 2008-02-26 2015-03-19 삼성전자주식회사 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널 부호/복호 방법 및 장치
CN102651652B (zh) 2008-05-04 2015-07-29 华为技术有限公司 生成码率兼容ldpc码及harq方案的方法及装置
US20090300461A1 (en) 2008-05-29 2009-12-03 Gadi Shor Device, method and computer program product for communication
EP2299602A1 (en) 2008-07-09 2011-03-23 Sharp Kabushiki Kaisha Communication device, communication system, reception method, and communication method
WO2010026739A1 (ja) 2008-09-02 2010-03-11 パナソニック株式会社 無線通信装置および無線通信方法
US8347199B2 (en) 2009-01-21 2013-01-01 Cisco Technology, Inc. Enhanced error detection in multilink serdes channels
US8433972B2 (en) 2009-04-06 2013-04-30 Nec Laboratories America, Inc. Systems and methods for constructing the base matrix of quasi-cyclic low-density parity-check codes
US8484545B2 (en) * 2009-04-23 2013-07-09 Georgia Tech Research Corporation Secure communication using error correction codes
US8245097B2 (en) 2009-04-27 2012-08-14 Kan Ling Capital, L.L.C. Iterative decoding of punctured low-density parity check codes by selection of decoding matrices
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
JP5073770B2 (ja) 2010-02-19 2012-11-14 株式会社エヌ・ティ・ティ・ドコモ 移動端末装置、無線基地局装置及び無線通信方法
US8687751B1 (en) 2010-04-02 2014-04-01 Marvell International Ltd. Multiple-input multiple-output receivers using successive interference cancellation based on cyclic redundancy check
US8601345B1 (en) 2010-05-12 2013-12-03 Tellabs Operations, Inc. Method and apparatus for searching frame alignment with false alignment protection
US9634693B2 (en) 2010-08-12 2017-04-25 Samsung Electronics Co., Ltd Apparatus and method for decoding LDPC codes in a communications system
US8627166B2 (en) 2011-03-16 2014-01-07 Samsung Electronics Co., Ltd. LDPC code family for millimeter-wave band communications in a wireless network
CN103188044A (zh) 2011-05-19 2013-07-03 北京新岸线移动多媒体技术有限公司 一种用于数据传输的方法和设备
KR20120137198A (ko) 2011-06-11 2012-12-20 삼성전자주식회사 통신 시스템에서 패킷 송수신 장치 및 방법
KR101942530B1 (ko) 2011-08-22 2019-01-25 삼성전자 주식회사 오류정정부호 기반 암호화 시스템의 성능 개선 방법 및 장치
CN102437858B (zh) 2011-08-31 2013-11-06 北京理工大学 一种卷积码编码器结构的改进方法
CN102340378A (zh) 2011-10-23 2012-02-01 许继集团有限公司 纵联保护用光纤通道crc校验方法
US9176927B2 (en) 2011-11-08 2015-11-03 The Royal Institution For The Advancement Of Learning/Mcgill University Methods and systems for decoding polar codes
CN103220001B (zh) 2012-01-20 2016-09-07 华为技术有限公司 与循环冗余校验级联的极性码的译码方法和译码装置
US9621921B2 (en) 2012-04-16 2017-04-11 Qualcomm Incorporated Coefficient groups and coefficient coding for coefficient scans
US9088769B2 (en) 2012-06-28 2015-07-21 Blackberry Limited Reduced worst-case context-coded bins in video compression with parity hiding
US9503126B2 (en) 2012-07-11 2016-11-22 The Regents Of The University Of California ECC polar coding and list decoding methods and codecs
WO2014021837A1 (en) 2012-07-31 2014-02-06 Empire Technology Development Llc Entropy coding and decoding using polar codes
CN108712231B (zh) 2012-10-17 2019-04-19 华为技术有限公司 一种编译码的方法、装置及系统
KR101951663B1 (ko) 2012-12-14 2019-02-25 삼성전자주식회사 Crc 부호와 극 부호에 의한 부호화 방법 및 장치
KR102007770B1 (ko) 2012-12-14 2019-08-06 삼성전자주식회사 패킷의 부호화 방법과 그 복호화 장치 및 방법
US9178653B2 (en) * 2013-01-16 2015-11-03 Broadcom Corporation Very short size LDPC coding for physical and/or control channel signaling
US9362956B2 (en) 2013-01-23 2016-06-07 Samsung Electronics Co., Ltd. Method and system for encoding and decoding data using concatenated polar codes
WO2014116301A1 (en) 2013-01-24 2014-07-31 California Institute Of Technology Joint rewriting and error correction in write-once memories
WO2014127129A1 (en) * 2013-02-13 2014-08-21 Qualcomm Incorporated Ldpc design using quasi-cyclic constructions and puncturing for high rate, high parallelism, and low error floor
CN104038234B (zh) 2013-03-07 2017-09-29 华为技术有限公司 极性码的译码方法和译码器
CN103281166B (zh) 2013-05-15 2016-05-25 北京邮电大学 一种基于极化码的混合自动重传请求传输方法
US9432143B2 (en) * 2013-06-06 2016-08-30 Broadcom Corporation Combining CRC and FEC on a variable number of NCPs
KR102104937B1 (ko) 2013-06-14 2020-04-27 삼성전자주식회사 Ldpc 부호의 부호화 장치, 그의 부호화 방법, 복호화 장치 및 그의 복호화 방법
TW201519596A (zh) 2013-07-11 2015-05-16 Interdigital Patent Holdings 智慧HARQ WiFi系統及方法
US10075266B2 (en) 2013-10-09 2018-09-11 Qualcomm Incorporated Data transmission scheme with unequal code block sizes
CN103746708A (zh) 2013-10-25 2014-04-23 中国农业大学 一种Polar-LDPC级联码的构造方法
KR102218196B1 (ko) 2013-10-28 2021-02-23 삼성전자주식회사 인코더, 이의 동작 방법과, 상기 인코더를 포함하는 장치들
US9787470B2 (en) 2013-12-12 2017-10-10 Samsung Electronics Co., Ltd. Method and apparatus of joint security advanced LDPC cryptcoding
US9602241B2 (en) 2013-12-17 2017-03-21 Samsung Electronics Co., Ltd. Computing system with polar processing mechanism and method of operation thereof
CN103716130A (zh) 2014-01-09 2014-04-09 苏州英菲泰尔电子科技有限公司 提高网络传输可靠性的物理层自适应处理方法
US9319073B2 (en) 2014-02-11 2016-04-19 Seagate Technology Llc Mitigation of write errors in multi-level cell flash memory through adaptive error correction code decoding
RU2679723C1 (ru) 2014-03-21 2019-02-12 Хуавэй Текнолоджиз Ко., Лтд. Способ и устройство согласования скорости полярного кода
CN105306165B (zh) 2014-06-23 2019-10-11 中兴通讯股份有限公司 数据发送方法及装置
US10193578B2 (en) 2014-07-10 2019-01-29 The Royal Institution For The Advancement Of Learning / Mcgill University Flexible polar encoders and decoders
US9432052B2 (en) * 2014-09-18 2016-08-30 Broadcom Corporation Puncture-aware low density parity check (LDPC) decoding
US9654144B2 (en) 2014-09-30 2017-05-16 Micron Technology, Inc. Progressive effort decoder architecture
US9692451B2 (en) 2014-09-30 2017-06-27 Avago Technologies General Ip (Singapore) Pte. Ltd Non-binary low density parity check (NB-LDPC) codes for communication systems
US9954645B2 (en) 2014-12-05 2018-04-24 Lg Electronics Inc. Method and device for providing secure transmission based on polar code
US20160164537A1 (en) 2014-12-08 2016-06-09 Samsung Electronics Co., Ltd. Method and apparatus for parallel concatenated ldpc convolutional codes enabling power-efficient decoders
US20160173132A1 (en) 2014-12-10 2016-06-16 Alcatel-Lucent Usa Inc. Construction of Structured LDPC Convolutional Codes
EP3046259A1 (en) 2015-01-16 2016-07-20 Alcatel Lucent Apparatuses and methods for ldpc convolutional encoding and decoding
US20160218750A1 (en) 2015-01-23 2016-07-28 Empire Technology Development Llc Parity check code encoder
US9479375B1 (en) 2015-04-02 2016-10-25 University Of South Florida Joint physical layer security and PAPR mitigation in OFDM systems
US10231121B2 (en) 2015-06-24 2019-03-12 Lg Electronics Inc. Security communication using polar code scheme
US10461779B2 (en) 2015-08-12 2019-10-29 Telefonaktiebolaget Lm Ericsson (Publ) Rate-compatible polar codes
CN105227189B (zh) 2015-09-24 2019-01-01 电子科技大学 分段crc辅助的极化码编译码方法
CN105337696B (zh) 2015-10-08 2018-03-30 东南大学 基于分段crc校验的极化解码方法
US10523364B2 (en) 2015-11-06 2019-12-31 Samsung Electronics Co., Ltd. Channel coding framework for 802.11AY and larger block-length LDPC codes for 11AY with 2-step lifting matrices and in-place property
US10784901B2 (en) 2015-11-12 2020-09-22 Qualcomm Incorporated Puncturing for structured low density parity check (LDPC) codes
WO2017091244A1 (en) 2015-11-23 2017-06-01 Intel IP Corporation Hybrid arq schemes based on low density parity check codes
US10581462B2 (en) 2015-12-01 2020-03-03 Huawei Technologies Co., Ltd. Signature-enabled polar encoder and decoder
EP3378164B1 (en) 2015-12-23 2022-04-27 Samsung Electronics Co., Ltd. Apparatus and method for encoding and decoding channel in communication or broadcasting system
US11043966B2 (en) 2016-05-11 2021-06-22 Qualcomm Incorporated Methods and apparatus for efficiently generating multiple lifted low-density parity-check (LDPC) codes
EP3264611A1 (en) 2016-05-12 2018-01-03 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
US10313057B2 (en) 2016-06-01 2019-06-04 Qualcomm Incorporated Error detection in wireless communications using sectional redundancy check information
US9917675B2 (en) 2016-06-01 2018-03-13 Qualcomm Incorporated Enhanced polar code constructions by strategic placement of CRC bits
US20170353267A1 (en) 2016-06-01 2017-12-07 Qualcomm Incorporated Generalized polar code construction
US10291354B2 (en) 2016-06-14 2019-05-14 Qualcomm Incorporated High performance, flexible, and compact low-density parity-check (LDPC) code
CN109478959B (zh) 2016-07-27 2021-08-06 高通股份有限公司 用于极化码的混合自动重复请求(harq)反馈比特的设计
EP3497796B1 (en) 2016-08-11 2022-10-26 Telefonaktiebolaget LM Ericsson (publ) Selection of an error correcting code based on a target information length and a target parity length
ES2787907T3 (es) 2016-08-12 2020-10-19 Ericsson Telefon Ab L M Métodos de adaptación de velocidad para códigos LDPC
CN106341138B (zh) 2016-09-05 2019-05-10 厦门大学 基于原模图ldpc码的联合信源信道编码矩阵构造方法
US10644829B2 (en) 2016-09-15 2020-05-05 Huawei Technologies Co., Ltd. Method and apparatus for encoding data using a polar code
US10447312B2 (en) 2016-11-25 2019-10-15 Lg Electronics Inc. Method of performing interleaving using LDPC and communication apparatus therefor
WO2018128559A1 (en) 2017-01-09 2018-07-12 Huawei Technologies Co., Ltd. Efficiently decodable qc-ldpc code
US10594339B2 (en) 2017-02-03 2020-03-17 Huawei Technologies Co., Ltd. Method for generating parity check matrix for low density parity check coding
KR102539912B1 (ko) 2017-02-03 2023-06-02 아이디에이씨 홀딩스, 인크. Ldpc 베이스 매트릭스 선택에 따른 코드 블록 세그먼트화
CN108809487B (zh) 2017-05-04 2022-07-22 华为技术有限公司 传输数据的方法、基站和终端设备
CN108809509B (zh) 2017-05-05 2021-01-22 电信科学技术研究院 低密度奇偶校验码的基础图选择方法及装置
US10312939B2 (en) 2017-06-10 2019-06-04 Qualcomm Incorporated Communication techniques involving pairwise orthogonality of adjacent rows in LPDC code
US10454620B2 (en) 2017-06-16 2019-10-22 At&T Intellectual Property I, L.P. Facilitating notifications to indicate failed code block groups in 5G or other next generation networks
US20180367245A1 (en) 2017-06-19 2018-12-20 Qualcomm Incorporated COMMUNICATION TECHNIQUES WITH SELF-DECODABLE REDUNDANCY VERSIONS (RVs) USING SYSTEMATIC CODES
KR102385274B1 (ko) 2017-07-07 2022-04-08 퀄컴 인코포레이티드 저밀도 패리티 체크 코드 베이스 그래프 선택을 적용한 통신 기술
US10735134B2 (en) 2017-08-11 2020-08-04 Qualcomm Incorporated Self-decodable redundancy versions for low-density parity-check codes

Also Published As

Publication number Publication date
BR112018073114A2 (pt) 2019-03-06
TW201743568A (zh) 2017-12-16
IL262101A (en) 2018-11-29
TWI692211B (zh) 2020-04-21
CN114520660A (zh) 2022-05-20
CL2018003152A1 (es) 2019-02-15
US10454499B2 (en) 2019-10-22
CO2018012093A2 (es) 2019-02-08
WO2017197267A1 (en) 2017-11-16
SG11201808344UA (en) 2018-11-29
ZA201807541B (en) 2020-10-28
RU2718171C1 (ru) 2020-03-30
MX2018013497A (es) 2019-02-28
EP3455942A1 (en) 2019-03-20
JP6808755B2 (ja) 2021-01-06
AU2017263634A1 (en) 2018-10-25
KR102150183B1 (ko) 2020-08-31
AU2017263634B2 (en) 2020-09-24
JP2019519974A (ja) 2019-07-11
KR20190006957A (ko) 2019-01-21
NZ746814A (en) 2021-05-28
CA3019600C (en) 2021-08-31
US11025276B2 (en) 2021-06-01
MY189511A (en) 2022-02-16
PH12018502070A1 (en) 2019-07-01
CN109075802B (zh) 2022-04-15
CN109075802A (zh) 2018-12-21
IL262101B (en) 2020-02-27
US20170331497A1 (en) 2017-11-16
US20190356337A1 (en) 2019-11-21
CA3019600A1 (en) 2017-11-16
SA518400286B1 (ar) 2022-01-24

Similar Documents

Publication Publication Date Title
BR112018073114B1 (pt) Método e equipamento para comunicações sem fio e memória legível por computador
JP7453448B2 (ja) 低密度パリティ検査コードのベースグラフ選択を適用する通信技法
JP7260587B2 (ja) 基底行列内の隣接する行のペアワイズ直交性を有するqc-ldpcコードの符号化および復号化
US11043966B2 (en) Methods and apparatus for efficiently generating multiple lifted low-density parity-check (LDPC) codes
TWI787308B (zh) 減小針對極化碼的最大概度解碼的搜尋空間
CA3022825A1 (en) Methods and apparatus for compactly describing lifted low-density parity-check (ldpc) codes

Legal Events

Date Code Title Description
B350 Update of information on the portal [chapter 15.35 patent gazette]
B06W Patent application suspended after preliminary examination (for patents with searches from other patent authorities) chapter 6.23 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

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