BRPI0721176B1 - métodos e aparelhos para operar um turbo codificador - Google Patents

métodos e aparelhos para operar um turbo codificador Download PDF

Info

Publication number
BRPI0721176B1
BRPI0721176B1 BRPI0721176A BRPI0721176A BRPI0721176B1 BR PI0721176 B1 BRPI0721176 B1 BR PI0721176B1 BR PI0721176 A BRPI0721176 A BR PI0721176A BR PI0721176 A BRPI0721176 A BR PI0721176A BR PI0721176 B1 BRPI0721176 B1 BR PI0721176B1
Authority
BR
Brazil
Prior art keywords
interleaver
size
block
interleaving
sizes
Prior art date
Application number
BRPI0721176A
Other languages
English (en)
Inventor
Nimbalker Ajit
K Classon Brian
W Blankenship Yufei
Original Assignee
Google Technology Holdings LLC
Motorola Mobility Llc
Motorola Mobility Inc
Motorola Solutions Inc
Motorola Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google Technology Holdings LLC, Motorola Mobility Llc, Motorola Mobility Inc, Motorola Solutions Inc, Motorola Inc filed Critical Google Technology Holdings LLC
Publication of BRPI0721176A2 publication Critical patent/BRPI0721176A2/pt
Publication of BRPI0721176A8 publication Critical patent/BRPI0721176A8/pt
Publication of BRPI0721176B1 publication Critical patent/BRPI0721176B1/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/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/2789Interleaver providing variable interleaving, e.g. variable block sizes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/275Interleaver wherein the permutation pattern is obtained using a congruential operation of the type y=ax+b modulo c
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2903Methods and arrangements specifically for encoding, e.g. parallel encoding of a plurality of constituent 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/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • H03M13/2996Tail biting
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6566Implementations concerning memory access contentions

Landscapes

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

Abstract

métodos e aparelhos para operar um turbo codificador um método e aparelho para selecionar tamanhos de intercalador para turbo códigos é aqui provido. durante a operação o bloco de informação de tamanho k é recebido. um tamanho de intercalador k’ é determinado o qual é relacionado a k”, onde k” a partir de um conjunto de tamanhos; em que o conjunto de tamanhos compreende k''= a p x f , pmin menor igual a p menor igual a pmax ; fmin menor igual a f menor igual a fmax , em que a é um número inteiro e f é um número contínuo entre fmin e fmax, p pega os valores de números inteiros entre pmin e pmax, a>1, pmax> pmin, pmin>1. o bloco de informação de tamanho k é preenchido em um bloco de entrada de tamanho k’ utilizando bits de enchimento, se necessário. a codificação é realizada utilizando o bloco de entrada original e o bloco de entrada intercalado para obter um bloco de palavra-código utilizando um turbo codificador. o bloco de palavra-código é transmitido através do canal.

Description

