CÓDIGO DE CHECAGEM DE REDUNDÂNCIA CÍCLICA DE CAMADA MÚLTIPLA EM UM SISTEMA DE COMUNICAÇÃO SEM FIO
Campo da Invenção
A presente exposição se refere geralmente a comunicações sem fio e, mais especificamente, à codificação de dados usando códigos de checagem de redundância cíclica (CRC).
Antecedentes
Uma codificação de CRC é comumente usada para a detecção de erros em dados transmitidos em sistemas de comunicação sem fio. Na especificação de LTE de 3GPP evolvente, por exemplo, foi proposto que 24 bits de paridade de CRC sejam gerados com base no bloco de transporte inteiro (TB) . Os 24 bits de paridade de CRC então são anexados ao TB, após o que o TB é segmentado em múltiplos blocos de código (CBs). Na proposta de LTE, os 24 bits de paridade de CRC também são calculados com base em cada bloco de código (CB) e os 24 bits de paridade de CRC então são anexados ao CB correspondente. Na proposta de LTE, o mesmo polinômio gerador é usado na geração dos bits de paridade de CRC com base no bloco de transporte e na geração dos bits de paridade de CRC com base nos blocos de código. A primeira codificação de CRC de transporte ajuda o dispositivo de recepção a detectar erros residuais. Foi sugerido que a codificação de CRC dos blocos de código pode ser usada pelo dispositivo de recepção para reduzir o número de processos de turbo decodificação, ou para redução do número de iterações de decodificação turbo, ou para redução do uso de memória de decodificador turbo. Os blocos de código então são codificados no canal, por exemplo, com
2/16 um código turbo, antes da transmissão.
Os vários aspectos, recursos e vantagens da exposição se tornarão mais plenamente evidentes para aqueles tendo um conhecimento comum na técnica, mediante uma consideração cuidadosa da Descrição Detalhada a seguir da mesma, com os desenhos associados descritos abaixo. Os desenhos podem ter sido simplificados por clareza e não são necessariamente desenhados em escala.
Breve Descrição dos Desenhos
|
A FIG. |
1 ilustra um sistema |
de comunicação sem fio. |
|
|
A FIG. |
2 é |
um diagrama |
de |
blocos |
esquemático de |
um |
|
dispositivo |
de |
comunicação |
sem fio |
que inclui |
um |
|
transmissor. |
|
|
|
|
|
|
|
A FIG. |
3 é |
um diagrama |
de |
blocos |
esquemático de |
um |
dispositivo de comunicação sem fio incluindo um receptor.
Descrição Detalhada
Na FIG. 1, o sistema de comunicação sem fio 100 inclui uma ou mais unidades de infra-estrutura de base fixa formando uma rede distribuída por uma região geográfica. Uma unidade de base também pode ser referida como um ponto de acesso, um terminal de acesso, um Nó B, um eNó B ou por uma outra terminologia usada na técnica. Uma ou mais unidades de base 101 e 102 servem a várias unidades remotas 103 e 110 em uma área de serviço, por exemplo, uma célula, ou em um setor de célula. As unidades remotas também podem ser referidas como unidades de assinante, estações móveis, usuários, terminais, estações de assinante, equipamento de usuário (UE), terminais, ou por uma outra terminologia usada na técnica.
Geralmente, as unidades de base 101 e 102 transmitem
3/16 sinais de comunicação de enlace descendente 104 e 105 para servirem a unidades remotas no domínio de tempo e/ou de freqüência. As unidades remotas 103 e 110 se comunicam com uma ou mais unidades de base 101 e 102 através de sinais de comunicação de enlace ascendente 106 e 113. Uma ou mais unidades de base podem compreender um ou mais transmissores e um ou mais receptores que servem às unidades remotas. As unidades remotas também podem compreender um ou mais transmissores e um ou mais receptores.
Em uma modalidade, o sistema de comunicação utiliza OFDMA ou uma arquitetura de FDMA baseada em portador único de próxima geração (SC) para transmissões de enlace ascendente, tal como FDMA entrelaçado (IFDMA), FDMA localizado (FDMA), OFDM de DFT dispersa (DFT-SOFDM) com IFDMA ou LFDMA. Em sistemas baseados em OFDM, os recursos de rádio incluem símbolos de OFDM, os quais podem ser divididos em intervalos, os quais são agrupamentos de subportadoras. Um protocolo baseado em OFDM de exemplo é o protocolo de LTE de 3GPP em desenvolvimento.
Uma detecção de erro é provida em unidades de dados de protocolo, por exemplo, blocos de transporte, através de uma checagem de redundância cíclica (CRC) . A FIG. 2 é um dispositivo de comunicação sem fio 200, ou uma porção do mesmo, configurada para dados de código de circuito de detecção de corrente para transmissão em um sistema de comunicação sem fio. Na FIG. 1, esses dados são transmitidos entre a estação base 101 e a unidade remota 103. Em implementações de LTE de 3GPP, o dado ou a unidade de dados de protocolo é um bloco de transporte. Uma codificação de CRC geralmente ocorre no transmissor na
4/16 unidade de base e na unidade remota. Na FIG. 2, o transmissor inclui uma primeira entidade de codificador de CRC 210 configurada para gerar um primeiro bloco de bits de paridade de CRC em um em um bloco de transporte 202.
O bloco de transporte inteiro é geralmente usado para o cálculo ou a geração dos bits de paridade de CRC. Denote os bits em um bloco de transporte entregue para a camada 1 por a0, ai, a2, a3, aA_i, e os bits de paridade por p0, Piz P2, P3z ---, Pl-i- A é o tamanho do bloco de transporte e L é o número de bits de paridade. Em uma implementação de LTE de 3GPP, o primeiro bloco inclui 24 bits de paridade de CRC, isto é L regulado para 24 bits, embora, mais geralmente, o bloco possa incluir alguns outros números de bits de paridade. Os bits de paridade são computados com base em um primeiro polinômio gerador de CRC 212. O primeiro bloco de bits de paridade de CRC geralmente está associado ao bloco de transporte. Na FIG. 2, o primeiro bloco de bits de paridade de CRC 204 é apensado ao bloco de transporte 202. Em outras modalidades, o primeiro bloco de bits de paridade de CRC é anexado a alguma outra porção do bloco de transporte.
Na FIG. 2, o dispositivo de comunicação sem fio 200 também inclui uma entidade de segmentação 214. O bloco de transporte com os primeiros bits de paridade de CRC anexados é entregue para a entidade de segmentação. A sequência de bit de entrada para a segmentação de bloco de código é denotada por b0, bi, b2, b3, ..., bB-i, onde B > 0. A entidade de segmentação segmenta o bloco de transporte 202 tendo o primeiro bloco associado de bits de paridade de CRC em uma pluralidade de blocos de código 206, 207, 208. Cada
5/16 um dos segundos blocos de bits de paridade de CRC é baseado em um segundo polinômio gerador 218. Em uma implementação de LTE de 3GPP, o segundo bloco de bits de paridade de CRC também inclui 24 bits de paridade de CRC. Cada um do segundo bloco de bits de paridade de CRC então é associado ao bloco de código correspondente no qual o segundo bloco de bits de paridade de CRC é baseado. Na FIG. 2, o segundo bloco de bits de paridade de CRC 230, 232 e 234 é apensado aos blocos de código correspondentes 206, 207 e 208. Este processo pode ser implementado serialmente para cada um dos blocos de código segmentados. Em algumas implementações, a segmentação é condicional. Por exemplo, se B for maior do que o tamanho de bloco de código máximo, por exemplo, Z = 6144, uma segmentação da seqüência de bit de entrada será realizada, e uma seqüência de CRC adicional de L = 24 bits será anexada a cada bloco de código, onde os bits de CRC são calculados com base em um segundo polinômio gerador de CRC. Se B for menor do que ou igual ao tamanho de bloco de código máximo, então, uma segmentação de bloco de código
|
214 será |
transparente, e nenhum |
segundo |
bloco |
de |
bits de |
|
paridade |
de CRC será necessário. |
|
|
|
|
|
Os |
inventores reconheceram |
que o |
uso |
dos |
mesmos |
|
polinômios geradores para os primeiro |
e |
segundo |
codificadores de CRC 210 e 216 na FIG. 2 leva a eventos de erro que permanecem não detectados em um ou ambos os níveis de checagem de CRC. Se o evento de erro permanecer não detectado em ambos os níveis de checagem de CRC, o receptor aceitará um bloco incorreto como um correto. Portanto, é preferível reduzir os eventos de erro que podem permanecer não detectados em ambos os níveis de checagem de CRC. Para
6/16 um código de CRC, um evento de erro que é igual a uma palavra de código não zero não pode ser detectado pelo codificador de CRC (também é notado que uma versão deslocada não cíclica de uma palavra de código ainda é uma palavra de código). Portanto, quando os mesmos polinômios geradores para os primeiro e segundo codificadores de CRC são escolhidos, um evento de erro indetectável na porção sistemática do bloco de código permanecerá não detectado em ambos os níveis de checagem de CRC e o receptor poderá aceitar um bloco incorreto.
Os inventores reconheceram ainda que a capacidade de detecção de erro da CRC de dois níveis pode ser melhorada pelo uso de polinômios geradores diferentes para uma codificação de CRC do bloco de transporte e dos blocos de código segmentados. Assim, em algumas modalidades, os primeiro e segundo polinômios geradores são diferentes. Em uma modalidade, por exemplo, os primeiro e segundo polinômios geradores têm pelo menos um fator diferente. Em uma outra modalidade, os primeiro e segundo polinômios geradores não compartilham fatores comuns. Em uma outra modalidade, os primeiro e segundo polinômios geradores têm conjuntos diferentes de coeficientes polinomiais. Em outras modalidades, os primeiro e segundo polinômios geradores são distinguidos por outras características. Mais geralmente, os primeiro e segundo polinômios geradores podem ser distinguidos por uma combinação destas e de outras características. Em uma modalidade, os primeiro e segundo polinômios geradores compartilham um fator de (D + 1) e/ou um grau comum. Em outras modalidades, contudo, os primeiro e segundo polinômios geradores são os mesmos, conforme
7/16 discutido adicionalmente abaixo.
Em uma implementação, os primeiro e segundo polinômios geradores de grau são selecionados a partir do grupo que compreende os polinômios geradores de CRC de grau 24 compartilhando no máximo um fator de (D + 1):
ÇfcRC24,a (D) = D24 + D23 + D6 + D5 + D + 1. Este polinômio gerador pode ser fatorado na forma a seguir: (D+l) (D23 + D5 + D ;
gCRC24,b (D) = D24 + D21 + D20 + D17 + D15 + D11 + D9 + D8 + D6 + D5 + D + 1. Este polinômio gerador pode ser fatorado na forma a seguir:
gCRC24,b (D) = (D+l) (D23 + D22 + D21 + D19 + D18 + D17 + D14 + D13 + D12 + D11 + D8 + D5 + 1) ;
gCRC24,c (D) = D24 + D23 + D18 + D17 + D14 + D11 + D10 + D7 + D6 + D5 + D4 + D3 + D + 1. Este polinômio gerador pode ser fatorado na forma a seguir: (D+l) (D23 + D17 + D13 + D12 + D11 + D9 + D8 + D7 + D5 + D3 + 1) ;
gcRC24,d (D) = D24 + D23 + D14 + D12 + D8 + 1. Este polinômio gerador pode ser fatorado na forma a seguir:
|
(D+l) (D3 + |
D2 |
+ |
1) (D10 + |
D8 |
+ D7 + E |
>6 + D5 + D4 |
+ D3 + 1) |
|
(D10 + D9 + D |
6 + |
D‘ |
1 + 1); |
|
|
|
|
|
gCRC24,e |
(D) |
= |
D24 + D21 |
+ |
D20 + D16 |
+ D15 + D14 |
+ D13 + D12 |
|
+ D11 + D10 + |
D9 |
+ |
D8 + D4 + |
D3 |
+ 1; |
|
|
|
gCRC24, f |
(D) |
= |
D24 + D22 |
+ |
D20 + D19 |
+ D18 + D16 |
+ D14 + D13 |
|
+ D11 + D10 |
+ |
D8 |
+ D7 + D |
,6 |
+ D3 + D |
+ 1. Este |
polinômio |
|
gerador pode |
! S' |
er |
fatorado |
na |
forma a |
seguir: (D- |
1-1)2 (D11 + |
|
D9 + D8 + D7 |
+ : |
D6 |
+ D3 + 1) |
(E |
i11 + D9 + |
D8 + D7 + D |
5 + D3 + D2 |
+ D + 1) ;
gCRC24,g (D) = D24 + D22 + D21 + D20 + D19 + D17 + D16 + D8 + + D3 + D2 + D + 1. Este polinômio gerador pode
D7 + D5 + D4
8/16 ser fatorado na forma a seguir:
| |
(D+l)2 |
(D22 |
1 + D19 + |
D18 |
+ D15 |
+ D13 + |
D11 |
+ D9 + |
D7 + D6 + |
|
D4 + |
D3 + 1) |
/ |
|
|
|
|
|
|
|
| |
9cRC24,h |
(D) |
= D24 + |
D21 |
+ D20 |
+ D17 + |
D13 |
+ D12 |
+ D3 + 1. |
|
Este |
polinômio |
gerador |
pode |
ser |
fatorado |
na |
forma |
a seguir: |
|
(D+l)2 (D11 + D10 + |
D9 + D8 + D |
7 + D6 + D |
5 + D2 + 1) |
|
(D11 + D10 |
|
+ D9 + D7 + D6 + D5 |
+ D4 + D3 + |
D ; |
|
|
|
|
9cRC24,í (D) = |
D24 + D22 + |
D12 + D10 |
+ D9 + D2 |
+ |
1. Este |
|
polinômio gerador |
pode ser |
fatorado |
na forma |
a |
seguir: |
|
(D+l)2 (D11 + D9 + |
1) (D11 + D9 |
+ D7 + D5 |
+ D3 + D + |
1 |
) ; e |
_, / 1“S \ T>22 ΤΛ^Ο . y.19 . τ—\17 y\16 . y\14 .r\10
9cRC24,j (D) = 0 + D + D +D + D + D + D+D + D7 + D6 + D5 + D4 + D2 + 1. Este polinômio gerador pode ser fatorado na forma a seguir: (D12 + D11 + D7 + D4 + D2+ D + 1) (D12 + D11 + D8 + D7 + D5 + D4 + D2 + D +1) .
Em uma outra implementação, os primeiro e segundo polinômios geradores de grau são selecionados a partir do grupo que compreende um dos polinômios geradores de CRC de grau 24 acima e o recíproco de um dos polinômios geradores de CRC de grau 24 acima. 0 polinômio recíproco g(D) de grau n-k é Dn'kg(D'1). Por exemplo, o recíproco de gCRC24,a (D) é 1 + D + D18 + D19 + D23 + D24 = (D + 1) (D23 + D18 + 1) . Em uma implementação mais particular, os primeiro e segundo polinômios geradores de grau são selecionados a partir do grupo de gCRc24,a (D) e do recíproco de gCRC24,a (D) .
Em uma outra implementação, os primeiro e segundo polinômios geradores são selecionados a partir do grupo de polinômios geradores que compreende: D24 + D23 + D6 + D5 + D
|
+ 1; |
D24 + D21 + |
D20 |
+ D17 + |
D15 + D11 + D9 + D8 + |
D6 + D5 + |
D + |
|
1; e |
D24 + D23 + |
D18 |
+ D17 + |
D14 + D11 + D10 + D7 |
+ D6 + D5 |
+ D4 |
|
D3 + |
D + 1. Em |
uma |
outra |
implementação, pelo |
menos um |
dos |
9/16 primeiro e segundo polinômios geradores é D24 + D23 + D6 + D5 + D + 1.
Um codificador de CRC de L bits pode ser implementado usando-se a aritmética polinomial conforme se segue. No
|
cálculo |
de |
CRC, |
denote |
os bits de entrada para |
a computação |
|
de CRC |
por |
θ-0 / |
3-1/ θ-2, |
a3, ..., aA-i, e os bits |
de paridade |
|
por po, |
Plz |
P2, |
P3 , ·, |
pL-i. A é o tamanho da |
seqüência de |
|
entrada |
e |
L é |
o número de bits de paridade. |
Os bits de |
paridade são gerados por um polinômio gerador cíclico ou por um polinômio gerador de CRC (gCRc (D) ) com L bits de paridade de CRC. A codificação é realizada de uma forma sistemática, o que significa que em GF(2), o polinômio:
|
aoDA+L’1 + a^^’2 + ... + aA-xD1, + poD11'1 + piDL'2 + ... |
+ Pl-2D + |
|
Pl-i
Este polinômio produz uir |
i resto |
igual a |
|
0 |
quando |
|
dividido por gCRC (D) . Os bits |
após a |
anexação de |
CRC são |
|
denotados por b0, bi, b2, b3, . |
.., bB-i, |
onde B = |
A |
+ L. A |
|
relação entre ak e bk é: |
|
|
|
|
|
bk = ak para k = 0, 1, 2, .. |
., A-1 |
|
|
|
|
bk = P(L-Kk-A)) para k = A, A+l, A+2, |
..., A+L-1 |
|
|
|
Em uma outra abordagem, a |
relação |
entre ak |
e |
bk pode |
|
ser conforme se segue: |
|
|
|
|
|
bk = ak para k = 0, 1, 2, .. |
., A-1 |
|
|
|
|
bk = P(k-A) para k = A, A+l, |
A+2, ..., |
A+L-l. |
|
|
|
Na FIG. 2, o dispositivo |
de comunicação sem |
fio 200 |
também inclui uma entidade de codificação de canal 222 configurada para a codificação de cada um dos blocos de código incluindo o segundo bloco associado de bits de paridade de CRC. A entidade de codificação de canal pode concretizar qualquer número de formas diferentes incluindo,
10/16 mas não limitado a um codificador turbo, ou um codificador de convolução dentre outros codificadores de canal. 0 transmissor também inclui uma entidade de concatenação 224 configurada para concatenar os blocos de código após uma codificação de canal. A saída da entidade de concatenação 224 pode realizar uma série de uma ou mais operações para a preparação dos blocos de código para transmissão, por exemplo, combinação de taxa, seleção de versão de redundância de HARQ, entrelaçamento de canal, embaralhamento de bit, mapeamento para recursos de canal físico, mapeamento de bit para símbolo, IFFT, difusão por DFT, etc.
A FIG. 3 é um dispositivo de comunicação sem fio 300, ou uma porção do mesmo, configurada para receber e decodificar dados codificados com um código de CRC. O dispositivo 300 recebe blocos de código 206, 207 e 208, cada um dos quais estando associado a um bloco correspondente de bits de paridade de CRC 23 0, 232 e 234, respectivamente. Estes blocos de código codificados com CRC correspondem aos blocos de código transmitidos pelo transmissor 200 da FIG. 2. O dispositivo 300 inclui uma entidade de remoção de CRC 310 configurada para desassociar o segundo bloco dos bits de paridade de CRC associados a cada um da pluralidade de blocos de código recebidos, desse modo deixando os blocos de código 206, 207 e 208. A remoção do segundo bloco de bit de paridade de CRC é com base em um segundo polinômio gerador de CRC 312. A função realizada pela entidade de remoção de CRC na FIG. 3 essencialmente reverte o processo realizado pela segunda entidade de codificador de CRC 216 na FIG. 2. Assim, o segundo
11/16 polinômio gerador de CRC 312 usado pela entidade de remoção de CRC 310 na FIG. 3 é o mesmo que o segundo polinômio gerador de CRC 218 usado pela segunda entidade de codificador de CRC 216 para a geração e a associação do segundo bloco de bits de paridade de CRC com os blocos de código na FIG. 2.
Na FIG. 3, o dispositivo 300 inclui uma entidade de concatenador 314 configurada para a formação de um bloco de transporte estimado 205 tendo um primeiro bloco de bits de paridade 204 associados a ele. A entidade de concatenador 314 concatena os blocos de código 208, 207 e 208 após o segundo bloco associado de bits de paridade de CRC ser removido pela entidade de remoção de CRC 310. A entidade de concatenador 314 da FIG. 3 essencialmente reverte o processo realizado pela entidade de segmentação 214 da FIG. 2. Assim, na FIG. 3, o primeiro bloco de bits de paridade de CRC 204 corresponde substancialmente ao primeiro bloco de bits de paridade de CRC 2 04 associado ao bloco de transporte 202 na FIG. 2.
Na FIG. 3, o dispositivo 300 inclui uma entidade de decodificador de CRC 316 configurada para a realização de uma checagem CRC do bloco de transporte estimado 202, com base em um primeiro polinômio gerador 318. Conforme citado, o primeiro polinômio gerador 318 na FIG. 3 corresponde ao primeiro polinômio gerador 212 na FIG. 2. A checagem CRC determina se o bloco de transporte estimado 205 recuperado pelo receptor corresponde ao bloco de transporte transmitido, por exemplo, o bloco de transporte 202 na FIG. 2. Mediante uma detecção de erro pela checagem CRC, o bloco de transporte estimado é tomado como não correspondendo ao
12/16 bloco de transporte transmitido, e uma retransmissão pode ser requisitada. Caso nenhum erro seja detectado, o bloco de transporte estimado é tomado como correspondendo ao bloco de transporte transmitido e entregue para camadas mais altas. Ê sabido geralmente que checagens CRC têm uma certa probabilidade de erro não detectado, o que é uma medida da performance do código de CRC.
Em algumas modalidades, o dispositivo 300 inclui uma segunda entidade de decodificador de CRC 320 configurada para realizar uma checagem CRC na pluralidade de blocos de código 206, 207 e 208 recebidos no receptor. A entidade de decodificador de CRC 320 realiza uma checagem nos blocos de código antes de os blocos de código serem concatenados para a formação do bloco de transporte estimado e, assim, antes da performance da checagem de CRC no bloco de transporte estimado 205. Em algumas modalidades, o primeiro bloco de bits de paridade de CRC associados ao bloco de transporte estimado 205 é com base em um primeiro polinômio gerador 318 que é diferente do segundo polinômio gerador 312 formando a base do segundo bloco de bits de paridade de CRC associados aos blocos de código. Em outras modalidades, contudo, os primeiro e segundo polinômios geradores são os mesmos, conforme discutido adicionalmente abaixo. Em algumas modalidades, a codificação de CRC dos blocos de código pode ser usada pelo dispositivo de recepção para redução do número de processos de decodificação turbo, ou para redução do número de iterações de decodificação turbo, ou para redução do uso de memória de decodificador turbo.
Em algumas modalidades, incluindo a segunda entidade de decodificador de CRC 320, a checagem CRC realizada no
13/16 bloco de transporte estimado 205 é condicional. Em uma implementação, a checagem CRC é realizada no bloco de transporte estimado 205 apenas se as checagens CRC realizadas na pluralidade de blocos de código 206, 207, 208 não detectarem quaisquer erros. Na FIG. 3, um controlador condicional 322 provê um sinal que controla se o decodificador de CRC 316 realiza uma checagem CRC no bloco de transporte estimado 205, com base em se erros foram detectados nos blocos de código 206, 207, 208. Em algumas implementações, os blocos de código são retransmitidos, caso erros sejam detectados nos blocos de código pela segunda entidade de decodificador de CRC 320. Em algumas implementações, o bloco de transporte é retransmitido, caso erros sejam detectados.
Em uma modalidade alternativa da FIG. 2, os primeiro e segundo polinômios geradores 212 e 218 usados para a geração dos primeiro e segundo blocos de bits de paridade de CRC compartilham pelo menos um fator. Em uma implementação, os primeiro e segundo polinômios geradores são os mesmos. Nesta modalidade alternativa, uma operação de entrelaçamento é realizada no bloco de transporte 202 após uma associação do segundo bloco de bits de paridade de CRC. Um entrelaçamento é realizado por uma entidade de entrelaçador 240. Em uma modalidade, o entrelaçamento é realizado antes de uma segmentação e, assim, a entidade de entrelaçador 240 está localizada entre a primeira entidade de codificação de CRC e a entidade de segmentação. Em uma modalidade alternativa, o entrelaçamento é realizado após uma segmentação, mas antes de uma codificação de CRC dos blocos de código. Nesta modalidade alternativa, a entidade
14/16 de entrelaçamento 240 está localizada entre a entidade de segmentação e a segunda entidade de codificador de CRC 216. O padrão de entrelaçamento pode ser definido de uma maneira tal que o entrelaçamento do bloco de transporte 202 após uma associação do primeiro bloco de bits de paridade de CRC 204 e a segmentação do bloco de transporte entrelaçado em múltiplos blocos de código seja equivalente à segmentação do bloco de transporte 202 em múltiplos blocos de código após a associação do primeiro bloco de bits de paridade de CRC e o entrelaçamento dos blocos de código 206, 207, 208 individualmente. Esta equivalência pode ser conceituai, onde o entrelaçamento é realizado antes de uma segmentação. Alternativamente, a equivalência pode ser física, onde o entrelaçador é realizado pela realização de uma pluralidade de sub-entrelaçamentos após uma segmentação. Em uma implementação, o entrelaçamento do bloco de transporte 202 é realizado no nível de bit. Em uma outra implementação, o entrelaçamento do bloco de transporte é realizado pela permutação de grupos, onde cada grupo contém uma pluralidade de bits.
Em algumas implementações, a permutação de entrelaçador na FIG. 2 pode rejeitar que o mesmo evento de erro indetectável seja mantido entre a checagem CRC de primeiro nível e a checagem CRC de segundo nível, assim levando a propriedades melhoradas de detecção de erro. Embora o entrelaçamento seja uma escolha, transformações adicionais além de uma reordenação (ou um entrelaçamento) que rejeitariam que o mesmo evento de erro indetectável fosse mantido entre a checagem CRC de primeiro nível e a checagem CRC de segundo nível também podem ser viáveis. O
15/16 entrelaçamento introduzido entre o bloco de transporte e os blocos de código pode entrelaçar um bit ou um byte (ou grupos de bits de outro tamanho) em um momento. Se o entrelaçamento for realizado no nível de bloco de transporte, um entrelaçador associado ao bloco de transporte após a associação do primeiro bloco de bits de paridade de CRC será necessário. Alternativamente, o entrelaçamento pode ser realizado no nível de bloco de código (isto é, um entrelaçamento em que os bits para segmentos diferentes não são misturados). Para o entrelaçamento de nível de bloco de código, um total de C sub-entrelaçadores pode ser necessário, onde C é o número de segmentos de mensagem. O iésimo sub-entrelaçador está associado ao iésimo bloco. Os entrelaçadores, no nível de bloco de transporte ou no nível de bloco de código podem ser de um formato simples, tal como uma reversão, isto é, uma leitura de bit do final para a frente, um deslocamento cíclico, uma reversão de bit, etc. É possível que um entrelaçamento possa requerer uma latência adicional ou um circuito no receptor, embora a quantidade exata possa ser reduzida pela escolha dos entrelaçadores adequadamente.
Na FIG. 3, em implementações em que os primeiro e segundo polinômios geradores transporte ou o bloco de dispositivo de transmissão, são os mesmos e o bloco de código é entrelaçado pelo o dispositivo de recepção inclui uma entidade de desentrelaçador 328. Se um entrelaçamento ocorrer no bloco de transporte no dispositivo de transmissão, a entidade de desentrelaçamento 328 estará localizada após a entidade de concatenação 314 no dispositivo receptor, conforme ilustrado na FIG. 3. Se
16/16 um entrelaçamento ocorrer nos blocos de código no dispositivo de transmissão, a entidade de desentrelaçamento estará localizada antes da entidade de concatenação no dispositivo receptor.
Se comparado com o uso do mesmo polinômio gerador no primeiro e no segundo codificador de CRC sem entrelaçamento, mais circuito e/ou memória são geralmente requeridos para a implementação usando-se polinômios geradores diferentes para os primeiro e segundo codificadores de CRC e também para a implementação de um entrelaçamento após a associação do primeiro bloco de bits de CRC ao bloco de transporte. Contudo, o custo associado à complexidade aumentada provavelmente é compensado pela performance melhorada da detecção de erro.
Embora a presente exposição e os melhores modos da mesma tenham sido descritos de uma maneira que estabelece a posse e permite àqueles de conhecimento comum fazer e usar a mesma, será entendido e apreciado que há equivalentes às modalidades de exemplo mostradas aqui, e que modificações e variações podem ser feitas aqui, sem que se desvie do escopo e do espírito da invenção, os quais devem ser limitados não pelas modalidades de exemplo, mas pelas reivindicações em anexo.