Você está na página 1de 18

Telecomunicaes II

Deteco e correco de erros


Codificao/descodificao
Emisso b Rb b = [b1, b2, ..., bk] Codificador a Rc a = [a1, a2, ..., an] Modulador

Recepo Desmodulador

^ a
Rc

Descodificador

^ b
Rb

A mensagem dividida em blocos de k bits aos quais se acrescentam n-k bits de cabealho (n > k). Obtm-se assim um cdigo (n, k).

Rendimento do cdigo
O rendimento de um cdigo de blocos definido como: R= Rb k = Rc n
39

; 0 < R <1

Telecomunicaes II
Deteco e correco de erros
Cdigos lineares
Num cdigo de blocos linear qualquer combinao linear de palavras de cdigo sempre uma palavra de cdigo.

Cdigos sistemticos
Num cdigo sistemtico a palavra de cdigo inclui os bits de informao da seguinte forma: an-k+j = bj ; j = 1, 2, ..., k

Distncia de Hamming
A distncia de Hamming, d(a1, a2), entre duas palavras a1 e a2 definida como o nmero de elementos que diferem em posies equivalentes das respectivas palavras de cdigo.
Exemplo: Se a1 = [101] e a1 = [110] ento d(a1, a2) = 2.

40

Telecomunicaes II
Deteco e correco de erros
Matriz geradora do cdigo
b Codificador (G ) a

a = bG
g11 . [a1 a 2 ... a n ] = [b1 b2 ... bk ] . . g k1 g12 . . . ... . . . g 1n . . . g kn

As operaes multiplicao e adio correspondem s funes lgicas XOR e AND. No caso de se tratar de um cdigo sistemtico:
G kn = [P I k ] a = b G = b [P I k ] = [b P b ]

Matriz de paridade
A matriz de paridade, H(n-k)n, de um determinado cdigo permite avaliar se determinada palavra palavra de cdigo.
T a palavra de cdigo se: a H = 0 .

41

Telecomunicaes II
Deteco e correco de erros
No caso de se tratar de um cdigo sistemtico: G = [P I k ] H = I nk P T

Exemplo 1: cdigo linear sistemtico (5,3)


1 0 1 0 G = 1 1 0 1 0 1 0 0 0 0 1
1 0 1 1 0 H= 0 1 0 1 1

Tabela de codificao/descodificao b 000 001 010 011 . . .


a1 = b1 b2 = a3 a 4 a = b b = a a 2 2 3 4 5 a3 = b1 a = b 4 2 a5 = b3
42

a 00000 01001 11010 10011 . . .

Telecomunicaes II
Deteco e correco de erros
Exemplo 2: cdigo linear (5,3) no sistemtico, equivalente ao cdigo do exemplo anterior.
1 0 1 0 0 G = 0 1 1 1 0 0 1 0 0 1
Tabela de codificao/descodificao b 000 001 010 011 . . .
a1 = b1 a = b b 2 2 3 a3 = b1 b2 a = b 4 2 a5 = b3
Note que: desenvolvendo as tabelas dos exemplos 1 e 2 facilmente se conclui que em ambos os casos o conjunto de palavras de cdigo so as mesmas em ambos os casos (cdigos equivalentes).
43

a 00000 01001 11110 10111 . . .

Telecomunicaes II
Deteco e correco de erros
Cdigo de paridade simples (k = n-1)
R = k = n 1 n n a1 = b1 b2 ... bk= a2 a3 ... an Exemplo: n = 3 b 00 01 10 11 a 000 101 110 011
Bit de paridade

Matriz geradora e matriz de paridade

1 1 1 G = . I n1 . . 1

H = [1 111111...1]

44

Telecomunicaes II
Deteco e correco de erros
Cdigo de repetio (k = 1)
R= k = 1 n n a1 = a2 = a3 = . . . =an = b1 Exemplo: n = 3 b 0 1 a 000 111

Matriz geradora e matriz de paridade


G = [111]
;

1 0 1 H= 0 1 1

Distncia mnima
2 , Cdigo de paridade simples d min = n , Cdigo de repetio

45

Telecomunicaes II
Deteco e correco de erros
Cdigos de Hamming, (n-k) 3
n = 2 n k 1

d min = 3

Exemplo: cdigo de Hamming (7,4)