MÉTODOS E APARELHOS PARA OPERAR UM TURBO CODIFICADOR
Campo da Invenção
A presente invenção se refere geralmente à codificação e decodificação de dados e especificamente, a um método e aparelho para turbo codificação e decodificação.
Antecedentes da Invenção
As transmi ssões de dados digitais através de
ligações cabeadas e sem fio podem ser corrompidas, por
exemplo, por ruído na ligação ou canal , mediante
interferência a partir de outras transmissõ es, ou por
outros fatores ambientais. Para combater os erros
introduzidos pelo canal, muitos sistemas de comunicação
empregam técnicas de correção de erro para auxiliar na
comunicação.
Uma técnica utilizada para correção de erro é a
turbo codificação de um bloco de informação antes dele ser
transmitido através do canal. Utilizando tal técnica, um
codificador dentro do transmissor de um sistema de
comunicação codificará um bloco de entrada u de K' bits de comprimento em um bloco de palavra-código x de N bits. O bloco de palavra-código é então transmitido através do canal, possivelmente após processamento adicional tal como intercalação de canal conforme definido nas especificações IEEE 802.16e. No receptor, o turbo decodificador pega o vetor de sinal recebido y de comprimento N como entrada, e gera uma estimativa ü de vetor u.
Tipicamente o turbo codificador é composto de dois codificadores convolucionais constituintes. O primeiro codificador constituinte pega o bloco de entrada u como
Petição 870190089093, de 09/09/2019, pág. 9/46
2/30 entrada em sua ordem original, e o segundo codificador constituinte pega o bloco de entrada u em sua ordem intercalada após passar u através de um turbo intercalador π. A saída do turbo codificador x é composta dos bits sistemáticos (igual ao bloco de entrada u), os bits de paridade a partir do primeiro codificador constituinte, e os bits de paridade a partir do segundo codificador constituinte.
Correspondentemente o turbo decodificador dentro do receptor do sistema de comunicação é composto de dois decodificadores convolucionais constituintes, um para cada código constituinte. Os decodificadores constituintes são separados pelo intercalador π e o desintercalador correspondente π-1. Mensagens no formato de razões de logverossimilhança (LLRs) são passadas entre os decodificadores constituintes iterativamente. A decisão ü é tomada após várias iterações.
O turbo intercalador π é o componente-chave no modelo de turbo código. Ele é responsável pelo embaralhamento do bloco de entrada u de uma forma pseudoaleatória, desse modo proporcionando as palavrascódigo x com distribuição de peso adequada, portanto capacidades adequadas de correção de erro. Em adição à performance de decodificação, a definição do turbo intercalador π afeta grandemente a implementação do turbo decodificador dentro do receptor. Para permitir alto nível de processamento paralelo sem contenções de acesso à memória, o turbo intercalador π precisa ter propriedades livres de contenção.
Descrição Resumida dos Desenhos
Petição 870190089093, de 09/09/2019, pág. 10/46
3/30
A Figura 1 é um diagrama de blocos de um transmissor.
A Figura 2 é um diagrama de blocos do turbo
codificador da Figura 1.
A Figura 3 é um diagrama de blocos de um receptor.
A Figura 4 é um diagrama de blocos do turbo
codificador da Figura 4.
A Figura 5 é um fluxograma mostrando a operação do transmissor da Figura 1.
A Figura 6 é um fluxograma mostrando a operação do receptor da Figura 3.
Descrição Detalhada dos Desenhos
Para tratar da necessidade mencionada acima no sentido de intercaladores livres de contenção, é provido aqui um método e aparelho para selecionar tamanhos de intercalador para turbo códigos. Durante operação um bloco de informação de tamanho K é recebido. Um tamanho de intercalador K' é determinado onde K' é relacionado a K” onde K” é a partir de um conjunto de tamanhos; em que o conjunto de tamanhos compreende K” = ap x /, Pmin < p < Pmax; /min < / < /max, em que α é um número inteiro, / é um número inteiro contínuo entre /min e /max, e p pega valores de número inteiro entre pmin e pmax, α>1, pmax>pmin, pmin>1. O bloco de informação de tamanho K é preenchido em um bloco de entrada de tamanho K'. O bloco de entrada é intercalado utilizando um intercalador de tamanho K'. O bloco de entrada original e o bloco de entrada intercalado são codificados para obter um bloco de palavra-código. O bloco de palavra-código é transmitido através do canal.
Em uma modalidade adicional da presente invenção a
Petição 870190089093, de 09/09/2019, pág. 11/46
4/30 etapa de determinar o tamanho de intercalador K' que é relacionado à K” compreende a etapa de usar K' = K”.
Em ainda outra modalidade da presente invenção a etapa de determinar o tamanho de intercalador K' que é relacionado à K”, compreende a etapa de usar K' = K” quando K” não é um múltiplo de (2m-1); caso contrário utilizando K'=K” +ô(K”) quando K” é um múltiplo de (2m-1), em que m é o comprimento de memória do codificador convolucional constituinte, e ô(K) é um número inteiro pequeno positivo ou negativo não igual a um múltiplo de (2m-1) . Em uma modalidade m=3.
Em ainda outra modalidade da presente invenção a etapa de intercalar o bloco de entrada compreende a etapa de usar uma permutação π (i) = (iP0+A+d(i))mod K', onde 0<i<K'-1 é o índice sequencial das posições de símbolo após intercalação, π(ί) é o índice de símbolo antes da intercalação correspondendo à posição i, K' é o tamanho de intercalador nos símbolos, Po é um número que é relativamente primo para K', A é uma constante, C é um número pequeno que divide K', e d(i) é um vetor de pontilhamento da forma d(í)=fi(í mod C)+Po x a (i mod C) onde a(.) e β (.) são vetores cada um de comprimento C, periodicamente aplicados para 0<i<K'-1.
Em ainda outra modalidade da presente invenção a etapa de intercalar o bloco de entrada compreende a etapa de usar uma permutação π (i ) = (/1xi+/2xi2)mod K', onde 0<i<K'1 é o índice sequencial das posições de símbolo após intercalação, π(ί) é o índice de símbolo antes da intercalação correspondendo à posição i, K' é o tamanho de intercalador em símbolos, e /1 e /2 são os fatores definindo
Petição 870190089093, de 09/09/2019, pág. 12/46
5/30 o intercalador.
Antes de descrever os dados de decodificação, as seguintes definições estabelecer o fundamento necessário:
codificação e de são providas para denota o tamanho de um bloco de informação.
tamanho de denota um tamanho de intercalador (isto bloco de entrada para o qual é definido um intercalador de turbo código).
usada na
K” denota determinação uma variável de um tamanho auxiliar que pode de intercalador.
ser
Kfnier denota o número de bits de enchimento adicionados ao bloco de informação.
denota o intercalador interno de turbo código.
operação de limite mínimo LxJ denota o número inteiro maior menor do que ou igual a χ e a operação de limite máximo
ΓχΊ denota o menor número inteiro maior do que ou igual a
χ.
denota um bloco de entrada, o qual tem um comprimento de K' e é enviado para o turbo codificador no transmissor.
ü denota o bloco de entrada estimado o qual tem um comprimento de K e é produzido pelo turbo decodificador no receptor.
Observar que ü=u quando não há erro de decodificação. Caso contrário ü/u.
De acordo agora com os desenhos, em que numerais semelhantes designam componentes semelhantes a Figura 1 é um diagrama de blocos do transmissor 100. Conforme mostrado transmissor 100 compreende conjunto de circuitos de inserção de enchimento 109, turbo codificador
101, conjunto de circuitos de determinação de tamanho de intercalador 103, tabela de parâmetro de parâmetro de
Petição 870190089093, de 09/09/2019, pág. 13/46
6/30 intercalador 10-5, e transmissor 107. O codificador 101 é preferivelmente um turbo codificador 3GPP de taxa-1/3, contudo, as técnicas aqui descritas para operar o codificador 101 podem ser aplicadas a outros codificadores, incluindo, mas não limitados aos turbo codificadores realizando turbo codificação com bits finais ou nenhum bit final, tail-biting, ou turbo codificadores binários ou duobinários, turbo codificadores utilizando diferentes combinações de taxa e técnicas de perfuração, etc. O conjunto de circuitos 103 determina o tamanho de intercalador K' que é relacionado à K”, onde K” é a partir de um conjunto de tamanhos; em que o conjunto de tamanhos compreende K”=aP x f, pmin d p i pmax; f min ú fmax, em que a é um número inteiro, f é um número inteiro contínuo entre fmin e fmax, e p pega os valores de número inteiro entre pmin e Pmax, a>1, p max >pmin, pmin>1.
Durante operação do transmissor 100, o bloco de informação de tamanho K precisa ser codificado pelo turbo codificador 101. Para alguns sistemas de comunicação onde um grande número de diferentes Ks é usado, não é eficiente (e frequentemente impossível) definir um intercalador livre de contenção (CF) para cada tamanho de bloco de informação K. É preferível se um pequeno conjunto (K' ) de intercaladores CF bem projetados for capaz de cobrir todos os tamanhos de blocos de informação. Dado um tamanho de bloco de informação K, um tamanho de intercalador adequado K' pode ser escolhido pelo conjunto de circuitos 103 a partir do conjunto de tamanhos disponíveis (por exemplo, tamanhos de intercalador relacionados na Tabela 105) . O bloco de informação é então preenchido em um bloco de
Petição 870190089093, de 09/09/2019, pág. 14/46
7/30 entrada de tamanho K' pelo conjunto de circuitos 109 e enviado como entrada para o turbo codificador 101. Um arranjo típico é o de preencher o bloco de informação com bits de enchimento Kfiiier (por intermédio do conjunto de circuitos de inserção de enchimento 109) . Observar que o
termo tamanho e comprimento são usados de forma
permutável para indicar o número de elementos em um bloco
ou vetor.
Quando K' é escolhido pelo conjunto de circuitos
103, ele é provido ao turbo codificador 101. Durante a codificação, um intercalador livre de contenção pode ser usado (não mostrado na Figura 1) . Por exemplo, o intercalador pode usar uma permutação π (i) = (iP0+A+d(i))mod K', em que 0<i<K'-1 é o índice sequencial das posições de símbolo após intercalação, π(ί) é o índice de símbolo antes da intercalação correspondendo à posição i, K' é o tamanho de intercalador em símbolos, P0 é um número que é relativamente primo para K', A é uma constante, C é um número pequeno que divide K', e d(i) é um vetor de pontilhamento da forma d(i)=fí(i mod C)+P0 x a (i mod C) onde a(.) e β(.) são vetores cada um de comprimento C, periodicamente aplicados para 0<i<K'-1. Como outro exemplo, o intercalador pode usar uma permutação π (i ) = (/1 x i+/2xi2)mod K', onde 0<i<K'-1 é o índice sequencial das posições de símbolo após intercalação, π(ΐ) é o índice de símbolo antes da intercalação correspondendo à posição i, K' é o tamanho de intercalador em símbolos, e /1 e /2 são os fatores definindo o intercalador. Em geral um símbolo pode ser composto de múltiplos bits e a etapa de intercalação pode usar uma etapa adicional de permutar os bits dentro de
Petição 870190089093, de 09/09/2019, pág. 15/46
8/30 um símbolo. Sem perder a generalidade, a discussão abaixo considera o caso típico onde um símbolo é composto de um bit apenas (desse modo não há a necessidade de permutar bits dentro de um símbolo), e os termos: bit e símbolo podem ser usados de forma permutável.
A saída do turbo codificador 101 compreende um bloco de palavra-código x, e x é enviado para o transmissor 107 onde ele é transmitido através do canal. O transmissor pode realizar processamento adicional tal como equiparação de taxa, intercalação de canal, modulação, etc., antes de transmitir o bloco de palavra-código x através do canal.
A Figura 2 é um diagrama de blocos do codificador
101 da Figura 1. Conforme mostrado, o codificador 101 compreende o intercalador 201, conjunto de circuitos de codificação 202, e conjunto de circuitos de codificação 203. Um exemplo do codificador é o turbo codificador definido na especificação 3GPP. A taxa de código mãe do turbo codificador definida em 3GPP tem uma taxa de código nativa de R = 1/3. Na saída do turbo codificador, três bits são produzidos para cada bit dentro do bloco de entrada: um bit sistemático (igual ao bit no bloco de entrada), um bit de paridade a partir do codificador constituinte 1, um bit de paridade a partir do codificador constituinte 2. Além disso, a saída do turbo codificador também pode incluir Ntb bits finais, os quais são usados para terminar a treliça dos códigos constituintes. Por exemplo, para turbo código 3GPP, Ntb = 12 bits na saída do turbo codificador, seis bits finais por código constituinte. Por outro lado, é possível utilizar códigos convolucionais constituintes de bits finais, desse modo fazendo Ntb = 0.
Petição 870190089093, de 09/09/2019, pág. 16/46
9/30
O intercalador 201 pode ser um intercalador livre de contenção. Um intercalador π (i), 0<i<K', é dito como sendo livre de contenção para um tamanho de janela W se e apenas se ele satisfizer a seguinte limitação para ambos Ψ=π (intercalador) e Ψ=π_1 (desintercalador), (1) onde 0 < j < W, 0 < t; v < M(=K'/W), e t P v. Embora nem sempre seja necessário, para modelo de turbo decodificador eficiente, tipicamente todas as M janelas, são completas, onde K' = MW. Os termos em (1) são os endereços de bancos de memória que são atualmente acessados pelo M processadores ao escrever os valores extrínsecos para os bancos de memória de saída durante decodificação iterativa. Se esses endereços de bancos de memória são todos singulares durante cada operação de leitura e de gravação, não existem contenções no acesso à memória e, portanto, a latência de (de)intercalação pode ser evitada, conduzindo a uma implementação de decodificador de alta velocidade.
Durante a operação do turbo codificador 101, o bloco de entrada de K' bits de comprimento entra não apenas no intercalador 201 como também no conjunto de circuitos de codificação 202. O intercalador 201 pode ser um intercalador livre de contenção de tamanho K'.
O intercalador 201 intercala o bloco de entrada e passa o bloco de entrada em ordem intercalada para o conjunto de circuitos de codificação 203. O conjunto de circuitos de codificação 203 então codificada o bloco de entrada intercalado. De uma maneira similar, o conjunto de
Petição 870190089093, de 09/09/2019, pág. 17/46
10/30 circuitos de codificação 202 codifica o bloco de entrada original. O bloco de palavra-código x é composto do bloco sistemático (igual ao bloco de entrada), saída do conjunto de circuitos de codificação 202, e saída do conjunto de circuitos de codificação 203. O bloco de palavra-código x é então enviado para o transmissor 107 o qual também pode receber uma cópia diretamente do bloco de entrada.
Como um exemplo do intercalador livre de contenção, um intercalador de permutação quase regular (ARP) é dado pela seguinte expressão π(ί) = (1Ρ0 + A + d(i))mod K' onde 0<i<K'-1 é o índice sequencial das posições de bits após intercalação, π(ί) é um índice de bits antes da intercalação correspondendo à posição i, K' é o tamanho do intercalador, P0 é um número que é relativamente primo para K', A é uma constante, C é um número pequeno que divide K', e d(i) é um vetor de pontilhamento da forma <3(ί)=β(ί mod C)+P0 x a (i mod C) onde α (.) e β(.) são vetores cada um de comprimento C, periodicamente aplicados para 0<i<K'-1. Ambos α(.) e β(.) são compostos de múltiplos de C. O intercalador global π(ί) desse modo construído tem propriedades quase cíclicas (isto é, periódicas) com período C, e quando usado em turbo códigos de bits finais, o próprio turbo código se torna quase cíclico levando a um procedimento de projeto de código simplificado.
Como outro exemplo do intercalador livre de contenção, um intercalador de Permutação Quadrática Polinomial (QPP) é dado pela seguinte expressão π(ί)=(/1 x i+/2xi2)mod K', onde 0<i<K'-1 é o índice sequencial das posições de símbolo após intercalação, π(ί) é o índice de
Petição 870190089093, de 09/09/2019, pág. 18/46
11/30 símbolo antes da intercalação correspondendo à posição i,
K' é o tamanho de intercalador em símbolos, e /1 e /2 são os fatores definindo o intercalador. Similar aos intercaladores ARP, o turbo código também é quase cíclico se forem usados bits finais.
Se o intercalador 201 pode satisfazer (1) para vários valores de M, então o decodificador pode ser implementado utilizando vários graus de paralelismo (um para cada M) . Desse modo é desejável escolher K' que tem vários fatores. Para um intercalador ARP de comprimento K', qualquer tamanho de janela W, onde W é um múltiplo de C; e um fator de K' pode ser usado para decodificação de alta velocidade sem contenções de acesso à memória. Com uma diferente definição de janelas paralelas, é possível usar qualquer fator de K como o número de janelas paralelas. Para um intercalador QPP, cada fator do tamanho de intercalador K' sendo um nível possível de paralelismo M. Isso provê flexibilidade e capacidade de escalonamento no projeto do decodificador ao permitir uma ampla faixa de fatores de paralelismo M. Assim, um bom equilíbrio entre velocidade de decodificação e complexidade pode ser feito com base nas exigências de sistema (ou classes de elementos de usuário).
Escolhendo tamanho de intercalador K'
Conforme discutido acima, o conjunto de circuitos de determinação de tamanho de intercalador 103 precisa determinar um tamanho de intercalador K' para um determinado K. Essa seção descreve uma forma de selecionar um número limitado de tamanhos (isto é, K') para os quais intercaladores de turbo código podem ser definidos. Como
Petição 870190089093, de 09/09/2019, pág. 19/46
12/30 previamente indicado, o conjunto de circuitos de inserção de enchimento (junto com métodos de perfuração ou equiparação de taxa) pode ser usado para lidar com qualquer tamanho de bloco de informação K. Em geral, a seleção de tamanho de intercalador deve considerar a carga de decodificação e a degradação de performance devido aos bits de enchimento.
O número de bits de enchimento Kfiiier preenchidos em um bloco de informação para formar um bloco de entrada deve ser limitado a uma pequena percentagem (por exemplo, aproximadamente 10-13%) do tamanho de bloco de informação K. Isso é obtido mediante limitação da diferença entre tamanhos de intercaladores adjacentes, isto é, valores K' adjacentes (supondo que todos os valores K' disponíveis sejam classificados em ordem ascendente). O número de bits de enchimento é minimizado mediante escolha do menor K' disponível de tal modo que K > K. O número de bits de enchimento é Kfiiier = K' - K. Contudo, outros valores disponíveis de K' - K também podem ser escolhidos, se desejado.
Considere o seguinte conjunto de tamanhos definidos para cobrir tamanhos de informação entre Kmin e Kmax.
K = ap X f, Pmin d P d Pmax.r fmin d f d fmax, (2) em que α é um número inteiro, f é um número inteiro contínuo entre fmin e fmax, e P pega os valores de número inteiro entre pmin e pmax, a>1, pmax>Pmin, Pmin>1. Embora não seja necessário, podem-se escolher esses parâmetros de tal modo que Kmin = aPmin x fmin, e Kmax = aPmax x fmax, enquanto descartando quaisquer tamanhos que possam não ser necessários. Esse método de selecionar um conjunto limitado
Petição 870190089093, de 09/09/2019, pág. 20/46
13/30 de tamanhos para cobrir uma faixa de tamanhos de blocos de
informação é referido como partição de semilog. Para um
determinado bloco de informação de tamanho K, um tamanho K'
relacionado a um K” com base na tabela de partição de
semilog, e tamanho de bloco de entrada K.
A partição de semilog é similar à operação de
compressão/expansão empregada na compactação de sinais de faixa dinâmica ampla, por exemplo, compressor/expansor ALaw e um-Law usados em codecs de fala. A regra de partição de semilog permite um modelo eficiente para cobrir uma ampla faixa de tamanhos de blocos de informação.
Das várias formas de escolher os parâmetros, uma forma de escolher valores de /min e /max é a de deixar os valores K” resultantes de p adjacente alinharem-se mutuamente, isto é, aP x (/max + 1)= aP+1 x /min, desse modo /max = O- x /min
Para um determinado valor de p a separação entre dois tamanhos de blocos adjacentes K é dada por aP, o que significa que um máximo de aP-1 bits de enchimento é adicionado se o tamanho de bloco de informação K estiver no grupo p o tamanho de intercalador for igual a
K”. Desse modo, a fração de bits de enchimento Kfiiier sobre o tamanho de bloco de informação K é limitada como mostrado abaixo, o que ocorre quando o tamanho de bloco K é ligeiramente maior do que o tamanho determinado por (p /min) e utilizando dado por (p, / min +1) para (Kfiller Ί ap -1 maxl — l K aP X /min + 1 / .
J min a
(/max + 1)
Petição 870190089093, de 09/09/2019, pág. 21/46
14/30
Alternativamente valores de K” resultantes de p adjacente podem se alinhar mutuamente por intermédio de ap X fmax = ap+1 x (fmin - 1), resultando em f max = a X (fmin - 1)· Isso proporcionaria um limite similar Kfiiier/K· Portanto, os parâmetros para a partição de semilog podem ser sintonizados de acordo com a faixa de tamanhos de bloco a serem suportados, e também com a fração tolerável dos bits de enchimento· A escolha de fmin requer equilíbrio entre as seguintes duas exigências:
• fmin deve ser grande para reduzir a fração dos
bits de enchimento;
• fmin deve se pequeno para limitar o tamanho da
tabela de intercalador, uma vez que o número de tamanhos de
bloco definidos para cada p é fmax - fmin + 1 = (a - 1) x f min,
supondo fmax = a x fmin - 1·
O método de partição de semilog é muito simples em que para qualquer tamanho de bloco, o tamanho do intercalador K' a ser usado pode ser facilmente determinado com base em um K” computado a partir de (2)· Quando os tamanhos de partição de semilog são definidos (K”), o tamanho de intercalador K' pode ser obtido a partir dos tamanhos de partição de semilog (sem se desviar substancialmente) mediante, por exemplo,
1· Utilizando K'=K”· Em outras palavras, os tamanhos de partição de semilog podem ser usados diretamente como tamanhos de intercalador válidos·
2· Utilizando K' = K” quando K” não é um múltiplo de (2m-1), caso contrário utilizando K'=K”+ô(K”) quando K” é um múltiplo de (2m-1), em que m é um comprimento de memória de um codificador convolucional constituinte, e ô(K”) é um
Petição 870190089093, de 09/09/2019, pág. 22/46
15/30 número inteiro pequeno positivo ou negativo não igual a um múltiplo de (2m-1) . Isso é útil se os códigos convolucionais constituintes forem tail-biting, onde múltiplos de (2m-1) são inválidos. Os tamanhos definidos pelo método de partição de semilog de (2) podem algumas vezes incluir tamanhos que são tamanhos de intercalador não adequados para turbo codificação. Por exemplo, a versão tail-biting dos turbo codificadores 3GPP de oito estados (m=3) não suporta tamanhos de bloco de entrada (isto é, tamanhos de intercalador) que são múltiplos de 7 (isto é, 2m-1). Em tais casos, sempre que a equação (2) resultar em
um tamanho que é múltiplo de 2m-1 , um valor pequeno é
subtraído ou adicionado a ela de modo que o tamanho
resultante não mais seja um múltiplo de 2m- 1.
Por exemplo, se a=2 , 7min= 8 , e _/max=15, então os
tamanhos de intercalador da forma K'=K”=2px14 são múltiplos de 7, e portanto são tamanhos de intercalador inválidos ao se utilizar tail-biting 3GPP TC. Portanto, esse caso deve ser manejado com ligeira alteração, por exemplo, utilizando K'=K” quando K” não é um múltiplo de 7, caso contrário utilizando K'=K”+ô(K”) quando K” é um múltiplo de 7, e ô(K”) é um número inteiro positivo ou negativo pequeno não igual a um múltiplo de 7.
Para tamanhos de K” que são escolha inválida para intercaladores tail-biting, uma forma simples de determinar um tamanho de intercalador relacionado K' é mediante subtração (adição é da mesma forma válida) dxC a partir de K”, onde d é um pequeno número inteiro positivo e d não é um múltiplo de 7 . Para um intercalador ARP, C pode ser um comprimento de ciclo de intercalador ARP usado para os
Petição 870190089093, de 09/09/2019, pág. 23/46
16/30 tamanhos de bloco próximos a K' no conjunto de tamanhos disponíveis. (Lembrar que o tamanho de bloco de um intercalador ARP é um múltiplo dos comprimentos de ciclo
C. ) Em outras palavras,
K' = K” - dC (3) ou
K' = K” + dC (4) quando K” é um múltiplo de 7. Como C é normalmente um número inteiro par; tal como 4, 8, 12 ou 16; esse ajuste fornece duas vantagens, isto é, (a) K' não é um múltiplo de 7, e (b) K' é um múltiplo de C e, portanto, um intercalador ARP para tamanho K' pode ser projetado.
Para simplicidade, o mesmo d pode ser escolhido para todos os K” que precisem ser ajustados. Uma consideração importante para a escolha de d é que ele deve ser tal que todos os tamanhos obtidos por (3) ou (4) tenham um número substancial de fatores, o que permite suportar uma ampla faixa de paralelismo para o intercalador CF assim definido.
Exemplo de Seleção de Tamanho de intercalador:
Para 3GPP LTE, não é essencial definir intercalador CF para cada tamanho de bloco entre 40 e 5114 bits. Um conjunto limitado ou um conjunto pequeno de intercaladores CF bem projetados é suficiente para cobrir todos os tamanhos de bloco. Para tamanhos de bloco não definidos (isto é, para os quais os intercaladores CF não são definidos), enchimento-zero (isto é, apensando bits de enchimento) pode ser usado efetivamente, conforme descrito acima.
Como um primeiro exemplo, um conjunto de intercaladores adequados para cobrir os tamanhos de bloco
Petição 870190089093, de 09/09/2019, pág. 24/46
17/30 de informação para Evolução de Longo Prazo (LTE) 3GPP na
Tabela 105 são definidos com base no método de partição de semilog descrito acima. Especificamente,
K” = 2p x f, p = 4,5,...,9,· f = 8,9,...,15, (5) e K' é determinado a partir de K”. Os tamanhos de intercalador são determinados conforme a seguir: utilizando K' = K” e para p = 4,5,6,7,8,9 e f = 8,9,10,11,12,13,15, e utilizando K' = K” - dC para p=4,5,6,7,8,9 e f=14, cobrindo K a partir de 128 a 7680. Os últimos três tamanhos (f=13,14,15) correspondendo a p=9 podem ser removidos de tal modo que Kmax = 6144, com Kmin = 128. A equação (3) é usada junto com d=2 quando f=14 (isto é, para evitar tamanhos de intercalador que são múltiplos de 7) para lidar com tail-biting TC. Quando os tamanhos de intercalador em 115 são determinados, um intercalador CF pode ser projetado para cada tamanho de intercalador.
Dado qualquer tamanho de bloco de informação K, o conjunto de circuitos 103 pode determinar o tamanho do intercalador K' a ser usado para K mediante escolha do
menor valor de K' a partir de 105 que seja maior do que ou
igual a K. Com K conhecido, e f = 2b fmin = 2 , f max = 2b+1-1, onde b
é um número inteiro, os parâmetros p e f podem ser
calculados como a seguir,
p = Llo§2 (K)J-b (6)
r Γ K Ί
f = Τ' (7)
2 p
Especificamente, para os parâmetros em (5), b=3, e
Llog2 (K) J-3 (8)
Com os parâmetros p e f, o tamanho de bloco K' pode ser calculado utilizando (2) ou (5) e, além disso, quando f
Petição 870190089093, de 09/09/2019, pág. 25/46
18/30 é um múltiplo de 7 e codificação tail-biting é utilizada, tamanho de intercalador calculado utilizando (3) ou (4) pode ser usado em adição. Os parâmetros associados com o intercalador de tamanho K' são então consultados a partir do meio de armazenamento para parâmetro de intercalador 105, o qual é normalmente armazenado na memória para o dispositivo de comunicação.
Como um segundo exemplo, um conjunto sugerido de tamanhos completos de intercalador K' para cobrir K de 40 a 8192 bits são:
Para K'G [264,8192], K'=1p x /, p=3,...,7; /=33, 34,..., 64,Para K' abaixo de 264, um tamanho de etapa de 8 é usado de tal modo que K' = 40, 48,..., 256.
Esses tamanhos também são relacionados abaixo.
40 48 56 64 72 80 88 96 104 112
120 128 136 144 152 160 168 176 184 192
200 208 216 224 232 240 248 256 264 272
280 288 296 304 312 320 328 336 344 352
360 368 376 384 392 400 408 416 424 432
440 448 456 464 472 480 488 496 504 512
528 544 560 576 592 608 624 640 656 672
688 704 720 736 752 768 784 800 816 832
848 864 880 896 912 928 944 960 976 992
1008 1024 1056 1088 1120 1152 1184 1216 1248 1280
1312 1344 1376 1408 1440 1472 1504 1536 1568 1600
1632 1664 1696 1728 1760 1792 1824 1856 1888 1920
1952 1984 2016 2048 2112 2176 2240 2304 2368 2432
2496 2560 2624 2688 2752 2816 2880 2944 3008 3072
3136 3200 3264 3328 3392 3456 3520 3584 3648 3712
3776 3840 3904 3968 4032 4096 4224 4352 4480 4608
4736 4864 4992 5120 5248 5376 5504 5632 5760 5888
6016 6144 6272 6400 6528 6656 6784 6912 7040 7168
7296 7424 7552 7680 7808 7936 8064 8192
Observar que os tamanhos mostrados acima são apenas um exemplo definido para um K' máximo de 8192 bits e usado no estudo de comparação dos 42 tamanhos de blocos de informação. Se outros máximos como 6144 bits forem usados, então qualquer K' maior do que o máximo será removido da
Petição 870190089093, de 09/09/2019, pág. 26/46
19/30 lista. Além disso, para simplicidade, os tamanhos não consideraram a diferença entre o uso de códigos constituintes finais ou tail-biting. Se o turbo codificador é feito com bits finais, então os K's que são múltiplos de 7 não podem ser usados. Esses ou serão removidos ou serão modificados como descrito anteriormente. Finalmente, tamanhos de intercaladores adicionais podem ser adicionados àqueles acima para diminuir o espaçamento entre os intercaladores. Por exemplo, se um espaçamento máximo de 64 for usado, intercaladores extraordinários serão definidos entre os intercaladores com espaçamento 128 na tabela. Se tail-biting for então utilizado e K' múltiplo de 7 removido, o espaçamento máximo é então outra vez de 128.
Como ainda outro exemplo de seleção de tamanho de intercalador, o sistema pode usar um intercalador CF apenas quando o bloco de transporte (TB) (número de bits de informação antes da segmentação) estiver acima de certo valor. Por exemplo, se o tamanho máximo definido for 5114, quando um bloco de transporte é maior do que 5114 um intercalador CF tal como ARP ou QPP pode ser usado. Nesses casos, segmentação pode criar K' inferior a 5114, mas o intercalador CF é usado para aquele K'. Um K, portanto pode ser turbo intercalado utilizando um primeiro intercalador (tal como um 3gpp, intercalador não-CF, ou outro intercalador) e um segundo intercalador (tal como um intercalador livre de contenção), dependendo do tamanho de bloco de transporte antes da segmentação. O primeiro e o segundo intercalador podem ter diferentes conjuntos de K'. Por exemplo, o primeiro intercalador pode ser substancialmente definido para todos os K=K', enquanto que
Petição 870190089093, de 09/09/2019, pág. 27/46
20/30 o segundo intercalador é definido com K' conforme acima. Em alguns casos, um único processador ou um número menor de processadores pode ser usado para o primeiro intercalador.
Exemplo de intercalador ARP:
Um subconjunto de 42 intercaladores ARP CF adequados para cobrir tamanhos de bloco de informação para Evolução de Longo Prazo (LTE) 3GPP é mostrado na Tabela 1. O comprimento de ciclo C=4 é usado para K<1024, C=8 para K>1024. Um comprimento de ciclo maior C leva a uma 10 distância mínima melhor dmin em tamanhos maiores de bloco.
Além disso, em vez de A=3, A=0 é usado para todos os tamanhos. Além disso, em vez de permitir que cada K tenha um vetor a(.) e β(.) diferente, apenas um pequeno conjunto de valores a e β pode reduzir o armazenamento da definição 15 de intercalador. O conjunto de valores a e β permitido é definido abaixo.
Quando comprimento de ciclo C=4,
a = 4 4
[0 0
20 0 4 4 0] ;
β =
[0 4 12 8
0 12 24 8
0 24 8 12
25 0 16 8 4
0 12 24 4
0 12 16 24
0 8 20 24
0 4 8 12] ;
30 Quando comprimento de ciclo C=8,
a =
[0 0 8 0 8 0 8 8
8 0 8 8 8 0 0 0 ] ;
β =
35 [0 16 24 88 64 8 32 40
0 64 136 160 48 192 24 120
0 24 80 40 16 96 64 32
0 8 72 40 88 48 32 96
0 16 88 96 56 24 48 64
40 0 8 48 32 64 88 40 56
0 32 8 56 80 16 72 48
0 72 64 48 88 8 184 248
Petição 870190089093, de 09/09/2019, pág. 28/46
21/30
0 16 48 24 8 32 40 88
0 16 120 152 24 216 64 240
0 32 176 216 136 64 224 248
0 16 40 96 88 80 32 48
0 24 208 112 224 168 184 48
0 8 16 64 24 48 80 32
0 8 40 16 96 80 56 88 ] ;
Desse modo cada fileira de α poderia ser usada como um vetor α, cada fileira de β poderia ser usada como um vetor β. O índice α e β, portanto, são definidos para cada K para indexar nas fileiras de α e β onde 1<=α<=2, 1<=b<=2C. O método de indexação substancialmente reduz o armazenamento do intercalador ARP uma vez que apenas P0 (8 bits), índice α (1 bit) e b (3-4 bits) precisam ser armazenados por intercalador. O comprimento de ciclo C pode ser determinado com base em se K é menor do que 1024 bits. Além disso, a quantidade de armazenamento de parâmetro para
usar C=8 versus C=4 é apenas a diferença no tamanho da
matriz α e β, que é trivial, portanto, permitindo a
liberdade de usar C superior se ne cessário.
O meio de armazenamento para o parâmetro de
intercalador 105 pode armazenar os parâmetros de
intercalador ARP utilizando os valores de K', C, P0, α(.) e β (.) que são tirados a partir de ao menos uma linha da Tabela 1. O intercalador 201 pode usar um intercalador ARP com os valores de K', C, P0, α (.) e β(.) que são tirados de ao menos uma linha da tabela a seguir:
Tabela 1. Parâmetros do conjunto de intercaladores ARP definidos para LTE. Um deslocamento constante A=0 é usado para todos os tamanhos. Possíveis paralelismos M utilizando janelas naturalmente paralelas menores do que ou iguais a 32 são relacionados.
Petição 870190089093, de 09/09/2019, pág. 29/46
22/30
K info K C P0 índice a índice b Parílielismü disponível
40 40 4 41 1 6 125,10
52 56 4 13 1 1 1 2.7,14
67 72 4 13 1 4 1 2 3162.18
87 88 4 75 2 3 1 2.11 22
99 104 4 23 1 1 1 2.13,26
113 120 4 73 1 8 1 233J6.10.15.30
129 136 4 11 1 6 V.17
146 152 4 129 1 5 1 2.19
167 168 4 25 1 4 12316.7,14,21
190 192 4 43 1 1 1 2 3.423.12.1624
216 216 4 133 1 1 1 2 339.18.27
246 248 4 57 2 6 1 2 31
280 280 4 33 2 1 1 2 3.7,10,14
319 320 4 207 1 4 1 2.438.10.16.20
363 368 4 87 2 3 1 2 .4 23
384 384 4 91 1 1 1 2 3.4 8 8.12.16.24 32
414 416 4 77 1 1 1 240.13,26
471 472 4 61 1 4 12
536 544 4 237 1 1 1 2 .4 8.17
611 624 4 49 1 7 1 2 8.48.12.13.26
695 704 4 43 1 4 1 2.4 8.11.16.22
792 800 4 151 1 1 1 2 .4 38.10.20.25
902 912 4 49 1 1 1 2 3.4 8.12.19
1027 1056 8 217 2 1 1 2 3.4 8.11.12,22
1169 1184 8 49 1 11 12.4
1331 1344 8 253 2 2 1 2 3.4 8.7 0.12,14,21 24,23
1536 1536 8 187 2 8 1 2 3.480.12.16,2432
1725 1728 8 65 1 3 1 2 3.48 09 d 2,10,2427
1965 1984 8 121 1 14 1 2.4031
2237 2240 8 137 2 6 1 2 4 3.7 0.10.14.20 28
2304 2304 8 193 1 4 1 2 3 4 0 0 3.12,16,10 24,32
2547 2560 8 157 1 3 1 2 ,4 3 0 .1 0,16,20 32
2900 2944 8 121 1 7 12.40.16,23
3302 3328 8 137 2 1 1 2 40.13,16,2602
3760 3776 8 119 1 3 1243
4096 4096 8 169 2 11 1 240.16,32
4281 4352 8 179 1 3 12.40,16,17,32
4874 4992 8 211 1 3 1 2 3.4 8 8.12.13.16 24,20
5550 5632 8 237 1 7 1 240.11.1622 32
6144 6144 8 253 2 13 1 2 3.488.12.16,2432
7195 7296 8 181 1 7 1 23.488.12.16,1924
8192 8192 8 203 1 7 1 240.16,32
Propriedades do Intercalador ARP:
Há várias formas de modificar a tabela de intercalador. Por exemplo, o meio de armazenamento pode ser reduzido mediante uso de um conjunto de parâmetros ARP que aplicam mais do que um tamanho de intercalador. Por exemplo, os intercaladores de 1024 bits, 1048 bits, 4096
Petição 870190089093, de 09/09/2019, pág. 30/46
23/30 bits podem todos usar os mesmos parâmetros ARP. Em outra variação, algumas das linhas da tabela podem ser redesenhadas com base em diferentes valores C, se necessário. Em outro aperfeiçoamento, algumas das entradas dos parâmetros (por exemplo, a(0) e β(0)) podem ser fixas (por exemplo, sempre zero).
A seguir estão alguns comentários adicionais sobre o procedimento de seleção de intercalador usado para obter a Tabela 1.
1. Valor de Deslocamento constante A = 3 ou A=0 é escolhido para reduzir o armazenamento.
2. Com base no estudo de desempenho e armazenamento, um comprimento de ciclo C=4 é usado para K'<1024, C=8 para K'>1024.
3. Para cada tamanho de bloco, simulações foram realizadas para garantir que o desempenho do intercalador ARP (com codificação tail-biting) esteja próximo ao desempenho, ou melhor do que o desempenho do intercalador definido no relatório descritivo para o turbo código 3GPP.
4. Tabela 1, com base em (5) foi definida para cobrir um conjunto específico de tamanhos de intercalador (por exemplo, 40 a 8192) . Se preferido, outros tamanhos de intercalador podem ser deletados ou adicionados.
5. Todos os intercaladores definidos em 105 que não são múltiplos de 7 podem ser usados quer seja para os turbo códigos finais ou tail-biting dependendo da degradação de performance permissível. Aqueles que são múltiplos de 7 também podem ser usados com bits finais.
Exemplo de intercalador QPP:
Um subconjunto de 42 intercaladores QPP CF adequados
Petição 870190089093, de 09/09/2019, pág. 31/46
24/30 para cobrir tamanhos de bloco de informação para Evolução de Longo Prazo (LTE) 3GPP é mostrado na Tabela 2. Esses intercaladores têm um polinômio inverso quadrático de tal modo que o desintercalador também é QPP.
Meio de armazenamento para parâmetro de intercalador 105 pode armazenar parâmetros de intercalador QPP utilizando os valores de K', fl, f2 que são tirados a partir de uma fileira da Tabela 2. O intercalador 201 pode usar um intercalador QPP com valores de K', fl, f2 que são tirados a partir de ao menos uma linha da tabela a seguir:
Tabela 2: Parâmetros do conjunto de intercaladores QPP definidos para LTE. Possíveis paralelismos inferiores a, ou iguais a 32 são relacionados.
K info K f1 Í2 Paralelismo disponível
40 40 37 20 1,2,4,5,8,10,20
52 56 19 42 1,2,4,7,8,14,28
67 72 19 60 1,2,3,4,6,8,9,12,1824
87 88 5 22 1,2,4,8,11,22
99 104 45 26 1,2,4,8,13,26
113 120 103 90 1,2,3,4,5,6,8,10,12,15,20,24 30
129 136 19 102 1,2,4,8,17
146 152 135 38 1,2,4,8,19
167 168 101 84 1,2,3,4,6,7,8,12,1421,24,28
190 192 85 24 1,2,3,4,6,8,12,1624,32
216 216 13 36 1,2,3,4,6,8,9,12,1824,27
246 248 33 62 1.2,4,8,31
280 280 103 210 1,2,4,5,7,8,10,1420,28
319 320 21 120 1,2,4,5,8,10,1620,32
363 368 25 138 1,2,4,8,16,23
384 384 25 240 1,2,3,4,6,8,12,1624,32
414 416 77 52 1,2,4,8,13,1626,32
471 472 175 118 12,4,8
536 544 35 68 1.2,4,8,16,17 32
611 624 41 234 1,2,3,4,6,8,12,13,1624,26
695 704 155 44 1,2,4,8,11,16 22,32
792 800 207 80 1,2,4,5,8,10,16 20,25,32
902 912 85 114 1,2,3,4,6,8,12,16,19,24
1027 1056 229 132 1.2,3,4,6,8.11.12,18,22.2432
1169 1184 217 148 1.2,4,8,16.32
1331 1344 211 252 1.2,3,4.6.7.8.12.14.16.21.24 28.32
1536 1536 71 48 1,2,3,4,6,8,12,1624,32
1725 1728 127 96 1.2,3,4.6.8.9.12.16.18.24,27 32
1965 1984 185 124 1,2,4,8,16,31 32
2237 2240 209 420 12,4,5,7,8,10,14,16202832
Petição 870190089093, de 09/09/2019, pág. 32/46
25/30
2304 2304 253 216 1,2,3,4,6,8,9,12,16,18,24,32
2547 2560 39 240 1,2,4,5,8,10,1620,32
2900 2944 231 184 1,2,4,8,16,23 32
3302 3328 51 104 1,2,4,8,13,16 26,32
3760 3776 179 236 1,2,4,8,16,32
4096 4096 95 192 1,2,4,8,16,32
4281 4352 477 408 1,2,4,8,16,1732
4674 4992 233 312 1,2,3,4,6,8,12,13,16,24,26 32
5550 5632 45 176 1,2,4,8,11,1622,32
6144 6144 263 480 1,2,3,4,6,8.12,1624,32
7195 7296 137 456 1,2,3,4,6,8,12,16,19,24,32
6192 8192 417 448 1,2,4,8,16,32
A Figura 3 é um diagrama de blocos do receptor 300.
Na entrada, o conjunto de circuitos de manejo de enchimento 302 recebe um vetor de sinal o qual pode ter sido transmitido através do canal, por exemplo, pelo ar. O conjunto de circuito 306 determina então o tamanho de intercalador K' o qual pode ser feito de uma forma similar como discutido acima, por exemplo, mediante realização de uma consulta de tabela a partir do meio de armazenamento 308, ou por intermédio de cálculos tal como (7), (8), e (2) . Portanto, dado o tamanho de bloco de informação K, o decodificador 304 utiliza o mesmo tamanho de intercalador K' que foi usado pelo codificador 101. O conjunto de circuitos de manejo de enchimento 302 é usado para processar apropriadamente o vetor de sinal recebido e as posições de bits de enchimento (por exemplo, se as posições de bit de enchimento forem conhecidas, então as magnitudes de LLR correspondentes podem ser ajustadas para magnitudes muito elevada durante a decodificação). Então o turbo decodificador 304 realiza a decodificação e obtém uma estimativa ü do bloco de entrada de comprimento K'. Finalmente o conjunto de circuitos de extração de bloco de informação 310 extrai um bloco de informação estimado a partir de ü. Embora o conjunto de circuitos de manejo de
Petição 870190089093, de 09/09/2019, pág. 33/46
26/30 enchimento 302 seja mostrado fora do turbo decodificador para facilidade de explanação, esses dois podem ser combinados em implementação.
A Figura 4 é um diagrama de blocos do turbo decodificador da Figura 3. Como é evidente, o intercalador 402 e o desintercalador 401 existem entre o conjunto de circuitos de decodificação 403 e o conjunto de circuitos de decodificação 404. Decodificação iterativa ocorre como sabido na técnica, contudo, ao contrário dos decodificadores da técnica anterior, o tamanho de intercalador K' é relacionado à K” onde K” é a partir de um conjunto de tamanhos; em que o conjunto de tamanhos compreende K = ap X f, pmin < p < Pmax, fmin < f < fmax, em que a é um número inteiro, f é um número inteiro contínuo entre fmin e fmax, e p pega os valores de número inteiro entre ^min e pmax, a>1, pmax> pmin, jPmin>1. O parâmetro Kfiiier pode ou não ser necessitado pelo turbo decodificador 304, desse modo rotulado como linha tracejada na Figura 4.
Conforme discutido acima, em uma modalidade K = K”. Em ainda outra modalidade K = K quando K” não é um múltiplo de (2m-1), caso contrário utilizando K'=K”+ô(K) quando K é um múltiplo de (2m-1), em que m é o comprimento da memória de um codificador convolucional constituinte, e ô(K'') é um número inteiro positivo ou negativo pequeno não igual a um múltiplo de (2m-1). Em uma modalidade, m=3.
O intercalador 402 pode utilizar permutação k(í) = (íPq + A + d(i))modK', onde 0 < i < K-1 é o índice sequencial das posições de símbolo após intercalação, n(i) é o índice de símbolo antes da intercalação correspondendo a uma posição i, K é o tamanho de intercalador nos
Petição 870190089093, de 09/09/2019, pág. 34/46
27/30 símbolos, P0 é um número que é relativamente primo para K', A é uma constante, C é um número pequeno que divide K', e d(i) é um vetor de pontilhamento da forma d (i )= mod C )+ P0 xa(i mod C) onde α(·) and β (·) são vetores cada um de comprimento C, aplicados periodicamente para 0 < i < K'-
1. Os valores de K', C, P0, α(·) e β (·) são tirados preferivelmente de uma linha da Tabela 1. O desintercalador 401 realiza uma função inversa do intercalador 402.
O intercalador 402 pode utilizar permutação X )=(f1 xi + f2 xi2)modK' onde 0 < i < K’-1 é o índice sequencial das posições de símbolo após intercalação, π(ί) é o índice de símbolo antes da intercalação correspondendo à posição i, K' é o tamanho de intercalador em símbolos, e /1 e /2 são fatores definindo o intercalador. Os valores de K’, f1, f2 são preferivelmente tirados de uma linha da Tabela 2. O desintercalador 401 realiza uma função inversa do intercalador 402.
A Figura 5 é um fluxograma mostrando a operação do transmissor 100. O fluxo lógico começa na etapa 501 onde o conjunto de circuitos 103 determina o tamanho de intercalador K que é relacionado à K onde K é a partir de um conjunto de tamanhos; em que o conjunto de tamanhos compreende K = aP χ f, pmin < p < pmax;fmin < f < fmax, em que a é um número inteiro, / é um número inteiro contínuo entre /min e /max, e p pega os valores de número inteiro entre pmin e pmax, a>1, pmax> Pmin, pmin>1. Conforme discutido acima, em uma modalidade K = KEm ainda outra modalidade K = K' quando K' não é um múltiplo de (2m-1), caso contrário utilizando K'=K+ô(K) quando K '' é um múltiplo de (2m-1), em que m é o comprimento de memória de um codificador convolucional
Petição 870190089093, de 09/09/2019, pág. 35/46
28/30 constituinte, e δ (K'') é um número inteiro pequeno positivo ou negativo não igual a um múltiplo de (2m-1) . Em uma modalidade, m=3.
Na etapa 503 o conj unto de circuitos de inserção de
enchimento 109 recebe um bloco de informação de tamanho K e
preenche o bloco de informação de tamanho K em um bloco de
entrada u de tamanho K' e emite o bloco de entrada u . O
intercalador 201 então intercala o bloco de entrada de tamanho K' (etapa 507) (preferivelmente utilizando um intercalador livre de contenção) e envia o bloco intercalado de tamanho K' para o conjunto de circuitos de codificação 203 (etapa 509) . Finalmente, na etapa 511, o bloco de entrada original e o bloco de entrada intercalado são codificados.
Conforme discutido acima, a etapa de intercalar o bloco de entrada pode compreender a etapa de usar uma permutação π(ί)=(ίΡ0 + A + d (i)) mod K' onde 0 < i < K'-1 é o índice sequencial das posições de bit após intercalação, n(i) é o índice de bit antes da intercalação correspondendo à posição i, K' é o tamanho de intercalador em bits, P0 é um número que é relativamente primo para K', A é uma constante, C é um número pequeno que divide K ', e d(i) é um vetor de pontilhamento da forma d (i ) = β(ί mod C )+ P0 xa(i mod C) onde α(·) e β (·) são vetores cada um de comprimento C, aplicados periodicamente para 0 < i < K '-1. Os valores de K ', C, P0, α(·) e β (·) são preferivelmente tirados da Tabela 1. A etapa de intercalar o bloco de entrada também pode compreender a etapa de usar uma permutação π)=(f1 xi + f2 xi2)modK', onde 0 < i < K'-1 é o índice sequencial das posições de símbolo após intercalação, n(i) é o índice de
Petição 870190089093, de 09/09/2019, pág. 36/46
29/30 símbolo antes da intercalação correspondendo à posição i,
K' é o tamanho de intercalador em símbolos, e /1 e /2 são os fatores definindo o intercalador. Os valores de K’, f1, f2 são preferivelmente tirados a partir de uma linha da Tabela 2.
A Figura 6 é um fluxograma mostrando a operação do receptor da Figura 3. O fluxo lógico começa na etapa 601 onde o conjunto de circuitos 306 determina o tamanho de intercalador K'. Na etapa 603, o conjunto de circuito 302 adiciona a informação de bit de enchimento ao vetor de sinal recebido, por exemplo, se os bits de enchimento e as posições de bit de enchimento forem conhecidos o conjunto de circuitos 302 pode ajustar para magnitudes elevadas as Relações de Log-verossimilhança (LLRs) daquelas posições na entrada de turbo decodificador. Na etapa 607 o turbo decodificador decodifica o bloco de entrada de decodificador utilizando o intercalador e o desintercalador de tamanho K' e emite um u estimado do bloco de entrada de comprimento K'. Na etapa 609 o conjunto de circuito de extração de bloco de informação 310 remove os bits de enchimento para obter uma estimativa do bloco de informação de comprimento K. Finalmente na etapa 611, o bloco de informação estimado é emitido.
Embora a invenção tenha sido particularmente mostrada e descrita com referência a uma modalidade específica, será entendido por aqueles versados na técnica que várias alterações em forma e detalhes podem ser feitas na mesma sem se afastar do espírito e escopo da invenção. Em um exemplo, a tabela de intercalador pode ser otimizada adicionalmente para lidar com casos especiais, incluindo: (a) uso de um conjunto adicional de tamanhos de
Petição 870190089093, de 09/09/2019, pág. 37/46
30/30 intercalador definidos para cobrir quaisquer tamanhos especiais de bloco que devem ser manejados, por exemplo, sem bits de enchimento ou com um número menor de bits de enchimento. (b) Os tamanhos de intercalador podem ser ligeiramente ajustados mediante adição ou subtração de um pequeno valor a partir dos tamanhos de partição de semilog. Em outro exemplo, embora a invenção tenha sido descrita acima supondo turbo codificador de entrada binária, o mesmo princípio pode ser aplicado quando o turbo codificador pega os símbolos como entrada. Por exemplo, um turbo código duobinário pega um símbolo de dois bits binários de uma vez, e o turbo intercalador permuta os símbolos (embaralhamento adicional tal como alternação dos bits dentro de um símbolo pode ser realizado). Em tal caso, o tamanho de bloco de entrada é medido em símbolos, e o tamanho de intercalador é igual ao número de símbolos no bloco de entrada. Em outro exemplo, embora a descrição acima suponha que os tamanhos de intercalador e os parâmetros de intercalador são armazenados em uma tabela de consulta, é possível que eles possam ser determinados por intermédio de outros meios, tal como cálculo algébrico. Em ainda outro exemplo, embora a descrição acima suponha um turbo código, o método também é aplicável a outros esquemas FEC incluindo, por exemplo, códigos de verificação de paridade de baixa densidade (LDPC), Códigos Reed-Solomon (RS) . Pretende-se que tais alterações estejam abrangidas pelo escopo das reivindicações a seguir.

