BRPI0009717B1 - Método e intercalador para intercalação de elementos de quadros de dados - Google Patents

Método e intercalador para intercalação de elementos de quadros de dados Download PDF

Info

Publication number
BRPI0009717B1
BRPI0009717B1 BRPI0009717-9A BR0009717A BRPI0009717B1 BR PI0009717 B1 BRPI0009717 B1 BR PI0009717B1 BR 0009717 A BR0009717 A BR 0009717A BR PI0009717 B1 BRPI0009717 B1 BR PI0009717B1
Authority
BR
Brazil
Prior art keywords
interleaver
data frame
values
storage arrangement
elements
Prior art date
Application number
BRPI0009717-9A
Other languages
English (en)
Other versions
BR0009717A (pt
Inventor
Bin Li
Wen Tong
Original Assignee
Nortel Networks 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 Nortel Networks Ltd filed Critical Nortel Networks Ltd
Publication of BR0009717A publication Critical patent/BR0009717A/pt
Publication of BRPI0009717B1 publication Critical patent/BRPI0009717B1/pt

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • 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/2771Internal interleaver for turbo 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
    • H03M13/2703Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques the interleaver involving at least two directions
    • H03M13/271Row-column interleaver with permutations, e.g. block interleaving with inter-row, inter-column, intra-row or intra-column permutations
    • H03M13/2714Turbo interleaver for 3rd generation partnership project [3GPP] universal mobile telecommunications systems [UMTS], e.g. as defined in technical specification TS 25.212
    • 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/2735Interleaver using powers of a primitive element, e.g. Galois field [GF] interleaver
    • 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/6522Intended application, e.g. transmission or communication standard
    • H03M13/65583GPP2

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)

Description