1 1 G= 0 1 1 0 1 1 0 1 1 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1

1 0 0 1 1 0 1 H = 0 1 0 1 0 1 1 ; 0 0 1 0 1 1 1

a1 = b1 b2 b4 a2 = b1 b3 b4 a = b b b 3 4 3 2 a4 = b1 a5 = b2 a = b 6 3 a7 = b4

Relaes gerais para cdigos lineares


nk i) d min 3 n 2 1

ii) d min n k +1

(a situao de igualdade corresponde ao caso dos cdigos de repetio, k = 1.)

46

Telecomunicaes II
Deteco e correco de erros
Controlo de erros
A existncia de rudo e I.I.S durante o processo de transmisso pode provocar o apareceimento de erros na mensagem recebida. Por forma a eliminar estes erros podem ser utilizadas diversas tcnicas, de entre as quais se destacam: Automatic Repeat Request (ARQ) e Forward Error Correction (FEC) A tcnica ARQ consiste no pedido de retransmisso dos blocos de mensagem (tramas ou blocos) errados. Esta tcnica uma das mais utilizadas em redes de computadores. Quando a retransmisso impossvel ou impraticvel, por exemplo, devido degradao de desempenho que lhe pode estar associada, o controlo de erros efectuado recorrendo utilizao de tcnicas FEC (correco de erros na recepo).

Capacidade de deteco e correco de erros


Sendo, dmin, a distncia mnima entre palavras de cdigo.
Qualquer padro de l erros detectvel se:

l + 1 dmin
Qualquer padro de t erros corrigvel se:

2t + 1 dmin
47

Telecomunicaes II
Deteco e correco de erros
Deciso com o sndroma
Vector de cdigo transmitido: a Vector recebido: r = a e Mtodo de correco de erros

i) s = rHT ii) s (a partir da tabela de deciso com o sndroma) iii) = r (estimativa do vector de cdigo enviado)

Tabela de deciso com o sndroma

e s = eHT e1 s1 e2 s2 e3 s3 . . . . . .
Cada vector de erro tem dimenso igual s palavras de cdigo, apresentando 1s nas posies que correspondem ocorrncia de erro.
48

Telecomunicaes II
Deteco e correco de erros
O sndroma, s, depende apenas do tipo de erro e no do vector de cdigo transmitido.

r=ae logo: s = rHT = (a a) HT = aHT + e HT = e HT = 0 (a palavra de cdigo)

Exemplo 1: Cdigo de repetio (5,1) capacidade de deteco/correco.

G = [1111|1]
dmin = n = 5 2t + 1 5 t 2

1 0 H= 0 0

0 1 0 0

0 0 1 0

0 0 0 1

1 1 1 1

(so corrigveis todas as palavras com 1 ou 2 bits errados.) l+15 l4 (so detectadas todas as palavras com um nmero mximo de 4 bits errados.)
49

Telecomunicaes II
Deteco e correco de erros
Exemplo 2: mtodo de correco de erros.
Tabela de deciso com o sndroma

e s = eHT 00000 0000


. . . . . .

01100 00110
. . .

0110 0011
. . .

16 linhas

Nmero de linhas da tabela de deciso com o sndroma:


5 t C2 + C15 +1 = 16 ; Cu =

t! (t u )!u!

Supondo: a = [1 1 1 1 1] r = [1 1 0 0 1]

1 0 s = r H T = [1 1 0 0 1] 0 0 1
50

0 1 0 0 1

0 0 1 0 1

0 0 0 = [0 0 1 1] 1 1

Telecomunicaes II
Deteco e correco de erros
a partir da tabela obtm-se: = [0 0 1 1 0] logo:

= r + = [1 1 0 0 1] + [0 0 1 1 0] = [1 1 1 1 1]

Sistemas ARQ/FEC
A utilizao de sistemas ARQ, FEC ou ARQ/FEC depende das caractersticas do sistema de comunicao e do canal de transmisso, nomeadamente, do tempo envolvido na retransmisso de um bloco, do ritmo de transmisso, do nvel de rudo e do grau de I.I.S., entre outras. Exemplo: Cdigo de repetio (5, 1)
dmin = 5 l = 4, t = 2 (capacidade de deteco e correco)

1 0 H T = 0 0 1