Claims (7)

REIVINDICAÇÕES
1. Método para operar um turbo codificador, o método caracterizado por compreender as etapas de:
receber um bloco de informação de tamanho K;
determinar um tamanho de intercalador K' que é relacionado à K onde K é a partir de um conjunto de tamanhos; em que o conjunto de tamanhos compreende K = a p x /, Pmin < p < Pmax; /min < / < /max, em que a é um número inteiro, / é um número inteiro contínuo entre /min e /max, e p pega os valores de número inteiro entre pmin e pmax, a >1, pmax>Pmin, pmin>1; e intercalar o bloco de informação utilizando um intercalador de tamanho K', em que a etapa de intercalar o bloco de informação compreende a etapa de usar uma permutação π (i ) = (/1Xi+/2Xi2)mod K', onde 0<i<K'-1 é o índice sequencial das posições de símbolo após intercalação, π(ί) é o índice de símbolo antes da intercalação correspondendo à posição i, K' é o tamanho de intercalador nos símbolos, e /1 e /2 são os fatores definindo o intercalador;
codificar o bloco de informação original e o bloco de informação intercalado para obter um bloco de palavracódigo; e transmitir o bloco de palavra-código através do canal, em que os valores de K', /1, /2 são tomados a partir de pelo menos uma linha da seguinte tabela:
Petição 870200012389, de 27/01/2020, pág. 10/16
2. Método para operar um turbo codificador, o método caracterizado por compreender as etapas de:
receber um bloco de entrada de tamanho K'; e codificar o bloco de entrada utilizando um
Petição 870200012389, de 27/01/2020, pág. 11/16
2/7
K' f 1 f2 40 37 20 56 19 42 72 19 60 104 45 26 120 103 90 136 19 102 152 135 38 168 101 84 19Ξ 85 24 216 13 36 248 33 62 280 103 21Ç 320 21 120 368 25 138 384 25 240 416 77 52 472 175 118 544 35 68 624 41 234 704 155 44 800 207 80 912 85 114 1056 22 9 132 1184 217 148 1344 211 252 1536 71 48 1728 127 96 1984 185 124 2240 209 420 2304 253 216 2560 39 240 2944 2 31 184 3328 51 Ϊ04 3776 179 236 4096 95 192 4352 477 408 4992 233 312 5632 45 176 6144 263 480 7296 137 456 8192 417 448
3. Método, de acordo com a reivindicação 2, caracterizado pelo fato de que o vetor a(.) de um intercalador dado de tamanho K' é tomado a partir de um conjunto de vetores a(.) permitidos utilizando um índice a.
3/7 intercalador de tamanho K' e uma permutação π (i) = (iP0+A+d(i) )mod K', onde 0<i<K'-1 é um índice sequencial das posições de bit após intercalação, π(ί) é um índice de bit antes da intercalação correspondendo à posição i, Po é um número que é relativamente primo para K', A é uma constante igual a 3, C é um número pequeno que divide K', e d(i) é um vetor de pontilhamento da forma d(i)=fi(i mod C)+Po x a(i mod C) onde a (.) e β(.)são vetores cada um de comprimento C, periodicamente aplicados para 0<i<K'-1 e em que os valores de K', C, Po, a(.) eβ(.) são tomados a partir de um conjunto de valores a(.) eβ(.) permitido.
4 . Método, de acordo com a reivindicação 2, caracterizado pelo fato de que o vetor β(.) de um intercalador dado de tamanho K' é tomado a partir de um conjunto de vetores β( .) permitidos utilizando um índice b.
5 um codificador que codifica um bloco de entrada utilizando um intercalador de tamanho K' e uma permutação π (í) = (/1XÍ+/2XÍ2) mod K', onde 0<i<K'-l é o índice sequencial das posições de símbolo após intercalação, π(ί) é o índice de símbolo antes da intercalação correspondendo à posição 10 i, K' é o tamanho de intercalador em símbolos, e /1 e f2 são os fatores definindo o intercalador e em que valores de K',
Petição 870200012389, de 27/01/2020, pág. 15/16
5/7
K = ap*f, pmm< p< pmwí;fmm< f < em que a é um número inteiro, f é um número inteiro continuo entre /nín e /nax, e p toma os valores de número inteiro entre //>min e //>max, a>\, pmax>
Pmin, Pmin>l, e o conjunto não contém qualquer outro K” na faixa de aPmin x /min < K < aPmax x fmax;
conjunto de circuitos de inserção de enchimento recebendo um bloco de informação de tamanho K e enchendo o bloco de informação de tamanho K em um bloco de entrada de tamanho K' ;
um intercalador intercalando o bloco de entrada de tamanho K', em que o intercalador utiliza uma permutação π (í) = (/1XÍ+/2XÍ2) mod K', onde 0<i<K'-l é o índice sequencial das posições de símbolo após intercalação, π(ί) é o índice de símbolo antes da intercalação correspondendo à posição i, K' é o tamanho de intercalador em símbolos, e /1 e f2 são os fatores definindo o intercalador; e um codificador que codifica o bloco de entrada original e o bloco de entrada intercalado para obter um bloco de palavra-código, em que os valores de K', fl, f2 são tomados a partir de pelo menos uma linha da seguinte tabela:
K' f 1 f2 40 37 20 56 19 42 72 19 60 104 45 26 120 103 90 136 19 102 152 135 33 160 101 84 192 85 24 216 13 36 24 8 33 62
Petição 870200012389, de 27/01/2020, pág. 14/16
5 aparelho caracterizado por compreender:
conjunto de circuitos de determinação de tamanho de intercalador que determina um tamanho de intercalador K' que é relacionado à K onde K é a partir de um conjunto de tamanhos; em que o conjunto de tamanhos compreende
Petição 870200012389, de 27/01/2020, pág. 13/16
5. Método para operar um turbo codificador, o método caracterizado por compreender as etapas de:
receber um bloco de entrada de tamanho K'; e codificar o bloco de entrada utilizando um intercalador de tamanho K' e uma permutação π (i) = (/1xi+/2xi2)mod K', onde 0<i<K'-1 é o índice sequencial das posições de símbolo após intercalação, π(ί) é o índice de símbolo antes da intercalação correspondendo à posição i, K' é o tamanho de intercalador em símbolos, e /1 e /2 são
Petição 870200012389, de 27/01/2020, pág. 12/16
Α/Ί os fatores definindo o intercalador e em que os valores de
K', h, /2 são tomados a partir de uma linha da seguinte tabela:
K' fl f2 40 37 20 56 19 42 72 19 60 104 45 26 120 103 90 136 19 102 152 135 38 168 101 84 192 85 24 216 13 36 248 33 62 280 103 210 320 21 120 368 25 138 384 25 240 416 77 52 472 175 118 544 35 68 624 41 234 704 155 44 800 207 80 912 85 114 1056 22 9 132 1134 217 148 1344 211 252 1536 71 48 172B 127 96 1984 185 124 2240 209 420 2304 253 216 2560 39 240 2 94 4 231 184 3328 51 104 3776 179 236 4096 95 192 4352 477 408 4992 233 312 5632 45 176 6144 2 63 480 7296 137 456 8192 417 448
6/Ί
280 103 210 320 21 120 36Θ 25 138 394 25 240 416 77 52 472 175 118 544 35 68 624 4L 234 704 155 44 600 207 80 912 85 114 1056 22 9 132 1194 2Ϊ7 148 1344 211 252 1536 71 48 1726 127 96 1984 185 124 2240 209 420 2304 253 216 2560 39 240 2944 2 31 184 3328 51 104 3776 179 236 4096 95 192 4352 477 408 4992 233 312 5632 45 176 6144 263 480 72 96 137 456 8192 417 440
Ί. Aparelho para operar um turbo codificador, o aparelho caracterizado por compreender:
um circuito de recepção que recebe um bloco de entrada de tamanho K'; e
6. Aparelho para operar um turbo codificador, o
7/7 fi, fi são tomados a partir de uma linha da seguinte tabela:
K' fl f2 40 37 20 56 19 42 72 19 60 104 45 26 120 103 90 136 19 102 152 135 38 168 101 84 192 85 24 216 13 36 24 8 33 62 280 103 210 320 21 120 368 25 138 384 25 240 416 77 52 472 175 118 544 35 68 624 41 234 704 155 44 800 207 80 912 85 114 1056 22 9 132 1184 217 148 1344 211 252 1536 71 48 1728 127 96 1984 185 124 2240 209 420 2304 253 216 2560 39 240 2944 231 184 3328 51 104 3776 179 236 4096 95 192 4352 477 408 4992 233 312 5632 45 176 6144 2 63 480 7296 137 456 8192 417 448
Petição 870200012389, de 27/01/2020, pág. 16/16
BRPI0721176A 2006-11-30 2007-11-12 métodos e aparelhos para operar um turbo codificador BRPI0721176B1 (pt)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US86789906P 2006-11-30 2006-11-30
US60/867,899 2006-11-30
US11/683,024 US7949926B2 (en) 2006-11-30 2007-03-07 Method and apparatus for encoding and decoding data
US11/683,024 2007-03-07
PCT/US2007/084390 WO2008067149A2 (en) 2006-11-30 2007-11-12 Turbo-encoding with contention-free interleavers

