BR112020001893A2 - projetos de intercalador eficiente para códigos polares - Google Patents

projetos de intercalador eficiente para códigos polares Download PDF

Info

Publication number
BR112020001893A2
BR112020001893A2 BR112020001893-7A BR112020001893A BR112020001893A2 BR 112020001893 A2 BR112020001893 A2 BR 112020001893A2 BR 112020001893 A BR112020001893 A BR 112020001893A BR 112020001893 A2 BR112020001893 A2 BR 112020001893A2
Authority
BR
Brazil
Prior art keywords
lines
interleaver
columns
bits
encoded bits
Prior art date
Application number
BR112020001893-7A
Other languages
English (en)
Inventor
Jian Li
Changlong Xu
Jing Jiang
Hao Xu
Jilei Hou
Original Assignee
Qualcomm Incorporated
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Incorporated filed Critical Qualcomm Incorporated
Publication of BR112020001893A2 publication Critical patent/BR112020001893A2/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • 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/2778Interleaver using block-wise interleaving, e.g. the interleaving matrix is sub-divided into sub-matrices and the permutation is performed in blocks of 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/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
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] 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/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
    • 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/2721Coding, 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 the interleaver involves a diagonal direction, e.g. by using an interleaving matrix with read-out in a diagonal direction
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block 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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/615Use of computational or mathematical techniques
    • H03M13/616Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0071Use of interleaving

Landscapes

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

Abstract

Aspectos da presente descrição referem-se a dispositivos de comunicação sem fio configurados para codificar blocos de informação para produzir blocos de código e intercalar os blocos de código utilizando um intercalador que inclui uma pluralidade de linhas e uma pluralidade de colunas. Em alguns exemplos, o intercalador inclui uma matriz em forma de triângulo isósceles direito de linhas e colunas. Em outros exemplos, o intercalador inclui uma matriz em forma de retângulo de linhas e colunas.

Description

