Professional Documents
Culture Documents
CÓDIGOS DE BLOCO
Vn: espaço vetorial das n-uplas a1 , a2 ,, an V , ai F 0,1,, q 1, q p , p
m
primo, m inteiro.
S = Subespaço de Vn, Dim(S) = k.
DEF: Código linear C:
C é um código linear C = S sub Vn.
C : v a1 , a2 ,, an / v S , S sub Vn
v = palavra-código.
Se S tem Dim(S) = k
C: (n, k).
k = comprimento da informação em dígitos.
n = comprimento da palavra código em dígitos.
Código Dual de C(n, k)
Codificador
linear
u v = uG
u = [u1, u2, ..., uk]: vetor informação.
v = [v1, v2, ..., vk]: palavra código.
G: Matriz geradora de C: (n, k).
Matriz de Verificação de Paridade, H
Seja C = Subespaço de V com Dim(S) = k. Então o seu código dual C’ = S’, Subespaço
de V onde S’S, Dim(S’) = n – k C’: (n, n – k). Se G gera o código C, G’ H (matriz
de paridade de C) gera o código C’ dual de C.
Então: GGT 0
ou G HT 0 equação de verificação de paridade do código C.
v H T 0
Códigos Equivalentes
Código Sistemático:
1 0 0 0 | p11 p12 p1,nk
0 1 0 0 | p21 p22 p2,nk
G 0
*
0 1 0 | p31 p32 p3,nk
|
0 0 0 1 | pk1 pk 2 pk ,nk
I k Pk ,n
dmin n k 1
dmin n k 1
Seja um código linear C:(n, k) de matriz geradora [G]k,n e matriz de paridade [H]n – k, n.
Seja vi C; vi = palavra código de C, i = 1, 2, ..., qk.
C v1 0, v1 ,, v qk e seja gj V; gj = n-upla do espaço vetorial Vn; j = 1, 2, ...,
qn. O arranjo padrão para o código C é um arranjo especial de todas as n-uplas de Vn.
v1 0 v2 v3 vqk
g1 + v1 g1 g1 + v2 g1 + v3 g1 + vqk
g2 + v2 g2 g2 + v2 g2 + v3 g2 + vqk
: : : : qn-k linhas (cosets).
: : : :
DEF: Síndrome:
A síndrome de um vetor recebido r é o vetor de (n – k) dígitos:
s rH T
onde: [H]n – k, n = matriz de paridade do código C.
[r]1, n = n-upla recebida.
[s]1, n – k = síndrome de r.
r1 = e r2 = v2 + e r3 = v3 + e rqk = vqk + e s
s eH T r 2 H T r 3 H T r qk H T
Procedimento: s e
s1 e1
r si = rHT
s2 e2
si ei
Palavra decodificada: vi = r – ei s qnk e qnk
Teorema 3.7 (P & W): Supondo palavras código equiprováveis, a probabilidade média de
decodificação correta PC, é máxima se a tabela de decodificação (“decodificação ótima”) for
o arranjo padrão que tiver em cada coset o vetor de menor peso como o líder de coset.
Propriedade:
PC 0Q n 1 pQ n1 2 p 2Q n2
s rH T
1 0 0
0 1 0
0 0 1
s r1 r2 r3 r4 r5 r6
1 1 0
0 1 1
1 0 1
s1 r1 r4 r6
s 2 r2 r4 r5
s 3 r3 r5 r6
Tipos de Decodificadores
Propriedade:
Todo código quase-perfeito (quando existir para dados n e k) se constitui em um
código ótimo.
Exemplos de Códigos de Bloco
A) Códigos Cíclicos.
B) Códigos de paridade simples (altas taxas)
C: (k + 1, k) ou (n, n – 1)
d 1
dmin = 2 t min 0
2
“sem potencialidade de correção (t = 0) são usados em esquemas de detecção
de erro simples”.
C) Códigos de repetição simples (baixas taxas)
C: (n, 1) R = 1/n
dmin = n
Exemplos de Códigos de Bloco
2m 1 n
C: (n, n – m) e dmin = 3
Construção: Consiste em apagar colunas do código de Hamming de mesmo valor de m.
G) Código de Hamming com paridade nos bits (dmin = 4)
Dado m qualquer são códigos com n 2m e m + 1 dígitos de paridade
C : 2m , 2m m 1 .
Construção:
0 Matriz H do
cód. Hamm. para
0
H
o dado valor de m
1 1 1
OBS: São conhecidos como os códigos quase-perfeitos de Hamming.
Exemplos de Códigos de Bloco
H) Códigos de Hamming com dmin = 4 e n .
i 1
Sejam: {A0, A1, ..., An} = espectro de pesos C e {B0, B1, ..., Bn} = espectro
de pesos de C’C.
Representação polinomial:
Az A0 A1 z An z n
Bz B0 B1 z Bn z n
n 1 z
Az 2 n k 1 z B → Identidade de MacWilliams
1 z
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)
1 0 0 0 1 0 0 1 1 0 1 0 1 1 1
0 1 0 0 1 1 0 1 0 1 1 1 1 0 0
H
0 0 1 0 0 1 1 0 1 0 1 1 1 1 0
0 0 0 1 0 0 1 1 0 1 0 1 1 1 1
1 2 Q2 1 0 1 2 Q2
1 2
4
2 Q 2 0 0 1 2 4 2 Q 2
H H
d Q 2 d Q 2
1 0 1 1 d 2d
d 2d
Códigos Expurgados (Expurgated Codes)
H 1 2 3 4 12 13 14
H 1 3 6 9 12 36 39 42
Códigos Aumentados (Augmented Codes)
• 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)