DISPOSITIVO DE AJUSTE DE TAXA E PROCESSO DE AJUSTE DE TAXA PARA UM SISTEMA DE COMUNICAÇÃO DE DADOS
FUNDAMENTOS DA INVENÇÃO 1. Campo da Invenção [001] A presente invenção refere-se, em linhas gerais, a um dispositivo de codificação de canais e processo para um sistema de comunicação de dados e especificamente a um dispositivo e processo para a comparação por taxa de símbolos codificados por canal. 2. Descrição da Técnica Correlata [002] Geralmente nos sistemas de comunicação digital tais como sistemas de satélites, sistemas ISDN (Rede Digital de Serviços Integrados), sistemas celulares digitais, sistemas W-CDMA (Acesso múltiplo por Divisão de Código de Banda Ampla), sistemas UMTS (Sistemas de Telecomunicação Móvel Universal) e IMT-2000 (Telecomunicação Móvel Interna-cional-2000), os dados de usuário de fonte é codificado por canal com um código de correção de erros antes da transmissão a fim de aumentar a confiabilidade do sistema. Um código convolucional e um código de blocos linear são tipicamente empregados para a codificação de canal e para o código de blocos linear emprega-se um único decodificador. Recentemente, além de tais códigos, vem sendo amplamente usado o código turbo, que é útil para a transmissão e recepção de dados.
[003] Nos sistemas de comunicação de acesso múltiplo que dão suporte a uma multiplicidade de usuários e sistemas de comunicação de canais múltiplos com uma multiplicidade de canais, os símbolos codificados por canal são comparados a um número dado de símbolos de canais de transmissão, a fim de aumentar a eficiência da transmissão de dados e melhorar o desempenho do sistema. Um tal processo é denominado "ajuste de taxa". A ajuste de taxa é também conduzida para comparar a taxa de símbolos de saída com a taxa de transmissão de símbolos. Processos típicos de ajuste de taxa incluem perfuração ou repetição de partes dos símbolos codificados por canal.
[004] Um dispositivo de ajuste de taxa convencional é mostrado na Figura 1. Com referência à Figura 1, um codificador de canais 100 codifica bits (k) de informação de entrada a uma taxa de codificação R = k/n e emite símbolos (n) codificados. Um multiplexador (MUX) 110, multiplexa os símbolos codificados. Um bloco de ajuste de taxa 120 ajusta a taxa os símbolos codificados multiplexados por perfuração ou repetição e fornece os símbolos com a taxa ajustada a um transmissor (não mostrado). O codificador de canal 100 opera a cada período de um clock símbolo que tem uma taxa de CLOCK e o multiplexador 110 e o bloco de ajuste de taxa 120 opera a cada período predeterminado de um clock tendo uma taxa de n x CLOCK.
[005] Deve se observar que o dispositivo de ajuste de taxa da Figura 1 é proposto para ser aplicado ao caso em que um código não sistemático tal como um código convoluci-onal ou um código de blocos linear é usado para a codificação de canal. Para símbolos, codificados por canal com um código não sistemático tal como um código convolucional ou um código de blocos linear, como a sensibilidade a erros dos símbolos codificados emitidos do codificador de canais 100 é análogo para cada símbolo dentro de um quadro, é possível que os símbolos codificados pelo codificador de ca- nais 100 sejam fornecidos ao bloco de ajuste de taxa 120 sem distinção e que sofram perfuração ou repetição, conforme mostrado na Figura 1.
[006] No entanto, quando se empregam códigos sistemáticos, existe um peso entre símbolos, de modo que não é bom para os símbolos codificados por canal que são fornecidos ao bloco de ajuste de taxa 120 também sofrem perfuração ou repetição. Como o peso não é igual entre os símbolos de informação e os símbolos de paridade, recomenda-se que o bloco de ajuste de taxa 120 possa perfurar símbolos de paridade dos símbolos codificados por turbo, mas não deve perfurar os símbolos de informação. Como um caso alternativo, o bloco de ajuste de taxa 120 pode repetir os símbolos dos símbolos codificados por turbo para aumentar a energia dos símbolos, mas não deve repetir os símbolos de paridade, se possível. É difícil empregar o dispositivo de ajuste de taxa da Figura 1 quando um código turbo está sendo usado. Isto é natural à luz dos fatos de que a estrutura da Figura 1 é disponível somente para códigos não sistemáticos tais como os códigos convolucionais ou códigos lineares de blocos e o código turbo tem novas propriedades diferentes das dos códigos de convolução e dos códigos lineares de blocos.
[007] Recentemente, para se solucionar tal problema, foi proposto um processo para a comparação por taxa dos símbolos codificados por canal com o código turbo. No entanto, um tal processo pode ser usado somente quando se ajusta a taxa os símbolos codificados por turbo e não pode ser usado quando se ajusta a taxa os símbolos codificados por canal com os códigos convolucionais existentes ou com os códigos lineares de blocos.
[008] Portanto, existe a necessidade de um único dispositivo e processo para se ajustar a taxa tanto os símbolos codificados por canal com o código não sistemático existente como os símbolos codificados por canal com código sistemático. Por exemplo: um sistema de comunicação de dados projetado para dar suporte tanto ao código não sistemático como ao código sistemático necessita de duas estruturas diferentes a fim de ajustar a taxa os dois códigos, provocando um aumento na complexidade. No entanto, se for possível de ajustar a taxa os códigos diferentes empregando-se uma única estrutura, reduzir-se-á a complexidade da implementação .
SUMÁRIO DA INVENÇÃO
[009] É, portanto, um objetivo da presente invenção propor um dispositivo e processo para comparação por taxa tanto de símbolos codificados por canal com o código não sistemático, como os símbolos codificados por canal com um código sistemático, empregando-se uma única estrutura, em sistema de comunicação de dados.
[010] Um outro objetivo da presente invenção consiste em propor um dispositivo e processo para comparar seletivamente por taxa, símbolos codificados por canal com um código não sistemático ou símbolos codificados por canal com um código sistemático em um sistema de comunicação de dados que dá suporte tanto a código não sistemático como a código sistemático.
[011] Um outro objetivo da presente invenção consiste em propor um dispositivo e processo para a comparação por taxa de símbolos codificados por canal para aumentar a efi- ciência da transmissão de dados e para melhorar o desempenho do sistema em um sistema de comunicação de dados.
[012] Para se atingir os objetivos acima e outros, propõe-se um dispositivo e processo para a comparação de uma taxa de símbolos codificados por canal em um sistema de comunicação de dados. O dispositivo de ajuste de taxa e o processo para tal podem ser aplicados a um sistema de comunicação de dados que usa um dos códigos, o não sistemático (código convolucional ou código de blocos linear) e um sistemático (código turbo) ou os dois. O dispositivo de ajuste de taxa inclui uma multiplicidade de blocos de ajuste de taxa, um número dos blocos de ajuste de taxa sendo igual a uma recíproca da taxa de codificação do codificador de canais. O dispositivo de ajuste de taxa por ajustar a taxa os símbolos codificados com um código não sistemático ou os símbolos codificados com um código sistemático, alterando os parâmetros iniciais inclusive o número dos símbolos introduzidos, o número dos símbolos introduzidos e os parâmetros que determinam o padrão de perfuração/repetição.
DESCRIÇÃO SUCINTA DOS DESENHOS
[013] Os objetivos, características e vantagens da presente invenção acima e outros se tornarão evidentes com a leitura da descrição detalhada que segue tomada em conjunto com os desenhos apensos em que: A Figura 1 é um diagrama ilustrando uma estrutura de um dispositivo de ajuste de taxa de acordo com a parte anterior; as Figuras 2 e 3 são diagramas ilustrando estruturas de dispositivos comparadores de taxas de acordo com uma modalidade da presente invenção; a Figura 4 é um diagrama ilustrando uma estrutura de um dispositivo de ajuste de taxa por perfuração de acordo com uma modalidade da presente invenção; a Figura 5 é um dm ilustrando uma estrutura de um dispositivo de ajuste de taxa por perfuração de acordo com um outra modalidade da presente invenção; a Figura 6 é um diagrama detalhado ilustrando uma estrutura do codificador de turbo mostrado na Figura 5; a Figura 7 é um fluxograma ilustrando um procedimento de ajuste de taxa por perfuração de acordo com uma modalidade da presente invenção; a Figura 8 é um diagrama ilustrando uma estrutura de um dispositivo de ajuste de taxa por perfuração de acordo com uma outra modalidade da presente invenção; a Figura 9 é um diagrama ilustrando uma estrutura de um dispositivo de ajuste de taxa por repetição de acordo com uma modalidade da presente invenção; a Figura 10 é um diagrama ilustrando uma estrutura de um dispositivo de ajuste de taxa por repetição de acordo com uma outra modalidade da presente invenção; e a Figura 11 é um fluxograma ilustrando um procedimento de ajuste de taxa por repetição de acordo com uma modalidade da presente invenção.
DESCRIÇÃO DETALHADA DA MODALIDADE PREFERIDA
[014] Modalidades preferidas da presente invenção serão descritas abaixo no presente fazendo-se referência aos desenhos apensos. Na descrição abaixo, funções ou construções bem conhecidas não são descritas em detalhes, uma vez que sobrecarregariam a invenção com detalhes desnecessários Condições Necessárias quando se Projeta um Dispositivo De ajuste de taxa [015] Em primeiro lugar, antes de se descrever a invenção, faz-se referência às condições que devem ser consideradas quando se ajusta a taxa símbolos codificados por canal com um código não sistemático tal como um código convo-lucional ou um código de blocos linear (na descrição abaixo presume-se que o código não sistemático seja um código con-volucional) . As Condições IA a 3A abaixo são as condições que devem ser consideradas quando se ajusta a taxa símbolos codificados por perfuração e as Condições 1C 2C abaixo são as condições que devem ser consideradas quando se ajusta a taxa símbolos codificados por repetição.
[016] Condição IA: uma seqüência de símbolos de entrada, sendo combinações codificados deve ser perfurada usan-do-se um padrão de perfuração que tem um período específico .
[017] Condição 2A: O número de bits perfurados dentre os símbolos introduzidos deve ser reduzido ao mínimo, se possível.
[018] Condição 3A: Um padrão de perfuração uniforme deve ser usado de modo tal, que a seqüência de símbolos introduzida que consiste em símbolos codificados emitidos de um codificador, deve ser uniformemente perfurado.
[019] Condição 1C: Uma seqüência de símbolos de entrada, consistindo em símbolos codificados, deve ser repetida usando-se um padrão de repetição que tem um período específico .
[020] Condição 2C: Um padrão de repetição uniforme deve ser usado, de modo tal, que a seqüência de símbolos de en- trada, que consiste em símbolos codificados emitidos de um codificador, deve ser uniformemente repetido.
[021] Estas condições se baseias na pressuposição de que a sensibilidade a erro dos símbolos emitidos do codificador usando-se um código convolucional é praticamente a mesma para cada símbolo dentro de um quadro (palavra de código) . Na verdade, sabe-se que quando as condições acima são usadas como fatores de limitação principal durante a perfuração para ajustar a taxa, são obtidos resultados afirmativos, conforme evidenciado pelas seguintes referências : [1] G.D. Forney, "Convolutional codes I: Algebraic structure," IEEE Trans. Inform. Theory, vol. IT-16, pp 720-738, Nov. 1970 [2] J.B.Cain, G.C. Clark, e J.M. Geist, "Punctured convolutional codes of rate (n-l)/n and simpli-fied maximum likelihood decoding", IEEE Trans. Inform. Theory, vol IT-25, pp 97-100, Jan. 1979.
[022] Em seguida se fará referência às condições que devem ser consideradas quando se ajusta a taxa símbolos codificados por canal com um código sistemático (na descrição abaixo, presume-se que o código sistemático seja um código turbo) . As condições 1B a 5B abaixo são as condições que devem ser consideradas quando se ajusta a taxa os símbolos codificados por perfuração e as Condições 1D a 5D são as condições que devem ser consideradas quando se ajusta a taxa os símbolos por repetição.
[023] Condição 1B: Como um código turbo é um código sistemático, a porção que corresponde aos símbolos de informação dos símbolos codificados pelo codificador não deve ser perfurada. Além disso, devido ao fato ainda de que um decodificador iterativo é usado como um decodificador para o código turbo, a porção que corresponde aos símbolos de informação não deve ser perfurada.
[024] Condição 2B: Como um codificador turbo consiste em dois codificadores componentes conectados em paralelo, é preferível maximizar a distância livre mínima de cada um dos codificadores componentes para a distância livre mínima do código total. Portanto, a fim de se obter um desempenho ótimo, os símbolos de paridade de saída dos dois codificadores componentes devem ser uniformemente perfurados.
[025] Condição 3B: Na maior parte dos decodificadores iterativos, como a decodificação é conduzida a partir do primeiro decodificador interno, o primeiro símbolo emitido do primeiro decodificador componente não deve ser perfurado. Em outras palavras, o primeiro símbolo de um codificador não deve ser perfurado independente do fato dele ser um bit sistemático ou de paridade, pois o primeiro símbolo indica o ponto inicial de codificação.
[026] Condição 4B: Os símbolos de paridade de saída de cada codificador componente devem ser perfurados empregando-se um padrão de perfuração uniforme, de modo tal, que os símbolos codificados emitidos do codificador, tais como o código convolucional existente, devem ser uniformemente perfurados.
[027] Condição 5B: Os bits de terminação de terminação para o codificador turbo não devem ser perfurados pois tem um efeito nocivo sobre o desempenho do decodificador. Por exemplo, um decodificador SOVA (Soft Output Viterbi Algo-rithm) tem baixo desempenho quando os bits de terminação de terminação são perfurados, em comparação com o caso em que os bits de terminação de terminação não são perfurados.
[028] Condição 1D: Como um código turbo é um código sistemático, uma porção que corresponde aos símbolos de informação dos símbolos codificados pelo codificador deve ser repetida para aumentar a energia dos símbolos. Além disso, como um decodificador iterativo é empregado como um decodi-ficador para o código turbo, a porção que corresponde aos símbolos de informação deve ser freqüentemente repetida.
[029] Condição 2D: Como um codificador turbo consiste em dois componentes codificadores conectados em paralelo, é preferível se maximizar a distância livre mínima de cada um dos dois componentes codificados, pela distância livre mínima do código total. Portanto quando os símbolos de paridade são repetidos, os símbolos de paridade de saída dos dois componentes codificadores devem ser uniformemente repetidos a fim de se obter desempenho ótimo.
[030] Condição 3D: Na maior parte dos decodificadores iterativos, como a decodificação é conduzida do primeiro decodificador interno, o primeiro símbolo de saída do primeiro componente decodificador deve ser, de preferência, repetido quando os símbolos de paridade são repetidos.
[031] Condição 4D: Os símbolo de paridade de saída de cada componente codificador devem ser repetidos usando-se um padrão de repetição uniforme, de modo tal, que os símbolos codificados emitidos do codificador tais como o código convolucional existente, devem ser repetidos uniformemente.
[032] Condição 5D: Os bits de terminação de terminação usados para o codificador turbo devem ser repetidos devido ao efeito sobre o desempenho do decodificador. Um decodifi-cador SOVA (Soft Output Viterbi Algorithm), por exemplo, tem um desempenho diferente dependendo dos bits de terminação de terminação serem repetidos ou não.
[033] A presente invenção visa a implementação de um dispositivo de ajuste de taxa que satisfaça não somente as Condições 1A-3A e 1C-2C como também as Condições 1B-5B e 1D-5D. Isto é, um dispositivo de ajuste de taxa, perfurando de acordo com a presente invenção, serve como um dispositivo de ajuste de taxa que satisfaz as Condições IA a 3A para os símbolos codificados por convolução e também serve como um dispositivo de ajuste de taxa que satisfaz as Condições 1B a 5B para os símbolos codificados por turbo. O dispositivo de ajuste de taxa, repetindo de acordo com a presente invenção, serve como um dispositivo de ajuste de taxa que satisfaz as Condições 1C a 2C, para símbolos codificados por convolução, e também serve como um dispositivo de ajuste de taxa que satisfaz as Condições 1D a 5D, para símbolos codificados por turbo.
Estrutura Fundamental do Dispositivo De ajuste de taxa [034] Modalidades de estruturas de dispositivo de ajuste de taxa de acordo com a presente invenção são mostrados nas figuras 2 e 3. Mais especificamente, a Figura 2 mostra um exemplo de um dispositivo de ajuste de taxa implementado no hardware de acordo com uma modalidade da presente invenção e a Figura 3 mostra um exemplo de um dispositivo de ajuste de taxa implementado em software de acordo com uma modalidade da presente invenção.
[035] Com referência à Figura 2, um codificador de canais 200 codifica por canal bits de informação de entrada a uma taxa de codificação R = k/n e emite símbolos codificados. Neste caso, n indica o número de símbolos codificados que constituem uma palavra de código e k indica o número de bits de informação de entrada que constituem uma palavra de informação de entrada. Existem n blocos de ajuste de taxa 231-239, recebendo cada um deles separadamente símbolos codificados, emitidos do codificador de canais 200, por um número de símbolos de entrada determinados de acordo com a taxa de código, perfurando/repetindo os símbolos recebidos. Cada um dos blocos de ajuste de taxa 231-239 recebe separadamente os símbolos codificados, emitidos do codificador de canais 200, pelo número determinado por multiplicação do número dos símbolos codificados em um quadro pela taxa de codificação. Se o número de símbolos codificados em um quadro for 10 e a taxa de codificação for R = 1/5, os 5 blocos de ajuste de taxa recebe cada um dos 2 símbolos. Cada um dos blocos de ajuste de taxa 231-239 perfura os símbolos recebidos de acordo com um padrão de perfuração predeterminado ou repete os símbolos recebidos de acordo com um padrão de repetição predeterminado. Um multiplexador 240 mul-tiplexa os símbolos comparados por taxa provenientes dos blocos de ajuste de taxa 231-239 e fornece os símbolos mul-tiplexados a um transmissor de canal (não mostrado). Como o transmissor de canal está fora do âmbito da presente invenção, uma descrição detalhada do transmissor de canal será evitada no presente. A operação de ajuste de taxa dos blocos de ajuste de taxa 231-239 se tornará mais evidente com a leitura da descrição detalhada das representações da presente invenção.
[036] Com referência à FIGURA 3, um codificador de canal 200 codifica por canal os bits de informação de entrada a uma taxa de codificação R = k/n e emite os símbolos codi- ficados. Um processador de sinais digitais (DSP) 250 que tem um módulo de ajuste de taxa, efetua a comparação das taxas (ou perfuração/repetição) nos símbolos codificados por canal pelo codificador de canis 200, usando o módulo de ajuste de taxa. Os símbolos comparados por taxa pelo DPS 250 são fornecidos ao transmissor de canal. O DSP de ajuste de taxa recebe separadamente os símbolos decodificados de um quadro de n correntes de dados separados, em que o número de símbolos recebidos de cada corrente é igual ao número dos símbolos de entrada determinados de acordo com a taxa de codificação e perfura/repete os símbolos recebidos, do mesmo modo como mostrado na Figura 2. Em outras palavras, embora o DSP 250 seja um único elemento em hardware, ele efetua a mesma operação de ajuste de taxa como os n blocos de ajuste de taxa da Figura 2. O DSP 250 pode também ser implementado por uma CPU (Unidade de Processamento Central) e a operação de ajuste de taxa pode ser implementada por uma subrotina. Quando o termo "blocos de ajuste de taxa" é usado no presente, ele destina-se a se referir também aos módulos de ajuste de taxa no DSP 250.
[037] Conforme se pode ver nas figuras 2 e 3, um dispositivo de ajuste de taxa de acordo com a presente invenção pode ter uma estrutura que inclui um número de blocos de ajuste de taxa igual ao número que corresponde à taxa de codificação (isto é, uma recíproca da taxa de codificação quando k = 1, mas se k Φ 1, então o número dos blocos de ajuste de taxa pode ser igual a uma recíproca da taxa de codificação multiplicada por k) e cada bloco de ajuste de taxa recebe um número de símbolos igual ao número determinado pela multiplicação do número dos símbolos codificados em um quadro pela taxa de codificação e perfura os símbolos recebidos de acordo com uma padrão de perfuração ou repete os símbolos recebidos de acordo com um padrão de repetição predeterminado. Esta estrutura tem a característica de que os símbolos codificados por canal são separadamente processados, ao passo que o dispositivo de ajuste de taxa convencional da Figura 1 processa os símbolos codificados por canal em uma unidade de quadro. 0 dispositivo de ajuste de taxa modificado de acordo com a presente invenção pode ser usado tanto para códigos convolucionais como para códigos de turbo. Isto é, um dispositivo de ajuste de taxa de acordo com a presente invenção tem uma única estrutura que pode ser aplicada tanto a códigos convolucionais como a códigos de turbo, mesmo que dois conjuntos diferentes de condições sejam necessários.
[038] Um dispositivo de ajuste de taxa de acordo com a presente invenção pode também ter uma estrutura da Figura 8. Este dispositivo de ajuste de taxa tem uma estrutura combinada do dispositivo de ajuste de taxa convencional da Figura 1 e o dispositivo de ajuste de taxa inédito das Figuras 2 e 3. Incluindo um único bloco de ajuste de taxa, o dispositivo de ajuste de taxa tem um baixo grau de complexidade, embora tenha sido implementado por hardware.
[039] Com referência à figura 8, um codificador de canais 200 codifica por canal os bits de informação de entrada a uma taxa de codificação R = k/n e emite os símbolos codificados. Os símbolos codificados são multiplexados por um multiplexador 260 e os símbolos codificados multiplexados são fornecidos ao bloco de ajuste de taxa 230. Os símbolos com a taxa ajustada pelo bloco de ajuste de taxa 230 por perfuração/repetição são transmitidos a um transmissor de canal. Uma RAM (Memória de Acesso Aleatório) 270 armazena um valor inicial recebido durante a ajuste de taxa conduzida pelo bloco de ajuste de taxa 230 e fornece o valor inicial ao taxa 230. O codificador de canais 200 opera a cada período do clock símbolo tendo uma taxa de CLOCK e o multiplexador 260 e o bloco de ajuste de taxa 230 operam a um período predeterminado de um clock que tem uma taxa de n x CLOCK. O valor inicial fornecido ao RAM 270 inclui o número de símbolos de entrada Nc, o número de símbolos de saída Ni, o valor de erro (e) e parâmetros 'a' e 'b' que determinam o padrão de perfuração/repetição. O número de símbolos a serem perfurados para cada quadro dos símbolos codificados é determinado pelo número de símbolos de entrada Nc e pelo número de símbolos de saída Ni. A RAM 270 armazena o número de símbolos de entrada Nc que corresponde a cada clock símbolo em um período predeterminado, o número de símbolos de saída Ni, o valor de erro 'e' e os parâmetros 'a' e 'b' que determinam o padrão de perfuração/repetição. Quando a ajuste de taxa é conduzida por perfuração, o bloco de ajuste de taxa 230 recebe o número de símbolos de entrada correspondente Nc, o número de símbolos de saída Ni, o valor de erro ' e' e os parâmetros 'a' e 'b' que determinam o padrão de perfuração, armazenados na RAM 270, a cada período de clock símbolo, para determinar se o símbolo específico que está sendo processado a cada período de clock símbolo precisa ser perfurado e efetua a perfuração de acordo com o padrão de perfuração correspondente. Quando a ajuste de taxa é conduzida por repetição, o bloco de ajuste de taxa 230 recebe o número de símbolos de entrada Nc cor- respondente, o número do símbolo de saída NI, o valor de erro 'e' e os parâmetros 'a' e ' b' que determinam o padrão de repetição, armazenados na RAM 270, a cada período de clock símbolo, para determinar se o símbolo específico que está sendo processado a cada período de clock símbolo precisa ser perfurado e efetua a repetição de acordo com o padrão de repetição correspondente.
[040] Quando se usa um código convolucional ou código de blocos linear no codificador de canal 200, o valor inicial é ajustar a um parâmetro específico de perfura-ção/repetição (Nc, Ni, e, b, a) na RAM 270. Isto é, o bloco de ajuste de taxa (RMB) 230 opera conforme mostrado na Figura 1, sem atualização da RAM 270.
[041] Quando se usa no codificador de canal 200 um código de turbo, o bloco de ajuste de taxa 230 deve operar em seqüência de RMB1 a RMBn (cada RMBx [x = 1 a n] é associado com um conjunto de valores para Nc, Ni, e, b e a) a cada período de clock símbolo designado como período 'n' (isto é, período n = o período de um clock que tem uma taxa de CLOCK). Em outras palavras, a cada período de um clock que tem a taxa de n x CLOCK, o bloco de ajuste de taxa 230 é atualizado com os valores para Nc, Ni, e, a e b provenientes de um dos RMBx [x = 1 a n]. Assim, para cada período de η, o bloco de ajuste de taxa 230 é atualizado com os valores para Nc, Ni, e, b e a provenientes de cada um dos RMBs. Durante um período de 1/ (n x CLOCK) , por exemplo, o bloco de ajuste de taxa 230 pode receber os valores para Nc, Ni, e a e b provenientes de RMB1 e em seguida recebe os valores para Nc, Ni, e, a e b de RMB2 no seguinte período de 1/(n x CLOCK) e assim por diante, até os valores provenientes de RMBn são recebidos pelo bloco de ajuste de taxa 230. O mesmo ciclo é em seguida novamente repetido no seguinte período 'n'. Portanto, os valores de estado de RMBx processados a um determinado momento, isto é, os valores de parâmetro (Nc, Ni, e, b, a) para a determinação dos símbolos e os padrões para a perfuração/repetição são armazenados na RAM 270 para o processo no seguinte ponto no tempo. Portanto se este valor for usado quando o RMBx é processado novamente da seguinte vez, é possível se efetuar a operação de n RMBs (RMBl-RMBn) usando um único RMB. Para uma taxa de processamento, como n x CLOCK é usado conforme mostrado nas Figuras 1 e 2, a complexidade não será aumentada.
[042] Entrementes, na Figura 2, os blocos de ajuste de taxa 231-239 recebem separadamente um número de símbolos codificados pelo codificador de canais 200 igual ao número determinado pela multiplicação do número de símbolos codificado em um quadro pela taxa de codificação. No entanto, deve ser observado que cada um dos blocos de ajuste de taxa 231-239 pode também receber separadamente um número diferente dos símbolos codificados pelo codificador de canais 200. Um dos blocos de ajuste de taxa 231-239, por exemplo, poderia receber separadamente um número de símbolos codificados que é menor do que o número determinado pela multiplicação do número de símbolos codificados em um quadro pela taxa de codificação e um outro bloco de ajuste de taxa poderia separadamente receber um número de símbolos codificados que é maior do que o número determinado pela multiplicação do número de símbolos codificado em um quadro pela taxa de codificação. No entanto, para fins de simplificação, descreveremos um caso em que cada um dos blocos de ajuste de taxa 231-239 recebe separadamente o mesmo número de símbolos codificados pelo codificador de canais 200.
Modalidade do dispositivo de ajuste de taxa [043] Uma descrição será agora feita do dispositivo de ajuste de taxa de acordo com uma modalidade da presente invenção. No presente documento, para fins de conveniência, a descrição será feita pressupondo-se que a taxa de codificação é R = 1/3 e 3 blocos de ajuste de taxa são providos. No entanto, deve ser observado que o dispositivo de ajuste de taxa de acordo com a presente invenção se aplica a qualquer caso em que há n blocos de ajuste de taxa, isto é, a taxa de codificação é R = k/n. Além disso, na descrição abaixo Ncs indica o número total dos símbolos codificados incluídos em um quadro, emitidos do codificador de canal. Nc indica o número de símbolos introduzidos em cada bloco de ajuste de taxa e o número dos símbolos de entrada é determinado como Nc = R x Ncs. Na descrição abaixo R x Ncs = 1/3 x Ncs = Ncs/3. Ni indica o número de símbolos emitidos de cada bloco de ajuste de taxa e o número de símbolos de saída é determinado como Ni= R x Nis, que é Nis/3 na descrição, em que Nis indica o número total dos símbolos emitidos depois do processo de ajuste de taxa. Isto é, Nis é o número total dos símbolos emitidos dos respectivos blocos de ajuste de taxa. Portanto o número de símbolos (bits) a serem perfurados/repetidos por cada bloco de ajuste de taxa é determinado y y = Nc - NI. O valor de Nc e o valor de Ni podem variar.
[044] Além disso, a invenção usa os parâmetros 'a' e 'b', que são números inteiros determinados de acordo com um padrão de perfuração/repetição dentro de um quadro, isto é, números inteiros para a determinação do padrão de perfura-ção/repetição. O parâmetro 'a' é um valor deslocado para a determinação da posição do primeiro símbolo no padrão de perfuração/repetição. Isto é, o parâmetro 'a' determina qual dos símbolos codificados, incluídos em um quadro, deve ser tomado como o primeiro símbolo do padrão de perfuração/repetição. Se um valor do parâmetro 'a' aumentar, um símbolo localizado na frente do quadro será perfura-do/repetido. O parâmetro 'b' é um valor para o controle do período de perfuração ou repetição no quadro. Fazendo-se variar este valor de parâmetro, é possível se perfu-rar/repetir todos os símbolos codificados incluídos no quadro [045] Conforme descrito acima, um dispositivo de ajuste de taxa de acordo com a presente invenção pode efetuar a ajuste de taxa não somente por perfuração mas também por repetição. A descrição de um dispositivo de ajuste de taxa de acordo com a presente invenção é dividido em um dispositivo para a efetuação da ajuste de taxa por perfuração e em um dispositivo para a efetuação da ajuste de taxa por repetição . A. Modalidades do Dispositivo De ajuste de taxa por Perfuração 1. Modalidade do Dispositivo De ajuste de taxa por Perfuração (para um Código Convolutional) [046] A Figura 4 mostra a estrutura de um dispositivo de ajuste de taxa por perfuração de acordo com uma modalidade da presente invenção. Esta estrutura é empregada quando os dispositivos comparadores de taxas da Figura 2 e 3 comparam por taxa, símbolos codificados por convolução por perfuração.
[047] Com referência à Figura 4, um codificador convo-lucional 210 codifica bits de informação de entrada Ik a uma taxa de codificação R = 1/3 e emite símbolos codificados Clk, C2k e C3k. Os símbolos codificados Clk, C2k e C3k são separadamente fornecidos aos blocos de ajuste de taxa 231, 231, e 233, respectivamente. O primeiro bloco de ajuste de taxa 231 perfura o símbolo codificado Clk. Neste ponto o processo de perfuração é conduzido com base no número de símbolos perfurados y = Nc - Ni, que é determinado pelo número de símbolos de entrada Nc e pelo número de símbolos de saída Ni e pelos parâmetros 'a' e 'b' que determinam o padrão de perfuração. O primeiro bloco de ajuste de taxa 231, por exemplo, pode emitir os símbolos de ' . . . HxlOxOlx. . . ' (em que x indica um símbolo perfurado). O segundo bloco de ajuste de taxa 232 perfura o símbolo codificado C2k. Neste ponto, o processo de perfuração é conduzido com base no número de símbolos perfurados y = Nc - Ni, que é determinado pelo número de símbolo de entrada Nc e pelo número de símbolos de saída Ni e pelos parâmetros 'a' e 'b' que determinam o padrão de perfuração. O segundo bloco de ajuste de taxa 232 pode emitir os símbolos de '...llxllxlOx...' (em que x indica um símbolo perfurado). O terceiro bloco de ajuste de taxa 233 perfura o símbolo codificado C3k. Neste ponto, o processo de perfuração é conduzido com base no número de símbolos perfurados y = Nc -Ni, que é determinado pelo número de símbolos de entrada Nc e pelo número de símbolos de saída Ni e pelos parâmetros 'a' e 'b', que determinam o padrão de perfuração. O tercei- ro bloco de ajuste de taxa 233, por exemplo, pode emitir os símbolos de '...Olxllxllx...1 (em que x indica um símbolo perfurado). Os símbolos codificados com a taxa ajustada pelos blocos de ajuste de taxa 231, 232, 233 são multiplexa-dos por um multiplexador 240 (não mostrado na Figura 4) e fornecidos a um transmissor de canal.
[048] Na Figura 4, o numero de símbolo de entrada Nc e o número de símbolos de saída Ni são igualmente determinados como Nc = R x Ncs e Ni = R x Nis, respectivamente, para cada bloco de ajuste de taxa. Cada bloco de ajuste de taxa perfura separadamente o mesmo número de símbolos codificados por canal, pressupondo que a sensibilidade a erro dos símbolos codificados é praticamente a mesma para cada símbolo em um quadro. Isto é, um padrão praticamente uniforme de perfuração é proposto dentro de um quadro, independente dos diversos números de bits perfurados determinados de acordo com o tipo de serviço. Isto se deve ao fato, de ser possível, que todos os símbolos em um quadro poderem ser uniformemente perfurados pelo código convolucional.
[049] Consequentemente, de acordo com uma modalidade da presente invenção, os símbolos codificados por um codificador de convolução 210 são separados e fornecidos em mesmo número aos blocos de ajuste de taxa 231, 232 e 233. Cada um dos blocos de ajuste de taxa 231, 232 e 233 perfura o mesmo número dos símbolos de entrada. Neste ponto, os parâmetro de padrão de perfuração podem ser determinados quer igualmente quer diferentemente. Isto é, os padrões de perfuração podem ser determinados, quer de modo igual quer diferentemente dos blocos de ajuste de taxa 231, 232 e 233. 2. Uma Outra Modalidade do Dispositivo de ajuste de taxa por Perfuração (para Código Turbo) [050] A Figura 5 mostra a estrutura de um dispositivo de ajuste de taxa por perfuração de acordo com uma outra modalidade da presente invenção. Esta estrutura é usada quando os dispositivos comparadores de taxas das Figuras 2 e 3 comparam os símbolos codificados por turbo por perfuração .
[051] Com referência à Figura 5, um codificador turbo 220 codifica bits de informação de entrada Ik a uma taxa de codificação R = 1/3 e emite os símbolos codificados Clk, C2k e C3k. Dentre os símbolos codificados, o símbolo de informação Clk é fornecido separadamente a um primeiro bloco de ajuste de taxa 231 e os símbolos de paridade (ou símbolos de redundância) C2k e C3k são separadamente fornecidos ao segundo e ao terceiro blocos de ajuste de taxa 232 e 233, respectivamente. 0 codificador turbo 220 consiste em um primeiro componente codificador 222, um segundo componente codificador 224 e um intercalador 226, conforme mostrado na Figura 6. A estrutura do codificador turbo 220 é bem conhecida dos peritos na técnica. Deste modo, uma descrição detalhada será saltada. A entrada X(t) ao codificador turbo 220 corresponde aos bits Ik de informação de entrada mostrados na Figura 5. As saídas X(t), Y(t) e Y' (t) do codificador turbo 220 correspondem aos símbolos codificados Clk, C2k e C3k mostrados na Figura 5, respectivamente. Para a primeira saída do codificador turbo 220, os bits de informação de entrada Ik = X(t) são emitidos tal como estão, de modo que, na Figura 5, os bits de informação de entrada Ik sejam emitidos como Clk.
[052] O primeiro bloco de ajuste de taxa 231 perfura os símbolos codificados Clk com base nos critérios abaixo. Como a taxa de codificação é R = 1/3, o número de símbolos de entrada Nc é determinado como sendo Nc = R x Ncs = Ncs/3, que é 1/3 do número total dos símbolos codificado. O número do símbolo de saída Ni é também determinado como sendo Ni = R x Ncs, pois a perfuração não é conduzida na porção que corresponde aos símbolos de informação de acordo com a Condição 1B. Os parâmetros 'a' e ' b' de determinação de padrão de perfuração podem ser ajustados a um número inteiro, mas não tem significado, uma vez que a perfuração não é efetuada de acordo com a Condição 1B. O primeiro bloco de ajuste de taxa 231, por exemplo pode emitir os símbolos de ' . . .111101011...'.
[053] O segundo bloco de ajuste de taxa 232 perfura os símbolos codificados C2k com base nos critérios que seguem. Como a taxa de codificação é R = 1/3, o número de símbolos de entrada Nc é determinado como sendo Nc = R x Ncs = Ncs = Ncs/3, que é 1/3 do número total dos símbolos codificados. Como os símbolos de paridade de saída dos dois decodifica-dores componentes deve ser uniformemente perfurados de acordo com a Condição 2B e Condição 4B e o número total de símbolos de saída depois da perfuração é Nis para o número total de símbolos de entrada (Ncs) em um quadro, o número Ni de símbolos emitidos do segundo bloco de ajuste de taxa 232 depois da perfuração é Ni = [Nis-(R x Ncs)]/2. Se Ni=[Nis-(R x Ncs)]/2 for um número ímpar, o número de símbolos de saída se torna Ni = [Nis-(R x Ncs)+l]/2 ou [Nis-(R x Ncs)-l)]/2. Um dos dois valores é selecionado de acordo com a relação entre o segundo bloco de ajuste de taxa 232 e o terceiro bloco de ajuste de taxa 233. Isto é, quando o número de símbolos de saída do segundo bloco de ajuste de taxa 232 for determinado como sendo [Nis-(R x Ncs) + l]/2, o número de símbolos de saída do terceiro bloco de ajuste de taxa 233 será determinado como sendo [Nis- (R x Ncs -l)]/2. Por outro lado, quando o número de símbolos de saída do segundo bloco de ajuste de taxa 232 for determinado como sendo [Nis-(R x Ncs)- l]/2, o número de símbolos de saída do terceiro bloco de ajuste de taxa 233 será determinado como sendo [Nis-(R x Ncs) + l]/2.
[054] Os parâmetros 'a' e 'b' que determinam o padrão de perfuração podem ser selecionado como números inteiros de acordo com um padrão desejado de perfuração. Estes números inteiros são determinados de acordo com o padrão somente de perfuração e os parâmetro podem ser ajustados para serem b = 1 e a = 2. Uma descrição detalhada de um processo para a determinação dos números inteiros para os parâmetros que determinam o padrão de perfuração será dada com referência às tabelas que são dadas abaixo. O segundo bloco de ajuste de taxa 232, por exemplo, pode emitir os símbolos de '...llxllxlOx...' (x indicando um símbolo perfurado).
[055] O terceiro bloco de ajuste de taxa 233 perfura os símbolos codificados C3k com base nos seguintes critérios. Como a taxa de codificação é R = 1/3, o número de símbolos de entrada Nc é determinado como sendo Nc = R x Ncs = Ncs/3, que é 1/3 do número total dos símbolos de entrada (símbolos codificados). Como o total dos símbolos de paridade de saída dos dois decodificadores componentes deve ser uniformemente perfurado de acordo com a Condição 2B e a Condição 4B e o número total de símbolos de saída depois da perfuração é Nis para o total de símbolos de entrada em um quadro, o numero Ni dos símbolos emitidos do segundo bloco de ajuste de taxa 232 depois da perfuração é Ni= [Nis- (R x Ncs)]/2. Se Ni= Nis-(R x Ncs) for um número ímpar, o número de símbolos de saída se torna Ni = [Nis - (R x Ncs) + 1 ] /2 ou [Nis - (R x Ncs) - 1 ] /2. Um dos dois valores é selecionado de acordo com a relação entre o segundo bloco de ajuste de taxa 232 e o terceiro bloco de ajuste de taxa 233. Isto é, quando o número de símbolos de saída do segundo bloco de ajuste de taxa 232 for determinado como sendo [Nis - (R x Ncs) + l]/2, o número de símbolos de saída do terceiro bloco de ajuste de taxa 233 será determinado como sendo [Nis - (R x Ncs) - 1]/2. Por outro lado, quando o número de símbolos de saída do segundo bloco de ajuste de taxa 232 for determinado como sendo [Nis - (R x Ncs) - 1 ] /2, o número de símbolos de saída do terceiro bloco de ajuste de taxa 233 será determinado como sendo [Nis - (R x Ncs) + 1] /2.
[056] Os parâmetros 'a' e 'b' que determinam o padrão de perfuração podem ser selecionados como números inteiros, de acordo com um padrão de perfuração desejado. Estes números inteiros são determinados de acordo com o padrão de perfuração somente e os parâmetros podem ser ajustados para b = 1 e a = 2. Uma descrição detalhada de um processo para a determinação dos números inteiros para os parâmetros de-terminadores de padrão de perfuração será feita com referência às tabelas que são apresentadas abaixo. O terceiro bloco de ajuste de taxa 233, por exemplo, pode emitir os símbolos de ' ...Olxllxllx...' (onde x indicando um símbolo perfurado) [057] Na Figura 5, os símbolos codificados pelo codificador turbo 220 são separados e em seguida fornecidos em números iguais aos blocos de ajuste de taxa 231, 232, 233. O primeiro bloco de ajuste de taxa 231 emite os símbolos de entrada, no estado em que eles se encontram. O segundo e o terceiro blocos de ajuste de taxa 232 e 233 perfuram o mesmo número de símbolos de entrada. Neste ponto os padrões de perfuração podem ser determinado quer de modo igual quer diferente. Isto é, os padrões de perfuração podem ser determinados quer de modo igual ou diferente para os blocos de ajuste de taxa 232 e 233. 3. Determinação dos Parâmetros para Perfuração [058] Nas modalidades da presente invenção tratados aqui, os blocos de ajuste de taxa perfuram o mesmo número de símbolos (exceto o bloco de ajuste de taxa 231 da Figura 5). No entanto, os blocos de ajuste de taxa podem perfurar números diferentes de símbolos. Se o número Ni dos símbolos emitido dos respectivos blocos de ajuste de taxa for ajustado de modo diferente, o número de símbolos perfurados pelos respectivos blocos de ajuste de taxa será determinado de modo diferente. Além disso, o padrão dos símbolos perfurados pelos respectivos blocos de ajuste de taxa pode ser determinado ou de modo igual ou diferente, alterando-se os parâmetros 'a' e 'b' que determinam o padrão de perfuração. Isto é, mesmo que ele tenha uma única estrutura, o dispositivo de ajuste de taxa de acordo com a presente invenção pode determinar parâmetros tais como o número de símbolos de entrada, o número de símbolos de saida, o número de símbolos a serem perfurados e os parâmetros determinadores do padrão de perfuração de modo diferente. A Tabela 1 abaixo mostra diversos casos dos parâmetros, a título de exemplo. Neste caso, a taxa de codificação pressupõe que seja de R = 1/3. Portanto, três blocos de ajuste de taxa são providos e os blocos de ajuste de taxa respectivos recebem separadamente o mesmo número de símbolos, isto é, símbolos Nc = Ncs/3. Neste caso, os blocos de ajuste de taxa recebem separadamente o mesmo número de símbolos determinado pela multiplicação do número dos símbolos codificados pela taxa de codificação. No entanto, deve-se observar que a presente invenção pode também ser aplicada a um caso em que os blocos de ajuste de taxa recebem separadamente um número diferente de símbolos, isto é, um número de símbolos que é menor do que o número determinado pela multiplicação do número dos símbolos codificados em um quadro pela taxa de codificação ou um número de símbolos que é maior do que o número determinado pela multiplicação do número dos símbolos codificados em um quadro pela taxa de codificação. Na descrição abaixo RMBl, RMB2 e RMB3 indicam o primeiro ao terceiro blocos de ajuste de taxa, respectivamente.
[Tabela 11 i. Na Tabela 1, RMB1, RM2, RMB3 indicam os blocos de ajuste de taxa e p, q, r, s, t, w, x, y e z são números inteiros. Nos Casos 9 e 10, fl + 1 + 1 "j = 1,0. a. lp q r ) [059] Isto se deve ao fato de que Nis fl_ + _1 + _1 Ί = Nis. NA (nao b. lp q r J
[060] disponível) indica que os símbolos de entrada sâo emitidos no estado em que estão, sem perfuração, podendo para tal os parâmetros TaT e 'b' ser ajustados para qualquer valor. Neste caso, os parâmetros 'a* e ’b’ são números positivos. Além disso, é mostrado o caso em que os símbolos de entrada são perfurados para efetuar a ajuste de taxa de modo que o número dos símbolos de entrada seja maior do que o número dos símbolos de saída (isto é, Ncs > Nis). Far-se-á referência a cada Caso.
[061] Caso 1, Caso 2: No Caso 1 e no Caso 2, os símbolos em um quadro são perfurados em um padrão uniforme. Especificamente, no Caso 1 os blocos de ajuste de taxa tem o mesmo padrão de perfuração pois os parâmetros 'a' de ' b' são iguais e no caso 2, os blocos de ajuste de taxa têm padrões de perfuração diferentes pois os parâmetros 'a' e 'b' são diferentes.
[062] Caso 3: Na perfuração sistemática, os símbolos de informação não são perfurados, mas os símbolos de paridade são perfurados. Neste caso, como os valores de parâmetros 'a' e 'b' que determinam o padrão de perfuração são iguais entre si, RMB2 e RMB3 efetuam perfuração uniforme meio a meio empregando o mesmo padrão de perfuração.
[063] Caso 4: Na perfuração sistemática, os símbolos de informação não são perfurados e os símbolos de paridade são perfurados. Neste caso, como os parâmetros 'a' e 'b' que determinam o padrão de perfuração são diferentes entre si, RMB2 e RMB3 efetuam a perfuração uniforme meio a meio empregando padrões de perfuração diferentes.
[064] Caso 5: Este é um caso geral para o Caso 2. Neste caso, o parâmetro 'a' que determina o padrão de perfuração é ajustado a um número inteiro 'p' , de modo que possa ser possível se ajustar diversos padrões de perfuração. O parâmetro 'a' é ajustado ao mesmo valor tanto para RMB2 como para RMB3.
[065] Caso 6: Este é um caso geral para o Caso 4. Neste caso, o parâmetro 'a' que determina o padrão de perfuração é ajustado para os números inteiros 'p' e 'q', de modo que seja possível se ajustar a diversos padrões de perfuração. O parâmetro 'a' é ajustado para 'p' para RMB2 e para 'q' para RMB3.
[066] Caso 7: Este é um outro caso geral para o Caso 5. Neste caso o parâmetro 'a' que determina o padrão de perfuração é ajustado para um número inteiro ' p' e o parâmetro 'b' que determina o padrão de perfuração é ajustado para um numero inteiro 'q', de modo que seja possível se ajustar a diversos padrões de perfuração. Os parâmetros 'a' e 'b' são ajustados para o mesmo valor tanto para RMB2 como para RMB3.
[067] Caso 8: Este é um outro caso geral para o Caso 6. Neste caso, o parâmetro 'a' que determina o padrão de perfuração é ajustado aos números inteiros 'p' e 'r' para RMB2 e RMB3, respectivamente, e o parâmetro 'b' que determina o padrão de perfuração é ajustado para os números inteiro 'q' e 's' para RMB2 e RMB3, respectivamente, de modo que seja possível se ajustar a diversos padrões de perfuração. Os parâmetros 'a' e 'b' são ajustados a 'p' e 'q' para RMB2 e para 'r' e 's' para RMB3.
[068] Caso 9, Caso 10: Nestes casos todos os parâmetros possíveis estão alterados. Isto é, o número de símbolos de saida pode ser ajustado para qualquer número inteiro e os parâmetros 'a' e ' b' que determinam o padrão de perfuração podem também ser ajustados a quaisquer números inteiros dados .
[069] Na tabela 1, o Caso 1 e o Caso 2 podem ser apli- cados quando a ajuste de taxa é efetuada nos símbolos codificados de modo convolucional e o Caso 3 ao Caso 8 podem ser aplicados quando a ajuste de taxa é efetuada nos símbolos codificados por turbo.
[070] Pode-se fazer variar o padrão de perfuração de acordo com uma alteração no parâmetro 'a' que determina o padrão de perfuração. A Tabela 2 abaixo mostra uma variação dos padrões de perfuração de acordo com a uma alteração no parâmetro 'a'. Presume-se na Tabela 2 que Nc = 10, Ni = 8, y = Nc - Ni = 10 - 8 = 2 e b = 1. Os símbolos perfurados de acordo com o padrão de perfuração são representados por TxT . ___________[Tabela 2)_________________________________________ [071] Observe-se na Tabela 2 que é possível se obter os padrões dê perfuração diferentes ajustando-se um valor fixo de ’1’ para ’bT e ajustando-se 'a' a diferentes valores. Pode ser compreendido que o primeiro símbolo do padrão de perfuração está localizado na frente, à medida que o valor fa ’ aumenta. Naturalmente é possível se obter muitos padrões diversos de perfuração alterando-se também o parâmetro ’bT. Além disso, é possível se impedir que o primeiro símbolo seja perfurado por ajuste do parâmetro ’b’ para 1 e empregando-se um valor que satisfaça a Equação 1 abaixo para o parâmetro 1 a1 · Portanto, para satisfazer a Condição 3Β, o parâmetro 'a' deve ser ajustado para um valor dentro dos limites da Equação 1. 1 < a < L Nc/y J. . . (1) na qual L Nc/y J é o maior número inteiro inferior ou igual a Nc/y.
[072] Na Equação 1, para Nc = 10 e y = 2, Nc/y = 10/2 = 5. Portanto, se 'a' tiver um valor de 1, 2, 3 e 4, os primeiros símbolos não serão perfurados.
[073] A fim de satisfazer a condição 5B, os bits de terminação não devem ser perfurados. Para tal fim, Nc deve ser ajustado a um valor determinado por subtração do número de bits de sua extremidade. Isto é, se o número de símbolos de entrada Nc for ajustada para Nc-NT, em que NT indica o número de bits de terminação, os bits de terminação não serão perfurados, satisfazendo deste modo Condição 5B. Em outras palavras, os bits de terminação não entram no bloco de ajuste de taxa. Deste modo o padrão de ajuste de taxa somente considera o tamanho de quadro de Nc-NT. Depois da perfuração ou repetição pelo bloco de ajuste de taxa, os bits de terminação são concatenados em seqüência aos símbolos de saída do bloco de ajuste de taxa. Os bits de terminação não são processados e são somente afixados à extremidade dos símbolos de saída. 4. Algoritmo de Ajuste de taxa por perfuração [074] A Figura 7 mostra um procedimento de ajuste de taxa por perfuração de acordo com uma modalidade da presente invenção. Este procedimento é efetuado com base em um algoritmo de ajuste de taxa mostrado na Tabela 3 abaixo. Na Tabela 3, "So = {dl, d2,...,dNc}" indica os símbolos introduzidos para um bloco de ajuste de taxa, isto é os símbolos introduzidos em uma unidade de quadro para um bloco de ajuste de taxa e são constituídos por Nc símbolos ao todo. Um parâmetro de deslocamento S(k) é um valor inicial usado no algoritmo e está constantemente ajustado para '0' quando o dispositivo de ajuste de taxa de acordo com a presente invenção é usado em uma conexão descendente de um sistema de comunicação digital (isto é, quando se conduz uma ajuste de taxa nos símbolos codificados a serem transmitidos da estação base à estação móvel). "m" indica a ordem dos símbolos introduzidos para a ajuste de taxa e tem a ordem de 1, 2, 3, . .., Nc. Pode se ver na Tabela 3 que os parâmetros inclusive o número de símbolos de entrada Nc, o número de símbolos de saída Ni e os parâmetros 'a' e 'b' que determinam o padrão de perfuração podem ser alterados. Os parâmetros podem se alterados, por exemplo, conforme mostrado na Tabela 1. O número de símbolos de entrada Nc podem ser determinado como um valor diferente de Ncs/3, de acordo com a taxa de codificação R. A Figura 7 corresponde ao caso em que o algoritmo da Tabela 3 é aplicado a uma conexão descendente do sistema de comunicação digital, isto é, S (k) = 0.
[Tabela 3} [075] Quando o algoritmo da Tabela 3 é usado·, obtém-se as seguintes vantagens.
[076] Em primeiro lugar, é possível se perfurar de modo variável os símbolos codificados da unidade de quadro.
[077] Em segundo lugar, é possível se gerar diversos padrões de perfuração por ajuste dos parâmetros Nc, Ni, a e b.
[078] Em terceiro lugar, é possível se reduzir a complexidade e o tempo de cálculo de cada bloco de ajuste de taxa por 1/R. Isto se deve ao fato de que, se for usada uma multiplicidade de blocos de ajuste de taxa, o números dos símbolos a serem perfurados por cada bloco de ajuste de taxa será menor, em comparação com o caso em que é usado um bloco de ajuste de taxa.
[079] Com referência à Figura 7, na etapa 701, todos os tipos de parâmetros, inclusive o número de símbolos de entrada Nc, o número de símbolos de saída NI e os parâmetros *af e fb* que determinam o padrão de perfuração são inicia- lizados para o processo de ajuste de taxa. Quando Nc e Ni são determinados por inicialização de parâmetros, o número de símbolos a serem perfurados é determinado por y = Nc -Ni, na etapa 702. Na etapa 703, é calculado um valor 'e' de erro inicial entre as razões de repetição atual e desejada. O valor de erro inicial é determinado por e = b * Nc mod a* Nc.
[080] Em seguida, na etapa 704, 'm' indicando a ordem dos símbolos de entrada é ajustado para '1' ( m = 1) . Em seguida, nas etapas 705 a 709, os símbolos são examinados a partir do símbolo inicial para se verificar se eles devem ser perfurados ou não. Se for determinado na etapa 707 que o valor de erro ' e' calculado é menor ou igual a '0', o símbolo correspondente é perfurados e o valor de erro é atualizado por e = e + a*Nc, na etapa 708. Caso contrário, se for determinado na etapa 707 que o valor de erro calculado 'e' é maior do que '0', não se efetua a perfuração. A operação do recebimento dos símbolos codificados em ordem, determinando se efetua ou não a perfuração nos símbolos recebidos e efetuando-se a perfuração de acordo com o caso, é repetidamente efetuada até que seja determinado na etapa 705 que todos os símbolos em um quadro forma completamente recebidos.
[081] Conforme mostrado pelo algoritmo acima, a posição do primeiro símbolo a ser perfurado ou repetido é controlada pelos parâmetros (a, b) (seja Deslocamento_Inicial_m = a posição do primeiro símbolo a ser perfurado). No algoritmo, Deslocamento_Inicial_m = 'm' quando 'e' < 0 pela primeira vez. A tabela abaixo mostra um exemplo de determinação de Deslocamento_Inicial_m. No exemplo abaixo pressupõe-se que bNc é menor do que aNc. "Deslocamento_Inicial_m = k = 4" [082] Nas equações abaixo, Ppnc significa o período de perfuração ou repetição no algoritmo acima Deslocamento_Inicial_m = íbNc/ayl = Γ(b/a)*(Nc/y)1 = Γ (b/a) *Ppncl Ppnc = ÍNc/yl se Nc/y for um número inteiro = ÍNc/yl ±1 se Nc/y não for um número inteiro [083] Conforme se pode ver nas equações acima, controlando-se os parâmetros (a,b), a posição do primeiro símbolo a ser perfurado ou repetido pode ser controlada.
[084] O valor de Deslocamento_Inical_m é reduzido a medida que ’a’ aumenta se ' b' continuar constante. Deste modo, aumentando-se 'a', empurra-se a posição do primeiro símbolo a ser perfurado/repetido mais perto da primeira posição·. Se 'a' for escolhido como sendo maior que by/Nc, então· Deslocamento_Inicial_m = 1, que significa que o primeiro símbolo será perfurado ou repetido. Como resultado, a posição do· primeiro símbolo a ser perfurado/repetido pode ser manipulada escolhendo-se um valor para ' aT entre 1 e Ppnc. Se 'b' =le 'a' = 2, a posição do primeiro símbolo a ser perfurado/repetido será sempre igual a Ppnc/2.
[085] Quanto ao parâmetro 'b', ele controla o Desloca-mento_Inicial_m juntamente com 'a' e conforme mostrado abaixo, quando o valor de 'a' tiver sido decidido o valor de 'b' pode ser expresso como 1 <'b' < 'a'. Se 'a' permanecer constante, Deslocamento_Inicial_m aumentará se 'b' aumentar e diminuirá se 'b' diminuir. Deste modo as posição de perfuração/repetição podem ser controladas pela manipulação dos valores dos parâmetros (a, b). Embora o valor de "b' possa ser qualquer, não tem sentido se escolher um valor de 'b' acima de 'a', conforme mostrado, pois o valor inicial de 'e' se torna cíclico quando o valor de 'b' se torna maior do que 'a' (isto é, o valor de 'e' se repete).
Seja 'a' = 3; o valor inicial de e = (2*S(k)*y + bNc) mod aNc; e = bNc mod aNc uma vez que S (i) = 0 na conexão descendente; se b = 1, então e = Nc se b = 2, então e = 2Nc; se b = 3, então e = 3Nc; se b = 4, então e = Nc; se b = 5, então e = 2Nc; se b = 6, então e = 3Nc;
[086] Conforme evidenciado pelo exemplo acima, o valor inicial de 'e' se altera à medida que o valor de ' b' se altera. No entanto, quando o valor de 'b' se torna maior do que 'a', o valor inicial de 'e' se repete ciclicamente. Deste modo, não tem sentido se atribuir um valor acima de 'a' a 'b'. Concluindo, o padrão de perfuração ou repetição pode ser controlado manipulando-se os parâmetros (a, b). B. Modalidades do Dispositivo De ajuste de taxa por Repetição 1. Modalidade do Dispositivo De ajuste de taxa por Repetição (para um Código Convolucional) [087] A Figura 9 mostra uma estrutura de um dispositivo de ajuste de taxa por repetição de acordo com uma modalidade da presente invenção. Esta estrutura é usada quando os dispositivos comparadores de taxas da Figura 2 e 3 comparam por taxa símbolos codificados por meio convolucional por repetição.
[088] Com referência à Figura 9, um codificador convolucional 210 codifica bits de informação de entrada Ik a uma taxa de codificação R = 1/3 e emite símbolos codificados Clk, C2k e C3k. Os símbolos codificados Clk, C2k e C3k são separadamente fornecidos aos blocos de ajuste de taxa 231, 232 e 233 respectivamente. O primeiro bloco de ajuste de taxa 231 repete seletivamente o símbolo codificado Clk. Neste ponto, o processo de repetição é conduzido com base no número de símbolos de repetição y = Ni-Nc determinado pelo número de símbolos de entrada Nc e pelo número de símbolos de saída Ni e pelos parâmetros 'a' e 'b' que determinam o padrão de repetição. O primeiro bloco de ajuste de taxa 231, por exemplo, pode emitir os símbolos de '...11(11)101(00)010...' (em que (11) e (00) indicam símbolos repetidos).
[089] O segundo bloco de ajuste de taxa 232 repete seletivamente o símbolo codificado C2k. Neste ponto, o processo de repetição é conduzido com base no número de símbo- los de repetição y = Ni - Nc determinado pelo número de símbolos de entrada Nc e pelo número de símbolos de saída Ni e pelos parâmetros 'a' e ' b' que determinam o padrão de repetição. 0 segundo bloco de ajuste de taxa 232, por exemplo, pode emitir os símbolos de '...(11)01(00)1100...' (em que (11) e (00) indicam símbolos repetidos).
[090] O terceiro bloco de ajuste de taxa 233 repete o símbolo codificado C3k. Neste ponto, o processo de repetição é conduzido com base no número de símbolos de repetição y = Ni - Nc determinado pelo número de símbolos de entrada Nc e pelo número de símbolos de saída Ni e pelos parâmetros 'a' e 'b' que determinam o padrão de repetição. O terceiro bloco de ajuste de taxa 233, por exemplo, pode emitir os símbolos de '...0(11)1101(11)...' (em que (11) indica símbolos repetidos). Os símbolos codificados com a taxa ajustada pelos blocos de ajuste de taxa 231, 232, 233 são mul-tiplexados por um multiplexador 240 e fornecidos ao transmissor de canal.
[091] Na Figura 9, o número de símbolos de entrada Nc e o número de símbolos de saída Ni são determinados do mesmo modo como sendo Nc = R x Ncs e Ni = R x Nis, respectivamente, para cada bloco de ajuste de taxa. Foi determinado que cada bloco de ajuste de taxa separadamente repete o mesmo número dos símbolos codificados por canal, pressupondo-se que a sensibilidade a erro dos símbolos codificados é praticamente a mesma para cada símbolo em um quadro. Isto é, um padrão de repetição praticamente uniforme é provido dentro de um quadro, independente dos números de bits de repetição variados (y = Ni - Nc) determinados de acordo com o tipo de serviço. Isto se deve ao fato de que é possível os símbolos totais em um quadro podem serem uniformemente repetidos pelo código convolucional.
[092] Portanto, de acordo com a modalidade da presente invenção, os símbolos codificados pelo codificador convolucional 210 são separados pelo mesmo número e fornecidos aos blocos de ajuste de taxa 231, 232 e 233. Cada um dos blocos de ajuste de taxa 231, 232 e 233 repete o mesmo número de símbolos de entrada. Neste ponto, os parâmetros de padrão de repetição podem ser determinados ou do mesmo modo ou de modos diferentes. Isto é, os padrões de repetição podem ser determinados de modo igual ou diferente para os blocos de ajuste de taxa 231, 231 e 233. 2. Outra Modalidade de um Dispositivo de Ajuste de taxa por Repetição (para um Código turbo) [093] A Figura 10 mostra a estrutura de um dispositivo de ajuste de taxa por repetição de acordo com uma outra modalidade da presente invenção. Esta estrutura é usada quando os dispositivos comparadores de taxas das Figuras 2 e 3 comparam por taxa os símbolos codificados por turbo por repetição .
[094] Com referência à Figura 10, um codificador turbo 220 codifica bits de informações de entrada Ik a uma taxa de codificação R = 1/3 e emite os símbolos codificados Clk, C2k, C3k. Dentre os símbolos codificados, o símbolo de informação Clk é fornecido separadamente a um primeiro bloco de ajuste de taxa 231 e os símbolos de paridade (ou símbolos de redundância) C2k e C3k são separadamente fornecidos ao segundo e ao terceiro blocos de ajuste de taxa 232 e 233, respectivamente. O codificador turbo 220 é constituído por um primeiro codificador componente 222, um segundo co- dificador componente 224 e um intercalador 226 conforme mostrado na Figura 6. Os codificadores componentes 222 e 223 podem empregar códigos sistemáticos recursivos (RSC). A estrutura do codificador turbo 220 é bem conhecida dos peritos na técnica. Deste modo dispensa-se uma descrição detalhada. A entrada X(t) para o codificador turbo 220 corresponde aos bits de informação de entrada Ik mostrados na Figura 10. As saidas X(t), Y (t) e Y' (t) do codificador turbo 220 correspondem aos símbolos codificados Clk, C2k e C3k mostrados na Figura 10, respectivamente. Para a primeira saída do codificador turbo 220, os bits de informação de entrada Ik são emitidos no estado em que se encontram de modo que os bits de informação de entrada Ik são emitidos como Clk na Figura 10.
[095] O primeiro bloco de ajuste de taxa 231 repete os símbolos codificados Clk com base nos critérios abaixo. Como a taxa de codificação é R = 1/3, o número de símbolos de entrada Nc é determinado como sendo Nc = R x Ncs = Ncs/3, o que corresponde a 1/3 do número total de símbolos de entrada (símbolo codificado). O número de símbolos de saída Ni é determinado como sendo Ni = Nis- (2R x Ncs) , uma vez que a repetição deve ser efetuada de acordo com a Condição 1D. Os parâmetros 'a' e 'b' que determinam o padrão de repetição podem ser ajustados a números inteiros dados, de acordo com a um padrão de repetição desejado. Os números inteiros são determinados dependendo do padrão de repetição somente e os parâmetros podem ser tipicamente ajustados para b = 1 e a = 2. Uma descrição detalhada de um processo para a determinação dos números inteiros para os parâmetros que determinam o padrão de repetição será dada com referência às tabelas abaixo. 0 primeiro bloco de ajuste de taxa 231, por exemplo, pode emitir os símbolos de '...1(11)101(00)11...' (em que (11) e (00) indicam símbolos repetidos).
[096] O segundo bloco de ajuste de taxa 232 emite os símbolos codificados C2k sem repetição. No entanto, o segundo bloco de ajuste de taxa 232 pode repetir os símbolos codificados C2k em determinadas condições tais como repetição grave. Como a taxa de codificação é R = 1/3, o número de símbolos de entrada Nc é determinado como sendo Nc = R x Ncs = Ncs/3, que corresponde a 1/3 do número total dos símbolos de entrada. O número de símbolos de saída Ni é determinado como sendo Ni = R x Ncs que é igual ao número de símbolos de entrada, uma vez que os dois tipos de símbolos de paridade não devem ser repetidos de acordo com a Condição 2D e a Condição 4D. O segundo bloco de ajuste de taxa 232, por exemplo, pode emitir os símbolos de '...110111101...' onde não há repetição.
[097] O terceiro bloco de ajuste de taxa 233 emite os símbolos codificados C3k sem repetição. No entanto, o terceiro bloco de ajuste de taxa 233 pode também repetir os símbolos codificados C3k sob grave repetição. Como a taxa de codificação é R = 1/3, o número de símbolos de entrada Nc é determinado como sendo Nc = R x Ncs = Ncs/3, que corresponde a 1/3 do número total de símbolos de entrada. O número de símbolos de saída Ni é determinado como sendo Ni = R x Ncs que é igual ao número de símbolos de entrada, uma vez que os dois tipos de símbolos de paridade não devem ser repetidos de acordo com a Condição 2D e a Condição 4D. Os parâmetros 'a' e 'b' que determinam o padrão de repetição podem ser ajustados para dados números inteiros de acordo com um padrão de repetição desejado. No entanto, se os blocos 232 e 233 não usarem repetição, então os parâmetros (a, b) não têm significado para os blocos de ajuste de taxa 232 ou 233. Os números inteiros são determinados dependendo do padrão de repetição somente e os parâmetros podem ser tipicamente ajustados para b = 1 e a = 2. Uma descrição detalhada de um processo para a determinação dos números inteiros para os parâmetros que determinam o padrão de repetição será dada com referência às tabelas abaixo. 0 terceiro bloco de ajuste de taxa 233, por exemplo, pode emitir os símbolos de '...01011010...' que não sofreram repetição.
[098] Na Figura 10, os símbolos codificados pelo codificador turbo 220 são separados no mesmo número e então fornecidos aos blocos de ajuste de taxa 231, 232, e 233. O primeiro bloco de ajuste de taxa 231 recebe os símbolos de informação dos símbolos codificados e repete os símbolos recebidos de acordo com um padrão de repetição predeterminado. . O segundo e o terceiro blocos de ajuste de taxa 232 e 233 recebem os símbolos de paridade dos símbolos codificados e emitem os símbolos recebidos no estado em que se encontram, sem repetição. 3. Determinação dos Parâmetros para Repetição [099] Conforme descrito acima, os padrões de repetição usados para os blocos de ajuste de taxa respectivos podem ser idênticos ou diferentes. Isto é, o padrão de repetição de símbolos usado nos blocos de ajuste de taxa respectivos e o número de símbolos repetidos podem ser determinados de modo variável. Se o número Ni dos símbolos emitidos dos blocos de ajuste de taxa respectivos é ajustado de modo diferente, o número de símbolos repetidos pelos blocos de ajuste de taxa respectivos pode ser determinado de outro modo. Além disso, o padrão dos símbolos repetidos pelos blocos de ajuste de taxa respectivos pode ser determinado ou de modo igual ou diferente, alterando-se os parâmetros 'a' e 'b' que determinam o padrão de repetição. Isto é, mesmo que tenha uma única estrutura, o dispositivo de ajuste de taxa de acordo com a presente invenção pode determinar de modo diferente os parâmetros tais como o número de símbolos de entrada, o número de símbolos de saída o número dos símbolos a serem repetidos e os parâmetros que determinam o padrão de repetição.
[0100] A Tabela 4 abaixo mostra diversos casos de parâmetros, a título de exemplo. Neste caso, pressupõe-se que a taxa de codificação seja R = 1/3. Portanto, são providos três blocos de ajuste de taxa e os blocos de ajuste de taxa respectivos recebem separadamente o mesmo número de símbolos, isto é, Nc = Ncs/3 símbolos. Neste caso, os blocos de ajuste de taxa recebem separadamente o mesmo número de símbolos, determinado pela multiplicação do número dos símbolos codificados pela taxa de codificação. No entanto, deve ser observado que a presente invenção pode também ser aplicada a um caso em que os blocos de ajuste de taxa recebem separadamente um número diferente de símbolos, isto é, um número de símbolos menor do que o número determinado pela multiplicação do número dos símbolos codificados em um quadro pela taxa de codificação ou um número de símbolos que é maior do que o número determinado pela multiplicação do número de símbolos codificados em um quadro pela taxa de codificação. Na descrição abaixo RMBl, RMB2 e RMB3 indicam o primeiro a terceiro blocos de ajuste de taxa, respectivamente .
Tabela 4 [0101] Na Tabela 4, RMBl, RMB2 e RMB3 indicam blocos de ajuste de taxa e p, q, r, s, t, w e x sâo números inteiros dados, NA (não disponível) indica que os símbolos de entrada sâo emitidos no estados em que se encontram, sem repetição, para os quais os parâmetros 'a’ e ’ bT podem ser ajustados para qualquer valor. Neste caso, os parâmetros TaT e 1 b’ são números positivos. Além disso, é mostrado o caso em que os símbolos de entrada são repetidos para efetuar a ajuste de taxa de modo que o número dos símbolos de entrada é menor ou igual ao número do símbolos de saída (i.e., Ncs <= Nis). Far-se-á referência a cada Caso.
[0102] Caso 1: Em repetição sistemática, os símbolos de informação sâo repetidos, mas os símbolos de parida- de não sâo repetidos. Os parâmetros que determinam o padrão de repetição são ajustados para a = 2 e b = 1.
[0103] Caso 2: Na repetição sistemática, os símbolos de informação são repetidos mas os símbolos de paridade não são repetidos. Os parâmetros que determinam o padrão de repetição são ajustados para a = p e b = q.
[0104] O Caso 1 e o Caso 2 podem ser aplicados somente quando símbolos de informação codificados por turbo são repetidos conforme mostrado na Figura 10, [0105] Caso 3: Tanto os símbolos de informação como os símbolos de paridade são repetidos e os padrões de repetição sâo igualmente determinados para todos os RMB 1, RMB2 e RMB3. O número de símbolos repetidos é igual para RMB1, RMB2 e RMB3.
[0106] Caso 4: Tanto os símbolos de informação como os símbolos de paridade são repetidos e os padrões de repetição são determinados de modo diferente para todos ou alguns de RMBl, RMB2 e RMB3. O número de símbolos repetidos é igual para RMB2 e RMB3.
[0107] A Tabela 5 abaixo mostra a variação em padrões de repetição de acordo com uma alteração no parâmetro TaT. Fica pressuposto na Tabela 5 que Nc = 8, Ni = 10, y = Ni - Nc = 10 - 8 = 2 e b = 1. Os símbolos repetidos de acordo com o padrão de repetição são representados por f f - [Tabela 5] [0108] Pode se observar da Tabela 5 que é possível se obter os diversos padrões de repetição dando-se a 'b1 um valor fixo *1* e ajustando-se 'a' a diferentes valores. Wa-turalmente, é possível se obter muitas padrões de repetição diversos alterando-se o parâmetro ’b’ também. Além disso, é possível sempre repetir o primeiro símbolo ajustando-se o parâmetro *b* para 1 e usando-se um valor que satisfaça a Equação 2 abaixo para o parâmetro 'a'. Portanto, para satisfazer a Condição 3D, o parâmetro ’ a' deve ser ajustado a um valor dentro dos limites da Equação 2. a > ÍNc/yJ---(2) na qual [_Nc/yJ é o maior número inteiro inferior ou igual a Nc/y.
[0109] Na Equação 2, para Nc = 8 e y = 2, Nc/y = 8/2 = 4. Portanto, se 'a' tem um valor maior do que 4, o primeiros símbolos serão repetidos.
[0110] A fim de satisfazer a Condição 5D, os bits de terminação devem ser repetidos. Para tal fim, Nc deve ser ajustado a ura valor determinado por adição do numero de bits de terminação a ele. Isto é, se o número de símbolos de entrada Nc for ajustado para Nc + NT, em que NT indica o número de bits de terminação, os bits de terminação para os símbolos de informação serão sempre repetidos, satisfazendo assim a Condição SD. Em outras palavras, para repetição, até mesmo os bits de terminação são· lançados no bloco de ajuste de taxa e considerados para repetição. 4. Algoritmo de Ajuste de taxa por Repetição [0111] A Figura 11 mostra um procedimento de ajus- te de taxa por repetição de acordo com uma modalidade da presente invenção. Este procedimento é conduzido com base em um algoritmo de ajuste de taxa mostrado na Tabela 6 abaixo. Na Tabela 5, "So = {dl, d2, dNc) indica os simbolos introduzidos para um bloco de ajuste de taxa, isto é os simbolos introduzidos em uma unidade de quadro para a ajuste de taxa, isto é, os símbolos introduzidos em uma unidade de quadro para a ajuste de taxa e são constituídos por Nc simbolos ao todo. Um parâmetro de deslocamento $ (k) é um valor inicial usado no algoritmo e está constantemente ajustado para T 01 quando o dispositivo de ajuste de taxa de acordo com a presente invenção é usado em uma conexão descendente de um sistema de comunicação digital {isto é, quando se conduz uma ajuste de taxa nos símbolos codificados a serem transmitidos da estação base à estação móvel). HmH indica a ordem dos símbolos introduzidos para a ajuste de taxa e tem a ordem de 1, 2, 3, . . ., Nc. Pode se ver na Tabela 6 que os parâmetros inclusive o número de símbolos de entrada Nc, o número de simbolos de saída Ni e os parâmetros ’a’ e 'b' que determinam o padrão de repetição podem ser alterados. Os parâmetros podem ser alterados, por exemplo, conforme mostrado na Tabela O número de símbolos de entrada Nc podem ser determinado como um valor diferente de Ncs/3, de acordo com a taxa de codificação R. A Figura 11 corresponde ao caso em que o algoritmo da Tabela 6 é aplicado a uma conexão descendente do sistema de comunicação digital, isto é, S (k) = 0.
[Tabela 6J
[0112] Quando é usado o algoritmo da Tabela 6, obtém-se as seguintes vantagens.
[0113] Em primeiro lugar, é possível se repetir de modo variável os símbolos codificados {ou símbolos de palavra de código) da unidade de quadro.
[0114] Em segundo lugar, é possível se gerar diversos padrões de repetição por ajuste dos parâmetros Nc, Ni, a e b.
[0115] Em terceiro lugar, é possível se reduzir a complexidade e o tempo de cálculo de cada bloco de ajuste de taxa por 1/R. Isto se deve ao fato de que, se for usada uma multiplicidade de blocos de ajuste de taxa, o número dos símbolos a serem repetidos por cada bloco de ajuste de taxa será menor, em comparação com o caso em que é usado um bloco de ajuste de taxa. 0 número de símbolos que pode ser repetido por cada bloco de ajuste de taxa, por exemplo, pode ser reduzido da taxa de codificação R, em comparação como o caso em que é usado um bloco de ajuste de taxa.
[0116] Com referência à Figura 11, na etapa 1101, todos os tipos de parâmetros, inclusive o número de símbolos de entrada Nc, o número de símbolos de saída Ni e os parâmetros 'a' e 'b' que determinam o padrão de repetição são inicializados para o processo de ajuste de taxa. Quando Nc e Ni são determinados por inicialização de parâmetros, o número de símbolos a serem repetidos é determinado por y = Ni - Nc, na etapa 1102. Na etapa 1103, é calculado um valor 'e' de erro inicial entre razões de repetição atual e desejada. O valor de erro inicial é determinado por e = b * Nc mod a* Nc.
[0117] Em seguida, na etapa 1104, 'm' indicando a ordem dos símbolos de entrada é ajustado para '1' ( m = 1). Em seguida, nas etapas 1105 a 1109, os símbolos são examinados a partir do símbolo inicial para se verificar se eles devem ser repetidos ou não. Se for determinado na etapa 1107 que o valor de erro 'e' calculado é menor ou igual a '0', o símbolo correspondente é repetido e o valor de erro é atualizado por e = e + a*Nc, na etapa 1108. Caso contrário, se for determinado na etapa 1107 que o valor de erro calculado ' e' é maior do que '0', não se efetua a repetição. A operação do recebimento dos símbolos codificados em ordem, determinando se efetua ou não a repetição nos símbolos recebidos e efetuando-se a repetição de acordo com o caso, é repetidamente efetuada até ser determinado na etapa 1105 que todos os símbolos em um quadro foram completamente recebidos. Durante o processo de repetição, o valor de erro é atualizado de e = e-a*y na etapa 1106 [0118] Tal como foi descrito acima, o sistema de comunicação de dados de acordo com a presente invenção pode conduzir a ajuste de taxa tanto em símbolos codificados por canal com um código não sistemático como em símbolos codificados por canal com um código sistemático, empregando uma única estrutura. Portanto, o sistema de comunicação de dados que dá suporte tanto a códigos não sistemáticos como a códigos sistemáticos pode ajustar a taxa seletivamente símbolos codificados por canal com um código não sistemáticos ou símbolos codificados por canal com um código sistemático, aumentando deste modo a eficiência de transmissão de dados e melhorando o desempenho do sistema.
[0119] A presente invenção tem as seguintes vantagens .
[0120] Em primeiro lugar é possível se ajustar livremente os padrões de perfuração/repetição por ajuste de parâmetros dos blocos de ajuste de taxa e todas as condições que devem ser consideradas quando a comparação por taxa dos símbolos codificados por turbo pode ser satisfeita por um simples ajuste dos parâmetros.
[0121] Em segundo lugar, é possível se implementar todos os blocos de ajuste de taxa de acordo com a taxa de codificação R empregando-se o mesmo algoritmo e os blocos de ajuste de taxa são de estrutura simples.
[0122] Em terceiro lugar, um sistema que usa tanto códigos convolucionais como códigos turbo pode dar suporte tanto a códigos convolucionais como a códigos turbo, empregando um dispositivo de ajuste de taxa único e não diferentes dispositivos comparadores de taxas por um simples ajuste dos diferentes parâmetros iniciais.
[0123] Em quarto lugar, não é necessário se implementar os blocos de ajuste de taxa de modo diferente de acordo com um código convolucional ou um código turbo [0124] Em quinto lugar, ajustando-se o número de símbolos de entrada a um valor determinado pela adição do número de bits de terminação deles de modo que os bits de terminação sejam repetidos, o dispositivo de ajuste de taxa inédito é útil quando se usa um decodificador SOVA ou quando o desempenho seria degradado devido à não repetição dos bits de terminação. Ajustando-se o número de símbolos de entrada a um valor determinado por adição do número dos bits de terminação ao número de bits não de extremidade, de modo que os bits de terminação sejam repetidos, o dispositivo de ajuste de taxa inédito é útil quando um decodificador SOVA é usado ou quando o desempenho seria degradado devido à não repetição dos bits de terminação. Ajustando-se o número de símbolos de entrada a um valor determinado por adição do número de bits de terminação deles, de modo que os bits de terminação sejam repetidos, o dispositivo de ajuste de taxa inédito é útil quando se usa um decodificador SOVA ou quando o desempenho seria degradado devido à não repetição dos bits de terminação.
[0125] Em sexto lugar, por ajuste do parâmetro 'b' que determina o padrão de perfuração a '1' e por ajuste do parâmetro 'a' a um valor dentro de uma faixa especifica, é possível se impedir que o primeiro símbolo em um quadro seja perfurado. Além disso, é possível se repetir o primeiro símbolo em um quadro por ajuste do parâmetro determinador de padrão de repetição 'b' a '1' e por ajuste do parâmetro 'a' a um valor dentro de uma faixa específica.
[0126] Embora a invenção tenha sido mostrada e descrita, fazendo-se referência a determinadas modalidades preferidas dela, deve ficar subentendido aos peritos na técnica que diversas alterações em forma e detalhes podem ser introduzidas nela sem que haja afastamento do espírito e âmbito da invenção conforme definida nas reivindicações apensas.
REIVINDICAÇÕES