Вы находитесь на странице: 1из 91

Cdigos para Controle de Erros

1 Parte:
 Cdigos de Bloco Lineares
 Cdigos Cclicos
 Cdigos Convolucionais

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 1


Introduo

 As tcnicas de codificao para controle de erros (Error


Control Coding ECC) so decorrncia direta do
teorema de codificao de canal de Shannon.
 Cada tcnica de ECC emprega um algoritmo de
codificao no transmissor e um algoritmo de
decodificao no receptor.
 O objetivo manter a integridade da informao ao ser
transmitida em canais ruidosos.

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 2


Introduo
 Codificao de canal realizada separadamente

 Codificao e modulao combinadas

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 3


Introduo
 Correo de Erro Deteco de Erro
 Existe um enfoque alternativo correo direta de
erros (Forward Error Correction FEC) para se
conseguir transmisso confivel de dados.
 O sistema alternativo denominado de ARQ
(Automatic-Repeat Request).
 ARQ combina deteco de erro e realimentao sem
rudo.
 ARQ necessita obrigatoriamente de canal de retorno.
 FEC unidirecional e no requer realimentao.

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 4


Introduo
 ARQ (Automatic-Repeat Request)
 ARQ com estratgia stop-and-wait
 Aps a transmisso de um bloco de dados, o transmissor
para e aguarda por uma realimentao antes de iniciar a
transmisso do prximo bloco.
 ARQ contnuo com estratgia de pullback
 O transmissor continua a enviar dados at que receba um
pedido de retransmisso. Nestas ocasies o transmissor
interrompe e retransmite os blocos a partir do erro
detectado.
 ARQ contnuo com repetio seletiva
 Retransmite somente os blocos incorretos.

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 5


Introduo
 Teorema de Codificao de Canal (resumo)
 Um canal discreto sem memria (DMC) tem uma
capacidade C.
 Caso a fonte transmita a uma taxa menor que a
capacidade C, ento possvel enviar os dados da
fonte atravs do canal com uma taxa de erro
arbitrariamente pequena, desde que se empregue
uma tcnica de codificao adequada.
 Para o BSC: rc C = 1 H(p)
 rc taxa de codificao
 p probabilidade de transio do canal

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 6


Cdigos de Bloco Lineares
 Cdigos Lineares
 Um cdigo binrio linear se a soma mdulo-2 entre
duas palavras do cdigo tambm uma palavra-
cdigo.
 As palavras de um cdigo linear sempre podem ser
obtidas por meio de uma operao linear com
aritmtica mdulo-2.
 A palavra nula sempre est presente em um cdigo
linear.

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 7


Cdigos de Bloco Lineares
 Aritmtica Mdulo-2
0 + 0 = 0
0 +1 = 1

 Soma:
1+ 0 = 1
1 + 1 = 0

 Subtrao: 1 + 1 = 0 1 = 1 (soma subtrao)


0 0 = 0
0 1 = 0

 Multiplicao:
1 0 = 0
11 = 1

0 1 = 0
 Diviso:
1 1 = 1

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 8


Cdigos de Bloco Lineares
 Estrutura das palavras de um cdigo sistemtico
bi , i = 0,1, K, n k 1
ci =
mi + k n i = n k , n k + 1, K , n 1
bi = p0i m0 + p1i m1 + L + pk 1,i mk 1
1 se bi depende de mi
pij =
0 caso contrrio

n - k bits de paridade k bits de mensagem

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 9


Cdigos de Bloco Lineares
 Representao Matricial
 Vetores (linha) de Mensagem e de Paridade
m = [m0 , m1 , K , mk 1 ]
b = [b0 , b1 , K , bn k 1 ]

 Matriz de Paridade (k n k)
b = mP
 As linhas da matriz de paridade devem ser linearmente
independentes.

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 10


Cdigos de Bloco Lineares
 Vetor Cdigo
c = [c0 , c1 , K , cn 1 ]
= [b m ]
= m [P I k ]

 Ik a matriz identidade (k k)

 Matriz Geradora (k n)
G = [P I k ]

c = mG

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 11


Cdigos de Bloco Lineares
 Ex.1: Cdigo de paridade simples (k = 2, n = 3)
1 1 1 0
P= G = [P I k ] =
1 1 0 1
1 1 0
c 0 = m 0G = [0 0] = [0 0 0]
1 0 1
1 1 0
c1 = m1G = [0 1] = [1 0 1]
1 0 1
ci = m i G = [b i mi ]
c = m G = [1 1 1 0
0] = [1 1 0]
2 0 1
2

1
1 1 0
c3 = m 3G = [1 1] = [0 1 1]
1 0 1

 Obs.: c0 = [0 0 0]; ci + cj = cm

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 12


