Carregar 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 (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(q1) = 1 Teorema: Seja a um elemento diferente de zero em GF(q). Seja n a ordem de a. Então, n divide q1 Resultado: Se a ordem de a for q1, 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
+ 1 2 3 4 5 6 7 1 2 3 4 5 6 7
11
Soma Módulo-2 (Bit-a-Bit)
000 001 010 011 100 101 110 111
12
Operação de “Multiplicação” das 3-uplas
001 010 011 100 101 110 111
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
Codificador de um Código Cíclico (n, k)
b0 b1 b2 bn-k-1 bn-k-2
25
Codificador do Código Cíclico (7, 4)
26
Circuito de Cálculo das Síndromes
sn-k-1 r(x)
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,..., r em 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 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(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) com n = 31, considerando modulação 32-FSK
43
Desempenho de Códigos RS sobre GF(26) com n = 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
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.