Codificação de Bloco WCDMA – CRC

Codificação em Bloco com CRC no WCDMA

A codificação em bloco com CRC (Cyclic Redundancy Check) é uma parte essencial do processo de proteção de dados no WCDMA (Wideband Code Division Multiple Access). No sistema UMTS, que utiliza WCDMA como tecnologia de acesso, a integridade dos dados transmitidos é garantida por meio de mecanismos de detecção de erro, sendo o CRC um dos principais. Ele permite identificar erros de transmissão em blocos de dados e é aplicado antes da codificação de canal.

Função do CRC na pilha de codificação

O CRC é inserido na cadeia de codificação de canal dentro do subsistema físico do WCDMA, mais precisamente no lado do transmissor, tanto no uplink quanto no downlink. A principal função do CRC é fornecer uma verificação de integridade para cada bloco de transporte (Transport Block) antes que ele seja submetido à codificação convolucional ou turbo codificação.

Isso é feito adicionando um conjunto de bits redundantes, calculados com base em um polinômio gerador. Esses bits CRC são anexados ao final de cada bloco de transporte e permitem que o receptor verifique se os dados foram recebidos corretamente.

Posição do CRC na cadeia de processamento

A adição do CRC ocorre antes da segmentação e da codificação de canal. A cadeia típica de codificação no transmissor WCDMA segue a seguinte ordem:

  • CRC Attachment (anexação do CRC)
  • Segmentação de bloco (se necessário)
  • Codificação de canal (convolucional ou turbo)
  • Interleaving
  • Rate Matching (ajuste de taxa)

Cada bloco de transporte recebe individualmente uma sequência CRC. Após a verificação do CRC no lado receptor, o bloco pode ser aceito (se o CRC for válido) ou descartado (se o CRC for inválido), garantindo confiabilidade nos serviços de dados e controle de sinalização.

Tamanhos e polinômios CRC utilizados

Os tamanhos do CRC no WCDMA podem variar dependendo do tipo de canal, serviço e tamanho do bloco de transporte. Os tamanhos mais comuns são 8, 12, 16 e 24 bits. Cada tamanho está associado a um polinômio padrão.

Tamanho CRC Polinômio Binário Aplicação Típica
8 bits 100000111 Canal de controle com blocos pequenos
12 bits 1100000001111 Transporte de voz ou sinalização
16 bits 11000000000000101 Blocos de dados maiores
24 bits 101000000000000000000011 Dados com alta criticidade

Detecção de erro e resposta

Quando um receptor detecta um erro via CRC inválido, ele pode tomar diferentes ações dependendo do canal e do tipo de serviço. Em canais com ARQ (Automatic Repeat reQuest), como os canais de dados em HSPA, o bloco é descartado e uma solicitação de retransmissão é enviada. Em canais sem ARQ, como sinalização RRC, a mensagem é simplesmente descartada.

O uso do CRC reduz a probabilidade de aceitação de pacotes corrompidos e melhora a confiabilidade geral do sistema. No entanto, ele apenas detecta erros – não os corrige. A correção é realizada posteriormente por esquemas de codificação de canal como codificação convolucional ou turbo codificação.

O que acontece se o CRC for inválido no receptor?

Se o CRC de um bloco de transporte falhar, isso indica que o bloco foi corrompido durante a transmissão. O receptor descarta o bloco. Em sistemas com ARQ, uma retransmissão pode ser solicitada. Caso contrário, o dado é perdido.

O CRC é usado apenas em dados ou também em controle?

O CRC é utilizado tanto para dados de usuário quanto para mensagens de controle, como as transmitidas no canal de controle de transporte (CCTrCH). Isso garante que até as mensagens de sinalização críticas sejam validadas quanto à integridade.

Qual é a diferença entre CRC e codificação de canal?

O CRC serve apenas para detectar erros e verificar a integridade de um bloco de dados. Já a codificação de canal, como a codificação convolucional ou turbo, é usada para detectar e corrigir erros, aumentando a robustez do sinal contra ruídos e interferências.