Códigos de Detecção de Erros
Um conceito importante para determinar códigos de correção e
detecção de erros é o da distância de Hamming. Existem diversos tipos de códigos, alguns mais indicados para
tratamento serial, outros para paralelo. Algumas palavras de código são
construídas concatenando ao final dos bits de informação o código
correspondente, estes códigos são ditos separáveis, como é o caso dos
códigos de paridade. Nos códigos não-separáveis, a palavra de código
é obtida com o entrelaçamento do código com a informação, o
código em m-entre-n é um exemplo de código não-separável.
Um dos códigos mais conhecidos e utilizados é o de paridade e o código aritmético. Embora os códigos de paridade sejam muito utilizados para a transmissão e armazenamento de dados, eles não são preservados por operações aritméticas (Um código S e preservado por uma operação binária ~ if A,B pertence a S implica que A ~ B pertence a S).
Outro código bastante conhecido é o checksum que também
faz parte dos separáveis.
Um código cíclico é definido pelo seu polinômio gerador
G(X), que possui um grau (n-k). Dois códigos cíclicos conhecidos para
detecção de erros são
o CRC-12 e o CRC-CCITT .