210 likes | 397 Views
CÓDIGOS CORRETORES DE ERROS. CODIGOS BCH Evelio M. G. Fernández - 2007. BCH bound. Se um código cíclico linear é construído de forma que: Cada palavra-código tem n bits; é um elemento de ordem n em GF(2 m );
E N D
CÓDIGOS CORRETORES DE ERROS CODIGOS BCH Evelio M. G. Fernández - 2007
BCH bound Se um código cíclico linear é construído de forma que: • Cada palavra-código tem n bits; • é um elemento de ordem n em GF(2m); • O polinômio gerador do código, g(x), inclui, entre suas raízes, ( - 1) potências consecutivas de . Então, • É garantido que o código tem distância mínima igual a ou maior.
Construção de Códigos BCH • Para cada raiz rincluída em g(x), existe um polinômio minimal f(r)(x) que tem r como raiz [i.e., f(r)(r) = 0] e com coeficientes em GF(2). • O polinômio gerador, com coeficientes binários, que contém todas as raízes necessárias pode ser obtido como sendo o mínimo comum múltiplo (LCM) de todos os polinômios minimais correspondentes às raízes utilizadas: g(x) = LCM{f(b+1)(x), f(b+2)(x), ..., f(b+-1)(x)}
Tipos de Códigos BCH • Se é um elemento primitivo de GF(2m), o código BCH resultante é chamado de código BCH primitivo e as suas palavras-código têm comprimento 2m – 1 bits. • Se não é um elemento primitivo de GF(2m), o código BCH resultante é chamado de código BCH não primitivo e as suas palavras-código têm comprimento igual à ordem de . • Se b = 0, a primeira das ( - 1) potências de será 1 = , código BCH no sentido estrito. • Se b 0, código BCH no sentido amplo.
Códigos BCH Binários Primitivos Para qualquer m 3 e t 2m 1, existe um código BCH com os seguinte parâmetros: n = 2m 1, n k mt, dmin 2t + 1 O polinômio gerador do código, g(x), é o polinômio de menor grau sobre GF(2) contendo como raízes, onde α é um elemento primitivo de GF(2m)
Decodificação de Códigos BCH • Computar as síndromes S = (S1, S2, ..., S2t) a partir de r(x) • Determinar σ(x) a partir de S1, S2, ..., S2t • Determinar as localizações dos erros, 1, 2, ..., υencontrando as raízes de σ(x) e corrigir os erros em r(x)
Códigos BCH Primitivos sobre GF(q) Seja α um elemento primitivo em GF(qm). O polinômio gerador, g(x), de um código BCH q-ário primitivo corretor de t erros é o polinômio de menor grau sobre GF(q) contendo como raízes. Seja i(x) o polinômio minimal de αi, 1 i 2t. Então, g(x) = LCM{1(x), 2(x), ..., 2t(x)}
Códigos de Reed-Solomon Um código de Reed-Solomon (ou código RS) é um código BCH primitivo (não binário) de comprimento n = q – 1 sobre GF(q). O polinômio gerador desse código tem a forma onde é um elemento primitivo de GF(q), d é a distância mínima do código e gi GF(q)
Desempenho de Códigos RS sobre GF(26) comn = 31, considerando modulação 32-FSK
Desempenho de Códigos RS sobre GF(26) comn = 31, considerando modulação 32-FSK
6 pares de amostras (24 símbolos ou bytes) Embaralha erros de byte detectáveis (mas não corrigíveis) para facilitar a interpolação Para correção de surtos e padrões de erros que C1 não pode corrigir Para correção da maior parte dos erros simples de byte aleatórios e a detecção dos surtos de erro mais longos Codificador para Disco Compacto (CD)
25 Efeito do Entrelaçamento