Cdigos de Bloco Lineares
 Matriz de Verificao de Paridade (n k n)
[
H = I nk PT ]
 PT a matriz de paridade transposta.

 Verificao de paridade
I T

GH = [P I k ]
T nk

P
=P+P =0

cH T = mGH T = 0

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 13


Cdigos de Bloco Lineares
 Codificao

 Verificao de Paridade

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 14


Cdigos de Bloco Lineares
 Ex.2: Cdigo de repetio (k = 1, n = 5)

G = [P I k ] = [1 1 1 1 1]
1 0 0 0 1
0 1 0 0 1
[
H = I nk T
P =]0 0 1 0 1

0 0 0 1 1
1 0 0 0
0 1 0 0
GH T = [1 1 1 1 1] 0 0 1 0 = [0 0 0 0]

0 0 0 1
1 1 1 1

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 15


Cdigos de Bloco Lineares
 Padro de Erro e Sndrome
 Vetor Recebido
r =c+e

 Vetor ou Padro de Erro


e = [e0 , e1 , K , en 1 ]
1 se um erro ocorre na i - sima posio
ei =
0 caso contrrio

 Sndrome
s = rH T

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 16


Cdigos de Bloco Lineares
 Propriedades
1. A sndrome depende apenas do padro de erro e no da
palavra cdigo.
s = (c + e)H T = cH T + eH T
= eH T
2. Todos os padres de erro que diferem de uma palavra-cdigo
tm a mesma sndrome.
ei = e + ci
e i H T = eH T + c i H T
= eH T
UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 17
Cdigos de Bloco Lineares
 Consideraes sobre Distncia Mnima
 Peso de Hamming, wH: Nmero de elementos no zero de
um vetor cdigo.
 Distncia de Hamming, dH: Nmero de posies que duas
palavras-cdigo diferem.
 Distncia Mnima, dmin: Menor distncia de Hamming entre
quaisquer duas palavras do cdigo.
 A distncia mnima igual ao menor peso de Hamming
dentre as palavras no nulas do cdigo.
 A distncia mnima igual ao nmero de colunas da matriz
H que devem ser somadas para se obter o vetor nulo.

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 18


Cdigos de Bloco Lineares
 Distncia Mnima e Capacidade de Correo

d (ci , c j ) 2t + 1 d (ci , c j ) < 2t + 1

 Capacidade de deteco de erros: d = d min 1


 Capacidade de correo de erros:
1
t (d min 1)
2
UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 19
Cdigos de Bloco Lineares
 Arranjo Padro (Standard Array)

 As 2n-k linhas do arranjo padro so denominadas de cosets.


 Os primeiros elementos e2,..., e2n-k so os lderes de coset.

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 20


Cdigos de Bloco Lineares
 Decodificao por Sndrome
1. Para cada vetor recebido r, compute a sndrome:
s = rH T = eH T
2. Para o coset determinado pela sndrome s, identifi-
que o lder de coset (i.e., o padro de erro de maior
probabilidade), e o denomine por e0.
3. Decodifique o vetor cdigo correspondente ao vetor
recebido:
c = r + e0

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 21


Cdigos de Bloco Lineares
 Ex.3: Cdigo de Hamming (7, 4)
m = n k = 3; n = 2 m 1 = 7; k = 2 m m 1 = 4
1 1 0 1 0 0 0
0 1 1 0 1 0 0
G = [P I k ] =
1 1 1 0 0 1 0

1 0 1 0 0 0 1

1 0 0 1 0 1 1
[
H = I nk PT = 0 1 0 1 1 1 0
]
0 0 1 0 1 1 1

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 22


Cdigos de Bloco Lineares
 Palavras do Cdigo de Hamming (7,4)
Palavra Peso de Palavra Peso de
Mensagem Mensagem
Cdigo Hamming Cdigo Hamming

0000 0000000 0 1000 1101000 3

0001 1010001 3 1001 0111001 4

0010 1110010 4 1010 0011010 3

0011 0100011 3 1011 1001011 4

0100 0110100 3 1100 1011100 4

0101 1100101 4 1101 0001101 3

0110 1000110 3 1110 0101110 4

0111 0010111 4 1111 1111111 7

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 23


Cdigos de Bloco Lineares
 Tabela de Decodificao do Cd. de Hamming (7,4)
Padro
Sndrome
de Erro

000 0000000

100 1000000

010 0100000

001 0010000

110 0001000

011 0000100

111 0000010

101 0000001

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 24


Cdigos de Bloco Lineares
 Decodificao do Cdigo de Hamming (7,4)
d min 1
d min =3 t = =1
2
a) r = [0 1 1 0 1 0 0]
s = rH T = [0 0 0] e = [0 0 0 0 0 0 0]
c = r = [0 1 1 0 1 0 0]

