Você está na página 1de 6

CDIGOS CORRETORES DE ERRO

Como vimos antes, uma forma de reduzir a probabilidade de erro (BER) em um canal de
comunicao, sem necessidade de reduzir a taxa de bits, R b, consiste em introduzir bits
redundantes de uma forma apropriada (controlada), desde que R b < C, onde C a capacidade do
canal dada por Shannon:
S

C BT log 2 1
N

onde BT a largura de banda ( faixa ) de transmisso e S/N a relao sinal-rudo na entrada do


receptor.
Os cdigos corretores de erro compreendem duas famlias:

Cdigos de bloco
Cdigos convolucionais

Em cdigos de bloco, um bloco de dados de comprimento k codificado por uma palavra de cdigo
(codeword) de comprimento n dgitos (n > k). Para cada seqncia de n bits de dados h uma
palavra de cdigo distinta com n dgitos. Ser tratado aqui somente seqncias de dgitos binrios.
Em cdigos convolucionais, a seqncias codificada de n dgitos depende no somente dos k bits de
dados, mas tambm, de N 1 dgitos anteriores (N > 1). Em cdigos de bloco, cada k bits so
acumulados e ento, codificados com uma palavra de cdigo de n bits. Em cdigos convolucionais a
codificao feita continuamente (running) em vez de acumular k bits de dados.
Se k bits de dados so codificados com palavra de cdigo de comprimento n, o nmero de dgitos de
verificao de erro (check) igual a m, onde
m nk

A eficincia do cdigo, tambm conhecida como taxa de cdigo (code rate)


k /n

Assim, se a taxa de bits da fonte igual a Bfonte ento a taxa de bits do canal, Bcanal,
n
B fonte
k

Bcanal

Tal cdigo conhecido como cdigo (n,k).

bps

Uma forma de representar os blocos de dados d 1 , d 2 , , d k e as palavras de cdigo ,


c1 , c 2 , , c n a forma matricial, ou seja,
d (d1 , d 2 , , d k )
c (c1 , c 2 , , c k , , c n )

O nmero t de dgitos que podem ser corrigidos relacionado distncia de Hamming mnima,

d Hmin atravs da relao

d Hmin 2t 1

onde a distncia de Hamming, d H , entre duas palavras de cdigo

1 para a b
dH a , b (ai , bi ) onde (a, b)
i1
0 para a b
n

Portanto, a distncia de
Hamming entre duas
palavras de cdigo igual
ao nmero de dgitos
binrios distintos entre as

duas palavras. Por exemplo, se


a (0,0,0,0) e b (0,0,1,1) ento d H 2 .

O nmero de bits de paridade (check), m, capaz de corrigir t bits tem que satisfazer a condio

m nk n n n!
22 onde
jj0 j j!(nj)!
t

Esta condio conhecida como limite de Hamming ( Hamming bound ). Ela necessria e
suficiente para t =1. Quando a igualdade satisfeita, diz-se que o cdigo um cdigo perfeito.
A Tabela 1 mostra alguns exemplos de cdigos corretores de erro e suas eficincias . Nesta tabela
usa-se a notao alternativa ( n, k , d Hmin ) para identificar o cdigo.
Tabela 1 Alguns exemplos de cdigos corretores de erro.

(n, k , d Hmin )

3
4
5
6
7
15
31

1
1
2
3
4
11
26

(3,1,3)
(4,1,3)
(5,2,3)
(6,3,3)
(7,4,3)
(15,11,3)
(31,26,3)

Taxa de
Cd
igo
0,33
0,25
0,4
0,5
0,57
0,73
0,838

10
15

4
8

(10,4,5)
(15,8,5)

0,4
0,533

10
15
23

2
5
12

(10,2,7)
(15,5,7)
(23,12,7)

0,2
0,33
0,52

Cdigos de Hamming
Um cdigo perfeito, binrio, com capacidade de correo de um nico erro ( t = 1 ) chamado de
Cdigo de Hamming. Neste caso d Hmin 3 e

n m
2 1n n 12
j o j
m

Uma forma alternativa de corrigir erro consiste na deteco do erro e pedido de retransmisso da
palavra de cdigo (codeword) errada (tcnica ARQ). Neste caso (apenas deteco de erro) a relao
entre o nmero de dgitos binrios errados que podem ser detectados, t, e a distncia de Hamming
mnima dada por
d Hmin t 1

CDIGOS DE BLOCOS LINEARES


3

Em cdigos lineares os m = n k bits de paridade so obtidos atravs de uma combinao linear


dos k bits de dados contidos na palavra de cdigo (codeword) de comprimento n.
Cdigos de Blocos Lineares Sistemticos
Neste caso particular de blocos lineares os ck primeiros bits da palavra de cdigo (codeword)
coincidem com os bits de dados, como segue:

c1 d1
c2 d 2
M
ck d k
ck 1 p11d1 p12 d 2 L p1k d k
ck 2 p21d1 p22 d 2 L p2 k d k
M
cn pm1d1 pm 2 d 2 L pmk d k

c d G

ou

onde
1 0
0 1

p11

p 21

p12

p 22

0 0

Ik

p1k

(k k )

p2k

p m1

p m 2

Ik , P

p mk

( k m)

A matriz G a geradora ( generator matrix ) do cdigo. Uma forma alternativa da equao de


gerao :

c d G d , d P d , cp

onde

cp d P

Exemplo 1 Para um cdigo ( 6,3 ), seja a matriz G :


1
G 0
0

0
1

0
0

1
0

0
1

1
1 c p d 1
0

1
d 3 0
1

d2

0
1
1

1
1
0

Substituindo todas as palavras de dados (datacode) na equao acima, resulta a tabela a seguir.
Tabela 2 - Exemplo 1

palavra de
dad
o
111
110
101
100
011
010
001
000

palavra de
cdi
go
111000
110110
101011
100101
011101
010011
001110
000000

Decodificao com Correo de Erro no Receptor.


Lembrando que a soma de mdulo-2 de qualquer seqncia com ela mesma nula, tem-se:

P P T
cp dP d cP p 0 cd p 0 c 0 cH 0
I m Im

onde I m uma matriz m m . A matriz H chamada de matriz de cheque de paridade


T
(parity-check matrix) e tem a forma: H P I m

SNDROME
Seja r a palavra de cdigo recebida. Em geral tem-se:
r c e

onde e representa o vetor erro. Se no houve erro de transmisso, ento e 0 e r H T 0 .


Caso contrrio:
s r HT e HT

onde o vetor s denominado de sndrome. As posies dos bits 1 no vetor erro indicam as
posies dos bits errados na palavra de cdigo. Um mesmo vetor sndrome pode levar a mais de
uma soluo do vetor erro. A soluo aqui escolher o vetor erro com menor peso, isto , aquele
que tem o nmero mnimo de bits 1. Prepara-se ento uma tabela contendo e versus s com
peso mnimo.
Para o caso do cdigo do Exemplo 1 tem-se os dados da Tabela 3.
Nesse exemplo possvel corrigir mais de um erro por que temos folga no limite de Hamming .
Para o caso do cdigo de Hamming (7,4) possvel corrigir apenas um erro.
Assim, para decodificao sistemtica, prepara-se uma tabela e versus s para erro com menor
peso usando-se s e H T
Ao receber a palavra de cdigo r j calcula s j atravs de s r H T . Agora usa-se a tabela para
obter e j . A deciso a ser tomada c j r j e j
Tabela 3 - Tabela de Decodificao
e
s
000000
000
100000
101
010000
011
001000
110
000100
100
000010
010
000001
001
100010
111

Você também pode gostar