“PROJETOS DE INTERCALADOR EFICIENTE PARA CÓDIGOS POLARES” CAMPO TÉCNICO
[001] A tecnologia discutida abaixo refere-se geralmente a sistemas de comunicação da informação e, mais particularmente, a codificação de canal, utilizando códigos polares nos sistemas de comunicação. Manifestações podem ativar técnicas para melhorar o desempenho de codificação utilizando projetos intercaladores polares eficientes.
FUNDAMENTOS
[002] Códigos de bloco, ou códigos de correção de erro são frequentemente usados para prover transmissão confiável de mensagens digitais sobre canais ruidosos. Em um código de bloco típico, uma mensagem de informação ou sequência é dividida em blocos, e um codificador no dispositivo de transmissão, em seguida, matematicamente adiciona redundância à mensagem de informação. A exploração desta redundância na mensagem de informação codificada é a chave para a confiabilidade da mensagem, permitindo a correção de quaisquer erros de bits que podem ocorrer devido ao ruído. Ou seja, um decodificador no dispositivo receptor pode tirar vantagem da redundância para recuperar com segurança a mensagem de informação, embora erros de bit possam ocorrer, em parte, devido à adição de ruído ao canal.
[003] Muitos exemplos de tais códigos de bloco de correção de erro são conhecidos dos versados na técnica comum, incluindo códigos de Hamming, códigos de Bose-Chaudhuri-Hocquenghem (BCH), códigos turbo, e códigos de verificação de paridade de baixa densidade (LDPC), entre outros. Muitas redes de comunicação sem fio existentes utilizam tais códigos de bloco, como as redes 3GPP LTE, que utilizam códigos turbo, e redes Wi-Fi IEEE 802.11n, que utilizam códigos LDPC. No entanto, para redes futuras, uma nova categoria de códigos de bloco, chamados códigos polares, apresenta uma oportunidade potencial para a transferência de informação confiável e eficiente com melhor desempenho em relação aos códigos turbo e códigos LDPC.
[004] Enquanto investigação sobre implementação de códigos polares continua a avançar rapidamente suas capacidades e potencialidades, melhorias adicionais são desejadas, particularmente para o potencial de implantação das redes de comunicação sem fio futuras além de LTE.
SUMÁRIO
[005] A seguir é apresentado um resumo simplificado de um ou mais aspectos da presente divulgação, a fim de prover uma compreensão básica de tais aspectos. Este resumo não é uma ampla visão geral de todos os recursos previstos da divulgação, e não destina-se a identificar elementos chave ou críticos de todos os aspectos da divulgação nem delinear o escopo de qualquer ou de todos os aspectos da divulgação. Seu único propósito é apresentar alguns conceitos de um ou mais aspectos da divulgação de uma forma simplificada como um prelúdio para a descrição mais detalhada que é apresentada mais tarde.
[006] Vários aspectos da divulgação proveem dispositivos de comunicação sem fio configurados para codificar blocos de informação para produzir blocos de código e intercalar os blocos de código utilizando um intercalador que inclui uma pluralidade de linhas e uma pluralidade de colunas. Em alguns exemplos, o intercalador inclui uma matriz em forma de triângulo isósceles direito de linhas e colunas. Em tais exemplos, o número da pluralidade de colunas do intercalador varia entre as linhas e as uma ou mais linhas superiores da pluralidade de linhas compreendem um ou mais valores nulos. Em alguns exemplos, o intercalador inclui uma matriz em forma de retângulo de linhas e colunas. Em tais exemplos, o número da pluralidade de colunas dos intercalador permanece fixo entre as linhas.
[007] Estes e outros aspectos da invenção se tornarão mais completamente compreendidos após uma revisão da seguinte descrição detalhada, que se segue. Outros aspectos, recursos e modalidades da presente invenção irão tornar-se evidentes para os versados na técnica, após revisão da seguinte descrição específica, modalidades exemplares da presente invenção em conjunto com as figuras que a acompanham. Enquanto que as características da presente invenção podem ser discutidas em relação a certas modalidades e figuras seguintes, todas as modalidades da presente invenção podem incluir uma ou mais das características vantajosas discutidas aqui. Em outras palavras, enquanto que uma ou mais modalidades podem ser discutidas como tendo certas características vantajosas, uma ou mais de tais características podem também ser utilizadas de acordo com as várias modalidades da invenção aqui discutidas.
BREVE DESCRIÇÃO DOS PROJETOS
[008] Figura 1 é um diagrama que ilustra um exemplo de uma rede de acesso.
[009] Figura 2 é uma ilustração esquemática de comunicação sem fio utilizando códigos de bloco.
[010] Figura 3 é um fluxograma que ilustra um processo exemplar para intercalar bits codificados de acordo com alguns aspectos da presente divulgação.
[011] Figura 4 é um diagrama que ilustra um exemplo de um projeto de intercalador em forma de triângulo isósceles direito de acordo com alguns aspectos da presente divulgação.
[012] Figura 5 é um fluxograma ilustrando um processo exemplar para intercalar bits codificados de acordo com alguns aspectos da presente divulgação.
[013] Figura 6 é um diagrama que ilustra um exemplo de uma projeto de intercalador de matriz em forma de retângulo de acordo com alguns aspectos da presente divulgação.
[014] Figura 7 é um diagrama de blocos que ilustra um exemplo de uma implementação de hardware para um dispositivo de comunicação sem fio utilizando um sistema de processamento de acordo com alguns aspectos da presente divulgação.
DESCRIÇÃO DETALHADA
[015] A descrição do conjunto detalhado abaixo em ligação com os projetos anexos pretende ser uma descrição de várias configurações e não se destina a representar as únicas configurações em que os conceitos aqui descritos podem ser praticadas. A descrição detalhada inclui detalhes específicos para a finalidade de prover uma compreensão completa de vários conceitos. No entanto, será evidente para os versados na técnica que estes conceitos podem ser praticados sem estes detalhes específicos. Em alguns casos, estruturas e componentes bem conhecidos são mostrados em forma de diagrama de blocos de modo a evitar obscurecer os tais conceitos.
[016] Os vários conceitos apresentados ao longo desta divulgação podem ser implementados através de uma ampla variedade de sistemas de telecomunicações, arquiteturas de rede e normas de comunicação. Referindo-se agora à Figura 1, como um exemplo ilustrativo, sem limitação, uma ilustração esquemática de uma rede de acesso rádio 100 é provida. A rede de acesso 100 pode ser uma rede de acesso de próxima geração (por exemplo, quinta geração (5G)) ou uma rede de acesso legada (por exemplo, 3G ou 4G). Além disso, um ou mais nós na rede de acesso 100 podem ser nós de próxima geração ou nós legados.
[017] Tal como aqui utilizado, o termo rede de acesso legado refere-se a uma rede que emprega uma tecnologia de comunicação sem fio de terceira geração (3G), com base em um conjunto de normas que estão em conformidade com as especificações de Telecomunicações Móveis Internacionais 2000 (IMT-2000) ou uma tecnologia de comunicação sem fio de quarta geração (4G) baseada em um conjunto de normas que se conformam com a especificação de Telecomunicações Móveis Internacionais Avançada (ITU- Avançada). Por exemplo, algumas das normas promulgadas pelo Projeto 3rd Generation Partnership (3GPP) e 3rd Generation Partnership Project 2 (3GPP2) podem se conformar com IMT- 2000 e/ou ITU-Avançado. Exemplos de tais normas legadas definidas pelo 3rd Generation Partnership Project (3GPP)
incluem, mas não estão limitados a, Evolução de Longo Prazo (LTE), LTE-Avançada, Sistema de Pacote Evoluído (EPS), e Sistema Universal para Telecomunicações Móveis (UMTS). Exemplos adicionais de várias tecnologias de acesso rádio com base em uma ou mais das normas 3GPP acima listadas incluem, mas não estão limitadas a, Acesso Rádio Terrestre Universal (UTRA), Acesso Rádio Terrestre Universal Evoluído (eUTRA), Serviço Geral de Rádio por Pacote (GPRS) e Taxas de Dados Melhoradas para Evolução GSM (EDGE). Exemplos de tais normas legadas definidas pela 3o Generation Partnership Project 2 (3GPP2) incluem, mas não estão limitadas a, CDMA2000 e Banda larga Ultra Móvel (UMB). Outros exemplos de normas que empregam tecnologia de comunicação sem fio 3G/4G incluem a norma IEEE 802.16 (WiMAX) e outras normas adequadas.
[018] Como adicionalmente utilizado aqui, o termo rede de acesso de próxima geração refere-se geralmente a uma rede empregando tecnologias de comunicação sem fio evoluídas contínuas. Isso pode incluir, por exemplo, uma tecnologia de comunicação sem fio de quinta geração (5G) baseada em um conjunto de normas. As normas podem se conformar com as diretrizes estabelecidas em 5G White Paper publicado pela Aliança das Redes Móveis de Próxima Geração (NGMN) em 17 de Fevereiro de 2015. Por exemplo, as normas que podem ser definidas pelo 3GPP após LTE-Avançada ou pelo 3GPP2 após CDMA2000 podem se conformar com o 5G White Paper da Aliança NGMN. As normas também podem incluir esforços de pré-3GPP especificados pelo Verizon Technical Forum (www.vstgf) e Korea Telecom SIG (www.kt5g.org).
[019] A região geográfica coberta pela rede de acesso 100 pode ser dividida em um certo número de regiões celulares (células) que podem ser identificadas exclusivamente por um equipamento de usuário (UE) com base na identificação radiodifundida ao longo de um região geográfica de um ponto de acesso ou estação base. A Figura 1 ilustra macrocélulas 102, 104 e 106, e uma pequena célula 108, cada uma das quais pode incluir um ou mais setores. Um setor é uma subárea de uma célula. Todos os setores dentro de uma célula são servidos pela mesma estação base. Um radiolink dentro de um setor pode ser identificado por uma única identificação lógica pertencente a esse setor. Em uma célula que é dividida em setores, os vários setores dentro de uma célula podem ser formados por grupos de antenas com cada antena responsável pela comunicação com UEs em uma porção da célula.
[020] Em geral, uma estação base (BS) serve cada célula. Em termos gerais, uma estação base é um elemento de rede em uma rede de acesso rádio responsável pela transmissão e recepção via rádio em uma ou mais células para ou a partir de um UE. Uma BS também pode ser referida pelos versados na técnica como uma estação transceptora base (BTS), uma estação rádio base, um transceptor via rádio, uma função de transceptor, um conjunto de serviço básico (BSS), um conjunto de serviço estendido (ESS), um ponto de acesso (AP), um Nó B (NB), um B eNó (eNB), um GNóB ou alguma outra terminologia apropriada.
[021] Na Figura 1, duas estações base de alta potência 110 e 112 são mostradas em células 102 e 104, e uma terceira estação base de alta potência 114 é mostrada controlando uma cabeça de rádio remota (RRH) 116 na célula
106. Isto é, uma estação base pode ter uma antena integrada ou pode ser conectada a uma antena ou RRH por cabos de alimentação. No exemplo ilustrado, as células 102, 104, e 106 podem ser referidas como macrocélulas, assim como as estações base de alta potência 110, 112, e 114 células suportam células tendo um tamanho grande. Além disso, uma estação base de baixa potência 118 é mostrada na pequena célula 108 (por exemplo, uma microcélula, picocélula, femtocell, estação base doméstica, Nó B doméstico, eNó B doméstico, etc.), que pode sobrepor-se com um ou mais macrocélulas. Neste exemplo, a célula 108 pode ser referida como uma pequena célula, assim como a estação base de baixa potência 118 suporta uma célula tendo um tamanho relativamente pequeno. Dimensionamento celular pode ser feito de acordo com o projeto do sistema, bem como restrições de componentes. Deve ser entendido que a rede de acesso 100 pode incluir qualquer número de estações base celulares e células. Além disso, um nó retransmissor pode ser implantado para prolongar o tamanho ou a área de cobertura de uma dada célula. As estações base 110, 112, 114, 118 proveem pontos de acesso sem fio para uma rede núcleo para um número qualquer de aparelhos móveis.
[022] A Figura 1 inclui ainda um ou quadricóptero ou drone 120, que pode ser configurado para funcionar como uma estação base. Isto é, em alguns exemplos, uma célula pode não necessariamente ser estacionária, e a área geográfica da célula pode mover de acordo com a localização de uma estação base celular, tal como o quadricóptero 120.
[023] Em geral, as estações base podem incluir uma interface de backhaul para a comunicação com uma porção de backhaul da rede. O backhaul pode prover uma interconexão entre uma estação base e uma rede núcleo e, em alguns exemplos, o backhaul pode prover a interligação entre as respectivas estações base. A rede núcleo é uma parte de um sistema de comunicação sem fio que é geralmente independente da tecnologia de acesso rádio utilizada na rede de acesso rádio. Vários tipos de interfaces de backhaul podem ser empregues, tal como uma conexão física direta, uma rede virtual, ou similares, utilizando qualquer rede de transporte adequada. Algumas estações base podem ser configuradas como nós de acesso integrado e backhaul (IAB), em que o espectro sem fio pode ser usado para ambos os links de acesso (isto é, links sem fio com UEs), e para os links de backhaul. Este esquema é muitas vezes referido como autobackhaul sem fio. Usar autobackhaul sem fio, em vez de exigir que cada nova implantação de estação base seja equipada com sua própria conexão backhaul cabeada, o espectro sem fio utilizado para a comunicação entre a estação base e o UE pode ser aproveitado para a comunicação backhaul, permitindo fácil e rápida implantação de redes de pequenas células altamente densas.
[024] A rede de acesso 100 é ilustrada suportando comunicação sem fio para vários dispositivos móveis. Um aparelho móvel é comumente referido como um equipamento de usuário (UE) em normas e especificações promulgadas pelo 3rd Generation Partnership Project (3GPP), mas pode também ser referido pelos versados na técnica como uma estação móvel (MS), um estação de assinante, uma unidade móvel, uma unidade de assinante, uma unidade sem fio, uma unidade remota, um dispositivo móvel, um dispositivo sem fio, um dispositivo de comunicação sem fio, um dispositivo remoto, uma estação de assinante móvel, um terminal de acesso (AT), um terminal móvel, um terminal sem fio, um terminal remoto, um aparelho telefônico, um terminal, um agente de usuário, um cliente móvel, um cliente, ou alguma outra terminologia adequada. Um UE pode ser um aparelho que provê um usuário de acesso ao serviços de rede.
[025] Dentro do presente documento, um aparelho “móvel” não necessariamente tem uma capacidade de se mover, e pode ser estacionário. O termo aparelho móvel ou um dispositivo móvel refere-se genericamente a um conjunto diversificado de dispositivos e tecnologias. Por exemplo, alguns exemplos não limitantes de um aparelho móvel incluem um móvel, um telemóvel (celular), um smartphone, um telefone de protocolo de iniciação de sessão (SIP), um laptop, um computador pessoal (PC), um notebook, um netbook, um smartbook, um tablet, um assistente pessoal digital (PDA), e uma ampla gama de sistemas embutidos, por exemplo, correspondente a uma “Internet das Coisas” (IdC). Um aparelho móvel pode ainda ser um veículo de transporte automotivo ou outro, um sensor remoto ou atuador, um robô ou dispositivo robótico, rádio por satélite, dispositivo de sistema de posicionamento global (GPS), um dispositivo de monitoramento de objeto, um drone, um multicóptero, um quadcóptero, um dispositivo de controle remoto, um dispositivo de consumidor e/ou usável, tais como óculos,
uma câmera usável, um dispositivo de realidade virtual, um relógio inteligente, um rastreador de saúde ou boa forma, um reprodutor de áudio digital (por exemplo, reprodutor MP3), uma câmera, um console de jogos, etc. Um aparelho móvel pode adicionalmente ser um dispositivo doméstico digital ou doméstico inteligente tais como um dispositivo de áudio, vídeo e/ou multimídia doméstico, um aparelho, uma máquina de venda, iluminação inteligente, sistema de segurança residencial, medidor inteligente, etc. Um aparelho móvel também pode ser um dispositivo de energia inteligente, um dispositivo de segurança, um painel solar ou arranjo solar, um dispositivo de infraestrutura municipal que controla a energia elétrica (por exemplo, uma rede inteligente), iluminação, água, etc.; um dispositivo industrial de automação e empresa; um controlador de logística; equipamento agrícola; equipamento de defesa militar, veículos, aeronaves, navios e armas etc. Além disso, um aparelho móvel pode prover suporte de medicina conectada ou telemedicina, ou seja, cuidados de saúde à distância. Os dispositivos de telessaúde podem incluir dispositivos de monitoramento de telessaúde e dispositivos de administração de telessaúde, cuja comunicação pode receber tratamento preferencial ou acesso priorizado a outros tipos de informações, por exemplo, em termos de acesso priorizado para transporte de tráfego de dados de usuários de serviços críticos e/ou QoS relevante para transporte de tráfego de dados de usuário de serviço crítico.
[026] Dentro da rede de acesso 100, as células podem incluir UEs que podem estar em comunicação com um ou mais setores de cada célula. Por exemplo, os UE 122 e 124 podem estar em comunicação com a estação base 110; UEs 126 e 128 podem estar em comunicação com a estação base 112; UEs 130 e 132 podem estar em comunicação com a estação base 114 por meio de RRH 116; UE 134 pode estar em comunicação com a estação base de baixa potência 118, e o UE 136 pode estar em comunicação com a estação base móvel
120. Aqui, cada estação base 110, 112, 114, 118, e 120 pode ser configurada para prover um ponto de acesso a uma rede núcleo (não mostrada) para todos os UEs nas respectivas células.
[027] Em outro exemplo, um nó de rede móvel (por exemplo, quadricóptero 120) pode ser configurado para funcionar como um UE. Por exemplo, o quadricóptero 120 pode operar dentro de células 102 por meio da comunicação com a estação base 110. Em alguns aspectos da divulgação, dois ou mais UEs (por exemplo, os UE 126 e 128) podem se comunicar uns com os outros usando ponto a ponto (P2P) ou sinais de sidelink 127 sem retransmitir aquela comunicação através de uma estação base (por exemplo, estação base 112).
[028] Transmissões de unicast ou broadcast de informação de controle e/ou informação de tráfego (por exemplo, tráfego de dados de usuário) a partir de uma estação base (por exemplo, estação base 110) para um ou mais UEs (por exemplo, os UE 122 e 124) podem ser referidas como transmissão de downlink (DL), enquanto que as transmissões de informação de controle e/ou informação de trânsito originárias em um UE (por exemplo, o UE 122) podem ser referidas como transmissões de uplink (UL). Além disso, a informação de controle de uplink e/ou de downlink e/ou informação de tráfego podem ser em divididas em tempo em quadros, subquadros, partições, e/ou símbolos. Tal como aqui utilizado, um símbolo pode referir-se a uma unidade de tempo que, em uma forma de onda multiplexada por divisão de frequência ortogonal (OFDM), transporta um elemento de recurso (RE) por subportadora. Uma partição pode transportar 7 ou 14 símbolos OFDM. Um subquadro pode referir-se a uma duração de 1 ms. Múltiplos subquadros podem ser agrupados para formar um único quadro ou quadro de rádio. Claro, essas definições não são necessárias, e qualquer esquema adequado para organizar formas de onda pode ser utilizado, e várias divisões de tempo da forma de onda podem ter qualquer duração adequada.
[029] A interface aérea na rede de acesso 100 pode utilizar uma ou mais multiplexação e algoritmos de acesso múltiplo para permitir a comunicação simultânea de vários dispositivos. Por exemplo, o acesso múltiplo para uplink (UL) ou transmissões de link reverso a partir de UEs 122 e 124 para a estação base 110 podem ser providos utilizando acesso múltiplo por divisão de tempo (TDMA), acesso múltiplo por divisão de código (CDMA), acesso múltiplo por divisão de frequência (FDMA), acesso múltiplo por divisão de frequência ortogonal (OFDMA), acesso múltiplo de código escasso (SCMA), acesso múltiplo por divisão de frequência de única portadora (FDMA-SC), acesso múltiplo de propagação de recurso (RSMA), ou outros esquemas de acesso múltiplo adequados. Além disso, a multiplexação de transmissões de downlink (DL) ou link direto a partir da estação base 110 para o UE 122 e 124 pode ser provida utilizando multiplexação por divisão de tempo (TDM), multiplexação por divisão de código (CDM), multiplexação por divisão de frequência (FDM), multiplexação por divisão de frequência ortogonal (OFDM), multiplexação por código esparso (SCM), multiplexação por divisão de frequência de única portadora (SC-FDM) ou outros esquemas de multiplexação adequados.
[030] Além disso, a interface aérea na rede de acesso 100 pode utilizar um ou mais algoritmos de duplexação. Dúplex refere-se a um link de comunicação ponto a ponto onde ambos os terminais podem se comunicar um com o outro em ambas as direções. Dúplex completo significa que ambos os pontos finais podem se comunicar simultaneamente um com o outro. Meio dúplex significa que apenas um ponto final pode enviar informações para o outro ao mesmo tempo. Em um link sem fio, um canal dúplex completo geralmente depende de isolamento físico de um transmissor e receptor, e tecnologias de cancelamento de interferência adequadas. Emulação de dúplex completo é frequentemente implementada para links sem fio, utilizando Dúplex por Divisão de Frequência (FDD) ou Dúplex por Divisão de Tempo (TDD). Em FDD, transmissões em diferentes direções operam em diferentes frequências de portadoras. Em TDD, transmissões em direções diferentes sobre um dado canal são separadas uma da outra utilizando multiplexação por divisão de tempo. Isto é, em alguns momentos o canal é dedicado para transmissões em uma direção, enquanto em outros momentos, o canal é dedicado para transmissões na outra direção, em que a direção pode mudar muito rapidamente, por exemplo, várias vezes por subquadro.
[031] Na rede de acesso rádio 100, a capacidade de um UE de se comunicar em movimento, independentemente da sua localização, é referida como mobilidade.
Os vários canais físicos entre o UE e a rede de acesso rádio são geralmente estabelecidos, mantidos, e liberados sob o controle de uma entidade de gerenciamento de mobilidade (MME). Em vários aspectos da divulgação, uma rede de acesso 100 pode utilizar mobilidade baseada em DL ou mobilidade baseada em UL para permitir mobilidade e handover (isto é, a transferência de uma conexão do UE a partir de um canal de rádio para outro). Em uma rede configurada para a mobilidade baseada em DL, durante uma chamada com uma entidade de programação, ou em qualquer outro momento, o UE pode monitorar vários parâmetros do sinal proveniente de sua célula de serviço, bem como vários parâmetros de células vizinhas.
Dependendo da qualidade destes parâmetros, o UE pode manter a comunicação com uma ou mais das células vizinhas.
Durante este tempo, se o UE se move de uma célula para outra, ou se a qualidade do sinal proveniente de uma célula vizinha excede aquela da célula de serviço por um determinado período de tempo, o UE pode realizar um handoff ou handover a partir da célula de serviço para a célula vizinha (alvo). Por exemplo, o UE 124 pode se mover a partir da área geográfica correspondente à sua porção de células 102 para a área geográfica correspondente a uma célula vizinha 106. Quando a intensidade do sinal ou qualidade da célula vizinha 106 excede a da sua célula de serviço 102 por uma dada quantidade de tempo, o UE 124 pode transmitir uma mensagem de relatório para a sua estação base de serviço 110 indicando esta condição.
Em resposta, o UE 124 pode receber um comando de handover, e o UE pode ser submetido a um handover para a célula 106.
[032] Em uma rede configurada para mobilidade baseada em UL, sinais de referência UL provenientes de cada UE podem ser utilizados pela rede para selecionar uma célula de serviço para cada UE. Em alguns exemplos, as estações base 110, 112, e 114/116 podem transmitir sinais de sincronização unificados (por exemplo, Sinais de Sincronização Primários (PSS) unificados, Sinais de Sincronização Secundários (SLT) unificados e Canais de Broadcast Físico (PBCH) unificados). Os UEs 122, 124, 126, 128, 130, e 132 podem receber os sinais de sincronização unificados, derivar a frequência de portadora e subquadro ou temporização de partição a partir dos sinais de sincronização, e em resposta à derivação de temporização, transmitir uma um sinal piloto de uplink ou sinal de referência. O sinal piloto de uplink transmitido por um UE (por exemplo, UE 124) pode ser recebido simultaneamente por duas ou mais células (por exemplo, estações base 110 e 114/116) dentro da rede de acesso 100. Cada uma das células pode medir uma intensidade de sinal piloto, e a rede de acesso (por exemplo, uma ou mais das estações base 110 e 114/116 e/ou um nó central dentro da rede núcleo) pode determinar uma célula de serviço para o UE 124. À medida que o UE 124 se move através da rede de acesso 100, a rede pode continuar a monitorar o sinal piloto de uplink transmitido pelo UE 124. Quando a intensidade do sinal ou a qualidade do sinal piloto medido por uma célula vizinha excede a intensidade ou qualidade do sinal medido pela célula de servido, a rede 100 pode realizar handover do UE
124 da célula de serviço para a célula vizinha, com ou sem informar o UE 124.
[033] Embora o sinal de sincronização transmitido pelas estações base 110, 112, 114/116 e possa ser unificado, o sinal de sincronização pode não identificar uma célula em particular, mas em vez disso pode identificar uma zona de múltiplas células que operam na mesma frequência e/ou com o mesmo tempo. O uso de zonas em redes 5G ou outras redes de comunicação de próxima geração habilita o quadro de mobilidade baseado em uplink e melhora a eficiência tanto do UE quanto da rede, já que o número de mensagens de mobilidade que precisam ser trocadas entre o UE e a rede pode ser reduzido.
[034] Em várias implementações, a interface aérea na rede de acesso 100 pode utilizar espectro licenciado, espectro não licenciado, ou espectro compartilhado. Espectro licenciado provê uso exclusivo de uma porção do espectro, geralmente em virtude de um operador de rede móvel comprando uma licença de um órgão regulador do governo. Espectro não licenciado provê uso compartilhado de uma porção do espectro sem necessidade de uma licença concedida pelo governo. Enquanto conformidade com algumas regras técnicas geralmente são ainda necessárias para acessar o espectro não licenciado, em geral, qualquer operador ou dispositivo pode ter acesso. Espectro compartilhado pode cair entre espectro licenciado e não licenciado, no qual regras técnicas ou limitações podem ser necessárias para acessar o espectro, mas o espectro ainda pode ser compartilhado por múltiplos operadores e/ou múltiplas RAT. Por exemplo, o detentor de uma licença para uma parte do espectro licenciado pode prover acesso compartilhado licenciado (LSA) para compartilhar esse espectro com outras partes, por exemplo, com condições determinadas pelo licenciador para obter acesso.
[035] Em alguns exemplos, o acesso à interface aérea pode ser programado, em que uma entidade de programação (por exemplo, uma estação base) atribui recursos para a comunicação entre alguns ou todos os dispositivos e equipamento dentro da sua área de serviço ou célula. Dentro da presente divulgação, como discutido mais abaixo, a entidade de programação pode ser responsável pela programação, atribuição, reconfiguração, e liberação de recursos de uma ou mais entidades subordinadas. Ou seja, para comunicação programada, entidades subordinadas utilizam os recursos alocados pela entidade de programação.
[036] Em alguns exemplos, o acesso à interface aérea pode ser programado, em que uma entidade de programação (por exemplo, uma estação base) aloca recursos (por exemplo, recursos tempo-frequência) para comunicação entre alguns ou todos os dispositivos e equipamento dentro da sua área de serviço ou célula. Dentro da presente divulgação, como discutido mais abaixo, a entidade de programação pode ser responsável pela programação, atribuição, reconfiguração, e atribuição de recursos de uma ou mais entidades programadas. Ou seja, para comunicação programada, UEs ou entidades programadas utilizam os recursos alocados pela entidade de programação.
[037] As estações base não são as únicas entidades que podem funcionar como uma entidade de programação. Isto é, em alguns exemplos, o UE pode funcionar como uma entidade de programação, programando recursos para uma ou mais entidades programadas (por exemplo, um ou mais outros UEs). Em outros exemplos, podem ser utilizados sinais de sidelink entre UEs sem necessariamente depender de programação ou informação de controle proveniente de uma estação base. Por exemplo, o UE 138 é ilustrado se comunicando com os UEs 140 e 142. Em alguns exemplos, o UE 138 está funcionando como uma entidade de programação ou um dispositivo de sidelink primário, e UEs 140 e 142 podem funcionar como uma entidade programada ou um sidelink dispositivo não primário (por exemplo, secundário). Em ainda outro exemplo, um UE pode funcionar como uma entidade de programação em uma rede dispositivo-a-dispositivo (D2D), ponto-a-ponto (P2P), ou veículo-veículo (V2V), e/ou em uma malha rede.
[038] A Figura 2 é uma ilustração esquemática de comunicações sem fio entre um primeiro dispositivo de comunicação sem fio 202 e um segundo dispositivo de comunicação sem fio 204. Cada dispositivo de comunicação sem fio 202 e 204 pode ser um equipamento de usuário (UE), uma estação base, ou qualquer outro aparelho ou meios adequados para comunicação sem fio. No exemplo ilustrado, uma fonte 222 dentro do primeiro dispositivo de comunicação sem fio 202 transmite uma mensagem digital através de um canal de comunicação 206 (por exemplo, um canal sem fio) para um depósito 244 no segundo dispositivo de comunicação sem fio 204. Um problema em tal esquema que deve ser abordado para prover comunicação confiável da mensagem digital é considerar o ruído que afeta o canal de comunicação 206.
[039] Códigos de bloco, ou códigos de correção de erro são frequentemente usados para prover transmissão confiável de mensagens digitais sobre tais canais ruidosos. Em um código de bloco típico, uma mensagem de informação ou sequência é dividida em blocos, cada bloco tendo um comprimento de K bits. Um codificador 224 no primeiro dispositivo (transmissão) de comunicação sem fio 202, em seguida, matematicamente adiciona redundância à mensagem de informação, resultando em palavras códigos que têm um comprimento de N, onde N > K. Aqui, a taxa de codificação R é a razão entre o comprimento da mensagem e o comprimento do bloco, ou seja, R = K/N. A exploração desta redundância na mensagem de informação codificada é a chave para a confiabilidade da mensagem, permitindo a correção de quaisquer erros de bits que podem ocorrer devido ao ruído. Isso é, um decodificador 242 no segundo dispositivo (recepção) de comunicação sem fio 204 pode tirar proveito da redundância para recuperar com segurança a mensagem de informação, mesmo que erros de bits possam ocorrer, em parte, devido à adição de ruído ao canal.
[040] Muitos exemplos de tais códigos de bloco de correção de erro são conhecidos dos versados na técnica comum, incluindo códigos de Hamming, códigos de Bose-Chaudhuri-Hocquenghem (BCH), códigos turbo, códigos convolucionais tail-biting (TBCC), e códigos de verificação de paridade de baixa densidade (LDPC), entre outros. Muitas redes de comunicação sem fio existentes utilizam tais códigos de bloco, tais como as redes 3GPP LTE, que utilizam códigos turbo, e redes 802.11n IEEE Wi-Fi, que utilizam códigos LDPC. No entanto, para redes futuras, uma nova categoria de códigos de bloco, chamados códigos polares, apresenta uma oportunidade potencial para a transferência de informação confiável e eficiente com melhor desempenho em relação aos códigos turbo e códigos LDPC.
[041] Códigos polares são de códigos de correção de erro de bloco linear inventados em 2007 por Erdal Arikan, e atualmente conhecidos dos versados na técnica. Em termos gerais, a polarização do canal é gerada com um algoritmo recursivo que define códigos polares. Códigos polares são os primeiros códigos explícitos que obtêm a capacidade de canal de canais discretos sem memória de entrada binário simétrico. Isto é, os códigos polares atingem a capacidade de canal (o limite de Shannon) ou o limite superior teórico da quantidade de informação sem erro, que pode ser transmitida em um canal sem memória discreto de uma determinada largura de banda, na presença de ruído.
[042] No entanto, mesmo com os melhores códigos de correção de erro, se o canal de comunicação 206 experimenta um desvanecimento profundo, a taxa de erro de bit pode exceder o que pode ser compensado. Assim, muitas redes de comunicação sem fio utilizam intercaladores para melhorar ainda mais a confiabilidade dos dados.
[043] Intercaladores também podem ser usados no próprio processo de codificação para prover informações extrínsecas para decodificação iterativa. Por exemplo, os códigos turbo ou códigos convolucionais tail-biting podem utilizar alguns dos intercaladores tradicionais. No entanto, para os códigos polares com modulação de ordem superior (por exemplo, 16-QAM, ou 64-QAM), projetos de intercaladores tradicionais falham para prover um desempenho suficiente em termos de relação sinal/ruído (SNR) e taxa de Erro de Bloco (BLER). Portanto, de acordo com aspectos da presente divulgação, os novos projetos de intercalação que podem ser utilizados para códigos polares ou outros tipos adequados de códigos (por exemplo, turbo ou TBCC) são providos.
[044] A Figura 3 ilustra exemplos de operações 300 para utilização por um dispositivo de comunicação sem fio (por exemplo, dispositivo de comunicação sem fio 700 descrito abaixo), de acordo com aspectos da presente divulgação. Operações 300 começam, em 302, através da codificação de um bloco de informação para produzir um bloco de código que compreende uma pluralidade de bits codificados. Em 304, as operações 300 continuam através da intercalação da pluralidade de bits codificados utilizando um intercalador para produzir um bloco de código intercalado, em que o intercalador compreende uma pluralidade de linhas e uma pluralidade de colunas, em que um número da pluralidade de colunas varia entre a pluralidade de linhas, e em que uma ou mais linhas superiores da pluralidade de linhas compreendem um ou mais valores nulos. Em 306, as operações 300 continuam transmitindo o bloco de código intercalado para um dispositivo de comunicação sem fio de recepção através de uma interface aérea sem fio.
[045] A Figura 4 é um diagrama que ilustra um exemplo de um projeto de intercalador de acordo com alguns aspectos da presente divulgação. No exemplo mostrado na
Figura 4, o intercalador 400 inclui uma matriz em forma de triângulo isósceles direita de linhas e colunas. Tal como descrito acima em relação à Figura 2, um codificador pode gerar um bloco de código que tem M número de bits codificados. Por conseguinte, para intercalar os blocos de código com M bits codificados, o intercalador da Figura 4 pode ser projetado de tal modo que o comprimento dos dois lados iguais do intercalador é definido como qualquer número inteiro (P) que satisfaz a equação P * (P + 1)/2 ≥ M. Por exemplo, como mostrado na Figura 4, o comprimento da primeira linha pode ser definido como qualquer número inteiro P que satisfaça a equação P * (P + 1)/2 ≥ M. Além disso, o comprimento da primeira coluna é igual ao comprimento da primeira linha, e, como tal, também está definido para P.
[046] Tendo determinado P, valores nulos podem ser inseridos na linha superior (s) do intercalador até que o número de bits codificados (M) do bloco de código seja igual ao número de posições restantes no intercalador. Como um exemplo, P pode ser escolhido de tal modo que P * (P + 1)/2 possa ser maior do que N por um certo número, tal como, Y. Em tal exemplo, o número Y de bits nulos pode ser inserido na primeira linha do intercalador 404, a partir da posição mais à esquerda 402 da primeira linha 404 (a primeira linha superior do dispositivo de intercalação pode ser referida como a cabeça do intercalador). Em algumas modalidades, Y é inferior ou igual a P-1 e, portanto, os bits nulos ou valores podem parcialmente ou totalmente ocupar apenas a primeira linha 404 de intercalador.
[047] Após a inserção dos valores nulos, os M bits codificados do bloco de código podem ser alimentados em linhas sucessivas do intercalador de cima para baixo. Por exemplo, como mostrado na Figura 4, o bloco de código incluindo bits codificados x(0) a x(M-1), com um comprimento de M, é alimentado em linhas sucessivas da matriz. Em modalidades em que os valores nulos ocupam parcialmente a primeira linha 404 de intercalador, o primeiro bit codificado x(0) no bloco de código é inserido em uma posição na primeira linha imediatamente após a posição em que está inserido o último valor nulo. Em tais modalidades, a última posição da primeira linha 404 pode também ser x(t-1), como mostrado na Figura 4, onde (t) é (t = P- (P(P + 1)/2-H)). No entanto, em outras modalidades em que os valores nulos ocupam totalmente a primeira linha 404 de intercalador, o primeiro bit codificado x(0) no bloco de código é inserido na posição mais à esquerda 406 da segunda linha 408.
[048] Com este projeto de intercalador 400, em algumas modalidades, o número de bits codificados em cada linha diminui com o maior número de bits codificados estando na segunda linha 408 (a menos que não haja valores nulos inseridos na primeira linha) e o menor número de bits codificados estando na última linha. Por exemplo, a segunda linha da matriz inclui bits codificados x(t) a x(t + P-2), a terceira linha da matriz inclui bits codificados x(t + P- 1) a x(t + 2P-4), e assim por diante. Como tal, o número de bits codificados entre bits codificados adjacentes em linha adjacentes varia.
[049] Após o último bit codificado x(M-1) ser alimentado para a matriz, os bits codificados podem então ser lidos de colunas sucessivas da matriz a partir da esquerda para a direita. Assim, o primeiro bit codificado da segunda linha (bits codificados mais à esquerda) é o primeiro bit codificado lido da primeira coluna (a não ser que não haja valores nulos inseridos no intercalador). No exemplo mostrado na Figura 4, a saída é x(t), x(t + P-1) ... x(M-1), ignorando quaisquer valores nulos na matriz.
[050] A Figura 5 ilustra exemplos de operações 500 para utilização por um dispositivo de comunicação sem fio (por exemplo, dispositivo de comunicação sem fio 700, descrito a seguir), de acordo com aspectos da presente divulgação. Operações 500 começam, em 502, através da codificação de um bloco de informação para produzir um bloco de código que compreende uma pluralidade de bits codificados. Em 504, as operações 500 continuam através da intercalação da pluralidade de bits codificados utilizando um intercalador para produzir um bloco de código intercalado, em que o intercalador compreende uma pluralidade de linhas e uma pluralidade de colunas, em que um número da pluralidade de colunas permanece fixo entre a pluralidade de linhas. Em 506, as operações 500 continuam transmitindo o bloco de código intercalado para um dispositivo de comunicação sem fio de recepção através de uma interface aérea sem fio.
[051] A Figura 6 é um diagrama que ilustra um exemplo de um projeto de intercalador de acordo com alguns aspectos da presente divulgação. No exemplo mostrado na Figura 6, o intercalador 600 inclui uma matriz em forma de retângulo de linhas e colunas. Em algumas modalidades, o intercalador pode ter (Nr) número de linhas e (Nc) número de colunas, em que (Nr) e (Nc) podem ser quaisquer inteiros. Tal como descrito acima em relação à Figura 2, um codificador pode gerar um bloco de código que tem os M bits codificados. Por conseguinte, onde Nr * Nc é maior do que os M bits codificados, os M bits codificados podem ser estendidos para Nr * Nc, adicionando valores nulos para o intercalador (isto é, o número de valores nulos é, por conseguinte, Nr * Nc-H). Em algumas modalidades, os bits estendidos são denotados como z(0), z(1), z(2), ... , z(Nr * Nc-1). Em algumas modalidades, os bits nulos podem ser inseridos na cabeça do intercalador em forma de retângulo. Em algumas outras modalidades, os bits nulos podem ser inseridos na cauda do intercalador em forma retângulo.
[052] Em modalidades em que os valores nulos são inseridos na cabeça do intercalador, (Nr * Nc-M) número de valores nulos pode ser inserido na linha(s) superior do intercalador (isto é, valores nulos podem ser inseridos no intercalador até que o M número de bits codificados seja igual ao número de posições restantes (posições que não são preenchidas pelos valores nulos) no intercalador). Por exemplo, os valores nulos podem ser inseridos no intercalador a partir da posição mais à esquerda 602 da primeira linha 604. Após a inserção dos valores nulos, os M bits codificados do bloco de código podem ser alimentados em linhas sucessivas do intercalador de cima para baixo. Por exemplo, o primeiro bloco de código codificado pode ser inserido em uma posição imediatamente depois da posição em que está inserido o último valor nulo.
[053] Em modalidades em que os valores nulos são inseridos na cauda do intercalador, primeiro os M bits codificados de um bloco de código podem ser alimentados em linhas sucessivas do intercalador de cima para baixo. Assim, o primeiro bit codificado na primeira linha é o primeiro bit codificado lido da primeira coluna. Depois de todos os M bits codificados serem alimentados no intercalador, em algumas modalidades, Nr * Nc-M número de posições pode permanecer. Deste modo, em tal uma modalidade, Nr * Nc-M número de valores nulos pode estar interessado no intercalador a partir de uma posição imediatamente após o último bit codificado ter ser inserido.
[054] Em algumas modalidades, a i-ésima linha das entradas de intercalador são um deslocamento cíclico do vetor z(i * Nc), z(i * Nc + 1), ... .. z(i * Nc + Nc-1). Como um exemplo, o i-ésimo valor de deslocamento de linha é Si, de modo que z(i * Nc + Si%Nc), z(i * Nc + (Si + 1)%Nc), ....z(i * Nc + ( Si + Nc-1)% Nc). Em algumas modalidades, o i-ésimo valor de deslocamento de linha pode ser um valor aleatório, determinado com base em uma tabela de consulta. Em algumas modalidades, o i-ésimo valor de desvio de linha pode ser um valor pseudoaleatório (por exemplo, determinado com base em uma avaliação online ou tabela de consulta). Em algumas modalidades, o valor de deslocamento cíclico pode ser igual a (a * i)%Nc, em que (a) é um valor constante, especialmente selecionado como um primo relativo de Nc.
[055] Depois de todos os valores nulos e os M bits codificados serem alimentados para a matriz, os bits codificados podem então ser lidos a partir de colunas sucessivas da matriz a partir da esquerda para a direita. Assim, no exemplo mostrado na Figura 6, a saída é z(0 + S0%
Nc), z(Nc + s1% Nc) .... z(i * Nc + m% Nc), z(0+ (S0 + 1)% Nc), z(Nc + (S1 + 1)% Nc) ...., z(i * Nc + (Si + 1)% Nc ) ...., z(0+ (S0 + Nc-1)% Nc), z(Nc + (S1 + Nc-1)% Nc) .... z(i * Nc + (Si + Nc-1)% Nc) ...., enquanto ignorando quaisquer valores nulos na matriz.
[056] A Figura 7 é um diagrama de blocos que ilustra um exemplo de uma implementação de hardware para um dispositivo de comunicação sem fio 700 que emprega um sistema de processamento 714. Por exemplo, o dispositivo de comunicação sem fio 700 pode ser um equipamento de usuário (UE), uma estação base, ou qualquer outro aparelho adequado ou meios para comunicação sem fio.
[057] De acordo com vários aspectos da divulgação, um elemento, ou qualquer porção de um elemento, ou qualquer combinação dos elementos pode ser implementada com um sistema de processamento 714 que inclui um ou mais processadores 704. Exemplos de processadores 704 incluem microprocessadores, microcontroladores, processadores de sinal digital (DSP), arranjos de portas programáveis em campo (FPGA), dispositivos de lógica programáveis (PLD), máquinas de estados, lógica fechada, circuitos de hardware discretos, e outro hardware adequado configurado para executar as diversas funcionalidades descritas ao longo desta divulgação. Isto é, o processador 704, como utilizado em um dispositivo de comunicação sem fio 700, pode ser utilizado para implementar qualquer um ou mais dos processos descritos e ilustrados nas figuras 3-6.
[058] Neste exemplo, o sistema de processamento 714 pode ser implementado com uma arquitetura de barramento, representados geralmente pelo barramento
702. O barramento 702 pode incluir qualquer número de barramentos de interconexão e pontes, dependendo da aplicação específica do sistema de processamento 714 e das limitações de projeto global. O barramento 702 liga vários circuitos, incluindo um ou mais processadores (representados geralmente pelo processador 704), uma memória 705, e meios legíveis por computador (representados geralmente pelo meio legível por computador 706). O barramento 702 também pode ligar vários outros circuitos tais como fontes de sincronização, periféricos, reguladores de tensão, e circuitos de gerenciamento de energia, que são bem conhecidos na técnica, e, por conseguinte, não serão descritos mais adiante. Uma interface de barramento 708 provê uma interface entre o barramento 702 e um transceptor
710. O transceptor 710 provê um meio para comunicação com vários outros aparelhos através de um meio de transmissão. Dependendo da natureza do aparelho, uma interface de usuário 712 (por exemplo, teclado, display, altofalante, microfone, joystick) pode também ser provida.
[059] O processador 704 é responsável pelo gerenciamento do processamento de barramento 702 e em geral, incluindo a execução de software armazenado no meio legível por computador 706. O software, quando executado pelo processador 704, faz com que o sistema de processamento 714 execute as várias funções descritas abaixo para qualquer aparelho particular. O meio legível por computador 706 também pode ser usado para armazenar dados que são manipulados pelo processador 704 durante a execução de software.
[060] Um ou mais processadores 704 no sistema de processamento podem executar o software. Software deve ser interpretado de forma ampla para significar instruções, conjuntos de instruções, código, segmentos de código, código de programa, programas, subprogramas, módulos de software, aplicativos, software aplicativos, pacotes de software, rotinas, sub-rotinas, objetos, executáveis, sequências de execução, procedimentos, funções, etc., seja referido como software, firmware, middleware, microcódigo, linguagem de descrição de hardware, ou de outra forma. O software pode residir em um meio legível por computador
706. O meio legível por computador 706 pode ser um meio legível por computador não transitório. Um meio legível por computador não transitório inclui, a título de exemplo, um dispositivo de armazenamento magnético (por exemplo, disco rígido, disquete, fita magnética), um disco óptico (por exemplo, um disco compacto (CD) ou um disco versátil digital (DVD)), um cartão inteligente, um dispositivo de memória flash (por exemplo, um cartão, um stick, ou uma unidade principal), uma memória de acesso aleatório (RAM), uma memória somente de leitura (ROM), uma ROM programável (PROM), um PROM apagável (EPROM), uma PROM eletricamente apagável (EEPROM), registradores, um disco removível, e qualquer outro meio adequado para o armazenamento de software e/ou instruções que possam ser acessadas e lidas por um computador. O meio legível por computador também pode incluir, a título de exemplo, uma onda de portadora, uma linha de transmissão, e qualquer outro meio adequado para transmissão de software e/ou instruções que possam ser acessadas e lidas por um computador. O meio legível por computador 306 pode residir no sistema de processamento
714, ser externo ao sistema de processamento 714, ou distribuído através de múltiplas entidades, incluindo o sistema de processamento 714. O meio legível por computador 706 pode ser incorporado em um produto de programa de computador. A título de exemplo, um produto de programa de computador pode incluir um meio legível por computador, em materiais de embalagem. Os versados na técnica irão reconhecer a melhor forma de implementar a funcionalidade descrita apresentada ao longo desta divulgação, dependendo da aplicação particular e das restrições de projeto global impostas ao sistema global.
[061] Em alguns aspectos da divulgação, o processador 704 pode incluir um conjunto de circuitos configurado para várias funções. Por exemplo, o processador 704 pode incluir um codificador 742, que pode em alguns exemplos operar em coordenação com o software de codificação 752 armazenado no meio de armazenamento legível por computador 706. O codificador 742 pode ser configurado para codificar um bloco de informação para produzir um bloco de código de comprimento N após puncionamento. Em alguns exemplos, o codificador 742 é um codificador polar. No entanto, o codificador 742 não está limitado aos codificadores polares e pode incluir qualquer codificador adequado, tal como um codificador turbo, codificador convolucional tail-biting, ou outro tipo de codificador.
[062] Nos exemplos em que o codificador 742 é um codificador polar, o codificador polar 742 pode ser configurado para codificar de forma polar o bloco de informação para produzir um bloco de código polar tendo um comprimento de N. Por exemplo, o bloco de informação pode ser representado como um vetor de informação de bit u = (u1, u2, ..., uN). O codificador polar 742 pode codificar de forma polar o vetor de bit de informação para produzir o bloco de código polar como um bit de vetor codificado c = (c1, c2, ..., cN), utilizando uma matriz geradora 𝐺𝑁 = 𝐵𝑁 𝐹 ⨂𝑛 , em que 𝐵𝑁 é a matriz de permutação de bit reverso para decodificação de cancelamento sucessivo (SC) (funcionando em alguns aspectos semelhante à função de intercalador utilizada por um codificador turbo em redes LTE) e 𝐹 ⨂𝑛 é a n-ésima potência de Kronecker de F. A matriz 1 0 básica F pode ser representada como . 1 1
[063] A matriz 𝐹 ⨂𝑛 é gerada aumentando a matriz básica 2 x 2 F na n-ésima potência de Kronecker. Esta matriz é uma matriz triangular inferior, em que todas as entradas acima da diagonal principal são iguais a zero. Por exemplo, a matriz 𝐹 ⨂𝑛 pode ser expressa como:
[064] O codificador polar 742 pode, em seguida, gerar o bloco de código polar como:
[065]
[066] Assim, o vetor de informação de bit u pode incluir um número (N) de bits originais, que podem ser codificados de forma polar pela matriz geradora GN para produzir um número correspondente (N) de bits codificados no bloco de código polar c. Em alguns exemplos, o vetor de informação de bits u pode incluir um número de bits de informação, denotados K, e um número de bits congelados, denotados, F. Bits congelados são bits que são definidos em um valor predeterminado apropriado, tal como 0 ou 1. Assim, o valor dos bits congelados pode geralmente ser conhecido em ambos o dispositivo de transmissão e o dispositivo de recepção. O codificador polar 742 pode determinar o número de bits de informação e o número de bits congelados com base na taxa de código R. Por exemplo, o codificador polar 742 pode selecionar uma taxa de código R a partir de um conjunto de uma ou mais taxas de código e selecionar K = N x R bits no bloco de informação para transmissão da informação. Os bits restantes (N -K) no bloco de informação podem, então, ser fixados como bits congelados F.
[067] A fim de determinar quais bits de bloco de informação definir como bits congelados, o codificador polar 742 pode adicionalmente analisar o canal sem fio sobre os quais o bloco de código polar pode ser enviado. Por exemplo, o canal sem fio para transmitir o bloco de código polar pode ser dividido em um conjunto de subcanais, de tal modo que cada bit codificado no bloco de código polar seja transmitido através de um dos subcanais. Assim, cada subcanal pode corresponder a uma localização de bit codificado particular no bloco de código polar (por exemplo, subcanal-1 pode corresponder a localização de bits codificados contendo bit codificado c1). O codificador polar 742 pode identificar os melhores K subcanais para transmitir os bits de informação e determinar os locais de bits originais no bloco de informações que contribuem para (ou correspondentes a) os melhores K subcanais. Por exemplo, com base na matriz geradora, um ou mais dos bits originais do bloco de informação podem contribuir para cada um dos bits codificados do bloco de código polar. Assim, com base na matriz geradora, o codificador polar 742 pode determinar os K locais de bits originais do bloco de informação correspondente aos melhores K subcanais, designar os K locais de bits originais do bloco de informação para bits de informação, e designar os locais de bits originais restantes no bloco de informação para bits fixos.
[068] Em alguns exemplos, o codificador polar 742 pode determinar os melhores K subcanais realizando evolução de densidade ou aproximação Gaussiana. Evolução de densidade é geralmente conhecido dos versados na técnica, e, portanto, os seus detalhes não são aqui descritos. Por exemplo, a construção de códigos polares com base na evolução de densidade é descrita em R. Mori e T. Tanaka
PERFORMANCE OF POLAR CODES WITH THE CONSTRUCTION USING DENSITY EVOLUTION, IEEE Commun. Lett., Vol. 13, No. 7, pp. 519-521, Julho de 2009. Aproximação Gaussiana é uma versão de menor complexidade de evolução de densidade, e também é geralmente conhecida dos versados na técnica. Por exemplo, a construção de códigos polares com base na aproximação de Gauss é descrita em V. Miloslavskaya, SHORTENED POLAR CODES, IEEE Trans. em Teoria da Informação, Junho de 2015.
[069] Em geral, o codificador polar 742 pode executar evolução de densidade ou aproximação Gaussiana para calcular uma respectiva probabilidade de erro de bit (BEP) e/ou razão de probabilidade logarítmica (LLR) para cada um dos locais de bits originais. Por exemplo, as LLRs dos locais de bits codificados são conhecidas a partir das condições de subcanais (por exemplo, com base nas respectivas SNRs dos subcanais). Assim, desde que um ou mais dos bits originais do bloco de informação possa contribuir para cada um dos bits codificados do bloco de código polar, as LLRs de cada um dos locais de bits originais podem ser derivadas das LLRs conhecidas dos locais de bits codificados realizando evolução de densidade ou aproximação Gaussiana. Com base nas LLRs calculadas dos locais de bits originais, o codificador polar 742 pode classificar os subcanais e selecionar os melhores K subcanais (por exemplo, subcanais “bons”) para transmitir os bits de informação.
[070] O codificador polar 742 pode, em seguida, definir os locais de bits originais do bloco de informação correspondente aos melhores K subcanais como incluindo bits de informação e os locais de bits originais restantes correspondentes para os N-K subcanais (por exemplo, subcanais “maus”) como incluindo bits congelados. Permutação de bit reverso pode então ser realizada por aplicação da matriz de permutação de bits reversos BN descrita acima aos N bits (incluindo K bits de informação e N-K bits congelados) para produzir um bloco de informação de bit reverso. A permutação de bit reverso efetivamente reordena os bits do bloco de informação. O bloco de informação de bit reverso pode então ser codificado de forma polar pela matriz geradora GN para produzir um número correspondente (N) de bits codificados no bloco de código polar.
[071] O processador 704 pode ainda incluir um intercalador 344, que pode em alguns exemplos operar em coordenação com a intercalação de software 354 armazenada no meio legível por computador 706. O intercalador 744 pode também operar em coordenação com o codificador 742 para intercalar os bits codificados no bloco de código para produzir um bloco de código intercalado. O intercalador 744 pode ser projetado e operado de acordo com uma ou mais das modalidades descritas acima em relação às figuras 3-6. O codificador 742 pode, em seguida, transmitir o bloco de código intercalado através do transceptor 710.
[072] Além disso, o processador 304 pode incluir um decodificador 346, que pode, em alguns exemplos operar em coordenação com o software de decodificação 356 armazenado no meio legível por computador 306. O decodificador 346 pode ser configurado para receber um bloco de código intercalado através do transceptor 310, deintercalar o bloco de código intercalado com base no projeto de intercalador em forma de triângulo isósceles direito descrito acima para produzir o bloco de código, e decodificar o bloco de código para produzir o bloco de informação original. Em alguns exemplos, o decodificador 346 pode ser um decodificador polar 346. Em outros exemplos, o decodificador 346 pode incluir qualquer decodificador apropriado, tal como um decodificador turbo, decodificador convolucional tais-biting, ou outro tipo de decodificador.
[073] Nos exemplos em que o decodificador 346 é um decodificador polar 346, o decodificador polar 342 pode executar decodificação polar de cancelamento sucessivo (SC) ou decodificação de lista polar SC para decodificar o bloco de código polar. Por exemplo, o decodificador polar 346 pode ser configurado para receber uma versão ruidosa de c, e para decodificar c ou, de forma equivalente, u, usando um algoritmo de decodificação de cancelamento sucessivo (SC) simples. Algoritmos de decodificação de cancelamento sucessivo tipicamente têm uma complexidade de decodificação de O (N log N) e pode atingir uma capacidade de Shannon quando N é muito grande. No entanto, para comprimentos de bloco curto e moderados, o desempenho da taxa de erro de códigos polares significativamente degrada.
[074] Portanto, em alguns exemplos, o decodificador polar 346 pode utilizar um algoritmo de decodificação de lista SC para melhorar o desempenho de taxa de erro de codificação polar. Com decodificação de lista SC, em vez de apenas manter um percurso de decodificação (como em decodificadores SC simples), L percursos de decodificação são mantidos, em que L > 1. Em cada fase de decodificação, o decodificador polar 346 descarta percursos de decodificação menos prováveis (piores) e mantém apenas os L melhores percursos de decodificação. Por exemplo, em vez de selecionar um valor ui em cada fase de decodificação, dois percursos de decodificação correspondentes a qualquer um possível valor de ui são criados e decodificação prossegue em duas sequências paralelas de decodificação (2*L). Para evitar o crescimento exponencial do número de percursos de decodificação, em cada fase de decodificação, apenas os L percursos mais prováveis são retidos. No final, o decodificador polar 342 terá uma lista de L candidatos para 𝑢1𝑁 , dos quais o candidato mais provável é selecionado. Assim, quando o decodificador polar 346 completa o algoritmo de decodificação de lista SC, o decodificador polar 346 retorna um bloco de informação único.
[075] Dentro da presente divulgação, a palavra “exemplar” é usada para significar “servir como um exemplo, caso, ou ilustração”. Qualquer implementação ou aspecto aqui descrito como “exemplar” não deve necessariamente ser interpretado como preferido ou vantajoso em relação a outros aspectos da divulgação. Da mesma forma, o termo “aspectos” não exige que todos os aspectos da invenção incluam o recurso discutido, vantagem ou modo de operação. O termo “acoplado” é aqui utilizado para se referir ao acoplamento direto ou indireto entre dois objetos. Por exemplo, se o objeto A toca fisicamente o objeto B, e o objeto B toca o objeto C, então os objetos A e C podem ainda ser considerados acoplados um ao outro, mesmo que eles não diretamente se toquem fisicamente. Por exemplo, um primeiro objeto pode ser acoplado a um segundo objeto, mesmo que o primeiro objeto não esteja diretamente e fisicamente em contato com o segundo objeto. Os termos “circuitos” e “conjunto de circuito” são largamente utilizados, e destinam-se a incluir ambas as implementações de dispositivos elétricos e condutores que, quando conectados e configurados, permitem o desempenho das funções descritas na presente descrição de hardware, sem limitação quanto ao tipo de circuitos eletrônicos, bem como implementações de informação e instruções de software que,
quando executadas por um processador, permitem o desempenho das funções descritas na presente descrição.
[076] Um ou mais dos componentes, etapas, recursos e/ou funções ilustrados nas figuras 1-7 podem ser reorganizados e/ou combinados em um único componente, etapa, recursos ou função ou incorporados em vários componentes, etapas, ou funções. Os elementos adicionais, componentes, etapas, e/ou funções também podem ser adicionados sem se afastar dos recursos inovadores aqui descritos. Os aparelhos, dispositivos e/ou componentes ilustrados nas figuras 1, 2, e 7 podem ser configurados para executar um ou mais dos métodos, recursos ou etapas descritos aqui. Os novos algoritmos descritos no presente documento podem também ser eficazmente implementados em software e/ou incorporados em hardware.
[077] Deve ser entendido que a ordem específica ou hierarquia das etapas nos métodos divulgados é uma ilustração dos processos exemplares. Com base nas preferências de projeto, entende-se que a ordem específica ou hierarquia das etapas nos processos podem ser alteradas. O método de acompanhamento reivindica elementos presentes das várias etapas em uma ordem exemplar, e não se destinam a ser limitados à ordem específica ou hierarquia apresentada a menos que aqui especificamente recitado.
[078] A descrição anterior é provida para permitir a qualquer pessoa especialista na técnica de praticar os vários aspectos aqui descritos. Várias modificações a estes aspectos serão prontamente evidentes para os versados na técnica, e os princípios gerais aqui definidos podem ser aplicados a outros aspectos. Assim, as reivindicações não se destinam a ser limitadas aos aspectos aqui mostrados, mas deve ser concedido o âmbito completo consistente com a linguagem das reivindicações, em que referência a um elemento no singular não se destina a significar “um e apenas um” a menos que especificamente de modo declarado, mas sim “um ou mais”. A menos que especificamente indicado de outra forma, o termo “algum” refere-se a um ou mais.
Uma frase referindo-se a “pelo menos um de” uma lista de itens refere-se a qualquer combinação desses itens, incluindo membros individuais.
Como exemplo, “pelo menos um de: a, b, ou c” destina-se a cobrir: a, b, c; a e b; a e c; b e c; e a, b e c.
Todos os equivalentes estruturais e funcionais aos elementos dos vários aspectos descritos ao longo desta divulgação, que são conhecidos ou mais tarde, venham a ser conhecidos pelos especialistas na técnica são aqui expressamente incorporados por referência e destinam-se a ser englobados pelas reivindicações.
Além disso, nada aqui divulgado se destina a ser dedicado ao público independentemente de se essa divulgação é expressamente recitado nas reivindicações.
Nenhum elemento de reivindicação deve ser interpretado de acordo com as disposições do 35 USC § 112(f), a menos que o elemento seja expressamente recitado usando a frase “meios para” ou, no caso de um método de acordo com a reivindicação, o elemento é recitado usando a frase “etapa para”.

