1 / 48

TÉCNICAS DE CODIFICAÇÃO DE SINAIS

TÉCNICAS DE CODIFICAÇÃO DE SINAIS. CÓDIGOS CÍCLICOS Evelio M. G. Fernández - 2010. Códigos Cíclicos: Definição. Um código de bloco linear é um código cíclico se cada deslocamento cíclico das palavras-código é também uma palavra-código. Vantagens: Descrição algébrica elegante

livi
Télécharger la présentation

TÉCNICAS DE CODIFICAÇÃO DE SINAIS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. TÉCNICAS DE CODIFICAÇÃO DE SINAIS CÓDIGOS CÍCLICOS Evelio M. G. Fernández - 2010

  2. Códigos Cíclicos: Definição • Um código de bloco linear é um código cíclico se cada deslocamento cíclico das palavras-código é também uma palavra-código. Vantagens: • Descrição algébrica elegante • c(x) = m(x)g(x), g(x)  polinômio gerador • c(x)h(x) = 0 mod (xn 1)  h(x) polinômio de verificação de paridade • c(β1) = 0, ..., c(βt) = 0, onde βi  GF(pm) • Codificação e cálculo de síndromes utilizando registradores de deslocamento • Correção de surtos de erros • Correção de erros aleatórios através da solução de equações de polinômios

  3. Deslocamentos Cíclicos de n-uplas e Polinômios

  4. Deslocamentos Cíclicos de n-uplas e Polinômios

  5. Corpos Finitos • Um corpo finito com q elementos é chamado de GF(q) (Galois Field) • GF(p) = inteiros com aritmética módulo um número primo, p • GF(pm) = polinômios sobre GF(p) com aritmética módulo um polinômio primo de grau m (extension field) • Todo corpo finito é o espaço vetorial de m-uplas sobre o corpo GF(p) de inteiros com aritmética módulo um número primo p. Portanto,GF(q) = GF(pm)

  6. Corpos Finitos • Teorema: A característica, λ, de um corpo finito é um número primo • Teorema: Seja a um elemento diferente de zero em GF(q). Então, a(q1) = 1 • Teorema: Seja a um elemento diferente de zero em GF(q). Seja n a ordem de a. Então, n divide q1 • Resultado: Se a ordem de a for q1, então a é um elemento primitivo de GF(q)

  7. Aritmética de Corpos Finitos • Polinômios com uma variável X e coeficientes em um corpo F (denotados por F[x]), são expressões da forma • O grau de f(X) é a maior potência de X (com coeficiente de X≠ 0) • Polinômio mônico: O coeficiente da maior potência de X é 1  Todos os polinômios diferentes de zero sobre GF(2) são mônicos • Para qualquer dividendo f(X)  F[x] e divisor diferente de zero, g(X)  F[x] existirão um par de polinômios únicos q(X), cociente e r(X), resto, tal que

  8. Aritmética de Corpos Finitos Definição:Seja p(X) um polinômio de grau m sobre GF(2). Se p(X) não for divisível por nenhum polinômio sobre GF(2) de grau m – 1 ou menos, então p(X) é irredutível sobre GF(2).Resultado:Qualquer polinômio irredutível sobre GF(2) de grau m divide

  9. Aritmética de Corpos Finitos Definição:Seja p(X) um polinômio irredutível de grau m sobre GF(2); então, p(X) divide Xn + 1 para n = 2m – 1. Se este valor de n for o menor inteiro positivo para o qual p(X) divide xn + 1, então p(X) é um polinômio primitivo de grau m sobre GF(2)

  10. Soma Módulo-8 Produto Módulo-8

  11. Soma Módulo-2 (Bit-a-Bit)

  12. Operação de “Multiplicação” das 3-uplas

  13. Representação

  14. Construção de GF(2m) Definição:Um elemento de GF(2m) de ordem 2m – 1 é um elemento primitivo. se  é um elemento primitivo em GF(2m), então as potências distintas de  geram todos os elementos (diferentes de zero) de GF(2m).Definição:Um polinômio irredutível, p(x), de grau m sobre GF(2) é um polinômio primitivo se tiver como raiz um elemento primitivo de GF(2m)

  15. Propriedades de GF(2m) Teorema:Seja f(X) um polinômio com coeficientes em GF(2). Seja  um elemento de GF(2m). Se  é uma raiz de f(X), então para qualquer l≥ 0 , é também uma raiz de f(X) O elemento é chamado de conjugado de .

  16. Propriedades de GF(2m) Teorema:Os 2m – 1 elementos diferentes de zero de GF(2m) compõem todas as raízes de  O elemento 0 de GF(2m) é a raiz de X. Portanto, Corolário:Os elementos de GF(2m) compõem todas as raízes de  β pode ser uma raiz de um polinômio sobre GF(2) de grau menor que 2m

  17. Propriedades de GF(2m) Definição:Seja  um elemento de GF(2m). O polinômio minimal, (X), de  é o polinômio de menor grau com coeficientes em GF(2) tal que () = 0. Teorema:Sejam (X) o polinômio minimal de um elemento  em GF(2m) e e o menor inteiro tal que . Então:

  18. Polinômio Gerador Seja C um código cíclico (n, k) sobre GF(q) • Existe um polinômio mônico g(x), chamado de polinômio gerador, tal que uma n-upla c(x) é uma palavra-código se e somente se g(x) for um divisor de c(x). • O polinômio gerador é único. • O grau do polinômio gerador é n k. • g(x) é o polinômio código de menor grau entre todos os polinômios código. • O polinômio gerador é um divisor de xn  1.

  19. Polinômio Gerador

  20. Matriz Geradora não Sistemática • Código cíclico C: (n, k) gerado por g(x) de grau r = n k

  21. Código Cíclico Sistemático

  22. Procedimento para Codificação Sistemática

  23. Polinômio de Verificação de Paridade

  24. bn-k-1 b2 b1 bn-k-2 b0 Codificador de um Código Cíclico (n, k)

  25. Codificador do Código Cíclico (7, 4)

  26. r(x) sn-k-1 s0 s1 Circuito de Cálculo das Síndromes

  27. Cálculo de Síndromes Código (7, 4)

  28. Capacidade de Detecção de Erros • Um código cíclico (n, k) é capaz de detectar qualquer surto de erros de comprimento n k ou menor, incluindo surtos do tipo end-around. • A fração de surtos não detectáveis de comprimento n k +1 é 2  (n k  1) • Para l > n k +1, a fração de surtos não detectáveis de comprimento l é 2  (n k)

  29. Decodificação de Códigos Cíclicos

  30. Decodificação de Códigos Cíclicos • Passo 1: Calcular a síndrome de r(x) e armazenar r(x) no registrador • Passo 2: Determinar padrão de erro. A saída do detector é 1 se e somente se a síndrome no registrador corresponde a um padrão de erro corrigível contendo um erro na posição xn 1 • Passo 3: O buffer e o registrador de síndrome são deslocados uma posição à direita. A saída do detector faz a correção do primeiro símbolo (se en 1 = 1) e também é realimentada no registrador de síndrome. Nova síndrome corresponde à r(x) deslocado • Passo 4: Detectar se xn 2 (agora na última posição) é um símbolo errado. Repetir passos 2 e 3. O segundo símbolo é corrigido da mesma forma que o anterior. • Passo 5: Decodificar o vetor recebido símbolo a símbolo da forma descrita anteriormente

  31. Decodificador de Meggitt para o Código Cíclico (7, 4)

  32. Processo de Correção de Erros

  33. Códigos Cíclicos Binários vistos a partir de GF(2m) • Teorema: Seja g(x) o polinômio gerador de um código cíclico binário de comprimento n = 2m 1 com zeros 1,..., rem GF(2m). O polinômio c(x) sobre GF(2) é um polinômio código se e somente se c(1) = c(2) = ··· = c(r) = 0 onde c(i) é avaliado em GF(2m)

  34. 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.

  35. 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)}

  36. 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.

  37. 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)

  38. Elementos de GF(24)

  39. 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)

  40. 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)}

  41. 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)

  42. Desempenho de Códigos RS sobre GF(26) comn = 31, considerando modulação 32-FSK

  43. Desempenho de Códigos RS sobre GF(26) comn = 31, considerando modulação 32-FSK

  44. Desempenho de Códigos RS com R = 7/8

  45. Desempenho de Códigos RS com n = 64

  46. Desempenho de Códigos RS com n = 31 e Modulação BPSK

  47. Decodificador de Códigos BCH q-ários

  48. Desempenho de Códigos de Reed-Solomon

More Related