b) r = [1 1 1 0 1 0 0]
s = rH T = [1 0 0] e = [1 0 0 0 0 0 0]
c = r + e = [0 1 1 0 1 0 0]

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 25


Cdigos de Bloco Lineares
 Cdigos Perfeitos
 O cdigo de Hamming (7, 4) um exemplo de cdigo
perfeito.
Todas as 27 = 128 seqncias
binrias ficam confinadas sem
sobreposio em 24 = 16
esferas de raio 1, isto :
t =1
7 27
t =0
= 4 = 23
t 2

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 26


Cdigos de Bloco Lineares
 Cdigo Dual
GH T = HG T = 0
G' = H

H' = G

 Ex.: Cdigo Dual de Hamming (7, 3)


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

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 27


Cdigos Cclicos
 Propriedades dos Cdigos Cclicos
1. Linearidade: A soma de quaisquer palavras-cdigo
tambm uma palavra pertencente ao cdigo.
2. Qualquer deslocamento cclico de qualquer palavra-
cdigo tambm uma palavra pertencente ao
cdigo.
 Deslocamentos cclicos:
(c0, c1,..., cn-1) (cn-1, c0,..., cn-2) (c1, c2,..., cn-1, c0)

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 28


Cdigos Cclicos
 Cdigo Polinomial
c( X ) = c0 + c1 X + c2 X 2 + L + cn 1 X n 1

 X uma varivel indeterminada.


 Para cdigos binrios os coeficientes do polinmio so
0 ou 1.
 Cada potncia de X no polinmio c(X) representa um
atraso de um bit ou, equivalentemente, o desloca-
mento de um bit para a direita.

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 29


Cdigos Cclicos
 Deslocamento Cclico Polinomial
X c( X ) = c0 X + c1 X 2 + c2 X 3 + L + cn 2 X n 1 + cn 1 X n
= c0 X + c1 X 2 + L + cn 2 X n 1 + cn 1 X n + cn 1 + cn 1
= cn 1 + c0 X + c1 X 2 + L + cn 2 X n 1 + cn 1 ( X n + 1)
M
X i c( X ) = c0 X i + c1 X i +1 + L + cn i 1 X n 1 + cn i X n L + cn 1 X n +i 1
( )(
= cn i + L + cn 1 X i 1 + c0 X i + L + cn i 1 X n 1 + cn i + L + cn 1 X i 1 X n + 1)
= c (i ) ( X ) + q ( X )( X n + 1)

c ( i ) ( X ) = X i c( X ) mod( X n + 1)

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 30


Cdigos Cclicos
 Deslocamento Cclico Polinomial

( )
c (1) ( X ) = c0 X + c1 X 2 + c2 X 3 + L + cn 2 X n 1 + cn 1 X n mod( X n + 1)
= cn 1 + c0 X + c1 X 2 + L + cn 2 X n 1 X n = X 0 =1

( )
c ( 2) ( X ) = c0 X 2 + c1 X 3 + c2 X 4 + L + cn 2 X n + cn 1 X n +1 mod( X n + 1)
= cn 2 + cn 1 X + c0 X 2 + L + cn 3 X n 1 X n +1 = X 1 = X
M
( )
c (i +1) ( X ) = c0 X i +1 + c1 X i + 2 + L + cn i 1 X n + L + cn 1 X n +i mod( X n + 1)
= cn i 1 + cn i X + L + cn 1 X i + c0 X i +1 + L + cn i 2 X n 1 X n +i = X i

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 31


Cdigos Cclicos
 Polinmio Gerador
n k 1

g( X ) = 1+ i =1
gi X i + X nk

 O polinmio g(X) de grau n k um fator de Xn + 1.


 Os coeficientes gi so nmeros binrios 0 ou 1.
 Um cdigo cclico determinado unicamente pelo
polinmio gerador g(X).

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 32


Cdigos Cclicos
 Polinmio Associado aos Bits de Mensagem
m( X ) = m0 + m1 X + L + mk 1 X k 1
 mi so os bits de mensagem.
 Polinmio Associado aos Bits de Paridade
b( X ) = b0 + b1 X + L + bn k 1 X n k 1
 bi so os bits de paridade.
 Polinmio Associado Palavra-Cdigo
c ( X ) = b ( X ) + X n k m( X )
= c0 + c1 X + L + cn 1 X n 1
UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 33
Cdigos Cclicos
 Codificao
c ( X ) = b ( X ) + X n k m( X ) = a ( X ) g ( X )
 a(X) um polinmio de grau k 1, tal que:
X nn k m( X ) b( X )
= a( X ) +
g( X ) g( X )
 Processo de Codificao
