BR112019012985A2 - dispositivos e métodos para construção de código polar - Google Patents

dispositivos e métodos para construção de código polar Download PDF

Info

Publication number
BR112019012985A2
BR112019012985A2 BR112019012985A BR112019012985A BR112019012985A2 BR 112019012985 A2 BR112019012985 A2 BR 112019012985A2 BR 112019012985 A BR112019012985 A BR 112019012985A BR 112019012985 A BR112019012985 A BR 112019012985A BR 112019012985 A2 BR112019012985 A2 BR 112019012985A2
Authority
BR
Brazil
Prior art keywords
bits
subchannels
code
polar
decoding
Prior art date
Application number
BR112019012985A
Other languages
English (en)
Inventor
Ge Yiqun
Original Assignee
Huawei Tech Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Tech Co Ltd filed Critical Huawei Tech Co Ltd
Publication of BR112019012985A2 publication Critical patent/BR112019012985A2/pt

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/134Non-binary linear block codes not provided for otherwise
    • 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/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • H03M13/095Error detection codes other than CRC and single parity bit codes
    • H03M13/096Checksums
    • 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
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0009Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
    • H04L1/0013Rate matching, e.g. puncturing or repetition of code symbols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/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
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0064Concatenated codes
    • H04L1/0065Serial concatenated codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0067Rate matching
    • H04L1/0068Rate matching by puncturing
    • H04L1/0069Puncturing patterns
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/618Shortening and extension of codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Error Detection And Correction (AREA)

Abstract

a presente invenção refere-se a bits de entrada que são codificados em palavras de código que incluem bits codificados. codificação envolve a aplicação de um primeiro conjunto de matrizes de codificação polar gy de primordial dimensão y número de bits de entrada para produzir bits de saída, e a aplicação de um segundo conjunto de matrizes de codificação polar gz de dimensão de número primo z para os bits de saída para produzir a palavra de código . um ou ambos de gx e gy pode ser não-2-a-2. tal desenho kernel e outros aspectos da construção do código, incluindo fiabilidades e seleção de subcanais para a construção de código, de correção de erro não-crc-auxiliado, e encurtamento código e perfuração, são discutidas em mais detalhe aqui.

Description