Claims (14)

REIVINDICAÇÕES
1. Método de comunicação sem fio em um dispositivo de comunicação sem fio de transmissão, compreendendo: codificar um bloco de informação para produzir um bloco de código que compreende uma pluralidade de bits codificados; intercalar a pluralidade de bits codificados utilizando um intercalador para produzir um bloco de código intercalado, em que intercalador compreende uma pluralidade de linhas e uma pluralidade de colunas, em que um número da pluralidade de colunas varia entre a pluralidade de linhas, e em que uma ou mais linhas superiores da pluralidade de linhas compreendem um ou mais valores nulos; e transmitir o bloco de código intercalado para um dispositivo de comunicação sem fio de recepção através de uma interface aérea sem fio.
2. Método de acordo com a reivindicação 1, em que um número de linhas de uma primeira coluna da pluralidade de colunas e o número de colunas em uma primeira linha da pluralidade de linhas são iguais e são selecionados com base em um número da pluralidade de bits codificados no bloco de código.
3. Método de acordo com a reivindicação 2, em que o número de linhas na primeira coluna compreende um número inteiro P que satisfaz uma equação P * (P + 1)/2 ≥ M, onde M é o número da pluralidade de bits codificados no bloco de código .
4. Método de acordo com a reivindicação 1, em que a intercalação da pluralidade de bits codificados adicionalmente compreende: inserir valores nulos, incluindo os um ou mais valores nulos, começando com uma posição mais à esquerda da primeira linha da pluralidade de linhas do intercalador até o número da pluralidade de bits codificados no bloco de código ser igual a um número de posições restantes no intercalador; alimentar a pluralidade de bits codificados em linhas sucessivas da pluralidade de linhas do intercalador depois da inserção; e ler a pluralidade de bits codificados das colunas sucessivas da pluralidade de colunas do intercalador começando com uma primeira coluna da pluralidade de colunas, em que os valores nulos são ignorados quando a leitura é realizada.
5. Método de acordo com a reivindicação 4, em que um número da pluralidade de bits codificados entre aqueles adjacentes da pluralidade de bits codificados dentro daqueles adjacentes da pluralidade de linhas varia entre a pluralidade de linhas.
6. Método de acordo com a reivindicação 4, em que o intercalador compreende uma matriz em forma de triângulo isósceles direito da pluralidade de linhas e a pluralidade de colunas.
7. Método de acordo com a reivindicação 1, em que codificar o bloco de informação adicionalmente compreende: Codificar de forma polar o bloco de informação, em que o bloco de código compreende um bloco de código polar.
8. Método de comunicação sem fio em um dispositivo de comunicação sem fio de transmissão, compreendendo: codificar um bloco de informação para produzir um bloco de código que compreende uma pluralidade de bits codificados; intercalar a pluralidade de bits codificados utilizando um intercalador para produzir um bloco de código intercalado, em que o intercalador compreende uma pluralidade de linhas e uma pluralidade de colunas, em que um número de uma pluralidade de colunas permanece fixo entre a pluralidade de linhas, e transmitir o bloco de código intercalado para um dispositivo de comunicação sem fio de recepção através de uma interface aérea sem fio.
9. Método de acordo com a reivindicação 8, em que intercalar a pluralidade de bits codificados adicionalmente compreende: inserir valores nulos começando com uma posição mais à esquerda da primeira linha da pluralidade de linhas do intercalador até o número da pluralidade de bits codificados no bloco de código ser igual a um número de posições restantes no intercalador; alimentar a pluralidade de bits codificados em linhas sucessivas da pluralidade de linhas do intercalador após a inserção, em que a cada uma da pluralidade de linhas é atribuído um valor de deslocamento cíclico que aumenta em valor conforme a pluralidade de bits codificados é alimentada em cada uma da pluralidade de linhas correspondente; e ler a pluralidade de bits codificados das colunas sucessivas da pluralidade de colunas do intercalador começando com uma primeira coluna da pluralidade de colunas, em que os valores nulos são ignorados quando a leitura é realizada.
10. Método de acordo com a reivindicação 9, em que o intercalador compreende uma matriz em forma de retângulo da pluralidade de linhas e a pluralidade de colunas.
11. Método de acordo com a reivindicação 8, em que intercalar a pluralidade de bits codificados adicionalmente compreende: alimentar a pluralidade de bits codificados para linhas sucessivas da pluralidade de linhas do intercalador começando com uma primeira linha da pluralidade de linhas, em que a cada uma da pluralidade de linhas é atribuído um valor de deslocamento cíclico que aumenta em valor conforme a pluralidade de bits codificados é alimentada em cada um da pluralidade correspondente de linhas; inserir valores nulos nas linhas restantes da pluralidade de linhas após a pluralidade de bits codificados serem alimentados no intercalador; e ler a pluralidade de bits codificados das colunas sucessivas da pluralidade de colunas do intercalador começando com uma primeira coluna da pluralidade de colunas, em que os valores nulos são ignorados quando a leitura é realizada
12. Método de acordo com a reivindicação 11, em que o valor de deslocamento cíclico de uma i-ésima linha da pluralidade de linhas compreende um valor com base em um valor aleatório, um valor pseudoaleatório, ou um restante de (a*i) dividido pelo número da pluralidade de colunas.
13. Método de acordo com a reivindicação 11, em que o intercalador compreende uma matriz em forma de retângulo da pluralidade de linhas e a pluralidade de colunas.
14. Método de acordo com a reivindicação 8, em que codificar o bloco de informação adicionalmente compreende: codificar de forma polar o bloco de informação, em que o bloco de código compreende um bloco de código polar.
BR112020001893-7A 2017-08-04 2017-08-04 projetos de intercalador eficiente para códigos polares BR112020001893A2 (pt)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/096015 WO2019024086A1 (en) 2017-08-04 2017-08-04 EFFICIENT INTERLACTIVE DESIGNS FOR POLAR CODES