1. Multiplique a mensagem m(X) por Xn-k.
2. Divida o resultado pelo polinmio gerador g(X) e obtenha o
resto b(X).
3. Some b(X) Xn-km(X ), obtendo o polinmio codificado c(X).

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 34


Cdigos Cclicos
 Codificador Cclico (n, k)

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 35


Cdigos Cclicos
 Polinmio Gerador e Matriz Geradora
g( X )
X g( X )
G=
M
k 1
X g ( X )
 As k linhas da matriz geradora so formadas pelos
coeficientes resultantes dos deslocamentos sucessivos
do polinmio gerador.
 Geralmente a matriz G assim obtida no se encontra
na forma sistemtica.
UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 36
Cdigos Cclicos
 Polinmio de Verificao de Paridade
k 1

h( X ) = 1 +
i =1
hi X i + X k

 O polinmio h(X) de grau k.


 Os coeficientes hi so nmeros binrios 0 ou 1.
 Similarmente aos cdigos de bloco:
(
g ( X )h( X ) mod X n + 1 = 0 )

g ( X ) h( X ) = X n + 1
UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 37
Cdigos Cclicos
 Polinmio e Matriz de Verificao de Paridade
X k h( X 1 )
k +1 1
X h( X )
H=
M
n 1 1
X h( X )
 As n k linhas da matriz H so formadas pelos
coeficientes resultantes dos deslocamentos sucessivos
do recproco do polinmio de verificao de paridade.
 Geralmente a matriz H assim obtida no se encontra
na forma sistemtica.
UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 38
Cdigos Cclicos
 Polinmio Associado ao Vetor de Recepo
r ( X ) = r0 + r1 X + L + rn 1 X n 1

 Polinmio de Sndrome
r ( X ) = q( X ) g ( X ) + s( X )

 O polinmio de sndrome s(X) o resto da diviso de


r(X) por g(X).
 O grau de s(X) menor ou igual a n k 1.

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 39


Cdigos Cclicos
 Calculador de Sndrome Cclico

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 40


Cdigos Cclicos
 Propriedades de s(X)
1. A sndrome de um polinmio de recepo tambm a
sndrome do padro de erro correspondente.
r ( X ) = c ( X ) + e( X )
e( x ) = r ( X ) + c ( X )
= [q ( X ) + a ( X )]g ( X ) + s ( X )
2. Ao deslocamento cclico de r(X) corresponde a verso
deslocada de s(X).
Xr ( X ) = Xq ( X ) g ( X ) + Xs ( X )
3. O polinmio s(X) idntico ao polinmio e(X), desde que todos
os erros estejam confinados aos n k bits de paridade.

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 41


Cdigos Cclicos
 Polinmio Irredutvel
 Polinmio que no pode ser fatorado (coef. binrios).
 Ex.: Polinmios irredutveis de X 7 + 1
X 7 + 1 = (1 + X )(1 + X 2 + X 3 )(1 + X + X 3 )

 Polinmio Primitivo
 Polinmio irredutvel de grau m tal que n = 2m 1.
 Polinmios primitivos de X 7 + 1:
1+ X 2 + X 3 e 1+ X + X 3

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 42


Cdigos Cclicos
 Ex.: Cdigo de Hamming (7,4)
 Polinmio Gerador (primitivo):
g(X ) = 1+ X + X 3
 Polinmio de Verificao de Paridade:
g ( X ) h( X ) = X n + 1

h( X ) = (1 + X )(1 + X 2 + X 3 )
= 1+ X + X 2 + X 4

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 43


Cdigos Cclicos
 Codificao (ex.: m = [1001] m(X) = 1 + X 3)
nk 3 3 3 6
1. X m( X ) = X (1 + X ) = X + X
nk
2. X m( X ) X3+ X6 3 X +X2
= 3
=X+X +
g( X ) 1+ X + X 1+ X + X 3
a ( X ) = X + X 3

b( X ) = X + X 2

3. c( X ) = b( X ) + X n k m( X ) = X + X 2 + X 3 + X 6
c = [0111001]

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 44


Cdigos Cclicos
 Codificador Cclico
g(X ) = 1+ X + X 3

R1 R2 R3

Deslocamento Entrada R1 R 2 R 3
1001
estado inicial 0 0 0
1 1 1 1 0
2 0 0 1 1
3 0 1 1 1
4 1 0 1 1

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 45


Cdigos Cclicos
 Calculador de Sndrome
g(X ) = 1+ X + X 3

0111001
R1 R2 R3

Deslocamento Entrada R1 R 2 R 3 Deslocamento Entrada R1 R 2 R 3