Relatório Descritivo da Patente de Invenção para DISPOSITIVO E MÉTODOS PARA CONSTRUÇÃO DE CÓDIGO POLAR.
Campo [001] A presente descrição se relaciona em geral com comunicações e, em particular, com construção de códigos polares.
Antecedentes [002] Códigos polares são propostos como códigos de canal para uso em comunicações sem uso de fios futuras, e foram selecionados para codificação de canal de controle de Banda Larga Móvel aprimorada (eMBB) de enlace reverso e de enlace direto para nova interface aérea de õ^-geração (5G), também conhecida como Nova Rádio (NR). Estes códigos são competitivos com códigos de correção de erro do estado da técnica e possuem baixa complexidade de codificação. Veja E. Arikan, Channel polarization: A method for constructing capacity-achieving codes for symmetric binary-input memoryless channels, IEEE Trans. Inf. Theory, vol. 55, no. 7, pp. 3051-3073, 2009. A decodificação de Lista de Cancelamento Consecutivo (SCL) e suas extensões (por exemplo, decodificação de Lista SC) são opções eficazes e eficientes para decodificar informação polar codificada.
[003] Baseado na polarização de canal, Arikan projetou um código de canal que tem provado alcançar a capacidade de canal. A polarização se refere a uma propriedade de codificação que, à medida que o comprimento do código aumenta para o infinito, canais de bit, também referidos como subcanais, polarizam e suas capacidades se aproximam de zero (canal completamente ruidoso) ou um (canal completamente perfeito). Em outras palavras, os bits codificados em subcanais de alta capacidade irão experimentar um canal com alta Relação de Sinal para Ruído (SNR), e irão possuir uma confiabilidade
Petição 870190068949, de 22/07/2019, pág. 5/86
2Π5 relativamente alta ou uma alta probabilidade de serem corretamente decodificados, e bits codificados em subcanais de baixa capacidade irão experimentar um canal com SNR baixa, e irão possuir baixa confiabilidade ou uma baixa possibilidade de serem corretamente decodificados. A fração de canais de bit perfeitos é igual à capacidade deste canal.
Sumário [004] Modalidades ilustrativas são reveladas a título de exemplo na descrição e nas reivindicações.
[005] De acordo com um aspecto da presente descrição, um dispositivo inclui um codificador para produzir uma palavra-código com bits codificados, e um transmissor, acoplado com o codificador, para transmitir a palavra-código. O codificador é configurado para aplicar várias primeiras matrizes de codificação polar Gy com dimensão de número primo Y para bits de entrada para produzir bits de saída, e para aplicar várias segundas matrizes de codificação polar Gz com dimensão de número primo Z para os bits de saída para produzir a palavra-código.
[006] Um método de acordo com outro aspecto envolve codificar bits de entrada em uma palavra-código que inclui bits codificados, e transmitir a palavra-código. A codificação envolve aplicar um primeiro conjunto de matrizes de codificação polar Gy com dimensão de número primo Y para os bits de entrada para produzir bits de saída, e aplicar um segundo conjunto de matrizes de codificação polar Gz com dimensão de número primo Z para os bits de saída para produzir a palavra-código.
[007] Outro aspecto proporciona um meio não temporário legível por processador armazenando instruções que, quando executadas por um ou mais processadores, causam que o um ou mais processadores executem um método. O método, como descrito neste documento,
Petição 870190068949, de 22/07/2019, pág. 6/86
3/75 envolve codificar bits de entrada em uma palavra-código que inclui bits codificados, e transmitir a palavra-código, e a codificação envolve aplicar um primeiro conjunto de matrizes de codificação polar Gy com dimensão de número primo Y para os bits de entrada para produzir bits de saída, e aplicar um segundo conjunto de matrizes de codificação polar Gz com dimensão de número primo Z para os bits de saída para produzir a palavra-código.
[008] Outros aspectos e características de modalidades da presente descrição irão se tornar aparentes para os versados na técnica quando da inspeção da descrição seguinte.
Breve Descrição dos Desenhos [009] Exemplos de modalidades da invenção serão agora descritos em maiores detalhes com referência aos desenhos acompanhantes.
[0010] A Figura 1 é um diagrama apresentando um exemplo de como uma matriz geradora de codificação polar pode ser produzida a partir de um kernel.
[0011] A Figura 2 é um diagrama apresentando um uso ilustrativo de uma matriz geradora de codificação polar para produzir palavrascódigo e uma ilustração esquemática de um codificador polar ilustrativo.
[0012] A Figura 3 ilustra um exemplo de um algoritmo de decodificação SC (Cancelamento Sucessivo).
[0013] A Figura 4 é um diagrama apresentando uma parte de uma árvore de lista de decisão ilustrativa cuja largura é limitada por um tamanho de lista máximo dado e utilizada em um decodificador polar SCL (Lista de Cancelamento Sucessivo).
[0014] A Figura 5 é um diagrama de blocos ilustrando um exemplo de um codificador polar baseado em um kernel 2 por 2.
[0015] A Figura 6 é um diagrama de blocos ilustrando um exemplo
Petição 870190068949, de 22/07/2019, pág. 7/86
4/75 de um codificador polar com correspondência de taxa baseado no kernel 2 por 2, o qual inclui um seletor de subcanal, um codificador polar (Figura 5) e um processador de bit codificado.
[0016] A Figura 7 é um diagrama de blocos ilustrando um exemplo de um codificador polar aninhado baseado em um kernel de 2 por 2.
[0017] A Figura 8 é um diagrama apresentando como matrizes do gerador de codificação polar podem ser produzidas a partir de kernels 3 por 3.
[0018] A Figura 9 inclui diagramas de blocos ilustrando dois codificadores de maior dimensão ilustrativos baseados em diferentes tipos de codificadores kernel de menor dimensão.
[0019] A Figura 10 é um diagrama de blocos ilustrando um exemplo de geração de bit assistente e de alocação de subcanal assistente.
[0020] A Figura 11 é um diagrama de blocos ilustrando um exemplo de assistente de informação, e codificação de subcanal congelado.
[0021] A Figura 11A é um diagrama de blocos ilustrando subcanais de soma de verificação como um exemplo de canais assistentes, transportando somas de verificação geradas por diferentes funções de soma de verificação.
[0022] A Figura 11B é um diagrama de blocos ilustrando subcanais de soma de verificação não consecutivos e consecutivos.
[0023] A Figura 12 é um diagrama de blocos ilustrando pesos de Hamming e pesos de fileira de subcanais de uma matriz do gerador de código polar 4 por 4.
[0024] A Figura 13 é um diagrama de blocos de um seletor de subcanal ilustrativo.
[0025] A Figura 14 é um fluxograma ilustrando um método de seleção de subcanal.
Petição 870190068949, de 22/07/2019, pág. 8/86
5/Ί5 [0026] A Figura 15 é um diagrama de blocos ilustrando um exemplo de codificação que leva perfuração em consideração na seleção de subcanal.
[0027] A Figura 16 é um diagrama de blocos de um dispositivo ilustrativo para codificar e transmitir palavras-código.
[0028] A Figura 17 é um diagrama de blocos de um dispositivo ilustrativo para receber e decodificar palavras-código.
[0029] A Figura 18 é um diagrama de blocos de outro dispositivo ilustrativo para codificar e transmitir palavras-código.
[0030] A Figura 19 é um diagrama de blocos de outro dispositivo ilustrativo para receber e decodificar palavras-código.
[0031] A Figura 20 é um diagrama de blocos de um sistema de processamento simplificado ilustrativo que pode ser utilizado para implementar modalidades reveladas neste documento.
[0032] A Figura 21 ilustra um sistema de comunicação ilustrativo no qual modalidades da presente descrição poderiam ser implementadas.
[0033] As Figuras 22A e 22B ilustram dispositivos ilustrativos que podem implementar os métodos e instruções de acordo com esta descrição.
[0034] A Figura 23 é um fluxograma de um método de codificação ilustrativo para outra modalidade.
Descrição Detalhada [0035] A Figura 1 é um diagrama apresentando, a título de ilustração, como uma matriz geradora de código polar pode ser produzida a partir de um kernel G2 100. Observe que a Figura 1 é um exemplo. Na presente descrição, outras formas de kernel também são consideradas. A polarização deriva do modo aninhado no qual uma matriz geradora é criada a partir de um kernel (ou combinação de kernels), de acordo com um aspecto da presente descrição.
Petição 870190068949, de 22/07/2019, pág. 9/86
6/Ί5 [0036] Um código polar pode ser formado a partir de uma matriz de produto de Kronecker baseada em uma matriz origem F = G2 100. Para um código polar possuindo palavras-código de comprimento N = 2m, a matriz geradora é ¢2 A matriz de produtos de Kronecker de 2 partes 102 e a matriz de produtos de Kronecker de 3 partes G?®3 104 na Figura 1 são exemplos de matrizes gerados de codificação polar. A abordagem de matriz geradora ilustrada na Figura 1 pode ser expandida para produzir uma matriz de produtos de Kronecker de m partes [0037] A Figura 2 é um diagrama apresentando um uso ilustrativo de uma matriz geradora de codificação polar para produzir palavrascódigo e uma ilustração esquemática de um codificador polar ilustrativo. Na Figura 2, a matriz geradora 104 é utilizada para produzir palavras-código de comprimento 23 = 8. Uma palavra-código x é formada pelo produto de um vetor de entrada u = [0 θ 0 0 u5 ti7] pela matriz geradora G2^104 como indicado em 200. O vetor de entrada u é composto de bits de informação e fixos ou bits congelados. No exemplo específico apresentado na Figura 2, N = 8, de modo que 0 vetor de entrada u é um vetor com 8 bits, e a palavracódigo x é um vetor com 8 bits. O vetor de entrada possuir bits congelados nas posições 0, 1, 2 e 4, e possui bits de informação nas posições 3, 5, 6 e 7. Uma implementação ilustrativa de um codificador que gera palavras-código é indicada em 212, onde os bits congelados são todos estabelecidos para 0, e os símbolos + dentro de círculos representam adição de módulo 2. Para 0 exemplo da Figura 2, um vetor de entrada com N = 8 bits é formado de K = 4 bits de informação e N - K = 4 bits congelados. Códigos desta forma são referidos como códigos polares e 0 codificador é referido como um codificador polar. Decodificadores para decodificar códigos polares são referidos como decodificadores polares. Bits congelados são estabelecidos para zero
Petição 870190068949, de 22/07/2019, pág. 10/86
7/75 no exemplo apresentado na Figura 2. Entretanto, bits congelados poderiam ser estabelecidos para outros valores de bit que são conhecidos tanto por um codificador quanto por um decodificador. Para facilidade de descrição, bits congelados todos zero são considerados neste documento, e podem ser geralmente preferidos.
[0038] Como é conhecido, a codificação polar pode ser executada com ou sem inversão de bit. O codificador polar ilustrativo da Figura 2 é sem inversão de bit.
[0039] Geralmente, a saída de um codificador polar pode ser expressão como onde, ser inversão de bit, = uma matriz geradora N por N, N = 2n, n > 1 (por exemplo, para n = 1, = f (indicado como 100 na Figura 1)). Para inversão de bits, g3 = f , onde uma matriz de permutação de inversão de bit N por N.
[0040] Modalidades reveladas neste documento poderiam ser implementadas com ou sem inversão de bit.
[0041] Na construção de código polar, de forma ideal, as posições mais confiáveis de um vetor de entrada são utilizadas para transportar os bits de informação, e as posições mais não confiáveis de um vetor de entrada são utilizadas para transportar os bits congelados (isto é, bits já conhecidos tanto pelo codificador como pelo decodificador). Entretanto, quando informação é transmitida através de um canal físico, a confiabilidade de uma dada posição de bit também é em função das características do canal físico, tal como uma taxa de rasura ou a Relação de Sinal para Ruído (SNR) do canal físico. Uma sequência de confiabilidade (posições confiáveis e não confiáveis) poderia ser calculada baseado nas características assumidas ou medidas do canal físico antes da informação ser transmitida através do canal, por exemplo. Em teoria, os bits congelados podem ser estabelecidos para qualquer valor contanto que a localização de cada
Petição 870190068949, de 22/07/2019, pág. 11/86
8/75 bit congelado seja conhecida tanto pelo codificador como pelo decodificador. Nas aplicações convencionais os bits congelados também são todos estabelecidos para zero.
[0042] Com um comprimento de código suficientemente longo, um código projetado de acordo com a teoria de polarização pode alcançar uma capacidade de canal em um canal sem memória simétrico binário se um algoritmo de decodificação de Cancelamento Sucessivo (SC) for utilizado. Um algoritmo de decodificação SC muito simples foi analisado e simulado por Arikan.
[0043] Na prática, um comprimento de código não pode ser infinito e um canal não pode ser um canal sem memória binário, e, portanto, a capacidade de canal não pode ser alcançada por tal decodificador SC simples. De acordo com Arikan, a capacidade de canal pode ser aproximada quando utilizando decodificação SC se um comprimento de código for acima de 220 bits em um canal AWGN. Tal comprimento de código longo é impraticável nas comunicações sem uso de fios, por exemplo.
[0044] O código assistente ou de detecção de erro (EDC) pode ser incluído no vetor de entrada para ajudar na decodificação. Um código de verificação de redundância cíclica (CRC) poderia ser utilizado como um EDC. Mais do que um EDC poderiam ser utilizados dentro de uma palavra-código. Entretanto, deve ser entendido que outros EDCs, tal como um código de soma de verificação ou um Código Fletcher, podem ser utilizados. Alguns EDCs também são códigos de correção de erro (ECCs).
[0045] Os bits CRC, por exemplo, são gerados baseado nos bits de informação sendo transmitidos. Os bits CRC geralmente são colocados em posições mais confiáveis no vetor de entrada, apesar de os bits CRC também poderem ou ao invés disso, serem colocados em ouras posições no vetor de entrada. Os bits CRC podem ser utilizados
Petição 870190068949, de 22/07/2019, pág. 12/86
9/75 na seleção de percurso para decodificação de Lista, por exemplo, para aprimorar a performance do código polar. Durante a codificação, um vetor de entrada com N bits poderia ser formado a partir dos K bits de informação, incluindo um ou mais bits CRC, e (N - K) bits congelados. Neste exemplo, iniciando com um número de bits de entrada, um CRC é calculado e anexado aos bits de entrada para produzir um conjunto de K bits de informação incluindo os bits de entrada e os bits CRC. Os (N - K) bits congelados restantes são inseridos para produzir um vetor de entrada com N bits, onde N é uma potência de 2 em um código polar Arikan. O vetor de entrada então é multiplicado por uma matriz geradora para um código polar para produzir uma palavra-código com N bits.
[0046] A palavra-código é transmitida através de um canal, e um receptor, por sua vez, recebe uma palavra. Devido aos efeitos de canal tal como ruído, a palavra recebida pode não ser idêntica à palavra-código transmitida. Um decodificador tenta decodificar a palavra recebida para determinar bits de informação no vetor de entrada original.
[0047] Durante a decodificação de uma palavra-código codificada a partir de um vetor de entrada, as localizações e valores de bits congelados no vetor de entrada são tratados como conhecidos. Para simplicidade de descrição, os bits do vetor de entrada que não são conhecidos pelo decodificador antecipadamente serão referidos como bits desconhecidos. Por exemplo, os bits de informação incluindo quaisquer bits CRC são bits desconhecidos. Alguns decodificadores polares utilizam decodificação SC como citado acima, na qual os bits desconhecidos são decodificados sequencialmente e o cancelamento sucessivo é aplicado. Uma vez que uma decisão particular tenha sido tomada com respeito a como um bit desconhecido é para ser decodificado, decodificadores polares SC não permitem que o bit seja
Petição 870190068949, de 22/07/2019, pág. 13/86
10/75 modificado ou corrigido, e o decodificador prossegue para decodificar o próximo bit desconhecido. A Figura 3 ilustra um exemplo de um algoritmo de decodificação SC.
[0048] Outro tipo de algoritmo de decodificação polar, o qual é uma extensão da decodificação polar SC, mas com melhor performance de correção de erro e maior eficiência de espaço, referido como um decodificador de Lista, é descrito em List Decoding of Polar Codes by Tai and Vardy, Proceedings of the 2011 IEEE International Symposium on Information Theory, pp. 1-5 (July 2011). Em urn decodificador de Lista, sucessivos níveis e uma árvore de decisão binária são gerados, cada nível correspondendo a uma decisão em relação a um respectivo bit desconhecido. Cada caminho na árvore de decisão a partir do nó raiz até os nós folha representa uma possível sequência decodificada parcial de bits desconhecidos e possui uma probabilidade correspondente. Tipicamente, durante a geração da árvore de decisão em cada nível da árvore de decisão onde o número de caminhos crescem além de um conjunto limite L, os L caminhos possuindo as mais altas probabilidades são identificados, e os caminhos restantes são descartados. Alguns decodificadores de Lista também podem fazer uso de bits CRC incluídos na palavra-código para ajudar na decodificação. Por exemplo, se a palavra-código incluir bits CRC codificados para os bits de informação anteriores, então, uma vez que a árvore de decisão seja gerada, cada um dos caminho remanescentes que corresponde aos bits de informação decodificados é verificado em relação aos bits CRC representados em cada um dos caminhos restantes. Então, o decodificador emite como um vetor decodificado os bits de informação no caminho restante que passa pela verificação CRC. Se mais do que um caminho passar pela verificação CRC, então o decodificador seleciona para saída o caminho que passa pela verificação CRC e possui a mais alta
Petição 870190068949, de 22/07/2019, pág. 14/86
11/75 probabilidade, o que pode ser determinado de acordo com uma métrica. Se nenhum caminho passar pela verificação CRC, ou se a palavra-código não incluir bits CRC codificados, então o decodificador selecionar para saída o caminho que possui a mais alta probabilidade, o que, como citado acima, pode ser determinado de acordo com uma métrica.
[0049] Assim, existem dois tipos de decodificação baseada em cancelamento sucessivo, incluindo decodificação SC e decodificação de Lista, as quais também são referidas como decodificação SCL. Para cada bit decodificado, um caminho de decodificação gera 2 ramificações folha (bit = 0 | 1) para o próximo bit de decodificação. Um decodificador SC rastreia somente um caminho de decodificação. Após o valor de um bit decodificado ser estimado, o outro valor possível é ignorado. A decodificação continua com o próximo bit, assumindo que cada bit anterior tenha sido corretamente estimado quando atualizando resultados de soma parciais.
[0050] Apesar de rastrear vários caminhos de decodificação como na decodificação SCL poder oferecer melhor performance de decodificação do que o rastreamento de caminho único como nos decodificadores SC, o tamanho de codificador multicaminho e a complexidade aumentam com o comprimento da palavra-código e com o amanho de lista L. Por exemplo, para um comprimento de palavracódigo N = 8 com um kernel 2 por 2, existem 28 = 256 possibilidades para valores estimados Outros tamanhos de kernel possuem diferentes números de possibilidades, tais como 38 para N = 8 e um kernel 3 por 3. À medida que o comprimento da palavra-código aumenta, o número de possibilidades cresce exponencialmente, e o rastreamento de todos os caminhos de decodificação para todas as combinações de se torna impraticável. Por rastrear vários caminhos de decodificação de acordo com uma lista de tamanho L,
Petição 870190068949, de 22/07/2019, pág. 15/86
12/75 decodificadores SCL ainda podem oferecer melhor performance de decodificação do que os decodificadores SC, com tamanho e complexidade razoáveis. Um decodificador SCL monitora os melhores L caminhos de decodificação e estima valores de bit de informação para os L caminhos de decodificação por combinar valores de Relação de Probabilidade de Log (LLR) com valores de soma parcial anteriormente calculados.
[0051] Cada caminho de decodificação a partir da raiz (bit decodificado n2 0) de uma árvore de decodificação é associado com uma Métrica de Caminho (PM). Um caminho de decodificação anexa cada bit recentemente decodificado para os valores anteriores estimados. Após os cálculos LLR para cada bit decodificado, métricas de caminho são continuamente atualizada utilizando valores LLR como
a seguir:
se o valor LLR >= 0
o PM[0, i+1] = PM[i]
o PM[1, i+1] = PM[i] + |LLR|
se o valor LLR < 0
o PM[0, i+1] = PM[i] + |LLR|
o PM[1, i+1] = PM[i].
[0052] Os melhores caminhos de decodificação possuem os
menores valores PM. Se uma LLR for menor do que 0, então o bit
decodificado é mais provável um 1, de modo que a próximo PM para o valor 1 estimado (PM[1 ,i+1 ]) permanece o mesmo que a métrica de caminho atual, e o valor LLR absoluto é adicionado para a PM para o valor estima 0 (PM[0, i+1]), na verdade penalizando o caminho menos provável com o valor LLR absoluto. Se o valor LLR estiver próximo de 0, então a decisão para o valor de 0x não é confiável e a penalidade PM em relação ao caminho penalizado é pequena.
[0053] Para cada bit decodificado em uma árvore de
Petição 870190068949, de 22/07/2019, pág. 16/86
13/75 decodificação, cada caminho de decodificação produz 2 novos caminhos de decodificação, para um kernel 2 por 2 no exemplo apresentado. Cada caminho de decodificação folha herda a LLR, a soma parcial, e os valores PM a partir de seu pai. Após o número de caminhos de decodificação alcançar L, um decodificador SCL seleciona, baseado nas 2L PMS para os 2L caminho de decodificação candidatos, os L caminhos com as menores PMS, e descarta os outros L caminhos de decodificação. Os L caminhos selecionados classificados utilizando as PMS. Por exemplo, a classificação de caminho poderia designar identificadores de caminho (IDs) ou índices para os caminhos selecionados, com para o caminho possuindo a melhor PM sendo designado um ID de caminho ID n2 1, para um caminho com a pior PM sendo designado o ID de caminho n2 L, e para outros caminhos sendo designados os IDs de caminhão n2 2 a n2 (L-1) de acordo com suas PMS. Novos IDs de caminho de decodificação poderiam ser designados após cada etapa de classificação, segundo a estimada de cada bit de palavra-chave.
[0054] A Figura 4 é um diagrama apresentando uma parte de uma árvore de lista de decisão ilustrativa utilizada em um decodificador polar SCL, cuja largura é limitada por um dado tamanho máximo de lista L. Na Figura 4, o tamanho de lista L é 4. Cinco níveis 402, 404, 406, 408, 410 da árvore de decisão são ilustrados. Apesar de cinco níveis serem ilustrados, deve ser entendido que uma árvore de decisão para decodificar K bits de informação (incluindo bits CRC) possuiría K + 1 níveis. Em cada nível após o nível raiz 402, cada um até 4 caminho de decodificação remanescente é estendido por um bit. Os nós folha ou filhos do nó raiz 420 representam escolhas possíveis para um primeiro bit, e subseqüentes nós folha representam possíveis escolhas para bits subseqüentes. O caminho de decodificação a partir do nó raiz 420 até o nó folha 430a, por exemplo, representa uma
Petição 870190068949, de 22/07/2019, pág. 17/86
14/75 sequência estimada de bits de palavra-chave 0,1,0, 0. No nível 408, o número de caminhos possíveis é maior do que L, de modo que L caminhos possuindo a mais alta probabilidade (por exemplo, melhores PMS) são identificados, e os caminhos restantes são descartados. Os caminhos de decodificação que permanecem após a classificação de caminho no nível 406 são apresentados em negrito na Figura 4. De forma similar, no nível 410, o número de caminhos possíveis é novamente maior do que L, de modo que L caminhos possuindo a mais alta probabilidade (por exemplo, melhores PMS) são identificados, e os caminhos restantes são novamente descartados. No exemplo apresentado, os caminhos terminando nos nós folhas 430a, 430b, 430c e 430d representam os aminhos de mais alta probabilidade. Os caminhos terminando nos nós folha 440a, 440b, 440c, 440d são os caminhos de menor probabilidade que são descartados.
[0055] A decodificação SCL pode ser ainda dividida em decodificação de lista pura na qual caminhos restantes com mais alta probabilidade são selecionados e a decodificação SCL Auxiliada por CRC (CA-SCL) onde bits CRV são utilizados para seleção de caminho. A decodificação SC é um caso especial de decodificação de lista pura, com o tamanho de lista L = 1. Um CRC pode proporcionar melhor performance de correção de erro na seleção do caminho final, mas é opcional na decodificação SCL. Outras operações assistentes de decodificação, tal como Verificação de Paridade (PC) baseada em paridade ou bits PC que estão incluídos em um vetor de entrada, poderiam ser utilizadas ao invés ou conjuntamente com os bits CRC na seleção de caminho final durante a decodificação ou na seleção de caminho final.
[0056] A decodificação SCL amplamente aprimora a performance de um código polar para um tamanho limitado de código. Entretanto,,
Petição 870190068949, de 22/07/2019, pág. 18/86
15/75 comparado com o comprimento de código similar e com taxas de código de códigos de Verificação de Paridade de Baixa Densidade (LDPC) e com códigos Turbo, a decodificação SCL pode possuir uma pior Taxa de Erro de Bloco (BLER) do que os códigos LDPC e Turbo bem projetados. A decodificação CA-SCL pode aprimorar a performance de um código polar com um comprimento de código limitado. Por exemplo, um decodificador CA-SCL com um tamanho de lista L = 32 poderia proporcionar muito melhor performance do que códigos LDPC e Turbo com complexidade computacional similar.
[0057] Em um canal de Ruído Gaussiano Branco Aditivo (AWGN), um código polar na prática divide um canal em N subcanais, onde N é referido como um comprimento de código mãe e é sempre uma potência de 2 e um código polar Arikan, o qual é baseado em um kernel polar que é uma matriz 2x2. Uma chave para construção de código para um código polar é determinar quais canais de bit, também referidos neste documento como subcanais, são selecionados ou alocados para bits de informação e quais subcanais são alocados para bits congelados. Em algumas modalidades, um ou mais subcanais são alocados para bits congelados. Em algumas modalidades, um ou mais subcanais são também alocados para paridade / PC, CRC, e/ou outros tipos de bits que são utilizados para ajudar na decodificação. Em termos de teoriza de polarização, os subcanais que são alocados para bits congelados são chamados de subcanais congelados, os subcanais que são alocados para bits de informação são chamados subcanais de informação, e subcanais assistentes adicionais podem ser alocados para bits assistentes que são utilizados para ajudar na decodificação. Em algumas modalidades, bits assistentes são considerados como sendo uma forma de bits de informação, para os quais subcanais mais confiáveis são selecionados ou alocados.
[0058] Codificadores polares baseados nos produtos Kronecker de
Petição 870190068949, de 22/07/2019, pág. 19/86
16/75 um kernel Arikan 2 por 2 G2 são descritos acima. A Figura 5 é um diagrama de blocos ilustrando um exemplo de um codificador polar 500 baseado em um kernel 2 por 2. Subcanais e bits codificados são rotulados na Figura 5. Como discutido em detalhes adicionais neste documento, um canal é dividido em N subcanais por um código polar. Um bloco de informação e bits congelados são alocados em N subcanais, e 0 vetor com tamanho N resultante é multiplicado por uma matriz Kronecker N por N pelo codificador polar 500 para gerar uma palavra-código que inclui N bits codificados. Um bloco de informação inclui pelo menos bits de informação e também poderia incluir bits tais como bits CRC ou bits PC. Um seletor de subcanal (não apresentado) poderia ser acoplado com 0 codificador polar 500 para selecionar subcanais para bits de informação e quaisquer bits assistentes,com quaisquer subcanais restantes sendo subcanais congelados.
[0059] Para codificadores polares que são baseados em um kernel 2 por 2 e em uma matriz de Kronecker N por N, N deve ser potência de 2. Isto não somente limita 0 limite de performance, mas também a granularidade (comprimento do código e taxa de código) de um código polar. Na verdade, para ter uma taxa de código ou comprimento arbitrário para os códigos polares baseados em Arikan, alguns bits codificados são perfurados. A performance BLER e a estabilidade da codificação poderiam ser diminuídas como resultado.
[0060] Outras formas de kernels de polarização poderiam produzir polarização entre subcanais de código. Exemplos de tais diferentes formas de kernel e de sua utilização são revelados neste documento. [0061] Como resultado de decodificação SC, SCL ou CA-SCL, 0 fenômeno de polarização aparece através destes subcanais sintetizados. Alguns canais sintetizados possuem alta capacidade, e alguns possuem baixa capacidade. Dito de outra forma, alguns subcanais sintetizados possuem de forma equivalente alta Relação de
Petição 870190068949, de 22/07/2019, pág. 20/86
17/75
Sinal para Ruído (SNR) e outros possuem de forma equivalente baixa SNR. Estas métricas são exemplos de características que poderiam ser utilizadas para quantificar ou classificar confiabilidade de subcanal. Outras métricas indicativas de confiabilidade de subcanal também poderiam ser utilizadas ou utilizadas no lugar destas.
[0062] A construção de código envolve determinar uma taxa de código (o número de bits de informação K, ou quantos subcanais são para transportar bits de informação) e selecionar os K subcanais particulares entre os N subcanais disponíveis que são para transportar bits de informação. Para facilidade de referência neste documento, bits de informação poderiam incluir bits de entrada que são para ser codificados, e possivelmente bits CRC, bits PC, e/ou outros bits assistentes que são utilizados para ajudar na decodificação. A seleção de subcanal é baseada nas confiabilidades dos subcanais, e tipicamente os subcanais de mais alta confiabilidade são selecionados como subcanais de informação para transportar bits de informação.
[0063] Uma etapa inicial na construção de código é calcular as confiabilidades para todos os subcanais, e então selecionar os subcanais com confiabilidade mais alta para os bits de informação e quaisquer bits CRC, bits de paridade / PC, ou outros bits assistentes que são utilizados para ajudar na decodificação.
[0064] As confiabilidades de subcanal poderiam ser especificadas, por exemplo, em uma ou mais sequências ordenadas. Uma única sequência de subcanais ordenada aninhada, independente da SNR, poderia ser calculada para um comprimento de código Nmax com sequências ordenadas para comprimentos de códigos mais curtos N sendo selecionadas a partir das Nmax sequências mais longas. Várias sequências ordenadas em termos de diferentes comprimentos de código mãe Ni ao invés disso poderiam ser calculadas, e uma das sequências de comprimento de código mãe poderia ser selecionada
Petição 870190068949, de 22/07/2019, pág. 21/86
18/75 para um código particular no comprimento de código preferido. Outra opção possível envolve calcular várias sequências ordenadas em termos de valores SNR, por exemplo, e selecionar uma sequência ordenada baseado na SNR medida.
[0065] Existem vários métodos para calcular confiabilidades de subcanal, mas estes métodos podem levar a diferentes resultados. Por exemplo, de acordo com uma método auxiliado por gênio proposto em R.Pedarsani, Polar Codes: Construction and Performance Analysus, June 2011, EPFL master project, um codificador codifica uma sequência de treinamento que é conhecida pelo decodificador em diferentes subcanais. O decodificador realimenta os resultados da decodificação para o codificador de modo que o codificador pode calcular estatísticas de confiabilidade para cada subcanal, e um vetor de confiabilidade bem adaptado através dos subcanais é obtido. O procedimento de treinamento acontece com uma dada SNR, e, portanto, este método é relacionado com a SNR e não em tempo real.
[0066] Como outro exemplo, Mori R, Tanaka T., Performance and construction of polar codes on symmetric binary-input memoryless channels, IEEE International Symposium on Information Theory , 2009, 1496-1500, propõem um método de evolução de densidade (DE) no qual a confiabilidade de urn subcanal é medida utilizando as possibilidades de erro de decodificação da decodificação de Propagação de Convicção, a qual pode ser calculada via evolução de densidade. O método proposto tem demonstrado ser conquistador de capacidade para canais de rasura binários simétricos arbitrários quando utilizado para construção polar. Entretanto, devido ao método contar com cálculos repetitivos de valores LLR para cada subcanal, ele é computacionalmente complexo.
[0067] De acordo com um método genie-aided proposto em E. Arikan, Channel polarization: A method for constructing capacity
Petição 870190068949, de 22/07/2019, pág. 22/86
19/75 achieving codes for symmetric binary-input memoryless channels, IEEE Transactions on Information Theory, 2009, 55(7): 3051-3073, urn codificador codifica em diferentes subcanais uma sequência de treinamento que é conhecida pelo decodificador. O decodificador realimenta os resultados da decodificação para o codificador de modo que o codificador pode calcular estatísticas de confiabilidade para cada subcanal, e um vetor de confiabilidade bem adaptado através dos subcanais é obtido. As confiabilidades relativas para os subcanais são dependentes da SNR de recepção, tornando este método um método dependente da SNR.
[0068] Os métodos de aproximação Gaussianos como propostos em J.Dai, K.Niu, Z.Si, J.Lin, Evaluation and Optimization of Gaussian Approximation for Polar Codes, May 2016, e em P. Trifonov, Efficient design and decoding of polar codes. IEEE Trans, on Communications 60.11 (2012): 3221-3227, assumem que cada bit codificado é sujeito a uma igual probabilidade de erro. A partir da probabilidade de erro, as confiabilidades através dos subcanais são obtidas com um algoritmo de evolução de densidade. Devido a esta probabilidade de erro nos bits codificados estar relacionada com a SNR de recebimento, este método também é relacionado com a SNR e é computacionalmente complexo.
[0069] Nas comunicações móveis sem uso de fios, o canal de rádio varia com o tempo. É impraticável consumir largura de banda de comunicação e recursos de processamento significativos para um método de construção genie-aided. A aproximação Gaussiana pode, portanto, ser preferida,em conjunto com fixar uma SNR de trabalho ou SNR de referência para uma combinação particular de comprimento de código e taxa de código.
[0070] Entretanto, os métodos baseados em aproximação Gaussiana para confiabilidades de computação através de subcanais
Petição 870190068949, de 22/07/2019, pág. 23/86
20/75 também são altamente complexos. Com requerimentos de latência de decodificação mais curta e mais curta em algumas aplicações, pode ser difícil implementar hardware para cálculos de confiabilidade práticos dinamicamente. Armazenar todos os vetores de confiabilidade para todos os valores possíveis de N e de SN Rs de trabalho consumiría mais memória do que seria prático em um sistema móvel sem uso de fios, por exemplo, e, portanto, em tal aplicação, é necessário recalcular as confiabilidades de subcanal sempre que o comprimento de código mãe N for alterado.
[0071] Os métodos baseados em aproximação Gaussiana também requerem uma entrada de SNR. Diferentes entradas de SNR resultam em diferentes vetores de confiabilidade. De modo a alinhar tanto um codificador como um decodificador, uma SNR de trabalho deve ser proporcionada tanto para o codificador como para o decodificador. Além disso, qualquer deslocamento entre um valor de SNR de trabalho que seja utilizada pelo codificador e pelo decodificador e uma SNR real do canal no decodificador leva à perda de performance.
[0072] Um método de peso de polarização (PW) independente de SNR é revelado em R1-1611254, Details of the Polar Code Design, Huawei & HiSilicon, 3GPP TSG RAN WG1 Meeting #87. Neste método, a confiabilidade de urn subcanal é medida pelos valores de expansão beta correspondentes, os quais são dados por uma fórmula de forma fechada em função da representação binária do índice do subcanal. A medida de confiabilidade é independente da SNR, e pode levar a uma única sequência de subcanais ordenada aninhada para diferentes taxas de codificação e comprimentos de bloco. A sequência pode ser calculada off-line e armazenada na memória para uso, para proporcionar uma menor complexidade de implementação e computacional em relação aos outros métodos.
[0073] Como mencionado acima, existem vários modos para gerar
Petição 870190068949, de 22/07/2019, pág. 24/86
21/75 uma sequência ordenada (a partir de um kernel e de sua matriz geradora) via calcular as confiabilidades de subcanal. Nem todo modo pode necessariamente levar a uma sequência aninhada, e esta sequência aninhada pode não ser necessariamente única. Sequências ordenadas aninhadas poderiam ser geradas, por exemplo, baseadas em um peso de polarização como revelado no Pedido de Patente Chinês N2 CN 201610619695.5, depositado em 29 de julho de 2016, ou baseadas em um peso de Hamming como revelado no Pedido de Patente US N2 62/438.565, depositado em 23 de dezembro de 2016.
[0074] Os cálculos de sequência ordenada podem ser executados em vários modos diferentes. Por exemplo, os cálculos poderiam ser executados online, produzindo sequências ordenadas que podem ser dinamicamente ajustadas ou recalculados baseadas, por exemplo, nas condições de canal observadas. Os cálculos alternativamente podem ser executados off-line (isto é, antecipadamente) para produzir sequências ordenadas pré-calculadas (e estáticas) que podem ser armazenadas e recuperadas durante operações de codificação subsequentes. Ainda em outra alternativa, os cálculos podem ser executados parcialmente online e parcialmente off-line.
[0075] Como citado acima, nas comunicações móveis sem uso de fios, as condições do canal podem variar de forma significativa no tempo. Pode ser impraticável utilizar métodos de cálculo de sequência online com alta complexidade computacional (por exemplo, métodos genie-aided, e baseados em DE e GA) devido a estes métodos poderem consumir significativa largura de banda de comunicação e recursos de processamento. Métodos computacionalmente complexos, tais como métodos genie-aided, DE e/ou baseados em GA geralmente ao invés disso executados off-line para produzir várias sequências ordenadas estáticas, por exemplo, por fixar uma SNR de trabalho ou SNR de referência para diferentes combinações de
Petição 870190068949, de 22/07/2019, pág. 25/86
22/75 comprimento de código e taxa de código. Entretanto, métodos simples de geração de sequência online tais como estes revelados no Pedido de Patente US N2 62/463.128, denominada APPARATUS AND A METHOD OF ESPECIFYING ORDERED SEQUENCES OF CODING SUB-CHANNELS, depositado em 24 de fevereiro de 2017, ainda podem ser preferidos, pelo fato de que eles geralmente consumem menos memória, e podem ser mais flexíveis e adaptáveis para as condições de canal sem uso de fios variando com o tempo.
[0076] Também podem existir vários desafios associados com a decodificação SCL auxiliada por CRC. Por exemplo, apesar da CASCL poder aprimorar a performance de um código polar, um problema potencial com tal decodificação se relaciona com utilizar bits CRC para correção de erro. Em um sistema móvel sem uso de fios, por exemplo, bits CRC podem ser anexados aos bits de informação e reservados somente para detecção de erro, para indicar para um decodificador se um bloco codificado recebido atual é decodificado com sucesso. Se um CRC fosse para ser utilizado para correção de erro na decodificação CA-SCL para seleção de percurso final, bits CRC seriam verificados mais de uma vez. No pior caso, um CRC seria verificado L vezes para um tamanho de lista L. Isto de forma significativa aumentaria uma taxa de alarme falso que deve ser cuidadosamente limitada em um sistema móvel sem uso de fios, especialmente para canais físicos de controle. Por exemplo, se bits aleatórios forem transmitidos para um UE, o UE pode passar seus bits CRC e reportar os bits decodificados para camadas superiores. Se bits codificados forem transmitidos para um UE, então o UE poderia realmente decodificar alguns bits incorretamente, mas o CRC ainda passaria. Especialmente nos sistemas sem uso de fios, por exemplo, pode ser preferível evitar tais alarmes falsos ou limitar os mesmos para uma probabilidade muito baixa. O CRC foi proposto principalmente para
Petição 870190068949, de 22/07/2019, pág. 26/86
23/75 este propósito. Cada vez que os bits CRC são verificados, existe alguma perda de capacidade de detecção. Portanto, pode ser desejável para um código polar ser construído para permitir ao decodificador evitar utilizar bits CRC para correção de erro e manter boa performance BLER.
[0077] Retornando para a codificação, uma matriz de Kronecker (matriz geradora) é uma matriz triangular inferior, o que significa que o primeiro subcanal é distribuído em todos os bits codificados e o último subcanal é distribuído somente no último bit. Isto implica que a confiabilidade do último subcanal é mais alta do que esta do primeiro subcanal. Isto é muito diferente de outros esquemas de codificação de canal, nos quais um codificador igualmente distribui todos os bits de informação em uma palavra-código. Neste sentido, a performance de um código polar poderia ser mais sensível à perfuração do que outros tipos de esquema de codificação de canal. Em comparação, devido a cada bit codificado em um código convolucional ou em um código LDPC estar relacionado com todos os bits de informação, mesmo após alguns bits codificados serem perfurados, um decodificador convolucional ou LDPC ainda pode recuperar todos os bits de informação a partir dos bits codificados que permanecem após a perfuração. Quando projetando um esquema de perfuração para código polar, esta característica de sensibilidade de perfuração e a relevância entre os bits perfurados e os subcanais deve ser cuidadosamente considerada.
[0078] Como citado acima, o puncionamento poderia ser utilizado para proporcionar diferentes taxas de código e comprimentos de código para os códigos polares baseados em kernel Arikan. A Figura 6 é um diagrama de blocos ilustrando um exemplo de um codificador polar com correspondência de taxa, o qual inclui um seletor de subcanal 602, um codificador polar 500 (Figura 5) e um processado de
Petição 870190068949, de 22/07/2019, pág. 27/86
24/75 bit codificado 604. O exemplo na Figura 6 é baseado em um kernel 2 por 2, em K bits de informação, em uma palavra-código com M bits, e em uma taxa de código R = K/M que é obtida por puncionamento pelo processador de bit codificado 604. O processador de bit codificado 604 também pode executar ou ao invés disso executar outro processamento de bit codificado, tal como encurtamento, enchimento com zeros, e/ou repetição.
[0079] Cada um dos aspectos acima de construção de código, incluindo projeto de kernel, confiabilidades e seleção de subcanais para construção de código, correção de erro não auxiliada por CRC, e encurtamento e puncionamento de código, é discutido em detalhes adicionais neste documento.
[0080] Com respeito ao projeto de kernel, o kernel proposto por Arikan é um kernel binário 2 por 2, o que implica que 2 bits de entrada são codificados juntos, e cada subcanal é utilizado para codificar ou transportar um respectivo único bit. O kernel binário 2 por 2 tem se comprovado como possuindo o mais alto valor de expoente (0,5) em um kernel binário (1 subcanal para 1 bit). Este valor expoente é um indicador do grau de polarização. Um maior grau de polarização significa que existem mais subcanais confiáveis que possuem maior capacidade do que para um código com menor grau de polarização. Entretanto, o kernel 2 por 2 de Arikan produz uma matriz de Kronecker (matriz geradora) cuja dimensão deve ser uma potência de 2, Alguns bits codificados pode precisar ser puncionados para corresponder a uma taxa de código e;ou a um comprimento de código alvo, impactando na performance.
[0081] Exemplos de matrizes gerados de codificação polar baseadas em G2 são apresentadas na Figura 1. A Figura 7 é um diagrama de blocos ilustrando um exemplo de um codificador polar aninhado 700 baseado em um kernel 2 por 2. Os G2 blocos
Petição 870190068949, de 22/07/2019, pág. 28/86
25/75 apresentados na Figura 7 poderiam ser implementados, por exemplo, pelos multiplicadores de matriz, e também são referidos neste documento como codificadores de kernel. Um codificador aninhado é baseado em uma matriz geradora na qual kernels com dimensão menor são utilizados para produzir um kernel com dimensão maior. Por exemplo, os quatros codificados de kernel 2 por 2 (e as matrizes 2 por 2 correspondentes) na Figura 7 são aninhados como apresentado para produzir o codificador polar 4 por 4 700. O kernel 4 por 4 é a matriz geradora para um bloco de entrada com 4 entradas. [0082] Também existem outros tipos ou formas de kernels, incluindo kernels com diferentes dimensões com numeração básica. Tais kernels podem ser utilizados na codificação polar se sua forma for de acordo com a teoria de polarização, ou seja, a polarização é mantida no lado da decodificação. Por exemplo, um kernel binário poderia ser 3 por 3, 5 por 5, 7 por 7, e assim por diante. Diferente de um kernel 2 por 2, o qual possui um único formato, outros kernels com numero primo podem possuir diferentes formatos e ainda manter polarização no lado da decodificação.
[0083] A Figura 8 é um diagrama apresentando como as matrizes geradoras de codificação polar podem ser produzidas a partir de kernels 3 por 3. kernels G3 do Tipo A e do Tipo B são apresentados a título de exemplo, e as matrizes geradoras de ordem mais lata do que 3 podem ser produzidas como produtos de Kronecker de cada matriz G3.
[0084] Dois ou mais kernels com número primo poderiam ser combinados para formar kernels com maior dimensão. Como apresentado na Figura 7, uma combinação de dois kernels G2 2 por 2 pode formar um kernel G4 4 por 4. Em outro exemplo, uma combinação de kernels G2 2 por 2 e de kernels G3 3 por 3 pode formar um kernel Ge 6 por 6. A Figura 9 inclui diagramas de blocos ilustrando
Petição 870190068949, de 22/07/2019, pág. 29/86
26/75 dois codificados de dimensão maior ilustrativos 902, 904 baseados em diferentes tipos e codificadores de kernel de menor dimensão, incluindo codificadores de kernel G2 e G3. Os kernels Ge e os codificadores ao invés disso poderiam ser formados utilizando vários estágios de kernels G3 e codificadores. Existem vários modos nos quais kernels de menor dimensão poderiam ser combinados (ou interconectados) para produzir kernels de maior dimensão. A Figura 9 é apenas um exemplo. Além disso, kernels com maior dimensão poderiam eles próprios ser combinados para produzir um kernel com dimensão ainda maior. Por exemplo, quatro kernels Ge poderiam ser combinados para produzir um kernel G12, etc. Este princípio funciona para kernels com dimensão maior que são eles próprios diretamente ou indiretamente compostos de kernels de número primo.
[0085] Algumas modalidades são descritas neste documento no contexto de codificadores de kernel. Entretanto, deve ser apreciado que os próprios kernels ou matrizes poderiam ser combinados. Por exemplo, uma abordagem de codificação tal como apresentada a título de exemplo nas Figuras 7 e 9 poderia ser expressa como um produto de matrizes, as quais são elas próprias construídas baseadas nas matrizes de dimensão de número primo. Tal codificação seria denotada na forma d = u Ga * Gb, onde Ga é uma Mariz que é constituída de matrizes Gy de dimensão de número primo e Gb é uma matriz que é constituída de matrizes Gz de dimensão de número primo. Como um exemplo, para 0 codificador polar 902 na Figura 9 e a expressão de matriz acima, Ga é baseada em uma combinação de kernels ou matrizes G3, e Gb é baseada em uma combinação de kernels ou matrizes G2.
[0086] Um kernel ou matriz Ge é um exemplo de um kernel ou matriz de maior dimensão que é baseada em uma combinação de kernel ou matrizes de menor dimensão. No caso dos codificadores
Petição 870190068949, de 22/07/2019, pág. 30/86
27Π5 polares na Figura 9, os kernels ou matrizes Ge ilustrativos, de dimensão 6, são ambos baseados em uma combinação de kernels ou matrizes de dimensão de número primo G2 e G3. Mesmo kernels ou matrizes de dimensão maior poderiam ser construídas baseadas em kernels ou matrizes Ge, e/ou em kernels ou matrizes de dimensão maior que 6, mas mesmo em tais modalidades, as matrizes de maior dimensão poderiam ser decompostas, e pelo menos sente sentido também consideradas côo sendo baseadas, em kernels ou matrizes de dimensão de número primo.
[0087] Apesar do valor expoente citado acima, outro indicador de grau de polarização, de qualquer kernel de dimensão de número primo que não seja dois é menor do que este do kernel 2 por 2 de Arikan, um kernel de dimensão de número primo que não seja dois ou uma combinação de diferentes dimensões de kernels pode gerar uma matriz geradora que não seja potência de dois. Um menor grau de polarização pode resultar em performance pobre comparada com a codificação baseada em kernel de Arikan. Entretanto, uma matriz geradora que não é potência de dois pode não envolver puncionamento, ou menos bits puncionados, para correspondência de taxa de código e/ou de comprimento de código, com nenhum ou menos impacto sobre a performance de código que não é potência de dois.
[0088] Se um subcanal puder transmitir mais do que um bit, então, vários bits podem ser combinados em um símbolo em um alfabeto definido, e um símbolo não binário é transmitido codificado em cada subcanal. Por consequência, kernels de polarização não são limitados aos kernels binários (campo de Galois) ou kernels não binários também são contemplados. Por exemplo, um kernel baseado em símbolo 4 por 4 é descrito abaixo. Similar a um kernel binário, um kernel não binário poderia possuir diferentes dimensões, incluindo
Petição 870190068949, de 22/07/2019, pág. 31/86
28/75 dimensões numeradas com número primo.
[0089] O exemplo seguinte é um kernel não binário que é chamado de um kernel RS-4. Primeiro definimos o seguinte mapeamento de símbolo no campo Galois-4:
[0090] kernel é a
ÍX [0091] são como a seguir:
Multiplicação
Operações de multiplicação adição no campo Galois-4
Adição [0092] Isto é apenas um exemplo. Outras definições de campo de Galois e de kernels não binários são possíveis.
[0093] Também deve ser observado que um kernel binário 2 por 2 pode ser considerado como um caso especial, no campo de Galois-2.
[0094] Um kernel não binário poderia ser preferido por seu valor de expoente maior e maior grau de polarização do que um kernel binário. Entretanto, a complexidade de computação de decodificação é maior para um kernel não binário, devido ao fato de que um
Petição 870190068949, de 22/07/2019, pág. 32/86
29/75 decodificador teria que manusear símbolos ao invés do que bits.
[0095] Os kernels não binários possuem características de kernels binários. Além disso, kernels não binários poderiam ser combinados ou colocados em cascata com kernels binários para formar um código polar. Apesar do kernel binário 2 por 2 de Arikan ser utilizado neste documento como um exemplo, aspectos revelados podem ser estendidos para outros tipos de kernels de polarização.
[0096] Voltando agora para as confiabilidades de subcanal e para a seleção ou alocação, em um sistema móvel sem uso de fios por exemplo, tanto o comprimento do bloco de informação (Kmax) quanto o comprimento do código (Mmax) são limitados ou tem um limite superior. O comprimento máximo de código resulta em um comprimento máximo de código mãe Nmax para o código polar. No caso de um kernel 2 por 2 de Arikan, por exemplo, Nmax é uma potência de 2, 2X. No caso de um kernel 3 por 3, Nmax é potência de 3, 3X. No caso de kernel 10 por 10, Nmax é potência de 10, 10x. No caso de um kernel duplo 3 por 3 não binário com símbolos de 2 bits com 2 símbolos com comprimento total de 4 bits, Nmax é 4*3X. Nmax pode ser similarmente determinado para outros tipos e/ou dimensões de kernels.
[0097] Uma vez que um kernel é selecionado (por exemplo, 2 por 2, 3 por 3, 6 por 6, binário ou de Galois), o kernel selecionado pode ser utilizado para construir uma matriz geradora por um produto de Kronecker que é aninhado, o que permite uma sequência ordenada aninhada de subcanais ser encontrada. Aqui, Qmax baseado em um kernel 2 por 2 de Arikan é revelado como um exemplo ilustrativo de uma sequência ordenada aninhada.
[0098] Como citado acima, existem vários modos de gerar tal sequência ordenada aninhada a partir de um kernel e de sua matriz geradora. Nem todo modo pode necessariamente levar a uma sequência aninhada, e esta sequência aninhada pode não ser
Petição 870190068949, de 22/07/2019, pág. 33/86
30/75 necessariamente única. Exemplos de geração de sequências ordenadas aninhadas, baseado em um peso de polarização, são referenciados acima. Outras técnicas também ou ao invés destas serem utilizadas.
[0099] Confiabilidades relativas entre subcanais e a ordem de confiabilidades, em particular, quais subcanais possuem maior confiabilidade do que outros, são mais importantes para a construção de código do que as confiabilidades absolutas. Neste contexto, uma sequência ordenada ou um vetor (Qmax) em termos das confiabilidades através dos Nmax subcanais poderiam ser proporcionada, em ordem ascendente ou descendente. Cada entrada em tal sequência ordenada é um índice de um subcanal em uma modalidade. O tamanho desta sequência (Q max ) θ (K max ). Por exemplo, para N max — 16 β Kmax — 16, a sequência ordenada de índices de subcanais, classificada em ordem ascendente de confiabilidade de polarização entre os 16 subcanais poderia ser Q»** “ ίθ θ 3 5 6910 12 71.113 1415] q subcanal n2 15 possui a maior confiabilidade de polarização e o subcanal n2 0 possui a menor confiabilidade neste exemplo. Em algumas modalidades, somente as Kmax entradas de sequência mais fortes ou mais confiáveis, e não todas as Nmax entradas, são armazenadas.
[00100] Diferentes métricas de confiabilidade podem ser geradas por diferentes métodos, para chegar a uma sequência classificada de subcanais. O armazenamento e/ou a organização de tal sequência poderia ser adaptada para otimização de espaço (compactada) ou para acesso fácil a partir da memória, por exemplo.
[00101] A sequência (Qmax) possui uma propriedade aninhada. Para um kernel de Arikan 2 por 2, por exemplo, se Krtax' s KfTS3X/2f Mmax’ θ Hmax“ Hmax/2, a Sequência (Qmax) é um subconjunto de (Qmax). Esta propriedade aninhada significa que para qualquer combinação a sequência Q
Petição 870190068949, de 22/07/2019, pág. 34/86
31/75 pode ser construída por consecutivamente selecionar subcanais cujos índices são menores do que N a partir de Qmax mais longa na memória. Por exemplo, para “3, Gkax - [θ 1 2 4-3567] para θ exemp|0 acima de Qmax. Neste exemplo, Q®a*'(for = 8) θ obtido por tirar de Qmax (para Nmax = 16).
[00102] Uma sequência aninhada não é dependente da SNR. Os métodos Genie-assisted e de Aproximação Gaussiana citados acima precisam de uma entrada de SNR, de modo que diferentes SNRs levam a diferentes sequências, o que poderia ser um problema significativo para canais sem uso de fios variando com o tempo, por exemplo. Entretanto, uma sequência aninhada não altera baseada na SNR. Confiabilidades de subcanal em uma sequência aninhada permanecem as mesmas independente da SNR. Isto poderia ser útil, por exemplo, para permitir que uma sequência aninhada fosse padronizada. Os subcanais mais confiáveis então podem ser selecionados a partir da mesma sequência aninhada independente da SNR real.
[00103] Um próprio kernel de número primo não é aninhado. No modo para construir uma matriz geradora ou um kernel maior, um produto de Kronecker como revelado neste documento, é aninhado para proporcionar polarização. Tal construção aninhada de uma matriz geradora também proporciona uma sequência ordenada aninhada de confiabilidades de polarização de subcanal. Por exemplo, uma método de peso de Hamming simples poderia ser utilizado. Existem vários métodos para derivar uma sequência aninhada a partir de uma matriz geradora aninhada, sem ser dependente da SNR. Quando gerando uma sequência ordenada, a SNR não é utilizada como um valor de entrada para a geração de uma sequência independente da SNR. Em ambos os métodos, Genie-assisted e de Aproximação Gaussiana, a SNR é um dos valores de entrada.
Petição 870190068949, de 22/07/2019, pág. 35/86
32/75 [00104] Os métodos Genie-assisted e de Aproximação Gaussiana também são dependentes da taxa de código. Diferentes taxas de código possuem diferentes sequências. A nova rádio (NR) 5G, por exemplo, pode utilizar granularidade refinada de taxa de código, o que envolvería alta carga de computação e/ou uma tabela de memória muito grande para armazenar sequências de subcanal para um nível mais refinado de granularidade de taxa de código.
[00105] Uma sequência aninhada também poderia simplificar a implementação, pelo fato de que somente uma sequência para Nmax poderia ser armazenada. Para qualquer N menor do que Nmax, uma sequência ordenada Q pode ser determinada por simplesmente selecionar os subcanais mais confiáveis que possuem índices menores do que N a partir de Qmax, ou de forma equivalente, por tirar os índices de subcanal que são maiores ou iguais a N a partir de Qmax. [00106] Em algumas implementações, uma única sequência poderia ser armazenada tanto em um codificador como em um decodificador para evitar ambigüidade entre o codificador e o decodificador. Nos métodos dependentes da SNR, é quase impossível garantir que o codificador e o decodificador possuem exatamente o mesmo valor de SNR e, portanto, a mesma sequência ordenada. Acredita-se que uma sequência direcionada pela SNR possui uma performance ideal com uma SNR de trabalho particular, o que de forma ideal exatamente corresponde à SNR real no decodificador. Uma vez que exista um deslocamento, a performance ideal é perdida. Em um sistema sem uso de fios, é muito difícil totalmente evitar qualquer deslocamento entre a SNR de trabalho e a SNR real.
[00107] Como pode ser visto, um kernel designado de acordo com os princípios descritos acima pode permitir que uma sequência ordenada de subcanais (por exemplo, Qmax) seja encontrada, a qual é aninhada e/ou independente da SNR, adequada para codificação
Petição 870190068949, de 22/07/2019, pág. 36/86
33/75 polar.
[00108] Em algumas modalidades (com ou sem urn kernel designado como descrito neste documento) de modo a evitar correção de erro auxiliada por CRC em um decodificador, alguns subcanais podem ser utilizados para transmitir bits que os decodificadores irão utilizar durante a decodificação, por exemplo. A seleção de um caminho de decodificação correto poderia na verdade corrigir erros em uma palavra recebida, e neste sentido, a seleção de caminho poderia ser considerada como incorporando uma forma de correção de erro.
[00109] Os bits assistentes não são bits de informação (bits CRC são tratados como bits de informação em uma modalidade neste documento) nem bits congelados, mas podem ser gerados a partir de bits de informação por uma regra que é conhecida tanto por um codificador como por um decodificador. Estes bits poderiam ser considerados bits de detecção de erro, bits de correção de erro, ou bits de seleção de caminho, por exemplo,mas são referidos neste documento principalmente como bits assistentes ou assistentes de decodificação. Exemplos de bits assistentes incluem bits CRC extras, bits de verificação de paridade (PC) e bits de soma de verificação.
[00110] Para propósito ilustrativo, bits assistentes são descritos abaixo como sendo alocados para subcanais que são separados dos subcanais utilizados para bits de informação e congelados. Bits assistentes poderiam proporcionar um CRC extra reservado para decodificação CA-SCL separados de bits CRC normais anexados a um bloco de código. Isto é um exemplo de um caso especial da presente descrição de bits assistentes e de subcanais assistentes, os quais em uma modalidade são selecionados após todos os subcanais de informação terem sido selecionados. Em outra modalidade, os subcanais assistentes são selecionados a partir do espaço de subcanais congelados, a partir de subcanais que normalmente seriam
Petição 870190068949, de 22/07/2019, pág. 37/86
34/75 utilizados para bits congelados, por exemplo.
[00111] Os subcanais assistentes que transmitem bits assistentes de decodificação poderiam ser espalhados através de todo o espaço de subcanais, o que poderia ser preferido para melhor performance, ou ocupar pelo menos algumas posições de subcanais consecutivos. O número (X) deste subcanais assistentes poderia ser maior do que um, e até (N-K). Este número máximo (N-K) varia com o comprimento do código e com a taxa de código, e X poderia ser controlado para uma complexidade de decodificação mais simples. Em uma modalidade, os primeiros subcanais assistentes aparecem após vários subcanais de informação, devido a um decodificador baseado em SC processar os bits de informação primeiro, e então, decodificar bits assistentes para selecionar o caminho através dos bits de informação anteriormente processados.
[00112] Portanto, um construtor de código poderia dividir todo o espaço de subcanais incluindo todos os subcanais em três grupos, incluindo subcanais de informação para K bits de informação, subcanais assistentes de decodificação para X bits assistentes / assistentes de decodificação, e subcanais congelados para (N-K-X) bits congelados.
[00113] A Figura 10 é um diagrama de blocos ilustrando um exemplo de geração de bit assistente e de alocação de subcanal assistente. De acordo com uma regra que é conhecida ou de outro modo distribuída para um codificador e para um decodificador, um bit assistente é gerado baseado em vários bits de informação que são alocados para subcanais de informação e o bits assistente é alocado para um subcanal assistente após os subcanais de informação que codificam estes bits de informação. Vários bits assistentes poderiam ser gerados e designados para subcanais assistentes, como apresentado na Figura 10. Os subcanais assistentes distribuídos são
Petição 870190068949, de 22/07/2019, pág. 38/86
35/75 apresentados na Figura 10 a título de exemplo. Os subcanais assistentes também ou invés disso poderiam incluir vários subcanais consecutivos.
[00114] A Figura 11 é um diagrama de blocos ilustrando um exemplo de assistente de informação e de codificação de subcanal congelado. Baseado pelo menos em alguns bits de um bloco de dados com K bits, bits assistentes são gerados, e bits de informação (incluindo bits de dados e possivelmente bits CRC, de paridade e/ou outros bits gerados a partir dos mesmos), bits congelados, e os bits assistentes são respectivamente alocados ou mapeados para subcanais de informação, subcanais congelados, e subcanais assistentes. Por exemplo, em algumas modalidades, os bits assistentes representam uma soma de verificação (para detecção de erro) através de alguma parte dos bits de informação.
[00115] Em uma modalidade, uma ou mais somas de verificação são adicionadas como bits assistentes para auxiliar um decodificador a determinar ou selecionar os caminhos de um procedimento de decodificação de lista. Uma soma de verificação são dados de pequeno tamanho (bits de soma de verificação) a partir de todos ou de alguns bits de um bloco de informação de entrada para o propósito de detecção de erro. O procedimento que produz uma soma de verificação é chamado de função de soma de verificação. Por exemplo, bits de verificação de paridade são um tipo de soma de verificação e a função de verificação de paridade é uma função de soma de verificação que produz bits de verificação de paridade. Os bits CRC são um tipo de bits de verificação de paridade e um codificador CRC é um tipo de função de verificação de paridade.
[00116] Se tais bits de soma de verificação, ou outros tipos de bits assistentes, são utilizados e como eles são utilizados, poderia ser dependente da implementação de decodificação. Por exemplo, se as
Petição 870190068949, de 22/07/2019, pág. 39/86
36/75 condições atuais do canal forem muito boas (alta SNR), então um decodificador poderia determinar que bits de soma de verificação não precisam ser utilizados para auxiliar na decodificação de um CB (bloco de código) atual, ou um decodificador poderia utilizar bits de soma de verificação para terminar um processo de decodificação precocemente se ele detectar uma falha de decodificação baseado nos bits de verificação.
[00117] Uma soma de verificação não precisa ser utilizada somente para determinar se todo um CB está corretamente decodificado. Por exemplo, um único CB poderia conter mais do que uma soma de verificação. Se mais do que uma soma de verificação for verificada em um CB, estas somas de verificação poderiam ser produzidas por diferentes funções de soma de verificação ou por uma função de soma de verificação, e a partir de diferentes partes ou da mesma parte de um bloco de informação.
[00118] Diferentes dos bits CRC anexados a cada CB (bloco de código), estes bits de soma de verificação poderiam ser transparentes para a camada superior, mas conhecidos somente por um codificador ou decodificador de canal. O número de bits de soma de verificação poderia ser fixo ou variável. Por exemplo, este número poderia ser dependente do comprimento do código e/ou da taxa de código. Bits de soma de verificação poderiam pegar subcanais consecutivos ou subcanais não consecutivos.
[00119] A Figura 11A é um diagrama de blocos ilustrando subcanais de soma de verificação (como um exemplo de canais assistentes) transportando somas de verificação geradas por diferentes funções de soma e verificação, e a Figura 11B é um diagrama de blocos ilustrando subcanais de soma de verificação não consecutivos e consecutivos.
[00120] A seleção de subcanais de informação poderia ser baseada
Petição 870190068949, de 22/07/2019, pág. 40/86
37/75 em uma confiabilidade de polarização (sequência Q), por exemplo, ao passo que a seleção dos subcanais assistentes de decodificação (por exemplo, soma de verificação) poderia ser baseada em mais do que uma métrica de confiabilidade de polarização (sequência Q) (por exemplo, baseada também em uma segunda métrica) de modo a permitir que as posições destes subcanais assistentes de decodificação seja distribuídas mais aleatoriamente ou de forma mais eficiente entre os subcanais de informação, por exemplo.
[00121] Em algumas modalidades, duas diferentes métricas são utilizadas para seleção de subcanal assistente de decodificação. Por exemplo, uma primeira métrica pode ser uma métrica confiabilidade de polarização (por exemplo, sequência Q) e uma segunda métrica pode ser um peso tal como um peso de Hamming dos subcanais (ou uma função do peso de Hamming). Um peso de Hamming poderia ser preferido parcialmente devido ao mesmo ser utilizado pelo código de Reed-Muller (RM) e parcialmente devido a sua simplicidade. O código RM pode ser considerado como um exemplo especial de códigos polares, pelo fato de que ele é baseado no peso de Hamming ao invés de na confiabilidade de polarização, e ele utiliza um algoritmo de decodificação de Probabilidade Máxima (ML) (o código RM baseado no peso de Hamming aborda o limite de performance ML se o comprimento do código for pequeno), mas ele pode ser decodificado com decodificação SC ou SCL.
[00122] Por exemplo, a sequência ordenada Qmax em termos de confiabilidade de polarização para Nmax = 16 no exemplo acima é = [012483569 10 12 7 1.113 14 151 , e seus pesos de Hamming são [0 1 1 1 1222222333 4]. A confiabilidade de polarização basicamente associa os pesos de Hamming, mas proporciona granularidade mais refinada. Com N crescente, estas duas métricas se tornariam mais diferentes uma da outra.
Petição 870190068949, de 22/07/2019, pág. 41/86
38/75 [00123] O peso de Hamming de urn subcanal é definido neste documento como sendo o peso de Hamming de uma fileira de uma matriz geradora. Veja a Figura 12, a qual é um diagrama de blocos ilustrando pesos de Hamming de e pesos de fileira de subcanais de uma matriz geradora de código polar 4 por 4. Em um código polar, o peso de Hamming de um subcanal é relacionado com o peso de fileira deste subcanal em sua matriz geradora (peso de fileira = 2A(peso de Hamming)). O peso de fileira indica o número dos bits codificados nos quais um subcanal é distribuído. Geralmente falando, em quantos quanto mais bits codificados uma entrada de bit de informação para um subcanal é distribuído, mais robusto é o subcanal. Para o exemplo de uma matriz geradora 4 por 4 apresentada na Figura 12, o subcanal n2 0 possui um peso de Hamming de 0 e é distribuído somente no bit de código n2 0. O subcanal n2 3 possui um peso de Hamming de 2 e é distribuído em quatro bits de código.
[00124] Em outras palavras, um bit no subcanal n2 3 possui melhor chance de ser decodificado corretamente do que um bit no subcanal n2 0. Ou, todos os quatro subcanais são distribuídos no bit codificado n2 0, de modo que existe muito mais interferência no bit codificado n2 0 do que no bit codificado n2 3. A partir deste ponto de vista, pode ser mais provável alocar um bit de informação para o subcanal n2 3 e para o subcanal n2 0, ou puncionar um bit codificado associado com o subcanal n2 0 tem menos dano do que puncionar um bit codificado associado com o subcanal n2 3.
[00125] Intuitivamente, quanto mais bits codificados sobre os quais um bit de informação é distribuído, mais robusto é o bit de informação e, por consequência, maior a confiabilidade.
[00126] Um exemplo de como o peso de Hamming pode ser utilizado como a segunda métrica para selecionar subcanais assistentes é discutido em maiores detalhes no Pedido Provisório US
Petição 870190068949, de 22/07/2019, pág. 42/86
39/75 η2 62/433127, depositado em 12 de dezembro de 2016. Observe que o peso de Hamming é apenas um exemplo de uma métrica que poderia ser utilizada como uma segunda métrica. Outros exemplos incluem uma função do peso de Hamming (por exemplo, pesos de fileira, como revelado no Pedido Provisório n2 62/432448, depositado em 9 de dezembro de 2016). Geralmente, qualquer outra métrica também indicativa da confiabilidade (de polarização) pode ser utilizada como a segunda métrica. Em uma alternativa adicional, a segunda métrica é diferente da primeira métrica, mas também se relaciona ou é indicativa da confiabilidade de polarização. Entretanto, ainda em outra alternativa, a ordem natural de subcanais pode ser utilizada como a segunda métrica de modo que, por exemplo, subcanais no fim dos subcanais de informação sejam selecionados como subcanais assistentes.
[00127] Em algumas modalidades, mais do que duas métricas poderiam ser utilizadas para selecionar subcanais assistentes. Em adição, qualquer um dos vários algoritmos de seleção de subcanal assistente utilizando as métricas descritas acima poderia ser utilizado. Existem outras possibilidades para selecionar subcanais assistentes. [00128] A Figura 13 é um diagrama de blocos de um seletor de subcanal ilustrativo. Na Figura 13, o seletor de subcanal 1300 pode selecionar subcanais de informação, assistentes e congelados baseado na confiabilidade de polarização, e em uma segunda métrica apresentada a título de exemplo como um peso de Hamming. Outros parâmetros também poderiam ser levados em consideração, tais como reservas de subcanais devido ao encurtamento ou puncionamento, como apresentado.
[00129] A Figura 14 é um fluxograma ilustrando um método de seleção de subcanal. A ordem das seleções dos subcanais de informação e assistentes de decodificação poderia ser: seleciona os
Petição 870190068949, de 22/07/2019, pág. 43/86
40/75 subcanais de informação primeiro e os subcanais assistente de decodificação em segunda lugar; seleciona os subcanais assistentes de decodificação primeiro e os subcanais de informação em segundo lugar; pré-seleciona candidatos a subcanal assistente de decodificação, seleciona os subcanais de informação em segunda lugar, e então determina os subcanais assistente de decodificação; seleciona ambos os candidatos a subcanal de informação e assistente em paralelo e então troca alguns subcanais entre dois conjuntos. [00130] O método apresentado a título de exemplo na Figura 14 é pretendido somente para propósito ilustrativo. Podem existir vários métodos para selecionar os subcanais de informação e os subcanais assistentes. A ordem de seleção poderia ser como citada acima, ou uma ordem diferente, e a performance poderia ser diferente dependendo da ordem na qual os subcanais são selecionados, e/ou dos critérios utilizados para seleção de subcanal.
[00131] Com respeito ao puncionamento, em um exemplo extremo, o bit no primeiro subcanal é distribuído somente no primeiro bit codificado, devido à matriz geradora (Kronecker) ser uma matriz triangular inferior. Se este primeiro bit codificado fosse puncionado e o primeiro subcanal transmitisse um bit de informação, então este bit não seria recuperável em um decodificador. Em contraste, desde que o bit no último subcanal é distribuído em todos os bits codificados, ele seria recuperado mesmo se vários bits codificados fossem puncionados. Com uma sequência ordenada tal como uma sequência Qmax, o primeiro subcanal raramente é selecionado para bits de informação ou para bits assistentes de decodificação, e o último subcanal tende a ser selecionado para bits de informação. Se alguns bits sistemáticos forem transmitidos com os bits codificados, então estes bits sistemáticos devem ser mantidos após qualquer estágio de encurtamento e de puncionamento de código.
Petição 870190068949, de 22/07/2019, pág. 44/86
41/75 [00132] Estes exemplos indicam que pode existir uma forte relação entre bits puncionados e seleção de subcanal. Em uma modalidade, um padrão de encurtamento / puncionamento é primeiro determinado, e então, subcanais que devem ser evitados tanto para bits de informação como para bits assistentes de decodificação podem ser identificados. O mapeamento a partir de um padrão de encurtamento / puncionamento poderia ser realizado, por exemplo, por mapeamento inverso de bit. Um esquema de codificação poderia misturar mais do que um esquema de mapeamento.
[00133] A Figura 15 é um diagrama de blocos ilustrando um exemplo de codificação que leva puncionamento em consideração na seleção de subcanal. Bits codificados que são emitidos pelo codificador polar 1504 são puncionados pelo processador de bit codificado 1506 para gerar uma palavra-código com M bits no exemplo apresentado. Um padrão de puncionamento é mapeado para subcanais pelo mapeador de bit / subcanal 1508, e os subcanais que são para ser puncionado de acordo com o padrão de puncionamento são evitados para alocação pelo seletor de subcanal 1502 para bits de informação e bits assistentes. Estes subcanais também poderiam de forma equivalente ser considerados como sendo reservados para bits congelados. Qualquer um dos vários métodos poderia ser utilizado para encurtar e puncionar uma palavra-código, e similarmente qualquer um dos vários métodos poderia ser utilizado para mapear bits codificados puncionados para subcanais. Em outra modalidade, a alocação ou seleção de subcanal pelo seletor de subcanal 1502 é executada primeiro, e o mapeamento de bit / subcanal é alimentado em direção ao processador de bit codificado 1506 para evitar puncionar bits codificados correspondente aos subcanais para os quais os bits de informação ou os bits assistentes, por exemplo, são alocados.
Petição 870190068949, de 22/07/2019, pág. 45/86
42/75 [00134] Funcionamento é um exemplo de uma operação que poderia ser executada em relação aos bits codificados por um processador de bit codificado tal como 1506 para gerar uma palavracódigo. Outros exemplos apresentados na Figura 15 incluem encurtamento, enchimento com zeros, e repetição de bits codificados. Estas operações poderiam similarmente ser mapeadas pelo mapeador de bit / subcanal 1508 para subcanais que poderiam ser levados em consideração, e possivelmente evitados, para seleção como subcanais de informação ou subcanais assistentes pelo seletor de subcanal 1502.
[00135] A Figura 16 é um diagrama de blocos de um dispositivo para codificar e transmitir palavras-código. O dispositivo 1600 inclui um codificador 1604 acoplado com um transmissor 1606. O codificador 1604 é implementado no sistema de circuitos que é configurado para codificar um fluxo de bits de entrada 1602 como revelado neste documento. Na modalidade ilustrada, o dispositivo 1600 também inclui uma antena 1608, acoplada com o transmissor 1606, para transmitir sinais através de um canal sem uso de fios. Em algumas modalidades, o transmissor 1606 inclui um modulador, um amplificador, e/ou outros componentes de uma cadeia de transmissão e Rádio Frequência (RF). [00136] O codificador 1604 é implementado no sistema de circuitos, tal como um processador, que é configurado para codificar bits de entrada como revelado neste documento. Em uma implementação baseada em processador do codificador 1604, instruções executáveis por processador para configurar um processador para executar operações de codificação são armazenadas em um meio não temporário legível por processador, O meio não temporário poderia incluir um ou mais dispositivos de estado sólido e/ou dispositivos de memória com mídia de armazenamento removível e possível removível. Mais geralmente, o codificador 1604 pode ser
Petição 870190068949, de 22/07/2019, pág. 46/86
43/75 implementado em hardware ou sistema de circuitos (por exemplo, em um ou mais conjuntos de chips, microprocessadores, circuitos integrados de aplicação específica (ASICs), arranjos de portas programáveis em campo (FPGAs), sistema de circuitos de lógica dedicada, ou combinação dos mesmos) de modo a produzir palavrascódigo como descrito neste documento para transmissão por uma unidade (RF) separada.
[00137] O codificador 1604 é configurado para codificar bits de entrada em palavras-código que incluem bits codificados. Em uma modalidade, o codificador 1604 inclui vários estágios de codificação. Os vários estágios de codificação incluem um primeiro estádio de codificador de kernel para aplicar uma matriz de kernel de codificação polar Gy de dimensão de número primo Y para os bits de entrada, e um segundo estágio de codificadores de kernel acoplados para receber um bit de saída a partir de cada um dos codificadores de kernel no primeiro estágio e para aplicar uma matriz de kernel de codificação polar Gz de dimensão de número primo Z para os bits de saída recebidos a partir dos codificadores de kernel no primeiro estágio. As Figuras 7 e 9 apresentam exemplos de tais codificadores de kernel. O transmissor 1606 é acoplado com o codificador 1604, para transmitir as palavras-código.
[00138] A codificação com vários estágios com estágios sequenciais de codificadores de kernel representa uma modalidade ilustrativa. A codificação também ou ao invés disso poderia ser considerada uma forma de aplicar matrizes de codificação. Por exemplo, o codificador 1604 poderia ser configurado para aplicar várias primeiras matrizes de codificação polar Gy de dimensão de número primo Y para bits de entrada para produzir bits de saída, e aplicar várias segundas matrizes de codificação polar Gz de dimensão de número primo Z para os bits de saída para produzir uma palavraPetição 870190068949, de 22/07/2019, pág. 47/86
Μ/Ί5 código com os bits codificados.
[00139] O codificador 1604 poderia implementar qualquer um dos vários outros aspectos que são revelados neste documento. Por exemplo, qualquer um ou mais do dito a seguir poderiam ser proporcionados, sozinhos ou em qualquer uma dentre várias combinações, nas modalidades:
[00140] Y = Z;
[00141] Y é diferente de Z;
[00142] Pelo menos um dentre Y e Z é maior do que dois;
[00143] pelo menos um dentre Gy e Gz não é binário e é aplicado para símbolos com vários bits;
[00144] Gy e Gz definem subcanais, e o codificador 1604 ainda compreende (ou é acoplado com) um seletor de subcanal para selecionar, baseado em uma sequência ordenada dos subcanais tal como uma sequência ordenada aninhada e independente da SNR dos subcanais, subcanais para codificar bits de informação nos bits de entrada;
[00145] o seletor de subcanal é configurado para selecionar K subcanais, em uma ordem de confiabilidade crescente ou decrescente, por exemplo, a partir de uma sequência ordenada dos subcanais, a qual inclui Nmax subcanais em uma modalidade;
[00146] Gy e Gz definem subcanais, e o codificador 1604 ainda compreende (ou é acoplado com) um seletor de subcanal para selecionar, baseado em uma métrica de confiabilidade de polarização de subcanal e pelo menos em um segunda métrica adicional, subcanais particulares dos subcanais para codificar bits particulares nos bits de entrada, tais como subcanais para codificar bits assistentes nos bits de entrada;
[00147] a pelo menos uma segunda métrica compreende qualquer um ou mais dentre: um peso de Hamming, um peso de fileira, e uma
Petição 870190068949, de 22/07/2019, pág. 48/86 ordem natural dos subcanais;
[00148] os bits particulares são bits assistentes para auxiliar na decodificação;
[00149] os bits assistentes são para detecção de erro / seleção e caminho em um decodificador;
[00150] os bits assistentes compreendem um ou mais dentre: bits de verificação de paridade, de soma de verificação ou CRC;
[00151] os subcanais particulares dos subcanais são subcanais consecutivos ou subcanais dispersos em um espaço de subcanais;
[00152] o seletor de subcanal é ainda configurado para selecionar, baseado na métrica de confiabilidade de polarização de subcanal, qualquer um ou ambos dos subcanais mais confiáveis para codificar bits de informação nos bits de entrada, e pelo menos subcanais confiáveis para codificar bits congelados;
[00153] Gy e Gz definem subcanais, e o codificador ainda compreende (ou é acoplado com) um seletor de subcanal para selecionar, baseado nos subcanais afetados pelas operações que são para ser executadas em relação aos bits codificados, subcanais particulares dos subcanais para codificar bits particulares nos bits de entrada;
[00154] Gy e Gz definem subcanais, e o codificador ainda compreende (ou é acoplado com) um seletor de subcanal para selecionar subcanais particulares dos subcanais para codificar bits particulares nos bits de entrada e um processador e bit codificado para selecionar, baseado nos subcanais selecionados, bits codificados para operações de processamento adicionais;
[00155] o codificador é ainda configurado para aplicar várias terceiras matrizes de codificação polar de terceira dimensão de número primo, e aplicar quartos várias matrizes de codificação polar de quarta dimensão de número primo - em uma combinação de quatro
Petição 870190068949, de 22/07/2019, pág. 49/86
Α6/Ί5 kernels Ge do Tipo A ou do Tipo B (Figura 9) para produzir um kernel G12, por exemplo, no total existiríam quatro vários kernels de dimensão de número primo (G2 e G3);
[00156] 0 codificador é configurado para aplicar uma matriz de dimensão maior que é baseada em uma combinação das primeiras várias matrizes de codificação polar Gy com as segundas várias matrizes de codificação polar Gz e que possui uma dimensão maior do que Y e Z - os kernels Ge do Tipo A e do Tipo B na Figura 9 são exemplos e tal matriz com maior dimensão, baseado em uma combinação de matrizes de 2 dimensões e de 3 dimensões, que possui uma dimensão 6, a qual é maior do que 2 ou 3;
[00157] 0 codificador é ainda configurado para aplicar uma matriz de dimensão ainda maior que é baseada em uma combinação de várias terceiras matrizes de codificação polar com uma terceira dimensão de número primo e várias quartas matrizes de codificação polar com uma quarta dimensão de número primo, a matriz de dimensão ainda maior possuindo uma dimensão maior do que 0 terceiro número primo e 0 quarto número primo - novamente, uma combinação de quatro kernels Ge do Tipo A ou do Tipo B (Figura 9) para produzir um kernel G12 que é um exemplo eficaz, na qual 0 kernel de maior dimensão poderia ser um kernel Ge do Tipo A ou do Tipo B, e ainda 0 kernel de dimensão maior também poderia ser um kernel Ge do Tipo A ou do Tipo B.
[00158] Em algumas modalidades alternativas, a funcionalidade do codificador 1604 e do transmissor 1606 descritos neste documento pode ser total mente ou parcial mente implementada em software ou módulos, por exemplo, nos módulos de codificação e de transmissão armazenados em uma memória e executados por um processador (processadores) do dispositivo 1600.
[00159] A Figura 17 é um diagrama de blocos de um dispositivo
Petição 870190068949, de 22/07/2019, pág. 50/86 ilustrativo para receber e decodificar palavras-código. O dispositivo 1700 inclui um receptor 1704 acoplado com uma antena 1702 para receber sinais a partir de um canal sem uso de fios e um decodificador 1706. Em algumas modalidades, o receptor 1704 inclui um demodulador, um amplificador, e/ou outros componentes de uma cadeia de recepção RF. O receptor 1704 recebe, via a antena 1702, uma palavra que é baseada em uma palavra-código de um código polar. Bits decodificados são emitidos em 1720 para processamento adicional do receptor.
[00160] Em algumas modalidades, o dispositivo 1700, e similarmente o dispositivo 1600 na Figura 16 como citado acima, incluem um meio não temporário legível por computador que inclui instruções para execução por um processador para implementar e/ou operação de controle do codificador 1604 na Figura 16, para implementar e/ou operação de controle do decodificador 1706 na Figura 17, e/ou de outro modo controle de execução de métodos descritos neste documento. Em algumas modalidades, o processador pode ser um componente de uma plataforma de hardware de computador de propósito geral. Em outras modalidades, o processador pode ser um componente de uma plataforma de hardware de propósito especial. Por exemplo, o processador pode ser um processador incorporado, e as instruções podem ser proporcionadas como firmware. Algumas modalidades podem ser implementadas pela utilização somente de hardware. Em algumas modalidades, as instruções para execução por um processador podem ser incorporadas na forma de um produto de software. O produto de software pode ser armazenado em um meio de armazenamento não volátil ou não temporário, o qual poderia ser, por exemplo, um disco compacto memória somente para leitura (CD-ROM), um disco flash de barramento serial universal (USB), ou um disco rígido removível.
Petição 870190068949, de 22/07/2019, pág. 51/86
48/75 [00161] O decodificador 1706 é configurado para decodificar palavras-código recebidas. Bits assistentes poderiam ser utilizados pelo decodificador 1706 para auxiliar na decodificação.
[00162] Em algumas modalidades alternativas, a funcionalidade do receptor 1704 e do decodificador 1706 descritos neste documento pode ser total mente ou parcial mente implementada em software ou módulos, por exemplo, ao receber e decodificar módulos armazenados em uma memória e executados por um processador (processadores) do dispositivo 1700. Em algumas modalidades, o decodificador 1706 pode ser implementado em hardware ou sistema de circuitos (por exemplo, em um ou mais conjuntos de chips, microprocessadores, ASICs, FPGAs, sistema de circuitos de lógica dedicada, ou em combinações dos mesmos) de modo a decodificar palavras-código que são recebidas por uma unidade (RF) separada.
[00163] O equipamento de comunicação poderia incluir o dispositivo 1600, o dispositivo 1700,ou tanto um transmissor como um receptor ou tanto um codificador como um decodificador. Tal equipamento de comunicação poderia ser equipamento do usuário ou equipamento de rede de comunicação.
[00164] A Figura 18 é um diagrama de blocos de outro dispositivo ilustrativo para codificar e transmitir palavras-código. O dispositivo 1800 inclui um módulo codificador 1804 acoplado com um módulo transmissor 1806. O dispositivo 1800 também inclui um módulo de processamento de código 1810 acoplado com o módulo codificador 1804 e um módulo de processamento pós-codificação 1814. O módulo de processamento pós-codificação 1814 também é acoplado com o módulo codificador 1804 e com o módulo transmissor 1806. Uma memória 1812, também apresentada na Figura 18, é acoplada com o módulo codificador 1804, com o módulo de processamento de código 1810, com o módulo de processamento pós-codificação 1814, e com o
Petição 870190068949, de 22/07/2019, pág. 52/86
49/75 módulo transmissor 1806. Apesar de não apresentado, o módulo transmissor 1806 poderia incluir um modulador, um amplificador, antena e/ou outros módulos ou componentes de uma cadeia de transmissão ou alternativamente poderia ser configurado para fazer interface com um módulo de transmissão separado (RF). Por exemplo, alguns ou todos os módulos 1804, 1806, 1810, 1812, 1814 do dispositivo 1800 podem ser implementados em hardware ou em sistema de circuitos (por exemplo, em um ou mais conjuntos de chips, microprocessadores, ASICs, FPGAs, sistema de circuitos de lógica dedicada, ou combinações dos mesmos) de modo a produzir palavrascódigo como descrito neste documento para transmissão por uma unidade (RF) separada.
[00165] Em algumas modalidades, a memória 1812 é um meio não temporário legível por computador em 1812, que inclui instruções para execução por um processador para implementar e/ou operação de controle do módulo de processamento de código 1810, do módulo codificador 1804, do módulo de processamento pós-codificação 1814, do módulo transmissor 1806 na Figura 18, e/ou de outro modo controlar a execução de funcionalidade e/ou das modalidades descritas neste documento. Em algumas modalidades, o processador pode ser um componente de uma plataforma de hardware de computador de propósito geral. Em outras modalidades, o processador pode ser um componente de uma plataforma de hardware de propósito especial. Por exemplo, o processador pode ser um processador incorporado, e instruções podem ser proporcionadas como firmware. Algumas modalidades podem ser implementadas pela utilização somente de hardware. Em algumas modalidades, as instruções para execução por um processador podem ser incorporadas na forma de um produto de software. O produto de software pode ser armazenado em um meio de armazenamento não volátil ou não temporário, o qual
Petição 870190068949, de 22/07/2019, pág. 53/86
50/75 poderia ser, por exemplo, um CD-ROM, disco flash USB, ou um disco rígido magnético removível, em 1812.
[00166] Em algumas modalidades, o módulo codificador 1804 é implementado em sistema de circuitos, tal como um processador, que é configurado para codificar bits de entrada como revelado neste documento. Em uma implementação baseada em processador do módulo codificador 1804, instruções executáveis por processador para configurar um processador para executar operações de codificação são armazenadas em um meio não temporário legível por processador. O meio não temporário poderia incluir, na memória 1812, por exemplo, um ou mais dispositivos de memória de estado sólido e/ou dispositivos de memória com mídia de armazenamento móvel e possivelmente removível.
[00167] O módulo de processamento de código 1810 poderia ser implementado no sistema de circuitos que é configurado para determinar parâmetros de codificação tal como comprimento de bloco de código mãe, e para determinar uma sequência ordenada de subcanais como revelado neste documento. Em algumas modalidades, o módulo de processamento de código 1810 é implementado utilizando um processador. O mesmo processador ou outro sistema de circuitos, ou processadores ou sistemas de circuitos separados, poderiam ser utilizados para implementar tanto o módulo codificador 1804 como o módulo de processamento de código 1810. Como citado acima para o módulo codificador 1804, em uma implementação baseada em processador do módulo de processamento de código 1810, instruções executáveis por processador para configurar um processador para executar operações de processamento de código são armazenadas em um meio não temporário legível por processador, na memória 1812, por exemplo.
[00168] Da mesma forma que o módulo codificador 1804 e o
Petição 870190068949, de 22/07/2019, pág. 54/86
51/75 módulo de processamento de código 1810, o módulo de processamento pós-codificação 1814 é implementado no sistema de circuitos, tal como um processador, que é configurado para executar várias operações após a codificação. Estas operações após a codificação poderiam incluir operações de correspondência de taxa tais como puncionamento, encurtamento e/ou intercalação, por exemplo. Em uma implementação baseada em processador do módulo de processamento pós-codificação 1814, instruções executáveis por processador para configurar um processador para executar a operação após a codificação são armazenadas em um meio não temporário legível por processador, cujos exemplos são descritos acima. Em uma modalidade, o módulo de processamento pós-codificação 1814 deriva um esquema de puncionamento ou de encurtamento a partir de um esquema de puncionamento ou de encurtamento que é para ser aplicado para uma palavra-código antes da transmissão. Informação indicativa de posições de bit e/ou de subcanais que são afetados pelas operações de pós-codificação, ou informação a partir da qual tais posições de bit ou subcanais podem ser determinados, pode ser realimentada para o módulo de processamento de código 1810, armazenada na memória 1812, ou de outro modo tornada disponível para o módulo de processamento de código 1810 pelo módulo de processamento pós-codificação 1814.
[00169] Em algumas modalidades do módulo de processamento de código 1810, os parâmetros de codificação e/ou a sequência ordenada de subcanais podem ser determinados baseado na informação a partir do módulo de processamento de pós-codificação 1814. Por exemplo, a sequência ordenada de subcanais pode ser determinada baseado no esquema de correspondência de taxas determinado pelo módulo de processamento de pós-codificação 1814. Inversamente, em algumas outras modalidades, o módulo de processamento de pós-codificação
Petição 870190068949, de 22/07/2019, pág. 55/86
52/75
1814 pode determinar o esquema de correspondência de taxas baseado nos parâmetros de codificação e/ou na sequência ordenada de subcanais determinados pelo módulo de processamento de código 1810. Ainda em algumas outras modalidades, as determinações feitas dentro do módulo de processamento de código 1810 e do módulo de processamento de pós-codificação 1814 são conjuntamente executadas e otimizadas.
[00170] O dispositivo 1800 poderia implementar qualquer um dos vários outros aspectos que são revelados neste documento. Por exemplo, o módulo codificador 1804, o módulo transmissor 1806, o módulo de processamento de código 1810 e/ou o módulo de processamento de pós-codificação 1814 poderiam ser configurados para implementar qualquer um ou mais dos aspectos listados ou de outro modo descritos acima com referência à Figura 16.
[00171] Em algumas modalidades alternativas, a funcionalidade do módulo codificador 1804, do módulo transmissor 1806, do módulo de processamento de código 1810 e/ou do módulo de processamento de pós-codificação 1814 descritos neste documento pode ser totalmente ou parcialmente implementada em hardware ou alternativamente em software, por exemplo, em módulos armazenados em uma memória tal como 1812 e executados por um ou mais processadores do dispositivo 1800.
[00172] Portanto, um dispositivo poderia incluir um processador, e uma memória tal como 1812, acoplada com o processador, armazenando instruções que, quando executadas pelo processador, causam que o processador execute a funcionalidade e/ou as modalidades descritas acima em relação ao módulo codificador 1804, ao módulo transmissor 1806, ao módulo de processamento de código 1810, e/ou ao módulo de processamento de pós-codificação 1814 descritos neste documento.
Petição 870190068949, de 22/07/2019, pág. 56/86
53/75 [00173] A Figura 19 é um diagrama de blocos de um dispositivo ilustrativo para receber e decodificar palavras-código. O dispositivo 1900 inclui um módulo receptor 1904 o qual é configurado para receber sinais transmitidos sem uso de fios e que é acoplado com um módulo decodificador 1906. O dispositivo 1900 também inclui um módulo de processamento de código 1910 acoplado com o módulo decodificador 1906 e um módulo de processamento pré-decodificação 1914. O módulo de processamento pré-decodificação 1914 também é acoplado com o módulo decodificador 1906 e com o módulo receptor 1904. Uma memória 1912 também apresentada na Figura 19 é acoplada com o módulo decodificador 1906, com o módulo de processamento de código 1910, com o módulo receptor 1904 e com o módulo de processamento pré-decodificação 1914.
[00174] Apesar de não apresentado, o módulo receptor 1904 poderia incluir uma antena, demodulador, amplificador, e/ou outros módulos ou componentes de uma cadeia de recepção ou alternativamente poderia ser configurado para fazer interface com um módulo de recepção (RF) separado. Por exemplo, alguns ou todos os módulos 1904, 1906, 1910, 1912, 1914 do dispositivo 1900 podem ser implementados em hardware ou sistema de circuitos (por exemplo, em um ou mais conjuntos de chips, microprocessadores, ASICs, FPGAs, sistema de circuitos de lógica dedicada, ou combinações dos mesmos) de modo a receber uma palavra baseada em uma palavra-código de um código polar como descrito neste documento. Bits decodificados são emitidos em 1920 para processamento adicional do receptor.
[00175] Em algumas modalidades, a memória 1912 é um meio não temporário legível por computador que inclui instruções para execução por um processador para implementar e/ou operação de controle do módulo receptor 1904, do módulo decodificador 1906, do módulo de processamento de código 1910, e do módulo de processamento pré
Petição 870190068949, de 22/07/2019, pág. 57/86 decodificação 1914 na Figura 19, e/ou para de outro modo controlar a execução de funcionalidade e/ou de modalidades descritas neste documento. Em algumas modalidades, o processador pode ser um componente de uma plataforma de hardware de computador de propósito geral. Em outras modalidades, o processador pode ser um componente de uma plataforma de hardware de propósito especial. Por exemplo, o processador pode ser um processador incorporado, e as instruções podem ser proporcionadas como firmware. Algumas modalidades podem ser implementadas pela utilização somente de hardware. Em algumas modalidades, as instruções para execução por um processador podem ser incorporadas na forma de um produto de software. O produto de software pode ser armazenado em um meio de armazenamento não volátil ou não temporário, o qual poderia ser, por exemplo, um CD-ROM, um disco flash USB, ou um disco rígido removível, em 1912.
[00176] O módulo decodificador 1906 é implementado no sistema de circuitos, tal como um processador, que é configurado para decodificar palavras-código recebidas como revelado neste documento. Em uma implementação baseada em processador do módulo decodificador 1906, instruções executáveis por processador para configurar um processador para executar operações de decodificação são armazenadas em um meio não temporário legível por processador. O meio não temporário poderia incluir, na memória 1912, por exemplo, um ou mais dispositivos de memória de estado sólido e/ou dispositivos de memória com mídia de armazenamento móvel e possivelmente removível.
[00177] O módulo de processamento de código 1910 é implementado no sistema de circuitos que é configurado para determinar (e armazenar na memória 1912) sequências ordenadas de subcanais como revelado neste documento. Em uma implementação
Petição 870190068949, de 22/07/2019, pág. 58/86
55/75 baseada em processador do módulo de processamento de código 1910, instruções executáveis por processador para configurar um processador para executar operações de processamento de código são armazenadas em um meio não temporário legível por processador, cujos exemplos são descritos acima. Informação representando sequências ordenadas de subcanais, e/ou subcanais selecionados poderia ser proporcionada para o módulo decodificador 1906 pelo módulo de processamento de código 1910 para uso ao decodificar palavras recebidas, e/ou armazenada na memória 1912 pelo módulo de processamento de código 1910 para uso subsequente pelo módulo decodificador 1906.
[00178] Da mesma forma que o módulo decodificador 1906 e o módulo de processamento de código 1910, o módulo de processamento pré-decodificação 1914 é implementado no sistema de circuitos, tal como um processador, que é configurado para executar operações pré-decodificação. Estas operações poderiam incluir operações do receptor / de correspondência de taxas no lado de decodificador também conhecidas como operações de correspondência de retirada de taxas, tal como retirada de puncionamento e/ou retirada de encurtamento para inverter o puncionamento / o encurtamento, tal como retirada de puncionamento e/ou retirada de encurtamento para inverter puncionamento / encurtamento que foi aplicado em um lado do codificador / transmissor, por exemplo. Em uma implementação baseada em processador do módulo de processamento pré-decodificação 1914, instruções executáveis por processador para configurar um processador para executar operações de processamento prédecodificação são armazenadas em um meio não temporário legível por processador, cujos exemplos são descritos acima. Em uma modalidade, o módulo de processamento pré-decodificação 1914
Petição 870190068949, de 22/07/2019, pág. 59/86
56/75 deriva um esquema de puncionamento ou de encurtamento a partir de um esquema de puncionamento ou de encurtamento que é para ser aplicado para uma palavra-código recebida. Informação indicativa de posições de bit e/ou de subcanais que são afetados pelo processamento pré-decodificação, ou informação a partir da qual tais posições de bit ou subcanais podem ser determinadas, pode ser realimentada para o módulo de processamento de código 1910, armazenada na memória 1912, ou de outro modo tornada disponível para o módulo de processamento de código 1910 pelo módulo de processamento pré-decodificação 1914.
[00179] Em algumas modalidades do módulo de processamento de código 1910, a sequência ordenada de subcanais pode ser determinada baseado na informação a partir do módulo de processamento pré-decodificação 1914. Por exemplo, a sequência ordenada de subcanais pode ser determinada baseada no esquema de correspondência de taxas determinado pelo módulo de processamento pré-decodificação 1914. Inversamente, em algumas outras modalidades, o módulo de processamento pré-decodificação 1914 pode determinar um esquema de correspondência de taxas baseado nos parâmetros de codificação e/ou na sequência ordenada de subcanais determinados pelo módulo de processamento de código 1910. Ainda em algumas outras modalidades, as determinações feitas dentro do módulo de processamento de código 1910 e do módulo de processamento pré-decodificação 1914 são conjuntamente executadas e otimizadas.
[00180] Em algumas modalidades alternativas, a funcionalidade do módulo receptor 1904, do módulo decodificador 1906, do módulo de processamento de código 1910, e/ou do módulo de processamento pré-decodificação 1914 descritos neste documento pode ser totalmente ou parcialmente implementada em software ou módulos,
Petição 870190068949, de 22/07/2019, pág. 60/86
57/75 por exemplo, nos módulos de recepção e de decodificação armazenados em uma memória 1912 e executados por um ou mais processadores do dispositivo 1900.
[00181] Portanto, um dispositivo poderia incluir um processador, em uma memória, tal como 1912, acoplada com o processador, armazenando instruções que, quando executadas pelo processador, causam que o processador execute a funcionalidade e/ou as modalidades reveladas neste documento, ou operações de recepção / decodificação correspondendo às operações de transmissão / codificação reveladas neste documento.
[00182] O dispositivo 1900 poderia implementar qualquer um dos vários outros aspectos que são revelados neste documento. Por exemplo, o módulo decodificador 1906, o módulo receptor 1904, o módulo de processamento de código 1910, e/ou o módulo de processamento pré-decodificação 1914 poderiam ser configurados para implementar qualquer um ou mais dos aspectos de recepção / decodificação correspondendo aos aspectos de codificação / transmissão citados acima.
[00183] As Figuras 16 e 19 são diagramas de blocos generalizados de dispositivos que poderiam ser utilizados para implementar modalidades reveladas neste documento. A Figura 20 é um diagrama de blocos de um sistema de processamento simplificado ilustrativo 2000, o qual pode ser utilizado para implementar modalidades reveladas neste documento, e proporciona um exemplo com implementação de nível superior. O dispositivo 1600, o dispositivo 1700, ou ambos, podem ser implementados utilizando o sistema de processamento ilustrativo 2000, ou variações do sistema de processamento 2000. O sistema de processamento 2000 poderia ser um servidor ou um dispositivo móvel, por exemplo, ou qualquer sistema de processamento adequado. Outros sistemas de
Petição 870190068949, de 22/07/2019, pág. 61/86
58/75 processamento adequados para implementar modalidades descritas na presente descrição podem ser utilizados, os quais podem incluir componentes diferentes destes discutidos abaixo. Apesar de a Figura 20 apresentar uma única instância de cada componente, podem existir várias instâncias de cada componente no sistema de processamento 2000.
[00184] O sistema de processamento 2000 pode incluir um ou mais dispositivos de processamento 2005, tal como um processador, um microprocessador, um ASIC, um FPGA, um sistema de circuitos de lógica dedicada, ou combinações dos mesmos. O sistema de processamento 2000 pode também incluir uma ou mais interfaces de entrada / saída (E/S) 2010, as quais podem permitir interface com um ou mais dispositivos de entrada apropriados 2035 e/ou dispositivo de saída 2040. O sistema de processamento 2000 pode incluir uma ou mais interfaces de rede 2015 para comunicação com uso de fios ou sem uso de fios com uma rede (por exemplo, uma intranet, a Internet, uma rede P2P, uma WAN e/ou uma LAN) ou outro nó. As interfaces de rede 2015 podem incluir links com uso de fios (por exemplo, cabo Ethenet) e/ou links sem uso de fios (por exemplo, uma ou mais antenas) para comunicações entre redes e/ou intra rede. As interfaces de rede 2015 podem proporcionar comunicação sem uso de fios via um ou mais transmissores ou antenas de transmissão e um ou mais receptores ou antenas de recepção, por exemplo. Neste exemplo, uma única antena 2045 é apresentada, a qual serve tanto como um transmissor como um receptor. Entretanto, em outros exemplos, podem existir antenas separadas para transmissão e recepção. O sistema de processamento 2000 também pode incluir uma ou mais unidades de armazenamento 2020, as quais podem incluir uma unidade de armazenamento em massa tal como uma unidade de estado sólido, uma unidade de disco rígido, uma unidade de disco
Petição 870190068949, de 22/07/2019, pág. 62/86
59/75 magnético e/ou uma unidade de disco ótico.
[00185] O sistema de processamento 2000 pode incluir uma ou mais memórias 2025, as quais podem incluir uma memória volátil ou não volátil (por exemplo, uma memória flash, uma memória de acesso aleatório (RAM), e/ou uma memória somente para leitura (ROM)). As memórias não temporárias 2025 podem armazenar instruções para execução pelos dispositivos de processamento 2005, tal como para realizar exemplos descritos na presente descrição. As memórias 2025 podem incluir outras instruções de software, tais como para implementar um sistema operacional e outros aplicativos / funções. Em alguns exemplos, um ou mais conjunto e/ou módulos de dados podem ser proporcionados por uma memória externa (por exemplo, uma unidade externa em comunicação com uso de fios ou sem uso de fios com o sistema de processamento 2000) ou podem ser proporcionados por um meio temporário ou não temporário legível por computador. Exemplos de mídia não temporária legível por computador incluem uma RAM, uma ROM, uma ROM programável apagável (EPROM), uma ROM programável eletricamente apagável (EEPROM), uma memória flash, um CD-ROM, ou outro armazenamento em memória portátil.
[00186] Pode existir um barramento 2030 proporcionando comunicação entre componentes do sistema de processamento 2000. O barramento 2030 pode ser qualquer arquitetura de barramento adequada incluindo, por exemplo, um barramento de memória, um barramento periférico ou um barramento de vídeo. Na Figura 20, os dispositivos de entrada 2035 (por exemplo, um teclado, um mouse, um microfone, uma tela sensível ao toque, e/ou bloco de teclas) e dispositivos de saída 2040 (por exemplo, um vídeo, um alto-falante e/ou uma impressora) são apresentados como externos aos sistemas de processamento 2000. Em outros exemplos, um ou mais dos
Petição 870190068949, de 22/07/2019, pág. 63/86
60/75 dispositivos de entrada 2035 e/ou dos dispositivos de saída 2040 podem ser incluídos como um componente do sistema de processamento 2000.
[00187] A Figura 21 ilustra um sistema de comunicação ilustrativo 2100 no qual modalidades da presente descrição poderiam ser implementadas. Em geral, o sistema de comunicação 2100 permite vários elementos sem uso de fios ou com uso de fios comunicarem dados e outros conteúdos. O propósito do sistema de comunicação 2100 pode ser proporcionar conteúdo (voz, dados, vídeo, texto) via difusão, transmissão especializada, dispositivo do usuário para dispositivo do usuário, etc. O sistema de comunicação 2100 pode operar por compartilhar recursos tal como largura de banda.
[00188] Neste exemplo, o sistema de comunicação 2100 inclui os dispositivos eletrônicos (ED) 2110a a 2110c, as redes de rádio acesso (RANs) 2120a e 2120b, uma rede principal 2130, uma rede de telefonia pública comutada (PSTN) 2140, a Internet 2150, e outras redes 2160. Apesar de quantidades destes componentes ou elementos serem apresentadas na Figura 21, qualquer número razoável destes componentes ou elementos pode estar incluído.
[00189] Os Eds 2110a a 2110c e as estações base 2170a e 2170b são exemplos de equipamento de comunicação que pode ser configurado para implementar algumas ou todas as funcionalidades e/ou modalidades descritas neste documento. Por exemplo, qualquer um dos Eds 2110a a 2110c e estações base 2170a e 2170b poderia ser configurado para implementar a funcionalidade de codificação ou de decodificação (ou ambas) descrita acima. Em outro exemplo, qualquer um dos Eds 2110a a 2110c e estações base 2170a e 2170b poderia incluir um dispositivo 1600 (Figura 16) ou 1800 (Figura 18), um dispositivo 1700 (Figura 17) ou 1900 (Figura 19), ou ambos.
[00190] Os Eds 2110a a 2110c são configurados para operar,
Petição 870190068949, de 22/07/2019, pág. 64/86
61/75 comunicar, ou ambos, no sistema de comunicação 2100. Por exemplo, os Eds 2110a a 2110c são configurados para transmitir, receber, ou ambos, via canais de comunicação com uso de fios ou sem uso de fios. Cada ED 2110a a 2110c representa qualquer dispositivo de usuário adequado para operação sem uso de fios e pode incluir tais dispositivos (ou podem ser referidos) como um equipamento / equipamento do usuário, unidade de transmissão / recepção sem uso de fios (WTRU), estação móvel, unidade de assinante fixa ou móvel, telefone celular, estação (STA), dispositivo de comunicação do tipo máquina (MTC), assistente pessoal digital (PDA), smartphone, laptop, computador, tablet, sensor sem uso de fios, ou dispositivos elétricos eletrônicos.
[00191] Na Figura 21, as RANs 2120a e 2120b incluem as estações base 2170a e 2170b, respectivamente. Cada estação base 2170a e 2170b é configurada para fazer interface sem uso de fios com um ou mais dos Eds 2110a a 2110c para permitir acesso a qualquer outra estação base 2170a e 2170b, à rede principal 2130, à PSTN 2140, à Internet 2150, e/ou a outras redes 2160. Por exemplo, as estações base 2170a e 2170b podem incluir (ou serem) um ou mais dos dispositivos bem conhecidos, tais como uma estação transceptora base (BTS), um Node B (NodeB), um NodeB evoluído (eNOdeB), um eNodeB Doméstico, um gNodeB, um ponto de transmissão (TP), um controlador de local, um ponto de acesso (AP), ou um roteador sem uso de fios. Qualquer ED 2110a a 2110c pode alternativamente ou adicional mente ser configurado para fazer interface, acessar, ou se comunicar com qualquer outra estação base 2170a e 2170b, com a Internet 2150, com a rede principal 2130, com a PSTN 2140, com as outras redes 2160, ou com qualquer combinação das ditas anteriormente. O sistema de comunicação 2100 pode incluir RANs, tal como a RAN 2120b, em que a estação base correspondente 2170a
Petição 870190068949, de 22/07/2019, pág. 65/86
62/75 acessa a rede principal 2130 via a Internet 2150, como apresentado. [00192] Os Eds 2110a a 2110c e as estações base 2170a e 2170b são exemplos de equipamento de comunicação que pode ser configurado para implementar algumas ou todas as funcionalidades e/ou modalidades descritas neste documento. Na modalidade apresentada na Figura 21, a estação base 2170a faz parte da RAN 2120a, a qual pode incluir outras estações base, controlador (controladores) de estação base (BSC), controlador (controladores) de rede de rádio (RNC), nós, elementos e/ou dispositivos de retransmissão. Qualquer estação base 2170a, 2170b pode ser um único elemento, como apresentado, ou vários elementos, distribuídos na RAN correspondente, ou de outro modo. Além disso, a estação base 2170b faz parte da RAN 2120b, a qual pode incluir outras estações base, elementos, e/ou dispositivos. Cada estação base 2170a e 2170b transmite e/ou recebe sinais sem uso de fios dentro de uma região ou área geográfica particular, algumas vezes referida como uma célula ou área de cobertura. Uma célula pode ainda ser dividida em setores de célula, e uma estação base 2170a e 2170b pode, por exemplo, empregar vários transceptores para proporcionar serviço para vários setores. Em algumas modalidades, podem ser estabelecidas pico ou femto células onde a tecnologia de rádio acesso suporta as mesmas. Em algumas modalidades, vários transceptores poderiam ser utilizados para cada célula, por exemplo, utilizando tecnologia de várias entradas e várias saídas (MIMO). O número de RANs 2120a e 2120b apresentadas é somente ilustrativo. Qualquer número de RANs pode ser contemplado quando imaginando o sistema de comunicação 2100.
[00193] As estações base 2170a e 2170b se comunicam com um ou mais Eds 2110a a 2110c através de uma ou mais interfaces aéreas utilizando links de comunicação sem uso de fios, por exemplo, RF,
Petição 870190068949, de 22/07/2019, pág. 66/86
63/75 micro-onda, infravermelho (IR), etc. As interfaces aéreas 2190 podem utilizar qualquer tecnologia de rádio acesso adequada. Por exemplo, o sistema de comunicação 2100 pode implementar um ou mais métodos de acesso de canal, tal como acesso múltiplo por divisão de código (CDMA), acesso múltiplo por divisão de tempo (TDMA), acesso múltiplo por divisão de frequência (FDMA), FDMA ortogonal (OFDMA), ou FDMA de portador único (SC-FDMA) nas interfaces aéreas 2190. [00194] Uma estação base 2170a e 2170b pode implementar o Rádio Acesso Terrestre (UTRA) do Sistema Universal de Telecomunicação Móvel (UMTS) para estabelecer uma interface aérea 2190 utilizando CDMA de banda larga (WDCMA). Ao fazer isso, a estação base 2170a e 2170b pode implementar protocolos tais como HSPA, HSPA+ opcionalmente incluindo HSDPA, HSUPA ou ambos. Alternativamente, uma estação base 2170a e 2170b pode estabelecer uma interface aérea 2190 com Rádio Acesso Terrestre UMTS evoluído (E-UTRA) utilizando LTE, LTE-A, e/ou LTE-B. É contemplado que o sistema de comunicação 2100 pode utilizar várias funcionalidades de acesso a canal, incluindo tais esquemas como descritos acima. Outras tecnologias de rádio para implementar interfaces aéreas incluem IEEE 802.11.802.15, 802.16, CDMA2000, VDMA2000 1X, CDMA2000 EVDO, IS-200, IS-95, IS-856, GSM, EDGE e GERAN. Obviamente, outros esquemas de acesso múltiplo e protocolos sem uso de fios podem ser utilizados.
[00195] As RANs 2120a e 2120b estão em comunicação com a rede principal 2130 para proporcionar para os Eds 2110a a 2110c vários serviços tais como serviços e voz, dados e outros serviços. As RANs 2120a e 2120b e/ou a rede principal 2130 podem estar em comunicação direta ou indireta com uma ou mais outras RANs (não apresentadas), as quais podem ou não ser diretamente servidas pela rede principal 2130, e podem ou não empregar a mesma tecnologia de
Petição 870190068949, de 22/07/2019, pág. 67/86
6Α/Ί5 rádio acesso que as RANs 2120a, a RAN 2120b ou ambas. A rede principal 2130 também pode servir como um acesso de dispositivo de interconexão de redes entre (i) as RANs 2120a e 2120b ou os Eds 2110a a 2110c ou ambos, e (ii) outras redes (tais como a PSTN 2140, a Internet 2150, e outras redes 2160). Em adição, alguns ou todos os Eds 2110a a 2110c podem incluir funcionalidade para comunicação com diferentes redes sem uso de fios através de diferentes links sem uso de fios utilizando diferentes tecnologias e/ou protocolos sem uso de fios. Ao invés da comunicação sem uso de fios (ou em adição à mesma), os Eds 2110a a 2110c podem se comunicar via canais de comunicação físicos com um provedor ou comutador de serviço (não apresentado), e com a Internet 2150. A PSTN 2140 pode incluir redes de telefonia comutadas por circuito para proporcionar velhos e simples serviços de telefonia (POTS). A internet 2150 pode incluir uma rede de computadores e sub-redes (intranets) ou ambas, e incorporar protocolos, tais como IP, TCP, UDP. Os Eds 2110a a 2110c podem ser dispositivos multímodo capazes de operação de acordo com várias tecnologias de rádio acesso, e incorporar vários transceptores necessários para suportar tais tecnologias.
[00196] As Figuras 22A e 22B ilustram dispositivos ilustrativos que podem implementar métodos e instruções de acordo com esta descrição. Em particular, a Figura 22A ilustra um ED 2110 ilustrativo, e a Figura 22B ilustra uma estação base ilustrativa 2170. Estes componentes poderiam ser utilizados no sistema de comunicação 2100 ou em qualquer outro sistema adequado.
[00197] Como apresentado na Figura 22A, o ED 2110 inclui pelo menos uma unidade de processamento 2200. A unidade de processamento 2200 implementar várias operações de processamento do ED 2110. Por exemplo, a unidade de processamento 2200 poderia executar codificação de sinal, processamento de dados, controle de
Petição 870190068949, de 22/07/2019, pág. 68/86
65/75 energia, processamento de entrada / saída, ou qualquer outra funcionalidade permitindo ao ED 2110 operar no sistema de comunicação 2100. A unidade de processamento 2200 também pode ser configurada para implementar algumas ou todas as funcionalidades e/ou modalidades descritas em mais detalhes acima. Cada unidade de processamento 2200 inclui qualquer dispositivo de processamento ou de computação adequado configurado para executar uma ou mais operações. Cada unidade de processamento 2200 poderia, por exemplo, incluir um microprocessador, microcontrolador, processador de sinal digital, arranjo de portas programáveis em campo, ou circuito integrado de aplicação específica. [00198] O ED 2110 também inclui pelo menos um transceptor 2202. O transceptor 2202 é configurado para modular dados ou outro conteúdo para transmissão por pelo menos uma antena ou Controlador de Interface de Rede (NIC) 2204. O transceptor 2202 também é configurado para demodular dados ou outro conteúdo recebidos pela pelo menos uma antena 2204. Cada transceptor 2202 inclui qualquer estrutura adequada para gerar sinais para transmissão sem uso de fios ou com uso de fios e/ou sinais de processamento recebidos sem uso de fios ou com uso de fios. Cada antena 2204 inclui qualquer estrutura adequada para transmitir e/ou receber sinais com uso de fios ou sem uso de fios. Um ou vários transceptores 2202 poderiam ser utilizados no ED 2110, e uma ou várias antenas 2204 poderiam ser utilizadas no ED 2110. Apesar de apresentada como uma única unidade funcional, um transceptor 2202 também poderia ser implementado utilizando pelo menos um transmissor e pelo menos um receptor separado.
[00199] O ED 2110 ainda inclui um ou mais dispositivos de entrada / saída 2206 ou interfaces (tal como uma interface com uso de fios com a Internet 2150). Os dispositivos de entrada / saída 2206
Petição 870190068949, de 22/07/2019, pág. 69/86
66/75 permitem interação com um usuário ou com outros dispositivos na rede. Cada dispositivo de entrada / saída 2206 inclui qualquer estrutura adequada para proporcionar informação ou para receber informação a partir de um usuário, tal como um alto-falante, microfone, bloco de teclas, teclado, vídeo, ou tela sensível ao toque, incluindo comunicações de interface de rede.
[00200] Em adição, o ED 2110 inclui pelo menos uma memória 2208. A memória 2208 armazena instruções e dados utilizados, gerados, ou coletados pelo ED 2110. Por exemplo, a memória 2208 poderia armazenar instruções ou módulos de software configurados para implementar algumas ou todas as funcionalidades e/ou modalidades descritas acima e que são executadas pelas unidade(s) de processamento 2200. Cada memória 2208 inclui qualquer dos dispositivo(s) de armazenamento e de recuperação volátil e/ou não volátil adequado. Qualquer tipo de memória pode ser utilizado, tal como memória de acesso aleatório (RAM), memória somente para leitura (ROM), disco rígido, disco ótico, cartão de módulo de identidade de assinante (SIM), pen-drive, cartão de memória digital seguro (SD), dentre outros.
[00201] Como apresentado na Figura 22B, a estação base 2170 inclui pelo menos uma unidade de processamento 2250, pelo menos um transmissor 2252, pelo menos um receptor 2254, uma ou mais antenas 2256, pelo menos uma memória 2258, e um ou mais dispositivos ou interfaces de entrada / saída 2266. Um transceptor, não apresentado, pode ser utilizado ao invés do transmissor 2252 e do receptor 2254. Um programador de atividades 2253 pode ser acoplado com a unidade de processamento 2250. O programador de atividades 2253 pode estar incluído dentro ou operador separadamente a partir da estação base 2170. A unidade de processamento 2250 implementa várias operações de processamento da estação base 2170, tal como
Petição 870190068949, de 22/07/2019, pág. 70/86
6Ί/Ί5 codificação de sinal, processamento de dados, controle de energia, processamento de entrada / saída, ou qualquer outra funcionalidade. A unidade de processamento 2250 também pode ser configurada para implementar algumas ou todas as funcionalidades e/ou modalidades descritas em mais detalhes acima. Cada unidade de processamento 2250 inclui qualquer dispositivo de processamento ou de computação adequado configurado para executar uma ou mais operações. Cada unidade de processamento 2250 poderia, por exemplo, incluir um microprocessador, microcontrolador, processador de sinal digital, arranjo de portas programáveis em campo, ou circuito integrado de aplicação específica.
[00202] Cada transmissor 2252 inclui qualquer estrutura adequada para gerar sinais para transmissão sem uso de fios ou com uso de fios para um ou mais Eds ou para outros dispositivos. Cada receptor 2254 inclui qualquer estrutura adequada para processar sinais recebidos sem uso de fios ou com uso de fios a partir de um ou mais Eds ou de outros dispositivos. Apesar de apresentados como componentes separados, pelo menos um transmissor 2252 e pelo menos um receptor 2254 poderiam ser combinados em um transceptor. Cada antena 2256 inclui qualquer estrutura adequada para transmitir e/ou receber sinais com uso de fios ou sem uso de fios. Apesar de uma antena comum 2256 ser apresentada aqui como sendo acoplada tanto com o transmissor 2252 como com o receptor 2254, uma ou mais antenas 2256 poderiam ser acopladas com o transmissor (transmissores) 2252, e uma ou mais antenas separadas 2256 poderiam ser acopladas com o receptor (receptores) 2254. Cada memória 2258 inclui qualquer dos dispositivo(s) de armazenamento ou recuperação volátil e/ou não volátil adequado tais como estes descritos acima em conexão com o ED 2110. A memória 2258 armazena instruções e dados utilizados, gerados, ou coletados pela
Petição 870190068949, de 22/07/2019, pág. 71/86
68/75 estação base 2170. Por exemplo, a memória 2258 poderia armazenar instruções ou módulos de software configurados para implementar algumas ou todas as funcionalidades e/ou modalidades descritas acima e que são executadas pelas unidade(s) de processamento 2250.
[00203] Cada dispositivo de entrada / saída 2266 permite interação com um usuário ou com outros dispositivos na rede. Cada dispositivo de entrada / saída 2266 inclui qualquer estrutura adequada para proporcionar informação ou para receber / proporcionar informação a partir de um usuário, incluindo comunicações de interface de rede.
[00204] As modalidades descritas com referência às Figuras 16 a 22 se relacionam com o dispositivo ilustrativo. Modalidades do método, para decodificação e/ou codificação, também são contempladas.
[00205] A Figura 23 é um fluxograma de um método de codificação ilustrativo de acordo com outra modalidade. O método ilustrativo ilustrado 2300 inclui gerar bits assistentes em 2302, o que pode não ser executado em todas as modalidades. Os bits de informação e os bits congelados, e os bits assistentes, se utilizados, são alocados para subcanais em 2304. Isto é equivalente à seleção de subcanal. Os bits são codificados em palavras-código que incluem bits codificados. Em uma modalidade, isto envolve aplicar a Gy de dimensão de número primo Y para os bits de entrada em um primeiro estágio, e aplicar uma matriz de kernel de codificação polar Gz de dimensão de número primo Z para os bits de saída a partir do primeiro estágio. Em outra modalidade, a codificação envolve aplicar primeiras várias matrizes de codificação polar Gy de dimensão de número primo Y para os bits de entrada para produzir bits de saída, e aplicar segundas várias matrizes de codificação polar Gz de dimensão de número primo Z para os bits de saída para produzir uma palavra-código.
[00206] A aplicação das matrizes Gy e Gz é apresentada em 2306,
Petição 870190068949, de 22/07/2019, pág. 72/86
69/75
2308. As palavras-código são então transmitidas em 2310.
[00207] A Figura 23 também apresenta operações ilustrativas que são executadas em um receptor / decodificador. Uma palavra que é baseada em uma palavra-código de um código polar é recebida em 2312 e decodificada em 2314, e os bits decodificados são emitidos em 2316. A decodificação poderia utilizar bits assistentes como revelado neste documento.
[00208] O método ilustrativo na Figura 23 é pretendido para propósito de ilustração. Outras modalidades poderiam envolver executar as operações ilustradas em qualquer um dentre vários modos, executar menos operações ou operações adicionais, e/ou variar a ordem na qual as operações são executadas. Outras variações poderiam ser ou se tornar aparentes para os versados na técnica baseados na presente descrição.
[00209] Por exemplo, qualquer um do dito a seguir poderia ser proporcionado, sozinho ou em qualquer uma dentre várias combinações, nas modalidades:
[00210] Y = Z;
[00211 ] Y é diferente de Z;
[00212] pelo menos um dentre Y e Z é maior do que dois;
[00213] pelo menos um dentre Gy e Gz não é binário e é aplicado para símbolos com vários bits;
[00214] Gy e Gz definem subcanais, e o método envolve selecionar, baseado em uma sequência ordenada de subcanais tal como uma sequência ordenada aninhada e independente da SNR dos subcanais, subcanais para codificar bits de informação nos bits de entrada;
[00215] a seleção envolve selecionar K subcanais, em uma ordem de confiabilidade crescente ou decrescente, por exemplo, a partir de uma sequência ordenada dos subcanais, a qual inclui Nmax subcanais em uma modalidade;
Petição 870190068949, de 22/07/2019, pág. 73/86
70/75 [00216] Gy e Gz definem subcanais, e a envolve selecionar, baseado em uma métrica de confiabilidade de polarização de subcanal e pelo menos em uma segunda métrica adicional, subcanais particulares dos subcanais para codificar bits particulares nos bits de entrada, tais como subcanais para codificar bits assistentes nos bits de entrada;
[00217] a pelo menos uma segunda métrica compreende qualquer um ou mais dentre: um peso de Hamming, um peso de fileira, e uma ordem natural dos subcanais;
[00218] os bits particulares são bits assistentes para auxiliar na decodificação;
[00219] os bits assistentes são para detecção de erro / seleção e caminho em um decodificador;
[00220] os bits assistentes compreendem um ou mais dentre: bits de verificação de paridade, de soma de verificação ou CRC;
[00221] os subcanais particulares dos subcanais são subcanais consecutivos ou subcanais dispersos em um espaço de subcanais;
[00222] selecionar, baseado na métrica de confiabilidade de polarização de subcanal, qualquer um ou ambos dos subcanais mais confiáveis para codificar bits de informação nos bits de entrada, e pelo menos subcanais confiáveis para codificar bits congelados;
[00223] Gy e Gz definem subcanais, e o método envolve selecionar, baseado nos subcanais afetados pelas operações que são para ser executadas em relação aos bits codificados, subcanais particulares dos subcanais para codificar bits particulares nos bits de entrada;
[00224] Gy e Gz definem subcanais, e o método envolve selecionar subcanais particulares dos subcanais para codificar bits particulares nos bits de entrada e selecionar, baseado nos subcanais selecionados, bits codificados para operações de processamento adicionais;
Petição 870190068949, de 22/07/2019, pág. 74/86
71/7 5 [00225] aplicar várias terceiras matrizes de codificação polar de terceira dimensão de número primo, e aplicar quartos várias matrizes de codificação polar de quarta dimensão de número primo;
[00226] aplicar uma matriz de dimensão maior que é baseada em uma combinação das primeiras várias matrizes de codificação polar GY com as segundas várias matrizes de codificação polar GZ e que possui uma dimensão maior do que Y e Z;
[00227] aplicar uma matriz de dimensão ainda maior que é baseada em uma combinação de várias terceiras matrizes de codificação polar com uma terceira dimensão de número primo e várias quartas matrizes de codificação polar com uma quarta dimensão de número primo, a matriz de dimensão ainda maior possuindo uma dimensão maior do que o terceiro número primo e o quarto número primo.
[00228] A presente descrição proporciona dispositivos e métodos para construção de código polar. Um aspecto da presente descrição se relaciona com um dispositivo compreendendo um codificador e um transmissor. O codificar aplica várias primeiras matrizes de codificação polar Gy de dimensão de número primo Y para bits de entrada para produzir bits de saída, e aplica várias segundas matrizes de codificação polar Gz de dimensão de número primo Z para os bits de saída para produzir uma palavra-código com bits codificados. O transmissor é acoplado com o codificador e transmite a palavracódigo.
[00229] Em uma primeira modalidade deste aspecto da presente descrição, as dimensões Y = Z. Em uma segunda modalidade deste aspecto da presente descrição, a dimensão Y é diferente da dimensão Z. Em uma terceira modalidade deste aspecto da presente descrição, pelo menos uma dentre as dimensões Y e Z é maior do que dois.
[00230] Em uma quarta modalidade deste aspecto da presente descrição, pelo menos uma das matrizes Gy e Gz não é binária e é
Petição 870190068949, de 22/07/2019, pág. 75/86
72/75 aplicada para símbolos com vários bits. Em uma quinta modalidade deste aspecto da presente descrição, as matrizes Gy e Gz definem subcanais, e o codificador ainda compreende um seletor de subcanal para selecionar, baseado em uma sequência ordenada dos subcanais, subcanais para codificar bits de informação nos bits de entrada. Em uma sexta modalidade deste aspecto da presente descrição, o seletor de subcanal é configurado para selecionar K subcanais a partir da sequência ordenada dos subcanais.
[00231] Em uma sétima modalidade deste aspecto da presente descrição, as matrizes Gy e Gz definem subcanais, e o codificador ainda compreende um seletor de subcanal para selecionar, baseado em uma métrica de confiabilidade de polarização de subcanal e em pelos menos uma segunda métrica adicional, subcanais para codificar bits assistentes nos bits de entrada. Em uma oitava modalidade deste aspecto da presente descrição, o seletor de subcanal é ainda configurado para selecionar, baseado na métrica de confiabilidade de polarização de subcanal, qualquer um ou ambos dentre subcanais mais confiáveis para codificar bits de informação nos bits de entrada, e subcanais menos confiáveis para codificar bits congelados.
[00232] Em uma nona modalidade deste aspecto da presente descrição, o codificador é ainda configurado para várias terceiras matrizes de codificação polar de terceira dimensão de número primo, e para aplicar várias quartas matrizes de codificação polar de quarta dimensão de número primo. Em uma décima modalidade deste aspecto da presente descrição, o codificador é configurado para aplicar uma matriz de maior dimensão que é baseada em uma combinação das várias primeiras matrizes de codificação polar Gy com as várias segunda matrizes de codificação polar Gz e que possui uma dimensão maior do que Y e Z. Em uma décima primeira modalidade deste aspecto da presente descrição, o codificador é ainda
Petição 870190068949, de 22/07/2019, pág. 76/86
73/75 configurado para aplicar uma matriz de dimensão ainda maior que é baseada em uma combinação de várias terceiras matrizes de codificação polar de uma terceira dimensão de número primo com várias quartas matrizes de codificação polar de uma quarta dimensão de número primo, a matriz com dimensão ainda maior possuindo uma dimensão maior do que o terceiro número primo e o quarto número primo.
[00233] Em outra modalidade, um meio não temporário legível por processador armazena instruções que, quando executadas por um ou mais processadores, causam que o um ou mais processadores executem um método como revelado neste documento.
[00234] A descrição anterior de algumas modalidades é proporcionada para permitir aos versados na técnica fazerem ou utilizarem um dispositivo, método, ou meio legível por processador de acordo com a presente descrição.
[00235] Várias modificações para as modalidades descritas neste documento podem ser prontamente aparentes para os versados na técnica, e os princípios genéricos dos métodos e dispositivos descritos neste documento podem ser aplicados para outras modalidades. Assim, a presente descrição não pretende ser limitada pelas modalidades apresentadas neste documento, mas é para ser de acordo com o escopo mais amplo consistente com os princípios e novos aspectos revelados neste documento.
[00236] Por exemplo, apesar de as modalidades serem descritas principalmente com referência a bits, outras modalidades podem envolver símbolos com múltiplos bits não binários.
[00237] Também deve ser apreciado que a presente descrição abrange vários aspectos de codificação polar, incluindo projeto de kernel, confiabilidades e seleção de subcanais para construção de código, correção de erro não auxiliada por CRC, e encurtamento e
Petição 870190068949, de 22/07/2019, pág. 77/86
Ί4Π5 puncionamento de código. Estes aspectos poderiam ser implementados separadamente, ou juntos com qualquer uma dentre várias combinações de dois ou mais destes aspectos.
[00238] Como citado acima, códigos polares foram selecionados para codificação de controle de canal de enlace reverso e de enlace direto eMMB para a nova interface aérea 5G, também conhecida como nova rádio (NR) 5G. As técnicas reveladas neste documento poderiam ser utilizadas não somente para controlar dados através de um canal de controle, mas também ou ao invés de outros tipos de dados (por exemplo, dados de usuário) através de qualquer tipo de canal (por exemplo, canal de dados).
[00239] Exemplos ilustrativos descritos neste documento se referem às sequências de subcanais que estão em ordem crescente de uma métrica de confiabilidade. Em outras modalidades, sequências ordenadas que estão em ordem decrescente de confiabilidade poderiam ser utilizadas. Similarmente, sequências poderiam ser geradas em ordem crescente de confiabilidade ao invés de iniciar com canais mais confiáveis e construir uma sequência pela adição de subcanais com confiabilidades progressivamente decrescentes.
[00240] Modalidades ilustrativas adicionais também são descritas abaixo.
[00241] Bits de entrada poderiam ser codificados em palavrascódigo que incluem bits codificados. Em uma modalidade, a codificação envolve aplicar uma matriz de kernel de codificação polar Gy de dimensão de número primo Y para os bits de entrada em um primeiro estágio, e aplicar uma matriz de kernel de codificação polar Gz de dimensão de número primo Z para os bits de saída a partir do primeiro estágio. Uma ou ambas dentre Gx e Gy poderiam não ser 2 por 2. Tal projeto de kernel e outros aspectos de construção de código, incluindo confiabilidades e seleção de subcanais para construção de
Petição 870190068949, de 22/07/2019, pág. 78/86
75/75 código, correção de erro não auxiliada por CRC, e encurtamento e puncionamento de código, poderiam ser implementados em outras modalidades como discutido em detalhes adicionais neste documento.

Claims (15)

1. Método, caracterizado pelo fato de:
codificar bits de entrada em uma palavra-código compreendendo bits codificados, a codificação fundamentada na aplicação de várias primeiras matrizes de codificação polar Gy de dimensão de número primo Y para os bits de entrada para produzir bits de saída (2306), aplicar segundas várias matrizes de codificação polar Gz de dimensão de número primo Z para os bits de saída para produzir a palavra-código (2308); e emitir a palavra-chave.
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que Y = Z.
3. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que Y é diferente de Z.
4. Método, de acordo com qualquer uma das reivindicações 1 a 3, caracterizado pelo fato de que pelo menos um dentre Y e Z é maior do que dois.
5. Método, de acordo com qualquer uma das reivindicações 1 a 4, caracterizado pelo fato de que pelo menos uma dentre Gy e Gz não é binária e é aplicada para símbolos com vários bits.
6. Método, de acordo com qualquer uma das reivindicações 1 a 5, onde Gy e Gz definem subcanais, e caracterizado pelo fato de ainda selecionar, baseado em uma sequência ordenada dos subcanais, subcanais para codificar bits de informação nos bits de entrada.
7. Método, de acordo com a reivindicação 6, caracterizado pelo fato de que a seleção compreende selecionar K subcanais a partir da sequência ordenada dos subcanais.
8. Método, de acordo com qualquer uma das reivindicações 1 a 5, onde que Gy e Gz definem subcanais, caracterizado pelo fato de
Petição 870190068949, de 22/07/2019, pág. 80/86
2/3 ainda selecionar, baseado em uma métrica de confiabilidade de polarização de subcanal e em pelo menos uma segunda métrica adicional, subcanais para codificar bits assistentes nos bits de entrada.
9. Método, de acordo com a reivindicação 8, ainda caracterizado pelo fato de:
selecionar, baseado na métrica de confiabilidade de polarização de subcanal, qualquer um ou ambos dentre subcanais mais confiáveis para codificar bits de informação nos bits de entrada, e subcanais menos confiáveis para codificar bits congelados.
10. Método, de acordo com qualquer uma das reivindicações 1 a 9, caracterizado pelo fato de a codificação ainda compreender:
aplicar várias terceiras matrizes de codificação polar de terceira dimensão de número primo, e para aplicar várias quartas matrizes de codificação polar de quarta dimensão de número primo.
11. Método, de acordo com qualquer uma das reivindicações 1 a 10, caracterizado pelo fato de a codificação ainda compreender:
aplicar uma matriz de maior dimensão que é baseada em uma combinação das várias primeiras matrizes de codificação polar Gy com as várias segundas matrizes de codificação polar Gz e que possui uma dimensão maior do que Y e Z.
12. Método, de acordo com a reivindicação 11, caracterizado pelo fato de a codificação ainda compreender:
aplicar uma matriz com dimensão ainda maior que é baseada em uma combinação de várias terceiras matrizes de codificação polar com uma terceira dimensão de número primo com várias quartas matrizes de codificação polar de uma quarta dimensão de número primo, a matriz de dimensão ainda maior possuindo uma dimensão maior do que o terceiro número primo e o quarto número
Petição 870190068949, de 22/07/2019, pág. 81/86
3/3 primo.
13. Equipamento de usuário, caracterizado por um codificador (1604) configurado para executar um método como definido em qualquer uma das reivindicações 1 a 12.
14. Equipamento de rede de comunicação, caracterizado por um codificador (1604) configurado para executar um método como definido em qualquer uma das reivindicações 1 a 12.
15. Meio não temporário legível por processador (1812), caracterizado pelo fato de que armazena instruções que, quando executadas por um ou mais processadores (1804, 1810, 1814), acarretam o um ou mais processadores executar um método como definido em qualquer uma das reivindicações 1 a 12.
BR112019012985A 2016-12-23 2017-12-20 dispositivos e métodos para construção de código polar BR112019012985A2 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662438550P 2016-12-23 2016-12-23
US15/838,559 US10554223B2 (en) 2016-12-23 2017-12-12 Apparatus and methods for polar code construction
PCT/CN2017/117538 WO2018113705A1 (en) 2016-12-23 2017-12-20 Apparatus and methods for polar code construction

Publications (1)

Publication Number Publication Date
BR112019012985A2 true BR112019012985A2 (pt) 2019-12-03

Family

ID=62624535

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112019012985A BR112019012985A2 (pt) 2016-12-23 2017-12-20 dispositivos e métodos para construção de código polar

Country Status (6)

Country Link
US (1) US10554223B2 (pt)
EP (1) EP3549265A4 (pt)
JP (1) JP2020504508A (pt)
CN (1) CN110089037B (pt)
BR (1) BR112019012985A2 (pt)
WO (1) WO2018113705A1 (pt)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10348328B2 (en) * 2017-01-06 2019-07-09 At&T Intellectual Property I, L.P. Reducing control channel overhead using polar codes
CN108400833B (zh) * 2017-02-06 2021-12-24 上海诺基亚贝尔股份有限公司 通信方法和通信设备
WO2018145242A1 (en) * 2017-02-07 2018-08-16 Qualcomm Incorporated A low complexity puncturing method for low-rate polar codes
US10608786B2 (en) * 2017-02-24 2020-03-31 Huawei Technologies Co., Ltd. Apparatus and methods of specifying ordered sequences of coding sub-channels
CN110431749B (zh) 2017-03-23 2023-02-03 高通股份有限公司 针对极性编码的奇偶校验比特信道指派
US20190007180A1 (en) * 2017-06-30 2019-01-03 Qualcomm Incorporated Apparatus and method for sub-channel selection based on a number of electronic devices of a wireless network
KR102438982B1 (ko) * 2017-11-16 2022-09-01 삼성전자주식회사 무선 통신 시스템에서 부호화 및 복호화를 위한 방법 및 장치
US11012093B2 (en) * 2017-12-05 2021-05-18 Cankaya Universitesi High-speed decoder for polar codes
WO2019145021A1 (en) * 2018-01-23 2019-08-01 Huawei Technologies Co., Ltd. Channel code construction for decoder reuse
US11196512B2 (en) * 2018-06-29 2021-12-07 Qualcomm Incorporated Resolving decodability for subsequent transmissions whose throughput exceeds a threshold
US10985779B2 (en) * 2018-08-27 2021-04-20 Polaran Haberlesme Teknolojileri Anonim Sirketi Method and system for decoding data using compressed channel output information
CN109361405B (zh) * 2018-09-14 2021-09-21 北京理工大学 一种基于素数码交织及极码编码的传输系统及方法
US11418285B2 (en) 2018-10-10 2022-08-16 Nec Corporation Method and apparatus for construction of polar codes
CN109768846B (zh) * 2019-01-09 2021-05-14 山东科技大学 基于二核三核混合极化码的凿孔方法、系统、装置及介质
DE102019200941B4 (de) * 2019-01-25 2020-08-13 Deutsches Zentrum für Luft- und Raumfahrt e.V. Decodierverfahren
CN112886969B (zh) * 2019-11-30 2024-05-14 华为技术有限公司 一种极化码编码方法及装置
US11418220B2 (en) 2020-03-20 2022-08-16 Huawei Technologies Co., Ltd. Method, system, and apparatus for a segmented polarization-adjusted convolutional (PAC) code
CN113541698B (zh) * 2020-04-22 2022-07-12 华为技术有限公司 编码、译码方法、装置及设备
JP7183479B2 (ja) * 2020-04-28 2022-12-05 三菱電機株式会社 符号化回路、復号回路、制御回路、記憶媒体および復号方法
CN114884520A (zh) * 2022-05-07 2022-08-09 重庆邮电大学 一种基于普适偏序的松弛极化编码方法
WO2024067350A1 (zh) * 2022-09-29 2024-04-04 华为技术有限公司 级联码的编码和译码的方法以及通信装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8347186B1 (en) * 2012-04-19 2013-01-01 Polaran Yazilim Bilisim Danismanlik Ithalat Ihracat Sanayi Ticaret Limited Sirketi Method and system for error correction in transmitting data using low complexity systematic encoder
WO2014102565A1 (en) 2012-12-29 2014-07-03 Emc Corporation Polar codes for efficient encoding and decoding in redundant disk arrays
WO2015058416A1 (zh) 2013-10-26 2015-04-30 华为技术有限公司 一种极性码的译码方法及装置
RU2691885C2 (ru) 2014-03-24 2019-06-18 Хуавэй Текнолоджиз Ко., Лтд. Способ согласования скорости полярного кода и устройство согласования скорости полярного кода
US10461779B2 (en) * 2015-08-12 2019-10-29 Telefonaktiebolaget Lm Ericsson (Publ) Rate-compatible polar codes
US10361728B2 (en) * 2016-06-17 2019-07-23 Huawei Technologies Co., Ltd. Multiple-symbol combination based decoding for general polar codes
CN106230555B (zh) * 2016-07-29 2019-02-19 西安电子科技大学 极化码的分段循环冗余校验方法
CN107666370B (zh) 2016-07-29 2023-09-22 华为技术有限公司 编码方法和设备
US10320428B2 (en) * 2016-08-15 2019-06-11 Qualcomm Incorporated Outputting of codeword bits for transmission prior to loading all input bits
US10523369B2 (en) * 2017-01-09 2019-12-31 Qualcomm Incorporated Mutual-information based recursive polar code construction
US10608786B2 (en) 2017-02-24 2020-03-31 Huawei Technologies Co., Ltd. Apparatus and methods of specifying ordered sequences of coding sub-channels

Also Published As

Publication number Publication date
EP3549265A1 (en) 2019-10-09
EP3549265A4 (en) 2019-11-13
US20180183464A1 (en) 2018-06-28
JP2020504508A (ja) 2020-02-06
CN110089037A (zh) 2019-08-02
US10554223B2 (en) 2020-02-04
WO2018113705A1 (en) 2018-06-28
CN110089037B (zh) 2021-04-09

Similar Documents

Publication Publication Date Title
BR112019012985A2 (pt) dispositivos e métodos para construção de código polar
CN109716692B (zh) 用于并行极化码编码/解码的方法和设备
US10560218B2 (en) Apparatus and methods for decoding assistant bit-based polar code construction
US10735154B2 (en) Methods and apparatus for coding sub-channel selection
US11057053B2 (en) Method and apparatus for wirelessly communicating over a noisy channel with a variable codeword length polar code to improve transmission capacity
EP3583700B1 (en) A method to generate ordered sequence for polar codes
US10608786B2 (en) Apparatus and methods of specifying ordered sequences of coding sub-channels
US10447435B2 (en) Reduced-stage polar decoding
US10505566B2 (en) Methods and apparatus for encoding and decoding based on layered polar code
CN110663189B (zh) 用于极化编码的方法和装置
US10812107B2 (en) Apparatus and methods for polar code construction and bit position allocation
WO2019184941A1 (en) Apparatus and methods for rate matching in polar coding
CN111386664B (zh) 极化编码方法及装置

Legal Events

Date Code Title Description
B350 Update of information on the portal [chapter 15.35 patent gazette]
B08F Application dismissed because of non-payment of annual fees [chapter 8.6 patent gazette]

Free format text: REFERENTE A 5A ANUIDADE.

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

Free format text: EM VIRTUDE DO ARQUIVAMENTO PUBLICADO NA RPI 2703 DE 25-10-2022 E CONSIDERANDO AUSENCIA DE MANIFESTACAO DENTRO DOS PRAZOS LEGAIS, INFORMO QUE CABE SER MANTIDO O ARQUIVAMENTO DO PEDIDO DE PATENTE, CONFORME O DISPOSTO NO ARTIGO 12, DA RESOLUCAO 113/2013.