340 likes | 419 Views
TÉCNICAS DE CODIFICAÇÃO DE SINAIS. CÓDIGOS DE BLOCO Evelio M. G. Fernández - 2009. Código de Bloco Linear. Código Dual de C ( n , k ). Matriz Geradora, G. Matriz de Verificação de Paridade, H. Códigos Duais. Códigos Equivalentes. Códigos Sistemáticos. Peso de Hamming.
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