Publications (3)

Publication Number Publication Date
BRPI0721176A2 BRPI0721176A2 (pt) 2014-03-18
BRPI0721176A8 BRPI0721176A8 (pt) 2017-04-04
BRPI0721176B1 true BRPI0721176B1 (pt) 2020-04-07

Family

ID=39186041

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0721176A BRPI0721176B1 (pt) 2006-11-30 2007-11-12 métodos e aparelhos para operar um turbo codificador

Country Status (12)

Country Link
US (2) US7949926B2 (pt)
EP (3) EP2493079B1 (pt)
JP (2) JP4858991B2 (pt)
KR (1) KR101459801B1 (pt)
CN (1) CN101601188B (pt)
AR (1) AR064088A1 (pt)
AT (1) ATE553541T1 (pt)
BR (1) BRPI0721176B1 (pt)
ES (3) ES2397665T3 (pt)
PL (3) PL2102989T3 (pt)
RU (1) RU2437208C2 (pt)
WO (1) WO2008067149A2 (pt)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2034613A4 (en) * 2006-05-17 2009-08-12 Nec Corp ENCODER TURBO AND HARQ PROCESSING METHOD APPLIED FOR TURBO ENCODER
US8356232B2 (en) 2006-10-06 2013-01-15 Motorola Mobility Llc Method and apparatus for encoding and decoding data
US7949926B2 (en) * 2006-11-30 2011-05-24 Motorola Mobility, Inc. Method and apparatus for encoding and decoding data
EP3096480A1 (en) 2007-09-25 2016-11-23 Telefonaktiebolaget LM Ericsson (publ) Interference randomisation of control channel elements
US8250448B1 (en) * 2008-03-26 2012-08-21 Xilinx, Inc. Method of and apparatus for implementing a decoder
US8284732B2 (en) 2009-02-03 2012-10-09 Motorola Mobility Llc Method and apparatus for transport block signaling in a wireless communication system
US9130728B2 (en) 2009-06-16 2015-09-08 Intel Mobile Communications GmbH Reduced contention storage for channel coding
CN101931419B (zh) * 2009-06-24 2013-04-03 中兴通讯股份有限公司 一种turbo码内交织器的计算方法及装置
CN102484484B (zh) 2009-08-25 2014-08-20 富士通株式会社 发送机、编码装置、接收机以及解码装置
US8495476B2 (en) * 2009-12-17 2013-07-23 Samsung Electronics Co., Ltd System and method for coding and interleaving for short frame support in visible light communication
US8448033B2 (en) * 2010-01-14 2013-05-21 Mediatek Inc. Interleaving/de-interleaving method, soft-in/soft-out decoding method and error correction code encoder and decoder utilizing the same
RU2010111027A (ru) * 2010-03-24 2011-09-27 ЭлЭсАй Корпорейшн (US) Устройство и способ для высокоскоростного расчета таблиц перемежения для нескольких стандартов беспроводной связи
EP2429084B1 (en) * 2010-09-13 2013-12-25 Hughes Network Systems, LLC Method and apparatus for a parameterized interleaver design process
CN101969310B (zh) * 2010-10-22 2012-11-28 上海交通大学 Turbo码并行译码器的QPP内交织器及其交织方法
KR101286021B1 (ko) * 2012-02-02 2013-07-19 주식회사 이노와이어리스 인터리버 인덱스 생성장치 및 방법
US9128888B2 (en) 2012-08-30 2015-09-08 Intel Deutschland Gmbh Method and apparatus for turbo decoder memory collision resolution
CN107659384A (zh) * 2012-11-16 2018-02-02 华为技术有限公司 数据处理的方法和装置
CN103973319B (zh) * 2013-02-06 2017-04-19 联想(北京)有限公司 全整数Turbo码迭代译码的方法和系统
JP6193051B2 (ja) * 2013-08-15 2017-09-06 Necプラットフォームズ株式会社 アドレス生成回路及びアドレス生成方法
WO2015137712A1 (en) 2014-03-14 2015-09-17 Samsung Electronics Co., Ltd. Method and apparatus for controlling interleaving depth
US10135467B2 (en) * 2016-06-08 2018-11-20 Echelon Corporation Methods and systems for applying an improved interleaver for modems operating on power grid
CN110071728B (zh) * 2018-01-24 2021-02-05 华为技术有限公司 一种交织方法及交织设备
CN112398486B (zh) * 2020-11-10 2023-01-31 中国人民解放军战略支援部队信息工程大学 利用多种纠错方式进行优化的Turbo码交织参数识别方法及系统

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2089237T3 (es) 1990-10-24 1996-10-01 Thomson Brandt Gmbh Procedimiento, codificador y decodificador para transmision y/o almacenamiento de datos.
US5898698A (en) * 1996-09-24 1999-04-27 Orckit Communications Ltd. Multiple codeword interleaver method and apparatus
KR19990012821A (ko) 1997-07-31 1999-02-25 홍성용 전자기파 흡수체 조성물과 이의 제조 방법, 전자기파 흡수용도료 조성물과 이의 제조 방법 및 이의 도포 방법
US6339834B1 (en) * 1998-05-28 2002-01-15 Her Majesty The Queen In Right Of Canada, As Represented By The Minister Of Industry Through The Communication Research Centre Interleaving with golden section increments
US6347385B1 (en) * 1998-08-03 2002-02-12 Nortel Networks Limited Interleavers for turbo code
US6427214B1 (en) 1998-09-29 2002-07-30 Nortel Networks Limited Interleaver using co-set partitioning
FR2785743A1 (fr) 1998-11-09 2000-05-12 Canon Kk Dispositif et procede d'adaptation des turbocodeurs et des decodeurs associes a des sequences de longueur variable
US6304991B1 (en) * 1998-12-04 2001-10-16 Qualcomm Incorporated Turbo code interleaver using linear congruential sequence
KR100346170B1 (ko) 1998-12-21 2002-11-30 삼성전자 주식회사 통신시스템의인터리빙/디인터리빙장치및방법
FR2790621B1 (fr) * 1999-03-05 2001-12-21 Canon Kk Dispositif et procede d'entrelacement pour turbocodage et turbodecodage
US6314534B1 (en) * 1999-03-31 2001-11-06 Qualcomm Incorporated Generalized address generation for bit reversed random interleaving
CA2333032C (en) * 1999-04-02 2005-11-29 Samsung Electronics Co., Ltd. Interleaving / deinterleaving apparatus and method for a communication system
EP1166449A4 (en) 1999-04-06 2005-10-19 Samsung Electronics Co Ltd DEVICE WITH A METHOD OF TWO-DIMENSIONAL NEGOTIATION
FI106758B (fi) 1999-04-16 2001-03-30 Nokia Networks Oy Segmentointimekanismi lohkoenkooderia varten
US6775800B2 (en) 2000-01-03 2004-08-10 Icoding Technology, Inc. System and method for high speed processing of turbo codes
JP3399904B2 (ja) 2000-03-17 2003-04-28 松下電器産業株式会社 インタリーブアドレス生成装置
US6785859B2 (en) * 2000-08-04 2004-08-31 Texas Instruments Incorporated Interleaver for variable block size
US6854077B2 (en) * 2000-08-05 2005-02-08 Motorola, Inc. Apparatus and method for providing turbo code interleaving in a communications system
KR100713331B1 (ko) 2000-12-23 2007-05-04 삼성전자주식회사 부호분할다중접속 이동통신시스템의 반복복호 중지 장치 및 방법
US7170849B1 (en) 2001-03-19 2007-01-30 Cisco Systems Wireless Networking (Australia) Pty Limited Interleaver, deinterleaver, interleaving method, and deinterleaving method for OFDM data
US7236480B2 (en) 2002-06-07 2007-06-26 Sandbridge Technologies, Inc. Method of first interleaving of a two interleaver transmitter
CA2507620C (en) * 2002-12-16 2014-04-15 Telecom Italia S.P.A. Addresses generation for interleavers in turbo encoders and decoders
JP3880542B2 (ja) 2003-05-19 2007-02-14 松下電器産業株式会社 誤り訂正符号化/復号化装置および誤り訂正符号化/復号化方法
JP3847733B2 (ja) 2003-06-12 2006-11-22 松下電器産業株式会社 マルチキャリア通信方法及びその通信装置
US7428669B2 (en) * 2003-12-07 2008-09-23 Adaptive Spectrum And Signal Alignment, Inc. Adaptive FEC codeword management
KR100739511B1 (ko) * 2004-06-25 2007-07-13 삼성전자주식회사 직교 주파수 분할 다중 방식을 사용하는 통신 시스템에서파일럿 신호 송수신 장치 및 방법
US7583586B2 (en) * 2004-07-02 2009-09-01 Samsung Electronics Co., Ltd Apparatus and method for transmitting/receiving pilot signal in communication system using OFDM scheme
US7409626B1 (en) * 2004-07-28 2008-08-05 Ikanos Communications Inc Method and apparatus for determining codeword interleaver parameters
EP1850486A4 (en) 2005-02-03 2008-05-07 Matsushita Electric Ind Co Ltd PARALLEL INTERLACER, PARALLEL DISINTERLACER AND INTERLACING METHOD
US7644340B1 (en) * 2005-07-08 2010-01-05 Marvell International Ltd. General convolutional interleaver and deinterleaver
US7925956B2 (en) * 2006-10-03 2011-04-12 Motorola Mobility, Inc. Method and apparatus for encoding and decoding data
US8356232B2 (en) 2006-10-06 2013-01-15 Motorola Mobility Llc Method and apparatus for encoding and decoding data
US8583983B2 (en) * 2006-11-01 2013-11-12 Qualcomm Incorporated Turbo interleaver for high data rates
US7949926B2 (en) 2006-11-30 2011-05-24 Motorola Mobility, Inc. Method and apparatus for encoding and decoding data

