BR112021008311A2 - método para um dispositivo de comunicação associado com uma transmissão sem fio, e, dispositivo de comunicação associado com uma transmissão sem fio - Google Patents

método para um dispositivo de comunicação associado com uma transmissão sem fio, e, dispositivo de comunicação associado com uma transmissão sem fio Download PDF

Info

Publication number
BR112021008311A2
BR112021008311A2 BR112021008311-1A BR112021008311A BR112021008311A2 BR 112021008311 A2 BR112021008311 A2 BR 112021008311A2 BR 112021008311 A BR112021008311 A BR 112021008311A BR 112021008311 A2 BR112021008311 A2 BR 112021008311A2
Authority
BR
Brazil
Prior art keywords
bits
rate
bit
registers
recoverable
Prior art date
Application number
BR112021008311-1A
Other languages
English (en)
Inventor
Qiangchao Liu
Xixian Chen
Yashar NEZAMI
Original Assignee
Telefonaktiebolaget Lm Ericsson (Publ)
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 Telefonaktiebolaget Lm Ericsson (Publ) filed Critical Telefonaktiebolaget Lm Ericsson (Publ)
Publication of BR112021008311A2 publication Critical patent/BR112021008311A2/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/27Coding, 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 using interleaving techniques
    • H03M13/2703Coding, 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 using interleaving techniques the interleaver involving at least two directions
    • H03M13/2707Simple row-column interleaver, i.e. pure block interleaving
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6561Parallelized implementations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6569Implementation on processors, e.g. DSPs, or software implementations

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Error Detection And Correction (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

MÉTODO PARA UM DISPOSITIVO DE COMUNICAÇÃO ASSOCIADO COM UMA TRANSMISSÃO SEM FIO, E, DISPOSITIVO DE COMUNICAÇÃO ASSOCIADO COM UMA TRANSMISSÃO SEM FIO. Aparelhos e métodos são descritos para um dispositivo de comunicação associado com uma transmissão sem fio. Em uma modalidade, um método inclui realizar um de um processo de decodificação com verificação de paridade de baixa densidade, LDPC, e um processo de codificação LDPC pelo carregamento de um conjunto de bits, em paralelo, em uma pluralidade de registros, o conjunto de bits sendo distribuído entre a pluralidade de registros; uma da desintercalação e da intercalação do conjunto de bits carregado na pluralidade de registros pelo rearranjo do conjunto de bits carregado em um de um conjunto de bits desintercalado e um conjunto de bits intercalado; e, depois que o conjunto de bits for rearranjado no um do conjunto de bits desintercalado e do conjunto de bits intercalado na pluralidade de registros, gravar o um do conjunto de bits desintercalado e do conjunto de bits intercalado, em paralelo, proveniente da pluralidade de registros na memória.

Description

1 / 62
MÉTODO PARA UM DISPOSITIVO DE COMUNICAÇÃO ASSOCIADO COM UMA TRANSMISSÃO SEM FIO, E, DISPOSITIVO DE
COMUNICAÇÃO ASSOCIADO COM UMA TRANSMISSÃO SEM FIO Campo Técnico
[001] A comunicação sem fio e, em particular, para otimização de algoritmo para desintercalação e descombinação de taxa. Fundamentos da Invenção
[002] O código de verificação de paridade de baixa densidade (LDPC) foi desenvolvido primeiro por Robert Gallager em 1963. Já que o mesmo era muito complexo para ser implementado naquela época, o LDPC ficou essencialmente esquecido até que seu trabalho foi redescoberto em
1996. Em 2003, um código LDPC estilo acúmulo de repetição irregular (IRA) bate seis códigos turbo para se tornar o código de correção de erro no inovador padrão de Difusão de Vídeo Digital - Satélite - Segunda Geração (DVB-S2) para transmissões via satélite. Em 2008, LDPC bateu códigos turbo convolucionais como o sistema de correção de erro antecipada (FEC) para o padrão G.hn da União de Telecomunicação Internacional (ITU-T). Os códigos LDPC também são usados para Ethernet 10GBase-T, que envia dados em 10 gigabits por segundo através de cabos de par trançado. A partir de 2009, os códigos LDPC também são parte do padrão Wi-Fi 802.11 como uma parte opcional de 802.11n e 802.11ac, na especificação PHY de Alta Velocidade de Transferência (HT). Em dezembro de 2017, o LDPC foi adotado pelo Projeto de Parceria de 3ª Geração (3GPP) para canais de tráfego no padrão de 5ª Geração (5G) Novo Rádio (NR).
[003] A figura 1 mostra um diagrama, por exemplo, cadeias do processo de codificação e decodificação LDPC, que podem ser parte de um enlace descendente (DL) em Camada 1 (L1) no padrão 5G NR. Para um transmissor em DL, os bits de informação mais a Verificação de Redundância Cíclica (CRC) do bloco de transporte (TB) podem formar um TB na camada
2 / 62 de Controle de Acesso à Mídia (MAC). Da forma mostrada na figura 1, o TB é, então, passado para a camada física para processamento adicional, tal como, por exemplo, a cadeia do processo de codificação em L1. Como parte da cadeia do processo de codificação, o TB pode ser dividido em blocos de código de tamanho menor, que podem ser referidos como segmentação do bloco de código (CB). Depois da segmentação do CB e da anexação de um CB CRC, cada CB pode ser codificado usando, por exemplo, um esquema de codificação LDPC. Depois da codificação LDPC, combinação de taxa e intercalação podem ser realizadas, bem como concatenação de CB e embaralhamento. A saída pode, então, ser modulada usando tanto Modulação por Deslocamento de Fase de Quadratura (QPSK), 16 Modulação de Amplitude de Quadratura (16QAM), 64QAM, quanto 256QAM. Depois do mapeamento de camada, pré-codificação, mapeamento de recurso, geração do sinal de multiplexação por divisão de frequência ortogonal (OFDM), a saída é enviada para o ar através do rádio.
[004] Um receptor pode receber o sinal de saída. A cadeia de processamento do receptor pode ser, no geral, considerada o reverso da cadeia de processamento do transmissor. Em 5G, a duração do tempo de intervalo é muito menor do que as durações do tempo de intervalo para outros padrões, tal como, Evolução de Longo Prazo (LTE). Por exemplo, para LTE, a duração do intervalo é 1 milissegundo (ms); entretanto, para 5G, a duração do tempo de intervalo pode ser tão curta quanto 125 microssegundos (µs). Assim, as técnicas de processamento de sinal devem ser desenvolvidas para suportar menores durações do tempo de intervalo, tais como aquelas de 5G NR.
[005] A Publicação Internacional No. WO 2018/137645 A1 refere-se a um transceptor que transmite dados codificados para pelo menos um nó de rede de um dispositivo sem fio. O artigo “Interleaving on Parallel DSP Architectures” (por Thomas Richter et al.) em The Journal of VLSI Signal Processing, vol. 39, no. 1-2, 01 de janeiro de 2005 refere-se a intercalação em
3 / 62 arquiteturas de processamento de sinal digital paralelo (DSP). A Patente dos EUA No. 6.476.738 descreve um registrador de deslocamento carregado com sinais paralelos travados em um registrador. Sumário
[006] Algumas modalidades proveem vantajosamente métodos e aparelhos para desintercalação e descombinação de taxa, bem como intercalação e combinação de taxa, que podem prover o processamento mais rápido de sinais de rádio.
[007] De acordo com um primeiro aspecto, um método é provido para um dispositivo de comunicação associado com uma transmissão sem fio. O método inclui realizar um de um processo de decodificação com verificação de paridade de baixa densidade, LDPC, e um processo de codificação LDPC. O um do processo de decodificação LDPC e do processo de codificação LDPC inclui carregar um conjunto de bits, em paralelo, em uma pluralidade de registros, o conjunto de bits sendo distribuído entre a pluralidade de registros; uma da desintercalação e da intercalação do conjunto de bits carregado na pluralidade de registros pelo rearranjo do conjunto de bits carregado em um de um conjunto de bits desintercalado e um conjunto de bits intercalado; e, depois que o conjunto de bits for rearranjado no um do conjunto de bits desintercalado e do conjunto de bits intercalado na pluralidade de registros, gravar o um do conjunto de bits desintercalado e do conjunto de bits intercalado, em paralelo, proveniente da pluralidade de registros na memória.
[008] De acordo com este aspecto, para a operação de desintercalação, o conjunto de bits inclui um conjunto de bits recuperáveis codificados. Para a operação de intercalação, o conjunto de bits inclui um conjunto de bits codificados. Em algumas modalidades deste aspecto, cada um da pluralidade de registros é parte da arquitetura de registro do processador de pelo menos um processador que realiza o um do processo de
4 / 62 decodificação LDPC e do processo de codificação LDPC; e a memória é externa ao pelo menos um processador e separada por pelo menos um processador por meio de pelo menos um barramento.
Em algumas modalidades deste aspecto, a uma da desintercalação e da intercalação do conjunto de bits na pluralidade de registros compreende adicionalmente uma da desintercalação e da intercalação do conjunto de bits na pluralidade de registros pelo rearranjo do conjunto de bits no um do conjunto de bits desintercalado e do conjunto de bits intercalado sem acessar a memória, realizar a uma da desintercalação e da intercalação usando a pluralidade de registros sem acessar a memória sendo mais rápido do que realizar a uma da desintercalação e da intercalação usando a memória.
Em algumas modalidades deste aspecto, se a uma da desintercalação e da intercalação for desintercalação, o conjunto de bits inclui um conjunto de bits recuperáveis, o conjunto de bits recuperáveis correspondendo a uma pluralidade de valores recuperáveis, cada um da pluralidade de valores recuperáveis correspondendo a um valor de probabilidade da LDPC.
Em algumas modalidades deste aspecto, a desintercalação do conjunto de bits na pluralidade de registros inclui embaralhar os bits recuperáveis no conjunto de bits; permutar os bits recuperáveis embaralhados; e realizar empacotamento e desempacotamento nos bits recuperáveis embaralhados permutados para produzir o conjunto de bits desintercalado.
Em algumas modalidades deste aspecto, a desintercalação do conjunto de bits na pluralidade de registros inclui: em cada registro da pluralidade de registros: embaralhar os bits recuperáveis do conjunto de bits sem faixas cruzadas do registro; e permutar os bits recuperáveis embaralhados através dos faixas do registro; e, na pluralidade de registros, realizar empacotamento e desempacotamento nos bits recuperáveis embaralhados permutados para produzir o conjunto de bits desintercalado sem acessar a memória.
Em algumas modalidades deste aspecto, a intercalação do conjunto de bits na pluralidade de registros inclui realizar empacotamento e
5 / 62 desempacotamento nos bits do conjunto de bits na pluralidade de registros; permutar os bits empacotados e desempacotados em cada registro da pluralidade de registros; e embaralhar os bits permutados empacotados e desempacotados em cada registro da pluralidade de registros para produzir o conjunto de bits intercalado sem acessar a memória. Em algumas modalidades deste aspecto, o um do conjunto de bits desintercalado e do conjunto de bits intercalado produzido pelo rearranjo do conjunto de bits na pluralidade de registros representa uma matriz de transposição de uma matriz associada com o conjunto de bits carregado. Em algumas modalidades deste aspecto, a gravação do um do conjunto de bits desintercalado e do conjunto de bits intercalado, em paralelo, proveniente da pluralidade de registros na memória inclui armazenar o um do conjunto de bits desintercalado e do conjunto de bits intercalado na memória em endereços de memória determinados pelo menos pelo cálculo de um endereço base mais um deslocamento, o deslocamento com base, pelo menos em parte, em um comprimento da sequência de bits de saída da combinação de taxa e uma ordem de modulação para um bloco de código da transmissão sem fio.
[009] De acordo com um segundo aspecto, um dispositivo de comunicação associado com uma transmissão sem fio é provido. O dispositivo de comunicação inclui pelo menos um processador que tem uma pluralidade de registros, o pelo menos um processador em comunicação com a memória. O pelo menos um processador é configurado para realizar um de um processo de decodificação com verificação de paridade de baixa densidade, LDPC, e um processo de codificação LDPC, o um do processo de decodificação LDPC e do processo de codificação LDPC incluindo carregar um conjunto de bits, em paralelo, em uma pluralidade de registros, o conjunto de bits sendo distribuído entre a pluralidade de registros; uma da desintercalação e da intercalação do conjunto de bits carregado na pluralidade de registros pelo rearranjo do conjunto de bits carregado em um de um
6 / 62 conjunto de bits desintercalado e um conjunto de bits intercalado; e, depois que o conjunto de bits for rearranjado no um do conjunto de bits desintercalado e do conjunto de bits intercalado na pluralidade de registros, gravar o um do conjunto de bits desintercalado e do conjunto de bits intercalado, em paralelo, proveniente da pluralidade de registros na memória.
[0010] O processador é adicionalmente configurado para realizar todas as funcionalidades e métodos aqui descritos e todas as modalidades descritas no primeiro aspecto, por exemplo.
[0011] De acordo com um terceiro aspecto, um método é provido para um dispositivo de comunicação associado com uma comunicação sem fio. O método inclui realizar uma de descombinação de taxa e de combinação de taxa de uma sequência de bits para um bloco de código associado com uma comunicação sem fio pelo menos pelo processamento iterativo dos bits da sequência de bits e, para cada iteração, antes do processamento dos bits, pré- calcular um valor de posição inicial e um número do processamento de bit, o valor de posição inicial representando um bit inicial dos bits a serem processados na respectiva iteração, e o número do processamento de bit representando um número total de bits a serem processados na respectiva iteração.
[0012] Em algumas modalidades deste aspecto, se a uma da descombinação de taxa e da combinação de taxa for descombinação de taxa, a sequência de bits inclui os bits recuperáveis codificados. Em algumas modalidades deste aspecto, se a uma da descombinação de taxa e da combinação de taxa for combinação de taxa, a sequência de bits inclui os bits codificados. Em algumas modalidades deste aspecto, a uma da descombinação de taxa e da combinação de taxa é realizada por pelo menos um processador do dispositivo de comunicação sem realizar nenhuma operação de divisão. Em algumas modalidades deste aspecto, a uma da descombinação de taxa e da combinação de taxa é realizada por pelo menos
7 / 62 um processador do dispositivo de comunicação sem realizar nenhuma operação de módulo.
Em algumas modalidades deste aspecto, o pré-cálculo do valor de posição inicial e do número do processamento de bit para cada iteração permite que o pelo menos um processador realize a uma da descombinação de taxa e da combinação de taxa sem realizar nenhuma operação de divisão.
Em algumas modalidades deste aspecto, a uma da descombinação de taxa e da combinação de taxa é realizada em pelo menos uma de uma cadeia de processamento de verificação de paridade de baixa densidade, LDPC, e de uma cadeia de processamento polar.
Em algumas modalidades deste aspecto, para a combinação de taxa, o processamento iterativo dos bits da sequência de bits compreende pelo menos um de repetir e puncionar os bits para combinar um número total de bits associados com os recursos atribuídos para a comunicação sem fio; e, para a descombinação de taxa, o processamento iterativo dos bits da sequência de bits compreende combinar os bits para produzir uma sequência de bits recuperáveis descombinados na taxa.
Em algumas modalidades deste aspecto, o pré-cálculo do valor de posição inicial e do número do processamento de bit é com base, pelo menos em parte, em: um comprimento do bloco de código, um número total de bits a serem processados para a uma de descombinação de taxa e de combinação de taxa da sequência de bits para o bloco de código, e uma posição inicial de um buffer circular, a posição inicial sendo determinada, pelo menos em parte, por uma versão de redundância da comunicação sem fio.
Em algumas modalidades deste aspecto, o pré-cálculo do valor de posição inicial e do número do processamento de bit compreende determinar o número do processamento de bit com base, pelo menos em parte, em: o valor de posição inicial da respectiva iteração, um comprimento do bloco de código, um número total de bits a serem processados para a uma de descombinação de taxa e de combinação de taxa da sequência de bits para o bloco de código, e uma posição inicial de um buffer circular, a posição inicial
8 / 62 sendo determinada, pelo menos em parte, por uma versão de redundância da comunicação sem fio.
[0013] De acordo com um quarto aspecto, um dispositivo de comunicação associado com uma comunicação sem fio é provido. O dispositivo de comunicação inclui pelo menos um processador, o pelo menos um processador em comunicação com a memória, o pelo menos um processador configurado com instruções de máquina para: realizar uma de descombinação de taxa e de combinação de taxa de uma sequência de bits para um bloco de código associado com uma comunicação sem fio pelo menos pelo processamento iterativo dos bits da sequência de bits e, para cada iteração, antes do processamento dos bits, pré-calcular um valor de posição inicial e um número do processamento de bit, o valor de posição inicial representando um bit inicial dos bits a serem processados na respectiva iteração, e o número do processamento de bit representando um número total de bits a serem processados na respectiva iteração.
[0014] O processador é adicionalmente configurado para realizar todos os métodos e funcionalidades aqui descritos e as modalidades do terceiro aspecto, por exemplo. Breve Descrição dos Desenhos
[0015] Um mais completo entendimento das presentes modalidades, e das vantagens e características presentes nas mesmas, será mais prontamente entendido pela referência à seguinte descrição detalhada quando considerada em conjunto com os desenhos anexos, nos quais: a figura 1 é um diagrama de blocos, por exemplo, das cadeias do processo de codificação e decodificação LDPC como parte de uma comunicação L1 DL; a figura 2 é um diagrama esquemático de uma arquitetura de rede exemplar que ilustra um sistema de comunicação conectado por meio de uma rede intermediárias em um computador hospedeiro de acordo com os
9 / 62 princípios na presente descrição; a figura 3 é um diagrama de blocos de um computador hospedeiro que comunica por meio de um nó de rede com um dispositivo sem fio através de uma conexão pelo menos parcialmente sem fio de acordo com algumas modalidades da presente descrição; a figura 4 é um fluxograma que ilustra métodos exemplares implementados em um sistema de comunicação incluindo um computador hospedeiro, um nó de rede e um dispositivo sem fio para executar uma aplicação cliente em um dispositivo sem fio de acordo com algumas modalidades da presente descrição; a figura 5 é um fluxograma que ilustra métodos exemplares implementados em um sistema de comunicação incluindo um computador hospedeiro, um nó de rede e um dispositivo sem fio para receber dados de usuário em um dispositivo sem fio de acordo com algumas modalidades da presente descrição; a figura 6 é um fluxograma que ilustra métodos exemplares implementados em um sistema de comunicação incluindo um computador hospedeiro, um nó de rede e um dispositivo sem fio para receber dados de usuário a partir do dispositivo sem fio em um computador hospedeiro de acordo com algumas modalidades da presente descrição; a figura 7 é um fluxograma que ilustra métodos exemplares implementados em um sistema de comunicação incluindo um computador hospedeiro, um nó de rede e um dispositivo sem fio para receber dados de usuário em um computador hospedeiro de acordo com algumas modalidades da presente descrição; a figura 8 é um fluxograma de um processo exemplar em um nó de rede para a cadeia do processo de codificação de acordo com algumas modalidades da presente descrição; e a figura 9 é um fluxograma de um processo exemplar em um
10 / 62 dispositivo sem fio para a cadeia do processo de decodificação de acordo com algumas modalidades da presente descrição; a figura 10 ilustra o embaralhamento de acordo com algumas modalidades desta descrição com tabelas; a figura 11 ilustra a permuta de acordo com algumas modalidades desta descrição com uma tabela; a figura 12 ilustra o agrupamento de valor recuperável de acordo com algumas modalidades desta descrição com uma tabela; a figura 13 ilustra o agrupamento de valor recuperável de acordo com algumas modalidades desta descrição com uma tabela; a figura 14 ilustra o empacotamento e o desempacotamento de acordo com algumas modalidades desta descrição; a figura 15 ilustra o mapeamento de grupo do valor recuperável para empacotamento e desempacotamento para registro 0 de acordo com um exemplo nesta descrição, com tabelas; e a figura 16 ilustra o empacotamento e o desempacotamento para registro 1 de acordo com um exemplo nesta descrição, com tabelas. Descrição Detalhada
[0016] 5G NR tem exigências exclusivas que podem se beneficiar das técnicas aqui descritas para processamento mais rápido de sinais, se comparado com técnicas existentes. Por exemplo, 5G NR tem exigências para suportar redundância incremental por meio de solicitação de repetição automática híbrida (HARQ). Além disto, a combinação de taxa deve ser suportada para ajustar dinamicamente a taxa de codificação aos recursos alocados.
[0017] A combinação de taxa para um código LDPC pode ser definida por bloco codificado (CB) e pode incluir pelo menos um processo de seleção de bit e de intercalação de bit. A sequência de bit de entrada para combinação de taxa pode ser denotada por d0, d1, d2, ..., dN-1. A sequência de
11 / 62 bit de saída depois da combinação de taxa pode ser denotada como f0, f1, f2, ..., fE-1. Seleção de Bit
[0018] A sequência de bit depois da codificação d0, d1, d2, ..., dN-1 pode ser gravada em um buffer circular de comprimento N para o r-ésimo bloco codificado, em que N é o número total de bits depois da codificação por bloco de código. A posição inicial e o número total de bits de saída depois da combinação de taxa podem ser determinados por versão de redundância, ordem de modulação, número de camadas, tamanho do TB e/ou número total de bits codificados disponíveis para transmissão do TB.
[0019] A posição do bit inicial pode ser denotada como k0 e pode ser determinada pela versão de redundância. Além do mais, Ncb pode denotar o comprimento do CB. Assim, para um transmissor, o pseudocódigo para gerar a sequência de bit de saída da combinação de taxa ek, k = 0, 1, 2, ..., E-1, pode ser como segue: int k =0; int j = 0; enquanto(k < E) { se(d[(k0+j) % Ncb] != Null) { e[k] = d[(k0+j) % Ncb]; k++; } j++; }
[0020] No lado do receptor, o pseudocódigo para descombinação de taxa no receptor pode ser como segue: int k =0; int j = 0; enquanto (k < E) { d[(k0+j) % Ncb]+=e[k]; k++;
12 / 62 j++; }
[0021] Infelizmente, em virtude de a operação de módulo ser exigida para calcular cada valor de saída neste pseudocódigo, este algoritmo pode não ser eficiente. Por exemplo, realizar a operação de módulo exige uma operação de divisão, que pode exigir muito mais ciclos de processamento para computar do que outras operações matemáticas. Intercalação de Bit
[0022] A sequência de bit e0, e1, e2, ..., eE-1 pode ser intercalada para a sequência de bit e0, e0, f1, f2, ..., fE-1, de acordo com o seguinte pseudocódigo, em que o valor de Q pode ser dado pela tabela a seguir, Tabela 1: para j = 0 até E/Q-1 para i = 0 até Q-1 fi+jQ = eiE/Q+j; fim para fim para. Modulação Q π/2-BPSK, BPSK 1 QPSK 2 16QAM 4 64QAM 6 256QAM 8 Tabela 1: Modulação e número de bits codificados por símbolo QAM
[0023] Este algoritmo também pode não ser eficiente em virtude de cada bit de saída ser calculado sequencialmente, em vez de em paralelo. Assim, algumas modalidades desta descrição proveem um algoritmo mais eficiente para implementar as operações de desintercalação e descombinação de taxa em uma cadeia do processo de decodificação, tais como, por exemplo, uma cadeia do processo de decodificação LDPC, bem como as operações de intercalação e combinação de taxa. Por exemplo, para uma operação de desintercalação, paralelização com base em vetor pode ser usada. Em tais modalidades, cada operação pode incluir, por exemplo, 8x64 bytes, que é super-rápido, se comparado com os algoritmos existentes. As operações tanto
13 / 62 de leitura quanto de gravação de memória podem ser realizadas em paralelo (operação em massa). Em algumas modalidades, cada operação de leitura/gravação pode incluir leitura/gravação de memória de 2x64 bytes. Algumas modalidades desta descrição para desintercalação podem incluir as seguintes etapas: carregar valores recuperáveis em paralelo em 8 registros; embaralhar valores recuperáveis por faixa do registro; permutar/permutacionar por registro; desempacotamento e empacotamento; e armazenar o resultado em paralelo.
[0024] Em outras modalidades desta descrição, para uma operação de combinação de taxa, a operação modular pode não ser usada e, em vez disto, leitura e gravação em massa podem ser usadas com pré-cálculo das posições de início e de envolvimento.
[0025] Vantajosamente, algumas modalidades desta descrição proveem um ou mais dos seguintes: * Menos ciclos da unidade central de processamento (CPU): Em algumas modalidades, as técnicas aqui descritas resultaram em desintercalação e descombinação de taxa que é 40 vezes mais rápido do que as soluções existentes para as operações de desintercalação e descombinação de taxa em uma cadeia do processo de decodificação LDPC no receptor. A economia dos ciclos da CPU é útil em particular para 5G, já que a duração do tempo de intervalo é muito menor do que LTE. Para LTE, a duração do intervalo é 1 ms. Entretanto, para 5G, a duração do intervalo pode ser tão curta quanto 125 µs.
[0026] * Para a operação de desintercalação, a paralelização com base em vetor em que cada operação inclui 8x64 bytes pode ser considerada super- rápida, se comparada com as existentes operações de desintercalação.
[0027] * Tanto a leitura quanto a gravação na memória podem ser realizadas em paralelo (operação em massa), de maneira tal que cada operação inclua leitura ou gravação de memória de 2x64 bytes.
14 / 62
[0028] Antes de descrever com detalhes as modalidades exemplares, percebe-se que as modalidades residem, primariamente, em combinações de componentes de aparelho e etapas de processamento relacionadas à otimização de algoritmo para desintercalação/intercalação e descombinação/combinação de taxa. Desta maneira, os componentes foram representados quando apropriado por símbolos convencionais nos desenhos, mostrando apenas aqueles detalhes específicos que são pertinentes ao entendimento das modalidades para não obscurecer a descrição com detalhes que serão prontamente aparentes àqueles versados na técnica que têm o benefício da descrição aqui exposta.
[0029] Da forma aqui usada, os termos relacionais, tais como, “primeiro” e “segundo”, “topo” e “base” e similares, podem ser usados exclusivamente para distinguir uma entidade ou elemento de uma outra entidade ou elemento sem necessariamente exigir ou implicar nenhum relacionamento ou ordem física ou lógica entre tais entidades ou elementos. A terminologia aqui usada é com o propósito de descrever as modalidades em particular apenas, e não pretende-se que seja limitante dos conceitos aqui descritos. Da forma aqui usada, pretende-se que as formas no singular “um”, “uma”, “o” e “a” também incluam as formas no plural, a menos que o contexto claramente indique de outra forma. Será adicionalmente entendido que os termos “compreende”, “compreendendo”, “inclui” e/ou “incluindo”, quando aqui usados, especificam a presença de características, números inteiros, etapas, operações, elementos, e/ou componentes declarados, mas não impedem a presença ou a adição de um ou mais outro características, números inteiros, etapas, operações, elementos, componentes, e/ou grupos dos mesmos.
[0030] Em modalidades aqui descritas, o termo de associação “em comunicação com” e similares pode ser usado para indicar comunicação elétrica ou de dados, que pode ser alcançada por contato físico, indução,
15 / 62 radiação eletromagnética, sinalização por rádio, sinalização por infravermelho ou sinalização óptica, por exemplo. Aqueles versados na técnica irão perceber que múltiplos componentes podem interoperar, e modificações e variações são possíveis para alcançar a comunicação elétrica e de dados. Em algumas modalidades aqui descritas, os termos “acoplado”, “conectado”, e similares podem ser aqui usados para indicar uma conexão, embora não necessariamente diretamente, e podem incluir conexões com fios e/ou sem fio.
[0031] O termo “nó de rede” aqui usado pode ser qualquer tipo de nó de rede compreendido em uma rede por rádio, que pode compreender adicionalmente qualquer um de estação base (BS), estação base de rádio, estação base transceptora (BTS), controlador de estação base (BSC), controlador de rede por rádio (RNC), g Nó B (gNB), Nó B evoluído (eNB ou eNodeB), Nó B, nó de rádio do rádio multipadrões (MSR), tal como MSR BS, entidade de coordenação multicélulas/difusão seletiva (MCE), nó de retransmissão, nó doador que controla retransmissão, ponto de acesso por rádio (AP), pontos de transmissão, nós de transmissão, Unidade de Rádio Remota (RRU) Cabeça de Rádio Remota (RRH), um nó da rede central (por exemplo, entidade de gerenciamento móvel (MME), nó da rede auto- organizada (SON), um nó coordenador, nó de posicionamento, nó MDT, etc.), um nó externo (por exemplo, nó de terceiro um nó externo à rede atual), nós em sistema de antenas distribuídas (DAS), um nó no sistema de acesso a espectro (SAS), um sistema de gerenciamento de elemento (EMS), etc. O nó de rede também pode compreender equipamento de teste. O termo “nó de rádio” aqui usado pode ser usado para também denotar um dispositivo sem fio (WD), tais como um dispositivo sem fio (WD) ou um nó da rede de rádio.
[0032] Em algumas modalidades, os termos não limitantes dispositivo sem fio (WD) ou um equipamento de usuário (UE) são usados intercambiavelmente. O WD, aqui, pode ser qualquer tipo de dispositivo sem
16 / 62 fio capaz de comunicar com um nó de rede ou um outro WD através de sinais de rádio, tal como o dispositivo sem fio (WD). O WD também pode ser um dispositivo de comunicação por rádio, um dispositivo alvo, WD dispositivo a dispositivo (D2D), WD tipo máquina ou WD capaz de comunicação máquina para máquina (M2M), WD de baixo custo e/ou baixa complexidade, um sensor equipado com WD, Tablet, terminais móveis, telefone inteligente, equipamento embutido em laptop (LEE), equipamento montado em laptop (LME), dongles USB, equipamento nas dependências do consumidor (CPE), um dispositivo Internet das Coisas (IoT) ou um dispositivo IoT em Banda Estreita (NB-IOT), etc.
[0033] Em algumas modalidades, o termo “dispositivo de comunicação” é aqui usado amplamente para se referir a qualquer dispositivo de comunicação capaz de comunicação com um outro dispositivo de comunicação através de sinais de rádio. Exemplos de um dispositivo de comunicação incluem, por exemplo, WD, UE, nó de rede, e/ou estação base. Em algumas modalidades, o dispositivo de comunicação pode ser e/ou incluir um transmissor configurado para processar e transmitir um sinal de rádio, tal como uma comunicação em DL. Em algumas modalidades, o dispositivo de comunicação pode ser e/ou incluir um receptor configurado para receber e processar o sinal de rádio, tal como a comunicação em DL, por exemplo, de acordo com as técnicas nesta descrição.
[0034] Também, em algumas modalidades, o termo genérico “nó de rádio de rede” é usado. O mesmo pode ser qualquer tipo de um nó da rede de rádio que pode compreender qualquer um da estação base, da estação base de rádio, da estação base transceptora, do controlador de estação base, do controlador de rede, do RNC, do Nó B evoluído (eNB), do Nó B, do gNB, da entidade de coordenação multicélulas/difusão seletiva (MCE), do nó de retransmissão, do ponto de acesso, do ponto de acesso por rádio, da Unidade de Rádio Remota (RRU) Cabeça de Rádio Remota (RRH).
17 / 62
[0035] Da forma aqui usada, em algumas modalidades, os termos “valor recuperável” e “bit recuperável” são usados intercambiavelmente para indicar um valor de probabilidade, tal como um valor de probabilidade da LDPC. Em algumas modalidades, o “valor recuperável” e/ou o “bit recuperável” podem ser representados por 8 dígitos binários (bits). Em outras modalidades, o “valor recuperável” e/ou o “bit recuperável” podem ser representados por mais ou menos do que 8 dígitos binários/bits. Em algumas modalidades, o “valor recuperável” e/ ou o “bit recuperável” podem ser considerados uma métrica recuperável que pode ser tomada, por exemplo, na saída de um demodulador de um receptor (por exemplo, WD) e pode prover uma indicação da informação que é recebida, bem como uma probabilidade associada com a informação. Por exemplo, um sinal de rádio recebido pode ser convertido em bits recuperáveis com base em estimativas de probabilidade logarítmica, que são conhecidas nas tecnologias de processamento de sinal.
[0036] Da forma aqui usada, em algumas modalidades, o termo “instruções de máquina” é usado. Em algumas modalidades, o termo “instruções de máquina” significa instruções em linguagem de máquina que podem ser diretamente executadas por um processador, tal como unidade central de processamento (CPU). Por exemplo, as instruções de máquina podem ser parte de um conjunto de instruções de máquina para um tipo em particular de processador e cada instrução de máquina pode fazer com que o processador ou a CPU realizem uma tarefa muito específica, tais como uma carga, um salto, uma operação aritmética (por exemplo, adicionar, subtrair, dividir, etc.) por uma unidade de lógica aritmética no processador ou CPU usando registro(s), etc. Em algumas modalidades, o código de máquina pode ser, por exemplo, linguagem assembly ou código compilado. Em algumas modalidades, o código de máquina pode ser considerado código de máquina executável. Em algumas modalidades, pretende-se que as instruções de máquina de acordo com esta descrição restrinjam certas operações para
18 / 62 desempenho nos registros, sem acessar a memória, e/ou eliminem operações onerosas, tais como operações de módulo e/ou de divisão, para habilitar os rápidos tempos de processamento exigidos por algumas tecnologias de rede emergentes, tal como, por exemplo, Novo Rádio.
[0037] Note que, embora a terminologia de um sistema sem fio em particular, tai como, por exemplo, 3GPP LTE e/ou Novo Rádio (NR), possa ser usada nesta descrição, isto não deve ser visto como limitante do escopo da descrição apenas ao sistema supramencionado. Outros sistemas sem fio, incluindo, mas sem limitação, Acesso Múltiplo por Divisão de Código de Banda Larga (WCDMA), Interoperabilidade Mundial para Acesso por Micro- Ondas (WiMax), Banda Larga Ultra Móvel (UMB) e Sistema Global para Comunicações Móveis (GSM), também podem se beneficiar da exploração das ideias cobertas nesta descrição. Note adicionalmente que as funções aqui descritas como sendo realizadas por um dispositivo sem fio ou um nó de rede podem ser distribuídas através de uma pluralidade de dispositivos sem fio e/ou nós de rede. Em outras palavras, é contemplado que as funções do nó de rede e do dispositivo sem fio aqui descritos não são limitadas ao desempenho por um único dispositivo físico e, de fato, podem ser distribuídas entre diversos dispositivos físicos.
[0038] A menos que de outra forma definido, todos os termos (incluindo termos técnicos e científicos) aqui usados têm os mesmos significados comumente entendidos pelos versados na técnica à qual esta descrição pertence. Será adicionalmente entendido que os termos aqui usados devem ser interpretados como tendo um significado que é consistente com seu significado no contexto desta especificação e da tecnologia relevante e não serão interpretados em um sentido idealizado ou excessivamente formal, a menos que expressamente assim aqui definido.
[0039] Novamente, em relação às figuras do desenho, em que elementos iguais são referidos por números de referência iguais, é mostrado
19 / 62 na figura 2 um diagrama esquemático de um sistema de comunicação 10, de acordo com uma modalidade, tal como uma rede celular tipo 3GPP que pode suportar padrões, tais como LTE e/ou NR (5G), que compreende uma rede de acesso 12, tal como uma rede de acesso por rádio, e uma rede central 14. A rede de acesso 12 compreende uma pluralidade de nós de rede 16a, 16b, 16c (referidos coletivamente como nós de rede 16), tais como NBs, eNBs, gNBs ou outros tipos de pontos de acesso sem fio, cada qual definindo uma correspondente área de cobertura 18a, 18b, 18c (referidas coletivamente como áreas de cobertura 18). Cada nó de rede 16a, 16b, 16c é conectável na rede central 14 através de uma conexão com fios ou sem fio 20. Um primeiro dispositivo sem fio (WD) 22a localizado na área de cobertura 18a é configurado para conectar sem fio no, ou ser radiossinalizado pelo, correspondente nó de rede 16c. Um segundo WD 22b na área de cobertura 18b é conectável sem fio no correspondente nó de rede 16a. Embora uma pluralidade de WDs 22a, 22b (coletivamente referidos como dispositivos sem fio 22) seja ilustrada neste exemplo, as modalidades descritas são igualmente aplicáveis em uma situação em que um WD exclusivo está na área de cobertura ou em que um WD exclusivo está conectando no correspondente nó de rede 16. Note que, embora apenas dois WDs 22 e três nós de rede 16 sejam mostrados por conveniência, o sistema de comunicação pode incluir muitos mais WDs 22 e nós de rede 16.
[0040] Também, é contemplado que um WD 22 pode estar em comunicação simultânea e/ou ser configurado para comunicar separadamente com mais do que um nó de rede 16 e mais do que um tipo de nó de rede 16. Por exemplo, um WD 22 pode ter conectividade dual com um nó de rede 16 que suporta LTE e o mesmo ou um diferente nó de rede 16 que suporta NR. Como um exemplo, o WD 22 pode ficar em comunicação com um eNB para LTE/E-UTRAN e um gNB para NR/NG-RAN.
[0041] O próprio sistema de comunicação 10 pode ser conectado em
20 / 62 um computador hospedeiro 24, que pode ser incorporado no hardware e/ou no software de um servidor independente, um servidor implementado em nuvem um servidor distribuído ou como recursos de processamento em uma fazenda de servidores. O computador hospedeiro 24 pode estar sob a posse ou controle de um provedor de serviço, ou pode ser operado pelo provedor de serviço ou em nome do provedor de serviço. As conexões 26, 28 entre o sistema de comunicação 10 e o computador hospedeiro 24 podem se estender diretamente da rede central 14 até o computador hospedeiro 24 ou podem se estender por meio de uma rede intermediária opcional 30. A rede intermediária 30 pode ser uma de, ou uma combinação de mais do que uma de, uma rede pública, privada ou hospedada. A rede intermediária 30, se houver, pode ser uma rede de base ou a Internet. Em algumas modalidades, a rede intermediária 30 pode compreender duas ou mais sub-redes (não mostradas).
[0042] O sistema de comunicação da figura 2 como um todo habilita a conectividade entre um dos WDs conectados 22a, 22b e o computador hospedeiro 24. A conectividade pode ser descrita como uma conexão over- the-top (OTT). O computador hospedeiro 24 e os WDs conectados 22a, 22b são configurados para comunicar dados e/ou sinalização por meio da conexão OTT, usando a rede de acesso 12, a rede central 14, qualquer rede intermediária 30 e possível infraestrutura adicional (não mostrada) como intermediários. A conexão OTT pode ser transparente no sentido que pelo menos alguns dos dispositivos de comunicação participantes através dos quais a conexão OTT passa não ficam cientes do roteamento de comunicações em enlace ascendente e enlace descendente. Por exemplo, um nó de rede 16 pode não ser ou não precisa ser informado sobre o roteamento passado de uma comunicação em enlace descendente de entrada com dados originários a partir de um computador hospedeiro 24 a serem encaminhados (por exemplo, transferidos) para um WD conectado 22a. Similarmente, o nó de rede 16 não
21 / 62 precisa estar ciente do futuro roteamento de uma comunicação em enlace ascendente de saída que origina a partir do WD 22a na direção do computador hospedeiro 24.
[0043] Um dispositivo de comunicação, que pode ser um nó de rede 16 ou um dispositivo sem fio 22, é configurado para incluir uma unidade da cadeia de processamento de comunicação 32 que é configurada para realizar um de um processo de decodificação com verificação de paridade de baixa densidade, LDPC, e um processo de codificação LDPC, o um do processo de decodificação LDPC e do processo de codificação LDPC incluindo carregar um conjunto de bits, em paralelo, em uma pluralidade de registros, o conjunto de bits sendo distribuído entre a pluralidade de registros; uma da desintercalação e da intercalação do conjunto de bits carregado na pluralidade de registros pelo rearranjo do conjunto de bits carregado em um de um conjunto de bits desintercalado e um conjunto de bits intercalado; e, depois que o conjunto de bits for rearranjado no um do conjunto de bits desintercalado e do conjunto de bits intercalado na pluralidade de registros, gravar o um do conjunto de bits desintercalado e do conjunto de bits intercalado, em paralelo, proveniente da pluralidade de registros na memória.
[0044] Um dispositivo de comunicação, que pode ser um nó de rede 16 ou um dispositivo sem fio 22, é configurado para incluir uma unidade da cadeia de processamento de sinal 34 que é configurada para realizar uma de descombinação de taxa e de combinação de taxa de uma sequência de bits para um bloco de código associado com uma comunicação sem fio pelo menos pelo processamento iterativo dos bits da sequência de bits e, para cada iteração, antes do processamento dos bits, pré-calcular um valor de posição inicial e um número do processamento de bit, o valor de posição inicial representando um bit inicial dos bits a serem processados na respectiva iteração, e o número do processamento de bit representando um número total de bits a serem processados na respectiva iteração.
22 / 62
[0045] Embora, em algumas modalidades, a descrição discuta a combinação de taxa e a descombinação de taxa em relação à unidade da cadeia de processamento de sinal 34 mostrada no exemplo no WD 22, entende-se que a combinação de taxa e a descombinação de taxa de acordo com as técnicas nesta descrição também podem ser realizadas pela unidade da cadeia de processamento de comunicação 32 mostrada no exemplo no nó de rede 16. Similarmente, em algumas modalidades, a descrição discute intercalação e desintercalação em relação à unidade da cadeia de processamento de comunicação 32 mostrada no exemplo no nó de rede 16, entende-se que a intercalação e a desintercalação de acordo com as técnicas nesta descrição também podem ser realizadas pela unidade da cadeia de processamento de sinal 34 mostrada no exemplo no WD 22. Declarado de outra maneira, pretende-se que a arquitetura representada nas figuras 2 e 3 seja um exemplo e não deva ser vista como limitante desta descrição aos dispositivos e estrutura de rede em particular mostrados e possa ser usada, em algumas modalidades, com qualquer dispositivo de rádio capaz de realizar as técnicas de processamento aqui descritas.
[0046] As implementações de exemplo, de acordo com uma modalidade, do WD 22, do nó de rede 16 e do computador hospedeiro 24 discutidas nos parágrafos precedentes serão agora descritas em relação à figura 3. Em um sistema de comunicação 10, um computador hospedeiro 24 compreende hardware (HW) 38 incluindo uma interface de comunicação 40 configurada para instalar e manter uma conexão com fios ou sem fio com uma interface de um dispositivo de comunicação diferente do sistema de comunicação 10. O computador hospedeiro 24 compreende adicionalmente conjunto de circuitos de processamento 42, que pode ter capacidades de armazenamento e/ou de processamento. O conjunto de circuitos de processamento 42 pode incluir um processador 44 e uma memória 46. Em particular, além de ou em vez de um processador, tal como uma unidade
23 / 62 central de processamento, e uma memória, o conjunto de circuitos de processamento 42 pode compreender conjunto de circuitos integrado para processamento e/ou controle, por exemplo, um ou mais processadores e/ou núcleos de processador e/ou FPGAs (Arranjos de Portas Programáveis no Campo) e/ou ASICs (Conjuntos de circuito Integrados Específicos de Aplicação) adaptados para executar instruções. O processador 44 pode ser configurado para acessar a (por exemplo, gravar na e/ou ler a partir da) memória 46, que pode compreender qualquer tipo de memória volátil e/ou não volátil, por exemplo, memória cache e/ou buffer e/ou RAM (Memória de Acesso Aleatório) e/ou ROM (Memória Exclusiva de Leitura) e/ou memória óptica e/ou EPROM (Memória Exclusiva de Leitura Programável Apagável).
[0047] O conjunto de circuitos de processamento 42 pode ser configurado para controlar qualquer um dos métodos e/ou processos aqui descritos e/ou para fazer com que tais métodos e/ou processos sejam realizados, por exemplo, pelo computador hospedeiro 24. O processador 44 corresponde a um ou mais processadores 44 para realizar as funções do computador hospedeiro 24 aqui descritas. O computador hospedeiro 24 inclui a memória 46 que é configurada para armazenar dados, código de software programático e/ou outra informação aqui descrita. Em algumas modalidades, o software 48 e/ou a aplicação hospedeira 50 podem incluir instruções que, quando executadas pelo processador 44 e/ou pelo conjunto de circuitos de processamento 42, fazem com que o processador 44 e/ou o conjunto de circuitos de processamento 42 realizem os processos aqui descritos em relação ao computador hospedeiro 24. As instruções podem ser software associado com o computador hospedeiro 24.
[0048] O software 48 pode ser executável pelo conjunto de circuitos de processamento 42. O software 48 inclui uma aplicação hospedeira 50. A aplicação hospedeira 50 pode ser operável para prover um serviço para uma unidade remota, tal como um WD 22 que conecta por meio de uma conexão
24 / 62 OTT 52 que termina no WD 22 e no computador hospedeiro 24. Na provisão do serviço para o remoto usuário, a aplicação hospedeira 50 pode prover dados de usuário que são transmitidos usando a conexão OTT 52. Os “dados de usuário” podem ser dados e informação aqui descritos como implementando a funcionalidade descrita. Em uma modalidade, o computador hospedeiro 24 pode ser configurado para prover controle e funcionalidade para um provedor de serviço e pode ser operado pelo provedor de serviço ou em nome do provedor de serviço. O conjunto de circuitos de processamento 42 do computador hospedeiro 24 pode habilitar o computador hospedeiro 24 para observar, monitorar, controlar, transmitir para e/ou receber a partir do nó de rede 16 e/ou do dispositivo sem fio 22. O conjunto de circuitos de processamento 42 do computador hospedeiro 24 pode incluir uma unidade monitora 54 configurada para habilitar o provedor de serviço a observar, monitorar, controlar, transmitir para e/ou receber a partir do nó de rede 16 e/ou do dispositivo sem fio 22.
[0049] O sistema de comunicação 10 inclui adicionalmente um nó de rede 16 provido em um sistema de comunicação 10 e incluindo hardware 58 que habilita o mesmo a comunicar com o computador hospedeiro 24 e com o WD 22. O hardware 58 pode incluir uma interface de comunicação 60 para instalar e manter uma conexão com fios ou sem fio com uma interface de um dispositivo de comunicação diferente do sistema de comunicação 10, bem como uma interface de rádio 62 para instalar e manter pelo menos uma conexão sem fio 64 com um WD 22 localizado em uma área de cobertura 18 servida pelo nó de rede 16. A interface de rádio 62 pode ser formada como ou pode incluir, por exemplo, um ou mais transmissores RF, um ou mais receptores RF, e/ou um ou mais transceptores RF. A interface de comunicação 60 pode ser configurada para facilitar uma conexão 66 no computador hospedeiro 24. A conexão 66 pode ser direta ou a mesma pode passar através de uma rede central 14 do sistema de comunicação 10 e/ou
25 / 62 através de uma ou mais redes intermediárias 30 fora do sistema de comunicação 10.
[0050] Na modalidade mostrada, o hardware 58 do nó de rede 16 inclui adicionalmente conjunto de circuitos de processamento 68. O conjunto de circuitos de processamento 68 pode incluir um processador 70 e uma memória 72, que podem, em algumas modalidades, ser separados por um barramento. Em particular, além de ou em vez de um processador, tal como uma unidade central de processamento, e memória, o conjunto de circuitos de processamento 68 pode compreender conjunto de circuitos integrado para processamento e/ou controle, por exemplo, de um ou mais processadores e/ou núcleos de processador e/ou FPGAs (Arranjos de Portas Programáveis no Campo) e/ou ASICs (Conjuntos de Circuito Integrados Específicos de Aplicação) adaptados para executar instruções. O processador 70 pode ser configurado para acessar a (por exemplo, gravar na e/ou ler a partir da) memória 72, que pode compreender qualquer tipo de memória volátil e/ou não volátil, por exemplo, memória cache e/ou buffer e/ou RAM (Memória de Acesso Aleatório) e/ou ROM (Memória Exclusiva de Leitura) e/ou memória óptica e/ou EPROM (Memória Exclusiva de Leitura Programável Apagável).
[0051] Assim, o nó de rede 16 tem adicionalmente software 74 armazenado internamente, por exemplo, na memória 72, ou armazenado em memória externa (por exemplo, base de dados, arranjo de armazenamento, dispositivo de armazenamento em rede, etc.) acessível pelo nó de rede 16 por meio de uma conexão externa. O software 74 pode ser executável pelo conjunto de circuitos de processamento 68. O conjunto de circuitos de processamento 68 pode ser configurado para controlar qualquer um dos métodos e/ou processos aqui descritos e/ou para fazer com que tais métodos e/ou processos sejam realizados, por exemplo, pelo nó de rede 16. O processador 70 corresponde a um ou mais processadores 70 para realizar as funções do nó de rede 16 aqui descritas. A memória 72 é configurada para
26 / 62 armazenar dados, código de software programático e/ou outra informação aqui descritos. Em algumas modalidades, o software 74 pode incluir instruções que, quando executadas pelo processador 70 e/ou pelo conjunto de circuitos de processamento 68, fazem com que o processador 70 e/ou o conjunto de circuitos de processamento 68 realizem os processos aqui descritos em relação ao nó de rede 16. Por exemplo, o conjunto de circuitos de processamento 68 do nó de rede 16 pode incluir uma unidade da cadeia de processamento de comunicação 32. A unidade da cadeia de processamento de comunicação 32 pode ser e/ou pode estar localizada em e/ou ser implementada em pelo menos um processador (por exemplo, processador 70) que tem uma pluralidade de registros, o pelo menos um processador 70 em comunicação com a memória (por exemplo, memória 72). O pelo menos um processador 70 e/ou a unidade da cadeia de processamento de comunicação 32 são configurados para realizar um de um processo de decodificação com verificação de paridade de baixa densidade, LDPC, e um processo de codificação LDPC, o um do processo de decodificação LDPC e do processo de codificação LDPC incluindo carregar um conjunto de bits, em paralelo, em uma pluralidade de registros, o conjunto de bits sendo distribuído entre a pluralidade de registros; uma da desintercalação e da intercalação do conjunto de bits carregado na pluralidade de registros pelo rearranjo do conjunto de bits carregado em um de um conjunto de bits desintercalado e um conjunto de bits intercalado; e, depois que o conjunto de bits for rearranjado no um do conjunto de bits desintercalado e do conjunto de bits intercalado na pluralidade de registros, gravar o um do conjunto de bits desintercalado e do conjunto de bits intercalado, em paralelo, proveniente da pluralidade de registros na memória.
[0052] Em algumas modalidades, se a uma da desintercalação e da intercalação for desintercalação, o conjunto de bits inclui um conjunto de bits recuperáveis codificados. Em algumas modalidades, se a uma da
27 / 62 desintercalação e da intercalação for intercalação, o conjunto de bits inclui um conjunto de bits codificados.
Em algumas modalidades, cada um da pluralidade de registros é parte da arquitetura de registro do processador de pelo menos um processador 70 que realiza o um do processo de decodificação LDPC e do processo de codificação LDPC; e a memória 72 é externa ao pelo menos um processador 70 e separada por pelo menos um processador 70 por meio de pelo menos um barramento.
Em algumas modalidades, o pelo menos um processador 70 é configurado para um de desintercalar e intercalar o conjunto de bits na pluralidade de registros por ser configurado para rearranjar o conjunto de bits no um do conjunto de bits desintercalado e do conjunto de bits intercalado sem acessar a memória 72, a uma da desintercalação e da intercalação usando a pluralidade de registros sem acessar a memória 72 sendo mais rápida do que a uma da desintercalação e da intercalação usando a memória 72. Em algumas modalidades, se a uma da desintercalação e da intercalação for desintercalação, o conjunto de bits inclui um conjunto de bits recuperáveis, o conjunto de bits recuperáveis correspondendo a uma pluralidade de valores recuperáveis, cada um da pluralidade de valores recuperáveis correspondendo a um valor de probabilidade da LDPC.
Em algumas modalidades, o pelo menos um processador 70 é adicionalmente configurado com instruções de máquina para desintercalar o conjunto de bits na pluralidade de registros pelo embaralhamento dos bits recuperáveis no conjunto de bits; permutar os bits recuperáveis embaralhados; e realizar empacotamento e desempacotamento nos bits recuperáveis embaralhados permutados para produzir o conjunto de bits desintercalado.
Em algumas modalidades, o pelo menos um processador 70 é adicionalmente configurado com instruções de máquina para desintercalar o conjunto de bits na pluralidade de registros por: em cada registro da pluralidade de registros: embaralhar os bits recuperáveis do conjunto de bits sem faixas cruzadas do registro; e permutar os bits
28 / 62 recuperáveis embaralhados através dos faixas do registro; e, na pluralidade de registros, realizar empacotamento e desempacotamento nos bits recuperáveis embaralhados permutados para produzir o conjunto de bits desintercalado sem acessar a memória 72. Em algumas modalidades, o pelo menos um processador 70 é adicionalmente configurado com instruções de máquina para intercalar o conjunto de bits na pluralidade de registros por: realizar empacotamento e desempacotamento nos bits do conjunto de bits na pluralidade de registros; permutar os bits empacotados e desempacotados em cada registro da pluralidade de registros; e embaralhar os bits permutados empacotados e desempacotados em cada registro da pluralidade de registros para produzir o conjunto de bits intercalado sem acessar a memória 72. Em algumas modalidades, o um do conjunto de bits desintercalado e do conjunto de bits intercalado produzido pelo rearranjo do conjunto de bits na pluralidade de registros representa uma matriz de transposição de uma matriz associada com o conjunto de bits carregado. Em algumas modalidades, em que o pelo menos um processador 70 é adicionalmente configurado com instruções de máquina para gravar o um do conjunto de bits desintercalado e do conjunto de bits intercalado, em paralelo, proveniente da pluralidade de registros na memória 72 pelo armazenamento do um do conjunto de bits desintercalado e do conjunto de bits intercalado na memória 72 em endereços de memória determinados pelo menos pelo cálculo de um endereço base mais um deslocamento, o deslocamento com base, pelo menos em parte, em um comprimento da sequência de bits de saída da combinação de taxa e uma ordem de modulação para um bloco de código da transmissão sem fio.
[0053] Em algumas modalidades, as modalidades aqui descritas como sendo implementadas pelo nó de rede 16, em combinação com o processador 70 e a memória 72 do nó de rede 16, podem ser implementadas pelo dispositivo sem fio 22 para intercalação e desintercalação pelo processador 86 e pela memória 88 no dispositivo sem fio 22.
29 / 62
[0054] O sistema de comunicação 10 inclui adicionalmente o WD 22 já referido. O WD 22 pode ter hardware 80 que pode incluir uma interface de rádio 82 configurada para instalar e manter uma conexão sem fio 64 com um nó de rede 16 que serve uma área de cobertura 18 na qual o WD 22 está atualmente localizado. A interface de rádio 82 pode ser formada como ou pode incluir, por exemplo, um ou mais transmissores RF, um ou mais receptores RF, e/ou um ou mais transceptores RF.
[0055] O hardware 80 do WD 22 inclui adicionalmente o conjunto de circuitos de processamento 84. O conjunto de circuitos de processamento 84 pode incluir um processador 86 e uma memória 88, que podem ser separados por meio de, por exemplo, um barramento. Em particular, além de ou em vez de um processador, tal como uma unidade central de processamento, e memória, o conjunto de circuitos de processamento 84 pode compreender conjunto de circuitos integrado para processamento e/ou controle, por exemplo, um ou mais processadores e/ou núcleos de processador e/ou FPGAs (Arranjos de Portas Programáveis no Campo) e/ou ASICs (Conjuntos de Circuito Integrado Específicos de Aplicação) adaptados para executar instruções. O processador 86 pode ser configurado para acessar a (por exemplo, gravar na e/ou ler a partir da) memória 88, que pode compreender qualquer tipo de memória volátil e/ou não volátil, por exemplo, memória cache e/ou buffer e/ou RAM (Memória de Acesso Aleatório) e/ou ROM (Memória Exclusiva de Leitura) e/ou memória óptica e/ou EPROM (Memória Exclusiva de Leitura Programável Apagável).
[0056] Assim, o WD 22 pode compreender adicionalmente software 90, que é armazenado, por exemplo, na memória 88 no WD 22, ou armazenado em memória externa (por exemplo, base de dados, arranjo de armazenamento, dispositivo de armazenamento em rede, etc.) acessível pelo WD 22. O software 90 pode ser executável pelo conjunto de circuitos de processamento 84. O software 90 pode incluir uma aplicação cliente 92. A
30 / 62 aplicação cliente 92 pode ser operável para prover um serviço para um usuário humano ou não humano por meio do WD 22, com o suporte do computador hospedeiro 24. No computador hospedeiro 24, uma aplicação hospedeira em execução 50 pode comunicar com a aplicação cliente em execução 92 por meio da conexão OTT 52 que termina no WD 22 e no computador hospedeiro 24. Na provisão do serviço para o usuário, a aplicação cliente 92 pode receber dados de solicitação a partir da aplicação hospedeira 50 e prover dados de usuário em resposta aos dados de solicitação. A conexão OTT 52 pode transferir tanto os dados de solicitação quanto os dados de usuário. A aplicação cliente 92 pode interagir com o usuário para gerar os dados de usuário que o mesmo provê.
[0057] O conjunto de circuitos de processamento 84 pode ser configurado para controlar qualquer um dos métodos e/ou processos aqui descritos e/ou para fazer com que tais métodos e/ou processos sejam realizados, por exemplo, pelo WD 22. O processador 86 corresponde a um ou mais processadores 86 para realizar as funções do WD 22 aqui descritas. O WD 22 inclui a memória 88 que é configurada para armazenar dados, código de software programático e/ou outra informação aqui descrita. Em algumas modalidades, o software 90 e/ou a aplicação cliente 92 podem incluir instruções que, quando executadas pelo processador 86 e/ou pelo conjunto de circuitos de processamento 84, fazem com que o processador 86 e/ou o conjunto de circuitos de processamento 84 realizem os processos aqui descritos em relação ao WD 22. Por exemplo, o conjunto de circuitos de processamento 84 do dispositivo sem fio 22 pode incluir uma unidade da cadeia de processamento de sinal 34. A unidade da cadeia de processamento de sinal 34 pode estar e/ou pode ser localizada em e/ou implementada em pelo menos um processador (por exemplo, processador 86) em comunicação com a memória 88, o pelo menos um processador 86 configurado com instruções de máquina para realizar uma de descombinação de taxa e de combinação de
31 / 62 taxa de uma sequência de bits para um bloco de código associado com uma comunicação sem fio pelo menos pelo processamento iterativo dos bits da sequência de bits e, para cada iteração, antes do processamento dos bits, pré- calcular um valor de posição inicial e um número do processamento de bit, o valor de posição inicial representando um bit inicial dos bits a serem processados na respectiva iteração, e o número do processamento de bit representando um número total de bits a serem processados na respectiva iteração.
[0058] Em algumas modalidades, se a uma da descombinação de taxa e da combinação de taxa for descombinação de taxa, a sequência de bits inclui os bits recuperáveis codificados. Em algumas modalidades, se a uma da descombinação de taxa e da combinação de taxa for combinação de taxa, a sequência de bits inclui os bits codificados. Em algumas modalidades, o pelo menos um processador 86 é adicionalmente configurado com instruções de máquina para realizar a uma da descombinação de taxa e da combinação de taxa sem realizar nenhuma operação de divisão. Em algumas modalidades, o pelo menos um processador 86 é adicionalmente configurado com instruções de máquina para realizar a uma da descombinação de taxa e da combinação de taxa sem realizar nenhuma operação de módulo. Em algumas modalidades, o pré-cálculo do valor de posição inicial e do número do processamento de bit para cada iteração permite que o pelo menos um processador 86 realize a uma da descombinação de taxa e da combinação de taxa sem realizar nenhuma operação de divisão. Em algumas modalidades, a uma da descombinação de taxa e da combinação de taxa é realizada em pelo menos uma de uma cadeia de processamento de verificação de paridade de baixa densidade, LDPC, e uma cadeia de processamento polar. Em algumas modalidades, o pelo menos um processador 86 é adicionalmente configurado para processar iterativamente os bits da sequência de bits por ser configurado para, para a combinação de taxa, pelo menos um de repetir e puncionar os bits para
32 / 62 combinar um número total de bits associados com os recursos atribuídos para a comunicação sem fio; e, para a descombinação de taxa, combinar os bits para produzir uma sequência de bits recuperáveis descombinados na taxa. Em algumas modalidades, o pelo menos um processador 86 é adicionalmente configurado com instruções de máquina para pré-calcular o valor de posição inicial e o número do processamento de bit com base, pelo menos em parte, em: um comprimento do bloco de código, um número total de bits a serem processados para a uma de descombinação de taxa e de combinação de taxa da sequência de bits para o bloco de código, e uma posição inicial de um buffer circular, a posição inicial sendo determinada, pelo menos em parte, por uma versão de redundância da comunicação sem fio. Em algumas modalidades, o pelo menos um processador 86 é adicionalmente configurado com instruções de máquina para pré-calcular o valor de posição inicial e o número do processamento de bit por ser configurado para determinar o número do processamento de bit com base, pelo menos em parte, em: o valor de posição inicial da respectiva iteração, um comprimento do bloco de código, um número total de bits a serem processados para a uma de descombinação de taxa e de combinação de taxa da sequência de bits para o bloco de código, e uma posição inicial de um buffer circular, a posição inicial sendo determinada, pelo menos em parte, por uma versão de redundância da comunicação sem fio.
[0059] Em algumas modalidades, as modalidades aqui descritas como sendo implementadas pelo WD 22, em combinação com o processador 86 e a memória 88 do WD 22, podem ser implementadas pelo nó de rede 16 para combinação de taxa e descombinação de taxa pelo processador 70 e pela memória 72 no nó de rede 16.
[0060] Em algumas modalidades, os trabalhos internos do nó de rede 16, do WD 22 e do computador hospedeiro 24 podem ser da forma mostrada na figura 3 e, independentemente, a topologia de rede nas cercanias pode ser
33 / 62 aquela da figura 2.
[0061] Na figura 3, a conexão OTT 52 foi desenhada abstratamente para ilustrar a comunicação entre o computador hospedeiro 24 e o dispositivo sem fio 22 por meio do nó de rede 16, sem referência explícita a nenhum dispositivo intermediário nem ao preciso roteamento das mensagens por meio destes dispositivos. A infraestrutura de rede pode determinar o roteamento, em que o mesmo pode ser configurado para ocultar do WD 22 ou do provedor de serviço que opera o computador hospedeiro 24, ou de ambos. Enquanto a conexão OTT 52 estiver ativa, a infraestrutura de rede pode tomar decisões adicionais pelas quais a mesma muda dinamicamente o roteamento (por exemplo, com base em consideração de equilíbrio de carga ou reconfiguração da rede).
[0062] A conexão sem conexão 64 entre o WD 22 e o nó de rede 16 é de acordo com os preceitos das modalidades descritas por toda esta descrição. Uma ou mais das várias modalidades melhoram o desempenho dos serviços OTT providos para o WD 22 usando a conexão OTT 52, em que a conexão sem fio 64 pode formar o último segmento. Mais precisamente, os preceitos de algumas destas modalidades podem melhorar a taxa de dados, a latência, e/ou o consumo de energia e, desse modo, prover os benefícios, tais como reduzido tempo de espera do usuário, restrição relaxada sobre o tamanho do arquivo, melhor responsividade, vida útil da bateria estendida, etc.
[0063] Em algumas modalidades, um procedimento de medição pode ser provido com o propósito de monitorar a taxa de dados, a latência e outros fatores que as uma ou mais modalidades melhoram. Pode haver adicionalmente uma funcionalidade de rede opcional para reconfigurar a conexão OTT 52 entre o computador hospedeiro 24 e o WD 22, em resposta às variações nos resultados da medição. O procedimento de medição e/ou a funcionalidade de rede para reconfigurar a conexão OTT 52 podem ser implementados no software 48 do computador hospedeiro 24 ou no software
34 / 62 90 do WD 22, ou em ambos. Em modalidades, os sensores (não mostrados) podem ser implementados nos ou em associação com os dispositivos de comunicação através dos quais a conexão OTT 52 passa; os sensores podem participar do procedimento de medição pelo suprimento dos valores das quantidades monitoradas exemplificadas anteriormente, ou pelo suprimento dos valores de outras quantidades físicas a partir dos quais o software 48, 90 pode computar ou estimar as quantidades monitoradas. A reconfiguração da conexão OTT 52 pode incluir formato da mensagem, definições da retransmissão, roteamento preferido, etc.; a reconfiguração não precisa afetar o nó de rede 16, e a mesma pode ser desconhecida ou imperceptível para o nó de rede 16. Alguns tais procedimentos e funcionalidades podem ser conhecidos e praticados na tecnologia. Em certas modalidades, as medições podem envolver a sinalização de WD proprietária que facilita as medições pelo computador hospedeiro 24 da velocidade de transferência, dos tempos de propagação, da latência e similares. Em algumas modalidades, as medições podem ser implementadas em que o software 48, 90 faz com que as mensagens sejam transmitidas, em particular, mensagens vazias ou ‘simuladas’, usando a conexão OTT 52 ao mesmo tempo em que monitoram- se tempos de propagação, erros, etc.
[0064] Assim, em algumas modalidades, o computador hospedeiro 24 inclui conjunto de circuitos de processamento 42 configurado para prover dados de usuário e uma interface de comunicação 40 que é configurada para encaminhar os dados de usuário para uma rede celular para transmissão para o WD 22. Em algumas modalidades, a rede celular também inclui o nó de rede 16 com uma interface de rádio 62. Em algumas modalidades, o nó de rede 16 é configurado para, e/ou o conjunto de circuitos de processamento 68 do nó de rede 16 é configurado para realizar as funções e/ou os métodos aqui descritos para preparar/iniciar/manter/suportar/terminar uma transmissão em relação ao WD 22, e/ou preparar/terminar/manter/suportar/terminar na
35 / 62 recepção de uma transmissão a partir do WD 22.
[0065] Em algumas modalidades, o computador hospedeiro 24 inclui conjunto de circuitos de processamento 42 e uma interface de comunicação 40 que é configurada para uma interface de comunicação 40 configurada para receber dados de usuário que originam a partir de uma transmissão de um WD 22 para um nó de rede 16. Em algumas modalidades, o WD 22 é configurado para, e/ou compreende, uma interface de rádio 82 e/ou conjunto de circuitos de processamento 84 configurado para realizar as funções e/ou métodos aqui descritos para preparar/iniciar/manter/suportar/terminar uma transmissão para o nó de rede 16, e/ou preparar/terminar/manter/suportar/terminar na recepção de uma transmissão a partir do nó de rede 16.
[0066] Embora as figuras 2 e 3 mostrem várias “unidades”, tais como a unidade da cadeia de processamento de comunicação 32 e a unidade da cadeia de processamento de sinal 34, como estando em um respectivo processador, é contemplado que estas unidades podem ser implementadas de maneira tal que uma parte da unidade seja armazenada em uma correspondente memória no conjunto de circuitos de processamento. Em outras palavras, as unidades podem ser implementadas em hardware ou em uma combinação de hardware e software no conjunto de circuitos de processamento.
[0067] A figura 4 é um fluxograma que ilustra um método exemplar implementado em um sistema de comunicação, tal como, por exemplo, o sistema de comunicação das figuras 2 e 3, de acordo com uma modalidade. O sistema de comunicação pode incluir um computador hospedeiro 24, um nó de rede 16 e um WD 22, que podem ser aqueles descritos em relação à figura
3. Em uma primeira etapa do método, o computador hospedeiro 24 provê os dados de usuário (bloco S100). Em uma subetapa opcional da primeira etapa, o computador hospedeiro 24 provê os dados de usuário pela execução de uma aplicação hospedeira, tal como, por exemplo, a aplicação hospedeira 74
36 / 62 (bloco S102). Em uma segunda etapa, o computador hospedeiro 24 inicia uma transmissão que conduz os dados de usuário para o WD 22 (bloco S104). Em uma terceira etapa opcional, o nó de rede 16 transmite para o WD 22 os dados de usuário que foram conduzidos na transmissão que o computador hospedeiro 24 iniciou, de acordo com os preceitos das modalidades descritas por toda esta descrição (bloco S106). Em uma quarta etapa opcional, o WD 22 executa uma aplicação cliente, tal como, por exemplo, a aplicação cliente 114, associada com a aplicação hospedeira 74 executada pelo computador hospedeiro 24 (bloco S108).
[0068] A figura 5 é um fluxograma que ilustra um método exemplar implementado em um sistema de comunicação, tal como, por exemplo, o sistema de comunicação da figura 2, de acordo com uma modalidade. O sistema de comunicação pode incluir um computador hospedeiro 24, um nó de rede 16 e um WD 22, que podem ser aqueles descritos em relação às figuras 2 e 3. Em uma primeira etapa do método, o computador hospedeiro 24 provê dados de usuário (bloco S110). Em uma subetapa opcional (não mostrada), o computador hospedeiro 24 provê os dados de usuário pela execução de uma aplicação hospedeira, tal como, por exemplo, a aplicação hospedeira 74. Em uma segunda etapa, o computador hospedeiro 24 inicia uma transmissão que conduz os dados de usuário para o WD 22 (bloco S112). A transmissão pode passar por meio do nó de rede 16, de acordo com os preceitos das modalidades descritas por toda esta descrição. Em uma terceira etapa opcional, o WD 22 recebe os dados de usuário conduzidos na transmissão (bloco S114).
[0069] A figura 6 é um fluxograma que ilustra um método exemplar implementado em um sistema de comunicação, tal como, por exemplo, o sistema de comunicação da figura 2, de acordo com uma modalidade. O sistema de comunicação pode incluir um computador hospedeiro 24, um nó de rede 16 e um WD 22, que podem ser aqueles descritos em relação às
37 / 62 figuras 2 e 3. Em uma primeira etapa opcional do método, o WD 22 recebe dados de entrada providos pelo computador hospedeiro 24 (bloco S116). Em uma subetapa opcional da primeira etapa, o WD 22 executa a aplicação cliente 114, que provê os dados de usuário em reação aos dados de entrada recebidos providos pelo computador hospedeiro 24 (bloco S118). Adicionalmente ou alternativamente, em uma segunda etapa opcional, o WD 22 provê dados de usuário (bloco S120). Em uma subetapa opcional da segunda etapa, o WD provê os dados de usuário pela execução de uma aplicação cliente, tal como, por exemplo, a aplicação cliente 114 (bloco S122). Na provisão dos dados de usuário, a aplicação cliente executada 114 pode adicionalmente considerar a entrada de usuário recebida a partir do usuário. Independente da maneira específica na qual os dados de usuário foram providos, o WD 22 pode iniciar, em uma terceira subetapa opcional, a transmissão dos dados de usuário para o computador hospedeiro 24 (bloco S124). Em uma quarta etapa do método, o computador hospedeiro 24 recebe os dados de usuário transmitidos a partir do WD 22, de acordo com os preceitos das modalidades descritas por toda esta descrição (bloco S126).
[0070] A figura 7 é um fluxograma que ilustra um método exemplar implementado em um sistema de comunicação, tal como, por exemplo, o sistema de comunicação da figura 2, de acordo com uma modalidade. O sistema de comunicação pode incluir um computador hospedeiro 24, um nó de rede 16 e um WD 22, que podem ser aqueles descritos em relação às figuras 2 e 3. Em uma primeira etapa opcional do método, de acordo com os preceitos das modalidades descritas por toda esta descrição, o nó de rede 16 recebe os dados de usuário a partir do WD 22 (bloco S128). Em uma segunda etapa opcional, o nó de rede 16 inicia a transmissão dos dados de usuário recebidos para o computador hospedeiro 24 (bloco S130). Em uma terceira etapa, o computador hospedeiro 24 recebe os dados de usuário conduzidos na transmissão iniciada pelo nó de rede 16 (bloco S132).
38 / 62
[0071] A figura 8 é um fluxograma de um processo exemplar em um nó de rede 16 para desintercalação e intercalação de acordo com as técnicas providas nesta descrição.
[0072] O método inclui realizar (bloco S134), tal como por meio da unidade da cadeia de processamento de comunicação 32, um de um processo de decodificação com verificação de paridade de baixa densidade, LDPC, e um processo de codificação LDPC. O um do processo de decodificação LDPC e do processo de codificação LDPC compreendendo carregar (bloco S136), tal como, por meio da unidade da cadeia de processamento de comunicação 32, um conjunto de bits, em paralelo, em uma pluralidade de registros, o conjunto de bits sendo distribuído entre a pluralidade de registros. O método inclui um de desintercalar e intercalar (bloco S138), tal como, por meio da unidade da cadeia de processamento de comunicação 32, o conjunto de bits carregado na pluralidade de registros pelo rearranjo do conjunto de bits carregado em um de um conjunto de bits desintercalado e um conjunto de bits intercalado. O método inclui, depois que o conjunto de bits for rearranjado no um do conjunto de bits desintercalado e do conjunto de bits intercalado na pluralidade de registros, gravar (bloco S140), tal como, por meio da unidade da cadeia de processamento de comunicação 32, o um do conjunto de bits desintercalado e do conjunto de bits intercalado, em paralelo, proveniente da pluralidade de registros na memória 72.
[0073] Em algumas modalidades, se a uma da desintercalação e da intercalação for desintercalação, o conjunto de bits inclui um conjunto de bits recuperáveis codificados. Em algumas modalidades, se a uma da desintercalação e da intercalação for intercalação, o conjunto de bits inclui um conjunto de bits codificados. Em algumas modalidades, cada um da pluralidade de registros é parte da arquitetura de registro do processador de pelo menos um processador 70 que realiza o um do processo de decodificação LDPC e do processo de codificação LDPC; e a memória 72 é externa ao pelo
39 / 62 menos um processador 70 e separada por pelo menos um processador 70 por meio de pelo menos um barramento.
Em algumas modalidades, a uma da desintercalação e da intercalação do conjunto de bits na pluralidade de registros compreende adicionalmente uma da desintercalação e da intercalação do conjunto de bits na pluralidade de registros pelo rearranjo do conjunto de bits no um do conjunto de bits desintercalado e do conjunto de bits intercalado sem acessar a memória 72, realizar a uma da desintercalação e da intercalação usando a pluralidade de registros sem acessar a memória 72 sendo mais rápido do que realizar a uma da desintercalação e da intercalação usando a memória 72. Em algumas modalidades, se a uma da desintercalação e da intercalação for desintercalação, o conjunto de bits inclui um conjunto de bits recuperáveis, o conjunto de bits recuperáveis correspondendo a uma pluralidade de valores recuperáveis, cada um da pluralidade de valores recuperáveis correspondendo a um valor de probabilidade da LDPC.
Em algumas modalidades, a desintercalação do conjunto de bits na pluralidade de registros, tal como, por meio da unidade da cadeia de processamento de comunicação 32, inclui embaralhar os bits recuperáveis no conjunto de bits; permutar os bits recuperáveis embaralhados; e realizar empacotamento e desempacotamento nos bits recuperáveis embaralhados permutados para produzir o conjunto de bits desintercalado.
Em algumas modalidades, a desintercalação do conjunto de bits na pluralidade de registros, tal como, por meio da unidade da cadeia de processamento de comunicação 32, inclui: em cada registro da pluralidade de registros: embaralhar os bits recuperáveis do conjunto de bits sem faixas cruzadas do registro; e permutar os bits recuperáveis embaralhados através dos faixas do registro; e, na pluralidade de registros, realizar empacotamento e desempacotamento nos bits recuperáveis embaralhados permutados para produzir o conjunto de bits desintercalado sem acessar a memória 72. Em algumas modalidades, a intercalação do conjunto de bits na pluralidade de registros, tal como, por meio da unidade da cadeia de
40 / 62 processamento de comunicação 32, inclui: realizar empacotamento e desempacotamento nos bits do conjunto de bits na pluralidade de registros; permutar os bits empacotados e desempacotados em cada registro da pluralidade de registros; e embaralhar os bits permutados empacotados e desempacotados em cada registro da pluralidade de registros para produzir o conjunto de bits intercalado sem acessar a memória. Em algumas modalidades, o um do conjunto de bits desintercalado e do conjunto de bits intercalado produzido pelo rearranjo do conjunto de bits na pluralidade de registros representa uma matriz de transposição de uma matriz associada com o conjunto de bits carregado. Em algumas modalidades, a gravação do um do conjunto de bits desintercalado e do conjunto de bits intercalado, em paralelo, proveniente da pluralidade de registros na memória 72, tal como por meio da unidade da cadeia de processamento de comunicação 32, inclui armazenar o um do conjunto de bits desintercalado e do conjunto de bits intercalado na memória 72 em endereços de memória determinados pelo menos pelo cálculo de um endereço base mais um deslocamento, o deslocamento com base, pelo menos em parte, em um comprimento da sequência de bits de saída da combinação de taxa e uma ordem de modulação para um bloco de código da transmissão sem fio.
[0074] Embora os processos expostos sejam descritos em relação ao nó de rede 16, entende-se que, em algumas modalidades, tais processos de desintercalação e intercalação podem ser realizados pelo WD 22, pela unidade da cadeia de processamento de sinal 34, pelo processador 86 e/ou pela memória 88, em vez disto.
[0075] A figura 9 é um fluxograma de um processo exemplar em um dispositivo sem fio 22 de acordo com algumas modalidades da presente descrição. O método inclui realizar (bloco S142), tal como por meio da unidade da cadeia de processamento de sinal 34, uma de descombinação de taxa e de combinação de taxa de uma sequência de bits para um bloco de
41 / 62 código associado com uma comunicação sem fio pelo menos pelo processamento iterativo dos bits da sequência de bits. O método inclui, para cada iteração, antes do processamento dos bits, pré-calcular (bloco S144), tal como por meio da unidade da cadeia de processamento de sinal 34, um valor de posição inicial e um número do processamento de bit, o valor de posição inicial representando um bit inicial dos bits a serem processados na respectiva iteração, e o número do processamento de bit representando um número total de bits a serem processados na respectiva iteração.
[0076] Em algumas modalidades, se a uma da descombinação de taxa e da combinação de taxa for descombinação de taxa, a sequência de bits inclui os bits recuperáveis codificados. Em algumas modalidades, se a uma da descombinação de taxa e da combinação de taxa for combinação de taxa, a sequência de bits inclui os bits codificados. Em algumas modalidades, a uma da descombinação de taxa e da combinação de taxa é realizada por pelo menos um processador 86 do dispositivo de comunicação (por exemplo, WD 22) sem realizar nenhuma operação de divisão. Em algumas modalidades, a uma da descombinação de taxa e da combinação de taxa é realizada por pelo menos um processador 86, tal como por meio da unidade da cadeia de processamento de sinal 34, do dispositivo de comunicação (por exemplo, WD 22) sem realizar nenhuma operação de módulo. Em algumas modalidades, o pré-cálculo do valor de posição inicial e do número do processamento de bit para cada iteração permite que o pelo menos um processador 86 realize a uma da descombinação de taxa e da combinação de taxa sem realizar nenhuma operação de divisão. Em algumas modalidades, a uma da descombinação de taxa e da combinação de taxa é realizada em pelo menos uma de uma cadeia de processamento de verificação de paridade de baixa densidade, LDPC e uma cadeia de processamento polar. Em algumas modalidades, para a combinação de taxa, o processamento iterativo dos bits da sequência de bits compreende pelo menos um de repetir e puncionar os bits para combinar um
42 / 62 número total de bits associados com os recursos atribuídos para a comunicação sem fio; e para a descombinação de taxa, o processamento iterativo dos bits da sequência de bits compreende combinar os bits para produzir uma sequência de bits recuperáveis descombinados na taxa. Em algumas modalidades, o pré-cálculo, tal como por meio da unidade da cadeia de processamento de sinal 34, do valor de posição inicial e do número do processamento de bit é com base, pelo menos em parte, em: um comprimento do bloco de código, um número total de bits a serem processados para a uma de descombinação de taxa e de combinação de taxa da sequência de bits para o bloco de código, e uma posição inicial de um buffer circular, a posição inicial sendo determinada, pelo menos em parte, por uma versão de redundância da comunicação sem fio. Em algumas modalidades, o pré- cálculo, tal como por meio da unidade da cadeia de processamento de sinal 34, do valor de posição inicial e do número do processamento de bit compreende determinar o número do processamento de bit com base, pelo menos em parte, em: o valor de posição inicial da respectiva iteração, um comprimento do bloco de código, um número total de bits a serem processados para a uma de descombinação de taxa e de combinação de taxa da sequência de bits para o bloco de código, e uma posição inicial de um buffer circular, a posição inicial sendo determinada, pelo menos em parte, por uma versão de redundância da comunicação sem fio.
[0077] Embora os processos expostos sejam descritos em relação ao WD 22, entende-se que, em algumas modalidades, tais processos de descombinação de taxa e combinação de taxa podem ser realizados pelo nó de rede 16, pela unidade da cadeia de processamento de comunicação 32, pelo processador 70 e/ou pela memória 72, em vez disto.
[0078] Tendo descrito no geral algumas modalidades para desintercalação/intercalação e descombinação/combinação de taxa, uma descrição mais detalhada de algumas das modalidades é descrita a seguir.
43 / 62
[0079] Antes de descrever tais detalhes, pode ser considerado que, em algumas modalidades, para um decodificador e desintercalador (lado do receptor), o exemplo de processamento pode ser realizado nos bits recuperáveis. Por outro lado, em algumas modalidades, para o codificador (lado do transmissor), o exemplo de processamento pode ser realizado nos bits (não bits recuperáveis) e, para o intercalador (lado do transmissor), o processamento pode ser realizado nos bits codificados (mas, não nos bits recuperáveis). Em algumas modalidades, o lado do receptor (decodificador, desintercalador e descombinador de taxa) está realizando processamento nos bits recuperáveis codificados; ao mesmo tempo, o lado do transmissor (codificador, intercalador combinador de taxa) está realizando processamento nos bits ou bits codificados (mas, não nos bits recuperáveis). Declarado de uma outra maneira, no lado do transmissor, a sequência de processamento de acordo com algumas modalidades desta descrição, que pode ser realizada pela unidade da cadeia de processamento de comunicação 32, inclui os bits (por exemplo, bits em um bloco de código) inseridos em um codificador; combinação de taxa sendo realizada nos bits codificados e, então, intercalação sendo realizada nos bits codificados e nos bits combinados na taxa (veja, por exemplo, a figura 1). No lado do receptor, a sequência de processamento de acordo com algumas modalidades desta descrição, que pode ser realizada pela unidade da cadeia de processamento de sinal 34, pode incluir bits recuperáveis desmapeados em razão de probabilidade logarítmica (LLR) sendo desintercalados, então, descombinados na taxa e, então, decodificados (por exemplo, para produzir os bits do bloco de código). Os bits recuperáveis desmapeados em LLR podem ser considerados os bits que representam valores de probabilidade/valores recuperáveis, tais como, por exemplo, valores de probabilidade da LDPC. Desintercalação e Intercalação
[0080] Algumas modalidades para desintercalação/intercalação, que
44 / 62 podem ser realizadas pela unidade da cadeia de processamento de comunicação 32 e/ou pela unidade da cadeia de processamento de sinal 34, são descritas a seguir. Desintercalação em uma Cadeia do Processo de Decodificação LDPC
[0081] A desintercalação pode ser realizada de acordo com o pseudocódigo a seguir, em que E pode denotar um número total de bits “recuperáveis” recebidos para um bloco de código (CB), Q pode denotar a ordem de modulação, e a operação pode desintercalar a sequência de bit f0, f1, f2, ..., fE-1 para a sequência de bit e0, e1, e2, ..., eE-1. int m =0; para (i=0; i<E/Q; i++) { para(j=0; j<Q; j++) { k = j*(E/Q) + i; f[k] = e[m++]; } }
[0082] A desintercalação pode incluir desintercalação de um conjunto de bits recuperáveis codificados. O conjunto de bits recuperáveis codificados a ser desintercalado pode corresponder à sequência de bit f0, f1, f2, ..., fE-1 e a sequência de bit e0, e1, e2, ..., eE-1 pode denotar a sequência de bit de saída da desintercalação. A desintercalação pode ser realizada em um receptor (por exemplo, em DL), tais como o WD 22 e/ou a unidade da cadeia de processamento de sinal 34.
[0083] Em algumas modalidades desta descrição, a operação exposta associada com o pseudocódigo pode ser realizada em paralelo pelo uso, por exemplo, de processadores, tal como o processador 86. Na seguinte discussão, um exemplo de processador (por exemplo, processador 86 no WD 22) pode incluir oito (8) registros, e cada registro pode conter 512 bits ou bits recuperáveis. Em tais modalidades, o registro pode ser capaz de processar pelo menos 16 valores recuperáveis de acordo com as técnicas descritas nesta descrição. Em algumas modalidades, o registro pode ser capaz de processar
45 / 62 mais do que 16 valores recuperáveis. Em outras modalidades, os processadores com um diferente arranjo de arquitetura de registro podem ser usados para realizar as técnicas nesta descrição. No exemplo do processo e no exemplo de processador, as seguintes etapas podem ser realizadas pelo processador (processador 86 no WD 22) para desintercalação de acordo com algumas modalidades desta descrição: 1) carregar bits correspondentes a valores recuperáveis em paralelo nos registros do processador; 2) embaralhar os valores recuperáveis por faixa; 3) permutar por registro; 4) desempacotamento e empacotamento; e 5) armazenar/gravar o resultado em paralelo, da forma descrita com mais detalhes a seguir. Carregar Valores Recuperáveis em Paralelo para os Registros
[0084] Neste exemplo, considere que oito (8) registros no processador (por exemplo, processador 86) podem ser usados para realizar a desintercalação em paralelo. A primeira etapa pode ser para carregar valores recuperáveis (cada valor recuperável pode ser representado por 8 bits neste exemplo) nos registros em paralelo. Os endereços iniciais para registros 0, 1, 2, …, e 7 são indicados na tabela a seguir (Tabela 2) como endereços 0, 64, 128, …, 448, respectivamente.
Tabela 2. Oito registros carregados com 512 valores recuperáveis, em que cada valor recuperável pode ser representado por 8 bits (dígitos binários). Embaralhar Valores Recuperáveis Por Faixa
[0085] Depois que os valores recuperáveis forem carregados em paralelo nos registros, os valores recuperáveis podem ser embaralhados por faixa. Neste exemplo, cada registro inclui 4 faixas, e cada faixa pode ser capaz de manter 16 valores recuperáveis, da forma mostrada nas tabelas
46 / 62 representadas na figura 10, Tabelas 3 e 4. Entende-se que o número de faixas pode variar de acordo com o desenho de hardware em particular. Além do mais, os registros podem ser considerados como organizados em faixas. Isto é, para este exemplo, considerando que a ordem de modulação é 8 (modulação 256QAM), para cada faixa em cada registro, o embaralhamento dos valores recuperáveis pode ser realizado, tal como por meio da unidade da cadeia de processamento de sinal 34. A Tabela 3 mostra um exemplo dos valores recuperáveis antes do embaralhamento para registro 0, e a Tabela 4 mostra o resultado do embaralhamento para registro 0 de acordo com as técnicas nesta descrição. A Tabela 3 mostra os valores recuperáveis antes do embaralhamento para registro 0, ao mesmo tempo em que a Tabela 4 mostra os resultados de embaralhamento dos valores recuperáveis para registro 0 (considerando que a ordem de modulação Q é igual a 8).
[0086] A Tabela 4 ilustra grupos dos valores recuperáveis embaralhados com sombreamento. Como pode-se ver por uma comparação da Tabela 3 e da Tabela 4 na figura 10, o embaralhamento por faixa pode resultar em um rearranjo de colunas de registro de uma maneira alternada. Por exemplo, a coluna com endereço de registro 8 (veja a Tabela 3) é embaralhada entre a primeira coluna (com endereço de registro 0) e a segunda coluna (com endereço de registro 1). As colunas na segunda metade do registro 0 podem ser intercaladas com as colunas na primeira metade do registro 0 de uma maneira alternada, com o resultado mostrado na Tabela 4. Em algumas modalidades, o embaralhamento por faixa é realizado sem bits nas faixas que cruzam através de uma faixa para uma faixa diferente. As Tabelas 3 e 4 ilustram o embaralhamento sendo realizado no registro 0 como um exemplo. Os outros registros, registros 1-7, também podem ser embaralhados por faixa de uma maneira similar.
[0087] Em algumas modalidades, o embaralhamento pode ser executado ou realizado responsivo às instruções de embaralhamento de
47 / 62 registro para embaralhar os conteúdos dos registros de acordo com as técnicas aqui descritas. Em algumas modalidades, as instruções de embaralhamento podem ser parte de um conjunto de instruções de máquina suportado pela arquitetura do processador (por exemplo, processador 86). Permutar Por Registro
[0088] Para a desintercalação, depois que os conteúdos do registro forem embaralhados por faixa, como exposto, o processador (por exemplo, processador 86), tal como por meio da unidade da cadeia de processamento de sinal 34, pode realizar permuta através de faixas. O resultado do exemplo de permuta realizado no registro 0, como um exemplo, é mostrado em uma tabela na figura 11, Tabela 5. A Tabela 5 mostra os valores recuperáveis para registro 0 depois da permuta através de 4 faixas.
[0089] Como pode ser visto por uma comparação da Tabela 4 e da Tabela 5, a permuta/permutação pode ser realizada pelo arranjo e/ou rearranjo, no respectivo registro, dos valores recuperáveis em uma ordem ou sequência diferente, que pode ser uma ordem pré-determinada ou sequência pré-determinada, de acordo com as técnicas aqui descritas. No exemplo mostrado na Tabela 5, a permuta é realizada por mover os valores recuperáveis em cada grupo do valor recuperável (sombreamento indica o agrupamento) no registro, através dos faixas quando apropriado, de maneira tal que os valores recuperáveis no respectivo grupo terminem no mesmo faixa do registro. Em outras modalidades, a permuta pode ser realizada de outras maneiras. A Tabela 5 ilustra a permuta sendo realizada no registro 0 como um exemplo. Os outros registros, registros 1-7, também podem ser permutados por registro de uma maneira similar.
[0090] Em algumas modalidades, a permuta pode ser executada ou realizada responsivo às instruções de registro para arranjar e/ou rearranjar os conteúdos dos registros de acordo com as técnicas aqui descritas. Em algumas modalidades, as instruções de registro podem ser parte de um conjunto de
48 / 62 instruções de máquina suportado pela arquitetura do processador (por exemplo, processador 86). Em algumas modalidades, as instruções de registro podem incluir instruções de permutar/permutacionar suportadas pela arquitetura do processador 86. Em outras modalidades, a permuta/permutação pode ser executada de acordo com outros tipos de instruções de máquina, tal como, por exemplo, uma sequência das operações de deslocamento e/ou lógicas realizadas nos conteúdos do registro. Desempacotamento e Empacotamento
[0091] Depois da permuta por registro, como exposto, cada faixa de um registro pode ter dois grupos de valores recuperáveis, com cada grupo tendo 8 valores recuperáveis em ordem. Da forma aqui usada, em algumas modalidades, o termo “em ordem” pode indicar uma ordem que é desejada ou visada para os resultados da desintercalação (ou da intercalação). Por exemplo, para desintercalação, uma ordem de saída desejada pode ser 0, 8, 16, 24.... com a distância do índice entre dois valores recuperáveis adjacentes sendo 8. Uma tabela na figura 12, Tabela 6, é mostrada para ilustrar tal agrupamento. A Tabela 6 mostra a representação dos grupos do valor recuperável para 8 registros.
[0092] Como pode ser visto na Tabela 6, cada faixa em cada registro tem dois grupos de valores recuperáveis (por exemplo, grupos B00 e B01), cada grupo sendo denotado por Bn, em que n é um número que representa um número de grupo de um grupo de valores recuperáveis. Por exemplo, “B00” em faixa 0 do registro 0 indica um grupo de valores recuperáveis indicados na Tabela 5, como valores recuperáveis 0, 8, 16, 24, 32, 40, 48, e 56.
[0093] Para a clarificação adicional dos grupos do valor recuperável resultantes da permuta por registro, a Tabela 7 é mostrada na figura 13. A Tabela 7 ilustra a relação entre o nome do grupo (da Tabela 6) e seu conteúdo para o registro 0, que corresponde à Tabela 5. Em outras palavras, a Tabela 7 é uma ilustração visual alternativa dos resultados da permuta por registro
49 / 62 (descrito para a etapa exposta) mostrada na Tabela 5 (figura 11), vinculando nos números do grupo do valor recuperável para registro 0 da Tabela 6 (figura 12). A Tabela 7 (figura 13) mostra a relação entre o nome do grupo e seu conteúdo para registro 0.
[0094] Tendo estabelecido o relacionamento entre o nome do grupo do valor recuperável, Bn, e os conteúdos do registro depois da permuta por registro, o desempacotamento e o empacotamento nesta etapa são descritos com mais detalhes.
[0095] O desempacotamento e o empacotamento podem incluir desempacotamento e empacotamento dos conteúdos do registro, representados pela Tabela 6, de forma que o registro 0 contenha a coluna 0, o registro 1 contenha a coluna 1, …, o registro 7 contenha a coluna 7. Em algumas modalidades, esta operação pode ser considerada como (ou pode ser similar a) uma transposição de uma matriz. Em algumas modalidades, o desempacotamento e o empacotamento podem resultar em uma matriz de transposição de uma matriz associada com o conteúdo/bits nos registros. Por exemplo, o desempacotamento e o empacotamento podem ser realizados para transpor a matriz que representa o arranjo dos valores recuperáveis/bits recuperáveis depois da etapa de permuta exposta. Esta característica da matriz de transposição pode ser observada por uma comparação visual da Tabela 8 (figura 14) (que mostra os resultados do exemplo da etapa de desempacotamento e empacotamento), com a Tabela 6 exposta (mostrando os resultados do exemplo da etapa de permuta). O resultado do desempacotamento e do empacotamento neste exemplo é mostrado na Tabela 8 da figura 14. A Tabela 8 mostra os conteúdos dos registros resultantes depois das operações de empacotamento e desempacotamento entre registros.
[0096] Tendo mostrado um conteúdo de registro resultante desejado para a(s) etapa(s) de desempacotamento e empacotamento neste exemplo, um exemplo do desempacotamento e do empacotamento que pode ser executado
50 / 62 e/ou realizado na arquitetura de registro do processador (por exemplo, processador 86) é descrito a seguir.
[0097] Os 8 registros neste exemplo podem ser divididos em 4 grupos: * Grupo0: Registros 0 e 1 * Grupo1: Registros 2 e 3 * Grupo2: Registros 4 e 5 * Grupo3: Registros 6 e 7
[0098] Para cada grupo, as operações de desempacotamento e empacotamento podem ser realizadas para o processo de desintercalação, da forma mostrada a seguir, por exemplo. A seguir, o grupo 0 é usado como um exemplo. Para o grupo 0, registro 0, cada byte do registro 0 (proveniente da Tabela 5 exposta) pode ser denotado de acordo com uma tabela na figura 15, Tabela 9. A Tabela 9 mostra os conteúdos de registro 0 depois da permuta (denotação alternativa para os conteúdos da Tabela 5). Similarmente, para o grupo 0, registro 1, cada byte do registro 1 pode ser denotado como segue na Tabela 10 (figura 15). A Tabela 10 mostra os conteúdos do registro 1 depois da permuta. Depois de realizar o desempacotamento e o empacotamento, o conteúdo de registro 0 neste exemplo deve corresponder à Tabela 11 (figura 15). A Tabela 11 mostra os conteúdos do registro 0 depois do desempacotamento e do empacotamento, de acordo com esta modalidade de exemplo.
[0099] Depois de realizar o desempacotamento e o empacotamento, o conteúdo do registro 1 neste exemplo deve corresponder à Tabela 12 na figura 16 neste exemplo. A Tabela 12 (figura 16) mostra os conteúdos do registro 1 depois do desempacotamento e do empacotamento.
[00100] Em algumas modalidades, o desempacotamento e o empacotamento podem ser executados ou realizados responsivo às instruções de registro para arranjar e/ou rearranjar os conteúdos dos registros de acordo
51 / 62 com as técnicas aqui descritas. Em algumas modalidades, as instruções de registro podem ser parte de um conjunto de instruções de máquina suportado pela arquitetura do processador (por exemplo, processador 86). Em algumas modalidades, as instruções de registro podem incluir as instruções de máquina de desempacotamento e empacotamento suportadas pela arquitetura de processador 86. Em outras modalidades, o desempacotamento e o empacotamento podem ser executados de acordo com outros tipos de instruções de máquina que podem ser usadas para rearranjar e/ou arranjar os conteúdos do registro de acordo com as técnicas nesta descrição.
[00101] Em algumas modalidades, depois que os valores recuperáveis forem carregados em paralelo nos registros, o embaralhamento, a permuta e o desempacotamento e o empacotamento supradescritos podem ser realizados nos registros sem acessar memória, por exemplo, a memória 86. Em algumas modalidades, pelo carregamento dos valores recuperáveis em paralelo e realização da intercalação/desintercalação na arquitetura de registro do processador (por exemplo, processador 86 ou processador 70), sem acessar memória (por exemplo, memória 86 ou memória 72), a velocidade de processamento para desintercalação/intercalação pode ser melhorada, se comparada com as técnicas existentes de desintercalação/intercalação nas quais os bits recuperáveis/bits para desintercalação/intercalação são calculados sequencialmente. Além do mais, a arquitetura de registro é parte do processador e, portanto, é mais rápida de acessar do que a memória, que é externa ao processador. Assim, a desintercalação/intercalação nos registros sem acessar memória de acordo com algumas modalidades desta descrição é mais rápida do que a realização da desintercalação/intercalação usando a memória. Armazenar o Resultado em Paralelo
[00102] Depois da desintercalação pelo carregamento dos valores recuperáveis nos registros em paralelo, embaralhamento dos valores
52 / 62 recuperáveis, permuta dos valores recuperáveis e desempacotamento e empacotamento de acordo com as técnicas descritas nesta descrição, o conteúdo de registro resultante pode ser armazenado/gravado na memória (por exemplo, memória 88) em paralelo. No exemplo aqui descrito, a Tabela 8 representa o resultado da desintercalação, que pode ser armazenado na memória em paralelo.
[00103] Em algumas modalidades, os endereços iniciais para os registros 0, 1, 2, …, 7, são baseAddress + 0, baseAddress + E/Q, baseAddress + 2E/Q, …, 7E/Q, respectivamente.
[00104] Em algumas modalidades, depois que os resultados da desintercalação neste exemplo (por exemplo, conteúdo do registro depois do embaralhamento, permuta e empacotamento e desempacotamento) forem gravados na memória (por exemplo, memória 88), os endereços iniciais para registro 0, 1, 2, …, 7, podem ser modificados como baseAddress + 64, baseAddress + E/Q +64, baseAddress + 2E/Q + 64, …, 7E/Q + 64, respectivamente. Assim, em algumas modalidades, a gravação ou o armazenamento dos resultados na memória em paralelo podem incluir determinar os endereços de memória nos quais gravar pelo cálculo de um endereço base mais um deslocamento, em que o deslocamento pode ser com base, pelo menos em parte, em um comprimento da sequência de bits de saída da combinação de taxa, E (ou um número total de bits recuperáveis no bloco de código) e a ordem de modulação, Q, do bloco de código. Outras Considerações
[00105] Em algumas modalidades, os processos supradescritos (por exemplo, carregamento dos valores recuperáveis nos registros em paralelo, embaralhamento dos valores recuperáveis, permuta dos valores recuperáveis e desempacotamento e empacotamento dos valores recuperáveis) podem ser repetidos até que o número de valores recuperáveis remanescentes do sinal recebido fique menor do que o número de bytes que podem ser mantidos nos
53 / 62 registros, neste exemplo, 512 bytes. Em algumas modalidades, considerando que o número de valores recuperáveis remanescentes pode ser expressado como M = k1*256 + k2*64 + k3*32 + k4*16 + k5*8, em que ki, i=1, 2, 3, 4, 5, é 0 ou 1. Para cada valor de ki que não é igual a 0, o processamento em paralelo pode ser realizado de uma maneira similar para o correspondente número de valores recuperáveis a serem desintercalados.
[00106] Em algumas modalidades, o processo de intercalação é realizado como um reverso do processo de desintercalação e/ou é realizado nos bits codificados, em vez de nos bits recuperáveis (por exemplo, já que os bits recuperáveis podem ser considerados, em alguma modalidade, como uma saída de demodulação no receptor). Tendo descrito um exemplo de modalidade para desintercalação de acordo com as técnicas nesta descrição, um exemplo de descombinação e combinação de taxa é descrito a seguir. Descombinação de Taxa e Combinação de Taxa
[00107] Em algumas modalidades, a combinação de taxa pode ser considerada como um processo em um transmissor de repetir os bits cifrados/codificados se os elementos de recurso físico atribuídos para a transmissão forem maiores do que os bits cifrados/codificados. Em algumas modalidades, a descombinação de taxa pode ser considerada um processo em um receptor de combinação dos bits cifrados/codificados repetidos para obter os bits cifrados/codificados originais ou, em vez disto, os bits recuperáveis.
[00108] Por exemplo, se houver 1.024 bits codificados a serem transmitidos e os elementos de recurso atribuídos puderem acomodar 2.048 bits codificados, a combinação de taxa pode incluir repetir os bits codificados para garantir que todos os elementos de recurso atribuídos sejam usados. Assim, neste exemplo, a entrada seria os 1.024 bits codificados e a saída da combinação de taxa seria 2.048 bits codificados com uma repetição. Em um
54 / 62 exemplo, o pseudocódigo para a combinação de taxa no transmissor pode ser como segue: int BitStart = 0; int j = 0; enquanto (BitStart < E) { int numberOfBitToRepeat = Math.min((Ncb-k0),(E - BitStart)); // Iteração para operação de repetição de bits para (int i = 0; i < numberOfBitToRepeat; i++) { e[j] = d[i + BitStart]; j++; } k0 = 0; BitStart += numberOfBitToRepeat; }.
[00109] Por outro lado, a descombinação de taxa inclui realizar o reverso da combinação de taxa, já que o mesmo pode ser considerado parte do processamento de sinal para o receptor do sinal transmitido. A descombinação de taxa pode incluir combinar todos os bits recuperáveis codificados repetidos para produzir a sequência original dos bits recuperáveis codificados. Pelo uso do mesmo exemplo usado para descrever a combinação de taxa, a entrada na descombinação de taxa seria 2.048 bits recuperáveis codificados com uma repetição, e a saída da descombinação de taxa seria 1.024 bits recuperáveis codificados.
[00110] Em uma modalidade, o pseudocódigo para a descombinação de taxa no receptor pode ser como segue: int softStart = 0; enquanto (softStart < E) { int numberOfSoftToCombine = Math.min((Ncb - k0),(E - softStart)); // Iteração para operação de combinação de bits recuperáveis
55 / 62 para (int i = 0; i < numberOfSoftToCombine; i++) { d[i + k0] += e[i + softStart]; } k0 = 0; softStart += numberOfSoftToCombine; }.
[00111] Tendo, no geral, descrito algumas modalidades para combinação de taxa e descombinação de taxa, as modalidades adicionais são descritas a seguir para ilustrar as técnicas providas nesta descrição para, como exemplos, uma cadeia do processo LDPC e uma cadeia do processo Polar. Cadeia do Processo LDPC Descombinação de Taxa na Cadeia do Processo de Decodificação LDPC
[00112] Em uma modalidade para a descombinação de taxa, k0 pode denotar a posição inicial dos bits “recuperáveis” recebidos que pode ser determinada pela versão redundante/de redundância, e Ncb pode denotar o comprimento do CB. Um número total de bits “recuperáveis” para este CB pode ser denotado por E. Para evitar as operações de módulo e de divisão de acordo com as técnicas nesta descrição, antes de realizar a combinação recuperável para cada iteração, um pré-cálculo pode ser realizado para determinar o número de bits recuperáveis que devem ser usados para a operação de combinação. Em um exemplo, o pseudocódigo pode ser como segue: numberOfSoftToCombine = min{(Ncb – k0), (E – softStart)}, em que softStart é a posição inicial dos bits recuperáveis a serem combinados para cada iteração. Seu valor inicial é definido em zero antes do laço enquanto.
[00113] O pseudocódigo para a descombinação de taxa pode ser como segue: int softStart = 0; enquanto (softStart < E) { int numberOfSoftToCombine = Math.min((Ncb - k0),(E -
56 / 62 softStart)); // Iteração para operação de combinação de bits recuperáveis para (int i = 0; i < numberOfSoftToCombine; i++) { d[i + k0] += e[i + softStart]; } k0 = 0; softStart += numberOfSoftToCombine; }.
[00114] Como pode ser visto no pseudocódigo exposto, vantajosamente, a operação de módulo (que exige uma operação de divisão) pode ser eliminada (se comparada com o pseudocódigo supradescrito na seção com o cabeçalho “Seleção de Bit”).
[00115] Em algumas modalidades, a posição inicial, softStart, e o número de bits recuperáveis a serem combinados, numberOfSoftToCombine, para cada iteração podem ser computados/pré-calculados antes do processo de descombinação de taxa iterativo. Em decorrência disto, o pseudocódigo exposto pode ser implementado em paralelo com um processador (por exemplo, processador 86). Combinação de Taxa na Cadeia do Processo de Codificação LDPC
[00116] Em uma modalidade, o pseudocódigo para a combinação de taxa de acordo com as técnicas nesta descrição pode ser como segue: int BitStart = 0; int j = 0; enquanto (BitStart < E) { int numberOfBitToRepeat = Math.min((Ncb-k0),(E - BitStart)); // Iteração para operação de repetição de bits para (int i = 0; i < numberOfBitToRepeat; i++) { e[j] = d[i + BitStart]; j++; } k0 = 0
57 / 62 BitStart += numberOfBitToRepeat; }.
[00117] A combinação de taxa pode ser realizada pelo dispositivo de transmissão, tal como, por exemplo, o processador 70 do nó de rede 16 para uma comunicação DL. Cadeia do Processo Polar
[00118] Em algumas modalidades, a descrição das técnicas aqui expostas para descombinação de taxa e combinação de taxa pode ser realizada em uma cadeia do processo de Decodificação Polar, além da decodificação LDPC supradescrita. Por exemplo, se o número total de bits codificados brutos, E, for maior do que o comprimento do bloco de código Polar, N, o pseudocódigo para gerar a sequência de bit de saída da combinação de taxa pode ser como segue: int k =0; enquanto (k < E) { e[k] = d[k % N]; k++; }
[00119] Similarmente, o pseudocódigo para descombinação de taxa no receptor pode ser como segue, como segue: int k =0; enquanto (k < E) { d[k % N]+=e[k]; k++; }. Descombinação de Taxa na Cadeia do Processo de Decodificação Polar
[00120] Entretanto, para eliminar o uso da operação de módulo (que, no geral, exige uma operação de divisão) o pseudocódigo exposto para descombinação de taxa pode, em vez disto, ser implementado de acordo com as técnicas nesta descrição, como segue: int softStart = 0; enquanto (softStart < E) {
58 / 62 int numberOfSoftToCombine = Math.min(N,(E - softStart)); // Iteração para operação de combinação de bits recuperáveis para (int i = 0; i < numberOfSoftToCombine; i++) { d[i] += e[i + softStart]; } softStart += numberOfSoftToCombine; }.
[00121] Em uma modalidade, para acelerar o processo, a posição inicial, softStart, e o número de bits recuperáveis a serem combinados, numberOfSoftToCombine, para cada iteração podem ser computados/pré- calculados antes do processo de descombinação de taxa iterativo. Em decorrência disto, em algumas modalidades, o pseudocódigo exposto para descombinação de taxa em uma cadeia do processo de Decodificação Polar pode ser implementado em paralelo com o processador (por exemplo, processador 86). Combinação de Taxa na Cadeia do Processo de Decodificação Polar
[00122] Em uma modalidade, o pseudocódigo para combinação de taxa de acordo com as técnicas nesta descrição pode ser implementado como segue: int BitStart = 0; int j = 0; enquanto (BitStart < E) { int numberOfBitToRepeat = Math.min(N,(E - BitStart)); // Iteração para operação de repetição de bits para (int i = 0; i < numberOfBitToRepeat; i++) { e[j] = d[i + BitStart]; j++; } BitStart += numberOfBitToRepeat; }.
[00123] Em algumas modalidades, o pseudocódigo exposto para combinação de taxa em uma cadeia do processo de Decodificação Polar pode ser implementado em paralelo com o processador (por exemplo, processador
59 / 62 70).
[00124] Como pode ser visto nos exemplos providos anteriormente, a combinação de taxa e a descombinação de taxa, bem como a desintercalação e a intercalação podem ser implementadas para eliminar vantajosamente as operações de divisão e de módulo e/ou para serem executadas integralmente (ou pelo menos substancialmente) na arquitetura de registro, de maneira tal que os cálculos possam ser processados muito mais rápido, se comparados com o existente processamento de sinal, que pode ser particularmente benéfico para padrões sem fio, tal como NR, com tempos de intervalo muito menores, se comparados com outros padrões, tal como LTE. As técnicas nesta descrição podem permitir que dispositivos, tais como WDs 22, suportem as transmissões de processamento e recepção de uma maneira muito rápida, se comparado com as técnicas de processamento existentes.
[00125] Como será percebido pelos versados na técnica, os conceitos aqui descritos podem ser incorporados como um método, sistema de processamento de dados e/ou produto de programa de computador. Desta maneira, os conceitos aqui descritos podem tomar a forma de uma modalidade integralmente em hardware, uma modalidade integralmente em software ou uma modalidade que combina aspectos de software e de hardware, todos, no geral, aqui referidos como um “circuito” ou um “módulo”. Além do mais, a descrição pode tomar a forma de um produto de programa de computador em uma mídia de armazenamento usável por computador tangível que tem código de programa de computador incorporado na mídia que pode ser executado por um computador. Qualquer mídia legível por computador tangível adequada pode ser utilizada, incluindo discos rígidos, CD-ROMs, dispositivos de armazenamento eletrônicos, dispositivos de armazenamento ópticos, ou dispositivos de armazenamento magnéticos.
[00126] Algumas modalidades são aqui descritas em relação às ilustrações de fluxograma e/ou diagramas de blocos de métodos, sistemas e
60 / 62 produtos de programa de computador. Será entendido que cada bloco das ilustrações de fluxograma e/ou diagramas de blocos e combinações de blocos nas ilustrações de fluxograma e/ou diagramas de blocos podem ser implementados por instruções de programa de computador. Estas instruções de programa de computador podem ser providas para um processador de um computador de uso geral, um computador de uso especial ou outro aparelho de processamento de dados programável para produzir uma máquina, de maneira tal que as instruções, que executam por meio do processador do computador ou outro aparelho de processamento de dados programável, criem meios para implementar as funções/atos especificados no bloco ou blocos do fluxograma e/ou do diagrama de blocos.
[00127] Estas instruções de programa de computador também podem ser armazenadas em uma memória ou mídia de armazenamento legível por computador que pode direcionar um computador ou outro aparelho de processamento de dados programável para funcionar de uma maneira em particular, de maneira tal que as instruções armazenadas na memória legível por computador produzam um artigo de fabricação que inclui meios de instrução que implementam a função/o ato especificados no bloco ou blocos do fluxograma e/ou diagrama de blocos. As instruções de programa de computador também podem ser carregadas sobre um computador ou outro aparelho de processamento de dados programável para fazer com que uma série de etapas operacionais seja realizada no computador ou outro aparelho programável para produzir um processo implementado em computador, de maneira tal que as instruções que executam no computador ou outro aparelho programável provejam as etapas para implementar as funções/os atos especificados no bloco ou blocos do fluxograma e/ou diagrama de blocos.
[00128] Deve-se entender que as funções/os atos notados nos blocos podem ocorrer fora da ordem notada nas ilustrações operacionais. Por exemplo, dois blocos mostrados em sucessão podem, de fato, ser executados
61 / 62 substancialmente concorrentemente ou os blocos podem ser algumas vezes executados na ordem reversa, dependendo da funcionalidade/dos atos envolvidos. Embora alguns dos diagramas incluam setas nos caminhos de comunicação para mostrar uma direção primária de comunicação, deve-se entender que a comunicação pode ocorrer na direção oposta às setas representadas.
[00129] O código de programa de computador para realizar as operações dos conceitos aqui descritos pode ser gravado em uma linguagem de programação orientada a objeto, tais como Java® ou C++. Entretanto, o código de programa de computador para realizar as operações da descrição também pode ser gravado em linguagens de programação procedimentais convencionais, tais como a linguagem de programação “C”. O código de programa pode executar integralmente no computador do usuário, parcialmente no computador do usuário, como um pacote de software independente, parcialmente no computador do usuário e parcialmente em um computador remoto ou integralmente no computador remoto. No último cenário, o computador remoto pode ser conectado no computador do usuário através de uma rede de área local (LAN) ou uma rede de área ampla (WAN), ou a conexão pode ser feita em um computador externo (por exemplo, através da Internet usando um Provedor de Serviço da Internet).
[00130] Muitas modalidades diferentes foram aqui descritas, em conexão com a descrição exposta e os desenhos. Será entendido que seria indevidamente repetitivo e ofuscante descreve literalmente e ilustrar toda combinação e subcombinação destas modalidades. Desta maneira, todas as modalidades podem ser combinadas em quaisquer maneira e/ou combinação, e a presente especificação, incluindo os desenhos, deve ser interpretada para constituir uma completa descrição escrita de todas as combinações e subcombinações das modalidades aqui descritas, e da maneira e do processo de fazer e usar as mesmas, e deve suportar as reivindicações a qualquer tal
62 / 62 combinação ou subcombinação.
[00131] Será percebido pelos versados na técnica que as modalidades aqui descritas não são limitadas ao que foi particularmente aqui mostrado e descrito anteriormente. Além do mais, a menos que menção tenha sido feita anteriormente ao contrário, deve-se notar que todos os desenhos anexos não estão em escala. Uma variedade de modificações e variações é possível à luz dos preceitos expostos sem fugir do escopo das seguintes reivindicações.

Claims (42)

1 / 12 REIVINDICAÇÕES
1. Método para um dispositivo de comunicação (16, 22) associado com uma transmissão sem fio, caracterizado pelo fato de que o método compreende: realizar (S134) um de um processo de decodificação com verificação de paridade de baixa densidade, LDPC, e um processo de codificação LDPC, o um do processo de decodificação LDPC e do processo de codificação LDPC compreendendo: carregar (S136) um conjunto de bits, em paralelo, em uma pluralidade de registros, o conjunto de bits sendo distribuído entre a pluralidade de registros; um de desintercalar e intercalar (S138) o conjunto de bits carregado na pluralidade de registros pelo rearranjo do conjunto de bits carregado em um de um conjunto de bits desintercalado e um conjunto de bits intercalado sem acessar uma memória (72, 88); e depois que o conjunto de bits for rearranjado no um do conjunto de bits desintercalado e do conjunto de bits intercalado na pluralidade de registros, gravar (S140) o um do conjunto de bits desintercalado e do conjunto de bits intercalado, em paralelo, proveniente da pluralidade de registros na memória (72, 88).
2. Método de acordo com a reivindicação 1, caracterizado pelo fato de que, se a uma da desintercalação e da intercalação for desintercalação, o conjunto de bits inclui um conjunto de bits recuperáveis codificados.
3. Método de acordo com a reivindicação 1 ou 2, caracterizado pelo fato de que, se a uma da desintercalação e da intercalação for intercalação, o conjunto de bits inclui um conjunto de bits codificados.
4. Método de acordo com qualquer uma das reivindicações 1 a 3, caracterizado pelo fato de que: cada um da pluralidade de registros é parte da arquitetura de
2 / 12 registro do processador de pelo menos um processador (70, 86) que realiza o um do processo de decodificação LDPC e do processo de codificação LDPC; e a memória (72, 88) é externa ao pelo menos um processador (70, 86) e separada por pelo menos um processador (70, 86) por meio de pelo menos um barramento.
5. Método de acordo com qualquer uma das reivindicações 1 a 4, caracterizado pelo fato de que realizar uma da desintercalação e da intercalação usando a pluralidade de registros sem acessar a memória (72, 88) é mais rápido do que realizar uma da desintercalação e da intercalação usando a memória (72, 88).
6. Método de acordo com qualquer uma das reivindicações 1 a 5, caracterizado pelo fato de que, se a uma da desintercalação e da intercalação for desintercalação, o conjunto de bits inclui um conjunto de bits recuperáveis, o conjunto de bits recuperáveis correspondendo a uma pluralidade de valores recuperáveis, cada um da pluralidade de valores recuperáveis correspondendo a um valor de probabilidade da LDPC.
7. Método de acordo com qualquer uma das reivindicações 1 a 6, caracterizado pelo fato de que a desintercalação do conjunto de bits na pluralidade de registros compreende: embaralhar os bits recuperáveis no conjunto de bits; permutar os bits recuperáveis embaralhados; e realizar empacotamento e desempacotamento nos bits recuperáveis embaralhados permutados para produzir o conjunto de bits desintercalado.
8. Método de acordo com qualquer uma das reivindicações 1 a 7, caracterizado pelo fato de que a desintercalação do conjunto de bits na pluralidade de registros compreende: em cada registro da pluralidade de registros:
3 / 12 embaralhar os bits recuperáveis do conjunto de bits sem faixas cruzadas do registro; e permutar os bits recuperáveis embaralhados através dos faixas do registro; e na pluralidade de registros, realizar empacotamento e desempacotamento nos bits recuperáveis embaralhados permutados para produzir o conjunto de bits desintercalado sem acessar a memória (72, 88).
9. Método de acordo com qualquer uma das reivindicações 1 a 8, caracterizado pelo fato de que a intercalação do conjunto de bits na pluralidade de registros compreende: realizar empacotamento e desempacotamento nos bits do conjunto de bits na pluralidade de registros; permutar os bits empacotados e desempacotados em cada registro da pluralidade de registros; e embaralhar os bits permutados empacotados e desempacotados em cada registro da pluralidade de registros para produzir o conjunto de bits intercalado sem acessar a memória (72, 88).
10. Método de acordo com qualquer uma das reivindicações 1 a 9, caracterizado pelo fato de que o um do conjunto de bits desintercalado e do conjunto de bits intercalado produzido pelo rearranjo do conjunto de bits na pluralidade de registros representa uma matriz de transposição de uma matriz associada com o conjunto de bits carregado.
11. Método de acordo com qualquer uma das reivindicações 1 a 10, caracterizado pelo fato de que a gravação do um do conjunto de bits desintercalado e do conjunto de bits intercalado, em paralelo, proveniente da pluralidade de registros na memória (72, 88) compreende: armazenar o um do conjunto de bits desintercalado e do conjunto de bits intercalado na memória (72, 88) em endereços de memória determinados pelo menos pelo cálculo de um endereço base mais um
4 / 12 deslocamento, o deslocamento com base, pelo menos em parte, em um comprimento da sequência de bits de saída da combinação de taxa e uma ordem de modulação para um bloco de código da transmissão sem fio.
12. Dispositivo de comunicação (16, 22) associado com uma transmissão sem fio, caracterizado pelo fato de que o dispositivo de comunicação (16, 22) compreende: pelo menos um processador (70, 86) que tem uma pluralidade de registros, o pelo menos um processador (70, 86) em comunicação com a memória (72, 88), o pelo menos um processador (70, 86) configurado para: realizar um de um processo de decodificação com verificação de paridade de baixa densidade, LDPC, e um processo de codificação LDPC, o um do processo de decodificação LDPC e do processo de codificação LDPC compreendendo: carregar um conjunto de bits, em paralelo, em uma pluralidade de registros, o conjunto de bits sendo distribuído entre a pluralidade de registros; uma da desintercalação e da intercalação do conjunto de bits carregado na pluralidade de registros pelo rearranjo do conjunto de bits carregado em um de um conjunto de bits desintercalado e um conjunto de bits intercalado sem acessar a memória (72, 88); e depois que o conjunto de bits for rearranjado no um do conjunto de bits desintercalado e do conjunto de bits intercalado na pluralidade de registros, gravar o um do conjunto de bits desintercalado e do conjunto de bits intercalado, em paralelo, proveniente da pluralidade de registros na memória (72, 88).
13. Dispositivo de comunicação (16, 22) de acordo com a reivindicação 12, caracterizado pelo fato de que, se a uma da desintercalação e da intercalação for desintercalação, o conjunto de bits inclui um conjunto de bits recuperáveis codificados.
5 / 12
14. Dispositivo de comunicação (16, 22) de acordo com a reivindicação 12 ou 13, caracterizado pelo fato de que, se a uma da desintercalação e da intercalação for intercalação, o conjunto de bits inclui um conjunto de bits codificados.
15. Dispositivo de comunicação (16, 22) de acordo com qualquer uma das reivindicações 12 a 14, caracterizado pelo fato de que: cada um da pluralidade de registros é parte da arquitetura de registro do processador de pelo menos um processador (70, 86) que realiza o um do processo de decodificação LDPC e do processo de codificação LDPC; e a memória (72, 88) é externa ao pelo menos um processador (70, 86) e separada por pelo menos um processador (70, 86) por meio de pelo menos um barramento.
16. Dispositivo de comunicação (16, 22) de acordo com qualquer uma das reivindicações 12 a 15, caracterizado pelo fato de que uma da desintercalação e da intercalação usando a pluralidade de registros sem acessar a memória (72, 88) é mais rápida do que a uma da desintercalação e da intercalação usando a memória (72, 88).
17. Dispositivo de comunicação (16, 22) de acordo com qualquer uma das reivindicações 12 a 16, caracterizado pelo fato de que, se a uma da desintercalação e da intercalação for desintercalação, o conjunto de bits inclui um conjunto de bits recuperáveis, o conjunto de bits recuperáveis correspondendo a uma pluralidade de valores recuperáveis, cada um da pluralidade de valores recuperáveis correspondendo a um valor de probabilidade da LDPC.
18. Dispositivo de comunicação (16, 22) de acordo com qualquer uma das reivindicações 12 a 17, caracterizado pelo fato de que o pelo menos um processador (70, 86) é adicionalmente configurado com instruções de máquina para desintercalar o conjunto de bits na pluralidade de
6 / 12 registros pelo: embaralhamento dos bits recuperáveis no conjunto de bits; permutação dos bits recuperáveis embaralhados; e realização de empacotamento e desempacotamento nos bits recuperáveis embaralhados permutados para produzir o conjunto de bits desintercalado.
19. Dispositivo de comunicação (16, 22) de acordo com qualquer uma das reivindicações 12 a 18, caracterizado pelo fato de que o pelo menos um processador (70, 86) é adicionalmente configurado com instruções de máquina para desintercalar o conjunto de bits na pluralidade de registros por: em cada registro da pluralidade de registros: embaralhamento dos bits recuperáveis do conjunto de bits sem faixas cruzadas do registro; e permuta dos bits recuperáveis embaralhados através dos faixas do registro; na pluralidade de registros, realizar empacotamento e desempacotamento nos bits recuperáveis embaralhados permutados para produzir o conjunto de bits desintercalado sem acessar a memória (72, 88).
20. Dispositivo de comunicação (16, 22) de acordo com qualquer uma das reivindicações 12 a 19, caracterizado pelo fato de que o pelo menos um processador (70, 86) é adicionalmente configurado com instruções de máquina para intercalar o conjunto de bits na pluralidade de registros por: realização do empacotamento e do desempacotamento nos bits do conjunto de bits na pluralidade de registros; permuta dos bits empacotados e desempacotados em cada registro da pluralidade de registros; e embaralhamento dos bits permutados empacotados e
7 / 12 desempacotados em cada registro da pluralidade de registros para produzir o conjunto de bits intercalado sem acessar a memória (72, 88).
21. Dispositivo de comunicação (16, 22) de acordo com qualquer uma das reivindicações 12 a 20, caracterizado pelo fato de que o um do conjunto de bits desintercalado e do conjunto de bits intercalado produzido pelo rearranjo do conjunto de bits na pluralidade de registros representa uma matriz de transposição de uma matriz associada com o conjunto de bits carregado.
22. Dispositivo de comunicação (16, 22) de acordo com qualquer uma das reivindicações 12 a 21, caracterizado pelo fato de que o pelo menos um processador (70, 86) é adicionalmente configurado com instruções de máquina para gravar o um do conjunto de bits desintercalado e do conjunto de bits intercalado, em paralelo, proveniente da pluralidade de registros na memória (72, 88) pelo: armazenamento do um do conjunto de bits desintercalado e do conjunto de bits intercalado na memória (72, 88) em endereços de memória determinados pelo menos pelo cálculo de um endereço base mais um deslocamento, o deslocamento com base, pelo menos em parte, em um comprimento da sequência de bits de saída da combinação de taxa e uma ordem de modulação para um bloco de código da transmissão sem fio.
23. Método para um dispositivo de comunicação (16, 22) associado com uma comunicação sem fio, caracterizado pelo fato de que o método compreende: realizar (S142) uma de descombinação de taxa e de combinação de taxa de uma sequência de bits para um bloco de código associado com uma comunicação sem fio pelo menos pelo processamento iterativo dos bits da sequência de bits, e para cada iteração, antes do processamento dos bits, pré- calcular (S144) um valor de posição inicial e um número do processamento de
8 / 12 bit, o valor de posição inicial representando um bit inicial dos bits a serem processados na respectiva iteração, e o número do processamento de bit representando um número total de bits a serem processados na respectiva iteração.
24. Método de acordo com a reivindicação 23, caracterizado pelo fato de que, se a uma da descombinação de taxa e da combinação de taxa for descombinação de taxa, a sequência de bits inclui os bits recuperáveis codificados.
25. Método de acordo com a reivindicação 23 ou 24, caracterizado pelo fato de que, se a uma da descombinação de taxa e da combinação de taxa for combinação de taxa, a sequência de bits inclui os bits codificados.
26. Método de acordo com qualquer uma das reivindicações 23 a 25, caracterizado pelo fato de que a uma da descombinação de taxa e da combinação de taxa é realizada por pelo menos um processador (70, 86) do dispositivo de comunicação (16, 22) sem realizar nenhuma operação de divisão.
27. Método de acordo com qualquer uma das reivindicações 23 a 26, caracterizado pelo fato de que a uma da descombinação de taxa e da combinação de taxa é realizada por pelo menos um processador (70, 86) do dispositivo de comunicação (16, 22) sem realizar nenhuma operação de módulo.
28. Método de acordo com a reivindicação 26, caracterizado pelo fato de que o pré-cálculo do valor de posição inicial e do número do processamento de bit para cada iteração permite que o pelo menos um processador (70, 86) realize a uma da descombinação de taxa e da combinação de taxa sem realizar nenhuma operação de divisão.
29. Método de acordo com qualquer uma das reivindicações 23 a 28, caracterizado pelo fato de que a uma da descombinação de taxa e da
9 / 12 combinação de taxa é realizada em pelo menos um de uma cadeia de processamento de verificação de paridade de baixa densidade, LDPC, e uma cadeia de processamento polar.
30. Método de acordo com qualquer uma das reivindicações 23 a 29, caracterizado pelo fato de que: para a combinação de taxa, o processamento iterativo dos bits da sequência de bits compreende pelo menos um de repetir e puncionar os bits para combinar um número total de bits associados com os recursos atribuídos para a comunicação sem fio; e para a descombinação de taxa, o processamento iterativo dos bits da sequência de bits compreende combinar os bits para produzir uma sequência de bits recuperáveis descombinados na taxa.
31. Método de acordo com qualquer uma das reivindicações 23 a 30, caracterizado pelo fato de que o pré-cálculo do valor de posição inicial e do número do processamento de bit é com base, pelo menos em parte, em: um comprimento do bloco de código, um número total de bits a serem processados para a uma de descombinação de taxa e de combinação de taxa da sequência de bits para o bloco de código, e uma posição inicial de um buffer circular, a posição inicial sendo determinada, pelo menos em parte, por uma versão de redundância da comunicação sem fio.
32. Método de acordo com qualquer uma das reivindicações 23 a 31, caracterizado pelo fato de que o pré-cálculo do valor de posição inicial e do número do processamento de bit compreende determinar o número do processamento de bit com base, pelo menos em parte, em: o valor de posição inicial da respectiva iteração, um comprimento do bloco de código,
10 / 12 um número total de bits a serem processados para a uma de descombinação de taxa e de combinação de taxa da sequência de bits para o bloco de código, e uma posição inicial de um buffer circular, a posição inicial sendo determinada, pelo menos em parte, por uma versão de redundância da comunicação sem fio.
33. Dispositivo de comunicação (16, 22) associado com uma comunicação sem fio, caracterizado pelo fato de que o dispositivo de comunicação (16, 22) compreende: pelo menos um processador (70, 86), o pelo menos um processador (70, 86) em comunicação com a memória (72, 88), o pelo menos um processador (70, 86) configurado com instruções de máquina para: realizar uma de descombinação de taxa e de combinação de taxa de uma sequência de bits para um bloco de código associado com uma comunicação sem fio pelo menos pelo processamento iterativo dos bits da sequência de bits, e para cada iteração, antes do processamento dos bits, pré- calcular um valor de posição inicial e um número do processamento de bit, o valor de posição inicial representando um bit inicial dos bits a serem processados na respectiva iteração, e o número do processamento de bit representando um número total de bits a serem processados na respectiva iteração.
34. Dispositivo de comunicação (16, 22) de acordo com a reivindicação 33, caracterizado pelo fato de que, se a uma da descombinação de taxa e da combinação de taxa for descombinação de taxa, a sequência de bits inclui os bits recuperáveis codificados.
35. Dispositivo de comunicação (16, 22) de acordo com a reivindicação 33 ou 34, caracterizado pelo fato de que, se a uma da descombinação de taxa e da combinação de taxa for combinação de taxa, a
11 / 12 sequência de bits inclui os bits codificados.
36. Dispositivo de comunicação (16, 22) de acordo com qualquer uma das reivindicações 33 a 35, caracterizado pelo fato de que o pelo menos um processador (70, 86) é adicionalmente configurado com instruções de máquina para realizar a uma da descombinação de taxa e da combinação de taxa sem realizar nenhuma operação de divisão.
37. Dispositivo de comunicação (16, 22) de acordo com qualquer uma das reivindicações 33 a 36, caracterizado pelo fato de que o pelo menos um processador (70, 86) é adicionalmente configurado com instruções de máquina para realizar a uma da descombinação de taxa e da combinação de taxa sem realizar nenhuma operação de módulo.
38. Dispositivo de comunicação (16, 22) de acordo com a reivindicação 36, caracterizado pelo fato de que o pré-cálculo do valor de posição inicial e do número do processamento de bit para cada iteração permite que o pelo menos um processador (70, 86) realize a uma da descombinação de taxa e da combinação de taxa sem realizar nenhuma operação de divisão.
39. Dispositivo de comunicação (16, 22) de acordo com qualquer uma das reivindicações 33 a 38, caracterizado pelo fato de que a uma da descombinação de taxa e da combinação de taxa é realizada em pelo menos uma de uma cadeia de processamento de verificação de paridade de baixa densidade, LDPC, e uma cadeia de processamento polar.
40. Dispositivo de comunicação (16, 22) de acordo com qualquer uma das reivindicações 33 a 39, caracterizado pelo fato de que o pelo menos um processador (70, 86) é adicionalmente configurado para processar iterativamente os bits da sequência de bits por ser configurado para: para a combinação de taxa, pelo menos um de repetir e puncionar os bits para combinar um número total de bits associados com os recursos atribuídos para a comunicação sem fio; e
12 / 12 para a descombinação de taxa, combinar os bits para produzir uma sequência de bits recuperáveis descombinados na taxa.
41. Dispositivo de comunicação (16, 22) de acordo com qualquer uma das reivindicações 33 a 40, caracterizado pelo fato de que o pelo menos um processador (70, 86) é adicionalmente configurado com instruções de máquina para pré-calcular o valor de posição inicial e o número do processamento de bit com base, pelo menos em parte, em: um comprimento do bloco de código, um número total de bits a serem processados para a uma de descombinação de taxa e de combinação de taxa da sequência de bits para o bloco de código, e uma posição inicial de um buffer circular, a posição inicial sendo determinada, pelo menos em parte, por uma versão de redundância da comunicação sem fio.
42. Dispositivo de comunicação (16, 22) de acordo com qualquer uma das reivindicações 33 a 41, caracterizado pelo fato de que o pelo menos um processador (70, 86) é adicionalmente configurado com instruções de máquina para pré-calcular o valor de posição inicial e o número do processamento de bit por ser configurado para determinar o número do processamento de bit com base, pelo menos em parte, em: o valor de posição inicial da respectiva iteração, um comprimento do bloco de código, um número total de bits a serem processados para a uma de descombinação de taxa e de combinação de taxa da sequência de bits para o bloco de código, e uma posição inicial de um buffer circular, a posição inicial sendo determinada, pelo menos em parte, por uma versão de redundância da comunicação sem fio.
cadeia do processo de codificação LDPC (por palavra código)
com base em TB combinação embaralha- segmentação codificador de taxa concatenação mento intercalação de CB (com base CB + CB CRC LDPC (seleção de + bits de filtro bit) em CW)
Petição 870210039012, de 29/04/2021, pág. 83/170 Por CB
Transmissor 1/12 cadeia do processo de decodificação LDPC (por palavra código)
bits decodi- decodi- descombi- desembara- ficados concatenação ficador nação de segmentação lhamento de bloco de desintercalação LDPC taxa de CB (com base código (CB) (combinação) em CW)
por CB receptor unidade da cadeia de processamento de comunicação unidade da cadeia de processamento de sinal computador hospedeiro aplicação hospedeira nó de rede interface de comunicação conjunto de circuitos de processamento interface de comunicação memória interface de rádio processador unidade monitora conjunto de circuitos de processamento memória processador unidade de cadeia de processamento de comunicação aplicação cliente interface de rádio conjunto de circuitos de processamento memória processador unidade da cadeia de processamento de sinal início computador computador hospedeiro provê hospedeiro dados de usuário executa aplicação início hospedeira computador computador hospedeiro hospedeiro provê dados inicia transmissão de usuário que conduz os dados de usuário para o WD computador hospedeiro inicia transmissão que conduz os dados nó de rede de usuário para o WD transmite os dados de usuário
WD recebe WD executa os dados de aplicação cliente usuário fim fim início
WD recebe dados início de entrada providos WD executa no computador aplicação hospedeiro cliente nó de rede recebe dados de usuário a partir do WD WD provê WD executa dados de aplicação usuário cliente nó de rede inicia transmissão dos WD inicia dados de usuário transmissão para o computador dos dados de hospedeiro usuário para o computador hospedeiro computador hospedeiro computador recebe os hospedeiro dados de recebe dados usuário de usuário transmitidos a partir do WD fim fim início realizar um de um processo de decodificação de verificação de paridade de baixa densidade, LDPC, e um processo de codificação LDPC carregar um conjunto de bits, em paralelo, em uma pluralidade de registros, o conjunto de bits sendo distribuído dentre a pluralidade de registros um de desintercalar e intercalar o conjunto carregado de bits na pluralidade de registros pelo rearranjo do conjunto carregado de bits em um conjunto desintercalado e intercalado de bits carregar um conjunto de bits, em paralelo, em uma pluralidade de registros, o conjunto de bits sendo distribuído entre a pluralidade de registros fim início realizar uma de descombinação de taxa e de combinação de taxa de uma sequência de bits para um bloco de código associado com uma comunicação sem fio pelo menos pelo processamento iterativamente dos bits da sequência de bits para cada iteração, antes do processamento dos bits, pré-calcular um valor da posição de armazenamento e um número de processamento de bit, o valor da posição inicial representando um bit inicial dos bits a serem processados na respectiva iteração, e o número de processamento de bit representando um número total de bits a serem processados na respectiva iteração fim embaralhamento faixa 0 faixa 1 faixa 2 faixa 3 tabela 3 faixa 0 faixa 1 faixa 2 faixa 3 tabela 4 permuta faixa 0 faixa 1 faixa 2 faixa 3 tabela 5 agrupamento de valor recuperável faixa 0 faixa 1 faixa 2 faixa 3 registro 0 registro 1 registro 2 registro 3 registro 4 registro 5 registro 6 registro 7 tabela 6 faixa 0 faixa 0 faixa 1 faixa 1 faixa 2 faixa 2 faixa 3 faixa 3 tabela 7 empacotamento e desempacotamento faixa 0 faixa 1 faixa 2 faixa 3 registro 0 registro 1 registro 2 registro 3 registro 4 registro 5 registro 6 registro 7 tabela 8 mapeamento do grupo do valor recuperável para empacotamento e desempacotamento (registro 0)
faixa 0 faixa 1 faixa 2 faixa 3 tabela 9 faixa 0 faixa 1 faixa 2 faixa 3 tabela 10 faixa 0 faixa 1 faixa 2 faixa 3 tabela 11 faixa 0 faixa 1 faixa 2 faixa 3 tabela 12
BR112021008311-1A 2018-11-07 2018-11-07 método para um dispositivo de comunicação associado com uma transmissão sem fio, e, dispositivo de comunicação associado com uma transmissão sem fio BR112021008311A2 (pt)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IB2018/058754 WO2020095093A1 (en) 2018-11-07 2018-11-07 Optimized implementation of (de-)interleaving and rate (de-)matching for 3gpp new radio

Publications (1)

Publication Number Publication Date
BR112021008311A2 true BR112021008311A2 (pt) 2021-08-03

Family

ID=64426988

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112021008311-1A BR112021008311A2 (pt) 2018-11-07 2018-11-07 método para um dispositivo de comunicação associado com uma transmissão sem fio, e, dispositivo de comunicação associado com uma transmissão sem fio

Country Status (5)

Country Link
US (2) US11290130B2 (pt)
EP (2) EP4358416A3 (pt)
CN (2) CN118249956A (pt)
BR (1) BR112021008311A2 (pt)
WO (1) WO2020095093A1 (pt)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11418294B2 (en) * 2019-09-20 2022-08-16 Qualcomm Incorporated Single step in-place operation method for 5G NR de-interleaving, de-rate matching, and HARQ combination
CN114415946A (zh) * 2021-12-28 2022-04-29 Oppo广东移动通信有限公司 解速率匹配的方法及装置、终端设备、芯片及存储介质

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3549756B2 (ja) 1998-12-21 2004-08-04 日本電気株式会社 ブロックインターリーブ回路
US8155178B2 (en) * 2007-10-30 2012-04-10 Sony Corporation 16k mode interleaver in a digital video broadcasting (DVB) standard
GB2454195A (en) * 2007-10-30 2009-05-06 Sony Corp Address generation polynomial and permutation matrix for DVB-T2 16k OFDM sub-carrier mode interleaver
EP1850486A4 (en) 2005-02-03 2008-05-07 Matsushita Electric Ind Co Ltd PARALLEL INTERLACER, PARALLEL DISINTERLACER AND INTERLACING METHOD
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
US8035537B2 (en) * 2008-06-13 2011-10-11 Lsi Corporation Methods and apparatus for programmable decoding of a plurality of code types
US8281214B2 (en) * 2008-10-17 2012-10-02 Lsi Corporation Programmable quasi-cyclic low-density parity check (QC LDPC) encoder for read channel
US8811452B2 (en) * 2009-12-08 2014-08-19 Samsung Electronics Co., Ltd. Method and apparatus for parallel processing turbo decoder
US8719658B2 (en) * 2010-09-09 2014-05-06 Qualcomm Incorporated Accessing memory during parallel turbo decoding
US8402324B2 (en) * 2010-09-27 2013-03-19 Lsi Corporation Communications system employing local and global interleaving/de-interleaving
EP2525497A1 (en) 2011-05-18 2012-11-21 Panasonic Corporation Bit-interleaved coding and modulation (BICM) with quasi-cyclic LDPC codes
US20130028269A1 (en) * 2011-07-28 2013-01-31 Limberg Allen Leroy DTV systems employing parallel concatenated coding in COFDM transmissions for iterative diversity reception
FR2987527B1 (fr) * 2012-02-23 2014-02-21 Univ Bretagne Sud Dispositif auto-configurable d'entrelacement/desentrelacement de trames de donnees
US8879671B2 (en) * 2012-08-30 2014-11-04 Intel Mobile Communications GmbH Worker and iteration control for parallel turbo decoder
EP2936755B1 (en) * 2012-12-21 2020-05-13 Samsung Electronics Co., Ltd. Method and apparatus for transmitting/receiving signal in a communication system
US9503203B2 (en) * 2013-06-11 2016-11-22 Intel Corporation Wireless interference cancellation
BR112015002543B1 (pt) * 2013-06-12 2021-12-28 Sony Corporation Aparelho e método de processamento de dados
US9143373B2 (en) * 2013-08-30 2015-09-22 Silicon Laboratories Inc. Transport of an analog signal across an isolation barrier
US20150236723A1 (en) * 2014-02-19 2015-08-20 Eric Morgan Dowling Parallel VLSI architectures for constrained turbo block convolutional decoding
US10425110B2 (en) 2014-02-19 2019-09-24 Samsung Electronics Co., Ltd. Transmitting apparatus and interleaving method thereof
US9748973B2 (en) * 2014-04-22 2017-08-29 Sandisk Technologies Llc Interleaved layered decoder for low-density parity check codes
US9344221B2 (en) * 2014-04-29 2016-05-17 Newracom, Inc. Interleaving and deinterleaving method
US20160036468A1 (en) * 2014-08-01 2016-02-04 Intel IP Corporation Method and device for iterative decoding a data transfer structure
US9564927B2 (en) * 2015-05-27 2017-02-07 John P Fonseka Constrained interleaving for 5G wireless and optical transport networks
WO2017091018A1 (en) * 2015-11-24 2017-06-01 Samsung Electronics Co., Ltd. Method and apparatus for channel encoding/decoding in a communication or broadcasting system
WO2018079987A1 (ko) * 2016-10-24 2018-05-03 엘지전자 주식회사 Ldpc 코드의 운송블록 분할 방법 및 이를 위한 장치
US10630319B2 (en) 2017-01-24 2020-04-21 Mediatek Inc. Structure of interleaver with LDPC code
US10608786B2 (en) * 2017-02-24 2020-03-31 Huawei Technologies Co., Ltd. Apparatus and methods of specifying ordered sequences of coding sub-channels
WO2018174569A1 (en) * 2017-03-22 2018-09-27 Samsung Electronics Co., Ltd. Apparatus and method of transmission using harq in communication or broadcasting system
US10735154B2 (en) * 2017-03-23 2020-08-04 Huawei Technologies Co., Ltd. Methods and apparatus for coding sub-channel selection
US10447303B2 (en) * 2017-12-20 2019-10-15 Qualcomm Incorporated Low-density parity check (LDPC) incremental parity-check matrix rotation

Also Published As

Publication number Publication date
CN112913146B (zh) 2024-03-15
EP4358416A2 (en) 2024-04-24
WO2020095093A1 (en) 2020-05-14
CN112913146A (zh) 2021-06-04
US11290130B2 (en) 2022-03-29
EP4358416A3 (en) 2024-05-08
US20210320675A1 (en) 2021-10-14
EP3878102A1 (en) 2021-09-15
US11811423B2 (en) 2023-11-07
EP3878102B1 (en) 2024-03-06
US20220263522A1 (en) 2022-08-18
CN118249956A (zh) 2024-06-25

Similar Documents

Publication Publication Date Title
US11233602B2 (en) Code block segmentation and configuration for concatenated turbo and RS coding
US11930505B2 (en) Communication method and communication apparatus
JP6731115B2 (ja) 情報送信方法、送信端デバイス及び受信端デバイス
US11695506B2 (en) Method and apparatus for transmission or reception of data in communication system
CN110326247B (zh) 用于处理数据块的方法和用于harq ack/nack反馈的方法
US11528741B2 (en) Method and device for determining transmission time in wireless communication system
BR112012030620B1 (pt) Formato de vht-sig-b e campos serviço em ieee 802.11ac
US20210321414A1 (en) Data communication method and device using multiple mcs in wireless communication system
US11811423B2 (en) Optimized implementation of (DE−)interleaving and rate (DE−)matching for 3GPP new radio
US11785566B2 (en) Synchronization method and device for group casting in wireless communication system
US20230370195A1 (en) Method and apparatus for transmission or reception of data in communication system
BR112017024252B1 (pt) Nó de rede, dispositivo de usuário, e métodos para os mesmos para um sistema de comunicação sem fio
EP4147406A2 (en) Single tb transmission over multiple slots
EP4080805A1 (en) Method and apparatus for transmitting or receiving reference signal in wireless communication system
CN114208375A (zh) 一种pdcch的检测方法及装置
US20230119851A1 (en) Device and method for encoding or decoding polar code in communication system
US20230189288A1 (en) Scheduling multiple transport blocks each over multiple slots using single downlink control information (dci)