0 1 0 0 1

0 0 1 0 1

0 0 0 1 1

51

Telecomunicaes II
Deteco e correco de erros
e 00000 10000 01000 00100 00010 00001 11000 10100 10010 10001 01100 01010 01001 00110 00101 00011 s 0000 a) 1000 0100 b) 0010 0001 1111 1100 1010 1001 0111 0110 0101 1011 0011 1101 1110

1 0 H T = 0 0 1

0 1 0 0 1

0 0 1 0 1

0 0 0 1 1

c)

a) Detecta at L = 4 erros sem corrigir. (ARQ) b) Detecta at L = 3 erros, corrige T = 1 erro. (ARQ/FEC) c) Detecta e corrige L = T = 2 erros. (FEC)

Note que: em qualquer caso se verifica T + L + 1 = dmin

52

Telecomunicaes II
Deteco e correco de erros
Cdigos cclicos
Um cdigo cclico uma subclasse dos cdigos de blocos com a particularidade que, qualquer que seja a palavra de cdigo, qualquer rotao dessa palavra tambm uma palavra de cdigo. Exemplo: a1 = [a1 a2 ... an] palavra de cdigo, ento

a2 = [an a1 ... an-1] tambm palavra de cdigo


Estes cdigos apresentam enormes vantagens de implementao, j que o processo de gerao de todas as palavras de cdigo, pode ser facilmente projectado com recurso utilizao de um registo de deslocamento com realimentao.

Cdigos polinomiais (n, k)


Qualquer cdigo polinomial pode ser representado atravs do formalismo utilizado para os cdigos de blocos. Os cdigos polinomiais so cdigos cclicos. No formalismo dos cdigos polinomiais matrizes e vectores so representados atravs de polinmios.

53

Telecomunicaes II
Deteco e correco de erros
Polinmio gerador do cdigo (n, k):

g ( x ) = g 0 + g1 x + g 2 x 2 +  + g nk x nk ; g nk = 1
Polinmios de informao e cdigo

a(x) = b(x)g(x) g(x) b(x) a(x)


(grau n-k) (grau < k) (grau < n) Polinmio gerador Polinmio de informao Polinmio de cdigo

Os polinmios de cdigo so todos os polinmios a(x) divisveis por g(x). Cdigos polinomiais sistemticos

a(x) = p(x)+xn-kb(x)

p ( x ) = p0 + p1 x + p 2 x 2 +  + p nk 1 x nk 1 b ( x ) = b0 + b1 x + b2 x 2 +  + bk 1 x k 1
Em termos de cdigo de blocos obtm-se: a = [p0 p1 ... pn-k-1 b0 b1 ... bk-1]

54

Telecomunicaes II
Deteco e correco de erros
Exemplo de aplicao
Obtenha a matriz geradora de um cdigo de blocos sistemtico (7, 4), equivalente ao gerado por g(x) = 1 + x + x3. Verifique se o cdigo obtido um cdigo de Hamming.

n - k = 3 grau de g(x) n=7 k=4 Dado que se trata de um cdigo sistemtico: a(x) = p(x)+xn-kb(x) como: a(x) = b(x)g(x) obtm-se: p(x)+xn-kb(x) = b(x)g(x) logo: x nk b ( x ) p ( x) = b( x) + g ( x)
p(x) corresponde ao resto da diviso de xn-kb(x) por g(x).
55

Telecomunicaes II
Deteco e correco de erros
b0(x) =1 b1(x) = x b2(x) = x2 b3(x) = x3 p0(x) = 1 + x p1(x) = x + x2 p2(x) = 1 + x + x2 p3(x) = 1 + x2

Exemplo: b3(x) = x3 x6 | 1 + x + x3 x3 + x + 1 x6 + x4 + x3 x4 + x3 x4 + x2 + x x3 + x2 + x +x +1 x3 2 x +1 Obtm-se assim:

Grau : 0 1 p0 1 p 0 G= 1 p2 1 p3 1 1 1 1 0

2 0 1 1 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1

A matriz G tem 2 ou mais 1s em cada linha e n = 2n-k 1, logo dmin = 3. Assim, o cdigo gerado por G um cdigo de Hamming sistemtico equivalente ao cdigo gerado por g(x).
56

Você também pode gostar