BRPI0918901B1 - Método e dispositivo para decodificar bloco de transporte, instruções executáveis por processador de armazenamento em memória, e método e dispositivo para decodificação iterativa de bloco de transporte - Google Patents

Método e dispositivo para decodificar bloco de transporte, instruções executáveis por processador de armazenamento em memória, e método e dispositivo para decodificação iterativa de bloco de transporte Download PDF

Info

Publication number
BRPI0918901B1
BRPI0918901B1 BRPI0918901-7A BRPI0918901A BRPI0918901B1 BR PI0918901 B1 BRPI0918901 B1 BR PI0918901B1 BR PI0918901 A BRPI0918901 A BR PI0918901A BR PI0918901 B1 BRPI0918901 B1 BR PI0918901B1
Authority
BR
Brazil
Prior art keywords
sub
blocks
crc
block
decoding
Prior art date
Application number
BRPI0918901-7A
Other languages
English (en)
Inventor
Rajaram Ramesh
Havish Koorapaty
Jung-Fu Cheng
Kumar Balachandran
Original Assignee
Optis Cellular Technology, Llc
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=41666597&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=BRPI0918901(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Optis Cellular Technology, Llc filed Critical Optis Cellular Technology, Llc
Publication of BRPI0918901A2 publication Critical patent/BRPI0918901A2/pt
Publication of BRPI0918901A8 publication Critical patent/BRPI0918901A8/pt
Publication of BRPI0918901B1 publication Critical patent/BRPI0918901B1/pt
Publication of BRPI0918901B8 publication Critical patent/BRPI0918901B8/pt

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • H03M13/2975Judging correct decoding, e.g. iteration stopping criteria
    • 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/093CRC update after modification of the information word
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2948Iterative decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6522Intended application, e.g. transmission or communication standard
    • H03M13/65253GPP LTE including E-UTRA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • 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/0045Arrangements at the receiver end
    • H04L1/0047Decoding adapted to other signal detection operation
    • H04L1/005Iterative decoding, including iteration between signal detection and decoding operation
    • H04L1/0051Stopping criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/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/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2948Iterative decoding
    • H03M13/2951Iterative decoding using iteration stopping criteria
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3746Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative decoding
    • H03M13/3753Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative decoding using iteration stopping criteria

Landscapes

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

Abstract

método e dispositivo para decodificação iterativa de um bloco recebido, método e dispositivo para decodificar um bloco de transporte, dispositivo para decodificação iterativa de um bloco de transporte, e, instruções executáveis por processador de armazenamento de memória. a decodificação iterativa de blocos pode ser continuada ou terminada com base na verificação de crc. em uma modalidade exemplo, uma iteração de um processo de decodificação iterativa é efetuada em um bloco cujos bits de informação são cobertos por um crc. o processo de decodificação iterativa é parado se crc é verificada para um número pré-determinado de iterações consecutivas. em uma outra modalidade exemplo, uma iteração de decodificação é efetuada em um sub-bloco particular de sub-blocos múltiplos de um bloco de transporte, que inclui uma única crc sobre a totalidade do bloco de transporte. a crc é verificada usando bits decodificados obtidos a partir de uma iteração de decodificação no sub-bloco particular e bits decodificados obtidos a partir de iterações de decodificação anteriores nos outros sub-blocos dos sub-blocos múltiplos. a iteração de decodificação é então efetuada em um diferente sub-bloco se a crc não é verificada. também, as iterações de decodificação para os sub-blocos podem ser terminadas se a crc é verificada.

Description

REFERÊNCIA CRUZADA PARA O PEDIDO RELACIONADO
[0001] Este Pedido de Patente Não Provisório dos Estados Unidos reivindica o benefício de prioridade do Pedido de Patente Provisório U.S. de Nr. 60/973,500, depositado em 19 de setembro de 2007, e com o título de "Method and Arrangemente in a Telecommunication System". Pedido de Patente Provisório U.S. de No. 60/973,500 é incorporado aqui para referência em sua totalidade.
CAMPO TÉCNICO
[0002] A presente invenção se refere geralmente aos sistemas de comunicações e em particular para redução de complexidade para decodificadores iterativos usando verificação de CRC.
FUNDAMENTO DA INVENÇÃO
[0003] Muitos termos especializados e abreviações são usados nas artes das comunicações. Pelo menos, alguns dos seguintes termos são referidos dentro do texto que segue, tal como neste background e / ou seções de descrição. Assim sendo, os seguintes termos e abreviações estão aqui definidos: 3GPP Projeto de Parceria de Terceira Geração CRC Verificação de redundância cíclica E-UTRAN UTRAN Evoluído LTE Evolução a Longo Prazo UMTS Sistema de Telecomunicações de Terminais Móveis Universal UTRA Acesso via Rádio Terrestre Universal UTRAN Rede de Acesso via Rádio Terrestre do UMTS WiMAX Interoperabilidade Mundial para Acesso de Microondas
[0004] A telecomunicação forma o suporte da sociedade orientada à informação de hoje e pode ser realizada usando transmissão e recepção com fio ou sem fio. A capacidade de um canal de comunicação é tipicamente limitada pela largura de banda. A largura de banda de um canal de comunicação é por sua vez limitada por limites naturais e artificiais impostos por, por exemplo, as propriedades do meio, o espectro alocado para comunicação através de restrições de projeto, e autoridades de regulação ou operadores.
[0005] A utilização de um canal de comunicações, mesmo dado uma alocação finita do espectro eletromagnético, pode ser aumentada adotando qualquer de um número de diferentes esquemas. Esses esquemas permitem mais informação a ser comunicada em uma dada alocação de espectro. A utilização eficiente do espectro pode reduzir o custo de serviços de comunicação sendo fornecidos, pode permitir serviços de comunicação mais ricos a serem fornecidos, ou ambos.
[0006] Um exemplo de esquema de comunicação envolve a codificação de informação. Informação é codificada em um dispositivo de transmissão, e a informação codificada é transmitida através de um canal. A informação codificada transmitida se propaga através do canal e é decodificada em um dispositivo de recepção para recuperar pelo menos, a aparência da informação original. Com codificação apropriada, a informação pode ser comprimida e / ou tomada mais resistente à interferência no canal de comunicações. Em outras palavras, esquemas de codificação podem ser empregados para aumentar a utilização eficiente de espectro eletromagnético.
[0007] Códigos de canal práticos que alcançam desempenho próximo da capacidade estão agora amplamente em uso nos padrões de comunicação sem fio correntes ou planejados para padrões futuros. Exemplos de tais códigos são os códigos turbo usados nos sistemas de UTRAN, E-UTRAN, e WiMAX. O decodificador ótimo para tais códigos não é prático para implementar. Consequentemente, decodificadores iterativos subótimos são usados. Tais decodificadores são conhecidos não obstante o desempenho ótimo de abordagem para variações de operação práticas. Esses decodificadores tipicamente requerem muitas iterações, com a complexidade do decodificador aumentando proporcionalmente com o número de iterações empregado para alcançar uma taxa de erro de quadro residual.
[0008] Em sistemas de comunicação sem fio de terminais móveis, por exemplo, tais decodificadores são implementados nos terminais de comunicação móveis com restrições de tamanho, potência de processamento, e custo. Quando o sistema suporta altas taxa de dados, a complexidade do decodificador requerida coloca uma carga nos recursos limitados de um terminal de comunicação móvel. Tais restrições de complexidade também afetam a estação base onde os sinais para muitos usuários podem ter de ser decodificados concorrentemente. Ainda mais, tal um sistema pode usar segmentação do bloco de transporte em que um maior bloco de transporte é segmentado em múltiplos menores sub-blocos de código. Os sub- blocos são decodificados antes do bloco de transporte poder ser totalmente decodificado.
[0009] Por conseguinte, é de interesse reduzir a complexidade do decodificador iterativo enquanto também tentando manter um nível desejado de desempenho. Um tal método para reduzir complexidade envolve dinamicamente reduzir o número de iterações de decodificação empregado com base na palavra código recebida. Numerosas regras de parada para reduzir o número de iterações para menos do que um máximo pré-definido foram descritas na arte anterior.
[0010] A regra de parada para reduzir o número de iterações de decodificação fornece algum critério que quando encontrado, pode indicar com um alto grau de confiança relativo e / ou de aceitabilidade que o bloco de código foi decodificado com sucesso. Quando o critério esboçado pela regra de parada é encontrado, um processo de decodificação é parado. Tipicamente, o número de iterações usado para decodificar diferentes blocos de código pode diretamente ou indiretamente depender da proporção sinal para ruído do sinal recebido. De fato, seria benéfico para o decodificador aumentar a quantidade de esforça necessário para tomar uma decisão de decodificação como a proporção de sinal para ruído do sinal recebido diminui.
[0011] Muitas classes de códigos em uso, tal como códigos turbo, podem mapear o esforço a ser empregado diretamente para o número de iterações usado pelo decodificador. Dado uma taxa de erro de quadro alvo que está para ser encontrada, o uso de uma regra de parada pode reduzir o número médio de iterações envolvido na decodificação quando comparado com um algoritmo que simplesmente usa um número de iterações fixo.
[0012] Assim sendo, a regra de parada pode ser usada para reduzir o número de iterações efetuado por um decodificador turbo iterativo. Essas regras podem ser classificadas amplamente em regras de decisão severas, regras de decisão leves, e uma regra de CRC. Regras de decisão severas são com base na falta de mudanças em decisões de bit entre iterações. Regras de decisão leves com base na comparação de uma métrica, que é derivada a partir dos valores de confiabilidade de bit de software gerados após uma iteração, com um limite.
[0013] A regra de CRC se baseia na ausência de erro detectado no final de uma iteração para decidir se um bloco de código decodificado está correto. Se a CRC indica uma falta de um erro de bloco de código, decodificação é parada. O uso da CRC como um critério de parada foi descrito no seguinte documento: 'Parar Rules for Turbo Decoders,'por Matache, Dolinar e Pollara, que foi publicado no NASA JPL TMO Progress Report 42-142, 15 de agosto de 2000, e correntemente disponível em http: / / tmo.jpl.nasa.gov/progress_report / 42-142 / titulo.htm.
[0014] Independente da regra de parada usada, um decodificador prático configura um limite no número máximo de iterações de decodificação (por exemplo, lmax=8). No final da última iteração permitida, a regra de parada pode ser usada para determinar se o bloco de código foi decodificado com sucesso. Contudo, a decodificação iterativa é então concluída independente se a regra de parada foi encontrada.
[0015] Em um moderno sistema de comunicação de taxa de dados alta, por exemplo, um bloco de transporte pode conter dezenas ou mesmo centenas de milhares de bits. Por razões práticas, um "grande" bloco de transporte é assim segmentado em sub-blocos múltiplos de código, cada um dos quais é usualmente menor do que um tamanho máximo pré-definido. Por exemplo, no LTE do sistema UMTS (por exemplo, Especificação Técnica 3GPP TS 36.212 "Multiplexação e codificação de canal (Versão 8)" emitida pelo Projeto de Parceria de Terceira Geração), o tamanho máximo de sub-bloco de código é configurado para 6144 bits, e uma sequência de CRC é calculada e anexada a cada sub-bloco.
[0016] FIGS. 1A e 1B ilustram exemplo de esquemas de segmentação de bloco de código. Geralmente, cada um inclui um bloco de transporte 100 que é segmentado em sub-blocos múltiplos 102. Sequências de CRC 104 e / ou 106 são incluídas com cada sub-bloco 102. Mais especificamente, FIG. 1A ilustra um exemplo de segmentação de bloco de código e esquema de anexação de CRC de acordo com E-UTRAN. FIG. 1B ilustra um exemplo de segmentação de bloco de código e esquema de anexação de CRC de acordo com WiMAX / UTRA.
[0017] Na Fig. 1A, o bloco de transporte I00A inclui "n" sub-blocos 102A (e.g., sub-bloco 102A(1), sub-bloco 102A(2)... sub-bloco 102A(n)), com "n" representando um inteiro positivo. Cada sub-bloco 102 A inclui e está associado com uma CRC 104. CRCs 104 são denominadas CRCs internas. CRC 106 é denominada uma CRC externa. CRC externa 106 pode ser incluída como parte de um (ou dois ou uns poucos) sub-bloco 102 A, mas ela está associada com sub-blocos múltiplos 102 A, tal como cada um dos sub-blocos 102 A do bloco de transporte 100A. Assim sendo, com o LTE de UTRA, cada um dos sub-blocos 102 A é protegido por uma CRC interna 104, e o bloco de transporte 100A total é também protegido por uma outra sequência de verificação, a CRC externa 106.
[0018] Na Fig. 1B, o bloco de transporte 100B inclui "n" sub-blocos 102B (e.g., sub-bloco 102B(1), sub-bloco 102B(2)... sub-bloco 102B(n)), com "n" representando um inteiro positivo. Bloco de transporte 100B inclui e está associado com uma CRC, tal como a CRC externa 106. A CRC externa 106 pode ser incluída como parte de um dos sub-blocos, tal como o último sub-bloco 102B(n). Contudo, CRC externa 106 está associada com sub-blocos múltiplos 102B, tal como cada um dos sub-blocos 102B do bloco de transporte 100B. Sub-bloco 102B(n) pode também incluir bits de preenchimento. Deve ser notado que uma CRC externa 106 também pode ser dividida entre dois ou mais sub-blocos 102.
[0019] A codificação turbo é usada em muitos sistemas de comunicação sem fio devido às suas capacidades de desempenho. Tipicamente, o total de bloco de dados é divido em muitos sub-blocos, cada um dos quais é codificado separadamente usando o codificador turbo. Esta divisão e codificação separada são pretendidas para negociar memória e especificações de desempenho do decodificador turbo. O decodificador turbo opera em um modo iterativo — cada iteração usa os resultados da iteração anterior como entrada e tipicamente melhora a confiabilidade da sequência de bits decodificados.
[0020] Geralmente, um bloco de transporte contendo sub-blocos múltiplos é decodificado decodificando os sub-blocos componentes na ordem sequencial em qual eles formam o bloco de transporte. Se um sub-bloco é encontrado ser correto, decodificação turbo para aquele sub-bloco pode ser parada, e o decodificador pode prosseguir para processar o seguinte sub-bloco. Por outro lado, se um sub-bloco é encontrado ser incorreto, decodificação do resto do bloco de transporte pode ser abortada. O efeito de ambos os tipos de conclusão de decodificação pode contribuir para uma redução na quantidade total de recursos de decodificação empregados.
[0021] Regras de parada antecipada podem ser implementadas para determinar quando decodificação pode ser concluída antes de um número máximo permitido de iterações. Há dois tipos de eventos de erro associados com regras de parada antecipada: Em um "evento perdido", um sub-bloco errôneo é declarado como correto. Em tal um evento, o receptor continua para decodificar o resto dos sub- blocos no bloco de transporte, que resulta em um aumento desnecessário em complexidade. Em um " evento de alarme falso", um sub-bloco decodificado de forma correta é declarado como estando em erro. Este tipo de evento é também incômodo. Quando um dos sub-blocos é declarado incorreto, ele é sensível para abortar uma decodificação do restante dos sub-blocos. Contudo, se tal detecção não é confiável, capacidade de transmissão de dados pode ser desnecessariamente reduzida, e os recursos de decodificação aplicados são concomitantemente aumentados.
[0022] Quando a capacidade de transmissão de dados é reduzida, a quantidade de dados sendo comunicada por usuário é reduzida e / ou o número de usuários que pode ser atendido em um dado nível de serviço é reduzido. Quando recursos de decodificação são aumentados, especialmente com um dispositivo de terminal móvel, o nível de complexidade e quantidade de dreno de bateria também aumenta. Regras de parada existentes não tratam eficientemente essas questões na medida que elas são relativamente complexas.
[0023] Consequentemente, há uma necessidade de tratar essas deficiências no estado corrente da arte. Tais deficiências e outras necessidades são tratadas por um ou mais das várias modalidades da presente invenção.
SUMÁRIO
[0024] Modalidades de exemplos que são aqui descritas implicam em métodos de dinamicamente parar iterações de decodificação a fim de pelo menos, mitigar ou melhorar algumas das desvantagens de abordagens convencionais. Mais especificamente, modalidades exemplos descrevem métodos para reduzir complexidade de decodificação quando decodificação de sub-blocos que coletivamente formam um bloco de transporte.
[0025] É um objeto de determinada modalidade (s) da presente invenção para fornecer regras robustas com base em CRC para parar iterações de um processo de decodificação.
[0026] É um outro objeto de determinada modalidade (s) da presente invenção para reduzir a complexidade de decodificação de um bloco de transporte contendo sub-blocos múltiplos.
[0027] É ainda um outro objeto de determinada modalidade (s) da presente invenção, reduzir a complexidade de decodificação turbo usando uma regra de parada de verificação de CRC robusta para concluir um processo de decodificação iterativo.
[0028] Em uma modalidade de exemplo, há um método para decodificação iterativa de um bloco recebido cujos bits de informação são cobertos por uma CRC. O método inclui atos de realizar a iteração de decodificação, verificar uma CRC, e para um processo de decodificação se a CRC verificou para um número pré-determinado de iterações consecutivas.
[0029] Em uma outra modalidade de exemplo, há um método para decodificar um bloco de transporte que inclui sub-blocos múltiplos, cada um do qual pode ser decodificado iterativamente. O bloco de transporte também inclui uma única CRC sobre uma totalidade do bloco de transporte. Uma iteração de decodificação é efetuada em um sub-bloco particular dos sub-blocos múltiplos. A CRC para a totalidade do bloco de transporte é verificada usando bits decodificados obtidos a partir da iteração de decodificação no sub-bloco particular e bits decodificados obtidos a partir das iterações de decodificação anteriores em outros sub-blocos dos sub-blocos múltiplos. A iteração de decodificação é então efetuada em um diferente sub-bloco se a CRC não verifica. Alternativamente, as iterações de decodificação para todos os sub-blocos dos sub-blocos múltiplos podem ser concluídas se a CRC verifica consecutivamente para um número pré-determinado de consecutivas iterações de decodificação.
[0030] Uma vantagem de determinadas modalidade (s) da presente invenção é que a complexidade de um dispositivo de terminal móvel, por exemplo, pode ser reduzida possibilitando conclusão apropriadamente antecipada de uma decodificação iterativa de sub-blocos de um bloco de transporte com impacto mínimo no desempenho de decodificação.
[0031] Uma outra vantagem de determinadas modalidade (s) da presente invenção é que operação mais rápida de um, e.g., processo de decodificação turbo, pode ser alcançada devido à conclusão antecipada. A conclusão antecipada pode permitir área de chip e consumo de potência inferior.
[0032] Modalidades adicionais são descritas e/ou aqui reivindicadas. Exemplo de modalidades adicionais incluem, a título de exemplo, mas não limitação, métodos, dispositivos, arranjos, memória, sistemas, e assim por diante. Aspectos adicionais da invenção são estabelecidos em parte na descrição detalhada, desenhos, e reivindicações que seguem, e em parte pode ser derivado a partir da descrição detalha e desenhos, ou pode ser aprendido através de prática da invenção. É para ser entendido que ambos a descrição geral precedente e a seguinte descrição detalhada são exemplares e explanatórias somente e não são restritivas da invenção como divulgado ou como reivindicado.
DESCRIÇÃO BREVE DOS DESENHOS
[0033] Um mais completo entendimento da presente invenção pode ser obtido com referência a seguinte descrição detalhada quando considerada em conjunto com os desenhos anexos onde:
[0034] FIG. 1A ilustra um exemplo de segmentação de bloco de código e esquema de anexação de CRC de acordo com E-UTRAN.
[0035] FIG. 1B ilustra um exemplo de segmentação de bloco de código e esquema de anexação de CRC de acordo com WiMAX.
[0036] FIG. 2 é um diagrama em bloco de um exemplo de sistema de comunicações incluindo um dispositivo de transmissão e um dispositivo de recepção.
[0037] FIG. 3 ilustra um exemplo de composição da informação transmitida.
[0038] FIG. 4 ilustra um exemplo de estrutura para um decodificador iterativo.
[0039] FIG. 5 é um fluxograma de um exemplo geral de método para decodificar um bloco de transporte que é construído a partir de sub-blocos múltiplos tendo associados CRCs.
[0040] FIG. 6 ilustra um exemplo de algoritmo iterativo para decodificar um bloco de transporte quando cada sub-bloco está associado com uma CRC.
[0041] FIG. 7 ilustra um exemplo alternativo de algoritmo iterativo para decodificar um bloco de transporte quando cada sub-bloco está associada com uma CRC.
[0042] FIG. 8 é um fluxograma de um exemplo geral de método para decodificação iterativa de um bloco de transporte tendo uma CRC quando sub- blocos múltiplos estão associados com a CRC.
[0043] FIG. 9 é um diagrama em bloco ilustrando um exemplo de concatenação de bits decodificados entre iterações quando decodificando um bloco de transporte tendo uma CRC quando sub-blocos múltiplos estão associada com a CRC.
[0044] FIG. 10 é um diagrama em bloco de exemplo de dispositivos que podem ser usados para implementar modalidades para decodificação iterativa de blocos com CRCs.
DESCRIÇÃO DETALHADA
[0045] Conforme descrito aqui acima, pode haver ambos "eventos perdidos" e "eventos de alarme falso" causados pelas regras de parada antecipada com a decodificação iterativa. É desejável manter as probabilidades para ambos o "evento perdido" e o "evento de alarme falso" tão baixo quanto factível em atribuir regras de parada antecipada. Probabilidades de "Evento perdido" estão presentes em todos os três tipos de parar regras: regras de decisão severas e leves assim como a regra de CRC. Contudo, a regra de CRC tem uma vantagem distintiva de exibir uma probabilidade de "evento de alarme falso" essencialmente zero.
[0046] Deve ser notado que, dado uma anexação de CRC para um bloco, há uma pluralidade de maneiras para conceber diferentes regras de parada com diferentes níveis de confiabilidade. Uma abordagem simples poderia resultar em um resultado em um limite inferior nas probabilidades de erro de bloco de código, que é em última instância indesejável. Isto é ainda exacerbado quando um bloco de transporte é dividido em sub-blocos múltiplos com uma regra de parada aplicada a uma decodificação iterativa de cada sub-bloco. Isto é um foco de determinadas modalidades descritas para evitar tal um resultado.
[0047] FIG. 2 é um diagrama em bloco de um exemplo de sistema de comunicações 200 incluindo um dispositivo de transmissão 202 e um dispositivo de recepção 204. Como ilustrado, o sistema de comunicações 200 opera sobre um canal 206 e inclui um sinal 208 em adição ao dispositivo de transmissão 202 e dispositivo de recepção 204. Dispositivo de transmissão 202 inclui um transmissor 210 e um codificador 212. Dispositivo de recepção 204 inclui um receptor 214 e um decodificador 216.
[0048] Em um exemplo de operação, o dispositivo de transmissão 202 transmite um sinal 208 sobre o canal 206 para o dispositivo de recepção 204. Dispositivo de recepção 204 recebe o sinal 208 a partir do dispositivo de transmissão 202 através do canal 206. Mais especificamente, o codificador 212 codifica bits de informação em uma comunicação que são modulados e então transmitidos pelo transmissor 210 como sinal 208 sobre o canal 206. No dispositivo de recepção 204, o sinal 208 é recebido pelo receptor 214 e convertido para banda base. Decodificador 216 é adaptado para decodificar o sinal para recuperar os bits de informação originais. Um exemplo de composição do sinal 208 é aqui descrito abaixo com particular referência à Fig. 3.
[0049] Deve ser entendido que um único dispositivo pode funcionar como um dispositivo de transmissão 202 em um momento e/ou com relação para uma comunicação e como um dispositivo de recepção 204 em um outro momento e/ou com relação a uma outra comunicação. Exemplos de dispositivos de transmissão 202 e dispositivos de recepção 204 inclui, a título de exemplo, mas não limitação, nó de comunicação de rede, terminais remotos, e outros dispositivos que são capazes de se comunicar sobre um canal 206. Nó de comunicação de rede pode incluir, por exemplo, uma estação de transceptor base, uma estação rádio base, um nó B, um ponto de acesso, e assim por diante. Terminais remotos podem incluir, por exemplo, um terminal de comunicação móvel, uma estação terminal móvel, uma estação de assinante, um cartão ou módulo de comunicação, e assim por diante. Exemplos gerais de implementações de dispositivo para dispositivos de transmissão / de recepção 202 / 204 são aqui descritos abaixo com particular referência à Fig. 10.
[0050] Geralmente, o canal 206 pode ser um canal com fio ou um canal sem fio. Independentemente, o canal 206 afeta a transmissão, propagação, e/ou recepção de sinal 208. Por esta e outras razões tais como eficiência, o sinal 208 é codificado pelo codificador 212. A decodificação é efetuada pelo decodificador 216. Um exemplo de modalidade de decodificador iterativo é aqui descrito abaixo com particular referência à Fig. 4.
[0051] FIG. 3 ilustra um exemplo de composição 300 de informação transmitida. Composição 300 mostra ainda detalhes de exemplo de operações de codificação efetuadas no dispositivo de transmissão. Composição 300 inclui um bloco de bit de informação D, uma CRC associada, e um bloco de bit codificado V. O bloco de bit de informação D e a CRC associada são juntamente referidos como um bloco concatenado U. Uma operação de codificação de canal 302 é também efetuado como parte da operação de codificação.
[0052] Para um exemplo de operação de codificação, o bloco de bit de informação D é para ser transmitido. Uma CRC é anexada ao bloco de bit de informação D para formar o bloco concatenado U. O bloco U é codificado com operação de codificação de canal 302 usando o codificador 212 (da Fig. 2). Operação de codificação de canal gera o bloco codificado V. Bloco V é então modulado e transmitido para um dispositivo de recepção tendo um decodificador 216 (das Figs. 2 e 4).
[0053] FIG. 4 ilustra um exemplo de estrutura para um decodificador iterativo 216. Como ilustrado, o decodificador iterativo 216 inclui uma iteração de decodificação 402 e uma verificação de regra de parada 404. Em um exemplo de operação geralmente, o decodificador iterativo 216 aceita como entrada, o bloco de símbolo recebido V’ e produz como estimativa de saída U'. Como explicado ainda aqui abaixo, múltiplas iterações de decodificação 402 podem ser efetuadas como parte de um processo de decodificação iterativa. O processo de decodificação iterativa pode ser continuado ou concluído com base em se a regra de parada é verificada na verificação de regra de parada 404. Exemplos de modalidades empregam regras de parada que implicam em verificar CRCs sobre uma ou mais iterações. O número de iterações, assim como o número de verificações de CRC com sucesso ou falhos, pode ser monitorado.
[0054] Mais especificamente para o decodificador iterativo 216, o bloco de símbolo recebido severo ou leve, V, é aceito como entrada. O bloco de símbolo recebido V corresponde ao bloco codificado V como entrada para o decodificador iterativo 216. A estrutura iterativa de alto nível do decodificador iterativo 216 é mostrada na Fig. 4. Após cada iteração de decodificação 402, uma estimativa de tentativa U'(i) do bloco U é gerada, onde "i" significa a i-ésima iteração. O decodificador iterativo 216 eventualmente emite a estimativa U', que inclui o bloco de bit de informação detectado D', se a decodificação é com sucesso. Por outro lado, ele sinaliza um erro de bloco ou quadro se a decodificação é sem sucesso.
[0055] O bloco de iteração de decodificação 402 pode incluir uma ou mais decodificadores. A título de exemplo, o bloco de iteração de decodificação 402 pode incluir pelo menos, um decodificador turbo. Com decodificação turbo, duas operações de decodificação são efetuadas por ciclo de decodificação. Cada iteração de um decodificador turbo pode, por conseguinte, ser considerado uma ou duas operações de decodificação. Em outras palavras, cada iteração pode efetivamente compreender uma ou duas "sub-iterações" dependendo da estrutura do codificador. Com codificação turbo, dois codificadores componentes são usados, assim duas operações de decodificação ou sub-iterações são usadas, um para cada codificador componente. A regra de parada para o bloco de verificação de regra de parada 404 pode então ser aplicada após cada sub-iteração ou após uma completa iteração incluindo duas sub-iterações.
[0056] Dois conjuntos de exemplos de modalidades são descritos abaixo. Um primeiro conjunto de exemplos de modalidade é direcionado aos blocos de transporte 100A (da Fig. IA) tendo sub-blocos múltiplos 102 A com respectivas CRCs internas 104 cobrindo cada sub-bloco 102 A em adição a uma CRC externa 106 que cobre a totalidade do bloco de transporte. Um segundo conjunto de exemplos de modalidade é direcionado ao bloco de transportes 100B de (FIG. IB) tendo sub-blocos múltiplos 102B e uma CRC externa 106 que cobre a totalidade do bloco de transporte 100B. FIGS. 5-7 ilustram exemplos de implementações do primeiro conjunto de modalidades. FIGS. 8 e 9 ilustram exemplos de implementações do segundo conjunto de modalidades.
[0057] De acordo com o primeiro conjunto de modalidades de exemplos, um método usa uma verificação de CRC interna em consecutivas iterações de decodificação como a regra de parada para concluir a operação do decodificador. Se a CRC interna verifica após cada um de um número pré-determinado de iterações consecutivas, um processo de decodificação iterativa é concluído para o sub-bloco, e a sequência de bits decodificados resultante é considerada estar correta. A CRC externa é verificada com relação à totalidade dos bits decodificados do bloco de transporte antes dos dados poderem ser declarados como válidos. Se o número de iterações de decodificação em um dado sub-bloco excede um máximo selecionado sem passar a verificação de CRC interna, o dado sub-bloco é assumido errôneo, que implica que o inteiro bloco de transporte é errôneo também. Conclusão antecipada de umas operações de decodificação iterativa nos sub-blocos individuais usando a CRC interna ajuda a reduzir a complexidade do decodificador significativamente. Esta redução de complexidade pode reduzir a área de chip e consumo de potência para o decodificador iterativo.
[0058] De acordo com um primeiro aspecto, um sub-bloco não é declarado correto até verificações de CRC indicarem a falta de um erro para um número pré- determinado de iterações consecutivas (que é denotado por M no exemplo de algoritmos abaixo). Esta regra de parada de CRC consecutiva exibe uma probabilidade de alarme falsa que é eficazmente zero enquanto também, de forma significativa, reduzindo a probabilidade de evento perdido. De acordo com um segundo aspecto, o número pré-determinado de verificações consecutivas de CRC pode ser uma variável dependente, M(i), que depende do número efetivo de iterações de decodificação que foi efetuado.
[0059] De acordo com um terceiro aspecto, os resultados de verificações de CRC das primeiras "poucas" iterações de decodificação, que é denotado por Imin, pode ser ignorado com relação a aplicar a regra de parada de CRC consecutiva. De acordo com um quarto aspecto, uma ordem de decodificação para os sub-blocos múltiplos em um bloco de transporte pode ser priorizada para ainda reduzir a complexidade de decodificação global de um bloco de transporte. Respectivos sub- blocos podem ser ordenados responsivos para os respectivos valores de confiabilidade do sub-bloco e então iterativamente decodificado com base na ordenação priorizada. À título de exemplo somente, eles podem ser ordenados responsivos as suas estimativas de variância de ruído e então sub-blocos com maiores estimativas de variância de ruído são primeiramente decodificados. Isto, também, pode resultar em uma redução em complexidade em média detectando um erro de bloco de transporte antecipadamente.
[0060] Para exemplo de modalidades gerais, um método é para decodificação iterativa de um bloco recebido cujos bits de informação são cobertos por uma CRC. Iterações de um processo de decodificação iterativa são efetuadas no bloco. É apurado se a CRC verifica após cada iteração. Um processo de decodificação iterativa para o bloco é parado se a CRC verifica para um número pré-determinado de iterações consecutivas. Ainda mais, um processo de decodificação iterativa pode ser continuado se a CRC não verifica para o número pré-determinado de iterações consecutivas. Em um exemplo de implementação, o número pré-determinado de iterações consecutivas de verificações de CRC com sucesso é uma variável dependente que depende do número de iterações de decodificação que foi efetuado.
[0061] FIG. 5 é um fluxograma 500 de um exemplo de método geral para decodificar um bloco de transporte que é construído a partir de sub-blocos múltiplos tendo associadas CRCs. Como ilustrado, o fluxograma 500 inclui quatro blocos 502 - 508. O fluxograma 500 pode ser implementado através de um dispositivo, tal como um dispositivo de recepção 204 (da Fig. 2).
[0062] As ações do fluxograma 500, assim como os outros diagramas de fluxo aqui descritos, podem ser efetuadas com instruções executáveis pelo processador. Instruções executáveis pelo processador podem ser incorporadas como hardware, firmware, software, conjunto de circuitos de lógica fixa, combinações deles, e assim por diante. Exemplo de implementações operacionais de instruções executáveis pelo processador inclui, mas não são limitados à, uma memória acoplada a um processador, um circuito integrado de aplicação específica (ASIC), um processador de sinal digital e código associado, alguma combinação deles, e assim por diante.
[0063] Em uma modalidade de exemplo, o fluxograma 500 representa um método para decodificar um bloco de transporte construído a partir de sub-blocos múltiplos. Cada sub-bloco é uma palavra código que pode ser decodificada iterativamente com os bits de informação dela sendo cobertas por uma CRC. O método inclui ações de receber, realizar, parar e continuar. No bloco 502, o bloco de transporte é recebido. No bloco 504, uma iteração de um processo de decodificação iterativa em um sub-bloco particular dos sub-blocos múltiplos é efetuada. Isto pode ser apurado se a CRC para o sub-bloco particular verifica após cada iteração.
[0064] No bloco 506, um processo de decodificação iterativa para o sub-bloco particular é parado se a CRC associada com o sub-bloco particular verifica para um número pré-determinado de consecutivas iterações de decodificação. No bloco 508, o processo de decodificação iterativa para outros sub-blocos para os quais o processo de decodificação iterativa não foi parado é continuado até que as iterações de decodificação para todos os sub-blocos dos sub-blocos múltiplos possam ser paradas. Também, em um exemplo de implementação, um processo de decodificação iterativa é efetuado em um sub-bloco em um momento antes de prosseguir para o seguinte sub-bloco dos sub-blocos múltiplos.
[0065] FIG. 6 ilustra um exemplo de algoritmo iterativo 600 para decodificar um bloco de transporte quando cada sub-bloco está associado com uma CRC. Com algoritmo iterativo 600, a decodificação é iniciada na etapa 602. A contagem de iteração é configurada para i=l, e o corrente número de verificações com sucesso consecutivo é configurado para CHK= 0. Na etapa 604, processamento para iteração i é efetuado. Na etapa 606, a CRC para o bloco emitido U'(i) é verificada. Na etapa 608, é verificada se a CRC é satisfeita. Se não, então o contador de verificação com sucesso consecutivo é re-iniciado para CHK= 0 na etapa 610.
[0066] Se a CRC não verifica (como verificado na etapa 608), então na etapa 612 o contador de verificação com sucesso consecutivo é incrementado com CHK = CHK + 1. Na etapa 614, é verificado se o contador de verificação com sucesso consecutivo se iguala ao número pré-determinado da variável (dependente) de verificações com sucesso consecutivas M(i). Se a regra de parada de CRC consecutivo é verificada (na etapa 614), então na etapa 616 o bloco decodificado U'(i) é emitido.
[0067] Após a etapa 610 ou após uma determinação negativa na etapa 614, o algoritmo continua na etapa 618. Na etapa 618, é determinado se o número máximo de iterações de decodificação foi efetuado. Se sim, então na etapa 620 uma indicação de erro de bloco é emitida. Se não, então a contagem de iteração é incrementada com i = i+l na etapa 622.
[0068] Assim sendo, para determinadas modalidade de exemplos, o processo de decodificação iterativa não é parado até verificações de CRC consecutivas de M(i) terem sido satisfeitas. A variável M(i) no algoritmo 600 é uma variável dependente. Isto se refere ao número de sucessivas iterações para as quais a CRC é para ser satisfeita na iteração i para iterações de decodificação para parar. Exemplos de implementações alternativas para essas modalidades são descritos abaixo:
[0069] Em uma implementação alternativa, o número pré-determinado de iterações consecutivas, que é denotado por M(i) na Fig. 6, para a qual a CRC é para ser satisfeita não varia com o corrente número de iterações. Por exemplo, M pode ser selecionado como uma constante fixa tendo um pré-determinado valor fixo (e.g., 2, 3, etc.).
[0070] Em uma outra implementação alternativa, o número pré-determinado de verificações com sucesso consecutivas de M(i) pode diminuir conforme a contagem de iteração i aumenta. Por exemplo, M(i) pode ser configurado para 3 quando i<=3 (i.e., para as primeiras duas iterações), ser configurado para 2 quando i>3, e possivelmente configurado para 1 quando i = Imax. A lógica para diminuir o número pré-determinado de verificações com sucesso consecutivas M(i) é que a confiabilidade da saída do decodificador se torna sucessivamente maior com a contagem de iteração aumentando. Isto é, a probabilidade de um resultado para a verificação de CRC na iteração i+1 ser o mesmo que o resultado para a a verificação de CRC na iteração i, aumenta conforme i aumenta. Isto conduz à verificações de CRC sucessivas se tomando progressivamente menos relevante na medida que elas fornecem pouca informação adicional.
[0071] Uma área alternativa de aplicação para a qual os princípios da invenção podem ser usados é um dispositivo de equalização de múltiplas passagens / decodificador no qual as operações de equalização e decodificação de canal são aplicadas iterativamente de modo a melhorar o desempenho global do receptor. Em tais aplicações, uma regra de parada de CRC consecutiva como aqui descrita pode ser usada para reduzir a probabilidade de falta enquanto também reduzindo complexidade.
[0072] FIG. 7 ilustra um exemplo alternativo de algoritmo iterativo 700 para decodificar um bloco de transporte quando cada sub-bloco está associado com uma CRC. Com o algoritmo 700, a regra de parada de verificação de CRC consecutiva é aplicada após um número mínimo de iterações de decodificação, denotado por Imin, ter sido efetuado. Por exemplo, Imin pode ser configurado para 2, 3, etc. Algoritmo 700 difere do algoritmo 600 (da Fig. 6) pela adição de etapa 702. Na etapa 702, é determinado se pelo menos, o número mínimo de iterações de decodificação Imin foi efetuado. Se sim, o algoritmo continua a etapa 606 para verificar a CRC. Se pelo menos, Imin de iterações de decodificação não foram efetuadas, então o algoritmo prossegue para a etapa 622 para incrementar o contador de iteração i.
[0073] Em determinadas implementações do mundo real, os circuitos de verificação de CRC podem ser firmemente integrados em uma dada estrutura do decodificador iterativo. Por conseguinte, pode não ser possível completamente evitar realizar verificação de CRC para as iterações iniciais. Contudo, em tais configurações, o resultado de verificação de CRC pode ser ignorado até que o número de iterações de decodificação efetuadas alcança Imin.
[0074] Em determinados exemplos de modalidade, os sub-blocos múltiplos de um bloco de transporte recebido pode ser priorizado com base nos valores de confiabilidade do sub-bloco. O processo de decodificação iterativa nos sub-blocos múltiplos pode então ser efetuado em uma ordem que é responsiva aos valores de confiabilidade do sub-bloco. Isto pode reduzir a complexidade geral de um decodificador iterativo.
[0075] Quando um bloco de transporte é segmentado em sub-blocos múltiplos (conforme mostrado nas Figs. 1A e 1B), em erro em qualquer um dos sub-blocos considera o bloco de transporte completo inválido. Consequentemente, é desnecessário continuar a decodificação dos sub-blocos restantes do bloco de transporte quando um é confirmado estar em erro. Quando um bloco de transporte total está em erro, detectando um sub-bloco constituinte que está em erro antecipadamente ajuda a reduzir a complexidade.
[0076] De modo a aumentar a probabilidade que blocos de transportes em erro sejam detectados antecipadamente, os sub-blocos podem ser classificados em, e.g., diminuir ordem de correspondente confiabilidade de sinal. Em outras palavras, eles podem ser classificados e priorizados com base nos valores de confiabilidade do sub-bloco. Por exemplo, os sub-blocos podem ser classificados de acordo com suas relações de sinal-ruído ou suas relações de sinal-ruído e interferência. Como um outro exemplo, os sub-blocos podem ser classificados de acordo com suas estimativas de variância de ruído ou suas estimativas de potência de ruído e interferência.
[0077] O segundo conjunto de modalidades de exemplos é aplicável aos blocos de transporte nos quais os sub-blocos não têm sequências de verificação individuais (e.g., conforme mostrado na Fig. 1B). Em outras palavras, não há nenhumas CRCs internas. Há uma CRC externa que fornece uma soma lógica de verificação sobre a totalidade do bloco de dados. Uma abordagem direta para lidar este esquema de bloco de transporte é completar as operações de decodificação turbo em todos os sub-blocos (usando o número máximo de iterações), e finalmente realizar a verificação de quadro na sequência inteira para determinar se os dados do bloco de transporte foram recebidos corretamente ou erroneamente.
[0078] Ao contrário para tal uma abordagem "direta" e de acordo com o segundo conjunto de modalidades de exemplos, os métodos descritos podem reduzir a complexidade de um decodificador iterativo usando a CRC externa. Em um exemplo de implementação, um número limitado de iterações de decodificação é efetuado em cada sub-bloco antes de verificar a CRC. Um processo de decodificação iterativa é continuado se a CRC não verifica, mas pode ser parado se a CRC verifica.
[0079] Geralmente, exemplos de modalidades implicam em determinar se uma CRC verifica na totalidade de um bloco de transporte após cada iteração de decodificação em um sub-bloco. Após um número pré-determinado de corretos de verificações de CRC, o processo de decodificação iterativa pode ser concluído. Os sub-blocos também podem ser priorizados para determinar em quais sub-bloco a seguinte iteração de decodificação é para ser aplicada. Detalhes adicionais assim como implementações alternativas estão ainda descritos aqui abaixo.
[0080] Em determinadas modalidades de exemplos, há métodos para decodificar um bloco de transporte que inclui sub-blocos múltiplos, cada um dos quais pode ser decodificado iterativamente. O bloco de transporte também inclui uma única CRC sobre uma totalidade do bloco de transporte. Os métodos incluem ações de realizar a iteração de decodificação em um sub-bloco particular e verificar a CRC para a totalidade do bloco de transporte. Um primeiro exemplo de método também inclui uma ação de realizar uma iteração de decodificação em um diferente sub-bloco. Um segundo exemplo de método também inclui uma ação de concluir as iterações de decodificação para todos os sub-blocos dos sub-blocos múltiplos.
[0081] Mais especificamente, uma iteração de decodificação é efetuada em um sub-bloco particular dos sub-blocos múltiplos. A CRC para a totalidade do bloco de transporte é verificada usando bits decodificados obtidos a partir da iteração de decodificação no sub-bloco particular e bits decodificados obtidos a partir das iterações de decodificação anteriores em outros sub-blocos dos sub-blocos múltiplos. No primeiro exemplo de método, uma iteração de decodificação é efetuada em um diferente sub-bloco se a CRC não verifica. Ainda mais, as iterações de decodificação para todos os sub-blocos dos sub-blocos múltiplos podem ser concluídas se a CRC verifica consecutivamente para um número pré-determinado de consecutivas iterações de decodificação. O número pré-determinado de iterações consecutivas pode ser configurado, por exemplo, tão baixo quanto um.
[0082] FIG. 8 é um fluxograma 800 de um exemplo geral de método para decodificação iterativa de um bloco de transporte tendo uma CRC quando sub- blocos múltiplos estão associados com a CRC. Como ilustrado, fluxograma 800 inclui seis etapas 802 - 812. O fluxograma 800 pode ser implementado por um dispositivo, tal como um dispositivo de recepção 204 (da Fig. 2). Em uma modalidade de exemplo, o fluxograma 800 representa um método para um dispositivo de recepção que iterativamente decodifica um bloco de transporte. O método inclui ações de receber, realizar, verificar, e realizar condicionalmente com a apuração.
[0083] Na etapa 802, um bloco de transporte tendo sub-blocos múltiplos é recebido. O bloco de transporte inclui uma CRC que está associado com os sub- blocos múltiplos. Os sub-blocos múltiplos de número "n". Na etapa 804, uma iteração de decodificação é efetuada em um número de sub-blocos dos sub-blocos múltiplos, com o número sendo maior do que zero e menor do que "n".
[0084] Na etapa 808, é verificado se a CRC verifica com relação aos sub-blocos múltiplos. Se a verificação de CRC falha, os sub-blocos a serem decodificados são mudados na etapa 806. Assim sendo, na etapa 804, uma iteração de decodificação é efetuada em pelo menos, um diferente sub-bloco dos sub-blocos múltiplos se a CRC não é verificada para verificar (na etapa 808).
[0085] Se, por outro lado, a CRC é verificada para verificar (na etapa 808), o bloco de transporte pode ser declarado válido na etapa 812. Adicionalmente, a declaração de validade pode ser condicional em um histórico de verificação de CRC encontrando um critério. Quando verificações de CRC com sucesso repetidos são usados como parte de uma regra de parada, a ação(s) de etapa 810 é também efetuada após uma verificação de CRC afirmativa na etapa 808.
[0086] Na etapa 810, se a CRC é verificada para verificar, iterações de decodificação são repetidamente efetuadas em um ou mais sub-blocos até um histórico de verificação de CRC ser determinado como satisfazendo um critério pré- determinado. O critério pré-determinado pode ser, por exemplo, que uma CRC verifica um número pré-determinado total de vezes ou que a CRC verifica um número pré-determinado consecutivo de vezes.
[0087] Conforme um outro exemplo alternativo de implementação, o bloco de transporte pode ser declarado inválido se um número pré-determinado de iterações de decodificação é efetuado em cada sub-bloco dos sub-blocos múltiplos sem a verificação de CRC.
[0088] Em uma outra modalidade de exemplo, um dispositivo é adaptado para iterativamente decodificar um bloco de transporte tendo uma CRC. O dispositivo inclui um receptor, um decodificador, e um processador. O receptor recebe um bloco de transporte tendo sub-blocos múltiplos. O bloco de transporte inclui uma CRC que está associado com os sub-blocos múltiplos. O decodificador decodifica um subconjunto dos sub-blocos múltiplos. O subconjunto é um ou mais sub-blocos mas menos do que todos os sub-blocos múltiplos. O processador é programado para verificar se a CRC verifica com relação aos sub-blocos múltiplos após o subconjunto ser decodificado pelo decodificador. O processador é também programado para forçar o decodificador a continuar a iterativamente decodificar subconjuntos dos sub- blocos múltiplos se a CRC não verifica após um subconjunto ser decodificado.
[0089] Em um exemplo de implementação, o processador é ainda programado para verificar se a CRC verifica com relação aos sub-blocos múltiplos verificando os bits decodificados que estão concatenados a partir de uma iteração de decodificação corrente no subconjunto dos sub-blocos múltiplos e bits decodificados a partir de uma ou mais iterações de decodificação anteriores em outros sub-blocos dos sub- blocos múltiplos. A concatenação de bits decodificados durante um processo de decodificação iterativa é descrita abaixo com particular referência à Fig. 9.
[0090] À título de exemplo, mas não limitação, operação de um codificador turbo e de um decodificador turbo são descritos. Cada sub-bloco de bits U é passado através do codificador turbo e uma sequência resultante de bits decodificados é obtida. Os bits decodificados para cada um dos sub-blocos são então intercalados, modulados, e enviado sobre o canal sem fio para o receptor. Um codificador turbo tipicamente inclui dois decodificadores constituintes. Os bits de dados compreendendo um sub-bloco são passados através do primeiro codificador constituinte para produzir um primeiro conjunto de bits decodificados. Os bits de dados são então intercalados e passados através do segundo codificador constituinte para produzir um segundo conjunto de bits decodificados. Finalmente, um processo de punção é usado para escolher dentre os bits de dados e os dois conjuntos de bits decodificados para selecionar o conjunto final de bits decodificados. Esta seleção é feita de acordo com uma taxa de codificação e regras de punção. O conjunto final de bits decodificados V é enviado sobre o canal.
[0091] O decodificador turbo funciona iterativamente com dois decodificadores constituintes. Ele primeiro decodifica de acordo com um dos decodificadores, e este processo produz uma versão refinada dos bits de dados. A versão refinada de bits de dados é então passada para o segundo decodificador, com um processo de intercalação entre eles. Sucessivas iterações alternando entre o primeiro e segundo decodificadores constituintes continuamente refine a versão corrente dos bits de dados. Este processo pode ser continuado, e.g., para uma determinada pré- configuração número de iterações.
[0092] Em uma abordagem direta, o processo de decodificação turbo pode ser efetuado para o máximo número permitido de iterações para todos os sub-blocos. O bloco de dados assim sendo obtido, conforme a concatenação dos bits de dados emitidos a partir dos decodificadores turbo constituintes operando em cada sub- bloco, é então passado através do processo de verificação da CRC. Se a verificação é com sucesso, então o receptor pode reconhecer o bloco de dado recebido e o passa para camadas superiores. Se a verificação não é com sucesso, o receptor pode armazenar o bloco de dados recebido na memória e sinaliza um reconhecimento negativo para o transmissor, que pode retransmitir o bloco de dados.
[0093] Ao contrário, para determinados exemplos de modalidade que estão aqui descritas, uma verificação de CRC é efetuada no bloco de dados após que o decodificador turbo completa uma iteração em um dado sub-bloco. Assim sendo, o decodificador turbo é operado para a seguinte iteração programada no sub-bloco m, e a verificação de CRC é efetuada no bloco concatenado que tem os bits decodificados a partir do sub-bloco m a partir da iteração corrente, mas bits decodificados a partir de outros sub-blocos a partir das iterações anteriores.
[0094] FIG. 9 é um diagrama em bloco 900 ilustrando um exemplo de concatenação de bits decodificados entre iterações quando decodificando um bloco de transporte tendo uma CRC quando sub-blocos múltiplos estão associados com a CRC. Sub-blocos 102B(l), 102B(2)... 102B(n) de um bloco recebido de transporte são mostrados. Após as iterações de decodificação totais D, um conjunto concatenado de bits decodificados é produzido. Eles são ilustrados como bits decodificados 902(1), 902(2)... 902(n).
[0095] Uma outra iteração do decodificador (i.e., a D+l ésima iteração) é efetuada nos bits decodificados 902(2) a partir do sub-bloco original 102B(2). Isto produz bits decodificados 904(2). Os outros bits decodificados a partir das D iterações anteriores (e.g., bits decodificados 902(1) e 902(n)) são concatenadas com bits decodificados 904(2). A CRC é então verificada com relação a totalidade do bloco de transporte recebido usando os bits decodificados 902(1), 904(2),... 902(n). Sucessivas iterações de decodificação e verificações de CRC podem ser efetuadas de forma similar.
[0096] Se a CRC verifica, então há uma chance relativamente boa que o bloco de transporte inteiro foi corretamente recebido. Assim sendo, uma decodificação pode ser parada. Se a CRC não verifica, então uma outra iteração do decodificador para um diferente sub-bloco é efetuada. Após cada iteração, os bits decodificados concatenados a partir dos vários sub-blocos são verificados contra a CRC com bits decodificados a partir de uma iteração mais recente do decodificador em um sub- bloco sendo incluído com bits decodificados a partir das iterações anteriores nos outros sub-blocos. Assim sendo, os bits decodificados a partir da última iteração para cada sub-bloco são concatenados e verificados contra a CRC com o número de iterações efetuadas em cada um dos sub-blocos sendo potencialmente diferentes em qualquer dado momento.
[0097] A ordem também pode ser priorizada quando selecionando o seguinte sub-bloco a ser iterativamente decodificado. Cada respectivo sub-bloco pode estar associado com um correspondente valor de confiabilidade do sub-bloco. Antes de realizar uma iteração n, os blocos decodificados podem ser priorizados de modo a aumentar a confiabilidade. Sub-blocos com valores de confiabilidade inferior são priorizados para a operação de decodificação.
[0098] Porque sub-blocos relativamente menos confiáveis são mais prováveis de necessitar relativamente mais iterações, a eficiência pode ser aumentada se as seguintes iterações são aplicadas aos sub-blocos de modo a aumentar confiabilidade. Exemplos de valores de confiabilidade do sub-bloco incluem, mas não são limitados a diferentes meios (tal como a média ou o valor mínimo) do valor absoluto dos valores de probabilidade através dos bits decodificados para cada sub- bloco. Outros exemplos de confiabilidade de sub-bloco são métricas de decisão ponderada.
[0099] Conforme notado acima, em vez de uma única verificação de CRC correta, múltiplas verificações de CRC corretas através de iterações de decodificação podem ser usadas como um critério para parar um processo de decodificação iterativa. Um histórico de verificações de CRC com sucesso e/ou falho pode ser mantido. Efetuando múltiplas verificações, a chance que um sub- bloco incorreto acione uma verificação de CRC com sucesso é, de forma significativa, reduzida.
[00100] Em um exemplo de implementação, uma verificação de CRC pode ser efetuada na estimativa dos bits antes de qualquer operação de decodificação ser efetuada, e uma outra verificação de CRC pode ser efetuada após uma iteração em cada um dos sub-blocos do bloco de transporte. Se a CRC verifica em ambos casos, então o bloco decodificado é altamente provável estar correto. Se a CRC não verifica, então o processo de decodificação de sub-blocos priorizados, junto com a verificação repetida da CRC, pode prosseguir. Um número de verificações de CRC correto consecutivas pode ser usado, por exemplo, como um critério para parar um processo de decodificação iterativa.
[00101] FIG. 10 é um diagrama em bloco 1000 de exemplo de dispositivos 1002 que pode ser usado para implementar modalidades para decodificação iterativa de blocos com CRCs. Como ilustrado, o diagrama de bloco 1000 inclui dois dispositivos 1002(1) e 1002(2), equipamento de interface homem - dispositivo 1012, e uma ou mais redes 1016. Como explicitamente mostrado com dispositivo 1002(1), cada dispositivo 1002 pode incluir pelo menos, um processador 1004, uma ou mais mídia 1006, uma ou mais interfaces de entrada / saída 1008, e pelo menos, uma interconexão 1014. Mídia 1006 pode incluir instruções executáveis pelo processador 1010. Rede (s) 1016 pode ser, à título de exemplo, mas não limitação, uma internet, uma intranet, uma Ethernet, uma rede pública, uma rede privada, uma rede a cabo, uma rede de linha de assinante digital (DSL), uma rede de telefone, uma rede com fio, uma rede sem fio, alguma combinação deles, e assim por diante. Dispositivo 1002(1) e dispositivo 1002(2) pode se comunicar através da rede (s) 1016.
[00102] Para modalidade de exemplos, o dispositivo 1002 pode representar qualquer dispositivo capaz de processamento. Processador 1004 pode ser implementado usando qualquer tecnologia capaz de processamento aplicável, e um pode ser realizado como um processador de propósito geral ou de propósito especial. Exemplos incluem, mas não são limitados à, uma unidade de processamento central (CPU), um processador de sinal digital (DSP), um microprocessador, alguma combinação deles, e assim por diante. Mídia 1006 pode ser qualquer mídia disponível que é incluída como parte de e / ou é acessível pelo dispositivo 1002. Ele inclui mídia volátil e não volátil, mídia removível e não removível, armazenagem (e.g., memória) e mídia de transmissão (e.g., canais de comunicação com fio ou sem fio), mídia lógica codificada por hardware (que pode incluir memória), combinações deles, e assim por diante. Mídia 1006 é mídia tangível quando ela é incorporada como uma fabricação e / ou como uma composição de material.
[00103] Interconexão 1014 interconecta os componentes do dispositivo 1002. Interconexão 1014 pode ser realizada como uma barra de comunicação ou outro mecanismo de conexão e pode diretamente ou indiretamente interconectar vários componentes. Interfaces de I / O 1008 pode incluir (i) uma interface de rede para monitorar e / ou comunicar através de rede 1016, (ii) um dispositivo de exibição interface para exibir informação em uma tela de exibição, (iii) uma ou mais interfaces homem - dispositivo, e assim por diante. Exemplo de interfaces de rede incluem, mas não são limitados a um rádio ou transceptor (e.g., um transmissor e / ou receptor), um modem, um cartão de rede, alguma combinação dele, e assim por diante. Equipamento de interface homem - dispositivo 1012 pode ser um teclado, uma tela de toque, um controle remoto, um mouse ou outro dispositivo de apontamento gráfico, uma tela, um alto-falante, e assim por diante. Equipamento de interface homem - dispositivo 1012 pode ser integrado com ou discreto a partir do dispositivo 1002
[00104] Geralmente, processador 1004 é capaz de executar, realizar, e / ou por outro lado realizar instruções executáveis pelo processador, tal como instruções executáveis pelo processador 1010. Mídia 1006 é compreendida de uma ou mais mídia acessível pelo processador. Em outras palavras, mídia 1006 pode incluir instruções executáveis pelo processador 1010 que são executáveis pelo processador 1004 para realizar o desempenho de funções pelo dispositivo 1002. Instruções executáveis pelo processador 1010 podem ser incorporadas como software, firmware, hardware, conjunto de circuitos de lógica fixa, alguma combinação dele, e assim por diante. Processador 1004 e instruções executáveis pelo processador 1010 de mídia 1006 pode ser realizada separadamente (e.g., como um código de execução de DSP) ou integrada (e.g., como parte de um circuito integrado de aplicação específica (ASIC)).
[00105] Em implementações de exemplo, um dispositivo 1002 pode compreender um dispositivo de transmissão 202, e um outro dispositivo 1002 pode compreender um dispositivo de recepção 204 (ambos da Fig. 2). Instruções executáveis pelo processador 1010 podem compreender, por exemplo, o decodificador iterativo 216 da Fig. 4. Quando instruções executáveis pelo processador 1010 são executadas pelo processador 1004, as funções que estão aqui descritas podem ser efetuadas. Exemplos de funções incluem, mas não são limitados a aquelas ilustradas através de diagramas de fluxo 500 / 800 e algoritmos 600 / 700, assim como aqueles pertencendo aos recursos ilustrados pelos vários procedimentos, esquemas, e assim por diante.
[00106] Embora modalidades de exemplos foram descritas no contexto de processamento iterativo para decodificação de canal, é aparente que processamento iterativo ocorre em muitas outras situações em sistemas de comunicação sem fio e com fio. Assim sendo, os princípios que estão aqui descritos são também aplicáveis àquelas outras situações.
[00107] Diferente(s) modalidade(s) da invenção pode oferecer uma ou mais vantagens. Geralmente, a complexidade de um dispositivo de comunicação (e.g., um dispositivo de terminal móvel ou estação base) pode ser reduzida possibilitando a conclusão apropriadamente antecipada de decodificação iterativa de sub-blocos de um bloco de transporte. Também, operação mais rápida de um, e.g., processo de decodificação turbo pode ser alcançado devida à conclusão antecipada. A conclusão antecipada pode permitir área de chip e consumo de potência inferiores.
[00108] Os dispositivos, ações, recursos, funções, métodos, esquemas, estruturas de dados, procedimentos, componentes, etc. das Figs. 1A - 10 são ilustrados nos diagramas que são divididos em múltiplo blocos e outros elementos. Contudo, uma ordem, interconexão, interconexões, inter-relações, esboço, etc. nos quais FIGS. 1A - 10 são descritos e/ou mostrados não são pretendidos serem interpretados como uma limitação, e qualquer número dos blocos e/ou outros elementos pode ser modificado, combinado, re-arrumado, aumentado, omitido, etc. em qualquer maneira para implementar um ou mais sistemas, métodos, dispositivos, mídia, aparelhos, arranjos, etc. para decodificação iterativa de blocos com controle de redundância cíclica.
[00109] Embora múltiplas modalidades da presente invenção foram ilustradas nos Desenhos anexos e descritas na discussão da Descrição Detalhada precedente, deve ser entendido que a invenção não é limitada às modalidades divulgadas, para isto é também capaz de numerosos re-arranjos, modificações e substituições sem fugir do escopo da invenção conforme estabelecido e definido pelas seguintes reivindicações.

Claims (35)

1. Método para decodificar um bloco de transporte construído a partir de sub-blocos múltiplos, cada sub-bloco sendo uma palavra de código que pode ser decodificada iterativamente com os bits de informação dela sendo cobertos por uma verificação de redundância cíclica, CRC, caracterizado pelo fato de compreender ações de: receber o bloco de transporte; realizar iterações de um processo de decodificação iterativa em um sub-bloco particular dos sub-blocos múltiplos; verificar se a CRC para o sub-bloco particular verifica após cada iteração; parar o processo de decodificação iterativa para o sub-bloco particular se a CRC associada com o sub-bloco particular verifica para um número pré-determinado de consecutivas iterações de decodificação; e continuar o processo de decodificação iterativa para outros sub- blocos para os quais o processo de decodificação iterativa não foi parado até que as iterações de decodificação para todos os sub-blocos dos sub-blocos múltiplos possam ser paradas.
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o processo de decodificação iterativa é efetuado em um sub-bloco por vez antes de proceder para o seguinte sub-bloco dos sub-blocos múltiplos.
3. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que as ações de verificar e parar são puladas até após um número pré- determinado mínimo de iterações do processo de decodificação iterativa ter sido efetuado.
4. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a ação de parar é pulada até após as ações de realizar e verificar terem sido implementadas um número pré-determinado mínimo de vezes.
5. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que cada CRC de cada sub-bloco dos sub-blocos múltiplos compreende uma CRC interna, e em que o bloco de transporte ainda inclui uma CRC externa cobrindo uma totalidade do bloco de transporte; o método ainda compreende ações de: verificar se a CRC externa verifica para a totalidade do bloco de transporte; e se a CRC externa é verificada para verificar, declarando a totalidade do bloco de transporte válido.
6. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o número pré-determinado de consecutivas iterações de decodificação é uma variável dependente que depende de um número de iterações de decodificação que foram efetuadas.
7. Método, de acordo com a reivindicação 1, ainda caracterizado pelo fato de compreender ações de: priorizar alguns respectivos dos sub-blocos múltiplos com base nos respectivos valores de confiabilidade do sub-bloco; e realizar o processo de decodificação iterativa nos sub-blocos múltiplos em uma ordem que é responsiva aos valores de confiabilidade do sub- bloco.
8. Dispositivo para decodificar um bloco de transporte construído a partir dos sub-blocos múltiplos, cada sub-bloco sendo uma palavra código que pode ser decodificada iterativamente com os bits de informação dela cobertos por uma verificação de redundância cíclica, CRC, caracterizado pelo fato de compreender: um receptor para receber o bloco de transporte; um decodificador para realizar iterações de um processo de decodificação iterativa em um sub-bloco particular dos sub-blocos múltiplos; pelo menos um processador programado para verificar se a CRC para o sub-bloco particular verifica após cada iteração; o processador programado para parar o processo de decodificação iterativa para o sub-bloco particular se a CRC associada com o sub-bloco particular verifica para um número pré-determinado de consecutivas iterações de decodificação e para continuar o processo de decodificação iterativa para outros sub-blocos para os quais o processo de decodificação iterativa não é parado até que as iterações de decodificação para todos os sub-blocos dos sub-blocos múltiplos possam ser paradas.
9. Dispositivo, de acordo com a reivindicação 8, caracterizadopelo fato de que o processador é ainda programado para fazer com que o decodificador realize o processo de decodificação iterativa de um sub-bloco por vez antes de proceder para o seguinte sub-bloco dos sub-blocos múltiplos.
10. Dispositivo, de acordo com a reivindicação 8, caracterizadopelo fato de que o número pré-determinado de consecutivas iterações de decodificação compreende um número pré-determinado fixo.
11. Dispositivo, de acordo com a reivindicação 8, caracterizadopelo fato de que o número pré-determinado de consecutivas iterações de decodificação compreende um número variável que é configurado responsivo a uma pré- determinada função que depende de um número das iterações de decodificação que foram efetuadas no sub-bloco particular.
12. Dispositivo, de acordo com a reivindicação 8, caracterizadopelo fato de que o processador é ainda programado para priorizar os sub-blocos múltiplos com base em valores de confiabilidade de sub-bloco e para fazer com que o decodificador realize o processo de decodificação iterativa nos diferentes sub-blocos em uma ordem que seja responsiva aos valores de confiabilidade do sub-bloco.
13. Dispositivo, de acordo com a reivindicação 12, caracterizado pelo fato de que os valores de confiabilidade do sub-bloco são com base em: estimativas de variância de ruído, relações de sinal-ruído, relações de sinal-ruído e interferência, estimativas de potência de ruído e interferência, pelo menos uma métrica de decisões ponderadas, ou valores de probabilidade através de bits decodificados.
14. Instruções executáveis por processador de armazenamento em memória para decodificar um bloco de transporte recebido construído a partir dos sub-blocos múltiplos, cada sub-bloco sendo uma palavra de código que pode ser decodificada iterativamente com os bits de informação dela sendo coberto por uma verificação de redundância cíclica, CRC; caracterizadaspelo fato de que, quando executadas, direcionam um dispositivo a realizar ações compreendendo: receber o bloco de transporte; realizar iterações de um processo de decodificação iterativa em um sub-bloco particular dos sub-blocos múltiplos; verificar se a CRC para o sub-bloco particular verifica após cada iteração; parar o processo de decodificação iterativa para o sub-bloco particular se a CRC associada com o sub-bloco particular verifica para um número pré-determinado de consecutivas iterações de decodificação; e continuar o processo de decodificação iterativa para outros sub- blocos para os quais o processo de decodificação iterativa não foi parado até que as iterações de decodificação para todos os sub-blocos dos sub-blocos múltiplos possam ser paradas.
15. Método para decodificar um bloco de transporte incluindo sub- blocos múltiplos, cada um dos quais pode ser decodificado iterativamente, onde o bloco de transporte também inclui uma única verificação de redundância cíclica, CRC, sobre uma totalidade do bloco de transporte; caracterizadopelo fato de compreender ações de: realizar uma iteração de decodificação em um sub-bloco particular dos sub-blocos múltiplos; verificar a CRC para a totalidade do bloco de transporte usando bits decodificados obtidos a partir da iteração de decodificação no sub-bloco particular e bits decodificados obtidos a partir de uma mais recente iteração de decodificação em outros sub-blocos dos sub-blocos múltiplos; e realizar uma iteração de decodificação em um diferente sub-bloco se a CRC não é verificada; parar o processo de decodificação iterativa para o sub-bloco particular se a CRC associada com o sub-bloco particular verifica para um número pré-determinado de consecutivas iterações de decodificação; e continuar o processo de decodificação iterativa para outros sub- blocos para os quais o processo de decodificação iterativa não foi parado até que as iterações de decodificação para todos os sub-blocos dos sub-blocos múltiplos possam ser paradas.
16. Método para decodificar um bloco de transporte incluindo sub- blocos múltiplos, cada um dos quais pode ser decodificado iterativamente, em que o bloco de transporte também inclui uma única verificação de redundância cíclica, CRC, sobre uma totalidade dos blocos de transporte; caracterizadopelo fato de compreender ações de: realizar uma iteração de decodificação em um sub-bloco particular dos sub-blocos múltiplos; verificar a CRC para a totalidade do bloco de transporte usando bits decodificados obtidos a partir da iteração de decodificação no sub-bloco particular e bits decodificados obtidos usando uma mais recente iteração de decodificação nos outros sub-blocos dos sub-blocos múltiplos; e terminar as iterações de decodificação para todos dos sub-blocos dos sub-blocos múltiplos se a CRC verifica consecutivamente para um número pré- determinado de consecutivas iterações de decodificação; parar o processo de decodificação iterativa para o sub-bloco particular se a CRC associada com o sub-bloco particular verifica para um número pré-determinado de consecutivas iterações de decodificação; e continuar o processo de decodificação iterativa para outros sub- blocos para os quais o processo de decodificação iterativa não foi parado até que as iterações de decodificação para todos os sub-blocos dos sub-blocos múltiplos possam ser paradas.
17. Método, de acordo com a reivindicação 16, caracterizadopelo fato de que as consecutivas iterações de decodificação podem ser nos diferentes sub-blocos dos sub-blocos múltiplos.
18. Método, de acordo com a reivindicação 16, caracterizadopelo fato de que as ações de verificação e terminação são puladas até após um número pré-determinado mínimo das iterações de decodificação ter sido efetuado no sub-bloco particular.
19. Método, de acordo com a reivindicação 16, caracterizadopelo fato de que a ação de terminar é pulada até após as ações de realizar e verificar terem sido implementadas um número pré-determinado mínimo de vezes.
20. Método para decodificação iterativa de um bloco de transporte tendo uma verificação de redundância cíclica, CRC, caracterizadopelo fato de compreender ações de: receber um bloco de transporte tendo sub-blocos múltiplos, o bloco de transporte incluindo uma CRC associada com os sub-blocos múltiplos; realizar uma iteração de decodificação em um número de sub-blocos dos sub-blocos múltiplos; verificar se a CRC verifica com relação aos sub-blocos múltiplos; e realizar a iteração de decodificação em pelo menos um diferente sub-bloco dos sub-blocos múltiplos se a CRC não é verificada para verificar; parar o processo de decodificação iterativa para o sub-bloco particular se a CRC associada com o sub-bloco particular verifica para um número pré-determinado de consecutivas iterações de decodificação; e continuar o processo de decodificação iterativa para outros sub- blocos para os quais o processo de decodificação iterativa não foi parado até que as iterações de decodificação para todos os sub-blocos dos sub-blocos múltiplos possam ser paradas.
21. Método, de acordo com a reivindicação 20, ainda caracterizado pelo fato de compreender uma ação de: realizar a iteração de decodificação em cada um dos sub-blocos dos sub-blocos múltiplos pelo menos uma vez antes de realizar a ação de verificar.
22. Método, de acordo com a reivindicação 20, caracterizadopelo fato de que o número de sub-blocos para a ação de realizar uma iteração de decodificação em um número de sub-blocos iguala a um.
23. Método, de acordo com a reivindicação 20, caracterizadoainda pelo fato de compreender uma ação de: se a CRC é verificada para verificar, declarar o bloco de transporte válido.
24. Método, de acordo com a reivindicação 20, caracterizado ainda pelo fato de compreender uma ação de: se a CRC é verificada para verificar, repetidamente realizar as iterações de decodificação em um ou mais sub-blocos até um histórico de verificação de CRC ser determinado como satisfazendo um critério pré-determinado.
25. Método, de acordo com a reivindicação 24, caracterizado pelo fato de que: o histórico de verificação de CRC é determinado para satisfazer o critério pré-determinado se a CRC verifica um número pré-determinado total de vezes; ou o histórico de verificação de CRC é determinado para satisfazer o critério pré-determinado se a CRC verifica um pré-determinado consecutivo número de vezes.
26. Método, de acordo com a reivindicação 24, ainda caracterizado pelo fato de compreender uma ação de: declarar o bloco de transporte inválido se o histórico de verificação de CRC não é determinado como satisfazendo o critério pré-determinado.
27. Método, de acordo com a reivindicação 20, ainda caracterizado pelo fato de compreender uma ação de: declarar o bloco de transporte inválido se um número pré- determinado de iterações de decodificação são efetuadas em cada sub-bloco dos sub-blocos múltiplos sem a verificação de CRC.
28. Dispositivo para decodificação iterativa de um bloco de transporte tendo uma verificação de redundância cíclica, CRC, caracterizado pelo fato de compreender: um receptor para receber um bloco de transporte tendo sub-blocos múltiplos, o bloco de transporte incluindo uma CRC associada com os sub-blocos múltiplos; um decodificador para decodificar um subconjunto dos sub-blocos múltiplos; e pelo menos um processador programado para verificar se a CRC verifica com relação aos sub-blocos múltiplos após o subconjunto ser decodificado pelo decodificador, o processador programado para fazer com que o decodificador continue a decodificar iterativamente outros subconjuntos dos sub-blocos múltiplos se a CRC não é verificada para verificar após cada um dos subconjuntos; o processador programado ainda para parar o processo de decodificação iterativa para o sub-bloco particular se a CRC associada com o sub- bloco particular verifica para um número pré-determinado de consecutivas iterações de decodificação; e o processador programado ainda para continuar o processo de decodificação iterativa para outros sub-blocos para os quais o processo de decodificação iterativa não foi parado até que as iterações de decodificação para todos os sub-blocos dos sub-blocos múltiplos possam ser paradas.
29. Dispositivo, de acordo com a reivindicação 28, caracterizado pelo fato de que o decodificador compreende um decodificador turbo que efetua duas operações de decodificação por ciclo de decodificação.
30. Dispositivo, de acordo com a reivindicação 29, caracterizado pelo fato de que cada iteração do decodificador turbo compreende uma operação de decodificação ou duas operações de decodificação.
31. Dispositivo, de acordo com a reivindicação 28, caracterizado pelo fato de que o processador é ainda programado (i) para priorizar respectivos alguns dos sub-blocos múltiplos com base nos respectivos valores de confiabilidade do sub-bloco e (ii) para fazer com que o decodificador decodifique os subconjuntos dos sub-blocos múltiplos responsivos à priorização do valor de confiabilidade do sub-bloco.
32. Dispositivo, de acordo com a reivindicação 28, caracterizado pelo fato de que o processador é ainda programado para verificar se a CRC verifica com relação aos sub-blocos múltiplos verificando os bits decodificados que são concatenados a partir de uma iteração de decodificação corrente no subconjunto dos sub-blocos múltiplos e a partir de uma mais recente iteração de decodificação para um ou mais outros sub-blocos dos sub-blocos múltiplos.
33. Dispositivo, de acordo com a reivindicação 28, caracterizado pelo fato de que o processador é ainda programado para repetidamente decodificar subconjuntos dos sub-blocos múltiplos até um histórico de verificação de CRC ser determinado como satisfazendo um critério pré-determinado.
34. Dispositivo, de acordo com a reivindicação 33, caracterizado pelo fato de que: o histórico de verificação de CRC é determinado como satisfazendo o critério pré-determinado se a CRC verifica um número pré-determinado total de vezes; ou o histórico de verificação de CRC é determinado como satisfazendo o critério pré-determinado se a CRC verifica um pré-determinado consecutivo número de vezes.
35. Instruções executáveis por processador de armazenamento em memória para decodificação iterativa de um bloco de transporte tendo uma verificação de redundância cíclica, CRC, caracterizadaspelo fato de que, quando executadas, direcionam um dispositivo para realizar ações compreendendo: receber um bloco de transporte tendo sub-blocos múltiplos, o bloco de transporte incluindo uma CRC associada com os sub-blocos múltiplos, os sub- blocos múltiplos numerados "n"; realizar a iteração de decodificação em um número de sub-blocos dos sub-blocos múltiplos, o número sendo maior do que zero e menor do que "n"; verificar se a CRC verifica com relação aos sub-blocos múltiplos; realizar a iteração de decodificação em pelo menos um diferente sub-bloco dos sub-blocos múltiplos se a CRC não é verificada para verificar; parar o processo de decodificação iterativa para o sub-bloco particular se a CRC associada com o sub-bloco particular verifica para um número pré-determinado de consecutivas iterações de decodificação; e continuar o processo de decodificação iterativa para outros sub- blocos para os quais o processo de decodificação iterativa não foi parado até que as iterações de decodificação para todos os sub-blocos dos sub-blocos múltiplos possam ser paradas.
BRPI0918901A 2008-09-19 2009-09-16 “método e dispositivo para decodificar bloco de transporte, e, método e dispositivo para decodificação iterativa de bloco de transporte.” BRPI0918901B8 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/234,067 US20090077457A1 (en) 2007-09-19 2008-09-19 Iterative decoding of blocks with cyclic redundancy checks
US12/234,067 2008-09-19
PCT/IB2009/006856 WO2010032108A2 (en) 2008-09-19 2009-09-16 Iterative decoding of blocks with cyclic redundancy checks

Publications (4)

Publication Number Publication Date
BRPI0918901A2 BRPI0918901A2 (pt) 2015-12-08
BRPI0918901A8 BRPI0918901A8 (pt) 2018-06-12
BRPI0918901B1 true BRPI0918901B1 (pt) 2020-09-15
BRPI0918901B8 BRPI0918901B8 (pt) 2021-02-02

Family

ID=41666597

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0918901A BRPI0918901B8 (pt) 2008-09-19 2009-09-16 “método e dispositivo para decodificar bloco de transporte, e, método e dispositivo para decodificação iterativa de bloco de transporte.”

Country Status (7)

Country Link
US (3) US20090077457A1 (pt)
EP (1) EP2327179B1 (pt)
CN (2) CN102160315B (pt)
AU (1) AU2009294359B2 (pt)
BR (1) BRPI0918901B8 (pt)
CA (1) CA2737416C (pt)
WO (1) WO2010032108A2 (pt)

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9686044B2 (en) * 2007-03-27 2017-06-20 Qualcomm Incorporated Rate matching with multiple code block sizes
US20090077457A1 (en) 2007-09-19 2009-03-19 Rajaram Ramesh Iterative decoding of blocks with cyclic redundancy checks
CN101753265B (zh) * 2008-12-16 2012-12-12 华为技术有限公司 虚警校验方法、装置及用户设备
US8572460B2 (en) * 2009-03-17 2013-10-29 Broadcom Corporation Communication device employing binary product coding with selective additional cyclic redundancy check (CRC) therein
US8667522B1 (en) * 2009-08-26 2014-03-04 Arris Enterprises, Inc. Channel scanning
CN102577200A (zh) * 2009-11-26 2012-07-11 上海贝尔股份有限公司 信道解码方法及其设备
US8621319B2 (en) * 2009-12-14 2013-12-31 Electronics And Telecommunications Research Institute Method and apparatus for iterative determination of MIMO iterative receiver
KR101311504B1 (ko) 2009-12-14 2013-09-25 연세대학교 산학협력단 다중 입력 다중 출력 반복 수신기의 반복 결정 방법 및 장치
US8959421B2 (en) 2010-05-21 2015-02-17 Nec Corporation Decoding device and decoding order control method
US9125068B2 (en) 2010-06-04 2015-09-01 Ixia Methods, systems, and computer readable media for simulating realistic movement of user equipment in a long term evolution (LTE) network
US8504893B1 (en) * 2010-09-30 2013-08-06 Micron Technology, Inc. Error detection or correction of a portion of a codeword in a memory device
JP2013021544A (ja) * 2011-07-12 2013-01-31 Fujitsu Ltd 無線通信システム、無線通信装置及び無線通信方法
JP5760920B2 (ja) * 2011-09-30 2015-08-12 富士通株式会社 符号化信号の繰り返し復号法及び符号化信号の繰り返し復号装置
EP2579468B1 (en) * 2011-10-05 2020-05-06 Telefonaktiebolaget LM Ericsson (publ) Method and device for decoding a transport block of a communication signal
US8855070B2 (en) 2011-12-14 2014-10-07 Ixia Methods, systems, and computer readable media for improved long term evolution (LTE) hybrid automatic repeat request (HARQ) processing
US9154979B2 (en) 2011-12-14 2015-10-06 Ixia Scalable architecture for long term evolution (LTE) multiple user equipment (multi-UE) simulation
US9204325B2 (en) 2011-12-20 2015-12-01 Ixia Methods, systems, and computer readable media for reducing the impact of false downlink control information (DCI) detection in long term evolution (LTE) physical downlink control channel (PDCCH) data
US8839062B2 (en) * 2012-01-11 2014-09-16 International Business Machines Corporation Incremental modification of an error detection code background of the invention
US9071995B2 (en) 2012-01-17 2015-06-30 Ixia Methods, systems, and computer readable media for long term evolution (LTE) uplink data processing
US8908535B2 (en) 2012-02-10 2014-12-09 Ixia Methods, traffic simulators, and computer readable media for validating long term evolution (LTE) code blocks and transport blocks
US8724498B2 (en) 2012-02-14 2014-05-13 Ixia Methods, systems, and computer readable media for performing long term evolution (LTE) channel delineation
US8892829B2 (en) 2012-02-29 2014-11-18 Ixia Methods, systems, and computer readable media for integrated sub-block interleaving and rate matching
US8738985B2 (en) * 2012-03-28 2014-05-27 Ixia Methods, systems, and computer readable media for dynamically controlling a turbo decoding process in a long term evolution (LTE) multi-user equipment (UE) traffic simulator
US9131000B2 (en) 2012-04-13 2015-09-08 Ixia Methods, systems, and computer readable media for heuristics-based adaptive protocol parsing
US10440644B2 (en) * 2012-06-29 2019-10-08 Qualcomm Incorporated Methods and apparatus for turbo decoder throttling
US8929239B2 (en) * 2012-07-02 2015-01-06 Apple Inc. Modulation and coding scheme (MCS) recovery based on CQI offset
US8839079B2 (en) * 2012-08-20 2014-09-16 Qualcomm Incorporated Methods and apparatuses for saving power during transport block decoding in UMTS systems
US9060365B2 (en) * 2013-03-12 2015-06-16 Qualcomm Incorporated Method and apparatus for sharing decoding time across transport blocks
US9026883B2 (en) * 2013-03-13 2015-05-05 Mediatek Singapore Pte. Ltd. Decoding apparatus with adaptive control over external buffer interface and turbo decoder and related decoding method thereof
US9198065B2 (en) 2013-03-15 2015-11-24 Ixia Methods, systems, and computer readable media for utilizing adaptive symbol processing in a multiple user equipment (multi-UE) simulator
US10108483B2 (en) 2013-08-26 2018-10-23 Samsung Electronics Co., Ltd. Computing system with error handling mechanism and method of operation thereof
US9130595B1 (en) 2013-11-07 2015-09-08 The United States Of America As Represented By The Secretary Of The Navy System and method for acceleration effect correction using turbo-encoded data with cyclic redundancy check
KR102108386B1 (ko) * 2013-12-23 2020-05-08 삼성전자주식회사 저장 장치 및 그것의 데이터 엔코딩 및 디코딩 방법들
US9287900B2 (en) 2014-07-10 2016-03-15 International Business Machines Corporation Decoding of product codes
US20160036468A1 (en) * 2014-08-01 2016-02-04 Intel IP Corporation Method and device for iterative decoding a data transfer structure
US10419024B2 (en) 2017-05-26 2019-09-17 SK Hynix Inc. Early termination of low-density parity-check (LDPC) decoding
US11515897B2 (en) 2015-05-29 2022-11-29 SK Hynix Inc. Data storage device
US11177835B2 (en) 2015-09-25 2021-11-16 SK Hynix Inc. Data storage device
US11611359B2 (en) 2015-05-29 2023-03-21 SK Hynix Inc. Data storage device
US10396827B2 (en) 2015-09-25 2019-08-27 SK Hynix Inc. Data storage device
KR102285940B1 (ko) 2015-05-29 2021-08-05 에스케이하이닉스 주식회사 데이터 처리 회로, 데이터 처리 회로를 포함하는 데이터 저장 장치 및 그것의 동작 방법
US10291375B2 (en) * 2015-10-05 2019-05-14 Telefonaktiebolaget Lm Ericsson (Publ) Methods and nodes for communication of a message over a radio link
US10291356B2 (en) * 2016-05-11 2019-05-14 Futurewei Technologies, Inc. Decoding procedures in systems with codeblock segmentation
US10313057B2 (en) * 2016-06-01 2019-06-04 Qualcomm Incorporated Error detection in wireless communications using sectional redundancy check information
US10469104B2 (en) 2016-06-14 2019-11-05 Qualcomm Incorporated Methods and apparatus for compactly describing lifted low-density parity-check (LDPC) codes
US10411833B2 (en) * 2016-07-29 2019-09-10 Qualcomm Incorporated Early termination techniques for successive decoding processes
CN106850131B (zh) * 2016-11-30 2019-09-20 中国电子科技集团公司第七研究所 迭代解码方法和系统
US20180324103A1 (en) * 2017-05-04 2018-11-08 Qualcomm Incorporated Cross-carrier transport block decoding order indication
US10312939B2 (en) 2017-06-10 2019-06-04 Qualcomm Incorporated Communication techniques involving pairwise orthogonality of adjacent rows in LPDC code
US12476733B2 (en) 2017-06-19 2025-11-18 Qualcomm Incorporated Communication techniques with self-decodable redundancy versions (RVs) using systematic codes
CN110832799B (zh) 2017-07-07 2021-04-02 高通股份有限公司 应用低密度奇偶校验码基图选择的通信技术
WO2019095190A1 (en) * 2017-11-16 2019-05-23 Qualcomm Incorporated Reduced overhead error detection code design for decoding a codeword
US10992323B2 (en) 2019-02-01 2021-04-27 Micron Technology, Inc. Early decoding termination for a memory sub-system
CN111726195B (zh) * 2019-03-21 2021-12-31 华为技术有限公司 一种数据传输方法及通信装置
US11797396B2 (en) * 2020-07-30 2023-10-24 Seagate Technology Llc Decoding policy management to support multiple decoding schemes in a single buffer space
CN112202454B (zh) * 2020-10-14 2021-10-01 重庆邮电大学 利用循环冗余校验的低复杂度选择映射方法
WO2022186853A1 (en) * 2021-03-03 2022-09-09 Zeku, Inc. Dynamic cyclic redundancy check update for iterative decoding
CN115208516A (zh) * 2022-07-11 2022-10-18 上海恩阶电子科技有限公司 一种基于crc校验码的数据存储及校验方法
CN119154991B (zh) * 2023-06-15 2025-11-25 北京玄戒技术有限公司 Crc校验方法、装置、通信设备及存储介质
US12500609B2 (en) * 2024-05-22 2025-12-16 SanDisk Technologies, Inc. Optimized decoding scheduling in a joint LDPC and RAID decoding scheme

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6292918B1 (en) * 1998-11-05 2001-09-18 Qualcomm Incorporated Efficient iterative decoding
US20010052104A1 (en) * 2000-04-20 2001-12-13 Motorola, Inc. Iteration terminating using quality index criteria of turbo codes
US7051268B1 (en) * 2000-09-29 2006-05-23 Qualcomm Incorporated Method and apparatus for reducing power consumption of a decoder in a communication system
KR100713331B1 (ko) * 2000-12-23 2007-05-04 삼성전자주식회사 부호분할다중접속 이동통신시스템의 반복복호 중지 장치 및 방법
US6885711B2 (en) * 2001-06-27 2005-04-26 Qualcomm Inc Turbo decoder with multiple scale selections
US7093180B2 (en) * 2002-06-28 2006-08-15 Interdigital Technology Corporation Fast H-ARQ acknowledgement generation method using a stopping rule for turbo decoding
TWI350066B (en) * 2003-04-17 2011-10-01 Icera Inc Apparatus and method for turbo decoder termination
US7383484B2 (en) * 2004-03-12 2008-06-03 Seagate Technology Llc Cyclic redundancy check based message passing in turbo product code decoding
FR2890806B1 (fr) * 2005-09-09 2008-02-22 Thales Sa Procede d'amelioration de decodage iteratif de codes
KR100961743B1 (ko) * 2005-12-09 2010-06-07 삼성전자주식회사 다중 홉 중계방식의 광대역 무선 접속통신시스템에서 중계서비스를 지원하기 위한 장치 및 방법
US20090077457A1 (en) 2007-09-19 2009-03-19 Rajaram Ramesh Iterative decoding of blocks with cyclic redundancy checks

Also Published As

Publication number Publication date
BRPI0918901A2 (pt) 2015-12-08
US20120042226A1 (en) 2012-02-16
US8527843B2 (en) 2013-09-03
WO2010032108A2 (en) 2010-03-25
EP2327179A2 (en) 2011-06-01
BRPI0918901A8 (pt) 2018-06-12
CN102160315B (zh) 2014-11-05
AU2009294359B2 (en) 2015-11-12
CA2737416C (en) 2017-01-03
EP2327179B1 (en) 2015-11-11
BRPI0918901B8 (pt) 2021-02-02
CN104202126A (zh) 2014-12-10
WO2010032108A3 (en) 2010-05-14
US9197246B2 (en) 2015-11-24
AU2009294359A1 (en) 2010-03-25
CN104202126B (zh) 2017-10-24
CA2737416A1 (en) 2010-03-25
US20130311858A1 (en) 2013-11-21
CN102160315A (zh) 2011-08-17
US20090077457A1 (en) 2009-03-19

Similar Documents

Publication Publication Date Title
BRPI0918901B1 (pt) Método e dispositivo para decodificar bloco de transporte, instruções executáveis por processador de armazenamento em memória, e método e dispositivo para decodificação iterativa de bloco de transporte
JP7026689B2 (ja) 情報処理方法、デバイス、および通信システム
TWI758295B (zh) 利用分段式的冗餘校驗對控制訊號傳遞進行編碼和解碼
WO2017156792A1 (en) Transmission of new data in a hybrid automatic repeat request (harq) retransmission with polar coded transmissions
CN102132512B (zh) 用于移除电信网络中pdcch检测错误的系统和方法
US11223370B2 (en) Method and apparatus for transmitting information
US20130132806A1 (en) Convolutional Turbo Code Decoding in Receiver With Iteration Termination Based on Predicted Non-Convergence
US9203441B2 (en) Partial packet recovery in wireless networks
US20100306614A1 (en) Method of error control
US6883130B2 (en) Enhanced and adaptive error detection in digital communications
CN106464429B (zh) 增强授权检测方法
Williamson Reliability-output decoding and low-latency variable-length coding schemes for communication with feedback
CN102857233B (zh) 译码方法及装置
CN103532660B (zh) 信源信道的解码方法、装置及终端设备
WO2013171609A1 (en) System and method for removing pdcch detection errors in a telecommunications network
CN110460339A (zh) 卷积码译码的检测方法、装置、存储介质及电子设备
Strinati Lazy Decoding for Block Fading Channels

Legal Events

Date Code Title Description
B25A Requested transfer of rights approved

Owner name: CLUSTER LLC (US)

B25A Requested transfer of rights approved

Owner name: OPTIS CELLULAR TECHNOLOGY, LLC (US)

B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B15K Others concerning applications: alteration of classification

Free format text: A CLASSIFICACAO ANTERIOR ERA: H04L 1/00

Ipc: H03M 13/00 (1985.01), H03M 13/09 (2000.01), H03M 1

B06A Patent application procedure suspended [chapter 6.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

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

B09W Correction of the decision to grant [chapter 9.1.4 patent gazette]

Free format text: CORRECAO DO TITULO.

B16C Correction of notification of the grant [chapter 16.3 patent gazette]

Free format text: REFERENTE AO DESPACHO 16.1 PUBLICADO NA RPI 2593 DE 15.09.2020, QUANTO AO TITULO

B21F Lapse acc. art. 78, item iv - on non-payment of the annual fees in time

Free format text: REFERENTE A 15A ANUIDADE.

B24J Lapse because of non-payment of annual fees (definitively: art 78 iv lpi, resolution 113/2013 art. 12)

Free format text: EM VIRTUDE DA EXTINCAO PUBLICADA NA RPI 2792 DE 09-07-2024 E CONSIDERANDO AUSENCIA DE MANIFESTACAO DENTRO DOS PRAZOS LEGAIS, INFORMO QUE CABE SER MANTIDA A EXTINCAO DA PATENTE E SEUS CERTIFICADOS, CONFORME O DISPOSTO NO ARTIGO 12, DA RESOLUCAO 113/2013.