Publications (1)

Publication Number Publication Date
BR112020001893A2 true BR112020001893A2 (pt) 2020-07-28

Family

ID=65233333

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112020001893-7A BR112020001893A2 (pt) 2017-08-04 2017-08-04 projetos de intercalador eficiente para códigos polares

Country Status (9)

Country Link
US (1) US11451245B2 (pt)
EP (1) EP3662598A4 (pt)
JP (1) JP2020534716A (pt)
KR (2) KR20230053703A (pt)
CN (1) CN110754052A (pt)
BR (1) BR112020001893A2 (pt)
CA (1) CA3067724A1 (pt)
TW (1) TWI772457B (pt)
WO (1) WO2019024086A1 (pt)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018187902A1 (en) 2017-04-10 2018-10-18 Qualcomm Incorporated An efficient interleaver design for polar codes
KR20220114920A (ko) 2021-02-09 2022-08-17 삼성전자주식회사 데이터 전송을 위한 블록 인터리빙을 수행하는 장치 및 방법
WO2023058793A1 (ko) * 2021-10-08 2023-04-13 엘지전자 주식회사 무선통신 시스템에서 장치의 코드 블록 분할 방법 및 장치
KR20230173317A (ko) 2022-06-17 2023-12-27 한국바이오켐제약 주식회사 오라노핀의 제조방법 및 이에 의해 제조된 오라노핀
US20240137151A1 (en) * 2022-10-13 2024-04-25 Huawei Technologies Co., Ltd. Hybrid product polar codes-based communication systems and methods

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE292336T1 (de) * 1997-01-31 2005-04-15 Cit Alcatel Verfahren und geräte zur schachtelung/entschachtelung von digitalen daten und kommunikationssystem
US7924763B2 (en) 2007-12-11 2011-04-12 Motorola Mobility, Inc. Method and appratus for rate matching within a communication system
WO2011024033A1 (en) * 2009-08-31 2011-03-03 Freescale Semiconductor, Inc. Encoding module, apparatus and method for determining a position of a data bit within an interleaved data stream
CN102164025B (zh) * 2011-04-15 2013-06-05 北京邮电大学 基于重复编码和信道极化的编码器及其编译码方法
CN102136888B (zh) * 2011-04-20 2013-02-20 大唐移动通信设备有限公司 一种子块解交织输入数据处理方法及装置
KR101800409B1 (ko) * 2014-02-19 2017-11-23 삼성전자주식회사 송신 장치 및 그의 인터리빙 방법
KR102157667B1 (ko) 2014-05-15 2020-09-18 삼성전자주식회사 천공 장치 및 그의 천공 방법
GB2533308A (en) * 2014-12-15 2016-06-22 Sony Corp Transmitter and method of transmitting and receiver and method of receiving
US10581462B2 (en) 2015-12-01 2020-03-03 Huawei Technologies Co., Ltd. Signature-enabled polar encoder and decoder
WO2018187902A1 (en) * 2017-04-10 2018-10-18 Qualcomm Incorporated An efficient interleaver design for polar codes
CN107425941B (zh) * 2017-06-16 2022-11-18 华为技术有限公司 速率匹配和解速率匹配的方法及装置
CN109150200B (zh) * 2017-06-27 2021-10-22 华为技术有限公司 一种信道交织的方法和装置

