A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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

Apresentações semelhantes


Apresentação em tema: "TÉCNICAS DE CODIFICAÇÃO DE SINAIS CÓDIGOS CÍCLICOS Evelio M. G. Fernández - 2010."— Transcrição da apresentação:

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

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 (x n 1) h(x) polinômio de verificação de paridade c(β 1 ) = 0,..., c(β t ) = 0, onde β i GF(p m ) –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

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(p m ) = 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(p m )

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 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 Aritmética de Corpos Finitos

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

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 Definição: Um elemento de GF(2 m ) de ordem 2 m – 1 é um elemento primitivo. se é um elemento primitivo em GF(2 m ), então as potências distintas de geram todos os elementos (diferentes de zero) de GF(2 m ). 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(2 m ) Construção de GF(2 m )

15 Teorema: Seja f(X) um polinômio com coeficientes em GF(2). Seja um elemento de GF(2 m ). 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. Propriedades de GF(2 m )

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

17 Definição: Seja um elemento de GF(2 m ). 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(2 m ) e e o menor inteiro tal que. Então: Propriedades de GF(2 m )

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 x n 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 Codificador de um Código Cíclico (n, k) b0b0 b1b1 b2b2 b n-k-1 b n-k-2

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

26 Circuito de Cálculo das Síndromes s0s0 s1s1 s n-k-1 r(x)

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

28 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) Capacidade de Detecção de Erros

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

30 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 x n 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 e n 1 = 1) e também é realimentada no registrador de síndrome. Nova síndrome corresponde à r(x) deslocado Passo 4: Detectar se x n 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 Decodificação de Códigos Cíclicos

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(2 m ) Teorema: Seja g(x) o polinômio gerador de um código cíclico binário de comprimento n = 2 m 1 com zeros 1,..., r em GF(2 m ). 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(2 m )

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(2 m ); 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 r incluí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(2 m ), o código BCH resultante é chamado de código BCH primitivo e as suas palavras-código têm comprimento 2 m – 1 bits. Se não é um elemento primitivo de GF(2 m ), 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 2 m 1, existe um código BCH com os seguinte parâmetros: n = 2 m 1, n k mt, d min 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(2 m )

38 Elementos de GF(2 4 )

39 Decodificação de Códigos BCH 1.Computar as síndromes S = (S 1, S 2,..., S 2t ) a partir de r(x) 2.Determinar σ(x) a partir de S 1, S 2,..., S 2t 3.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(q m ). 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 g i GF(q)

42 Desempenho de Códigos RS sobre GF(2 6 ) com n = 31, considerando modulação 32-FSK

43

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


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

Apresentações semelhantes


Anúncios Google