Estado inicial 0 0 0 4 1 0 1 0
1 1 1 0 0 5 1 1 0 1
2 0 0 1 0 6 1 0 0 0
3 0 0 0 1 7 0 0 0 0

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 46


Cdigos Cclicos
 Matriz Geradora
g( X ) = 1+ X + X 3 1 1 0 1 0 0 0
0
X g(X ) = X + X 2 + X 4 1 1 0 1 0 0
5
G' =
2 2 3
X g(X ) = X + X + X 0 0 1 1 0 1 0
6

3 3 4
X g(X ) = X + X + X 0 0 0 1 1 0 1

 Forma sistemtica (3 linha + 1 linha; 4 linha + 1 + 2 linhas):

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

1 0 1 0 0 0 1

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 47


Cdigos Cclicos
 Matriz Verificadora de Paridade

X 4 h ( X 1 ) = 1 + X 2 + X 3 + X 4 1 0 1 1 1 0 0

X 5 h( X 1 ) = X + X 3 + X 4 + X 5 H ' = 0 1 0 1 1 1 0
X 5 h( X 1 ) = X 2 + X 4 + X 5 + X 6 0 0 1 0 1 1 1

 Forma sistemtica (1 linha + 3 linha):

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

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 48


Cdigos Cclicos
 Cdigos de Comprimento Mximo
 Caractersticas
 Tamanho do bloco: n = 2m 1
 Bits de mensagem: k=m
 Distncia mnima: dmin = 2m 1

 Polinmio Gerador
1+ X n
g( X ) =
h( X )
 h(X) um polinmio primitivo de grau m.
 Cdigo dual ao cdigo de Hamming.

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 49


Cdigos Cclicos
 Ex.: Sequncia de Comprimento Mximo (n = 7)
 As conexes do codificador so definidas por:
h( X ) = 1 + X + X 3
 Para a condio inicial 001 a sequncia de sada
obtida equivale a g ( X ) = 1 + X + X 2 + X 4

1 0 0 S=0010111

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 50


Cdigos Cclicos
 Cdigos Cclicos de Verificao de Redundncia
 Os cdigos cclicos so excelentes para a deteco de
erros.
 Quando utilizados para esse propsito os mesmos so
referidos como cdigos CRC (Cyclic Redundancy
Check codes).
 Os cdigos CRC permitem codificao e decodificao
(deteco) sequenciais.
 Um cdigo CRC pode detectar muitos padres de
erro, incluindo erros em rajadas.

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 51


Cdigos Cclicos
 Rajada (Burst) de Erro
uma seqncia de B bits em que o primeiro, o ltimo, alm
de quaisquer bits intermedirios, so recebidos errados.

 Capacidade de Deteco de Erros CRC (n, k)


1. Todos os bursts de comprimento n k, ou menores.
2. Uma frao dos bursts de comprimento n k + 1 e a mesma
frao de rajadas maiores que n k + 1; a frao igual a
1 2(n k 1).
3. Todos os padres de dmin 1 erros, ou menos.
4. Todos os erros com um nmero mpar de erros (se o
nmero de coeficientes de g(X) diferentes de zero par).

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 52


Cdigos Cclicos
 Cdigos CRC mais utilizados:
Cdigo Polinmio Gerador g(X) nk
CRC-8 1 + X + X2 + X8 8

CRC-12 1 + X + X2 + X3 + X11 +X12 12

CRC-16 (USA) 1 + X2 + X15 + X16 16

CRC-16 (ITU) 1 + X5 + X15 + X16 16

1 + X + X2 + X4 + X5 + X7 + X8 + X10 +
CRC-32 32
X11 + X12 + X16 + X22 + X23 + X26 + X32

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 53


Cdigos Cclicos
 Cdigos BCH (Bose-Chaudhuri-Hocquenghem)
 Importante classe de cdigos de bloco binrios com
capacidade de correo de t erros (m 3).
 Caractersticas
 Tamanho do bloco: n = 2m 1
 Bits de mensagem: k n mt
 Distncia mnima: dmin 2t + 1

 Cdigos de Hamming so um caso particular de


cdigo BCH com t = 1.

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 54


Cdigos Cclicos
 Cdigos BCH de comprimento at 25 1
n k t Coeficientes do Polinmio Gerador
7 4 1 1 011
15 11 1 10 011
15 7 2 111 010 001
15 5 3 10 100 110 111
31 26 1 100 101
31 21 2 11 101 101 001
31 16 3 1 000 111 110 101 111
31 11 5 101 100 010 011 011 010 101
31 6 7 11 001 011 011 110 101 000 100 111

 Ex.: Cdigo BCH (15, 7)


g( X ) = X 8 + X 7 + X 6 + X 4 +1

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 55