Relatório Descritivo da Patente de Invenção para “MÉTODO E INTERCALADOR PARA INTERCALAÇÀO DE ELEMENTOS DE QUADROS DE DADOS”.
CAMPO DA INVENÇÃO
Essa invenção refere-se, de forma geral, a sistemas de comunicação e, mais particularmente a intercaladores para a execução da modulação de código.
HISTÓRICO DA INVENÇÃO
Verificou-se que as técnicas para codificação de canais de comunicação, conhecidas como modulação codificada, melhoram a taxa de erros de bits (BER) de sistemas de comunicação eletrônicos tal como modem e sistemas de comunicação sem fio. A modulação turbo codificada provou ser um método de modulação prático, eficiente em energia e eficiente na largura de banda para canais de “erro aleatório" caracterizados por ruído Gaussiano branco aditivo (AWGN) ou desvanecimento. Esses canais com erro aleatório podem ser encontrados, por exemplo, no ambiente de acesso múltiplo por divisão de código (CDMA). Desde que a capacidade de um ambiente de CDMA é dependente da razão do sinal de operação em relação ao ruído, desempenho melhorado traduz-se em maior capacidade.
Um aspecto dos turbo codificadores que os torna tão eficazes é um intercalador que permuta o quadro de dados original recebido ou transmitido antes dele ser inserido para um segundo codificador. A permutação é realizada pela transformação de porções do sinal em aleatórias com base em um ou mais algoritmos de transformação em aleatório. A combinação dos quadros de dados permutados com os quadros de dados originais mostrou atingir baixas BERs em AWGN e canais de desvanecimento. O processo de intercalaçâo aumenta a diversidade nos dados, tal que se o sinal modulado é distorcido na transmissão, o erro pode ser recuperável com o uso de algoritmos de correção de erros no decodificador.
Um intercalador convencional coleta, ou enquadra, os pontos de sinal a serem transmitidos em um arranjo, onde o arranjo é sequencialmente preenchido linha por linha. Depois que um número pré-definido de pontos de sinal foi enquadrado, o intercalador é esvaziado pela leitura sequencial do arranjo coluna por coluna para transmissão. Como resultado, os pontos de sinal na mesma linha do arranjo que estavam próximos um dos outros no fluxo original do ponto do sinal são separados por uma série de pontos de sinal iguais ao número de linhas no arranjo. Idealmente, o número de colunas e linhas seria escolhido, tal que pontos de sinal interdependentes, depois da transmissão, seriam separados por mais do que o comprimento esperado de uma rajada de erros para o canal. A intercalação não uniforme atinge “máxima dispersão” de dados e “máxima desordem” da sequência de saída. Assim, a redundância introduzida pelos dois codificadores convolucionais é mais igualmente difundida na sequência de saída do turbo codificador. A distância mínima é aumentada para valores muito mais altos do que para a intercalação uniforme. Um problema persistente para a intercalação não uniforme é como implementar de maneira prática a intercalação enquanto atingindo suficiente “não uniformidade”, e minimizando as compensações de retardo que limitam o uso para aplicações com exigências em tempo real. A descoberta de um intercalador efetivo é um tópico corrente nas atividades padrões CDMA de terceira geração. Foi determinado e geralmente concordado que, à medida que o tamanho do quadro aproxima-se de infinito, o intercalador mais eficaz é o intercalador aleatório. Entretanto, para tamanhos de quadro finitos, a decisão quanto ao intercalador mais eficaz está ainda aberta para discussão. A diminuição da quantidade de espaço de memória (RAM ou ROM) necessário para armazenar a informação exigida para executar um esquema de intercalação é também um objeto da discussão atual.
Consequentemente, existe uma necessidade por sistemas e métodos de intercalação de códigos que melhoram a não uniformidade para tamanhos de quadro finitos.
Também existe uma necessidade por tais sistemas e métodos de intercalação de códigos que são relativamente simples para implementar, incluindo tendo exigências de espaço de memória relativamente pequenas. É, assim, um objetivo da presente invenção proporcionar sistemas e métodos para intercalação de códigos que melhoram a não uniformidade para tamanhos de quadro finitos. É também um objetivo da presente invenção proporcionar sistemas e métodos de intercalação de códigos que são rei ativa mente simples para implementar e que têm exigências de espaço de memória relativamente pequenas.
Esses e outros objetivos da invenção se tornarão evidentes para esses peritos na técnica a partir da sua descrição seguinte.
SUMÁRIO DA INVENÇÃO
Os objetivos precedentes, e outros, podem ser atingidos pela presente invenção, que inclui um intercalador para intercalação desses quadros de dados. O intercalador inclui uma área de armazenamento contendo um arranjo grande o suficiente para armazenar o maior quadro de dados esperado. Um quadro de tamanho de L elementos a serem intercalados é armazenado em Nr'!l linhas eN 111 colunas do arranjo, onde N.' ' é um número inteiro predeterminado efic(l! é um número primo que satisfaz a desigualdade onde n :i é o número primo mais alto menor do que Nem. Os elementos de cada linha são permutados de acordo com uma relação matemática predeterminada, e as linhas são permutadas de acordo com o mapeamento predeterminado.
BREVE DESCRICÃO DOS DESENHOS A invenção será mais claramente entendida por referência à descrição detalhada seguinte de uma modalidade exemplar em conjunto com os desenhos acompanhantes, nos quais: A Fig. 1 representa uma modalidade de computação de módulo rápido de acordo com a presente invenção e A Fig. 2 representa a estrutura de um intercalador de acordo com a presente invençáo.
DESCRIÇÃO DETALHADA DA INVENÇÃO A presente invenção encontra modalidade como um turbo codificador em um sistema de comunicação de rádio por CDMA. Um fluxo de bits a ser transmitido é dividido em uma série de quadros, cada quadro incluindo um número L de elementos, cada elemento sendo pelo menos de um bit.
Cada quadro é para ser intercalado antes da transmissão. Se e-xiste um grande número de tamanhos de quadro possíveis L, a especificação de um intercalador para cada tamanho de quadro possível resulta em uma necessidade de armazenar um grande número de parâmetros. A invenção reduz o número de parâmetros que devem ser armazenados por propiciar um número reduzido de intercaladores de protótipo (ou intercaladores mãe), cada um para um de um subconjunto de tamanhos de quadro, selecionando um dos intercaladores mãe pelo menos grande o suficiente para intercalar um quadro corrente de tamanho L e reduzir o quadro intercalado para um tamanho de L bits. O tamanho máximo de um arranjo para armazenar um quadro a ser intercalado é Nr linhas x nc colunas. Para um dado tamanho de quadro L, um intercalador mãe é escolhido tendo um arranjo de tamanho de Nr(l> linhasx nc(I> colunas, tal que: Nr(l> x Νο<ι_1> < L < Nr(l> x Nc(l> e depois da intercalação, o arranjo é reduzido para o tamanho L.
Embora seja possível projetar um bom intercalador mãe com dimensões exatas Nr (1} x nc (1}, o desempenho de um intercalador para um tamanho de quadro reduzido do tamanho do intercalador mãe não pode, sob quaisquer sistemas convencionais, ser garantido. A invenção proporciona um intercalador que pode se adaptar ao tamanho de quadro arbitrário pelo fornecimento de um esquema para a seleção apropriada (otimização) de parâmetros Nr(l> | = 1,2,...R(no. máx. de linhas) nc (1} | =1,2,...C(no. máx. de colunas) Em uma modalidade da invenção, um valor fixo é selecionado para o número de linhas Nr e o número de colunas nc(I> é selecionado de um conjunto de números primos (grade não uniforme), i.e., nc(I> = p,. (Em uma modalidade alternativa da invenção, uma grade uniforme é utilizada, tal comoPi = | x delta). A essência do procedimento de intercalação utilizando a presente invenção compreende, de forma geral: i i) Gravar os elementos do quadro no arranjo de trabalho Nr (1 * x nc(I> linha por linha, ii) Permutar as colunas i de cada linha j de acordo com cj(i)=[aj x cj(i-1)]modP| j=l,2,...R i=l,2,...C iii) Permutar as linhas de acordo com um mapeamento predeter- i minado e iv) Ler os elementos do quadro coluna por coluna. A permutação intra-linhas (item ii) é baseada em um sistema residual completo de módulo P|. Isto é, aj é selecionado de todas as raízes congruentes exponenciais possíveis de p i : i ai = {al,oí2, . . .αΦ} A permutação intra-linhas usa uma raiz especial chamada a raiz primitiva ap do número primo P| para construir o conjunto de raízes aj pelo uso de um sistema residual reduzido como: aj = {app<1>, app<2>,... αΦρ(κ>} i Deve ser observado que α j é um subconjunto de α j. A vanta- gem de usar esse sistema reduzido especial é adicionar restrições adicionais nas raízes de permutação intra-linhas para simplificar a computação de pesquisa para a otimização do parâmetro.
Para uma modalidade da invenção, um conjunto de números pri- l mos é escolhido: {p(1),p(2),...p(R)} sob a condição que gcd {p(i),Pr1}=1 (gcd significa “maior denominador comum”). i Em um tal caso: q(i)=[ app(1) x c,(i-1 )]mod P, é equivalente a uma amostragem decimada (com razão de amos- tragem de taxa p(|)) do sistema residual completo gerado pela raiz primitiva. Portanto, a permutação intra-linhas pode se realizada como: a) permutação da primeira linha usando a raiz primitiva ap de Pi : C|(i) = [ app<1> x C|(i-l)]mod P| e b) permutação do resto das linhas usando o deslocamento cíclico por p(j) da permutação da primeira linha: cj (i) = cI ( [i X p (j ) ) ]mod. P|).
Isso é equivalente ao grupo cíclico cj (i) = [ajp(j)cj (i-1) ]mod P|) onde j = 2,3,...R i = Nesse caso, a regra de permutação intra-linhas é determinista. A otimização do intercalador é executada pela pesquisa de um conjunto de números primos para o deslocamento cíclico do sistema residual completo primitivo. Por exemplo, se R=20 (i.e., uma matriz com 20 linhas e p, colunas), um conjunto de números primos podería ser escolhido como P(l) = {7, 11, 13, 17, 19,23,29,31,37,41,43,47,53,59,61, 67, 71,73, 79, 83} [Exemplo 1] Para cada número primo (número de coluna) um tal conjunto é escolhido. Para abranger uma faixa de tamanhos de quadro de 320 bits a 8192 bits, pelo menos 75 intercaladores mãe são fornecidos. As dimensões da coluna usadas para cada são listadas na Tabela 1 junto com as raízes primitivas associadas. Setenta e seis números primos são listados na Tabela 1, de modo a proporcionar um valor para o nc (1 _1> mais baixo. ABC AB C ABCABC 13 2 21 97 5 21 193 5 21 307 5 21 17 3 21 101 2 21 197 2 21 311 17 4 19 2 21 103 5 21 199 3 21 313 10 21 23 5 21 107 2 9 211 2 21 317 2 15 29 2 21 109 6 21 223 3 5 331 3 21 ABC AB C ABCABC 31 3 21 113 3 21 227 2 21 337 10 21 37 2 21 127 3 21 229 6 1 347 2 21 41 6 21 131 2 21 233 3 3 349 2 3 43 3 21 137 3 21 239 7 21 353 3 21 47 5 2 139 2 2 241 7 21 359 7 21 53 2 21 149 2 5 251 6 21 367 6 11 59 2 3 151 6 21 257 3 21 373 2 4 61 2 21 157 5 21 263 5 21 379 2 21 67 2 21 163 2 21 269 2 12 383 5 21 71 7 21 167 5 16 271 6 21 389 2 18 73 5 21 173 2 7 277 5 2 397 5 21 79 3 21 179 2 17 281 3 21 401 3 21 83 2 6 181 2 21 283 3 8 409 21 21 89 3 21 191 19 1 293 2 14 419 2 1 A = número primo nc( 1 *, B = raiz primitiva ap, C = redução) Tabela 1 Em uma prática da presente invenção, a exigência de armazenamento para o conjunto de raízes primitivas é reduzida pelo uso de um conjunto de vinte e um números primos consecutivos (no presente exemplo (E-xemplo 1), adicionando o número primo 89 aos vinte números primos p(|) exemplares dados acima).
Existe, então, no máximo um número que não satisfaz gcd {p (i) ,P|-1} = 1.
Em um caso onde um tal número ocorre, ele é reduzido do conjunto p (I) . Em um caso onde todos os números primos em p (|) satisfazem uma tal condição, o último (vigésimo primeiro) número primo (89 no presente exemplo (Exemplo 1)) é reduzido. Assim, para cada número primo dado na Tabela 1 (coluna A), é também dada a raiz primitiva (coluna B) e a posição que deve ser reduzida (coluna C). A exigência da memória para os dados fornecidos na Tabela 1 é: Números Primos: 589 bits Raízes Primitivas: 159 bits Modelo de Redução: 322 bits Conjunto de Números Primos p (|): 120 bits Total: 1190 bits ou 149 bytes.
Uma prática da invenção baseada na computação do módulo rápido será agora descrita: Qualquer número primo P pode ser descrito pela condição: P = 2k - | .
Dado qualquer número x < P, aplica-se a seguinte decomposição: x= mx2k + c = mx(2k-1) + |m + c = mxp + |m + c Portanto: [x] mod P = [|m + cjmod P [Eq. 1] e o valor do módulo pode ser computado em um tal modo recursi-vo. (No caso especial que | = 1, somente uma única iteração é necessária).
Desde que α< P, e assim ax(k) < p2, um multiplicador pode ser utilizado que é de 2k bits na largura. Também: log2[m] < k e log2[c] < k. O valor do módulo P pode ser computado de acordo com a Eq. 1 pela multiplicação de um k-bit LSB com | e depois adição de um k-bit MSB. Se a soma é de mais do que k bits de largura, a Eq. 1 deve ser novamente invocada, i.e.: [|m + cjmodP = [m’+ c’] mod P = m’+ c’.
No caso extremo: m = {111... 1 }k bits e C = {111 — 1 }k bits, e assim m’= {1 }i bit e c’= {111...10}kbits.
Portanto, log2[c’= m’] < k.
Uma modalidade do cálculo do módulo P apresentado aqui é representada na Fig. 1. Uma modalidade geral do intercalador apresentado aqui é representada na Fig. 2.
Os parâmetros do intercalador devem ser selecionados de acordo com a dada regra correspondente intra-linhas. É sabido que depois que o código constituinte do código de convolução recursivo (RCC) é determinado, o desempenho do erro é caracterizado pelo peso de entrada e saída dos eventos de erros dos decodificadores constituintes. (O peso de entrada é o número de erros de bits.) É sabido que o desempenho dos Turbo códigos em alta SNR é ditado pelos eventos de erros de saída com peso de entrada 2. A distância livre efetiva é o mínimo peso de saída de todos os eventos de erros de peso de entrada 2. Uma solução para otimizar os parâmetros do intercalador é identificar conjuntos de parâmetros que minimizam eventos de erros com pouco peso, com os modelos mostrados na Tabela 2 como critérios. Peso-2 Peso-3 Peso-4 1+D' 1 +Di+Dj 1+D'+Dj+=Dk comp. i comp. i,j comp. i,j,k Tabela 2 Por exemplo, se um modelo de entrada tem peso-2 (por exemplo, dois bits 1 com seis 0’s entre eles, então de acordo com a coluna de Peso-2 da Tabela 3, um conjunto de parâmetros do intercalador é procurado que produz uma saída com bits 1 na zero3 (inicial) e sétima, décima quarta, vigésima primeira ou vinte e oito posições (de acordo com o comprimento) com seis, treze, vinte ou vinte e sete bits, respectivamente, entre os dois um bits. Isso pode ser expresso como verificando bits 1 nas posições zero3 e i3.
Em aplicação similar dessa “técnica de filtragem de peso pequeno”, os fluxos de peso-3 são verificados para bits 1 nas posições zero3, i3 e j3. Fluxos de peso-4 são verificados por bits 1 nas posições zero3-, ia, j3· e ka.
Embora a modalidade descrita acima seja um turbo codificador tal como é encontrado em um sistema CDMA, esses peritos na técnica verificam que a prática da invenção não é limitada a ela e que a invenção pode ser praticada para qualquer tipo de intercalação e desintercalação em qualquer sistema de comunicação.
Assim, será verificado que a invenção eficientemente atinge os objetivos declarados acima, entre esses que se tornaram aparentes a partir da descrição precedente. Em particular, a invenção proporciona aparelho e métodos aperfeiçoados de intercalação de códigos de comprimento finito enquanto minimizando a complexidade da implementação e a quantidade de espaço de armazenamento necessário para o armazenamento do parâmetro.
Será entendido que mudanças podem ser feitas na construção a-cima e nas sequências precedentes de operação sem se afastar do escopo da invenção. Consequentemente, é planejado que toda a matéria contida na descrição acima ou mostrada nos desenhos acompanhantes seja interpretada como ilustrativa ao invés de em um sentido limitador.

Claims (20)

1. Método para a intercalação de elementos de quadros de dados que compreende as etapas de: proporcionar um arranjo de armazenamento c de R linhas e C colunas, onde R e C são números inteiros positivos, caracterizado pelo fato de que compreende ainda: armazenar um quadro de dados compreendendo uma pluralidade L de elementos em um arranjo de trabalho dentro do arranjo de armazenamento c, o arranjo de trabalho tendo Nr(1} linhas eNc(l) colunas, onde: Nr (1 * é um número inteiro positivo não maior do que R, nc (1 * é um número primo não maior do que C; e Nr(l> x Νο(Ι_1> < L < Nr(l> x Nc(l>; onde nc (1 _1> é o número primo mais alto menor do que nc (1 >, e permutar os elementos de cada linha do arranjo de armazenamento c de acordo com uma relação matemática predeterminada.
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a relação matemática predeterminada para permutar os elementos de cada linha do arranjo de armazenamento c é: Cj(i) = [aj x Cj(i-l)]mod P| onde: j = 1,2,...R; i = 1,2,...C; P é um conjunto de números primos contíguos; P, é igual a nc (1 *, e α j é selecionado das raízes congruentes exponenciais de P|.
3. Método, de acordo com a reivindicação 2, caracterizado pelo fato de compreender ainda permutar as linhas do arranjo de armazenamento c de acordo com o mapeamento predeterminado.
4. Método, de acordo com a reivindicação 3, caracterizado pelo fato de compreender ainda armazenar o dito quadro de dados em ordem de linha por linha, e ler o dito quadro de dados depois da permutação na ordem de coluna por coluna.
5. Método, de acordo com a reivindicação 2, caracterizado pelo fato de que os valores de α j são selecionados das raízes congruentes expo-nenciais de P| de acordo com aj = { app<1>, app<2>, ... αΦρ<κ>} onde: ap é a raiz primitiva de P|; e gcd{p(i),Pr1} = 1.
6. Método, de acordo com a reivindicação 2, caracterizado pelo fato de que os valores de aj são selecionados entre valores de j+1 pela eliminação de um valor para o qual gcd {p(i),P|-1} não é igual a 1.
7. Método, de acordo com a reivindicação 2, caracterizado pelo fato de que: os valores de α j são selecionados entre valores encontrados para produzir mínimos erros de bits com dados de entrada de pequeno peso.
8. Método, de acordo com a reivindicação 2, caracterizado pelo fato de que os valores de aj associados com cada valor de nc(I> são pré computados e armazenados.
9. Intercalador para intercalação de elementos de quadros de dados compreendendo: uma memória contendo pelo menos um arranjo de armazenamento c de R linhas e C colunas, onde R e C são números inteiros positivos, caracterizado pelo fato de que compreende ainda: um dispositivo de leitura-gravação de memória armazenando um quadro de dados compreendendo uma pluralidade L de elementos em um arranjo de trabalho dentro do arranjo de armazenamento c, o arranjo de trabalho tendo Nr(1 * linhas eNc(l) colunas, onde: Nr (1 * é um número inteiro positivo não maior do que R, nc( 1 ’ é um número primo não maior do que C e Nr(l> X Ν0<|_1) < L < Nr(l> x Nc(l>, ondeNc<l_1> é o número primo mais alto menor do que nc(I> , e um dispositivo lógico para permutar os elementos de cada linha do arranjo de armazenamento c de acordo com uma relação matemática predeterminada.
10. Intercalador, de acordo com a reivindicação 9, caracterizado pelo fato de que o dispositivo lógico permuta os elementos de cada linha do arranjo de armazenamento c de acordo com: Cj (i) = [aj x Cj (i-1) ]mod P| onde: j = 1,2,..R; i = 1,2,...C; P é um conjunto de números primos contíguos, Pi é igual a Nc(l>; e α j é selecionado das raízes congruentes exponenciais de P|.
11. Intercalador, de acordo com a reivindicação 10, caracterizado pelo fato de que o dispositivo lógico permuta as linhas do arranjo de armazenamento c de acordo com o mapeamento predeterminado.
12. Intercalador, de acordo com a reivindicação 11, caracterizado pelo fato de que o dispositivo de leitura-gravação de memória armazena o dito quadro de dados na ordem de linha por linha e lê o dito quadro de dados depois da permutação na ordem de coluna por coluna.
13. Intercalador, de acordo com a reivindicação 10, caracterizado pelo fato de que o dispositivo lógico seleciona os valores de aj das raízes congruentes exponenciais de P| de acordo com aj = { app<1>, app<2>,... αΦρ<κ>} onde: ap é a raiz primitiva de P|; e gcd{p(i),Pr1} = 1.
14. Intercalador, de acordo com a reivindicação 10, caracterizado pelo fato de que o dispositivo lógico seleciona os valores de aj entre valores de j+1 pela eliminação de um valor para o qual gcd{p(i),P|-1} não é igual a 1.
15. Intercalador, de acordo com a reivindicação 9, caracterizado pelo fato de que o dispositivo de memória inclui uma memória, o dispositivo de leitura-gravação de memória inclui um circuito de leitura-gravação de memória e o dispositivo lógico inclui uma unidade lógica aritmética (ALU).
16. Intercalador, de acordo com a reivindicação 15, caracterizado pelo fato de que a ALU é adaptada para permutar os elementos de cada linha do arranjo de armazenamento c de acordo com: cj(i) = [otj x cj(i-1)]mod P, onde: j = i = 1,2,...C, P é um conjunto de números primos contíguos, P, é igual a Nc(l); e α j é selecionado das raízes congruentes exponenciais de P|.
17. Intercalador, de acordo com a reivindicação 16, caracterizado pelo fato de que a ALU permuta as linhas do arranjo de armazenamento c de acordo com mapeamento predeterminado.
18. Intercalador, de acordo com a reivindicação 17, caracterizado pelo fato de que o circuito de leitura-gravação de memória armazena o dito quadro de dados na ordem de linha por linha e lê o dito quadro de dados depois da permutação na ordem de coluna por coluna.
19. Intercalador, de acordo com a reivindicação 16, caracterizado pelo fato de que a ALU seleciona os valores de α j das raízes congruentes exponenciais de P| de acordo com aj = { app<1>, app(2>,... αΦρ<κ> } onde: ap é a raiz primitiva de P|; e gcd{p(i),Pr1} = 1.
20. Intercalador, de acordo com a reivindicação 10, caracterizado pelo fato de que a ALU seleciona os valores de α j entre valores de j+1 pela eliminação de um valor para o qual gcd{p(i),P|-1} não é igual a 1.
BRPI0009717-9A 1999-04-14 2000-03-29 Método e intercalador para intercalação de elementos de quadros de dados BRPI0009717B1 (pt)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/291,353 US6543013B1 (en) 1999-04-14 1999-04-14 Intra-row permutation for turbo code
PCT/IB2000/000375 WO2000062426A1 (en) 1999-04-14 2000-03-29 Intra-row permutation for turbocode

Publications (2)

Publication Number Publication Date
BR0009717A BR0009717A (pt) 2002-03-05
BRPI0009717B1 true BRPI0009717B1 (pt) 2015-06-09

Family

ID=23119963

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0009717-9A BRPI0009717B1 (pt) 1999-04-14 2000-03-29 Método e intercalador para intercalação de elementos de quadros de dados

Country Status (10)

Country Link
US (1) US6543013B1 (pt)
EP (1) EP1169777B1 (pt)
JP (1) JP4298175B2 (pt)
KR (1) KR100780995B1 (pt)
CN (1) CN1188950C (pt)
BR (1) BRPI0009717B1 (pt)
CA (1) CA2366581C (pt)
DE (1) DE60002705T2 (pt)
HK (1) HK1040141B (pt)
WO (1) WO2000062426A1 (pt)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100720772B1 (ko) * 1999-03-19 2007-05-22 지멘스 악티엔게젤샤프트 전송 속도를 매칭시키기 위한 방법 및 장치
CA2266283C (en) * 1999-03-19 2006-07-11 Wen Tong Data interleaver and method of interleaving data
HUP0200639A2 (en) * 1999-04-07 2002-06-29 Siemens Ag Method for coding channels
JP2001285077A (ja) * 2000-03-31 2001-10-12 Mitsubishi Electric Corp 通信装置および通信方法
US6625763B1 (en) * 2000-07-05 2003-09-23 3G.Com, Inc. Block interleaver and de-interleaver with buffer to reduce power consumption
KR100393608B1 (ko) * 2000-09-29 2003-08-09 삼성전자주식회사 유.엠.티.에스시스템내 터보부호화기의 내부 인터리버 및인터리빙 수행 방법
KR100846017B1 (ko) * 2000-10-30 2008-07-11 가부시키가이샤 히타치세이사쿠쇼 데이터 인터리브/디인터리브 효율을 향상시키기 위한 반도체 장치, 무선 통신 장치, 컴퓨터 프로그램 제품 및 방법
KR100800840B1 (ko) * 2001-05-09 2008-02-04 삼성전자주식회사 터보코드를 사용하는 부호분할다중접속 이동통신시스템의 터보 인터리버 및 터보 인터리빙 방법
JP3624874B2 (ja) 2001-11-19 2005-03-02 日本電気株式会社 インターリービング順序発生器、インターリーバ、ターボエンコーダ、及びターボデコーダ
FR2837331B1 (fr) * 2002-03-13 2004-06-18 Canon Kk Procede d'entrelacement d'une sequence binaire
WO2004030226A1 (en) * 2002-09-25 2004-04-08 Koninklijke Philips Electronics N.V. Method of calculating an intra-row permutation pattern for an interleaver
GB2400776A (en) * 2003-04-14 2004-10-20 Modem Art Ltd method of using an algebraic interleaver for turbo encoding/decoding
JP4265345B2 (ja) * 2003-08-22 2009-05-20 日本電気株式会社 携帯電話機、インターリーブパラメータ演算装置、方法及びプログラム
US8077743B2 (en) * 2003-11-18 2011-12-13 Qualcomm Incorporated Method and apparatus for offset interleaving of vocoder frames
TWI237448B (en) * 2004-04-12 2005-08-01 Benq Corp Method for interleaving data frame and circuit thereof
US7793169B2 (en) * 2005-10-19 2010-09-07 Telefonaktiebolaget Lm Ericsson (Publ) Intelligent table-driven interleaving
WO2009014298A1 (en) * 2007-07-20 2009-01-29 Electronics And Telecommunications Research Institute Address generation apparatus and method of data interleaver/deinterleaver
US20090250345A1 (en) * 2008-04-03 2009-10-08 Protea Biosciences, Inc. Microfluidic electroelution devices & processes
JP5521722B2 (ja) * 2010-04-14 2014-06-18 沖電気工業株式会社 符号化装置、復号化装置、符号化・復号化システム、及び、プログラム
JP5634331B2 (ja) 2011-06-07 2014-12-03 株式会社東芝 画像処理装置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US300139A (en) * 1884-06-10 sohisgall
US4394642A (en) 1981-09-21 1983-07-19 Sperry Corporation Apparatus for interleaving and de-interleaving data
DE3882175T2 (de) 1987-07-20 1994-01-27 Ibm Fehlerkorrektur-Kode für einen B-bit-pro-Chip-Speicher mit verminderten Redundanz.
US4907233A (en) * 1988-05-18 1990-03-06 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration VLSI single-chip (255,223) Reed-Solomon encoder with interleaver
US5042033A (en) * 1989-06-05 1991-08-20 Canadian Marconi Corporation RAM-implemented convolutional interleaver
US5357606A (en) * 1992-02-25 1994-10-18 Apple Computer, Inc. Row interleaved frame buffer
FR2706054B1 (fr) 1993-06-02 1995-07-13 Alcatel Mobile Comm France Procédé d'entrelacement d'une séquence d'éléments de données, et dispositif d'entrelacement correspondant.
US5483541A (en) * 1993-09-13 1996-01-09 Trw Inc. Permuted interleaver
JP3415693B2 (ja) * 1993-12-23 2003-06-09 ノキア モービル フォーンズ リミテッド インターリーブプロセス
US5572532A (en) * 1993-12-29 1996-11-05 Zenith Electronics Corp. Convolutional interleaver and deinterleaver
FR2723282B1 (fr) * 1994-07-29 1996-09-13 Alcatel Telspace Procede d'entrelacement et de desentrelacement de trames sdh et systeme correspondant
US5812288A (en) * 1995-12-27 1998-09-22 Lucent Technologies Inc. Holographic storage of digital data
FR2747255B1 (fr) * 1996-04-03 1998-07-10 France Telecom Procede et dispositif de codage convolutif de blocs de donnees, et procede et dispositif de decodage correspondants
KR100186627B1 (ko) * 1996-09-21 1999-05-15 삼성전자 주식회사 베이스 밴드 인터리버
US6108745A (en) * 1997-10-31 2000-08-22 Hewlett-Packard Company Fast and compact address bit routing scheme that supports various DRAM bank sizes and multiple interleaving schemes
US6347385B1 (en) 1998-08-03 2002-02-12 Nortel Networks Limited Interleavers for turbo code
KR100373965B1 (ko) 1998-08-17 2003-02-26 휴우즈 일렉트로닉스 코오포레이션 최적 성능을 갖는 터보 코드 인터리버
US6304991B1 (en) * 1998-12-04 2001-10-16 Qualcomm Incorporated Turbo code interleaver using linear congruential sequence

Also Published As

Publication number Publication date
KR100780995B1 (ko) 2007-11-29
CN1188950C (zh) 2005-02-09
CA2366581A1 (en) 2000-10-19
JP4298175B2 (ja) 2009-07-15
DE60002705T2 (de) 2004-03-11
DE60002705D1 (de) 2003-06-18
HK1040141A1 (en) 2002-05-24
CN1347593A (zh) 2002-05-01
WO2000062426A1 (en) 2000-10-19
KR20010113801A (ko) 2001-12-28
CA2366581C (en) 2006-11-07
JP2002542646A (ja) 2002-12-10
EP1169777A1 (en) 2002-01-09
HK1040141B (zh) 2003-08-15
BR0009717A (pt) 2002-03-05
US6543013B1 (en) 2003-04-01
EP1169777B1 (en) 2003-05-14

Similar Documents

Publication Publication Date Title
BRPI0009717B1 (pt) Método e intercalador para intercalação de elementos de quadros de dados
US6637000B2 (en) Turbo code interleaver using linear congruential sequences
ES2673513T3 (es) Procedimientos que emplean códigos de FEC con inactivación permanente de símbolos para procesos de codificación y decodificación
KR100526512B1 (ko) 이동 통신시스템의 직렬 쇄상 컨볼루션 부호화를 위한 인터리빙장치 및 방법
JP3359912B1 (ja) ターボインターリービング装置及び方法
TWI406509B (zh) 渦輪解碼器及解碼渦輪編碼信號的方法
JP2004531116A (ja) ターボデコーダ用インタリーバ
US6591381B1 (en) 2-dimensional interleaving apparatus and method
EP2621091B1 (en) Turbo code parallel interleaving with quadratic permutation polynomial (qpp) functions
KR100963463B1 (ko) 낮은 프레임 에러 레이트를 위한 개선된 터보 코드인터리버
BRPI0007468B1 (pt) Métodos e intercaladores para a intercalação de elementos de quadros de dados.
WO2004055992A1 (en) Addresses generation for interleavers in turbo encoders and decoders
Martínez-Peñas et al. Locally repairable convolutional codes with sliding window repair
Briffa Interleavers for turbo codes
Asghar Dual standard re-configurable hardware interleaver for turbo decoding
CN1787386A (zh) 一种维特比译码器路径度量存储的方法
Asghar et al. Very low cost configurable hardware interleaver for 3G turbo decoding
KR100645730B1 (ko) 매직 매트릭스를 이용한 인터리빙 방법
US7647547B2 (en) Turbo decoder with reduced-size branch metric cache
WO2019029397A1 (zh) 一种交织方法及装置
Xie et al. Design and study on a new BCH coding and interleaving techniques based on ARM chip
KR100362557B1 (ko) 이차원 인터리빙 장치 및 방법
Mansour Fast pruned interleaving
JP2018042035A (ja) 符号化装置

Legal Events

Date Code Title Description
B06A Patent application procedure suspended [chapter 6.1 patent gazette]
B15K Others concerning applications: alteration of classification

Free format text: AS CLASSIFICACOES ANTERIORES ERAM: H03M 13/27 , H03M 13/29

Ipc: H03M 13/27 (2006.01)

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 09/06/2015, OBSERVADAS AS CONDICOES LEGAIS.

B25A Requested transfer of rights approved
B25A Requested transfer of rights approved
B25G Requested change of headquarter approved