Also Published As

Publication number Publication date
WO2008067149B1 (en) 2008-10-09
EP2493079A1 (en) 2012-08-29
PL2442450T3 (pl) 2013-04-30
US20110197104A1 (en) 2011-08-11
BRPI0721176A2 (pt) 2014-03-18
JP2011147188A (ja) 2011-07-28
JP4858991B2 (ja) 2012-01-18
EP2102989A2 (en) 2009-09-23
AR064088A1 (es) 2009-03-11
US7949926B2 (en) 2011-05-24
EP2442450B1 (en) 2012-12-19
EP2442450A2 (en) 2012-04-18
EP2442450A3 (en) 2012-05-23
EP2493079B1 (en) 2013-09-18
CN101601188A (zh) 2009-12-09
KR20090094262A (ko) 2009-09-04
PL2493079T3 (pl) 2014-01-31
US8850286B2 (en) 2014-09-30
ES2381595T3 (es) 2012-05-29
WO2008067149A3 (en) 2008-08-28
CN101601188B (zh) 2013-03-27
RU2437208C2 (ru) 2011-12-20
PL2102989T3 (pl) 2012-07-31
KR101459801B1 (ko) 2014-11-13
WO2008067149A2 (en) 2008-06-05
ATE553541T1 (de) 2012-04-15
RU2009124925A (ru) 2011-01-10
JP2008141756A (ja) 2008-06-19
ES2430361T3 (es) 2013-11-20
US20080133998A1 (en) 2008-06-05
JP5396599B2 (ja) 2014-01-22
EP2102989B1 (en) 2012-04-11
ES2397665T3 (es) 2013-03-08
BRPI0721176A8 (pt) 2017-04-04

