BRPI0815159B1 - Método de transmissão dados em sistema de acesso sem fio - Google Patents

Método de transmissão dados em sistema de acesso sem fio Download PDF

Info

Publication number
BRPI0815159B1
BRPI0815159B1 BRPI0815159-8A BRPI0815159A BRPI0815159B1 BR PI0815159 B1 BRPI0815159 B1 BR PI0815159B1 BR PI0815159 A BRPI0815159 A BR PI0815159A BR PI0815159 B1 BRPI0815159 B1 BR PI0815159B1
Authority
BR
Brazil
Prior art keywords
size
code
code blocks
block
blocks
Prior art date
Application number
BRPI0815159-8A
Other languages
English (en)
Inventor
Seung Hyun Kang
Young Seob Lee
Kim Hwan Kim
Original Assignee
Lg Electronics, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020070120389A external-priority patent/KR20090017382A/ko
Application filed by Lg Electronics, Inc. filed Critical Lg Electronics, Inc.
Publication of BRPI0815159A2 publication Critical patent/BRPI0815159A2/pt
Publication of BRPI0815159B1 publication Critical patent/BRPI0815159B1/pt

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • H03M13/091Parallel or block-wise CRC computation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0064Concatenated codes
    • H04L1/0065Serial concatenated codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0083Formatting with frames or packets; Protocol or part of protocol for error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes

Abstract

método de transmissão de dados em sistema de acesso sem fio um método de transmissão de dados em um sistema de acesso sem fio é divulgado. o método inclui vários processos de obtenção do número de blocos de código em consideração a um código de detecção de erro que deve ser anexado a cada bloco de código, calculando o tamanho dos blocos de código, segmentando os dados de entrada e codificando por canal os blocos de código, assim eficientemente transmitindo os dados.

Description