Also Published As

Publication number Publication date
KR20200037231A (ko) 2020-04-08
KR20230053703A (ko) 2023-04-21
CN110754052A (zh) 2020-02-04
US20210152187A1 (en) 2021-05-20
KR102521141B1 (ko) 2023-04-12
WO2019024086A1 (en) 2019-02-07
EP3662598A4 (en) 2021-03-17
EP3662598A1 (en) 2020-06-10
US11451245B2 (en) 2022-09-20
JP2020534716A (ja) 2020-11-26
TW201921845A (zh) 2019-06-01
CA3067724A1 (en) 2019-02-07
TWI772457B (zh) 2022-08-01

Similar Documents

Publication Publication Date Title
US11711163B2 (en) CRC bits for joint decoding and verification of control information using polar codes
US11394491B2 (en) Nested structure for polar code construction using density evolution
US20180019766A1 (en) Pipelining for polar code list decoding
BR112020001893A2 (pt) projetos de intercalador eficiente para códigos polares
CN110521150B (zh) 用于极性码的高效交织器设计
WO2018103000A1 (en) Efficient control channel design using polar codes
BR112019016626A2 (pt) correspondência de taxa de armazenamento temporário circular de verificação de paridade de baixa densidade (ldpc)
BR112019015528A2 (pt) Projetos de vários gráficos base de verificação de paridade de baixa densidade
WO2019028590A1 (en) ANTICIPATED STOP OF POLAR CODES USING DISTRIBUTED CYCLIC REDUNDANCY MONITORING

Legal Events

Date Code Title Description
B350 Update of information on the portal [chapter 15.35 patent gazette]
B06W Patent application suspended after preliminary examination (for patents with searches from other patent authorities) chapter 6.23 patent gazette]