Similar Documents

Publication Publication Date Title
BRPI0721176B1 (pt) métodos e aparelhos para operar um turbo codificador
BRPI0719266B1 (pt) método e aparelho para operar um turbo codificador
US7873893B2 (en) Method and apparatus for encoding and decoding data
US9118350B2 (en) Methods, apparatus, and systems for coding with constrained interleaving
JP5231570B2 (ja) プルーンインタリーバおよびプルーンデインタリーバの効率的なアドレス生成
BRPI0717506B1 (pt) método e aparelho para codificar e decodificar dados
KR20110037953A (ko) 데이터 복호화 방법, 데이터 인터리브 방법, 데이터 복호화 장치, 인터리버 테이블 생성 장치 및 데이터 인터리브 장치
KR20080048971A (ko) 에이알피 인터리브를 가지는 터보 코드의 경합 방지 메모리매핑 기법을 위한 주소 생성
JP2014513889A (ja) 低密度パリティ検査符号を使用するシステムにおける信号マッピング/デマッピング装置及び方法
EP2506440A1 (en) Apparatus and method for mapping and demapping signals in a communication system using a low density parity check code
Tallapragada et al. Fast turbo codes using sub-block based interleaver
Florea et al. Serial progressive hierarchical turbo codes
Florea et al. Parallel progressive hierarchical turbo codes
Tang et al. Inter-frame interleaved Bi-SOVA alogrithm for Underwater Acoustic Communication
KR20010059446A (ko) 매직 매트릭스를 이용한 인터리빙 방법

Legal Events

Date Code Title Description
B25D Requested change of name of applicant approved

Owner name: MOTOROLA SOLUTIONS, INC. (US)

B25A Requested transfer of rights approved

Owner name: MOTOROLA MOBILITY, INC. (US)

B25D Requested change of name of applicant approved

Owner name: MOTOROLA MOBILITY LLC (US)

B25A Requested transfer of rights approved

Owner name: GOOGLE TECHNOLOGY HOLDINGS LLC (US)

B06T Formal requirements before examination [chapter 6.20 patent gazette]
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06A Patent application procedure suspended [chapter 6.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 10 (DEZ) ANOS CONTADOS A PARTIR DE 07/04/2020, OBSERVADAS AS CONDICOES LEGAIS.