MÉTODO DE TRANSMISSÃO DADOS EM SISTEMA DE ACESSO SEM FIO CAMPO TÉCNICO
A presente invenção refere a um método de transmissão de dados em um sistema de acesso sem fio, e mais particularmente, aos vários métodos de divisão de dados de entrada em blocos de código em consideração do tamanho de um código de detecção de erro.
FUNDAMENTOS DA TÉCNICA
Na transmissão dos dados, a eficiência de transmissão de dados e a transmissão de dados confiável são importantes. Para aumentar a eficiência de transmissão de dados, os métodos de divisão de dados antes da transmissão e os métodos usando um código de detecção de erros para verificar se os dados contêm um erro geralmente são usados.
Controle de erro refere-se a um mecanismo para detectar e corrigir os erros gerados durante a transmissão de dados.
Esquemas de controle de erro incluem um esquema de pedido automático de repetição (ARQ), um esquema de correção adiantada de erros (FEC), e um esquema de correção de erros em sentido reverso (BEC).
O esquema de ARQ permite, para uma transmissão de dados confiável em uma linha de comunicação, que um lado de recebimento verifique se um erro ocorre por meio de um sinal de confirmação (ACK) e o tempo limite e permite que um lado de transmissão retransmita um quadro em que ocorreu um erro. O esquema ARQ, que é chamado de um esquema de solicitação automática de retransmissão, permite que um lado receptor detecte um erro e solicite a retransmissão de dados. No esquema FEC, um lado de transmissão acrescenta redundância para os caracteres ou quadros antes da transmissão e um lado que recebe detecta e corrige erros usando a redundância. O esquema BEC acrescenta redundância para detecção de erros e transmite um sinal de ARQ para a retransmissão de dados para um lado de transmissão.
Detecção de erro refere-se a uma técnica para permitir que um lado de recebimento reconheça se um erro ocorreu durante a transmissão. Um código de detecção de erro se refere a um código de suporte da técnica de detecção de erros. Técnicas de detecção de erro incluem verificação de paridade, soma de verificação, verificação de redundância cíclica (CRC), e técnicas de código ponderado. Correção de erro refere-se a uma técnica de codificação, incluindo redundância suficiente em um bloco de dados transmitidos de tal forma que um lado de recebimento pode-se inferir caracteres de transmissão do bloco de dados recebidos. Em termos de um modelo de camadas de uma interconexão de sistema aberto (OSI), a correção de erro é implementada principalmente em uma camada de ligação de dados. Enquanto isso, a detecção de erro refere-se a uma técnica de codificação em que a redundância é adicionada de modo que o lado receptor pode detectar a ocorrência de um erro e fazer um pedido de retransmissão.
A correção de erro inclui um esquema de código de bloco em que um comprimento prescrito de redundância é adicionado a um comprimento predeterminado de informação (sinal) de modo que um lado de recebimento pode corrigir erros e um esquema de código convolucional em que um codificador tem uma memória de uso, durante a codificação, uma parte dos anteriores sinais de entrada, além de sinais de entrada atuais.
Um código de bloco inclui códigos de Hamming, códigos Reed-Solomon como códigos cíclicos, códigos Bose-Chaudhuri-Hocquenghem (BCH), e códigos de verificação de redundância cíclica (CRC). Um código de convolução inclui códigos Viterbi e códigos turbo.
A verificação de paridade é mais geralmente usada quando o número de bits de informações é pequeno e a probabilidade de geração de erro é baixa. Embora a verificação de paridade seja amplamente utilizada na comunicação assíncrona, devido à simplicidade da mesma, é difícil detectar erros quando o número de erros é um número par. A verificação de paridade inclui uma verificação de paridade ímpar em que o número de l's em caracteres codificando bits de paridade é definido para um número ímpar e de uma verificação de paridade par em que o número de l's em caracteres codificando bits de paridade é definido para um número par.
O CRC, que é um dos métodos de detecção de erro, refere-se a uma técnica em que um lado de transmissão adiciona um resultado extraído por um polinômio a partir de dados transmitidos para uma seqüência de verificação de quadro (FCS) e transmite o campo anexo e um lado receptor verifica os erros confirmando se o resultado extraído é idêntico com um resultado extraído realizado pelo mesmo método no lado receptor. O CRC é poderoso e uma configuração de hardware dele é simples. O restante obtido dividindo-se um quadro de dados original, que deve ser transmitido pelo lado transmissor por um polinômio gerador de CRC é o FCS. O polinômio gerador de CRC, que é um divisor para divisão, é necessário para gerar o FCS. O FCS é anexado em uma extremidade do quadro de dados original de modo que um quadro de resultado (adicionando o FCS com os dados originais) pode ser dividido com precisão por um polinômio pré-definido. Ou seja, o FCS calculado para o quadro de dados original é anexado em uma extremidade do quadro. Aqui, o polinômio predefinido é referido como o divisor ou polinômio de CRC.
Um lado receptor realiza CRC depois de receber o quadro de resultado. O lado receptor verifica um lembrete dividindo um quadro de dados recebidos pelo mesmo polinômio de CRC utilizado durante a transmissão. O lado receptor detecta erros verificando se um restante obtidas através da divisão de dados transmitidos juntamente com a redundância por dados originais é 0. Se o restante não for 0, é determinado que ocorreu um erro durante a transmissão.
DIVULGAÇÃO PROBLEMA TÉCNICO
Em um método geralmente usado de anexação de CRC e método de segmentação de blocos de dados, um código de CRC é anexado em um bloco de dados e, em seguida, o bloco de dados é segmentado, transmitindo assim o bloco de dados na forma de blocos de código. Neste caso, um lado receptor recebe todos os blocos segmentados e seqüencialmente combina os blocos de código. O lado receptor pode determinar se o bloco de dados restaurado contém erros através de CRC. Portanto, já que uma determinação se o bloco de dados restaurado contém erros é feita depois que todos os blocos de código são seqüencialmente restaurados, os erros não podem ser detectados rapidamente.
Além disso, se um erro está presente em qualquer local do bloco de dados recebido, um processo de restauração de erro realizado pelo lado receptor torna-se complicado, pois o número de blocos de código é maior.
Além disso, um código de CRC ligado em cada bloco de código deve ser considerado para o cálculo do número e tamanho dos blocos de código. No entanto, um método de cálculo do número e tamanho dos blocos de código por uma unidade de segmentação de bloco geralmente usada não considera que o código de CRC é anexado em cada bloco de código.
A presente invenção concebida para resolver estes problemas fornece um método eficiente de transmissão de dados.
Um objeto da presente invenção é fornecer vários métodos de segmentação de um bloco de dados, considerando o tamanho de um código de detecção de erro anexado em cada bloco de código.
Outro objeto da presente invenção é fornecer vários métodos de calcular o número de blocos de código.
Ainda outro objeto da presente invenção é fornecer vários métodos de alocação de dados em consideração do número e tamanho dos blocos de código e / ou o tamanho dos códigos de detecção de erros.
Outro objeto da presente invenção é fornecer um método eficiente de transmissão de dados com base nos objetos acima.
SOLUÇÃO TÉCNICA
A presente invenção descreve modalidades exemplares para segmentação de um bloco de dados em um sistema de acesso sem fio. A presente invenção também descreve um método de segmentação de um bloco de dados em consideração do tamanho de um código de detecção de erro e um método de anexação do código de detecção de erro em blocos de código.
De acordo com um aspecto da presente invenção, um método de transmissão de dados em um sistema de acesso sem fio inclui: geração de uma seqüência de bits de entrada, por meio da anexação de um primeiro código de detecção de erro nos dados, se o tamanho B da seqüência de bits de entrada é maior do que o tamanho Z máximo de blocos de código, calcular o número de C dos blocos de código, usando o tamanho B da seqüência de bits de entrada, o tamanho máximo de Z dos blocos de código, e o tamanho de L de um segundo código de detecção de erros que deve ser anexado em cada um dos blocos de código; calcular B' como tamanho da seqüência modificada de bit de entrada, usando o número C dos blocos de código, o tamanho L do segundo código de detecção de erro, e o tamanho B da seqüência de bits de entrada; obter o tamanho K dos blocos de código a partir de valores pré-definidos, com base em um valor obtido pela divisão do tamanho de B' da seqüência de bit de entrada modificada pelo número C de blocos de código, - segmentação da seqüência de bits de entrada para que o número C de blocos de código e o tamanho K dos blocos de código; gerando os blocos de código por meio da anexação do segundo código de detecção de erro em cada uma das seqüências de bits de entrada segmentadas; e de codificação de canal dos blocos de código.
O número C de blocos de código pode ser definido como um arredondamento inteiro de um valor obtido pela divisão do tamanho B da seqüência de bits de entrada pelo resultado da subtração do tamanho L do segundo código de detecção de erro para ser anexado em cada um dos blocos de códigos do tamanho Z máximo dos blocos de código.
O primeiro código de detecção de erro e segundo código de detecção erro podem ser gerados por polinômios diferentes.
O tamanho B da seqüência de bit de entrada pode ser ajustado para um valor obtido pela adição do tamanho A dos dados para o tamanho do primeiro código de detecção de erro, e do segundo código de erro a serem anexados em cada um dos blocos de código podem ser adicionalmente anexados para detectar se cada um dos blocos de códigos contém erros.
Se o tamanho B da seqüência de bit de entrada for menor que o tamanho Z máximo dos blocos de código, o número C dos blocos de códigos pode ser definido como 1.
O tamanho B' da seqüência de bit de entrada modificada pode ser definido como um valor obtido pela soma do tamanho B da seqüência de bits de entrada com o resultado da multiplicação do número C dos blocos de código pelo tamanho L do segundo código de detecção de erro para serem incluídos em cada um dos blocos de código. O tamanho K dos blocos de código pode satisfazer a condição de que o valor obtido pela multiplicação do número C dos blocos de código pelo tamanho K dos blocos de código é maior do que ou igual ao tamanho B' da seqüência de bit de entrada modificada.
O tamanho K + dos primeiros blocos de código no tamanho K dos blocos de código pode ter o menor tamanho entre os valores pré-definidos, e o tamanho K- dos segundos blocos de código no tamanho K dos blocos de código pode ter a maior tamanho entre os valores pré-definidos.
O número C- dos segundos blocos de código pode ser definido como um arredondamento para baixo de um valor inteiro obtido dividindo-se, por uma diferença entre o tamanho K + dos primeiros blocos de código e do tamanho K dos segundos blocos de código, o resultado da subtração do tamanho B' da seqüência de bit de entrada modificada de um valor obtido pela multiplicação do número C dos blocos de código pelo tamanho K+ dos primeiros blocos de código. O número C + dos primeiros blocos de código pode ser definido para um valor obtido subtraindo-se o número C_ dos segundos blocos de código a partir do número C dos blocos de código.
O método de transmissão de dados pode ainda incluir: o cálculo do comprimento F dos bits de preenchimento subtraindo-se o tamanho da seqüência de bits de entrada modificada, a partir do resultado da adição de um valor obtido pela multiplicação do número C + dos primeiros blocos de código pelo tamanho K+ dos primeiros blocos de código com um valor obtido pela multiplicação do número C. dos segundos blocos de código pelo tamanho K- dos segundos blocos de código; e alocar os bits de preenchimento para um primeiro bloco de código entre os blocos de código.
O método de transmissão de dados pode ainda incluir: alocação dos dados para as áreas, exceto para o tamanho de bits de enchimento e do tamanho do segundo código de detecção de erros em um primeiro bloco de código antes de os blocos de código; e alocação dos dados em áreas, exceto para o tamanho do segundo código de detecção de erros em blocos de código que começam com um segundo bloco de código. Os dados de alocação para o primeiro bloco de código pode ainda incluir a anexação do segundo código de detecção de erro para o primeiro bloco de código, e os dados de alocação para os blocos de código que começam com o segundo bloco de código podem ainda incluir anexação do segundo código de detecção de erro com os blocos de código começando com o segundo bloco de código. O tamanho Z máximo de blocos de código é 6144 bits. De acordo com outro aspecto da presente invenção, um método de transmissão de dados em um sistema de acesso sem fio inclui: geração de uma segunda seqüência de bits de entrada anexando um primeiro código de detecção de erro para uma primeira seqüência de bits de entrada; cálculo do tamanho B da uma segunda seqüência de bit de entrada usando o tamanho A primeira seqüência de bits de entrada e o tamanho L do primeiro código de detecção de erro; Se o tamanho B da segunda seqüência de bits de entrada é maior que o tamanho Z máximo de blocos de código, o cálculo do número C dos blocos de código, usando o tamanho B da segunda seqüência de bits de entrada, o tamanho Z máximo de blocos de código e o tamanho L de um segundo código de detecção de erro que será anexado em cada um dos blocos de código; calcular um segundo bit de entrada modificado tamanho B', usando o número C de blocos de código, o tamanho L do segundo código de detecção de erro e o tamanho B da segunda seqüência de bit de entrada; obter os tamanhos K, K+e K. de blocos de código de valores predefinidos, com base em um valor obtido dividindo o segundo bit de entrada tamanho B' pelo número C dos blocos de código / segmentar a segunda seqüência de bit de entrada para ter o número C dos blocos de código e os tamanhos obtidos K K+e K-, dos blocos de código; geração dos blocos de código, anexando o segundo código de detecção de erro em cada uma das segundas seqüências de bit de entrada segmentadas; e canal - codificação dos blocos de código.
De acordo com ainda outro aspecto da presente invenção, um método de transmissão de dados em um sistema de acesso sem fio, compreendendo: geração de uma segunda seqüência de bits de entrada, anexando um primeiro código de detecção de erro para a de uma primeira seqüência de bit de entrada; cálculo do tamanho B da segunda seqüência de bits de entrada usando um tamanho A da primeira seqüência de bits de entrada e tamanho L do primeiro código de detecção de erros, se o tamanho B da segunda seqüência de bits de entrada é maior do que o tamanho Z máximo dos blocos de código, calculando um número C de blocos de código, usando o tamanho B da segunda seqüência de bits de entrada, o tamanho Z máximo dos blocos de código, e o tamanho L de um segundo código de detecção de erros que deve ser anexado em cada um dos blocos de código, cálculo do tamanho B' de uma segunda seqüência de bits de entrada modificada, usando o número C de blocos de código, o tamanho L do segundo código de detecção de erro, e o tamanho B da segunda seqüência de bits de entrada; obter o tamanho Kr dos blocos de código, dividindo o tamanho B' da segunda seqüência de bits de entrada modificada pelo número C de blocos de código; segmentar a segunda seqüência de bits de entrada para ter o número C de blocos de código e o tamanho obtido de Kr dos blocos de código, gerar os blocos de código, anexando o segundo código de detecção de erro em cada uma das segundas seqüências de bits de entrada segmentadas, e codificação em canais dos blocos de código.
O primeiro e o segundo código de detecção de erro e podem ser gerados por polinômios diferentes. Ainda de acordo com um aspecto da presente invenção, um método de transmissão de dados em um sistema de acesso sem fio inclui: se o tamanho B de uma seqüência de bits de entrada é maior do que o tamanho Z máximo dos blocos de código, cálculo de um número C de blocos de código, usando o tamanho B da seqüência de bits de entrada, o tamanho Z máximo dos blocos de código e tamanho L de um código de detecção de erro que deve ser anexado em cada um dos blocos de código; cálculo do tamanho B' de uma seqüência de bit de entrada modificada, usando o número C de blocos de código, o tamanho L do código de detecção de erro, e o tamanho B da seqüência de bits de entrada; obtenção do tamanho K dos blocos de código de valores pré-determinados, com base em um valor obtido pela divisão do tamanho B' da seqüência de bits de entrada modificada pelo número C de blocos de código; e segmentar a seqüência de bits de entrada para ter o número C dos blocos de código e o tamanho K dos blocos de código.
De acordo com outro aspecto da presente invenção, um método de transmissão de dados em um sistema de acesso sem fio inclui: geração uma seqüência de bits de entrada, anexando um primeiro código de detecção de erro para um bloco de transporte, se o tamanho B da seqüência de bits de entrada é maior que o tamanho Z máximo dos blocos de código, calcular um número C de blocos de código, usando o tamanho B da seqüência de bits de entrada, o tamanho Z máximo dos blocos de código, e o tamanho L de um código de detecção de erro que deve ser anexado em cada um dos blocos de código; calcular o tamanho B' de uma seqüência de bit de entrada modificada, usando o número C dos blocos de código, o tamanho L do código de detecção de erros, e o tamanho B da seqüência de bits de entrada; obter o tamanho Kr dos blocos de código, dividindo o tamanho B' da seqüência de bits de entrada modificada pelo número C dos blocos de código e segmentar a seqüência de bits de entrada para ter número C de blocos de código e o tamanho Kr dos blocos de código.
EFEITOS VANTAJOSOS
A presente invenção tem as seguintes vantagens. Em primeiro lugar, já que um lado receptor pode determinar se os erros existem sempre que receber blocos de código, um eficiente processo de restauração de erro pode ser realizado. Em segundo lugar, a segmentação de um bloco de dados pode ser realizada com precisão e códigos de CRC podem ser anexados com precisão pelo cálculo do número de blocos de código e segmentação do bloco de dados em consideração do comprimento dos códigos de CRC. Terceiro, quando se segmenta um bloco de dados em blocos de código, o número de blocos de código é calculado tendo em conta o comprimento de códigos de CRC e os dados são então alocados para os blocos de código, aumentando assim a eficiência de processamento de dados. Quarto, se o tamanho de uma seqüência de bits de entrada para um sistema é inferior ao tamanho máximo que pode ser dividido no sistema, a segmentação da seqüência de bits de entrada não é desnecessariamente realizada. Em vez disso, os bits de entrada correspondente são usados para um bloco de código. Não é necessário re-anexar o código de detecção de um erro porque o código de detecção de erro para detecção de um erro dos bits de entrada pode ser usado. Portanto, é possível processar rapidamente o bloco de código. Quinto, os dados podem ser eficientemente transmitidos através de várias modalidades da presente invenção.
DESCRIÇÃO DOS DESENHOS
Os desenhos que acompanham são incluídos para fornecer uma maior compreensão da invenção, ilustram modalidades da invenção e, juntamente com a descrição servem para explicar o princípio da invenção.
Nos desenhos:
A Fig. 1 é um diagrama que ilustra um processo realizado em cada unidade de fixação de CRC e unidade de segmentação de bloco de dados;
A Fig. 2 é um diagrama que ilustra um processo de conversão de um bloco de dados em blocos de código;
A Fig. 3 é um diagrama que ilustra um processo de segmentação de um bloco de dados em consideração de um tamanho de CRC de acordo com uma modalidade exemplar da presente invenção;
A Fig. 4 é um diagrama que ilustra um exemplo de um processo de anexação de códigos de CRC para blocos de código de acordo com uma modalidade exemplar da presente invenção;
A Fig. 5 é um diagrama que ilustra um outro exemplo de um processo de anexação de códigos de CRC para blocos de código de acordo com uma modalidade exemplar da presente invenção;
A Fig. 6 é um diagrama que ilustra um processo de segmentação de um bloco de dados e anexação de códigos de CRC em consideração de um tamanho de CRC de acordo com uma modalidade exemplar da presente invenção; 7 é um diagrama que ilustra um processo de conversão de um bloco de dados em blocos de códigos em consideração de um tamanho de CRC de acordo com uma modalidade exemplar da presente invenção;
A Fig. 8 é um fluxograma que ilustra um processo de segmentação de um bloco de dados em consideração de um tamanho de CRC de acordo com uma modalidade exemplar da presente invenção;
A Fig. 9 é um fluxograma que ilustra um processo de cálculo de um número de blocos de códigos de acordo com uma modalidade exemplar da presente invenção;
A Fig. 10 é um fluxograma que ilustra um processo de segmentação de um bloco de dados utilizando uma seqüência de bits de entrada de tamanho modificado de acordo com uma modalidade exemplar da presente invenção, e
A Fig. 11 é um fluxograma que ilustra um processo de conversão de um bloco de dados em blocos de códigos quando o número de blocos de códigos é 1 de acordo com uma modalidade exemplar da presente invenção;
Modo de Invenção
A presente invenção proporciona um método de transmissão de dados e segmentação de um bloco de código em um sistema de acesso sem fio, especialmente de um método de segmentação de um bloco de dados em consideração do tamanho dos códigos de detecção de erros e um método de obtenção do número de blocos de código.
Modalidades exemplares descritas daqui em diante são combinações de elementos e características da presente invenção. Os elementos ou características podem ser considerados como seletivas, salvo indicação em contrário. Cada elemento ou característica pode ser praticado sem ser combinado com outros elementos ou características. Além disso, uma modalidade da presente invenção pode ser construída através da combinação de partes dos elementos e / ou características. Ordens de operação descritas nas modalidades da presente invenção podem ser alteradas. Algumas construções de qualquer uma das modalidades podem ser incluídas em outra modalidade e podem ser substituídas por construções correspondentes de uma outra modalidade.
Na seguinte descrição da presente invenção, uma descrição detalhada dos procedimentos conhecidos ou passos serão omitidos quando se pode obscurecer o assunto da presente invenção.
Em modalidades exemplares da presente invenção, é feita uma descrição de uma relação de transmissão de dados e recepção entre uma estação base e uma estação móvel. Aqui, o termo 'estação base' se refere a um nó terminal de uma rede de comunicação direta com a estação móvel. Em alguns casos, uma operação específica descrita como realizada pela estação de base pode ser realizada por um nó superior da estação de base.
Ou seja, é evidente que, em uma rede composta por uma pluralidade de nós de rede, incluindo uma estação base, várias operações realizadas para a comunicação com uma estação móvel podem ser realizadas pela estação base ou outros nós da rede, exceto para a estação base. O termo 'Estação base' pode ser substituído por "Estação fixa" o termo 'Nó B', 'eNó B' (eNB), "ponto de acesso", etc. O termo "estação móvel (MS)" pode ser substituído com o termo "terminal", "equipamento do usuário" (UE), "estação móvel do assinante" (MSS),etc.
Além disso, o "lado a transmissão" designa um nó de transmissão de dados ou serviço de voz, e o termo "lado de recepção" significa um nó que recebe os dados ou o serviço de voz. Portanto, em uplink, a estação móvel pode ser o lado de transmissão e a estação base pode ser o lado da recepção. Da mesma forma, no downlink, a estação móvel pode ser o lado da recepção e a estação base pode ser o lado de transmissão.
Enquanto isso, a estação móvel pode incluir um assistente digital pessoal (PDA), um telefone celular, um telefone de serviço de comunicação pessoal (PCS), um sistema global para telefone celular (GSM), um telefone de acesso múltiplo de divisão de código de banda larga (WCDMA), um telefone celular de sistema de banda larga (MBS), etc.
As modalidades da presente invenção podem ser alcançadas por vários meios, por exemplo, hardware, firmware, software, ou uma combinação destes.
Em uma configuração de hardware, um método de acordo com modalidades exemplares da presente invenção pode ser alcançado por um ou mais circuitos integrados de aplicação específica (ASICs), processadores de sinal digital (DSPs), dispositivos de processamento de sinais digitais (DSPDs), dispositivos lógicos programáveis (PLDs), Arranjo de Portas Programável em Campo (FPGA), processadores, controladores, micro controladores, microprocessadores, etc.
Em uma configuração de firmware ou de software, um método de acordo com modalidades exemplares da presente invenção pode ser alcançado por um módulo, um procedimento, uma função, etc., desempenhando as funções ou operações descritas acima. Um código de software pode ser armazenado em uma unidade de memória e conduzido por um processador. A unidade de memória está localizada no interior ou exterior do processador e pode transmitir e receber dados com o processador através de vários meios conhecidos.
Modalidades da presente invenção podem ser comprovadas por documentos divulgados em pelo menos um dos sistemas de acesso sem fio (por exemplo, sistema IEEE 802, sistema 3GPP, sistema 3GPP LTE, e sistema 3GPP2). Especialmente, os documentos divulgados em 3GPP TS 36.212 V8.0.0 (2007-09) para 3GPP TS 36.212 V8.3.0 (2008-05) podem apoiar as modalidades da presente invenção.
A seguinte descrição detalhada inclui os termos específicos, a fim de fornecer uma compreensão completa da presente invenção. No entanto, essas condições específicas podem ser modificadas sem se afastar do princípio e do escopo da presente invenção.
A Fig. 1 é um diagrama que ilustra um processo realizado em cada unidade de fixação de CRC e uma unidade de segmentação de bloco de dados;
A unidade de fixação de CRC e dados da unidade de segmentação de bloco de dados geralmente usadas serão agora descritas com referência à FIG. 1. Um bloco de dados 100 pode ser segmentado em vários blocos de código quando necessário. Um bloco de código 160 é gerado a partir da segmentação do bloco de dados 100.
Se um usuário insere o bloco de dados 100, uma unidade de anexação de CRC 120 anexa o código CRC em um bloco de dados 100. O bloco de dados incluindo o código de CRC é dividido em um comprimento necessário de blocos de dados por uma unidade de segmentação de bloco de dados 140 e constitui o bloco de código 160 com um ou mais comprimentos. Este processo é mostrado seqüencialmente no lado direito da FIG. 1.
A unidade de fixação de CRC 120 anexa um código de CRC no bloco de dados com um comprimento prescrito de forma que um lado receptor pode usar o bloco de dados 100 para detectar um erro. Para este fim, a unidade de anexação de CRC 120 gera bits de paridade de CRC de um comprimento prescrito usando uma equação de geração de CRC com base no bloco de dados de entrada (etapa S101). Em seguida, a unidade de fixação de CRC 120 anexa no sentido para frente ou para trás os bits de paridade de CRC para um bloco de dados adiantado para gerar um formulário conectado em série de bloco de dados (etapa S102).
O bloco de dados com CRC anexado é segmentado em um ou vários blocos de código pela unidade de segmentação de bloco de dados 140. Os unidade de segmentação de bloco de dados 140 segmenta o bloco de dados de entrada em um ou mais blocos de código através dos seguintes quatro processos.
A unidade de segmentação de bloco de dados 140 define o número de blocos de código para um arredondamento de número inteiro do resultado da divisão do tamanho do bloco de dados com CRC anexado por um tamanho máximo permitido para o bloco de código (etapa S103).
A unidade de segmentação de bloco de dados 140 calcula o tamanho de cada bloco de código de acordo com o número de blocos de código determinado na etapa S103 (etapa S104).
Na etapa S104, a soma da adição do tamanho de cada um dos blocos de código pode ser maior do que o tamanho do bloco de dados com CRC anexado. Neste caso, um valor obtido subtraindo-se o tamanho do bloco de dados com CRC anexado do tamanho de todos os blocos de código é definido para o comprimento de bits de preenchimento (etapa S105).
Se o número e o tamanho dos blocos de código e o comprimento dos bits de preenchimento são determinados, a unidade segmentação de bloco de dados 140 segmenta o bloco de dados com CRC anexado e aloca os dados para cada bloco de código (etapa S106). Na etapa S106, os bits de preenchimento e os dados são alocados seqüencialmente até o início do primeiro bloco entre os blocos de código, e os dados seguintes são alocados seqüencialmente a partir do segundo bloco.
FIG. 2 é um diagrama que ilustra um processo de conversão de um bloco de dados em blocos de código;
Na FIG. 2, as unidades e método utilizados na FIG. 1 podem ser empregados.
Referindo-se agora a Fig. 2, um bloco de dados 200 é inserido para uma unidade de anexação de CRC 220. Bits de CRC são anexados no bloco de dados 200 pela unidade de anexação de CRC 220 para gerar um bloco de dados com CRC anexado 230. O bloco de dados com CRC anexado é inserido para unidade de segmentação de um bloco de dados 240 e, em seguida, segmentado em blocos de código. Os bits de preenchimento estão anexados no início do primeiro bloco de um bloco de código 260 e os dados estão alocados para a outra parte do mesmo. Os dados são seqüencialmente alocados começando com um segundo bloco de código.
Em modalidades exemplares da presente invenção, presume-se que os códigos de CRC são usados como um tipo de código de detecção de erro desejável que pode ser fixado nos blocos de código pela unidade de segmentação de bloco de dados. Além disso, o termo "bloco de dados" se refere aos bits de entrada que são inseridos para a unidade de segmentação de bloco de dados e pode ser referido como um primeiro bloco de dados. Se a segmentação dos bits de entrada é realizada, um bloco de código ou um segundo bloco de dados é gerado.
PRIMEIRA MODALIDADE
A Fig. 3 é um diagrama que ilustra um processo de segmentação de um bloco de dados em consideração de um tamanho de CRC de acordo com uma modalidade exemplar da presente invenção;
Referindo-se agora a Fig. 3, um bloco de dados (por exemplo, um primeiro bloco de dados 300) é inserido em uma unidade de segmentação de dados bloco 320 e segmentado em um ou mais blocos de código (por exemplo, um segundo bloco de dados). Os dados são alocados seqüencialmente para os blocos de código. Os blocos de código são inseridos em uma unidade de anexação de CRC 340. Neste caso, o bloco de dados pode incluir um código de detecção de erros nele e o tamanho do código de detecção de erro é desejavelmente 24 bits.
A unidade de fixação de CRC 340 gera códigos de CRC e anexa o código de CRC para os blocos de código, exceto quando o bloco de dados é composto por um bloco de código, incluindo um código de detecção de erros (por exemplo, exceto quando um bloco de dados tamanho B é inferior ou igual a um tamanho Z máximo do bloco de código). Assim, o bloco de dados 300 é dividido em bloco de código 360 através da unidade de segmentação de bloco de dados 320 e da unidade de anexação de CRC 340. Na FIG. 3, o bloco de código 360 significa um ou mais blocos de dados segmentados.
Referindo-se à FIG. 3, se o bloco de dados 300 é inserido para a unidade de segmentação de bloco de dados 320, a unidade de segmentação de bloco de dados 320 calcula o número C de blocos de códigos em relação aos dados de entrada. Neste caso, a unidade de segmentação dos blocos de dados 320 pode calcular o número C de blocos de código em consideração do tamanho L de um código de CRC, que deve ser anexado em cada um dos blocos de código finais (etapa S301).
A seguir, vários métodos de cálculo do número C de blocos de código usados na etapa S301 serão descritos.
Um primeiro método para calcular o número de blocos de código na etapa S301 de acordo com uma modalidade exemplar da presente invenção será agora descrito.
A seguinte Equação 1 ilustra um exemplo do cálculo do número C de blocos de código.
[Equação 1]
C' = [B/Ζ];[x] é um arredondamento Dara cima de número inteiro x
Se C' * L + B > C' * Z C = C' + 1
Outro
C = C'
Final
As unidades de segmentação de bloco de dados 320 definem para um valor temporal C’, um arredondamento um número inteiro de um valor obtido pela divisão do bloco de dados tamanho B pelo tamanho Z máximo do bloco de código. Se um valor obtido pela soma do bloco de dados de tamanho B para o resultado da multiplicação do valor temporal C’ pelo CRC tamanho L é maior do que o valor obtido pela multiplicação do valor temporal C’ pelo tamanho Z máximo do bloco de código, o número C de blocos de código é definido para um valor obtido pela adição de 1 ao valor temporal C’, e se não for, o número C de blocos de código é definido para o valor C’ temporal.
Enquanto isso, a Equação 2 mostrada abaixo pode ser usada quando os blocos de dados tamanho B inseridos para a unidade de segmentação do bloco de dados é menor ou igual ao tamanho Z máximo do código de bloco.
[Equação 2]
Se B≤ Z
C = 1
Outro
c' = [B/Z]
Se C' * L + B > C' * Z
C = C' + 1
Outro
C = C’
Final
Final
Equação 1 e Equação 2 usam o valor temporal C para calcular o número C de blocos de código. Ou seja, o número de blocos de código pode ser calculado com precisão, adquirindo o valor temporal obtido pelo arredondamento do resultado da divisão do tamanho do bloco de dados inserido para a unidade de segmentação de bloco de dados 320 pelo tamanho máximo de bloco de código.
Outras formas de Equação 1 e Equação 2 são ilustradas na Equação 3 e Equação 4. Ou seja, o número de blocos de código é calculado diretamente sem usar o valor temporal C’.
[Equação 3]
Se [B/Z] * L+B > [Β/Ζ] * z
c -[B/Z]+1
Outro
C=[B/Z]
Final
Enquanto isso, a seguinte Equação 4 pode ser usada quando os blocos de dados de tamanho B inseridos para a unidade de segmentação do bloco de dados é menor ou igual ao tamanho Z máximo do código de bloco.
[Equação 4]
Se B ≤ Z
C = 1
Outro ;
Se [Β/Z] * L+B > [Β/Z] * Z
C = [Β/Z]+1
Outro
C = (B/Z]
Final
Final;
Um segundo método para calcular o número de blocos de código na supracitada etapa S301 de acordo com a modalidade exemplar da presente invenção será agora descrito.
A seguinte Equação 5 ilustra um método de cálculo do número C de blocos de código usando uma seqüência modificada de bit de entrada tamanho B'.
[Equação 5]
se [B/Z]*L +B>[B/Z]*Z
B' = B + ([Β/Ζ]+1) *L
Outro
B' = B +[B/Z]*L
Final
C =[B'/Z]
Na Equação 5, a seqüência de bits de entrada modificada de tamanho B' é calculada para obter o número de blocos de código. Supõe-se que um valor, obtido arredondando para cima o resultado da divisão dos blocos de dados tamanho B pelo bloco de código tamanho Z máximo, vezes o CRC tamanho L mais o bloco de dados tamanho B é “M”.
Supõe-se também que um valor, obtido por arredondamento do resultado da divisão dos blocos de dados tamanho B pelo bloco de código tamanho Z máximo, vezes o bloco de código tamanho Z máximo é “N”.
Se M é maior do que N, a seqüência de bit de entrada modificada tamanho B para o cálculo do número C e tamanho K dos blocos de código assume um valor obtido por arredondamento do resultado da divisão dos blocos de dados tamanho B pelo bloco de códigos do tamanho Z máximo, mais 1 vez o CRC tamanho L mais o bloco de dados tamanho B.
Se M for menor que N, a seqüência de bits de entrada tamanho B' assume um valor arredondando o resultado da divisão do bloco de dados tamanho B pelo bloco de código tamanho Z máximo, vezes o CRC tamanho L mais o bloco de dados tamanho B.
Portanto, o número C de blocos de código é definido como um inteiro obtido pelo arredondamento do resultado da seqüência de bits de entrada tamanho B' para calcular o número C dos blocos de código e código de bloco tamanho k pelo bloco de código tamanho Z máximo.
Entretanto, quando um bloco de dados de entrada tamanho B inserido para a unidade de segmentação do bloco de dados é menor ou igual ao bloco de código tamanho Z máximo 7 a seguinte equação 6 é usada.
[Equação 6]
Se B ≤ Z
B' = B
Outro
Se [B/Z]*L + B>[Β/Z]*Ζ
B' = B + ([Β/Z]+ 1) * L
Outro
Final
Final
C=[B'/Z]
Equação 5 e Equação 6 mostram um método de cálculo do número C de blocos de código usando a seqüência modificada de bits de entrada tamanho B' sem usar o valor temporal C, ao contrário Equação 1 e Equação 2. Ou seja, o número C de blocos de código podem ser obtidos usando a seqüência modificada de bits de entrada tamanho B'.
Um terceiro método para calcular o número de blocos de código na etapa S301 de acordo com a modalidade exemplar da presente invenção será agora descrito.A seguinte Equação 7 ilustra um outro exemplo do cálculo do número C de blocos de código.
[Equação 7]
C=[B/(Z-L)]
O número C de blocos de código pode ser definido como um arredondamento do resultado da divisão do bloco de dados tamanho B dados por um valor obtido subtraindo-se o CRC tamanho L do bloco de código de tamanho Z máximo.
Enquanto isso, se o bloco de dados tamanho B inserido para a unidade de segmentação do bloco de dados é menor ou igual ao tamanho Z máximo do código de bloco, a seguinte equação 8 pode ser usada
[Equação 8]
Se B≤Z
C = 1
Outro
C= [Β /(Z -L)]
Final
Equação 7 e equação 8 de ilustram um método para calcular o número C dos blocos de código em consideração CRC tamanho L para cada bloco de códigos. Ou seja, o CRC tamanho L pode ser considerado durante a segmentação do bloco de dados tamanho B, dividindo-se os blocos dados tamanho B por um valor obtido subtraindo-se o CRC tamanho L do código de bloco tamanho Z máximo. Em conseqüência, a segmentação do bloco de dados pode ser realizada com precisão de acordo com as necessidades dos usuários.
Um quarto método para calcular o número C de blocos de código na etapa S301 de acordo com a modalidade exemplar da presente invenção será agora descrito.
A Equação 9 abaixo ilustra o caso em que o bloco de código tamanho Z máximo é variável.
[Equação 9]
Z' =Z-a
C=[B/Z']
A unidade de segmentação de dados pode definir o número C de blocos de código para um número inteiro arredondando o resultado da divisão do do bloco de dados tamanho B por um valor Z', que é menor do que o tamanho Z máximo do bloco de código por 'a' (em que 'a ' é um número natural). Aqui, 'a' pode ser um tamanho necessário de acordo com CRC tamanho L ou ambientes de sistema.
Enquanto isso, se o bloco de dados (ou bit de entrada) tamanho B é menor do que o tamanho Z máximo do bloco de código, a seguinte Equação 10 pode ser usada.
[Equação 10]
Se B≤ Z
c =1
outro
Z' =Z -a
C =[B/Z']
final
Um quinto método para calcular o número de blocos de código na etapa S301 de acordo com a modalidade exemplar da presente invenção será agora descrito.
A unidade de segmentação de dados substitui o tamanho Z máximo de código de bloco com um valor x específico e define o número C de blocos de código para um número inteiro arredondando o resultado da divisão do bloco de dados tamanho B pelo valor x específico.
A seguinte Equação 11 ilustra um exemplo do cálculo do número C de blocos de código.
[Equação 11]
Z = x
C = [Β/Z]
Enquanto isso, se o bloco de dados (ou bit de entrada) tamanho B inserido para o bloco de dados é menor ou igual ao tamanho Z máximo do código de bloco, a seguinte equação 12 pode ser usada
[Equação 12]
Se B ≤ Z
C = 1
outro
Z = X
C= [B /Z]
final
A Equação de 11 e equação 12 podem ser usadas quando o tamanho Z máximo do bloco de código é variável. Isto é, já que o tamanho máximo do bloco de código pode ser alterado de acordo com ambientes de sistema, a Equação 11 e Equação 12 são utilizadas de forma flexível.
Referindo-se novamente à FIG. 3, se o número C de blocos de código é determinado na etapa S301, o tamanho de cada bloco de código e o número de blocos de código com um comprimento específico é calculado usando pelo menos um dos números C de blocos de código e a seqüência modificada tamanho B' (etapa S302).
A seguir, vários métodos para calcular um bloco de código tamanho K na etapa S302 de acordo com uma modalidade exemplar da invenção presente serão descritos.
O bloco de código tamanho K pode ter vários tamanhos de acordo com os requisitos do sistema. Na modalidade exemplar da presente invenção, os casos são considerados onde cada bloco de código tamanho K é constante, ou tem tamanhos K + e K-. No entanto, é evidente que vários tamanhos de blocos de código podem ser usados. Em modalidades exemplares da presente invenção, o bloco de código é segmentado a partir do bloco de dados (ou bit de entrada) e pode ser referido como um segmento.
Um primeiro método de cálculo do bloco de código tamanho K quando o tamanho de cada bloco de código é o mesmo na etapa S302 passo será agora descrito.A Equação 13 ilustra um exemplo de cálculo do bloco de código tamanho K quando o tamanho de cada bloco de código é constante.
[Equação 13]
K = [B'/C]
A Equação 13 apresenta um método de cálculo do bloco de código tamanho K quando o tamanho de cada bloco de código é constante. Ou seja, o bloco de código tamanho K é definido como um número inteiro arredondado do resultado da divisão do bit de entrada modificada tamanho B' pelo número C de blocos de código. Neste caso, o bit de entrada modificado tamanho B' é um valor temporal para obtenção do número e tamanho dos blocos de código.
Se o bit de entrada modificado tamanho B' para o cálculo do número e tamanho dos blocos de código não for calculado na etapa S301, um valor, (CxL+B), obtido pela multiplicação do número C de blocos de código pelo CRC tamanho L e em seguida, adicionando o bloco de dado tamanho B para o resultado multiplicado pode ser usado como o bit de entrada modificado tamanho B.
Um segundo método de cálculo de um primeiro bloco de código tamanho K + em que o bloco de código tamanho K tem um tamanho específico K+ ou K- na etapa S302 será agora descrito.
A Equação 14 ilustra um exemplo de cálculo do primeiro bloco de código tamanho K +.
[Equação 14]
K + é um valor mínimo de K,
onde K satisfaz C*K≥B+C* L ou C*K > B'
Um bloco de código com o tamanho K + usa um valor K na tabela 1 mostrada abaixo. Neste caso, a condição do valor de K é que o resultado da multiplicação do número C de blocos de código por K é maior do que, ou igual a um valor obtido pela soma da seqüência de entrada tamanho B para o resultado da multiplicação do número C de código de blocos pelo CRC tamanho L. Outra condição do valor K é que o resultado da multiplicação do número C de blocos de código por K é maior do que, ou igual ao bit de entrada modificada tamanho B'. Ou seja, o valor K + pode ter um valor mínimo entre os valores de K satisfazendo qualquer uma das duas condições da Equação 14.
Se o tamanho do bloco de código é calculado usando o método como ilustrado na Equação 14, uma vez que o tamanho do bloco de código é obtido considerando o CRC tamanho L, o bloco de dados de entrada (ou bit de entrada) pode ser dividido com precisão nos comprimentos desejados.
A Equação 15 ilustra um outro exemplo de cálculo do primeiro bloco de código tamanho K +.
[Equação 15]
K + é um valor mínimo de K,
onde K satisfaz C * (K - L) ≥ B’
Na Equação 15, o bloco de código com o tamanho K + usa um valor mínimo de K satisfazendo a seguinte condição na Tabela 1. Ou seja, o menor valor é usado como K + entre os valores K satisfazendo uma condição em que o valor obtido pela multiplicação do número C de blocos de código pelo resultado da subtração do CRC tamanho L de K é maior do que, ou igual ao bit de entrada modificada tamanho B'.
A seguinte Equação 16 pode ser usada quando o bit de entrada modificada tamanho B' na Equação 15 é definido para um valor obtido pela soma do bit de entrada tamanho B' na Equação 15 é definido para um valor obtido pela soma do bit de entrada tamanho B para o resultado da multiplicação do número C de blocos de código pelo CRC tamanho L.
[Equação 16]
K+ é um valor mínimo de K,
onde K satisfaz C *(K - L) ≥ B+C*L
Na Equação 16, um bloco de código com o tamanho K + pode usar o valor K indicado na Tabela 1.
A seguinte Tabela 1 ilustra os parâmetros para o valor K que pode ser usado na Equação 13 para Equação 16.
Figure img0001
Na Tabela 1, os parâmetros f1 e f2 podem variar de acordo com o valor K, que é um tamanho de dados de entrada.
Um terceiro método de cálculo de um primeiro bloco de código tamanho K -em que o bloco de código tamanho K tem um específico tamanho K+ ou K- na etapa S302 será agora descrito.
O valor K- pode ser definido como um valor máximo entre os valores de K que são menores do que K + calculado em qualquer uma das equações 14 até Equação 16. O valor K pode usar os valores mostrados na Tabela 1. A seguinte Equação 17 ilustra um método de cálculo do valor K-.
[Equação 17]
K- é um valor máximo de K,
onde K satisfaz K < K +
Quando se calcula K- usando valores mostrados na tabela 1 e Equação 17, a segmentação do bloco de dados de entrada (ou bit de entrada) pode ser executada com precisão em consideração do tamanho de um bloco de código para o qual um código de CRC é anexado.
Foi feita a descrição de um método para o cálculo do código de bloco de código tamanho K + e K- quando o tamanho do bloco de código tem um tamanho específico através da Equação 14 a Equação 17. Neste caso, é necessário obter os números C + e C - dos blocos de código com o bloco de código tendo tamanhos de K+ e K respectivamente, para dividir com precisão o bloco de dados de entrada.
A seguir, vários métodos de cálculo do número C- de blocos de código com o específico tamanho K- na etapa S302 serão descritos.
Equação 18 ilustra um primeiro método para calcular o número C- dos segundos blocos de código com o tamanho K-.
Figure img0002
O número C- dos segundos blocos de código pode ser calculado por um número inteiro arredondando para baixo o resultado da divisão de um valor total do número C de blocos de código, multiplicado pelo primeiro bloco de código tamanho K + menos a seqüência modificada de bit de entrada tamanho B' por um valor de diferença Δκ entre K+ e K-. A seqüência de bit de entrada modificado tamanho B' é um valor temporal para calcular o número e tamanho dos blocos de código.
Na Equação 18, o número C- de blocos de código com o tamanho K- é calculado usando a seqüência de bit de entrada modificada tamanho B'. Portanto, a segmentação da seqüência do bloco de dados de entrada (ou bit de entrada) pode ser executada com precisão em consideração do CRC tamanho L incluído em cada bloco de código.
A Equação 18 pode ser expressa pela seguinte Equação 19.
Figure img0003
A Equação 19 mostra que a seqüência de bit de entrada modificada tamanho B' é definida como um valor obtido pela multiplicação do número C de blocos de código pelo CRC tamanho L e, em seguida, adicionando o bloco de dados tamanho B ao resultado multiplicado.
Um segundo método de cálculo do número C- de blocos de código com o segundo bloco de códigos tamanho K- na etapa S302 será agora descrito.
A Equação 20 ilustra um exemplo para calcular o número C- dos segundos blocos de código com o tamanho K-.
Figure img0004
O número C. dos segundos blocos de código pode ser calculado por um número inteiro arredondando para baixo o resultado da divisão de um valor de C * (K+ -L) -B' por uma diferença D entre K+ e K-.
Ou seja, a Equação 20 mostra um método para calcular o número C- dos segundos blocos de código considerando o CRC tamanho L para ser incluído no primeiro bloco de código.
A Equação 21 ilustra um exemplo de expressar a Equação 20 usando a seqüência de bit de entrada modificada tamanho B'. Isto é, a seqüência de bit de entrada modificada tamanho B' é definida para um valor obtido pela adição dos blocos de dados tamanho B com o resultado da multiplicação do número C dos blocos de código pelo CRC tamanho L.
Figure img0005
Um método para calcular o número C+ dos primeiros blocos de código tendo o tamanho específico K + na etapa S302 é conforme a seguir.
[Equação 22]
C+=C-C-
Na Equação 22, o número C+ dos primeiros blocos de código com o tamanho específico k + que é calculado subtraindo o número C - dos segundos blocos de código calculados na Equação de 19 até a Equação 21 do número C total de blocos de código.
Referindo-se novamente à FIG. 3, o tamanho de cada bloco de código calculado na etapa S302 pode ser fixo ou cada bloco de código pode ter um tamanho específico K + ou K-. O bloco de dados tamanho K pode ser determinado de acordo com os requisitos do sistema.
Na divisão do bloco de dados, um valor obtido pela soma dos tamanhos de todos os blocos de código pode ser maior do que o da seqüência de bits de entrada modificada tamanho B' para o cálculo do número C dos blocos de código e o bloco de código tamanho K. Neste caso, um comprimento F de bits de preenchimento correspondente à diferença entre o valor obtido pela soma dos tamanhos de todos os blocos de código e seqüência de bits de entrada modificada tamanho B' é calculado (etapa S303).
Os bits de preenchimento servem para equalizar um bloco de dados de entrada inicialmente com os tamanhos dos blocos de código quando um código de detecção de erro é anexado nos blocos de código segmentados a partir do bloco de dados. Se o número de bloco de código é O, o comprimento de bit de preenchimento F também é 0.
Os métodos de cálculo do comprimento de bit de preenchimento F serão agora descritos.
O comprimento F dos bits de preenchimento pode ser calculado subtraindo-se a seqüência de bits de entrada modificada tamanho B' a partir do resultado da multiplicação do número C de blocos de código pelo do bloco de código tamanho K.
A seguinte equação 23 ilustra um primeiro método de cálculo do comprimento F de bits de preenchimento.
[Equação 23]
F = C*K-B'
A Equação 23 mostra o método de cálculo do comprimento de bit de preenchimento quando o bloco de dados de entrada é segmentado em blocos de código do mesmo comprimento.
A seguinte Equação 24 expressa Equação 23 usando a seqüência de bits de entrada modificada tamanho B'.
[Equação 24]
F = C*K-(B+C*L)
Um segundo método de cálculo do comprimento F de bit de preenchimento na etapa S303 é conforme a seguir.
A Equação 25 ilustra um exemplo de cálculo do comprimento F dos bits de preenchimento. Ou seja, a Equação 25 mostra um método de cálculo do comprimento de bit de preenchimento quando o bloco de entrada de dados (ou bit de entrada) tem um tamanho específico (por exemplo, K + ou K-).
[Equação 25]
F = c+*k++ * C-*k- - B'
O comprimento F dos bits de preenchimento de pode ser calculado subtraindo-se a seqüência de bits de entrada modificada tamanho B' a partir da soma dos tamanhos de todos os blocos de código. Ou seja, o comprimento F dos bits de preenchimento pode ser calculado subtraindo-se a seqüência de bits de entrada modificada tamanho B' de um valor de (C+ x K+) + (C- x K-).
Usando a Equação 25, as modalidades exemplares da presente invenção podem ser aplicadas mesmo quando os tamanhos dos blocos de código segmentados a partir de um bloco de dados são diferentes. Uma vez que o comprimento de bit de preenchimento pode ser calculado quando um código de detecção de erro é incluído no código de blocos, os blocos de código podem ser gerados com precisão.
Na seguinte Equação 26 a seqüência de bit de entrada modificada tamanho B' é definida para um valor obtido pela multiplicação do código de detecção de erro tamanho L pelo número C de blocos e, em seguida, adicionando o bloco de dados (ou bit de entrada) tamanho B ao resultado multiplicado.
[Equação 26]
F=C+*K+ + C-*K--(B+C*L)
Referindo-se novamente à FIG. 3, se o número dos blocos de código, o tamanho do bloco de código e o comprimento dos bits de preenchimento são determinados, a unidade segmentação de bloco de dados 320 pode seqüencialmente alocar os dados para os blocos de código (etapa S304).
Na etapa S304, se o bloco de dados (30G) é composto de um bloco de código, incluindo um código de detecção de erros, os dados são alocados para o bloco de dados 300 e não é inserido para a unidade de anexação de CRC 340 . Este é o caso em que o tamanho do bloco de dados 300 é menor ou igual ao tamanho máximo do bloco de código 360. Portanto, o bloco de dados é segmentado pela unidade de segmentação de bloco de dados 320 e uma etapa para anexação de um código CRC para cada bloco de código segmentado é omitido. Ou seja, o bloco de dados de entrada 300 é usado diretamente como o bloco de código 360. Assim, somente um código CRC inicialmente incluído está presente no bloco de código 360 e o código CRC gerado a partir da unidade de anexação de CRC 340 não precisa ser anexado ao bloco de código 360.
Se os dados são alocados para os blocos de código, os blocos de código são inseridos para a unidade de anexação de CRC 340. A unidade de anexação de CRC 340 gera bits de paridade de CRC de um comprimento prescrito usando uma equação de geração de CRC com base nos blocos de códigos (etapa S305).
A unidade de anexação de CRC anexa os bits de paridade de CRC gerados na etapa S305 em uma parte traseira dos blocos de código em uma direção para frente ou para trás. Finalmente, os blocos de código com CRC anexado são gerados (etapa S306).
Segunda Modalidade
A FIG. 4 é um diagrama que ilustra um exemplo de um processo de anexação de códigos de CRC para blocos de código de acordo com uma modalidade exemplar da presente invenção.
Referindo-se agora a Fig. 4, um bloco de dados (por exemplo, um primeiro bloco de dados 400) é inserido em uma unidade de segmentação de bloco de dados 420 e é segmentado em blocos de código (por exemplo, um segundo bloco de dados). Blocos de código 430 em consideração de um tamanho de CRC são inseridos para a unidade de anexação de CRC 440 para gerar um bloco de código com CRC anexado 460. Este processo é similar ao método da FIG. 3, exceto para as etapas 304 e S306 na FIG. 3.
Outra modalidade exemplar da presente invenção assume que o tamanho do bloco de código 430 inserido para a unidade de fixação de CRC é igual ao tamanho do bloco de código com CRC anexado 460. Ou seja, um tamanho CRC está incluído no tamanho da entrada de bloco de código para a unidade de fixação de CRC. Assim, ao calcular o número e o tamanho dos blocos de código em relação aos dados de entrada, é desejável que a unidade de segmentação de bloco de dados considere o tamanho de um código CRC para ser anexado dentro de cada bloco de código.
Se o número C dos blocos de código, o bloco de código tamanho K e o comprimento F dos bits de preenchimento são determinados, a unidade de segmentação de bloco de dados 420 seqüencialmente alocou dados para os blocos de código. Neste momento, os bits de preenchimento e os dados são alocados para o primeiro bloco dos blocos de código.
Em uma outra modalidade exemplar da presente invenção, os dados são alocados para os blocos de código em consideração do CRC tamanho L para serem anexado na unidade de anexação de CRC. Portanto, os bits de preenchimento e dados são alocados para o primeiro bloco de código e um valor que consiste de Os ou Is correspondentes ao tamanho dos códigos de CRC é alocado para designar uma área de CRC. No entanto, o valor indica apenas a área de CRC e não significa que um código de CRC está anexado na área CRC.
Os dados são seqüencialmente alocados começando com o segundo bloco de código até o último bloco de código. Um valor que consiste de Os ou Is indicando que uma área de CRC é alocada em cada bloco de código para garantir a área de CRC.
A unidade de anexação de CRC anexa códigos de CRC para os blocos de código. Neste caso, os bits de paridade de CRC correspondentes à área de CRC preenchido de Os ou Is são gerados e os bits de paridade de CRC são anexados em uma direção para a frente ou para trás. Este processo é realizado para cada bloco de código. O tamanho L do código CRC pode ser de 24 bits.
Através do método descrito acima, o bloco de dados com um tamanho prescrito é segmentado em blocos de código com CRC anexado através da unidade de segmentação de bloco de dados 420 e a unidade de anexação de CRC 440.
No entanto, se o bloco de dados 400 é menor ou igual ao tamanho de código de bloco máximo, o bloco de dados não passa através da unidade de segmentação de bloco de dados 420 e a unidade de anexação de CRC 440. Ou seja, se o bloco de dados 400 é composto de um bloco de código, incluindo um código de CRC, uma vez que o bloco de dados 400 já incluiu o código de CRC, somente os dados são alocados para o bloco de dados 400 do código CRC não está ligado na unidade de anexação de CRC.
Ao configurar a entrada do bloco de código a unidade de anexação de CRC, um exemplo detalhado de inclusão do tamanho de CRC no bloco de código é conforme a seguir.
A Tabela 2 ilustra uma equação de configuração do bloco de código, considerando o tamanho CRC.
Figure img0006
A Tabela 3 ilustra uma equação de configuração do bloco de código, considerando o tamanho CRC quando o bloco de dados é composto por um bloco de código, incluindo um código de detecção de erros.
Figure img0007
Os principais parâmetros usados na Tabela 2 e Tabela 3 são os seguintes. Um parâmetro “F” indica o comprimento de bits de preenchimento, “Ork”' indica uma saída de uma unidade de segmentação de bloco de dados, “r” indica um número de bloco de código, e “k” indica um número de bit do bloco rth.
Supõe-se que o tamanho do bloco de código é K + e K-(Onde K- é menor que K+). Os parâmetros C + e C_ indicam os números dos blocos de código específicos, ou seja, o número de blocos de código com os tamanhos de K + e K_, respectivamente. Um parâmetro "L" mostrado na Tabela 2 e Tabela 3 indica o tamanho de um código de CRC para ser anexado em cada bloco de código e “Kr” indica o tamanho a ser aplicado no bloco de código.
Um exemplo de anexação de um código de CRC para cada bloco de código gerado em consideração de um tamanho de CRC é ilustrado na equação.
[Equação 27]
Ork = Ork; k = 0,1, 2,...,K,-L-1
Ork=-Pr(Kr-k-1);K = Kr-L,Kr-L+1,Kr-L+2,....,Kr-1(=Kr-L+L-1)
Quando o bloco de dados tamanho B é menor que o tamanho Z máximo do bloco de código, um exemplo de anexação de um código de CRC para cada bloco de código gerado considerando o CRC tamanho L é ilustrado na Equação 28.
[Equação 28]
if C = 1
bypass
else
Ork=Ork; k=0,1,2....,k-L-1
Ork= Pr(Kr-r-1); K=Kr-L, Kr-L+1, Kr-L+2,...Kr-1(=Kr-L+L-1)
end if
No cálculo dos parâmetros para anexação de CRC, presume-se que um tamanho aplicado ao bloco de código é Kr e um tamanho CRC anexado em cada bloco de código é L. Os bits de entrada podem ser denotados por Or0, Or1, Or2 OrKr-1. Os bits de paridade de CRC podem ser denotados por pr0, pr1, Pr2 Prl-1. Os bits de paridade de CRC podem ser gerados usando uma equação de geração de CRC com base em bits de entrada. Depois que os bits de paridade de CRC são anexados, os bits podem ser denotados por 0ro, 0r1, 0r2 0rke-1ou Cr0, Cr1, Cr2 ,... , CrKr-1 no mesmo espaço ou em espaços diferentes. Os bits de paridade de CRC podem ser anexados em uma direção para a frente ou para trás de um bloco de código de acordo com os requisitos do sistema.
Terceira modalidade
A FIG. 5 é um diagrama que ilustra um outro exemplo de um processo de anexação de códigos de CRC para blocos de código de acordo com uma modalidade exemplar da presente invenção;
Na FIG. 5, o tamanho de um bloco de código de entrada 530 inserido em uma unidade de ligação 540 tem um valor obtido subtraindo um tamanho L de CRC a partir do tamanho de um bloco de código de saída 560. Embora a operação de uma unidade de segmentação de bloco de dados 520 para dividir um bloco de dados (um primeiro bloco de dados 500) seja semelhante à operação das unidades de segmentação de bloco de dados mostrada na FIG. 3 e FIG. 4, um método para alocar dados a um bloco de código (um segundo bloco de dados) e um método para gerar um bloco ligado a CRC são diferentes dos métodos mostrados na FIG. 3 e FIG. 4. Ou seja, embora um tamanho do CRC seja considerado para dividir o bloco de dados, uma área de CRC não é garantida no tamanho dos blocos de código inseridos na unidade de ligação a CRC, que é diferente do método mostrado na FIG. 4.
Referindo-se à FIG. 5, o primeiro bloco de dados 500 é inserido na unidade de segmentação de bloco de dados 520 e segmentado no bloco de código 530 e o bloco de código 530 é inserido na unidade de ligação CRC 540, gerando assim o bloco de código ligado a CRC 56.
Na FIG. 5, se o bloco de dados 500 for inserido na unidade de segmentação de bloco de dados 520, a unidade de segmentação de bloco de dados 520 calcula o número C e o tamanho Z dos blocos de código considerando um tamanho do CRC. A unidade de segmentação do bloco de dados 520 calcula um comprimento F de bits de preenchimento usando número C e o tamanho K de blocos de código. A unidade de segmentação de bloco de dados 520 aloca bits de preenchimento e dados para o primeiro bloco entre os blocos de código. Neste caso, os dados são alocados seqüencialmente correspondentes a um comprimento subtraindo o comprimento de bits de preenchimento e o tamanho L de CRC do tamanho do bloco de código. O tamanho L do CRC pode ser 24 bits.
A unidade de segmentação de bloco de dados aloca seqüencialmente os dados correspondentes a um comprimento subtraindo o tamanho do CRC do tamanho do bloco de código ao segundo bloco. Um processo de alocamento de dados é repetido pelo número dos outros blocos de código. Através do processo de alocamento de dados, os blocos de código inseridos na unidade de ligação a CRC são configurados.
Ou seja, o número C dos blocos de código calculado pela unidade de segmentação de bloco de dados é entregue à unidade de ligação a CRC de modo que esta possa usar o número C dos blocos de código para ligar códigos de CRC aos blocos de código. Assumindo que o tamanho de cada bloco de código inserido na unidade de ligação a CR seja constante, o tamanho do bloco de código de entrada 530 é obtido multiplicando o número C dos blocos de código pelo resultado da subtração do tamanho K do CRC do tamanho K do bloco de código. Como alternativa, o tamanho do bloco de código de entrada 530 pode ser estabelecido à soma dos tamanhos de bloco de código, cada um tendo um valor calculado subtraindo o tamanho L do CRC do tamanho K do bloco de código.
Ao calcular todo o tamanho do bloco de código 530 inserido na unidade de ligação a CRC de acordo com o exemplo de modalidade da presente invenção descrito na FIG. 5, o bloco de código 530 tem um tamanho menor do que o tamanho calculado pelo método na FIG. 4 pelo tamanho de códigos de CRC que devem ser ligados aos blocos de código.
Referindo-se à FIG. 5, a unidade de ligação a CRC gera um tamanho prescrito de bits de paridade de CRC usando um CRC que gera equação baseada nos blocos de código de entrada e no número de blocos de código. A unidade de ligação a CRC liga os bits de paridade à final de cada bloco de código em direção para frente ou para trás.
Usando o método descrito com referência à FIG. 5, o bloco de dados tendo um tamanho prescrito é composto de blocos de código ligados a CRC que passam pela unidade de segmentação de bloco de dados e pela unidade de ligação a CRC.
No entanto, se o bloco de dados for composto de um bloco de código que inclui um código de CRC, uma etapa de passagem pela unidade de ligação a CRC 450 após alocar os dados é omitida. Ou seja, se o tamanho do bloco de dados for menor ou igual ao tamanho máximo do bloco de código, não é necessário dividir o bloco de dados, e o código de CRC incluído originalmente no bloco de dados é usado sem ligar repetidamente os códigos de CRC através da unidade de ligação a CRC 540.
Um exemplo detalhado de configuração de um bloco de código inserido na unidade de ligação a CRC quando um código de CRC não for incluído no bloco de código embora o tamanho de CRC seja considerado para configurar o bloco de código será descrito agora de acordo com outro exemplo de modalidade da presente invenção.
A seguinte Tabela 4 ilustra uma equação de configuração de um bloco de código que não inclui um código de CRC embora o tamanho do CRC seja considerado para gerar o bloco de código.
Figure img0008
A Tabela 5 a seguir ilustra uma equação de configuração de um bloco de código que leva em consideração um tamanho de CRC, mas não inclui um código de CRC quando o bloco de dados for composto de um bloco de código incluindo o código de CRC.
Figure img0009
Figure img0010
Os principais parâmetros usados na Tabela 4 e Tabela 5 são como segue. “F” indica o comprimento dos bits de preenchimento, “0rk” indica uma saída da unidade de segmento de bloco de dados, e “r” indica um número de bloco de código, e “k” indica um número de bits do bloco de rth.
Assume-se que os blocos de código têm os tamanhos K+ e K- (onde K- é menor que K+). Os parâmetros “ “C+” e “C.” indicam os números de blocos de código específicos, ou seja, os números de blocos de código tendo os tamanhos K+ e K-, respectivamente. Um parâmetro “L” mostrado na Tabela 4 e Tabela 5 indica um tamanho de CRC a ser ligado a cada bloco de código e “Kr” indica um tamanho a ser aplicado a um bloco de código.
Referindo-se à FIG. 5, o bloco de código que considera o tamanho do CRC mas não inclui o código do CRC é configurado e a Equação 27 pode ser usada para ligar o código do CRC aos blocos de código.
Se o bloco de dados não for segmentado e for composto de um bloco de código que inclui o código do CRC, o bloco de código que leva em consideração o tamanho do CRC mas não inclui o código do CRC será configurado e a Equação 28 poderá ser usada para ligado o código do CRC ao bloco de código.
Os bits após a fixação de CRC podem ser denotados por Or0, Or1, Or2, .... Οrκr-1 or Cr0 , Cn, Cr2, -r CrKr-1· Ou seja, os bits podem ser compreendido no mesmo espaço ou em espaços diferentes.
<Quarta modalidade>
A FIG. 6 é um diagrama que ilustra um processo de segmentação de um bloco de dados e ligação de códigos de CRC considerando um tamanho de CRC de acordo com um exemplo de modalidade da presente invenção.
Um bloco de dados (um primeiro bloco de dados 600) tendo um tamanho prescrito é inserido em um módulo de função (uma segmentação de bloco de dados e unidade de ligação a CRC) 620 para gerar um bloco de código (um segundo bloco de dados 640). O módulo de função 620 segmenta o bloco de dados e simultaneamente liga os códigos de CRC. O bloco de dados 600 pode incluir um código de CRC antes de ser inserido no módulo de função 620. Se o bloco de dados 600 for inserido no módulo de função 620, o módulo de função 620 calcula o número C dos blocos de código considerando um tamanho L do CRC (etapa S601). O módulo de função 620 calcula um tamanho K de bloco de código usando o número C dos blocos de código (etapa S602). O módulo de função 620 calcula um comprimento de bits de preenchimento F usando o número C dos blocos de código e do tamanho K de bloco de código (etapa S603).
Os métodos para calcular o número C de blocos de código, o tamanho K de bloco de códigos, e o comprimento F de bits de preenchimento usado nas etapas S601 a S603 pode usar um ou mais métodos usados na FIG. 3 a FIG. 5. No entanto, um método para alocar dados e códigos de CRC para codificar blocos de código na etapa S604 é diferente dos métodos descritos com referência da FIG. 3 a FIG. 5. O tamanho L de CRC pode ser 24 bits.
Referindo-se à FIG. 6, a etapa S604 para alocar dados e códigos de CRC a blocos de código é como segue.
Enquanto os bits de preenchimento são ligados ao início do primeiro bloco de código e os dados correspondentes a um comprimento exceto o tamanho L de CRC são alocados no primeiro bloco de código, um código de CRC é ligado à final do primeiro bloco de código em direção para frente ou para trás. No segundo bloco de código, os dados correspondentes a um comprimento exceto o tamanho de CRC são alocados e o código de CRC é ligado à final do segundo bloco de código em direção para frente ou para trás. O processo acima para alocar dados nos blocos de código após o segundo bloco de código é repetido para cada número C dos blocos de código restantes. O tamanho K de código de bloco pode ter o mesmo tamanho ou valores específicos (por exemplo, K+ ou K.). Os valores K+ e K- indicam uma quantidade de variação de minuto de K. Usando o método mostrado na FIG. 6, o bloco de dados tendo um tamanho prescrito pode ser composto de um bloco de código ligado a CRC 640 através do módulo de função 620. No entanto, se o bloco de dados for composto de um bloco de código incluindo um código de CRC, o código de CRC não é ligado após os dados serem alocados, visto que o bloco de dados inclui o código de CRC.
Após o bloco de códigos ser gerado, é realizada a codificação do canal. A codificação do canal se refere a um processo de conversão de um código original gerado por um lado transmissor de modo que um lado receptor possa detectar e/ou corrigir erros durante a transmissão de dados através de um canal. Ou seja, a codificação de canal se refere a um processo para superar um erro em ambientes de canal tendo energia limitada ou bandas largas limitadas.
Vários métodos podem ser aplicados para codificação de canal. A codificação de canal inclui codificação linear e codificação cíclica de um tipo não-memória, e codificação convolucional tail-biting e codificação turbo de um tipo memória.
A FIG. 7 é um diagrama que ilustra um processo de conversão de um bloco de dados nos blocos de código considerando um tamanho de CRC de acordo com um exemplo de modalidade da presente invenção. Referindo-se à FIG. 7, se um bloco de dados (um primeiro bloco de dados 700) for inserido em um módulo de função (ligação de CRC e segmentação de bloco de dados) 720, o bloco de dados é segmentado em um bloco de código (um segundo bloco de dados 740) considerando um tamanho L de CRC. Um processo de conversão do bloco de dados no bloco de código através da unidade de ligação a CRC e segmentação de bloco de dados pode usar o processo mostrado na FIG. 6. Na FIG. 7, o bloco de dados 700 pode incluir um código de CRC para o bloco de dados antes de o bloco de dados ser inserido no módulo de função.
Um exemplo de realização de segmentação de bloco de dados e ligação a CRC em um módulo de função será agora descrito.
A seguinte Tabela 6 mostra uma equação de configuração do bloco de dados para segmentar o bloco de dados e ligar o código de CRC quando a segmentação de bloco de dados e a ligação de código CRC forem realizadas em um módulo de função 720.
Figure img0011
Figure img0012
A Tabela 7 a seguir mostra uma equação de configuração do bloco de dados para segmentar o bloco de dados e ligar os códigos de CRC, quando o bloco de dados não for segmentado e for composto de um bloco de código incluindo um código de CRC (i.e., C=1) e quando a segmentação de bloco de dados e ligação de código de CRC forem realizadas em um módulo de função 720.
Figure img0013
Os parâmetros principais usados na Tabela 6 e Tabela 7 são como segue. Um parâmetro “F” indica o comprimento de bits de preenchimento. “Ork” indica uma saída de uma unidade de segmentação de bloco de dados, “r” indica um número de bloco de código, e “k” indica um número de bits do bloco rth. Assume-se que os blocos de código têm tamanhos K+ e K- (onde K- é menor do que K+). Os parâmetros C+ e C. indicam os números de blocos de código específicos, ou seja, o número de blocos de código tendo os tamanhos K+ e K-, respectivamente. Um parâmetro “L” mostrado na Tabela 6 e Tabela 7 indica um tamanho de CRC a ser ligado por bloco de código e “Kr” indica um tamanho a ser aplicado a um código de bloco final. Os bits de paridade de CRC para ligação de código de CRC podem ser denotados por pr0, Pr1, Pr2,...PrL-1· Os bits de paridade de ORC podem ser gerados usando uma equação de geração de ORC com base nos blocos de entrada. Os bits após segmentação de dados e ligação a ORC podem ser denotados por Or0, Or1, Or2, ..., Orκr-1 ou Cr0, Cr1, Cr2, ..., CrKr-1· Ou seja, os bits podem incluídos no mesmo espaço ou espaços diferentes.
<Quinta modalidade>
Um outro exemplo de modalidade da presente invenção pode ser construído por uma combinação dos métodos descritos na primeira à quarta modalidades.
Os dados de um tamanho grande podem ser segmentados, antes da transmissão, em dados de tamanhos adequados de acordo com exigências do sistema para transferir dados de forma eficaz. Conseqüentemente, é necessário segmentar um bloco de dados de entrada por um método apropriado. Pode ser importante determinar qual método deve ser usado para segmentação de bloco de dados.
A unidade de segmentação de bloco de dados e ligação a ORC de acordo com outro exemplo de modalidade da presente invenção é um módulo de função para segmentar um bloco de dados lógico (ou bit de entrada) e ligar códigos de ORC. O módulo de função pode segmentar o bloco de dados de entrada em blocos de código de um número adequado considerando o tamanho dos códigos de detecção de erros (por exemplo, códigos de CRC) incluídos nos blocos de código a serem segmentados.
Se os bits de entrada forem segmentados em blocos de código (ou segmentos), um tamanho Z de bloco de código máximo pode ser determinado de acordo com exigências do sistema. No exemplo de modalidades da presente invenção, o tamanho máximo de bloco de código desejável é 6144 bits.
Uma seqüência dos bits de entrada (ou bloco de dados) inseridos no módulo de função pode ser denotada por b0, b1: b2, ... , bB-1. O tamanho dos bits de entrada pode ser indicado por “B” (onde B é acima de 1). Se o tamanho dos bits de entrada for maior do que o tamanho Z máximo de bloco de código, a segmentação dos bits de entrada poderá ser realizada. O tamanho L de CRC pode ser 24 bits. Ou seja, um código de CRC de 24 bits, que é um tipo de código de detecção de erro, pode ser ligado a cada bloco de código gerado por segmentação dos bits de entrada.
Se o comprimentos dos bits de preenchimento não for O, os bits de preenchimento poderão ser adicionados ao início do primeiro bloco de código. Se o tamanho B dos bits de entrada for menor do que 40 bita, os bits de preenchimento serão adicionados ao início do bloco de código. Os bits de preenchimento são configurados para serem nulos na entrada ao módulo de função.
O número total C dos blocos de código gerado pela segmentação dos bits de entrada pode ser calculado pela seguinte Equação 29.
[Equação 29]
if B ≤ Z←
L =O←
C = 1←
B' = B←
else←
L = 24←
C = [Β / (Z - L)]←
B' = B+C*L←
end if ←
Na equação 29, B indica o tamanho da seqüência de bits de entrada (ou bloco de dados) e B‘ indica um valor obtido adicionando o tamanho B da seqüência de bits de entrada ao resultado da multiplicação do número C de blocos de código pelo tamanho L de CRC. Ou seja, B' indica um tamanho de seqüência de bits de entrada modificado para calcular o número e tamanho de blocos de código.
Na Equação 29, se o tamanho B de bits de entrada for menor do que o tamanho Z máximo do bloco de código, o tamanho dos códigos de detecção de erro a serem ligados aos blocos de código poderá ser estabelecido em 0 e o número total C dos blocos de código poderá ser estabelecido em 1. O tamanho B' de seqüência de bits de entrada modificada pode ser estabelecido para ser igual ao tamanho B da seqüência de bits de entrada.
Se o tamanho B de bits de entrada for maior do que o tamanho Z máximo de loco de códigos, o tamanho L de CRC poderá ser estabelecido em 24 bits e o número total C de blocos de código poderá ser estabelecido em um valor obtido através de arredondando para cima um valor obtido dividindo o tamanho B de seqüência de bits de entrada pelo resultado da subtração do tamanho de CRC a partir do tamanho Z máximo do bloco de código. O tamanho B' de seqüência de bits de entrada modificada por ser estabelecido em um valor obtido adicionando o tamanho B de bits de entrada ao resultado da multiplicação do número C total dos blocos de código pelo tamanho L de CRC.
Se o número de blocos de código não for O, os blocos de código gerados a partir do bloco de função poderão ser denotados por Cr0, cr1, Cr2, cr3 cr(kr-1) (onde r indica um número de bloco de código e Kr indica o tamanho do bloco de código rth. O módulo de função deve calcular o tamanho de cada bloco de código após calcular o número de blocos de código através da Equação 29. Os bits de entrada podem ser segmentados em blocos de código tendo o mesmo tamanho ou tendo um tamanho específico (por exemplo, K+ ou K-). É evidente que os blocos de código têm vários tamanhos de acordo com as exigências do sistema ou uso.
Em outro exemplo de modalidade da presente invenção, os tamanhos dos blocos de código podem ser K+ e K-. Neste caso, o número C de blocos de código não deve ser 0.
Em um exemplo de modalidade da presente invenção, o tamanho dos primeiros blocos de código (ou primeiros segmentos) pode ser indicado por K+. O tamanho K+ pode ser determinado a partir dos valores K na Tabela 1. O tamanho K+ pode ser determinado por um valor mínimo entre os valores K que satisfazem a condição de que um valor obtido multiplicando o número C de blocos de código pelo tamanho K de bloco de código é acima do tamanho B' de seqüência de bits de entrada modificada.
Se o número C dos blocos de código for 1, o número C+ dos blocos de código tendo o tamanho K+ será 1 e o número C- dos blocos de código tendo o tamanho K será 0.
Se o número de blocos de código for 2 ou mais (C>1), o tamanho K- dos segundos blocos de código (ou segundos segmentos) poderá ser determinado pelos valores K mostrados na Tabela 1. Desejavelmente, o tamanho K tem um valor máximo entre os valores K menor que o tamanho K+. Uma quantidade de variação Δκ de K indica uma diferença entre K+ e K-.
O número C- dos segundos blocos de código tendo o tamanho K- pode ser calculado arredondando para baixo um valor obtido dividindo um valor, que é obtido subtraindo o tamanho B' da seqüência de bits de entrada modificada do resultado da multiplicação do número C de blocos de código pelo tamanho K+ do primeiro bloco de código, pela quantidade de variação Δκ de K. O número C+ dos primeiros códigos de bloco tendo o tamanho K+ pode ser calculado subtraindo o número C- dos segundos blocos de código do número C total de blocos de código.
Uma vez que o tamanho L de CRC incluído no bloco de código é considerado para calcular o número C dos blocos de código e o tamanho K do bloco de código, a soma dos blocos de código pode ser maior do que o tamanho B’ da seqüência de bits modificada. Em seguida, os bits correspondentes à diferença podem ser adicionados ao primeiro bloco de código.
Em outro exemplo de modalidade da presente invenção, um comprimento F de bits de preenchimento pode ser calculado por uma diferença entre o tamanho B‘ de seqüência de bits de entrada modificada e um valor de (C+ x K+) + (C- x K.).
A Tabela 8 ilustra uma equação de configuração gerada considerando o tamanho de CRC.
Figure img0014
Figure img0015
Referindo-se à Tabela 8, o módulo de função configura um bloco de código incluindo o bloco de código de tamanho de CRC. Uma seqüência de bloco de código Cr0, cr1, Cr2, ... , Cr(κr- 1) pode ser usado para calcular bits de paridade de CRC Pr0, Pr1, Pr2,...,Pr(L-1).
Em outro exemplo de modalidade da presente invenção, um código de detecção de erro incluído anteriormente no bloco de dados de entrada pode ser denominado CRC de bloco de transporte (TB) (ou primeiro código de detecção de erros) e um código de detecção de erros incluído nos blocos de código a serem segmentados pode ser denominado CRC de bloco de código (CB) (ou segundo código de detecção de erros). Um bloco de dados inicial antes de um CRC de TB é ligado a bits de entrada, podendo ser referido como bits de entrada iniciais ou bloco de transporte.O tamanho de um CRC de TB pode ser 24 bits.
Se a segmentação do bloco de dados na quinta modalidade não for realizada (i.e., C=1), o bloco de dados de entrada inicial pode ser configurado por um bloco de código final incluindo um CRC de TB. No entanto, o bloco de código final pode ser configurado ligando um CRC de CB em vez do CRC de TB de acordo com as exigências do usuário e modalidades da presente invenção.
<Sexta Modalidade>
Outro exemplo de modalidade da presente invenção pode ser construído por uma combinação dos métodos descritos na primeira à quarta modalidades.
Uma unidade de segmentação de bloco de dados e ligação a CRC de acordo com outro exemplo de modalidade da presente invenção é um módulo de função para segmentar um bloco de dados de entrada em blocos de código de tamanhos adequados considerando códigos de detecção de erros (por exemplo, código de CRC) incluídos nos blocos de código a serem segmentados. Se uma seqüência de bits de entrada for segmentada em blocos de código, um tamanho que pode ser maximamente segmentado é determinado de acordo com exigências do sistema. Nos exemplos de modalidade da presente invenção, um tamanho Z máximo de bloco de código pode ser 6144 bits. Uma seqüência de bits de entrada (ou bloco de dados) inserida no módulo de função pode ser denotada por b0, b-1, b2 bB-1. Assume-se que um tamanho de bit de entrada é acima de 1. Se o tamanho B de bits de entrada for maior do que o tamanho máximo Z de bloco de código, a segmentação dos bits de entrada é realizada. Um tamanho de CRC a ser ligado aos blocos de código é considerado para segmentar os bits de entrada. Se o comprimento dos bits de preenchimento não for O, os bits de preenchimento poderão ser adicionados ao início do primeiro bloco de código. Os bits de preenchimento são configurados para serem nulos na entrada do módulo de função.
O número total C dos blocos de código gerados pela segmentação dos bits de entrada pode ser calculado pela seguinte Equação 30.
[Equação 30]
If B ≤ Z
C = 1
B’=B
Else
C=[B/(Z-L)]
B’ =B + C x L
End
Na Equação 30, B indica o tamanho dos bits de entrada (ou bloco de dados) e B' indica um valor obtido adicionando o tamanho B de bits de entrada ao resultado da multiplicação do número C dos blocos de código pelo tamanho L de CRC. Ou seja, B' indica um tamanho de seqüência de bits de entrada modificada para adquirir o tamanho K de bloco de código.
Se o número de blocos de código não for 0, os blocos de código gerados a partir do bloco de função poderá ser denotado por cr0, cr1, cr2, cr3 cr(kr-1) onde r indica um número de bloco de código e Kr indica o tamanho do bloco de código de rth.
O módulo de função deve calcular o tamanho de cada bloco de código após calcular o número de blocos de código através da Equação 30. Cada um dos blocos de código pode ter o tamanho K+ ou K-. Neste caso, o número de blocos de código não deve ser 0.
No exemplo de modalidade da presente invenção, o tamanho de um primeiro bloco de código pode ser indicado por K+. O tamanho K+ pode ser determinado a partir dos valores K na Tabela 1. O tamanho K+ pode ter um valor mínimo entre os valores K que satisfazem a condição de um valor obtido pela divisão do tamanho B’ de seqüência de bits de entrada modificada pelo número C de blocos de código ser maior ou igual aos valores K.
Se o número C dos blocos de código for 1, o número C+ dos primeiros blocos de código tendo o tamanho K+ será 1 e o número ‘C- dos segundos blocos de código tendo o tamanho K será 0. Se o número de blocos de código for 2 ou mais (C>1), o tamanho K- dos segundos blocos de código poderá ser estabelecido em um valor máximo entre os valores K1 mostrados na Tabela 1, que são menores do que K+. Uma quantidade de variação Δκ de K indica uma diferença entre K+ e K-. O número C- dos segundos blocos de código tendo o tamanho K- pode ser calculado arredondando para baixo um valor obtido dividindo um valor, que é obtido subtraindo o tamanho B’ de seqüência de bits de entrada modificada do resultado da divisão do número C dos blocos de código pelo tamanho K+ do bloco de códigos, pela quantidade de variação Δκ de K. O número C+ dos primeiros blocos de código tendo o tamanho K+ pode ser calculado subtraindo o número C- dos segundos blocos de código do número total C dos blocos de código. O tamanho L de bits de paridade de CRC pode ser estabelecido em 24 bits.
Uma vez que o tamanho L de CRC é considerado para calcular o número e tamanho dos blocos de código, o tamanho de bloco de código pode ser maior do que o tamanho B’ de seqüência de bits de entrada. Neste caso, os bits de preenchimento correspondente à diferença podem ser adicionados ao primeiro bloco de código.
Em outro exemplo de modalidade da presente invenção, um comprimento F de bits de preenchimento pode ser calculado por uma diferença entre o tamanho B’ de seqüência de bits de entrada modificada e um valor de (C+ x K+) + (C. x K.).
A Tabela 9 ilustra uma equação de configuração de um bloco de código gerado considerando o tamanho de CRC.
[Tabela 9]
Figure img0016
Na Tabela 9, o módulo de função configura um bloco de código incluindo o tamanho de CRC. Uma seqüência de bloco de código Cr0, cr1, Cr2,.... cr(Kr-1) pode ser usada para calcular bits de paridade de CRC Pr0, Pr1, Pr2, ·· ·, Pr(L-1).
<Sétima Modalidade>
Outro exemplo de modalidade da presente invenção pode ser construído por uma combinação dos métodos descritos na primeira à quarta modalidade. Outro exemplo de modalidade da presente invenção define um módulo de função para ligação a CRC e segmentação de bits de entrada. O módulo de função pode segmentar o bloco de dados de entrada nos blocos de código de um número adequado considerando o tamanho dos códigos de detecção de erros (por exemplo, códigos de CRC) incluído nos blocos de código a serem segmentados. Se uma seqüência de bits de entrada for segmentada em biocos de código, um tamanho Z que pode ser maximamente segmentado é determinado de acordo com exigências do sistema. Nos exemplos de modalidades da presente invenção, o tamanho máximo de bloco de código pode ser 6144 bits.
Os blocos de código gerados pela segmentação de dados de entrada inseridos no módulo de função podem ser denotados por b0, b1, b2 bB-1. A segmentação dos bits de entrada pode ser realizada quando o tamanho B de bits de entrada for maior do que o tamanho máximo do bloco de código.
Se o tamanho B de bits de entrada não for O e o comprimento dos bits de preenchimento não for O, os bits de preenchimento poderão ser adicionados ao início do primeiro bloco de código. Se o tamanho B dos bits de entrada for menor do que 40 bits, os bits de preenchimento serão adicionados ao início do bloco de código. Os bits de preenchimento são configurados para serem nulos. O número de blocos de código gerados por segmentação dos bits de entrada pode ser calculado pela seguinte Equação 31.
[Equação 31]
If B ≤ Z
B’ = B
Else
If ([Β/Ζ] x L + B > [Β/Z] x Z)
B’ = B + ([Β/Ζ]+ 1) x L
Else
B’ =B +[Β/Ζ] x L
End
End
C = [B’/Z]
Na Equação 31, se o tamanho B de bits de entrada for menor ou igual ao tamanho Z máximo de bloco de código, o tamanho B se bits de entrada equivale ao tamanho B’ de seqüência de bits de entrada modificada. Quando o tamanho B de bits de entrada for maior do que o tamanho máximo Z de bloco de código, é usado o seguinte método.
Se um valor obtido adicionando B ao resultado da multiplicação de L por um valor obtido arredondando para cima o resultado da divisão de B por Z, for maior do que um valor, obtido multiplicando z por um valor obtido arredondando para cima o resultado da divisão de B por Z, o tamanho B’ de seqüência de bits de entrada assume um valor obtido arredondando para cima o resultado da divisão de B por 2, mais 1 vez o tamanho L de CRC e o tamanho B de bloco de dados.
Através do processo acima, o número c de blocos de código é determinado por um valor obtido arredondando para cima o resultado da divisão do tamanho B’ de seqüência de bits de entrada modificada pelo tamanho máximo Z de bloco de código. Os bits de entrada segmentados a partir do bloco de função podem ser denotados por cr0, cr1, cr2, cr3,... ,Cr(kr-1) (onde r indica um número de bloco de código e Kr indica um tamanho do bloco de código rth).
O módulo de função deve calcular o tamanho de cada bloco de código após calcular o número de blocos de código através da Equação 31. Cada um dos blocos de código pode ter o tamanho K+ ou K-. Neste caso, o número de blocos de código não deve ser 0.
No exemplo de modalidade da presente invenção, o tamanho de um primeiro bloco de códigos pode ser indicado por K+. O tamanho K+ pode ser determinado a partir dos valores K na Tabela 1. O tamanho K+ pode ter um valor mínimo entre os valores K que satisfazem a condição de um valor obtido dividindo o tamanho B’ de seqüência de bits de entrada modificada pelo número C de blocos de código ser maior ou igual aos valores K. Se o número C dos blocos de código for 1, o número C+ dos primeiros blocos de código tendo o tamanho K+ será 1 e o número C- dos segundos blocos tendo o tamanho K será 0.
Se o número dos blocos de código for 2 ou mais (C>1), o tamanho K- dos segundos blocos de código poderá ser determinado por um valor máximo entre os valores K, mostrados na Tabela 1, que são menores do que K+. Uma quantidade de variação Δκ de K indica uma diferença entre K+ e K..
O número C- dos segundos blocos de código tendo o tamanho K- pode ser calculado arredondando para baixo um valor obtido dividindo um valor que é obtido subtraindo o tamanho B’ de seqüência de bits de entrada modificada do resultado da divisão do número C de blocos de código pelo tamanho K+ do primeiro bloco de código, pela quantidade de variação Δκ de K. O número C+ dos primeiros blocos de código tendo o tamanho K+ pode ser calculado subtraindo o número C- dos segundos blocos de código do número total C de blocos de código. O tamanho L dos bits de paridade de CRC pode ser estabelecido em 24 bits.
Uma vez que o tamanho L de CRC é considerado para calcular o número e tamanho dos blocos de código, o tamanho do bloco de código pode ser maior do que o tamanho B’ de seqüência de bits de entrada modificada. Em seguida, os bits de preenchimento correspondentes à diferença podem ser adicionados ao primeiro bloco de código.
Em outro exemplo de modalidade da presente invenção, um comprimento F de bits de preenchimento pode ser calculado por uma diferença entre ο tamanho B’ de seqüência de bits de entrada modificada e um valor de (C+ x K+) + (C. x K-). A tabela 10 ilustra uma equação de configuração de um bloco de código gerado considerando o tamanho de CRC.
Figure img0017
Pode ser entendido através da Tabela 10 que o módulo de função configura blocos de código pela segmentação de bits de entrada considerando um tamanho de CRC.
<Oitava Modalidade>
Outro exemplo de modalidade da presente invenção pode ser construído por uma combinação dos métodos descritos na primeira à quarta modalidade.
Os dados de tamanho grande podem ser segmentados, antes da transmissão, em dados de tamanhos adequados de acordo com exigências do sistema para transferir dados de forma eficaz. Conseqüentemente, é necessário segmentar um bloco de dados de entrada através de um método apropriado. Pode ser importante determina qual método é usado para segmentação de bloco de dados.
Uma unidade de segmentação de bloco de dados e ligação a CRC de acordo com outro exemplo de modalidade da presente invenção constrói um módulo de função. O módulo de função segmenta o bloco de dados de entrada em blocos de código de um número adequado considerando o tamanho dos códigos de detecção de erros (por exemplo, códigos de CRC) incluído nos blocos de código a serem segmentados. Se uma seqüência de bits de entrada for segmentada nos blocos de código, um tamanho que pode ser maximamente segmentado é determinado de acordo com exigências do sistema. Nos exemplos de modalidades da presente invenção, o tamanho máximo do bloco de código pode ser 6144 bits. Uma seqüência de bits de entrada (ou bloco de dados) inserida no módulo de função pode ser denotada por b1, b2, b3, ..., bB-1 . O tamanho dos bits de entrada pode ser indicado por “B” (onde B é acima de 1). Se o tamanho B dos bits de entrada for maior do que o tamanho máximo Z do bloco de código, os bits de entrada poderão ser segmentados considerando um tamanho de CRC. O tamanho de CRC pode ser 24 bits. Ou seja, um código de CRC de 24 bits, que é um tipo de um código de detecção de erros, pode ser ligado a cada bloco de código gerado pela segmentação da seqüência de bits de entrada; Se o comprimento dos bits de preenchimento não for O, os bits de preenchimento poderão ser adicionados ao início do primeiro bloco de código. Se o tamanho B de bits de entrada for maior do que 40 bits, os bits de preenchimento são adicionados ao início do bloco de código. Os bits de preenchimento são configurados para serem nulos. O número C de blocos de código gerado por segmentação dos bits de entrada pode ser calculado pela seguinte Equação 32.
[Equação 32]
C =[B/(Z-L)]
B’ = B + C * L
Na Equação 32,”B” indica o tamanho dos bits de entrada (ou bloco de dados) e um tamanho B’ de seqüência de bits de entrada modificada é obtido adicionando o tamanho B de bits de entrada ao resultado da multiplicação do número C de blocos de código pelo tamanho L de CRC.
Ou seja, o tamanho B' de seqüência de bits de entrada modificada é um valor temporal para calcular o número e tamanho dos blocos de código.
Se o número de blocos de código não for 0, os blocos de código gerados a partir do bloco de função poderá ser denotado por Cr0, Cr1, Cr2, C r3...,Cr(kr-1) (onde r indica um número de bloco de código e Kr indica o tamanho do bloco de código rth.
O módulo de função deve calcular o tamanho de cada bloco de código após calcular o número de blocos de código através da Equação 32. Cada um dos blocos de código pode ter o tamanho K+ ou K.. Neste caso, o número de blocos de código deve ser acima de 1.
No exemplo de modalidade da presente invenção, o tamanho de um primeiro bloco de código pode ser indicado por K+. O tamanho K+ pode ser determinado a partir dos valores K na Tabela 1.
O tamanho K+ pode ter um valor mínimo entre os valores K que satisfazem a condição de um valor obtido dividindo o tamanho B’ de seqüências de bits de entrada modificada pelo número C de códigos de bloco é maior ou igual aos valores K. Se o número C de blocos de código for 1, o número C+ dos primeiros blocos de código tendo o tamanho K+ será 1 e o número C dos segundos blocos de código tendo o tamanho K- será 0.
Se o número de blocos de código for 2 ou mais (C>1), o tamanho K- dos segundos blocos de código poderá ser determinado por um valor máximo entre os valores K- mostrados na Tabela 1, que são menores do que K+.Uma quantidade de variação Δκ de K indica uma diferença entre K+ e K-.
O número C- dos segundos blocos de código tendo o tamanho K- pode ser calculado arredondando para baixo um valor obtido dividindo um valor que é obtido pela subtração do tamanho B’ de seqüência de bits de entrada modificada do resultado da divisão do número C dos blocos de código pelo tamanho K+ do primeiro bloco de código, pela quantidade de variação Δκ de K. O número C+ dos primeiros blocos de código tendo o tamanho K+ pode ser calculado subtraindo o número C- dos segundos blocos de código do número total C dos blocos de código.
Uma vez que o tamanho L de CRC é considerado para calcular o número e tamanho dos blocos de código, o tamanho de bloco de código pode ser maior do que o tamanho B’ de seqüência de bits de entrada modificada. Em seguida, os bits de preenchimento correspondentes à diferença podem ser adicionados ao primeiro bloco de código.
Em outro exemplo de modalidade da presente invenção, um comprimento F de bits de preenchimento pode ser calculado por uma diferença entre o tamanho B’ de seqüência de bits de entrada modificada e um valor de (C+ x K+) + (C. x K-).
A Tabela 11 ilustra uma equação de configuração de um bloco de código gerado considerando o tamanho de CRC.
Figure img0018
Pode ser entendido através da Tabela 11 que o módulo de função configura blocos de código considerando um tamanho de CRC. Na Tabela 11, uma seqüência de bloco de código cr0, cr1, Cr2 Cr(kr-1) pode ser usada para calcular ps bits de paridade de CRC pr0, pr1, Pr2....,Pr(L-1).
<Nona Modalidade>
Outro exemplo de modalidade da presente invenção pode ser construído por uma combinação dos métodos descritos na primeira à quarta modalidade.
Um método de acordo com a nona modalidade é semelhante ao método descrito na oitava modalidade. Ou seja, o método para calcular o número de códigos de bloco gerados por segmentação de bits de entrada pode usar o método descrito na oitava modalidade. Além disso, os métodos para calcular bits de preenchimento, o tamanho dos blocos de código, o número de blocos de código são semelhantes aos métodos descritos na oitava modalidade. Portanto, apenas partes diferentes da configuração dos blocos segmentados serão descritas.
A seguinte Tabela 12 ilustra uma equação de configuração de um bloco de código gerado considerando um tamanho de CRC.
Figure img0019
Pode ser entendido através da Tabela 12 que o módulo de função configura blocos de código considerando um tamanho de CRC. Na Tabela 12, uma seqüência de bloco de código cr0, or1, Cr2...,Cr(kr-1) pode ser usada para calcular bits de paridade de CRC pr0, pr1, Pr2...,Pr(L-1).
<Décima Modalidade>
Outro exemplo de modalidade da presente invenção pode ser configurado por uma combinação dos métodos descritos no primeiro ao quarto exemplo de modalidades.
A décima modalidade é semelhante à quinta modalidade. Os métodos para calcular o número de blocos de código, o tamanho dos blocos de código, e o comprimento dos bits de preenchimento são os mesmos dos métodos descritos na quinta modalidade. No entanto, um método para alocar dados a cada bloco de código e simultaneamente ligar códigos de detecção de erros é diferente do método descrito na quinta modalidade.
A seguinte Tabela 13 ilustra uma equação de configuração de um bloco de código gerado considerando um tamanho de CRC.
Figure img0020
Figure img0021
Uma descrição fundamental junto com a Tabela 13 é semelhante à descrição com a Tabela 8. Portanto, partes repetitivas podem ser referir à descrição na Tabela 8.
Na Tabela 13, se o número C dos blocos de código for acima de 1, os bits de paridade de CRC são ligados a cada bloco de código. Uma seqüência de blocos de código Cr0, Cr1, Cr2...,Cr(kr-1) pode ser usada para calcular um bit de paridade de CRC pr0, pr1, Pr2...,Pr(L-1)· Os bits de paridade de CRC podem ser ligados a locais dos bits de paridade de CRC incluídos em blocos de código em uma direção para frente ou para trás. Assume-se que no exemplo de modalidade da presente invenção, os bits de paridade de CRC são ligados na direção para frente. A equação 33 ilustra a ligação de bits de paridade de CRC em uma direção para frente.
[Equação 33]
If c > 1
while k < Kr
Crk= Pr(k +L-Kr)
k = k+1
end while
end if
Na Equação 33, os bits de paridade de CRC (pr(k+L-Kr)) inseridos nos blocos de código são ligados em direção para frente. Ou seja, um código de CRC é inserido após os dados serem inseridos em um bloco de código e um código de CRC ser inserido após os dados serem inseridos em outro bloco de código. Através destes processos, os dados e código de CRC são simultaneamente alocados aos blocos de código.
A FIG. 8 é um fluxograma que ilustra um processo de segmentação de um bloco de dados considerando um tamanho de CRC de acordo com um exemplo de modalidade da presente invenção.
Os dados de tamanho grande podem ser segmentados, antes da transmissão, em dados de tamanhos adequados de acordo com exigências do sistema para transferir dados de forma eficaz. Conseqüentemente, é necessário segmentar um bloco de dados de entrada por um método apropriado. Pode ser importante determinar qual método deve ser usado para segmentação de bloco de dados.
Uma unidade de segmentação de bloco de dados lógico e ligação a CRC de acordo com o exemplo de modalidade da presente invenção é composta de um módulo de função para segmentar um bloco de dados de entrada em consideração do tamanho dos códigos de detecção de erros (por exemplo, códigos de CRC) incluídos em blocos de código a serem segmentados. No entanto, quando uma seqüência de bits de entrada for segmentada em blocos de código, o tamanho que pode ser maximamente segmentado poderá ser determinado de acordo com exigências do sistema.
O bloco de dados pode anteriormente inclui um código de CRC. Um bloco de dados inicial antes do código de CRC é ligado ao bloco de dados podendo ser denominado bits de entrada iniciais ou bloco de transporte. O bloco de transporte pode significar dados transmitidos a partir de uma camada superior.
Referindo-se à FIG. 8, um bloco de dados tendo um tamanho B é inserido em um módulo de função (etapa S801). O bloco de dados pode incluir um primeiro código de CRC indicando um código de detecção de erros para bits de entrada.
O módulo de função compara o tamanho B do bloco de dados (ou bits de entrada) com um tamanho Z de blocos de código (etapa S802).
Se o tamanho B dos blocos de dados for maior do que o tamanho Z máximo de bloco de código na etapa S802, o módulo de função calcula o número C de blocos de código segmentados pelo bloco de dados de entrada considerando um tamanho de CRC a ser ligado aos blocos de código (etapa S803).
Após calcular o número C de blocos de código na etapa S803, o módulo de função calcula o tamanho K+ ou K- de cada bloco de código (etapa S804).
O tamanho de cada bloco de código pode ser calculado por vários métodos na etapa S804. A saber, os métodos para calcular o tamanho de cada bloco de código descrito na primeira à nona modalidade da presente invenção podem ser usados. Como exemplo, o tamanho de cada bloco de código pode ser calculado usando o tamanho B’ de seqüência de bits de entrada modificada.
Após calcular o número e tamanho dos blocos de código considerando um tamanho de CRC, o módulo de função calcula um comprimento de bits de preenchimento subtraindo o tamanho B’ de seqüência de bits de entrada modificada do tamanho do bloco de código (etapa S805).
Após calcular o número e tamanho dos blocos de código através das etapas S803 a S805, o módulo de função aloca dados e um segundo código de CRC (etapa S806). O segundo código de CRC é diferente em função do primeiro código de CRC incluído no bloco de dados. O primeiro código de CRC é um código de detecção de erros para o bloco de dados e o segundo código de CRC é um código de detecção de erros para os blocos de código segmentados pelo bloco de dados.
Se o tamanho B de bloco de dados não for maior do que o tamanho Z máximo do bloco de código na etapa S802, é desnecessário segmentar o bloco de dados. Ou seja, o número C de blocos de código é estabelecido em 1 e as etapas para calcular o tamanho dos blocos de código e o comprimento dos bits de preenchimento são omitidas. Conseqüentemente, os dados podem ser diretamente alocados ao bloco de dados de entrada (etapa S807). Neste momento, o primeiro código de CRC incluído no bloco de dados pode ser usado e o segundo código de CRC não é ligado novamente. A FIG. 9 é um fluxograma que ilustra um processo para calcular o número C de blocos de código de acordo com um exemplo de modalidade da presente invenção.
As etapas S901 e S902 na FIG. 9 são semelhantes às etapas S801 e S802 na FIG. 8 e portanto uma descrição das mesmas será omitida.
Referindo-se à FIG. 9, se o tamanho B de bloco de dados for maior do que o tamanho Z máximo de bloco de código na etapa S902, o número C de blocos de código será calculado arredondando para cima um valor que é obtido dividindo o tamanho B de bloco de dados pelo resultado da subtração do tamanho L do segundo código de CRC do tamanho Z máximo do bloco de código (etapa S903).
Se o tamanho B do bloco de dados não for maior do que o tamanho Z máximo do bloco de código na etapa S902, é desnecessário segmentar o bloco de dados de entrada e o número C dos blocos de código será 1 (etapa S904).
A FIG. 10 é um fluxograma que ilustra um processo de segmentação de um bloco de dados usando um tamanho de seqüência de bits de entrada modificada de acordo com um exemplo de modalidade da presente invenção.
Os dados de tamanho grande podem ser segmentados, antes da transmissão, em dados de tamanhos adequados de acordo com exigências do sistema para transferir dados de forma eficaz. Conseqüentemente, é necessário segmentar um bloco de dados de entrada por um método apropriado. Pode ser importante determinar qual método deve ser usado para segmentação de bloco de dados.
Uma unidade de segmentação de bloco de dados lógico e ligação a CRC de acordo com o exemplo de modalidade da presente invenção é composta de um módulo de função. O módulo de função segmenta um bloco de dados de entrada em blocos de código de um número adequado e adiciona dados calculando o tamanho de cada bloco de código.
Referindo-se à FIG. 10, se um bloco de dados (i.e., bits de entrada) for inserido no módulo de função, o módulo de função calcula o número C de blocos de código segmentados pelo bloco de dados (etapa S801). O bloco de dados pode incluir um primeiro código de CRC indicando um código de detecção de erros para os bits de entrada. Após calcular o número C de blocos de código, o módulo de função calcula um tamanho B’ de seqüência de bits de entrada modificada para adquirir o tamanho K de cada bloco de código (etapa S1002).
Na etapa S1002, o tamanho B’ da seqüência de bits de entrada pode ser calculado adicionando o tamanho B de bloco de dados ao resultado da multiplicação do número C de blocos de código por um tamanho L do segundo CRC a ser ligado ao bloco de código. O tamanho da seqüência de bits de entrada modificada é usado para calcular o tamanho K de cada bloco de código. O bloco de código pode ser composto dos primeiros blocos de código e segundos blocos de código. O tamanho K+ dos primeiros blocos de código e o tamanho K- dos segundos blocos de código não são valores fixos e são variáveis de acordo com exigências do sistema. O tamanho K indica o tamanho de cada bloco de código quando os blocos de código têm um tamanho fixo.
Após o tamanho B’ de seqüência de bits de entrada modificada ser calculado na etapa S1002, o tamanho K+ dos primeiros blocos de código pode ser calculado usando um valor mínimo entre os valores k mostrados na Tabela 1. No entanto, os valores K devem ser acima de um valor obtido dividindo o tamanho B’ da seqüência de bits de entrada modificada pelo número C de blocos de código (etapa S1003).
Se o tamanho K+ dos primeiros blocos de código for determinado, o tamanho K- dos segundos blocos de código será calculado usando um número máximo dos valores K mostrados na Tabela 1. No entanto, os valores K para calcular o tamanho K- dos segundos blocos de código deve ser um valor máximo entre os valores menores do que o tamanho K+ dos primeiros blocos de código (etapa S1004) . O módulo de função pode calcular o número C- dos segundos blocos de código usando o tamanho K+ do primeiro bloco de código e o tamanho B’ de seqüência de bits de entrada modificada. O módulo de função calcula um valor de diferença Δκ entre o tamanho K+ do primeiro bloco de código e o tamanho K- do segundo bloco de código. O módulo de função calcula o número C- dos segundos blocos de código arredondando para baixo um valor obtido dividindo um valor do número C dos blocos de código vezes o primeiro tamanho do bloco de código menos o tamanho da seqüência de bits de entrada modificada pelo valor de diferença Δκ (etapa S1005).
O número C+ dos primeiros blocos de código é calculado subtraindo o número C- dos segundos blocos de código do número total C dos blocos de código (etapa S1006).
O tamanho adequado dos blocos de código segmentados pelos bits de entrada pode ser calculado usando o método descrito com referência à FIG 10. Em mais detalhes, o tamanho de cada bloco de código pode ser calculado usando O tamanho da seqüência de bits de entrada modificada mesmo quando o tamanho de cada bloco de código for diferente de acordo com exigências do sistema bem como quando os blocos de código tiverem um tamanho fixo.
A FIG. 11 é um diagrama que ilustra um processo de conversão de um bloco de dados em blocos de código quando o número C de blocos de código for 1 de acordo com um exemplo de modalidade da presente invenção. Os sados de tamanho grande podem ser segmentados, antes da transmissão, em dados de tamanhos adequados de acordo com exigências do sistema. Consequentemente, é necessário segmentar um bloco de dados de entrada por um método apropriado. Pode ser importante determinar qual método deve ser usado para segmentação de bloco de dados.
Uma unidade de segmentação de bloco de dados lógico e ligação a CRC de acordo com o exemplo de modalidade da presente invenção é composto de um módulo de função para segmentar um bloco de dados de entrada considerando o tamanho de um código de detecção de erros (por exemplo, código de CRC) incluido em blocos de código segmentados por uma seqüência de bits de entrada.
No entanto, um tamanho de segmentação máximo pode ser determinado de acordo com exigências do sistema quando uma seqüência de bits de entrada for segmentada em blocos de código. Será dada uma descrição de um método de processamento de dados quando um tamanho B de bits de entrada for menor ou igual ao tamanho Z máximo de blocos de código.
A FIG. 11 mostra um processo de conversão de bits de entrada 1100 inseridos em um módulo de função (uma unidade de ligação a CRC e unidade de segmentação de bits de entrada 1120) em um bloco de código 1140. Em mais detalhes, os bits de entrada 1100 são inseridos no módulo de função 1120. Os bits de entrada 1100 podem incluir um primeiro código de CRC que indica um código de detecção de erro para os bits de entrada 1100. O módulo de função 1120 compara o tamanho dos bits de entrada 1100 com o tamanho Z máximo de blocos de código. Se o tamanho de bits de entrada for menor ou igual ao tamanho Z máximo de bloco de código, os bits de entrada não serão segmentados no módulo de função 1120 e poderão ser compostos do bloco de código 1140.
Portanto, os bits de entrada 1100 são convertidos no bloco de código 1140 e o bloco de código 1140 pode usar o primeiro código de CRC. Uma vez que o primeiro código de CRC é usado como um código de detecção de erro para o bloco de código 1140, o módulo de função 1120 não se liga um segundo código de CRC ao bloco de código 1140.
Referindo-se à FIG. 11, se o tamanho dos bits de entrada for menor ou igual ao tamanho Z máximo dos blocos de código, os bits de entrada 1100 não serão segmentados e serão usados como o bloco de código 1140. Ou seja, o número C dos blocos de código é 1 e um tamanho K do bloco de código pode ser igual ao tamanho B de bits de entrada. Além disso, o primeiro código de CRC incluído nos bits de entrada 1100 pode ser usado sem ligar o segundo código de CRC ao bloco de código 1140. Conseqüentemente, é possível processar dados rapidamente.
<Décima primeira modalidade>
Outro exemplo de modalidade da presente invenção pode ser configurado por uma combinação dos métodos descritos na primeira à décima modalidade.
A décima primeira modalidade pode ser usada quando o tamanho K do bloco de código sempre estiver constante e os bits de preenchimento puderem ocorre. O processo para calcular o número C dos blocos de código é o mesmo que o processo descrito na quarta ou quinta modalidade. No entanto, na décima primeira modalidade, o tamanho Kr de cada bloco de código é o mesmo.
A seguinte Equação 34 ilustra um método para calcular o tamanho Kr do bloco de código e um comprimento F de bits de preenchimento (ou seja, o número de bits de preenchimento).
[Equação 34]
Kr=B'/C
Número de bits de preenchimento: F = C*Kr-B
Na Equação 34, o tamanho Kr do bloco de código é calculado dividindo o tamanho B’ de seqüência de bits de entrada modificada pelo número C de blocos de código. Neste momento, “r” indica um índice de um bloco de código. O comprimento F de bits de preenchimento é calculado subtraindo o tamanho B’ de seqüência de bits de entrada modificada do resultado da multiplicação do número C dos blocos de código pelo tamanho Kr do bloco de código. Ou seja, a décima primeira modalidade mostra um método para calcular o tamanho Kr do bloco de código quando o tamanho de cada um dos blocos de código for o mesmo.
A Tabela 14 ilustra uma equação de configuração de um bloco de código gerado considerando um tamanho de CRC e o comprimento F de bits de preenchimento.
Figure img0022
Figure img0023
Pode ser entendido através da Tabela 14 que o módulo de função configura blocos de código considerando um tamanho de CRC. Na tabela 14, uma seqüência de bloco de código Cr0, Cr1, Cr2 Cr(kr-1) pode ser usada para calcular os bits de paridade de CRC pr0, pr1, Pr2 Pr(L-1).
Em outro exemplo de modalidade da presente invenção, um código de detecção de erro incluído anteriormente no bloco de dados pode ser denominado CRC de bloco de transporte (TB) (ou primeiro código de detecção de erros) e um código de detecção de erros incluído nos blocos de código para ser segmentado pode ser denominado CRC de bloco de código (CB) (ou segundo código de detecção de erros).
Quando a segmentação do bloco de dados de entrada não for realizada (i.e., C=1), o bloco de dados de entrada poderá ser construído por um bloco de código final incluindo um CRC de TB. No entanto, o bloco de código final poderá ser construído ligando um CRC de CB em vez de um CRC de TB de acordo com as exigências do usuário e modalidades da presente invenção.
Outro exemplo de modalidade da presente invenção pode ser configurado por uma combinação dos métodos descritos na primeira à décima modalidade. A décima segunda modalidade pode ser usada quando o tamanho do bloco de código for constante e os bits de preenchimento puderem não ocorrer. Ou seja, o tamanho dos bits de entrada é igual ao número total de blocos de código.
A décima segunda modalidade pode ser usada quando o tamanho Kr de cada bloco de código for o mesmo. O processo para calcular o número C de blocos de código é o mesmo que o processo descrito na quarta ou quinta modalidade.
A seguinte Equação 35 ilustra um método para calcular o tamanho Kr do bloco de código.
[Equação 35]
Kr = B'/C
Na Equação 35, o tamanho Kr do bloco de código é calculado dividindo o tamanho B’ da seqüência de bits de entrada pelo número C dos blocos de código. Neste momento, Kr indica o tamanho de um bloco de código e “r” indica um índice de um bloco de código.
A Tabela 15 ilustra uma equação de configuração gerada considerando um tamanho L de CRC.
Figure img0024
Pode ser entendido através da Tabela 15 que o módulo de função configura blocos de código considerando um tamanho de CRC. Na Tabela 15, uma seqüência de bloco de código Cr0, Cr1, Cr2, Cr(kr-1) pode ser usada para calcular os bits de paridade de CRC pr0, Pr1, Pr2,...,Pr(L-1).
Em outro exemplo de modalidade da presente invenção, um código de detecção de erros incluído anteriormente no bloco de dados pode ser denominado CRC de bloco de transporte (TB) (ou primeiro código de detecção de erros) e um código de detecção de erros incluído em blocos de código a ser segmentado pode ser denominado CRC de bloco de código (CB) (ou segundo código de detecção de erros).
Quando o bloco de dados de entrada não for segmentado (i.e., C=1), o bloco de dados de entrada pode ser construído por um bloco de código final incluindo um CRC de TB. No entanto, o bloco de código final pode ser construído ligando um CRC de CB em vez de um CRC de TB de acordo com as exigências do usuário e modalidades da presente invenção.
Ficará evidente para aqueles versados na técnica que várias modificações e variações podem ser feitas na presente invenção sem se afastar da essência ou escopo da invenção. Assim, a presente invenção se destina a cobrir as modificações e variações desta invenção desde que estejam dentro do escopo das reivindicações em anexo e seus equivalentes.
[Aplicabilidade Industrial]
Os exemplos de modalidade da presente invenção podem ser aplicados a sistemas de acesso sem fio. Além disso, os exemplos de modalidades da presente invenção podem ser aplicados a todos os métodos para gerar blocos de código segmentados por uma seqüência de bits de entrada. Os blocos de código gerados de acordo com os exemplos das modalidades da presente invenção são aplicáveis à codificação, multiplexagem e interleaving de um canal físico. A presente invenção não é limitada ao que já foi especificamente mostrado e descrito no presente documento, podendo ser aplicada a todas as tecnologias incluídas no escopo da presente invenção.

Claims (14)

  1. Método de transmissão de dados em sistema de acesso sem fio, o método caracterizado pelo fato de compreender:
    geração de uma sequência de bits de entrada anexando um primeiro código de detecção de erro para os dados;
    obtenção de um número C de blocos de código, baseado no tamanho B da sequência de bits de entrada, o tamanho máximo Z dos blocos de código e o tamanho L de um segundo código de detecção de erro que deve ser anexado a cada um dos blocos de código;
    obtenção do tamanho B’ de uma sequência de bits de entrada modificada, baseada no número C de blocos de código, o tamanho L do segundo código de detecção de erro e o tamanho B da sequência de bits de entrada;
    obtenção do tamanho K dos blocos de código a partir de valores predeterminados, com base em um valor obtido pela divisão do tamanho B’ da sequência de bits de entrada modificada pelo número C de blocos de código;
    segmentação da sequência de bits de entrada para ter um número C de blocos de código e o tamanho K dos blocos de código;
    geração dos blocos de código pela anexação do segundo código de detecção de erro a cada uma das sequências de bits de entrada;
    codificação por canal dos blocos de código; e
    transmissão dos dados baseados nos blocos de código,
    em que o número C dos blocos de código é obtido baseado em um número inteiro arredondado para o valor obtido pela divisão do tamanho B da sequência de bits de entrada pelo resultado da subtração do tamanho L do segundo código de detecção de erro a ser anexado a cada um dos blocos de código a partir do tamanho máximo Z dos blocos de código, de modo que C=[B/(Z-L)].
  2. Método, de acordo com a reivindicação 1,
    caracterizado pelo fato de que o primeiro código de detecção de erro e o segundo código de detecção de erro são gerados por polinômios diferentes.
  3. Método, de acordo com a reivindicação 1,
    caracterizado pelo fato de que o tamanho B da sequência de bits de entrada é configurado como um valor obtido pela soma do tamanho A dos dados ao tamanho do primeiro código de detecção de erro, e em que o segundo código de erro a ser anexado a cada um dos blocos de código é adicionalmente anexado para detectar se cada um dos blocos de código contém erros.
  4. Método, de acordo com a reivindicação 1,
    caracterizado pelo fato de que o número C dos blocos de código é configurado para 1, baseado no fato de que o tamanho B da sequência de bits de entrada é menor que o tamanho máximo Z dos blocos de código.
  5. Método, de acordo com a reivindicação 1,
    caracterizado pelo fato de que o tamanho B‘ da sequência de bits de entrada é configurado para um valor obtido pela soma do tamanho B da sequência de bits de entrada a um resultado da multiplicação do número C dos blocos de código pelo tamanho L do segundo código de detecção de erro a ser incluído em cada um dos blocos de código.
  6. Método, de acordo com a reivindicação 1 ou reivindicação 5,
    caracterizado pelo fato de que o tamanho K dos blocos de código satisfaz a condição de que o valor obtido pela multiplicação do número C dos blocos de código pelo tamanho K dos blocos de código é maior ou igual ao tamanho B' da sequência de bits de entrada.
  7. Método, de acordo com a reivindicação 6,
    caracterizado pelo fato de que o tamanho K+ dos primeiros blocos de código no tamanho K dos blocos de código tem o menor tamanho dentre os valores pré-determinados, e
    o tamanho K- dos segundos blocos de código no tamanho K dos blocos de código tem o maior tamanho dentre os valores predeterminados, que são menores que o tamanho K+ dos primeiros códigos de blocos.
  8. Método, de acordo com a reivindicação 7,
    caracterizado pelo fato de que um número C- dos segundos blocos de código é configurado como um número inteiro arredondado para abaixo do valor obtido pela divisão, por uma diferença entre o tamanho K+ dos primeiros blocos de código e o tamanho K- dos segundos blocos de código, um resultado da subtração do tamanho B' da sequência de bits de entrada modificada a partir de um valor obtido pela multiplicação do número C dos blocos de código e o tamanho K+ dos primeiros blocos de código.
  9. Método, de acordo com a reivindicação 8,
    caracterizado pelo fato de que um número C+ dos primeiros blocos de código é configurado como um valor obtido pela subtração do número C- dos segundos blocos de código do número C dos blocos de código.
  10. Método, de acordo com a reivindicação 9, caracterizado pelo fato de compreender, adicionalmente:
    obtenção de um comprimento F dos bits de enchimento, subtraindo o tamanho B' da sequência de bits de entrada modificada, a partir de um resultado da adição de um valor obtido pela multiplicação do número C+ dos primeiros blocos de código e o tamanho K+ dos primeiros blocos de código com um valor obtido pela multiplicação do número C-dos segundos blocos de código e tamanho K- dos segundos blocos de código, e
    alocação dos bits de enchimento de um bloco de código inicial dentre os blocos de código.
  11. Método, de acordo com a reivindicação 10, caracterizado pelo fato de compreender, adicionalmente:
    alocação dos dados em áreas, exceto para o tamanho dos bits de enchimento e o tamanho do segundo código de detecção de erro no bloco de código inicial dos blocos de código, e
    alocação dos dados em áreas, exceto para o tamanho do segundo código de detecção de erro em blocos de código começando com um bloco de código subsequente depois do bloco de código inicial.
  12. Método, de acordo com a reivindicação 11,
    caracterizado pelo fato de que a alocação de dados para o primeiro bloco de código compreende adicionalmente a anexação do segundo código de detecção de erro para o bloco de código inicial, e
    em que a alocação de dados para os blocos de código começando com o bloco de código subsequente adicionalmente compreende a anexação do segundo código de detecção de erro para os blocos de código a partir do bloco de código subsequente.
  13. Método, de acordo com a reivindicação 1,
    caracterizado pelo fato de que o tamanho máximo Z dos blocos de código é 6144 bits.
  14. Método de transmissão de dados em sistema de acesso sem fio, o método caracterizado pelo fato de compreender:
    geração de uma segunda sequência de bits de entrada pela anexação de um primeiro código de detecção de erro a uma primeira sequência de bits de entrada;
    obtenção do tamanho B da segunda sequência de bits de entrada baseado no tamanho A da primeira sequência de bits de entrada e o tamanho L do primeiro código de detecção de erro;
    obtenção de um número C de blocos de código, baseado no tamanho B da segunda sequência de bits de entrada, tamanho máximo Z dos blocos de código e tamanho L de um segundo código de detecção de erro que é para ser anexado a cada um dos blocos de código;
    obtenção do tamanho B’ de uma segunda sequência de bits de entrada modificada, baseado em um número C de blocos de código, o tamanho L do segundo código de detecção de erro e o tamanho B da segunda sequência de bits de entrada;
    obtenção dos tamanhos K, K+, e K- dos blocos de código a partir de valores pré-determinados, com base em um valor obtido pela divisão do tamanho B’ da segunda sequência de bits de entrada modificada pelo número C dos blocos de código,
    segmentação da segunda sequência de bits de entrada para ter o número C dos blocos de código e os tamanhos obtidos K, K+, e K- dos blocos de código;
    geração dos blocos de código pela anexação do segundo código de detecção de erro a cada uma das segundas sequências de bits de entrada segmentadas; codificação por canal dos blocos de código; e transmissão dos dados baseados nos blocos de código,
    em que o número C dos blocos de código é obtido baseado em um número inteiro arredondado para o valor obtido pela divisão do tamanho B da sequência de bits de entrada pelo resultado da subtração do tamanho L do segundo código de detecção de erro a ser anexado a cada um dos blocos de código a partir do tamanho máximo Z dos blocos de código, como C=[B/(Z-L)].
BRPI0815159-8A 2007-08-14 2008-08-14 Método de transmissão dados em sistema de acesso sem fio BRPI0815159B1 (pt)

Applications Claiming Priority (21)

Application Number Priority Date Filing Date Title
KR10-2007-0082032 2007-08-14
KR20070082032 2007-08-14
KR10-2007-0082236 2007-08-16
KR20070082236 2007-08-16
US95706307P 2007-08-21 2007-08-21
US60/957.063 2007-08-21
US95736907P 2007-08-22 2007-08-22
US95733407P 2007-08-22 2007-08-22
US60/957,369 2007-08-22
US60/957,334 2007-08-22
US95745407P 2007-08-23 2007-08-23
US60/957,454 2007-08-23
KR1020070120389A KR20090017382A (ko) 2007-08-14 2007-11-23 오류검출부호의 부가를 고려한 코드블록 분할 방법 및코드블록 개수 계산방법
KR10-2007-0120390 2007-11-23
KR1020070120391A KR20090017384A (ko) 2007-08-14 2007-11-23 오류검출부호의 부가를 고려한 코드블록 분할 방법
KR1020070120390A KR20090017383A (ko) 2007-08-14 2007-11-23 오류검출부호의 부가를 고려한 코드블록 분할 방법 및코드블록 길이 계산방법
KR10-2007-0120389 2007-11-23
KR10-2007-0120391 2007-11-23
US2847808P 2008-02-13 2008-02-13
US61/028,478 2008-02-13
PCT/KR2008/004744 WO2009022874A1 (en) 2007-08-14 2008-08-14 Method of transmitting data

Publications (2)

Publication Number Publication Date
BRPI0815159A2 BRPI0815159A2 (pt) 2015-03-31
BRPI0815159B1 true BRPI0815159B1 (pt) 2020-09-08

Family

ID=40350860

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0815159-8A BRPI0815159B1 (pt) 2007-08-14 2008-08-14 Método de transmissão dados em sistema de acesso sem fio

Country Status (10)

Country Link
US (4) US8219877B2 (pt)
EP (3) EP2663004B1 (pt)
JP (2) JP5228047B2 (pt)
KR (1) KR101221915B1 (pt)
CN (2) CN101821980B (pt)
BR (1) BRPI0815159B1 (pt)
ES (1) ES2486940T3 (pt)
PL (1) PL2183867T3 (pt)
PT (1) PT2183867E (pt)
WO (1) WO2009022874A1 (pt)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11405823B2 (en) 2016-11-23 2022-08-02 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Data processing method, and terminal device and network device
US11974165B2 (en) 2022-05-16 2024-04-30 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Methods, terminal device and network device for code block segmentation

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200832991A (en) * 2007-01-23 2008-08-01 Innovative Sonic Ltd Method of enhancing continuous packet connectivity in a wireless communications system and related apparatus
EP2663004B1 (en) 2007-08-14 2017-04-19 LG Electronics Inc. Method of segmenting a transport block into multiple code blocks when one CRC is added to each code block
US8375271B2 (en) * 2007-10-26 2013-02-12 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for providing adaptive cyclic redundancy check computation
JP5411537B2 (ja) * 2009-03-13 2014-02-12 京セラ株式会社 無線通信装置および無線通信制御方法
CN102340372B (zh) * 2010-07-28 2014-04-09 中兴通讯股份有限公司 一种lte基站发送端增大比特级吞吐量方法及其装置
CN103825669B (zh) 2012-11-16 2017-10-24 华为技术有限公司 数据处理的方法和装置
WO2016154968A1 (zh) * 2015-04-01 2016-10-06 华为技术有限公司 编码方法、装置、基站和用户设备
CN106160937B (zh) 2015-04-15 2019-01-04 中兴通讯股份有限公司 一种实现码块分割的方法及装置
CN106330389B (zh) * 2015-06-30 2019-11-15 展讯通信(上海)有限公司 数据传输方法、装置及微型基站
US10977466B2 (en) * 2015-07-09 2021-04-13 Hewlett-Packard Development Company, L.P. Multi-dimensional cyclic symbols
WO2017011946A1 (zh) * 2015-07-17 2017-01-26 华为技术有限公司 基于不等差错保护的数据传输方法、装置和设备
US10348466B2 (en) 2015-11-03 2019-07-09 Qualcomm Incorporated Transport block segmentation and signaling
CN105260261B (zh) * 2015-11-19 2018-06-15 四川神琥科技有限公司 一种邮件恢复方法
US10313057B2 (en) * 2016-06-01 2019-06-04 Qualcomm Incorporated Error detection in wireless communications using sectional redundancy check information
US10291354B2 (en) 2016-06-14 2019-05-14 Qualcomm Incorporated High performance, flexible, and compact low-density parity-check (LDPC) code
JP2019149589A (ja) * 2016-07-08 2019-09-05 シャープ株式会社 基地局装置、端末装置、通信方法、および、集積回路
CN115603861A (zh) * 2016-07-15 2023-01-13 夏普株式会社(Jp) 发送装置、接收装置、通信方法以及集成电路
US11310000B2 (en) * 2016-09-29 2022-04-19 Cohere Technologies, Inc. Transport block segmentation for multi-level codes
CN107342773A (zh) * 2016-10-25 2017-11-10 华为技术有限公司 编码、译码方法及设备
US10248498B2 (en) 2016-11-21 2019-04-02 Futurewei Technologies, Inc. Cyclic redundancy check calculation for multiple blocks of a message
CN115664583A (zh) 2017-01-09 2023-01-31 中兴通讯股份有限公司 一种数据处理方法和装置
CN108289010B (zh) * 2017-01-09 2022-04-15 中兴通讯股份有限公司 一种数据处理方法和装置
CN109787713B (zh) * 2017-11-15 2020-10-09 华为技术有限公司 一种循环冗余校验crc计算方法和装置
US10680751B2 (en) 2017-11-17 2020-06-09 Qualcomm Incorporated Methods and apparatus for determining transport block size in wireless communication
CN108366414B (zh) * 2018-01-15 2021-02-19 海信集团有限公司 一种基于NB-IoT的数据传输方法和装置

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05228047A (ja) 1991-12-26 1993-09-07 Tokuei Sakai 絡まない傘立て
IL118832A (en) 1992-01-16 1998-03-10 Qualcomm Inc Method and device for data integration and transmission and overuse
US5768533A (en) * 1995-09-01 1998-06-16 National Semiconductor Corporation Video coding using segmented frames and retransmission to overcome channel errors
KR100434463B1 (ko) * 1999-01-07 2004-06-05 삼성전자주식회사 부호분할다중접속 통신시스템의 데이터 통신 장치 및 방법
US7593380B1 (en) 1999-03-05 2009-09-22 Ipr Licensing, Inc. Variable rate forward error correction for enabling high performance communication
FR2792788B1 (fr) * 1999-04-21 2001-07-13 Mitsubishi Electric France PROCEDE D'EQUILIBRAGE DU RAPPORT Eb/I DANS UN SYSTEME cdma A MULTIPLEXAGE DE SERVICE ET SYSTEME DE TELECOMMUNICATION L'UTILISANT
SG87129A1 (en) * 1999-07-12 2002-03-19 Ibm Data encoding systems
JP3297668B2 (ja) * 2000-04-26 2002-07-02 松下電器産業株式会社 符号/復号化装置及び符号/復号化方法
US6898743B2 (en) * 2000-07-03 2005-05-24 Lg Electronics Inc. Data rate matching method in 3GPP2 system
JP3683497B2 (ja) * 2000-11-30 2005-08-17 松下電器産業株式会社 復号装置および復号方法
EP1277814A1 (en) * 2001-07-20 2003-01-22 Dsm N.V. Badge-free coating composition for metal substrates
KR100762632B1 (ko) * 2001-10-17 2007-10-01 삼성전자주식회사 부호 분할 다중 접속 통신 시스템에서 전송 채널 다중화/역다중화 장치 및 방법
KR101000388B1 (ko) * 2003-05-15 2010-12-13 엘지전자 주식회사 이동 통신 시스템 및 이 이동 통신 시스템에서 신호를처리하는 방법
JP3880542B2 (ja) 2003-05-19 2007-02-14 松下電器産業株式会社 誤り訂正符号化/復号化装置および誤り訂正符号化/復号化方法
US7564867B2 (en) 2003-08-19 2009-07-21 Alcatel-Lucent Usa Inc. Enhanced uplink data transmission
WO2006046925A1 (en) * 2004-10-26 2006-05-04 Agency For Science, Technology And Research Method and system for encoding and decoding information with modulation constraints and error control
CN1893342B (zh) * 2005-07-05 2010-06-09 上海原动力通信科技有限公司 多载波hsdpa的业务传输信道编码方法和编码装置
US8356232B2 (en) * 2006-10-06 2013-01-15 Motorola Mobility Llc Method and apparatus for encoding and decoding data
US7873893B2 (en) * 2007-02-28 2011-01-18 Motorola Mobility, Inc. Method and apparatus for encoding and decoding data
US8386878B2 (en) 2007-07-12 2013-02-26 Samsung Electronics Co., Ltd. Methods and apparatus to compute CRC for multiple code blocks
EP2663004B1 (en) 2007-08-14 2017-04-19 LG Electronics Inc. Method of segmenting a transport block into multiple code blocks when one CRC is added to each code block
US7853857B2 (en) * 2007-09-14 2010-12-14 Motorola Mobility, Inc. Multi-layer cyclic redundancy check code in wireless communication system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11405823B2 (en) 2016-11-23 2022-08-02 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Data processing method, and terminal device and network device
US11974165B2 (en) 2022-05-16 2024-04-30 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Methods, terminal device and network device for code block segmentation

Also Published As

Publication number Publication date
JP2010536305A (ja) 2010-11-25
JP5466317B2 (ja) 2014-04-09
US8219877B2 (en) 2012-07-10
WO2009022874A1 (en) 2009-02-19
US20120240009A1 (en) 2012-09-20
KR20100038407A (ko) 2010-04-14
CN103441816B (zh) 2017-03-01
EP3240217A1 (en) 2017-11-01
ES2486940T3 (es) 2014-08-19
EP2183867B1 (en) 2014-05-07
US9246513B2 (en) 2016-01-26
EP2183867A1 (en) 2010-05-12
JP2013141306A (ja) 2013-07-18
CN101821980A (zh) 2010-09-01
EP2663004A1 (en) 2013-11-13
PT2183867E (pt) 2014-07-18
US20090070653A1 (en) 2009-03-12
CN101821980B (zh) 2013-09-18
JP5228047B2 (ja) 2013-07-03
US9154162B2 (en) 2015-10-06
BRPI0815159A2 (pt) 2015-03-31
PL2183867T3 (pl) 2014-10-31
EP2183867A4 (en) 2011-03-09
CN103441816A (zh) 2013-12-11
US20160094313A1 (en) 2016-03-31
EP2663004B1 (en) 2017-04-19
US20130262963A1 (en) 2013-10-03
EP3240217B1 (en) 2019-10-02
KR101221915B1 (ko) 2013-01-15
US9912444B2 (en) 2018-03-06

Similar Documents

Publication Publication Date Title
BRPI0815159B1 (pt) Método de transmissão dados em sistema de acesso sem fio
US10063347B2 (en) Signal segmentation method and CRC attachment method for reducing undetected error
JP2010537460A (ja) 複数の符号化セグメントにわたる巡回冗長検査の実行
BRPI0719266B1 (pt) método e aparelho para operar um turbo codificador
CN108574561A (zh) 极化码编码的方法和装置
TWI656746B (zh) 編碼器、解碼器、通訊系統及用於編碼資料之方法
BR122020003958A2 (pt) Método e aparelho de codificação
RU2448417C2 (ru) Способ передачи данных
BRPI0717506B1 (pt) método e aparelho para codificar e decodificar dados
ES2764425T3 (es) Método de segmentación de un bloque de transporte en múltiples bloques de código cuando se añade una CRC a cada bloque de código
BR122020003959A2 (pt) Método e aparelho de codificação

Legal Events

Date Code Title Description
B06F Objections, documents and/or translations needed after an examination request according art. 34 industrial property law
B06U Preliminary requirement: requests with searches performed by other patent offices: suspension of the patent application procedure
B09A Decision: intention to grant
B16A Patent or certificate of addition of invention granted

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