340 likes | 427 Views
This material covers various techniques in signal coding, including linear block codes, dual codes, systematic codes, Hamming weight, MDS codes, decoding methods, and code modifications. It explores examples, code lengths, shortened, lengthened, expurgated, augmented, expanded, and punctured codes, emphasizing error correction capabilities and practical implementations.
E N D
TÉCNICAS DE CODIFICAÇÃO DE SINAIS CÓDIGOS DE BLOCO Evelio M. G. Fernández - 2009
Singleton Bound • A distância mínima de qualquer código de bloco (n, k) satisfaz, • Códigos cuja distância mínima cumpre com, são chamados de códigos de distância máxima (MDS: maximum-distance separable codes)
Tipos de Decodificadores • Três possíveis resultados da decodificação: • Decodificação correta, ĉ = c • Erro não corrigível detectado, c = indefinido • Erro de decodificação, ĉ ≠ c • Decodificação completa: Toda palavra recebida é decodificada em alguma palavra-código • Decodificação incompleta (bounded-distance decoding): Correção de todos os padrões de erro de peso ≥ t.
Códigos de Bloco Lineares Modificados • Comprimento de bloco de projeto de um código: determinado por propriedades algébricas e combinacionais de matrizes ou polinômios. • Comprimento de bloco desejado: frequentemente diferente do comprimento de bloco de projeto. Exemplo: • Comprimento de bloco de projeto de um código de Hamming: n = 2m 1 (7, 15, 31, ...) • Número de bits de informação pode não ser k = 2m 1 m (4, 11, 26, ...) Existem seis formas de modificar parâmetros de um código de bloco linear (n, k, n k)
Códigos Encurtados (Shortened Codes) • Encurtar:n k fixo, diminuir k e, portanto, n. • Símbolos de informação são apagados para se obter um comprimento de bloco menor do que o comprimento de projeto. • Os símbolos que serão apagados são supostos como sendo zeros das palavras-códigos • Exemplo: Pacotes Ethernet têm no máximo 1500 bytes de dados ou 12000 bits. O checksum Ethernet de 32 bits provem de um código de Hamming com n = 232 1 = 4294967295 bits ou 536870907 bytes.
Códigos Encurtados: Exemplo • Um código de Hamming binário (15, 11) tem a seguinte matriz de verificação de paridade, • Um código encurtado (12, 8) pode ser obtido apagando as colunas de peso máximo 12, 13, e 14 da matriz H.
Códigos Alongados (Lengthened Codes) • Alongar:n k fixo, aumentar k e, portanto, n. • Novos símbolos de informação são introduzidos e incluídos nas equações de paridade. • Exemplo: Códigos de Reed-Solomon estendidos obtidos alongando códigos RS(Q 1, k) para códigos RS(Q +1, k +2) adicionando duas coluna à matriz H,
Códigos Expurgados (Expurgated Codes) • Expurgar:n fixo, diminuir k e incrementar n k. • Palavras-código são apagadas adicionando equações de paridade, reduzindo a dimensão do código. Objetivo: aumentar a capacidade de correção de erros. • Exemplo: O código BCH (15, 7) pode ser obtido a partir do código de Hamming (15, 11) adicionando quatro linhas à matriz H. A matriz de verificação de paridade é,
Códigos Aumentados (Augmented Codes) • Aumentar:n fixo, aumentar k e diminuir n k. • Incluir novos vetores na base (novas linhas na matriz geradora). Isto aumenta a taxa do código e (possivelmente) diminui a distância mínima. • Exemplo: Matrizes geradoras de códigos de Reed-Muller, R(r, m) são definidas por • Submatrix Gi tem linhas e n = 2m colunas. O número de bits de informação é, • A distância mínima é 2m r
Códigos Expandidos (Espanded Codes) • Expandir:k fixo, aumentar n k e n. • Incluir novos símbolos de paridade com as correspondentes equações de paridade. • Exemplo: Códigos de Hamming estendidos (códigos de Hamming com paridade nos bits). Isto aumenta a distância mínima para 4. • Quando a distância mínima de um código de bloco binário linear é ímpar, adicionar paridade sobre todos os bits incrementa a distância mínima em 1. • Exemplo: Código de Golay (23, 12), dmin = 7 (código perfeito). Uma equação de paridade sobre todos os bits incrementa dmin para 8. • O código de Golay estendido com parâmetros (24, 12, 8) foi usado para correção de erros nas missões espaciais Voyager I e II.
Códigos Puncionados (Punctured Codes) • Puncionar:k fixo, diminuir n k e, portanto, n. • Apagar símbolos de paridade pode reduzir a distância mínima. • Porém, códigos puncionados podem corrigir a grande maioria dos erros corrigíveis pelo código original. • Puncionar pode reduzir a distância mínima mas não reduz significativamente o desempenho do código. • Códigos puncionados podem ser obtidos a partir de códigos simples que tenham muita redundância.
Modificação de Códigos de Bloco Lineares: Resumo • Encurtar: Apagar símbolos de informação n k fixo, k n • Alongar: Adicionar símbolos de informação n k fixo, k n • Expurgar: Apagar palavras-código, adicionar símbolos de paridade n fixo, k n k • Aumentar: Adicionar palavras-código, apagar equações de paridade n fixo, k n k • Expandir (estender): Adicionar símbolos de paridade k fixo, n k n • Puncionar: Apagar símbolos de paridade k fixo, n k n