Cdigos Cclicos
 Cdigos RS (Reed-Solomon)
 Importante subclasse de cdigos BCH no binrios,
com smbolos compostos de m bits.
 Caractersticas
 Bloco: n = 2m 1 smbolos = m(2m 1) bits
 Mensagem: k smbolos
 Redundncia: n k = 2t smbolos
 Distncia mnima: dmin = 2t + 1 smbolos

 Os cdigos RS so amplamente utilizados, incluindo


as aplicaes de CD, DVD, TV Digital, etc.

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 56


Desempenho dos Cdigos de Bloco
 Canal AWGN e Sinalizao Binria
 Relao sinal-rudo por bit
Eb E n Ec Ec
= = =
N 0 k N 0 k N 0 rc N 0
 Eb energia por bit de mensagem
 Ec energia por bit de cdigo
 E energia total da palavra-cdigo
 rc = k/n taxa de codificao
 Probabilidade de Erro do Canal

1 Ec 1 Eb

p = erfc = erfc r
2 N 2 N c
0 0
UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 57
Desempenho dos Cdigos de Bloco
 Deteco de Erros
 Capacidade de Deteco (nmero mximo de erros
que podem ser detectados pelo cdigo): d = dmin 1
 Probabilidade de Deteco de Erro(s)
n j
d
PD = p (1 p ) n j
j =0
j

 Probabilidade de Falha na Deteco de Erros


n j
d
PFD = 1 PD = 1 p (1 p ) n j
j =0
j

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 58


Desempenho dos Cdigos de Bloco
 Ex.: Determine a probabilidade de falha na deteco de
erros em um bloco de 128 bytes protegido por CRC-16.
A taxa de erro de bit do canal igual a 10-4.
 CRC-16: dmin = 4 d = 4 1 = 3

 Tamanho bloco: n = 128 8 = 1024 bits

 Probabilidade de falha na deteco


3
1024!
PFD = 1 10 4 j (1 10 4 )1024 j
j = 0 (1024 j )! j!

= 1 0,902664 0,092442 0,004729 0,000161


= 4 10 6

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 59


Desempenho dos Cdigos de Bloco
 Hard-Decision
 Limitante Superior da Probabilidade de Erro
n j n
n t
PH p (1 p) n j = 1 p j (1 p ) n j
j =t +1 j =0
j j

 A igualdade ocorre para cdigos perfeitos.

 Limitante Inferior da Probabilidade de Erro


t +1
n
PH 1 p j (1 p ) n j
j =0
j

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 60


Desempenho dos Cdigos de Bloco
 Correo de Erros (hard-decision)
d min 1
Capacidade de Correo de Erros: t =
2


 Probabilidade de Erro na Decodificao


n j n
n t
PE p (1 p ) n j = 1 p j (1 p ) n j
j =t +1 j =0
j j

 A igualdade ocorre para cdigos perfeitos


 Probabilidade de Erro de Bit
d min
PB PE
n
UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 61
Desempenho dos Cdigos de Bloco
 Ex.: Um sistema de transmisso digital emprega o
cdigo de Golay (n = 23, k = 12, dmin = 7) e tem uma
relao sinal-rudo por bit igual a 9,5 dB. Determine as
seguintes probabilidades:
a) Taxa de erro do canal (sada do canal, antes de decodificar)
Eb E 12
= 109,5 /10 = 8,91 x = b rc = 8,91 = 4,65
N0 N0 23

e x
1
p = erfc x
2
( ) 4 x
( x > 1)

e 4, 65
p = 1,110 3
4 4,65

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 62


Desempenho dos Cdigos de Bloco
b) Probabilidade de falha na deteco de erro no bloco
23 j
6
PFD = 1 ( p ) (1 p ) 23 j = 2,2 10 16
j =0
j

c) Probabilidade de erro na decodificao do bloco


t = (7 1) 2 = 3
23 j
3
PE = 1 ( p ) (1 p )
23 j
= 1,3 10 8
j =0
j
d) Probabilidade mdia de erro de bit
7
PB = 1,3 10 8 = 3,9 10 9
23
UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 63
Desempenho dos Cdigos de Bloco
 Soft-Decision
 Probabilidade de confundir duas palavras-cdigo
1 Eb 1 Eb

P2 (m) = erfc
rc wm erfc rc d min
2 N0 2 N0
 wm peso de hamming da palavra-cdigo

 Limitante superior da probabilidade de erro (limitante


da unio)
M
M 1 Eb
PS P2 (m) erfc rc d min
m=2 2 N0
 M = 2k nmero de palavras do cdigo

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 64


Desempenho dos Cdigos de Bloco
 Ganho de Codificao
PS < 12 ( 2 k 1) e rc d min Eb N 0 < 12 e (rc d min Eb N 0 k ln 2 )

( )
erfc x < e x
PNC < 12 e Eb N 0 (no codificado)

rc d min Eb N 0 k ln 2 k ln 2
Gc = = rc d min
Eb N 0 Eb N 0
G = lim Gc = rc d min
Eb N 0

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 65


Desempenho dos Cdigos de Bloco
 Ex.: Cdigo de Golay (n = 23, k = 12, t = 3)
0.1

0.01

3 No codificado
1 10
Decodificao

4 Hard-decision
1 10
Prob. de Erro de Decodifica

5 Soft-decision
1 10

1 10
6 G = 10 log(rc d min )
7 12
1 10 = 10 log 7 = 5,6 dB
8
23
1 10

9
1 10
10
1 10

11 2 dB
1 10
12
1 10
0 2 4 6 8 10 12 14
G 5,6 dB
SNR/bit, dB

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 66


Cdigos Convolucionais

 Os cdigos de bloco requerem que todo o contedo da


mensagem seja armazenado em um buffer antes de ser
codificada.
 Os cdigos convolucionais operam serialmente e
permitem a codificao sem o armazenamento prvio de
todo o contedo da mensagem.
 Os cdigos convolucionais geram os bits de redundncia
por meio de operaes de convoluo mdulo 2.

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 67


Cdigos Convolucionais
 O codificador convolucional implementado utilizando
registradores de deslocamento de m estgios.

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 68


Cdigos Convolucionais
 Cdigos Convolucionais (n, k, m)
 A cada ciclo de codificao, k bits de mensagem
geram n bits de sada.
 As m mensagens de k bits mais recentes permanecem
armazenadas.
 Os n bits de sada so obtidos atravs de combina-
es lineares dos km bits armazenados.
 Comprimento de restrio (constraint length):
 Nmero de deslocamentos que os k bits de entrada
influenciam a sada do codificador.
 K=m+1

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 69


Cdigos Convolucionais
 Taxa de Codificao Efetiva
 Na prtica, km zeros so adicionados ao final da sequncia
de entrada para esvaziar o codificador.
 Assim, kL bits de mensagem produzem n(L + m) bits de
sada.
 Logo, a taxa de codificao efetiva dada por
kL
rc =
n( L + m)

 Taxa de Codificao Nominal (L >> m)


k
rc
n

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 70


Cdigos Convolucionais
 Ex.: Cdigo convolucional (k = 2, n = 3, m = 1)
K = 2, rc = 2/3

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 71


Cdigos Convolucionais
 Polinmios Geradores
 Resposta ao impulso das sadas:
g (i ) ( D) = g 0(i ) + g1(i ) D + g 2(i ) D 2 + L + g m(i ) D m

 A varivel D representa um atraso unitrio.


 gj(i) so os coeficientes binrios que indicam se a sada i est
conectada ao caminho de atraso j.
 O codificador completo descrito pelo conjunto de
polinmios geradores {g(1)(D), g(2)(D),, g(n)(D)}.

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 72


Cdigos Convolucionais
 Ex.: Cdigo convolucional (K = 3, rc = 1/2)
 Polinmios geradores

g (1) ( D) = 1 + D + D 2
( 2)
g ( D) = 1 + D 2

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 73


Cdigos Convolucionais
 Codificao
m = (10011
123 ) m ( D ) = 1 + D 3
+ D 4

L =5 bits

c (1) ( D) = g (1) ( D) m( D)

= (1 + D + D 2 )(1 + D 3 + D 4 )
= 1 + D + D 2 + D3 + D6

( 2) ( 2) c = (11
1
,10,11,11, 01, 01,11)
44424443
c ( D ) = g ( D ) m( D ) n ( L + m ) =14 bits
= (1 + D 2 )(1 + D 3 + D 4 )

= 1 + D 2 + D 3 + D 4 + D 5 + D 6

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 74


Cdigos Convolucionais
 rvore do Cdigo

m = (10011)

c = (11,10,11,11, 01, 01,11)

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 75


Cdigos Convolucionais
 Diagrama em Trelia

m = (10011) c = (11,10,11,11, 01, 01,11)

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 76


Cdigos Convolucionais
 Diagrama de Estados

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 77


Decodificao de Mxima Verossimilhana
 Funo de Verossimilhana (Likelihood)
N
p (r | c) = p (ri | ci ), onde r = c + w
i =1
N
log p (r | c) = log p (ri | ci )
i =1
i=

 Decodificao de Mxima Verossimilhana (soft-decision)


c = max p (r | c)
cC

 Decodificao de Distncia Mnima (hard-decision)


c = max p (r | c)
cC

= max log fW (r | c)
cC

= min d (r,c)
cC

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 78


Decodificao de Mxima Verossimilhana

 Ex.: Canal AWGN (r = c + w)


1 r c
fW (r c) = exp

2(2 N / 2
) 2 2

log fW (r c) d (r, c) = r c

 Ex.: Canal BSC (r = c w)


f (r c) = p wH (r c ) (1 p ) N wH (r c )
log f (r c) d H (r, c) = wH (r c)

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 79


Decodificao de Cdigos Convolucionais

 Mtodo de Decodificao de Viterbi


 Tcnica de decodificao de mxima verossimilhana.
 O nmero de ns a cada nvel da trelia no excede
2K-1, onde K = m + 1 o constraint length do cdigo.
 O algoritmo opera computando uma mtrica de
discrepncia em cada possvel trajetria na trelia.
 O trajeto de menor mtrica (sobrevivente)
armazenado a cada nvel j da trelia, K j L.
 Segue o caminho de distncia mnima na trelia.

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 80


Decodificao de Cdigos Convolucionais

 Algoritmo de Viterbi
 Inicializao
 Identifique o estado inicial da trelia como o estado todo
zero no nvel 0 (estado 0).
 Calcule a mtrica de todos os trajetos comeando do nvel 0
at o nvel j = m da trelia.

 Cmputo do nvel j + 1 > m.


 Para todos os ns do nvel j, adicione as mtricas dos ramos
que se conectam com os estados nvel j + 1.
 Para cada estado, identifique e armazene apenas o trajeto
com a menor mtrica, isto , o caminho sobrevivente.

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 81


Decodificao de Cdigos Convolucionais

 Algoritmo de Viterbi
 Finalizao
 O processo de decodificao termina quando o estado todo
zero alcanado.
 A sequncia de sada (mxima verossimilhana) o trajeto
de menor mtrica (distncia).
 Caso a sequncia seja muito longa, o espao de armazena-
mento torna-se proibitivo. Neste caso, a deciso tomada
aps uma janela de decodificao de l bits. Tipicamente,
l 5K.

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 82


Decodificao de Cdigos Convolucionais

 Ex.: Decodificao correta da sequncia toda zero


r = (0100010000...) 2 erros

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 83


Decodificao de Cdigos Convolucionais

 Ex.: r = (0100010000...) 2 erros (continuao)

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 84


Decodificao de Cdigos Convolucionais

 Ex.: Decodificao incorreta da sequncia toda zero


r = (1100010000...) 3 erros

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 85


Decodificao de Cdigos Convolucionais

 Ex.: r = (1100010000...) 3 erros (continuao)

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 86


Desempenho de Cdigos Convolucionais

 Distncia Livre (dfree)


 Menor distncia de Hamming entre duas seqncias
do cdigo.
 Capacidade de correo de t erros, se e somente se:
d free 2t

 A distncia livre de um cdigo convolucional pode ser


obtida a partir do diagrama de estados modificado do
codificador.

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 87


Desempenho de Cdigos Convolucionais

 Funo de Transferncia
(10)
b = D La0 + Lc
2


c = DLb + DLd D 5 L3
T ( D, L ) =
d = DLb + DLd 1 DL(1 + L)
a1 = D 2 Lc
(01) (01)

(10)

 Determinao de dfree (11)


(00)
(11)

D5
T ( D,1) = D5 + 2D6 + 4D7 + L
= {
1 2 D d free =5

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 88


Desempenho de Cdigos Convolucionais

 Distncia Livre Mxima (r = 1/2)


Constraint Cdigo Cdigo No
Length K Sistemtico Sistemtico
2 3 3
3 4 5
4 4 6
5 5 7
6 6 8
7 6 10
8 7 10

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 89


Desempenho de Cdigos Convolucionais

 Ganho de Codificao Assinttico


d free rc
 Hard-Decision: GaH =
2 S H
Ga (dB) Ga (dB) = 3 dB

 Soft-Decision: GaS = d free rc

 Probabilidade de Erro (sinalizao binria)


1 Eb
Pb erfc Ga
2 N0

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 90


Desempenho de Cdigos Convolucionais

 Ex.: Cdigo Convolucional (K = 7, dfree = 10, rc = 1/2)


3
1 10

4 No codificado
1 10
Decodificao
Prob. de Erro de Decodifica

Hard-decision
5
1 10
Ga = 10 log(rc d free )
1
6
Soft-decision = 10 log 10 = 7 dB
1 10 2

3 dB
7
1 10

Ga = 7 dB
8
1 10
0 2 4 6 8 10 12

SNR/bit, dB

UFF - Engenharia de Telecomunicaes Prof. Jos Santo G. Panaro 91

Вам также может понравиться