Você está na página 1de 88

TEORIA DA INFORMAO E CODIFICAO

Notas de Apoio












Vitor Manuel Mendes da Silva

Vitor Silva, TIC 1

DEEC-FCTUC
Elementos de Teoria da Informao


Algumas notas histricas

O grande desenvolvimento da teoria da informao foi devido s
contribuies fundamentais de C. E. Shannon e N. Wiener em 1948, e em
particular, publicao do artigo: The Mathematical Theory of
Communication, C. E. Shannon, Bell System Tech. Jour., vol. 27, 1948.

Outros matemticos contriburam decisivamente para o desenvolvimento da
teoria da informao, nomeadamente, McMillan, Feinstein, Khinchin e
Wolfowitz.

A teoria da informao nasceu nos Bell Telephone Laboratories com as
contribuies de Hamming, Shannon, Wiener e Huffman.


O que a informao?

A ideia fundamental descrever o conceito informao de uma forma
quantificvel. Uma vez conseguido este objectivo, podemos por exemplo:

Examinar as caractersticas das fontes de informao, dos canais de
comunicao, dos receptores, etc.
Optimizar a transmisso de informao (cdigos de compresso).
Melhorar a qualidade da transmisso (cdigos de correco de erros).

Considere um sistema para transmitir o estado do tempo. Suponha que
classificamos o tempo da seguinte forma: limpo, nublado, chuvoso e nevoeiro.
Definimos informao como a quantidade de incerteza que o receptor tem
cerca da mensagem que est a receber. Por exemplo, suponha que o receptor
conhece as seguintes probabilidades para o estado do tempo:

Estado do tempo Probabilidade
Limpo 0.65
Nublado 0.20
Chuvoso 0.10
Nevoeiro 0.05

Vitor Silva, TIC 2

DEEC-FCTUC
Uma vez que o tempo est quase sempre limpo, ao dizermos que ele est limpo
transmitimos pouca informao. Por outro lado, ao dizermos que ele est com
nevoeiro, trata-se de uma situao pouco frequente, e portanto, transmitimos
muita informao.

NOTA
A teoria da informao estuda unicamente os aspectos ligados transmisso e
no os aspectos semnticos da informao. Por outras palavras, no estamos
interessados na veracidade ou no significado das mensagens, mas sim, na sua
quantificao.

Esta definio de informao pode ser examinada considerando a codificao e
a transmisso do estado do tempo. De acordo com as probabilidades conhecidas,
uma sequncia tpica de transmisso diria ser:

limpo limpo limpo limpo limpo nublado nublado chuvoso limpo

Se usarmos o seguinte cdigo binrio para codificar as mensagens:

Estado do tempo Cdigo
Limpo 00
Nublado 01
Chuvoso 10
Nevoeiro 11

a mensagem acima referida codificada da seguinte forma: 00 00 00 00 00 01
01 10 00, ou seja, o nmero de bits necessrios para a transmitir so 18.

Poderemos reduzir este nmero? Experimente o seguinte cdigo:


Estado do tempo Cdigo
Limpo 0
Nublado 1
Chuvoso 00
Nevoeiro 11


Vitor Silva, TIC 3

DEEC-FCTUC
Portanto, a mensagem anterior : 0 0 0 0 0 1 1 00 0, cujo comprimento so 10
bits.

Em concluso, podemos dizer que o nmero de bits que formam a mensagem
segue uma relao do tipo:
ade probabilid
1



Informao prpria e informao mdia (entropia)






Uma fonte de informao emite uma sequncia de smbolos pertencentes a um
alfabeto fonte formado por q smbolos distintos e fixo:
{ }
q
s s s S , , ,
2 1
K =


por exemplo, dgitos: { } 9 , 8 , 7 , 6 , 5 , 4 , 3 , 2 , 1 , 0 = S .

Vamos inicialmente considerar que os smbolos emitidos pela fonte so
estatisticamente independentes entre si, isto , que estamos na presena de uma
fonte sem memria. Neste caso, a fonte fica completamente descrita pelo seu
alfabeto S e pelas probabilidades de ocorrncia dos smbolos do alfabeto fonte:

{ } ) ( , ), ( ), (
2 1 q
s p s p s p K

Note que:
=
=
q
i
i
s p
1
1 ) (


Informao prpria

A ocorrncia do smbolo s
i
significa a gerao de
) (
1
log ) (
2
i
i
s p
s I =
bits
de informao ou informao prpria.




s
i
s
j
.
Fonte de
informao

Vitor Silva, TIC 4

DEEC-FCTUC
Porqu a utilizao de logaritmos?

Podemos facilmente ver a razo no caso de acontecimentos equiprovveis. Por
exemplo, se o nmero de smbolos que constituem o alfabeto M, ento o
nmero de bits, N, necessrios para representar todos os M smbolos :
N
M 2 =

M N
2
log =
bits
No caso de smbolos equiprovveis:
M
s p
i
1
) ( =
, ou seja, so necessrios
) (
1
log
2
i
s p
N =
bits
para representar cada smbolo, s
i
.


Exemplo
Considere
{ } 1 , 0 = S com probabilidade de ocorrncia,
2
1
) 1 ( ) 0 ( = = p p
. Ento,
1
2 1
1
log ) 1 ( ) 0 (
2
= = = I I
bit!

Outras unidades

) (
1
ln ) (
i
i
s p
s I =
nats (base e)

) (
1
log ) (
10
i
i
s p
s I =
Hartleys (base 10)

Normalmente utilizamos a base 2.

Um parmetro muito importante de um alfabeto fonte a sua informao mdia,
que calculada da seguinte forma:

Cada smbolo s
i
ocorre com a probabilidade
) (
i
s p
e fornece
) (
i
s I
bits
de informao. A quantidade mdia de informao fornecida por
smbolo da fonte :

S
i i
s I s p ) ( ) (
bits
e portanto:

Vitor Silva, TIC 5

DEEC-FCTUC

Entropia

A informao mdia ou entropia, H(S), de uma fonte S :

=
S
i
i
s p
s p S H
) (
1
log ) ( ) (
bits

Notas

1. A partir deste momento assumimos que log significa base 2, e portanto,
podemos omitir a base.
2. O termo entropia teve origem na termodinmica.
3. H significa entropia; I significa informao.


Exemplo
Considere uma fonte
{ }
3 2 1
, , s s s S =
com
2
1
) (
1
= s p
e
4
1
) ( ) (
3 2
= = s p s p
. A
entropia desta fonte :
bits
2
3
4 log
4
1
4 log
4
1
2 log
2
1
) ( = + + = s H


Estudo de algumas propriedades da entropia

Uma vez que j definimos o conceito de entropia podemos ento colocar as
seguintes questes:

Como varia a entropia com
) (
i
s p
?
Existe uma distribuio de probabilidades
) (
i
s p
para a qual a entropia
mxima?

A partir da anlise da expresso da entropia podemos concluir o seguinte:


) (
i
s p
pequeno informao prpria grande mas pequena contribuio
para H(S).

) (
i
s p
grande informao prpria pequena mas grande contribuio
para H(S).




Vitor Silva, TIC 6

DEEC-FCTUC
Entropia mnima

Da equao (1) se um smbolo s
a
tem probabilidade
1 ) ( =
a
s p
, ento a entropia
da fonte :

+ =
a i
s s
S H
0
1
log 0
1
1
log 1 ) (

Sabemos que:
0
) (
1
log ) ( lim
0 ) (
=

i
i
s p
s p
s p
i

portanto:

Resultado 1

0 ) ( S H , verificando-se a igualdade quando um smbolo s
a
tem probabilidade
1 ) ( =
a
s p
.

Este resultado no de surpreender uma vez que ao sabermos de antemo que
um smbolo ocorre sempre, isto , 1 ) ( =
a
s p , ao emitirmos um novo smbolo
no transmitimos qualquer informao.


Entropia mxima

Comeamos por considerar a seguinte desigualdade:

0 , 1 ) ln( > x x x .

Agora vamos considerar o clculo de ) log( ) ( q S H :


=
= =
|
|

\
|
=
+ = =
q
i
i
i
q
i
q
i
i i i i
q p
p
q p p q p p q S H
1
1 1
1
log
) ) log( ) (log( ) log( ) log( ) log( ) (


A partir da desigualdade anterior podemos escrever o seguinte:

) log( ) 1 (
) 2 ln(
) ln(
) 1 (
) 2 ln(
) ln(
) log( e x
e
x
x
x = =


Vitor Silva, TIC 7

DEEC-FCTUC
Usando a desigualdade anterior chegamos a:

1 1 1
1 1
( ) log( ) 1 log( ) log( )
1
1 log( ) 0
q q q
i i
i i i
i
H S q p e p e
p q q
q e
q
= = =
| | | |
=
| |
\ \
| |
= =
|
\



o que prova que q S H log ) ( .

Resultado 2

q S H log ) ( , para um alfabeto fonte com q smbolos, atingindo um mximo de
q S H log ) ( = quando
i
q
s p
i
= ,
1
) (
, isto , a entropia mxima quando todos
os smbolos so equiprovveis.

O resultado 2 diz-nos o seguinte:

1. O mximo valor de H(S) q log , onde q o nmero de smbolos do alfabeto
fonte.
2. O mximo valor de H(S) obtido quando todos os
q
p
i
1
=
, isto , quando
todos os smbolos da fonte so equiprovveis.

Um importante exemplo a considerar a fonte binria sem memria. Neste caso,
{ } 1 , 0 = S e as probabilidades dos smbolos so designadas por:

p p = ) 0 ( p p = 1 ) 1 (
A entropia desta fonte :

p
p
p
p S H

+ =
1
1
log ) 1 (
1
log ) (


onde H(S) uma funo de p. Na figura seguinte ilustramos o seu
comportamento.

Vitor Silva, TIC 8

DEEC-FCTUC
0 0.5
p
1
H(p)
1

Figura 1. Entropia de uma fonte binria sem memria.


Entropia conjunta e condicional

Da mesma forma que definimos probabilidade conjunta e condicional, podemos
tambm definir tipos similares de entropia.

Entropia conjunta

A entropia conjunta usada quando consideramos a extenso de uma fonte de
informao. Para isso, vamos considerar o caso mais comum de uma fonte de
dois smbolos. Os dois smbolos podem pertencer ao mesmo alfabeto fonte ou a
alfabetos diferentes:
{ } m k s S
k
, , 2 , 1 ,
1 1
K = = e
{ } n l s S
l
, , 2 , 1 ,
2 2
K = =

A entropia quando a sada formada por dois smbolos
2 1
,
l k
s s calculada
similarmente equao (1), ressalvando que todos os possveis smbolos so
considerados:

Entropia conjunta

) , (
1
log ) , ( ) , (
2 1
2 1
1 1
2 1
l k
l k
m
k
n
l
s s p
s s p S S H

= =
=



Vitor Silva, TIC 9

DEEC-FCTUC
Exemplo

Considere duas fontes binrias, { } 1 , 0
1
= S com 2 1 ) 1 ( ) 0 ( = = p p e { } 1 , 0
2
= S
com 3 1 ) 0 ( = p e 3 2 ) 1 ( = p . Assuma tambm que os acontecimentos so
independentes, isto , ) ( ) ( ) , (
2 1 2 1 l k l k
s p s p s s p = . Ento,

bits/par 9193 . 1 3 log
6
2
6 log
6
1
3 log
6
2
6 log
6
1
) , (
2 1
= + + + = S S H


Entropia condicional

Este tipo de entropia muito importante quando consideramos o estudo de
canais de comunicao, onde procuramos encontrar a sada y
i
quando a entrada
foi x
i
. Tambm importante no estudo de fontes de informao com memria,
por exemplo, as fontes de Markov.

Considere duas fontes de alfabetos S
1
e S
2
onde S
1
ocorre em primeiro lugar
seguido de S
2
e onde S
2
depende de S
1
, ou seja, temos probabilidades do tipo:

2 1
( / )
j j
p s s

isto , a probabilidade de emitir o smbolo s
j2
sabendo que o smbolo s
j1
o
precedeu.

Teorema de Bayes
) (
) , (
) / (
1
1 2
1 2
j
j j
j j
s p
s s p
s s p =


Note que para acontecimentos independentes temos:

) (
) (
) ( ) (
) / (
2
1
1 2
1 2 j
j
j j
j j
s p
s p
s p s p
s s p = =

Sabemos que:

=
=
m
l
k l
s s p
1
1 2
1 ) / (

e
) / (
1
log ) / (
1 2
1 2
k l
k l
s s p
s s I =



Vitor Silva, TIC 10

DEEC-FCTUC
A entropia para o smbolo s
l2
dado s
k1
que o precedeu :

=
=
m
l
k l
k l k
s s p
s s p s S H
1
1 2
1 2 1 2
) / (
1
log ) / ( ) / (


Se agora calcularmos a mdia de ) / (
1 2 k
s S H para todos os possveis s
k1

smbolos, vamos obter a entropia condicional mdia:

= =
=
=
=
n
k
m
l
k l
k l k
n
k
k k
s s p
s s p s p
s S H s p S S H
1 1
1 2
1 2 1
1
1 2 1 1 2
) / (
1
log ) / ( ) (
) / ( ) ( ) / (


Finalmente:

Entropia condicional

= =
=
m
k
n
l
k l
k l
s s p
s s p S S H
1 1
1 2
1 2 1 2
) / (
1
log ) , ( ) / (



Fontes de informao com memria

Fontes de informao sem memria produzem smbolos cujas probabilidades de
ocorrncia so independentes dos smbolos precedentes:

{ } { }
q
s s s S , , ,
2 1
K =

) ( , ), ( ), (
2 1 q
s p s p s p K


Na prtica as fontes de informao tm memria. Um exemplo clssico a
linguagem escrita. Considere uma fonte que transmite sequncias de letras que
representam uma mensagem inteligvel em portugus:

Mensagem recebida at agora: tu
As duas letras precedentes foram : t e u
Qual a probabilidade da prxima letra?

E se a mensagem recebida fosse: me
As probabilidades seriam diferentes?

Vitor Silva, TIC 11

DEEC-FCTUC
Concluso: A probabilidade do prximo smbolo depende dos smbolos
precedentes.

Fontes de Markov

descrita por um conjunto de probabilidades condicionais (as probabilidades
dos smbolos fonte so agora condicionadas pelo que aconteceu anteriormente).

Fonte de Markov de ordem m

) / ( ) , , / (
2 1
m
i jm j j i
S s p s s s s p = K


para q jp i , , 2 , 1 ) , ( K = e m p , , 2 , 1 K = , onde s
i
e s
jq
so smbolos do mesmo
alfabeto fonte e S
m
representa o estado actual.

Para uma fonte de Markov de ordem m, a probabilidade de emitir um dado
smbolo depende dos m smbolos precedentes. Os valores dos m smbolos
precedentes designam o estado de uma fonte de Markov. Um alfabeto fonte
formado por q smbolos e uma fonte de Markov de ordem m, definem um
conjunto de q
m
estados possveis. medida que os smbolos so emitidos vamos
mudando de estado. Geralmente este comportamento ilustrado custa de um
diagrama de estados.

Fontes de Markov ergdicas ou estacionrias

Uma importante classe de fontes de Markov so as fontes ergdicas. Uma fonte
de Markov ergdica tem a particularidade de que se fosse observada durante um
longo perodo de tempo, poderamos identificar a emisso de uma sequncia
tpica de smbolos. A maioria das fontes de Markov utilizadas so ergdicas.

Uma definio mais prtica:

Fonte de Markov ergdica

Uma fonte de Markov ergdica se, aps um conjunto finito de passos
(mudanas de estado), possvel irmos de um qualquer estado para outro com
probabilidade no nula.

Uma propriedade importante das fontes de Markov ergdicas que a
distribuio de probabilidades pelos diferentes estados independente do estado
inicial de distribuio e tende para uma distribuio nica (distribuio
estacionria) para sequncias longas.

Vitor Silva, TIC 12

DEEC-FCTUC
Para obtermos esta distribuio estacionria, vamos definir uma matriz de
probabilidades de transio [P] a partir do diagrama de estados da fonte de
Markov com as seguintes propriedades:

1. A matriz [P] d-nos para uma fonte de Markov de ordem m, a probabilidade
de emitir o smbolo s
i
a partir do estado
jm j j
s s s K
2 1
, e por consequncia,
transitar para o estado
i jm j j
s s s s K
3 2
. A dimenso da matriz [P] n n onde
m
q n = (nmero de estados possveis). O elemento (j,i) da matriz d-nos a
probabilidade ) / (
j i
S S P , ou seja, a probabilidade de transitar do estado S
j

para o estado S
i
.

2. A soma dos elementos de uma linha de [P] 1.

3. Se transitamos do estado S
i
para o estado S
j
custa de k transies (emisso
de k smbolos), podemos mostrar que a matriz de probabilidades de transio
[ ] [ ]
k k
P P = .

A distribuio estacionria de uma fonte ergdica, [ ] [ ]
k
P T = , ocorre quando k
tende para infinito. Podemos mostrar que as linhas de [T] so idnticas:

[ ] [ ] [ ]
) (
2 1
2 1
2 1
lim lim
n n
n
n
n
k
k
k
k
t t t
t t t
t t t
T P P


(
(
(
(

= = =
L
M L M M
L
L


[T] a matriz de distribuio estacionria, ou unicamente, [ ]
n
t t t L
2 1
,
onde ) / (
j i
i
S S P t = a probabilidade de atingir o estado S
i
a partir de qualquer
estado em k transies (k grande).

Para obtermos [T] basta recorrer definio [ ] [ ]
k k
P P =
+1
para k elevado, isto :

[ ] [ ] [ ] T P T =

Para obtermos um conjunto de equaes que nos permita encontrar [T], vamos
transpor a equao matricial anterior:

[ ][ ] ( ) [ ] [ ] [ ]
T T T T
T P T P T = =
onde

Vitor Silva, TIC 13

DEEC-FCTUC
[ ]
) (
2 2 2
1 1 1
n n
n n n
T
t t t
t t t
t t t
T

(
(
(
(

=
L
M L M M
L
L
,
isto , as colunas de [T]
T
so idnticas o que significa que s precisamos de
resolver o problema para uma coluna.

Para obtermos a distribuio estacionria temos que resolver o seguinte
sistema de equaes:

[ ]
(
(
(
(

=
(
(
(
(

n n
T
t
t
t
t
t
t
P
M M
2
1
2
1

sujeito restrio: 1
2 1
= + + +
n
t t t L


Entropia de uma fonte de Markov

Se nos encontramos no estado
) , , , (
2 1 jm j j
s s s K
de uma fonte de Markov de
ordem m, ento a probabilidade condicional de emitirmos o smbolo s
i

) , , , / (
2 1 jm j j i
s s s s p K
. A informao associada emisso do smbolo s
i
a partir
do estado
jm j j
m
s s s S K , ,
2 1
=
:
) / (
1
log ) / (
m
i
m
i
S s p
S s I =

A mdia de ) / (
m
i
S s I para todos os possveis s
i
a entropia:

=
=
q
i
m
i
m
i
m
S s I S s p S S H
1
) / ( ) / ( ) / (


Se depois calcularmos a mdia de ) / (
m
S S H para todos os q
m
estados, vamos
obter a entropia de um modelo de Markov de ordem m.


Vitor Silva, TIC 14

DEEC-FCTUC

=
=
=
=
=
m
m
m
S
q
i
m
i
m
i
m
S
q
i
m
i
m
i
m
S
m m
S s p
S s p S p
S s p
S s p S p
S S H S p S H
1
1
) / (
1
log ) / ( ) (
) / (
1
log ) / ( ) (
) / ( ) ( ) (

Note que
=
+
=
m m
S
q
i S 1
1
(soma de todas as 1 + m sequncias) e
) , , , , ( ) / ( ) (
2 1 i jm j j
m
i
m
s s s s p S s p S p K =



Entropia de uma fonte de Markov de ordem m

+
=
1 ) , , , / (
1
log ) , , , ( ) (
2 1
2 1
m
S jm j j i
jm j j
s s s s p
s s s p S H
K
K



Fonte adjunta

Uma fonte de informao S foi definida como tendo a capacidade de emitir uma
sequncia de smbolos, s
i
, pertencentes a um alfabeto fonte fixo e limitado a q
smbolos distintos,
{ }
q
s s s , , ,
2 1
K
. Uma fonte de informao sem memria
assume que os smbolos so emitidos independentemente entre si. Para este caso
um modelo probabilstico adequado foi desenvolvido. Uma fonte de Markov de
ordem m define um modelo probabilstico diferente para o mesmo alfabeto, pois
assume que o prximo smbolo a emitir depende dos m smbolos emitidos
anteriormente. Como podemos comparar estes dois modelos de fonte?. Uma vez
que a fonte de Markov de ordem m uma evoluo ou melhoramento de uma
fonte sem memria, estamos interessados em encontrar uma fonte sem memria
equivalente fonte de Markov. Esta fonte designada por adjunta de S ou S .

A fonte adjunta S simplesmente uma fonte sem memria, com o mesmo
alfabeto fonte de S e cujas probabilidades dos smbolos ) (
i
s p so dadas por:

=
m
S
m m
i i
S p S s p s p ) ( ) / ( ) (




Vitor Silva, TIC 15

DEEC-FCTUC
Uma relao importante que podemos provar formalmente ou intuitivamente :


Relao importante entre uma fonte de Markov de ordem m, S, e a sua
adjunta S :
) ( ) ( S H S H
com igualdade no caso dos smbolos serem estatisticamente independentes.


Extenso de fontes de informao sem memria

Em alguns casos mais conveniente lidar com blocos de smbolos do que com
smbolos individuais.


Extenso de ordem n de uma fonte sem memria

Considere uma fonte de informao sem memria S com alfabeto fonte
{ }
q
s s s , , ,
2 1
K
e probabilidade de smbolo s
i
,
i i
p s p = ) ( . A extenso de ordem n
de S, S
n
, uma fonte sem memria com q
n
smbolos
{ }
n
q
, , ,
2 1
K
. Cada
smbolo
i
corresponde a uma sequncia de n smbolos s
i
. A probabilidade do
smbolo
i
, p(
i
), no mais do que a probabilidade da correspondente
sequncia de smbolos s
i
. Isto , se
i
corresponde a ) , , , (
2 1 in i i
s s s K , ento
in i i i
p p p p L
2 1
) ( = .


Que podemos dizer sobre ) (
n
S H ?



+ + + =
=
=
n n n
n
n
S in
i
S i
i
S i
i
S in i i
i
S i
i
n
p
p
p
p
p
p
p p p
p
p
p S H
1
log ) (
1
log ) (
1
log ) (
1
log ) (
) (
1
log ) ( ) (
2 1
2 1

L
K





Vitor Silva, TIC 16

DEEC-FCTUC
Convm notar que:

1
) (
1 1 1
2 1
1 1 1 1
12 1
12 1
1 2
=
=
=
=



= = =
= = = =
q
i
q
i
q
i
in i i
q
i
q
i
q
i
q
i
in i
S
in i
S
i
n
n n
p p p
p p p
p p p p
L
K L
K


Agora considere o termo j da equao ( )
n
H S :




=
= = =
= = =
=
=
q
ij S
i
i
ij
ij
q
i
q
in
in i
q
ij
ij
ij
S ij
in i i
ij S
i
S H
p
p
p
p
p p
p
p
p
p p p
p
p
n n
1
1
1 1 1
1
1
2 1
) (
1
log
1
log
1
log
1
log
1
log ) (
4 4 3 4 4 2 1
K
K


Repetindo o processo para todos os restantes termos, vamos obter o importante
resultado:


Entropia da extenso de ordem n de uma fonte sem memria

) ( ) ( S nH S H
n
=

Vitor Silva, TIC DEEC-FCTUC 17
Canais de Informao


Introduo e definio

Nos captulos anteriores desenvolvemos o conceito de fonte de informao. A
partir deste momento, passamos tambm a concentrar a nossa ateno nos meios
de transferir a informao: os canais de informao.


Canal de informao

Um canal de informao descrito por um dado alfabeto de entrada
{ } r i a A
i
, , 2 , 1 , K = = ; por um dado alfabeto de sada
{ } s j b B
j
, , 2 , 1 , K = =
; e
por um conjunto de probabilidades condicionais
) / (
i j
a b p
para todo i e j.
) / (
i j
a b p
a probabilidade de receber o smbolo b
j
quando a entrada foi o
smbolo a
i
.


Graficamente representamos um canal de informao da seguinte forma:

B
b a
a b p
b a
b a
A
s r
i j

M M ) / (
2 2
1 1


Notas

1. O alfabeto de entrada {a
i
} representa os smbolos transmitidos para o canal.

2. O alfabeto de sada {b
j
} representa os smbolos recebidos do canal.

3. Usualmente os smbolos recebidos e transmitidos so os mesmos. No
entanto, este modelo de canal tambm modela a introduo de rudo que se
manifesta: na troca dos smbolos recebidos ou mesmo na introduo de
novos smbolos; na alterao do contedo de informao da mensagem
transmitida. Sendo assim, generalizamos considerando alfabetos de entrada e
de sada separados.


Vitor Silva, TIC DEEC-FCTUC 18
Matriz do canal de informao

4 4 4 4 4 4 4 8 4 4 4 4 4 4 4 7 6
L
M M M
L
L
M
Sada
2 1
2 2 2 2 1
1 1 2 1 1
2 1
2
1
) / ( ) / ( ) / (
) / ( ) / ( ) / (
) / ( ) / ( ) / (

Entrada
(
(
(
(

r s r r
s
s
s
r
a b p a b p a b p
a b p a b p a b p
a b p a b p a b p
b b b
a
a
a


De forma a simplificar, vamos mudar de notao para
ji i j
p a b p = ) / (
e definir a
matriz do canal P como:
(
(
(
(

=
rs r r
s
s
p p p
p p p
p p p
P
L
M M M
L
L
2 1
2 22 21
1 12 11


Propriedades da matriz P

1. Cada linha de P corresponde a uma entrada do canal.

2. Cada coluna de P corresponde a uma sada do canal.

3. Uma vez que ao enviar um a
i
devemos receber um qualquer b
j
ento:

=
= =
s
j
ij
r i p
1
, , 2 , 1 1 K


Geralmente representamos graficamente um canal da seguinte forma:

p
22
p
13
b
1

b
2
a
1
a
2
p
12
p
11
p
rs
p
21
a
r
b
s
b
1



Vitor Silva, TIC DEEC-FCTUC 19
Canais BSC e BEC

Canal binrio simtrico (BSC)

Unicamente dois smbolos binrios de entrada e de sada:
{ } { } { } 1 , 0 , ,
2 1 2 1
= = = b b B a a A

Simtricos porque as probabilidades de erro so iguais:
q a b p a b p = = ) / ( ) / (
1 2 2 1

0
BSC
1
0
1
q
p
p
q


A probabilidade de inexistncia de erro : q p =1 .

(

=
p q
q p
P
1 0
1
0


Canal binrio errneo (BEC)

Dois smbolos binrios de entrada: { } { } 1 , 0 ,
2 1
= = a a A . Trs smbolos de sada:
{ } { } 1 ?, , 0 , ,
3 2 1
= = b b b B , onde b
2
significa que no possvel tomar uma deciso
sobre se foi emitido 0 ou 1.
0
BEC
1
0
1
q
p
p
q
?

A probabilidade de inexistncia de erro p, e por conseguinte, a probabilidade
de erro : p q = 1 .
(

=
p q
q p
P
0
0
1 ? 0
1
0


Vitor Silva, TIC DEEC-FCTUC 20
Relaes de probabilidade

Considere um canal de informao com r smbolos de entrada, s smbolos de
sada e uma matriz de canal P. Seleccionamos os smbolos de entrada com
probabilidades { } ) ( , ), ( ), ( ) (
2 1 r
a p a p a p A p K = para serem transmitidos atravs
do canal. Na sada iro chegar pela mesma ordem de probabilidade:

{ } ) ( , ), ( ), ( ) (
2 1 s
b p b p b p B p K =
dados por:

=
= =
r
i
i i j j
s j a p a b p b p
1
, , 2 , 1 ), ( ) / ( ) ( K

isto , por exemplo:

) ( ) / ( ) ( ) / ( ) ( ) / ( ) (
1 2 2 1 1 1 1 1 r r
a p a b p a p a b p a p a b p b p + + + = L

A partir deste momento vamos assumir que conhecemos p(a
i
) e p(b
j
/a
i
), e
portanto, podemos calcular p(b
j
).


Notas

1. Conhecendo p(b
j
) e p(b
j
/a
i
) nem sempre possvel determinar p(a
i
) a partir da
inverso da equao (1).

2. Em princpio, existem muitas distribuies de probabilidade de entrada, p(A),
que podem originar a distribuio de sada, p(B). No entanto, se conhecermos
partida p(A), a distribuio de sada p(B) nica.

A partir da lei de Bayes podemos obter:

) (
) , (
) (
) ( ) / (
) / (
j
j i
j
i i j
j i
b p
b a p
b p
a p a b p
b a p = =


o que representa a probabilidade de o smbolo de entrada a
i
ter sido enviado,
sabendo que o smbolo recebido foi b
j
.

p(a
i
/b
j
) probabilidade para trs

p(b
j
/a
i
) probabilidade para a frente


Vitor Silva, TIC DEEC-FCTUC 21
Entropia priori e posteriori

p(b
j
) probabilidade de ocorrncia do smbolo de sada b
j
sem
conhecermos qual foi o smbolo enviado.

p(b
j
/a
i
) probabilidade de ocorrncia do smbolo de sada b
j
, sabendo que o
smbolo a
i
foi enviado.

p(a
i
) probabilidade de enviar o smbolo de entrada a
i
sem saber qual foi o
smbolo recebido.

p(a
i
/b
j
) probabilidade do smbolo de entrada a
i
ter sido enviado sabendo
que o smbolo b
j
foi recebido.

p(a
i
) so as probabilidades priori dos smbolos de entrada
(probabilidade antes da recepo de um smbolo de sada).

p(a
i
/b
j
) so as probabilidades posteriori dos smbolos de entrada
(probabilidade aps a recepo de um smbolo de sada).

Entropia priori de A

=
A
a p
a p A H
) (
1
log ) ( ) (



Entropia posteriori de A

=
A j
j j
b a p
b a p b A H
) / (
1
log ) / ( ) / (



Informao mtua

Considere um canal de informao com r smbolos de entrada e s para a sada (
{A} entrada; {B} sada).

A entropia do alfabeto de entrada dada por:

=
A
a p
a p A H
) (
1
log ) ( ) (


Vitor Silva, TIC DEEC-FCTUC 22
A entropia posteriori do alfabeto de entrada conhecido o smbolo de sada b
j
:

=
A j
j j
b a p
b a p b A H
) / (
1
log ) / ( ) / (


A equivocao de A em relao a B a mdia das entropias
posteriori:

= =
B AB
j j
b a p
b a p b A H b p B A H
) / (
1
log ) , ( ) / ( ) ( ) / (



Interpretao

H(A) informao mdia ou incerteza do alfabeto de entrada antes da
observao da sada do canal.

H(A/B) informao mdia ou incerteza do alfabeto de entrada aps a
observao da sada do canal.

H(A)H(A/B) informao mdia do alfabeto de entrada fornecida pelo canal.

Portanto, podemos definir informao mtua do canal como a informao que
este fornece sobre a entrada (por observao da sada do canal).


Informao mtua
) / ( ) ( ) ; ( B A H A H B A I =


Notas

1. I(A;B) representa a informao fornecida pelo canal sobre A. Se o canal no
introduz rudo, ento, ) ( ) ; ( A H B A I = . Se o canal introduz rudo, ento
esperamos que o canal reduza H(A) da quantidade de incerteza, H(A/B). Se o
canal totalmente ambguo, ento, ) ( ) / ( A H B A H = , e portanto,
0 ) ; ( = B A I .

2. H(A/B) um indicador do rudo no canal.


Vitor Silva, TIC DEEC-FCTUC 23
Dicas sobre probabilidades

Para combinar duas ou mais somas de probabilidades respeitantes a variveis
aleatrias diferentes, podemos usar uma forma de denominador comum:


=
=
=
AB
A B
B A A
a p
b a p
a p
a b p a p
a b p
a p
a p
a p
a p
) (
1
log ) , (
) (
1
log ) / ( ) (
) / (
) (
1
log ) (
) (
1
log ) (

uma vez que

=
B
a b p 1 ) / (
.


Uma expresso alternativa para I(A;B) pode ser obtida a partir de:



=
=
=
=
=
AB
AB
AB AB
A AB
b p a p
b a p
b a p
a p
b a p
b a p
b a p
b a p
a p
b a p
b a p
b a p
a p
a p
B A H A H B A I
) ( ) (
) , (
log ) , (
) (
) / (
log ) , (
) / (
1
log ) , (
) (
1
log ) , (
) / (
1
log ) , (
) (
1
log ) (
) / ( ) ( ) ; (


Sendo assim, podemos calcular I(A;B) da seguinte forma:



Informao mtua (expresso alternativa)


= =
AB AB
b p a p
b a p
b a p
a p
b a p
b a p B A I
) ( ) (
) , (
log ) , (
) (
) / (
log ) , ( ) ; (





Vitor Silva, TIC DEEC-FCTUC 24
O seguinte resultado pode ser verificado:

Resultado 1
0 ) ; ( B A I
verificando-se a igualdade no caso de ) ( ) ( ) , ( b p a p b a p = .

A condio de igualdade implica independncia entre A e B. Note tambm que a
expresso alternativa para I(A;B) simtrica em relao s variveis a
i
e b
j
, ou
seja, podemos escrever por troca das variveis a seguinte relao:

) ; ( ) ; ( A B I B A I =

Nota
A informao que o canal fornece sobre A por observao de B a mesma
informao que o canal fornece sobre B sabendo o que foi enviado em A.

Portanto, temos as seguintes expresses duais:

) / ( ) ( ) ; ( A B H B H A B I =
onde
=
B
b p
b p B H
) (
1
log ) ( ) (
e
=
AB
a b p
b a p A B H
) / (
1
log ) , ( ) / (
, ou seja,
H(B/A) a equivocao de B em relao a A.

Outras relaes entre entropias {H(A),H(B)}, equivocaes {H(A/B),H(B/A)},
entropia conjunta H(A,B) e informao mtua, I(A;B)=I(B;A) podem ser
obtidas a partir da figura seguinte:

I(A;B)
H(A;B)
H(A/B)
H(B/A)
H(B)
H(A)

Figura: Relao entre todas as entropias e informaes mtuas.

Vitor Silva, TIC DEEC-FCTUC 25
A partir da anlise da figura anterior podemos obter relaes adicionais sobre a
entropia conjunta:

) / ( ) ( ) / ( ) ( ) ; ( ) ( ) ( ) , ( B A H B H A B H A H B A I B H A H B A H + = + = + =

Finalmente, podemos enunciar uma importante relao:


A incerteza diminui quando conhecemos alguma coisa

) / ( ) ( e ) / ( ) ( A B H B H B A H A H


Para um canal BSC podemos mostrar que:

) : ( ) : ( ) / ( ) ( ) ; ( q x F q w wp x F A B H B H B A I + = =

onde w a probabilidade de transmitir um 0 e w w =1 a probabilidade de
transmitir um 1 e:
q
q
p
p q x F A B H
1
log
1
log ) : ( ) / ( + = =


p w wq
p w wq
q w wp
q w wp q w wp x F B H
+
+ +
+
+ = + =
1
log ) (
1
log ) ( ) : ( ) (


Canais sem rudo e canais deterministas


Canais sem rudo

Definio de um canal sem rudo

um canal para o qual existem mais smbolos de sada possveis do que
smbolos de entrada, mas cada smbolo de sada produzido unicamente pela
ocorrncia de um s smbolo de entrada, isto , um canal descrito por uma
matriz de canal com um, e um s, elemento no nulo em cada coluna.


Para um canal sem rudo quando observamos a sada b
j
, sabemos com
probabilidade 1 qual foi o smbolo a
i
transmitido.


Vitor Silva, TIC DEEC-FCTUC 26
A equivocao H(A/B) dada por:

= =
= =
=
=
B
b a p
o b a p
A
AB
b a p
b a p b p
b a p
b a p B A H
4 4 4 3 4 4 4 2 1
0
1
1
log 1 1 ) / (
0
0
1
log 0 ) / (
) / (
1
log ) / ( ) (
) / (
1
log ) , ( ) / (


o que nos permite enunciar o seguinte resultado:

Resultado 2 (para canais sem rudo)

0 ) / ( = B A H , e portanto, ) ( ) ; ( A H B A I =

0 ) / ( = B A H No existe qualquer incerteza sobre a entrada uma vez
observada a sada.
) ( ) ; ( A H B A I = A quantidade de informao fornecida pelo canal a
mesma informao que foi enviada atravs do canal.

Canais deterministas

Definio de canal determinista

um canal para o qual existem mais smbolos possveis de entrada do que
smbolos de sada, mas cada smbolo de entrada capaz de produzir unicamente
um s smbolo de sada, isto , um canal descrito por uma matriz de canal com
um, e um s, elemento no nulo em cada linha.

Para um canal determinista sabemos com probabilidade 1 qual o smbolo de
sada b
j
que produzido quando transmitido o smbolo de entrada a
i
.

A equivocao H(B/A) dada por:


= = =
A B AB
a b p
a b p a p
b a p
b a p A B H 0
) / (
1
log ) / ( ) (
) / (
1
log ) , ( ) / (


e portanto, podemos enunciar o seguinte resultado:


Vitor Silva, TIC DEEC-FCTUC 27
Resultado 3 (para canais deterministas)

0 ) / ( = A B H , e portanto, ) ( ) ; ( B H B A I =


Cascata de canais

C
Alfabeto com
r smbolos
Canal 2 Canal 1
A B
Alfabeto com
s smbolos
Alfabeto com
t smbolos


A sada do canal 1 a entrada do canal 2.

Entrada do canal 1 smbolos de um alfabeto A de cardinal r
Sada do canal 1 smbolos de um alfabeto B de cardinal s
Entrada do canal 2 smbolos de um alfabeto B de cardinal s
Sada do canal 2 smbolos de um alfabeto C de cardinal t

Quando a
i
transmitido atravs do canal 1, a sada b
j
. Este smbolo b
j
passa a
ser a entrada do canal 2 que produz a sada c
k
. Se conhecemos o smbolo
intermdio b
j
, ento a probabilidade de obter sada c
k
depende unicamente de
b
j
e no de a
i
, isto :

k j i b c p b a c p
j k j i k
, , ) / ( ) , / ( =
.

Esta equao representa a definio de cascata de dois canais. Analogamente, na
direco inversa:
) / ( ) , / (
j i k j i
b a p c b a p =

Vamos agora calcular:

) / (
) / (
log ) , , (
) / (
1
log ) , , (
) / (
1
log ) , , (
) / (
1
log ) , (
) / (
1
log ) , ( ) / ( ) / (
c a p
b a p
c b a p
b a p
c b a p
c a p
c b a p
b a p
b a p
c a p
c a p B A H C A H
ABC
ABC ABC
AB AC



=
=
=



Vitor Silva, TIC DEEC-FCTUC 28
Usando o facto de

=
A BC ABC
bc a p c b p c b a p ) / ( ) , ( ) , , (
, podemos escrever:


=
BC A
c a p
c b a p
c b a p c b p B A H C A H
) / (
) , / (
log ) , / ( ) , ( ) / ( ) / (


Usando a desigualdade, x x 1 ) 1 ln( , podemos mostrar que:
0 ) / ( ) / ( B A H C A H ,
com igualdade no caso de ) / ( ) , / ( ) , / ( ) / ( b a p c b a p c b a p c a p = = , ou seja,
) / ( ) / ( B A H C A H . Uma vez que:

) / ( ) ( ) ; (
) / ( ) ( ) ; (
C A H A H C A I
B A H A H B A I
=
=


podemos enunciar o importante resultado:

Resultado 4 (para a cascata do canal AB com o canal BC):

) ; ( ) ; ( C A I B A I com igualdade no caso de ) / ( ) / ( b a p c a p =

Este resultado implica que os canais de informao tendem para uma situao de
perda, isto , a informao na sada da cascata no pode ser maior (em muitos
casos menor) que a informao de um ponto intermdio da cascata.

Podemos mostrar que se o canal BC no tem rudo ento, ) ; ( ) ; ( C A I B A I = . No
entanto, a condio de igualdade ) / ( ) / ( b a p c a p = , pode se aplicada em canais
ruidosos.

Aditividade da informao mtua

Aditividade da informao mtua ocorre quando consideramos a informao
mdia fornecida acerca de um conjunto de smbolos de entrada por uma
sucesso de smbolos de sada. Casos onde esta situao pode ocorrer so:

a) A transmisso dos smbolos de entrada atravs de um canal ruidoso feita
por repetio vria vezes em vez de uma s transmisso.

b) A resposta transmisso de um nico smbolo de entrada produz uma
sequncia de smbolos de sada em vez de produzir unicamente um smbolo
de sada.

Vitor Silva, TIC DEEC-FCTUC 29
A ideia com partimos que ganhamos mais informao sobre a entrada com o
aumento do nmero de observaes que fazemos.

Vamos considerar a aditividade da informao mtua no caso de se produzirem
dois smbolos de sada por cada smbolo de entrada.

O nosso modelo de canal de informao modificado para:

Canal
A
B
C


A: alfabeto de entrada
{ } r i a
i
, , 2 , 1 : K =
B: primeiro alfabeto de sada
{ } s j b
j
, , 2 , 1 : K =

C: segundo alfabeto de sada
{ } t k c
k
, , 2 , 1 : K =

Assumido que os smbolos de sada so recebidos pela ordem b
j
, c
k
, ento
temos:

No comeo: probabilidade priori p(a
i
)
Uma vez recebido b
j
: probabilidade posteriori p(a
i
/b
j
)
Uma vez recebido c
k
: probabilidade ainda mais posteriori p(a
i
/b
j
,c
k
)

Ao nvel das entropias temos:
Entropia priori:
=
A
a p
a p A H
) (
1
log ) ( ) (

Entropia posteriori:
=
A j
j j
b a p
b a p b A H
) / (
1
log ) / ( ) / (


Entropia ainda mais posteriori pode ser definida como:

=
A k j
k j k j
c b a p
c b a p c b A H
) , / (
1
log ) , / ( ) , / (


Se calcularmos a mdia de H(A/b
j
) para todos os b
j
vamos obter a entropia
posteriori mdia, ou a equivocao de A em relao B:

=
B
b A H b p B A H ) / ( ) ( ) / (


Similarmente, se calcularmos a mdia de H(A/b
j
,c
k
) para todos os b
j
e c
k
, vamos
obter a entropia ainda mais posteriori mdia, ou a equivocao de A em
relao a B e C:

Vitor Silva, TIC DEEC-FCTUC 30

=
BC
c b A H c b p BC A H ) , / ( ) , ( ) / (


Anteriormente tnhamos:
) / ( ) ( ) ; ( B A H A H B A I = , quantidade de informao que o canal AB
fornece sobre A, isto , a informao
mtua de A e B.
Similarmente tnhamos:
) / ( ) ( ) ; ( BC A H A H BC A I = , quantidade de informao que os canais
AB e BC fornecem sobre A, isto , a
informao mtua de A e BC.
Agora consideramos tambm:
) / ( ) / ( ) / ; ( BC A H B A H B C A I = , quantidade de informao que o canal AC
fornece adicionalmente sobre A, depois de
usar o canal AB, isto , a informao
mtua de A e C dado B.

A partir deste conhecimento obtemos:

Propriedade da aditividade da informao mtua

) ; ( ) / ( ) ( ) / ; ( ) ; ( BC A I BC A H A H B C A I B A I = = +

Esta propriedade diz que a quantidade de informao fornecida pelo canal AB
sobre A, I(A;B), mais a quantidade de informao que o canal AC fornece
adicionalmente sobre A, I(A;C/B), igual quantidade de informao fornecida
pelos canais AB e AC sobre A, I(A;BC).

Resultado 5 (para canais aditivos AB e BC)

) ; ( ) ; ( B A I BC A I , com igualdade no caso de, ) / ( ) / ( BC A H B A H = . A
condio de igualdade obtida a partir da definio de I(A;C/B).

Este resultado significa que a informao obtida sobre A por observao de B e
C maior que aquela que obtida por observao nica de B.

Clculo de I(A;BC)


= =
ABC ABC
c b p a p
c b a p
c b a p
a p
c b a p
c b a p BC A I
) , ( ) (
) , , (
log ) , , (
) (
) , / (
log ) , , ( ) ; (


Vitor Silva, TIC DEEC-FCTUC 31
De forma a obtermos outra relao vamos definir a entropia, H(BC/A):

=
ABC
a c b p
c b a p A BC H
) / , (
1
log ) , , ( ) / (


e da mesma forma que ) / ( ) ( ) ; ( A B H B H B A I = , podemos mostrar que:

) / ( ) ( ) ; ( A BC H BC H BC A I =

E finalmente, para I(A;BC), a ordem de recepo de b
j
c
k
irrelevante pelo que
podemos escrever:
) / ; ( ) ; ( ) ; ( C B A I C A I BC A I + =

Capacidade do canal

Considere um canal de informao definido por um alfabeto de entrada A, por
um alfabeto de sada B e por um conjunto de probabilidades condicionais
p(b
j
/a
i
). De forma a calcular a informao mtua:

=
AB
b p a p
b a p
b a p B A I
) ( ) (
) , (
log ) , ( ) ; (


necessrio conhecer as probabilidades de ocorrncia dos smbolos de entrada.
De facto, a informao mtua depende no s do prprio canal mas tambm da
forma como o usamos, isto , das probabilidades com que escolhemos as
entradas. Esta situao requer a formulao da seguinte questo:


Como varia I(A;B) em funo de p(a
i
)?

Para um canal de informao genrico, 0 ) ; ( = B A I , sempre que faamos,
1 ) ( =
i
a p , para um dos smbolos do alfabeto. No entanto, o valor mximo de
I(A;B) no fcil de determinar. Este valor importante uma vez que nos
fornece a capacidade do canal, isto , o mximo de informao que o canal
capaz de fornecer sobre a fonte.


Capacidade do canal (informao mtua mxima)

[ ] ) / ( ) ( max ) ; ( max
) ( ) (
B A H A H B A I C
a p a p
= =



Vitor Silva, TIC DEEC-FCTUC 32
Nota

A capacidade do canal unicamente funo das probabilidades condicionais,
isto , da matriz de canal P e NO das probabilidades de entrada ou da forma
como usamos o canal.

Geralmente o clculo de C bastante difcil pois requer a soluo de um
problema de optimizao com restries. A classe mais importante de canais
para os quais o clculo de C se pode simplificar, a classe dos canais uniformes.


Canal uniforme

Um canal uniforme se os elementos de cada linha ou coluna da matriz de canal
so permutaes arbitrrias dos elementos da primeira linha. Portanto, a matriz
de canal quadrada.

Capacidade de um canal uniforme

=
A B
i
i i
a b p
a b p a p B H
A B H B H B A I
) / (
1
log ) / ( ) ( ) (
) / ( ) ( ) ; (


O somatrio
B
i
i
a b p
a b p
) / (
1
log ) / (
para cada a
i
, a soma para todos os
elementos da linha i da matriz de canal. Para um canal uniforme, este valor
constante e independente de i. Uma vez que

=
A
i
a p 1 ) (
, vamos ento obter:

=
B
i
i
a b p
a b p B H B A I
) / (
1
log ) / ( ) ( ) ; (

para qualquer a
i
. O somatrio
B
i
i
a b p
a b p
) / (
1
log ) / (
independente da
distribuio dos smbolos de entrada, mas H(B) no , ou seja:

= =
B
i
i
a p a p
a b p
a b p B H B A I C
i i ) / (
1
log ) / ( ) ( max ) ; ( max
) ( ) (


Precisamos ento de determinar,
) ( max
) (
B H
a p
. Geralmente, sabemos que o
mximo de H(B) log(s), onde s o nmero de smbolos do alfabeto B. Esta

Vitor Silva, TIC DEEC-FCTUC 33
situao s acontece quando os smbolos de sada so equiprovveis, e portanto,
no existe a garantia que possamos encontrar uma distribuio de probabilidades
de entrada, p(a
i
), que origine uma tal distribuio. Para um canal uniforme, de
facto, todas as colunas so permutaes da primeira linha, o que significa que
uma distribuio de entrada equiprovvel vai dar origem tambm a uma
distribuio equiprovvel de sada. Alm disso, r s = , e portanto, s r log log = .
Sendo assim, podemos enunciar o seguinte resultado:

Resultado 6: Capacidade de um canal uniforme


+ = =
B B
a b a b p r
a b p
a b p r C ) / log( ) / ( log
) / (
1
log ) / ( log

sendo esta capacidade atingida no caso de entradas equiprovveis: r a p 1 ) ( = .

Capacidade de um canal genrico

Algoritmo de Arimoto-Blahut (1972)

function p=arimoto(a)

% Algoritmo de Arimoto-Blahut
% Ver Richard Wells, "Applied Coding and Information Theory for Engineers", pag.44.
% a -> matriz do canal
% p -> vector de probabilidades do alfabeto de entrada que maximiza a informao mtua

teta=1; toler= 10e-7;
[m,n]=size(a); p=ones(n,1)/n;
q=a*p;
while teta
f=exp(sum(a.*log(a./q(:,ones(1,n)))));
x=f*p;
IL=log(x)/log(2);
IU=log(max(f))/log(2);
if IU-IL < toler
CC=IL;
teta=0;
else
p=(p.*f')/x;
q=a*p;
end
end


Vitor Silva, TIC 34 DEEC-FCTUC
Codificao de Fonte


Sistema de codificao



Canal
Codificador
Tx Rx Descodificador
ACDB 00110 00110 ACDB





Codificao de fonte

Considere o conjunto de smbolos que formam um dado alfabeto de partida,
{ }
q
s s s S , , ,
2 1
K = . Definimos como codificao a transformao de todas as
possveis sequncias de smbolos de S em sequncias de smbolos de um outro
alfabeto, { }
r
x x x X , , ,
2 1
K = . Designamos S por alfabeto fonte e X por alfabeto
cdigo.


Terminologia

Letra, smbolo ou caracter Elemento de um alfabeto.

Mensagem, palavra Uma sequncia finita de smbolos de um alfabeto.

Comprimento de uma palavra Nmero de smbolos de uma palavra.

Codificao Associao de smbolos do alfabeto fonte a smbolos do
alfabeto cdigo.

Descodificao Operao inversa da codificao.






Vitor Silva, TIC 35 DEEC-FCTUC
Notas

1. Uma palavra de comprimento n de um dado alfabeto fonte pode ser vista
como um smbolo pertencente a uma extenso de ordem n do referido
alfabeto.

2. Associamos smbolos s
i
de um dado alfabeto fonte a palavras,
{ }
in i i i
x x x X , , ,
2 1
K = de um dado alfabeto cdigo. Se formamos palavras de
cdigo de comprimento n a partir de um alfabeto com r smbolos, ento
existem
n
r possveis codificaes.

3. A codificao a forma de compatibilizar a informao gerada pela fonte
com as caractersticas do meio de comunicao, isto , a informao s pode
ser transmitida atravs do canal se usarmos smbolos do alfabeto cdigo.

Neste curso vamos usar de forma intensiva os cdigos binrios, pois so os
alfabetos de armazenamento e de transmisso de informao usados pelos
computadores actuais.

Cdigos no singulares: Cdigo formado por palavras de cdigo distintas.

Cdigo de bloco: um cdigo no singular formado por palavras de cdigo de
comprimento fixo n.

Nota

Os cdigos com interesse prtico devem ser no singulares de forma a ser
possvel uma descodificao no ambgua de todos os seus smbolos.


Descodificao nica e cdigos instantneos

Extenso de ordem n de um cdigo

A extenso de ordem n de um cdigo que transforma smbolos s
i
em palavras de
cdigo X
i
o cdigo que transforma sequncias de smbolos fonte
) , , , (
2 1 in i i
s s s K em sequncias de palavras de cdigo ) , , , (
2 1 in i i
X X X K .

Um cdigo pode ser no singular, mas a sua extenso de ordem n no, isto ,
pode ser singular.

Vitor Silva, TIC 36 DEEC-FCTUC
Descodificao nica

Um cdigo diz-se unicamente descodificvel, se e s se, a sua extenso de
ordem n for um cdigo no singular.

Notas

1. Todos os cdigos utilizados na prtica so unicamente descodificveis.

2. Podemos facilmente provar que um cdigo de bloco de comprimento n no
singular unicamente descodificvel.

Cdigos instantneos

Um cdigo unicamente descodificvel instantneo, se for possvel descodificar
cada palavra de uma sequncia sem recorrer aos smbolos da prxima palavra.

Um cdigo que unicamente descodificvel mas no instantneo, necessita que
o descodificador guarde os smbolos recebidos de forma a descodificar o
smbolo presente. Em contrapartida, um cdigo instantneo descodificado
automaticamente medida que chega ao receptor.

Condio de no ser prefixo

Seja
im i i i
x x x X , , ,
2 1
K = uma palavra de um cdigo. A sequncia de smbolos de
cdigo
) , , (
2 1 ij i i
x x x K
com m j < designado por prefixo de X
i
. Uma condio
necessria e suficiente para que o cdigo seja instantneo que nenhuma
palavra completa desse cdigo seja prefixo de outra qualquer palavra do cdigo.

Notas

1. Um cdigo instantneo unicamente descodificvel e a condio de no ser
prefixo suficiente (mas no necessria) para que um cdigo seja
unicamente descodificvel.

2. A propriedade da descodificao nica necessria para a descodificao
no ambgua, mas difcil de provar.

3. Os cdigos instantneos so fceis de testar, construir e descodificar mas no
so imperativos, isto , podemos usar cdigos no ambguos mas no
necessariamente instantneos.

Vitor Silva, TIC 37 DEEC-FCTUC
Cdigos no singulares
Cdigos instantneos
Cdigos unicamente descodificveis


Hierarquia das classes de cdigos

Construo de cdigos instantneos

Assuma que precisa de codificar uma fonte de n smbolos usando n palavras de
cdigo de comprimento:
n
l l l , , ,
2 1
K , ou seja, necessrio projectar um cdigo
instantneo cujas palavras de cdigo tm os referidos comprimentos. Usando a
condio de no ser prefixo, podemos facilmente projectar um cdigo
instantneo, comeando pelo cdigo de menor comprimento e depois derivar os
restantes de forma a que a referida condio seja respeitada.

Uma maneira sistemtica de o fazer enumerar ou contar atravs do alfabeto
cdigo.

Exemplo 1: Projectar um cdigo binrio instantneo de comprimentos: 3,2,3,2,2.

Comeamos por ordenar pela ordem crescente os comprimentos: 2,2,2,3,3.

Uma vez que os primeiros trs cdigos tm o mesmo comprimento 2, vamos
simplesmente contar em binrio 0,1,2:

0 0
0 1
1 0

Para os prximos dois cdigos de comprimento 3, contamos 3 nos dois
primeiros smbolos e depois contamos 0,1 no terceiro smbolo:

0 0
0 1
1 0
1 1 0
1 1 1

Vitor Silva, TIC 38 DEEC-FCTUC
Exemplo 2: Projectar um cdigo binrio instantneo de comprimentos: 1,2,3,4,4.
Resposta:

0
1 0
1 1 0
1 1 1 0
1 1 1 1

Exemplo 3: Projectar um cdigo binrio instantneo de comprimentos: 2,3,2,2,2.

Ordenamento: 2,2,2,2,3

Tente:

0 0
0 1
1 0
1 1
1 1 0

No! 11 prefixo de 110. De facto com estes comprimentos para as palavras de
cdigo, no possvel projectar um cdigo instantneo. O que podemos dizer?
preciso estar atento desigualdade de Kraft.

Porque que os cdigos instantneos so bons?

1. So fceis de testar atravs da condio de no ser prefixo.

2. So fceis de construir.

3. So fceis de descodificar.

No entanto!, os cdigos unicamente descodificveis podem possuir outras
vantagens (eficincias). Como veremos, se o critrio de escolha for o menor
comprimento das palavras de cdigo, no existe qualquer vantagem em usar
cdigos instantneos.

Desigualdade de Kraft e teorema de McMillans

Definindo partida os comprimentos das palavras de cdigo, nem sempre
possvel projectar um cdigo instantneo ou at um cdigo unicamente
descodificvel com as caractersticas especificadas.

Vitor Silva, TIC 39 DEEC-FCTUC
Pergunta: Existe alguma possibilidade de afirmar se o conjunto de
comprimentos especificado para as palavras de cdigo, permitem projectar um
cdigo unicamente descodificvel ou instantneo?

Resposta: Sim, se os comprimentos verificarem a desigualdade de Kraft.

Pergunta: Estando interessado num cdigo unicamente descodificvel com um
dado conjunto de comprimentos para as palavras de cdigo, podemos perder
alguma coisa se optarmos por um cdigo instantneo?

Resposta: No, de acordo com o teorema de McMillans.

Desigualdade de Kraft

Uma condio necessria e suficiente para a existncia de um cdigo
instantneo com os comprimentos de palavras de cdigo especificados,
q
l l l , , ,
2 1
K
:
1
1
=

q
i
l
i
r K


onde r o cardinal do alfabeto cdigo.

Prova:

Considere que o nmero de palavras de cdigos de comprimento um r w
1
.
Isto significa que restam
1
w r smbolos do alfabeto cdigo que podem ser
prefixo das restantes palavras de cdigo. Sendo assim, o nmero de palavras de
cdigo de comprimento dois :
1
2
1 2
) ( rw r r w r w =

Prosseguindo na mesma linha de raciocnio, o nmero de palavras de cdigo de
comprimento trs :
1
2
2
3
3
w r rw r w

E de comprimento mximo m :
1
1
2
2
2
2
1
w r w r w r rw r w
m m
m m
m
m


L

Dividindo esta expresso por r
m
vem:

1
2
2
1
1
+ + +

m
m
w r w r w r L

Vitor Silva, TIC 40 DEEC-FCTUC
ou na forma compacta,

m
i
i
i
r w
1
1

ou ainda
1
1 1 1 1 1 1 1 1 1
2 1
2 2 2
+ + + + + + + + + + + +
4 4 4 3 4 4 4 2 1
L L
4 4 4 3 4 4 4 2 1
L
4 43 4 42 1
L
m
w
m m m
w w
r r r r r r r r r


com q w w w
m
= + + + L
2 1
. A equao anterior pode ser facilmente escrita na
forma de Kraft como pretendemos:
1
1

q
i
l
i
r


Notas

1. A desigualdade de Kraft diz-nos que para 1 K existe um cdigo
instantneo com comprimentos
q
l l l , , ,
2 1
K
. No nos diz qual esse cdigo
ou se um cdigo projectado de forma a verificar a referida desigualdade
instantneo.

2. Precisamos de usar a condio de no ser prefixo para determinar se um
cdigo que satisfaz a desigualdade de Kraft instantneo.

3. A desigualdade de Kraft muito importante no processo de seleco dos
comprimentos a usar no projecto de cdigos instantneos.

Uma observao importante que a desigualdade de Kraft d-nos os
comprimentos mnimos que podem ser usados no projecto de cdigos
instantneos.

Teorema de McMillans

Uma vez que os cdigos instantneos so uma subclasse dos cdigos
unicamente descodificveis, a desigualdade de Kraft uma condio suficiente
para que um cdigo seja unicamente descodificvel.

Teorema de McMillans

Qualquer cdigo unicamente descodificvel satisfaz a desigualdade de Kraft.


Vitor Silva, TIC 41 DEEC-FCTUC
Juntando as peas: Como podemos metodicamente analisar as
propriedades de um cdigo?

O cdigo satisfaz a condio de no ser prefixo?

Sim: Ento o cdigo instantneo e unicamente descodificvel.
No: Continue.

Calcule a desigualdade de Kraft. 1 K ?

Sim: Continue.
No: O cdigo no unicamente descodificvel. Voltar ao incio do
projecto.

Comprimento mdio e cdigos compactos

Para um dado alfabeto fonte podemos construir muitos cdigos instantneos e
unicamente descodificveis. Mas qual o melhor cdigo? Um critrio possvel
de escolha o comprimento das palavras de cdigo. Sem outras consideraes, o
cdigo com os menores comprimentos obviamente o desejado: cdigos
pequenos e rpidos permitem uma utilizao mais econmica dos equipamentos
de comunicao e dos canais.

Como podemos comparar cdigos entre si? Que medidas de comprimento de
cdigos devemos usar? Uma medida possvel o comprimento mdio de um
cdigo.

Comprimento mdio de um cdigo

Assumindo que se trata de uma fonte sem memria ou de uma fonte adjunta,
considere um cdigo que transforma os smbolos fonte
q
s s s , , ,
2 1
K
em palavras
de cdigo
q
X X X , , ,
2 1
K . Sejam as probabilidades dos smbolos fonte
q
p p p , , ,
2 1
K
e os comprimentos das palavras de cdigo
q
l l l , , ,
2 1
K
. Ento,
definimos comprimento mdio de um cdigo, L, como:

=
=
q
i
i i
l p L
1


Obviamente, estamos interessados em encontrar cdigos unicamente
descodificveis cujo comprimento mdio seja o mais pequeno possvel,


Vitor Silva, TIC 42 DEEC-FCTUC
Cdigos compactos

Considere um cdigo unicamente descodificvel que transforme os smbolos de
uma fonte S em palavras de cdigo formadas por smbolos de um alfabeto
cdigo de cardinal r. Este cdigo designado por compacto se o seu
comprimento mdio for menor ou igual ao comprimento mdio de todos os
outros cdigos unicamente descodificveis para os mesmos alfabetos: fonte e
cdigo.


O problema fundamental da codificao de fonte encontrar (projectar) cdigos
compactos.

Uma vez que estamos concentrados unicamente nos comprimentos das palavras
de cdigo, e no no prprio cdigo, de acordo com o teorema de McMillans
podemos restringir a nossa procura ao universo dos cdigos instantneos.


Notas

1. Para um cdigo de bloco de comprimento n o comprimento mdio n e o
menor comprimento mdio :
r
q
2
2
log
log
.

2. Para obter o menor comprimento mdio possvel necessrio associar as
menores palavras de cdigo aos smbolos de maior probabilidade.



Fixo Varivel
0 0 0 menor smbolos de maior probabilidade
0 1 1 0
1 0 1 1 0
1 1 1 1 1 maior smbolos de menor probabilidade



Grande questo: Se existe e qual o limite inferior para o comprimento mdio
de um particular alfabeto fonte e cdigo? Sim.



Vitor Silva, TIC 43 DEEC-FCTUC
Entropia e comprimento mdio


Resultado

Qualquer cdigo instantneo para uma fonte S que utilize um alfabeto cdigo de
r smbolos tem um comprimento mdio, L, relacionado com H(s) (entropia da
fonte em bits) dado por:
r
S H
S H L
r
2
log
) (
) ( =


verificando-se a igualdade no caso de
i
l
i
r p

= .

Prova:
i
i
l
i
q
i
i
l
r i
q
i i
r i
q
i
q
i
i i
i
r i r
r p
p
r
r p
p
p
l p
p
p L S H
1
ln
ln
1
log
1
log
1
log ) (
1
1
1 1


=
=
= =
=
=
=


Usando a desigualdade 1 ln x x vem:

|
|

\
|

|
|

\
|

|
|

\
|

= =
=
1
ln
1
1
ln
1
1
1
ln
1
) (
1
1 1
1
q
i
l
q
i
q
i
i
l
q
i
l
i
i r
i
i
i
r
r
p
r r
r p
p
r
L S H


Uma vez que o cdigo instantneo podemos facilmente concluir de acordo
com a desigualdade de Kraft que:
0 ) ( L S H
r

e portanto,
) (S H L
r



Vitor Silva, TIC 44 DEEC-FCTUC
Notas

1. A definio de H(s) como bits por smbolo ganha neste momento todo o
sentido. H(S) o comprimento mdio ptimo de um cdigo binrio medido
em bits por smbolo. H
r
(S) medido como nmero de smbolos de cdigo por
smbolo fonte o comprimento mdio ptimo para um cdigo de r
smbolos.

2. No existe qualquer garantia prvia que possamos encontrar um cdigo
compacto com ) (S H L
r
= , isto , pode no ser possvel obter ) (S H L
r
= ,
excepto no caso em que a condio de igualdade verificada (
i
l
i
r p

= ).
Tudo o que sabemos que para qualquer cdigo compacto projectado,
) (S H L
r
.


Fontes especiais
Fontes em que as probabilidades dos smbolos so tais que
i
r
p
1
log
um
nmero inteiro, so fontes especiais uma vez que existe um cdigo instantneo
com palavras de cdigo de comprimento
i
r i
p
l
1
log =
para um alfabeto cdigo
de cardinal r que satisfaz a condio
i
l
i
r p

= . Sendo assim, ) (S H L
r
= o qual
o limite inferior do comprimento mdio de um cdigo compacto para aquele
alfabeto fonte, ou seja, possvel projectar um cdigo compacto ptimo para
uma fonte especial segundo o critrio do menor comprimento mdio.


Eficincia e redundncia de um cdigo

A eficincia e a redundncia de um cdigo so medidas que nos permitem aferir
a excelncia do cdigo projectado luz do resultado.

Eficincia de um cdigo
L
S H
r
) (
=

Redundncia de um cdigo
L
S H L
r
) (
1

=

Notas

Vitor Silva, TIC 45 DEEC-FCTUC

1. Uma fonte especial 100% eficiente pelo que um cdigo compacto de uma
fonte especial ptimo.

2. medida que a eficincia de um cdigo aumenta a sua redundncia diminui.

3. Um cdigo redundante na perspectiva que ele capaz de representar mais
informao do que aquela fornecida pela fonte, ou seja, um cdigo
redundante pode ser usado na codificao de outro alfabeto fonte com maior
informao.

Teorema de codificao de Shannon

Uma forte consequncia do resultado anterior obtida pelo teorema de Shannon
para a codificao, o qual define um limite superior para o comprimento mdio
L de um cdigo compacto e mostra como possvel obter um cdigo mais
eficiente considerando extenses da fonte. Comeamos por obter o limite
superior.

Para a maioria das fontes e correspondentes alfabetos de cdigo, s em casos
muito raros que a fonte especial, isto , para todos os smbolos fonte
i
r
p
1
log

um nmero inteiro. Na generalidade dos casos um cdigo compacto pode ser
encontrado seleccionando os comprimentos l
i
da forma:
(
(
(

=
i
r i
p
l
1
log

ou seja,
1
1
log
1
log +
i
r i
i
r
p
l
p

Portanto, para um cdigo compacto:

1 ) (
1
log
1
log
1
1
log
1 1 1
+
+
+
+

= = =
S H L
p
p
p l p
p
p
p l p
p
l
r
q
i
q
i
i
i
r i
q
i
i i
i
i
r i i i
i
r i

Combinando o conhecimento anterior, vamos obter o importante resultado:

Vitor Silva, TIC 46 DEEC-FCTUC

1 ) ( ) ( + S H L S H
r r


Um resultado interessante a que podemos facilmente chegar quando
consideramos extenses de ordem n da fonte, ou seja, podemos escrever a
seguinte relao equivalente:

1 ) ( ) ( +
n
r n
n
r
S H L S H

onde L
n
o comprimento mdio das palavras de cdigo correspondentes aos
smbolos
i
da extenso de ordem n da fonte, isto :

=
=
n
q
i
i i n
p L
1
) (

onde
i
o comprimento da palavra de cdigo correspondente ao smbolo
i
.

Relembrando a relao ) ( ) ( S nH S H
r
n
r
= , podemos escrever:

n
S H
n
L
S H
S nH L S nH
r
n
r
r n r
1
) ( ) (
1 ) ( ) (
+
+

o que nos permite finalmente enunciar o importante teorema:

Teorema de codificao de Shannon

O comprimento mdio L de um cdigo compacto para uma fonte de informao
est relacionado com a entropia por:

1 ) ( ) ( + S H L S H
r r


e o comprimento mdio L
n
de um cdigo compacto para uma extenso de ordem
n da fonte de informao est relacionado com a entropia na forma:

n
S H
n
L
S H
r
n
r
1
) ( ) ( +

e portanto,
) ( lim S H
n
L
r
n
n
=




Vitor Silva, TIC 47 DEEC-FCTUC
Notas

1.
n
L
n
representa o nmero mdio de smbolos de cdigo por smbolo de S
quando codificamos uma extenso de ordem n de S, isto ,
n
L
n
equivalente
a L.

2. O teorema de Shannon diz que nos podemos aproximar do limite
) (S H
n
L
r
n
=
se estivermos preparados para considerar extenses da fonte. O
preo a pagar o aumento exponencial (q
n
) do nmero smbolos da fonte e
da respectiva complexidade de codificao.


Cdigos compactos e cdigos de Huffman binrios

Como vimos anteriormente podemos aproximar n L
n
de H
r
(S) se escolhermos n
suficientemente grande. Este conhecimento irrelevante na procura ou projecto
de um cdigo compacto. Um cdigo compacto um cdigo com o menor
comprimento L. De facto, considerando extenses de ordem n elevada, podemos
aumentar a eficincia da codificao, mas isto no significa que devemos
comear por usar cdigos pobres. Na maioria das situaes prticas no
podemos recorrer a extenses de grande ordem. Comeamos por projectar
cdigos binrios compactos devido sua fundamental importncia em todo o
grande universo de aplicaes digitais (computadores, comunicaes,
armazenamento).


Fonte reduzida

Considere uma fonte S com q smbolos,
q
s s s , , ,
2 1
K
, ordenados segundo as suas
probabilidades da forma:
q
p p p K
2 1
. Combinando os ltimos dois
smbolos de S em um (por adio das suas probabilidades), vamos obter uma
nova fonte, designada por fonte reduzida de S, que contm unicamente 1 q
smbolos. Designamos esta fonte reduzida por S
1
. Sucessivas fontes reduzidas
S
2
,S
3
podem ser obtidas at que o nmero de smbolos da fonte resultante seja
dois.



Vitor Silva, TIC 48 DEEC-FCTUC
Resultado

Assuma que dispomos de um cdigo compacto para a fonte reduzida S
j
. Um
cdigo compacto para a fonte reduzida S
j-1
(a qual pode ser a fonte original)
contrado da seguinte forma:

Designe os dois smbolos de S
j-1
, s
0
e s
1
, como os smbolos que se juntam para
dar origem ao novo smbolo s

de S
j
. Vamos atribuir a cada smbolo de S
j-1
,
excepto a s
0
e s
1
, a palavra de cdigo usada pelo smbolo correspondente de S
j
.
As palavras de cdigo usadas por s
0
e s
1
so formadas por adio de 0 e 1,
respectivamente, palavra de cdigo usada por s

.


Cdigo binrio de Huffman (proposto em 1952)

1) Reduza a fonte S a S
1
e continue para S
2
, S
3
at obter uma fonte com dois
smbolos (ou uma para a qual seja fcil projectar um cdigo compacto).

2) Atribua um cdigo compacto fonte reduzida final. Para uma fonte com dois
smbolos o cdigo trivial 0 e 1.

3) Faa o caminho inverso na direco da fonte original, atribuindo um cdigo
compacto s sucessivas fontes reduzidas pelo mtodo descrito. O cdigo
compacto associado fonte original designado por cdigo de Huffman.


Notas

1. Existe um cdigo compacto diferente por simples troca da ordem de
atribuio de 0 ou 1. Obviamente, os comprimentos das palavras de cdigo
so os mesmos.

2. Quando encontramos smbolos de igual probabilidade nas fontes reduzidas,
esta flexibilidade adicional pode-se traduzir em cdigos individuais de
diferentes comprimentos. No entanto, o comprimento mdio deve ser o
mesmo.

3. No necessrio reduzir a fonte at ao limite de dois smbolos. Se
conhecermos para a fonte reduzida corrente um cdigo compacto, podemos
terminar aqui o processo de reduo.


Vitor Silva, TIC 49 DEEC-FCTUC
Cdigo de Huffman genrico

Para um alfabeto de cdigo com r smbolos a construo de um cdigo
compacto de Huffman segue os mesmos passos do caso do alfabeto binrio
excepto:

1. Em cada passo combinamos os ltimos r smbolos para formar uma fonte
reduzida com menos r-1 smbolos.

2. Quando projectamos um cdigo compacto para S
j-1
dado um cdigo
compacto para S
j
, usamos um smbolo diferente do alfabeto de cdigo de
forma a obtermos r smbolos de cdigo diferentes para S
j-1
.

3. Gostaramos que a ltima fonte reduzida tivesse exactamente r smbolos. Isto
s possvel se a fonte original tiver ) 1 ( + r r smbolos onde um
inteiro. Se no for o caso, podemos sempre adicionar fonte original um
smbolo auxiliar.


Extenses da fonte e do cardinal do alfabeto cdigo

Usando exemplos, iremos examinar a variao da eficincia quando usamos:

a) Extenses da fonte.
b) Alfabetos de cdigo com r smbolos, rq, para uma fonte de q smbolos.

e concluir que:

1) Extenses de maior grau aumentam a eficincia.
2) Eventualmente, alfabetos de cdigo maiores reduzem a eficincia.


Vitor Silva, TIC 50 DEEC-FCTUC
Codificao de Canal


Introduo

Nos captulos anteriores considermos o problema da codificao de fontes de
informao na ptica da transmisso da informao atravs de canais no
ruidosos. Para este caso, o principal objectivo era o projecto de cdigos
compactos. No entanto, a maioria dos os canais so ruidosos, e portanto,
introduzem erros nos smbolos de sada. Neste captulo, vamos abordar o tema
dos cdigos que so capazes de detectar e corrigir erros. Vamos limitar a nossa
ateno classe dos cdigos e dos canais binrios, tipicamente, o canal BSC. O
nosso modelo para um canal no ruidoso era:

Canal
binrio
Codificador
de fonte
Descodificador
de fonte
Cdigo binrio
compacto
Cdigo binrio
compacto (sem erros)
Smbolos
Smbolos
Receptor
Fonte de
informao


Na presena de rudo no canal, vamos inserir um sistema adicional de
codificao e descodificao de canal. Esta tcnica permite separar a
representao da fonte (usando cdigos compactos) da sua proteco contra os
erros introduzidos pelo canal (usando cdigos de deteco e correco de erros).

Propriedades da codificao de canal

1. O codificador de canal recebe a sequncia de bits gerados pelo codificador de
fonte, forma mensagens de comprimento fixo L (blocos de L bits de
informao) e transforma estas mensagens em palavras de cdigo de
comprimento de fixo, N. Os codificadores de canal utilizam cdigos de bloco
com L N > . A diferena, L N , representa os bits de teste utilizados pela
codificao de canal na deteco e correco dos erros.

Vitor Silva, TIC 51 DEEC-FCTUC
2. Com L bits de informao precisamos de
L
M 2 = palavras de cdigo de
comprimento N. Com esta transformao, os L N bits adicionais vo ser
utilizados na deteco e correco dos erros introduzidos pelo canal.

3. Como referimos, vamos limitar o nosso estudo ao caso dos canais binrios.
Portanto, a codificao de fonte e de canal utiliza unicamente cdigos
binrios.

O nosso modelo para um canal ruidoso :

Blocos de L bits de
informao so
tranformados em blocos
de N bits de canal
Blocos de N bits sada do
canal so tranformados em
blocos de L bits de
informao
Canal
binrio
Descodificador
de fonte
Smbolos
Receptor
Descodificador
de canal
Codificador
de fonte
Cdigo
compacto
Smbolos
Fonte de
informao
Codificador
de canal
Rudo
Cdigo
compacto



Notas

1. Um sistema que detecta e corrige os erros no receptor designado por FEC
(Forward-Error-Correction).

2. Um sistema que detecta os erros no receptor e pede a retransmisso da
informao errada ao emissor designado por ARQ (Automatic-Repeat-
Request). Este sistema requer a utilizao de um canal de comunicao nos
dois sentidos.

Probabilidade de erro e regras de deciso

Para um canal sem erros sabemos com probabilidade 1 qual foi o smbolo
emitido por observao dos smbolos recebidos. No entanto, quando o canal
ruidoso, existem geralmente mais do que um smbolo de entrada que podem dar

Vitor Silva, TIC 52 DEEC-FCTUC
origem ao smbolo observado na sada. Na presena de rudo necessrio dispor
de regras de deciso.

Regra de deciso

Considere um canal de informao definido por uma alfabeto de entrada,
{ } r i a A
i
, , 2 , 1 : = = e por um alfabeto de sada,
{ } s j b B
j
, , 2 , 1 : = =
.
Uma regra de deciso, d(b
j
), uma qualquer funo que defina uma
correspondncia nica entre cada smbolo de entrada e cada smbolo de sada.

O objectivo fundamental de qualquer boa regra de deciso minimizar a
probabilidade de erro, ou seja, de realizar uma deciso errada.

Descodificao com a menor probabilidade de erro

Escolhemos,
* ) ( a b d
j
=
, onde a* dado por:
i b a p b a p
j i j
) / ( ) / * (


De acordo com o teorema de Bayes temos que:
) (
) ( ) / (
) (
*) ( *) / (
j
i i j
j
j
b p
a p a b p
b p
a p a b p


ou,
) ( ) / ( *) ( *) / (
i i j j
a p a b p a p a b p

Portanto, a descodificao com a menor probabilidade de erro requer no s o
conhecimento da matriz de canal, mas tambm, das probabilidades de ocorrncia
dos smbolos de entrada, p(a
i
). Em muitos casos no dispomos do conhecimento
de p(a
i
).

Descodificao de mxima verosimilhana

Escolhemos,
* ) ( a b d
j
=
, onde a* dado por:
i a b p a b p
i j j
) / ( *) / (


A descodificao de mxima verosimilhana depende unicamente do canal. Esta
propriedade importante em situaes em que desconhecemos as probabilidades
de ocorrncia dos smbolos de entrada. No sendo uma descodificao com a
menor probabilidade de erro, a descodificao de mxima verosimilhana de
facto, de menor probabilidade de erro quando os smbolos de entrada so
equiprovveis.

Vitor Silva, TIC 53 DEEC-FCTUC
Probabilidade de erro

Ao escolhermos o smbolo de entrada de acordo com a regra de deciso d(b
j
), a
probabilidade de acerto :
) / ) ( * (
j j
b b d a p =

e a probabilidade de erro :
) / * ( 1 ) / (
j j
b a p b E p =

onde p(E/b
j
) a probabilidade condicional de erro dado o smbolo de sada b
j
.
Maximizando p(a*/b
j
) iremos minimizar o erro, e portanto, vamos obter uma
descodificao com a menor probabilidade de erro.

A probabilidade de erro total a mdia de p(E/b
j
) para todos os b
j
:

=
B
j j E
b p b E p p ) ( ) / (

Podemos tambm definir:

=
A
i i E
a p a E p p ) ( ) / (

e

=
c
B b
i i
a b p a E p ) / ( ) / (

onde B
c
subconjunto do alfabeto de sada B, formado pelos elementos para os
quais
i j
a b d ) (
.

Taxa de informao

Uma vez que L N > , o dbito entrada do canal maior do que entrada do
codificador de canal. Seja:
s
s
n

1
=

o nmero de bits por segundo entrada do codificador de canal, e
c
c
n

1
=

o nmero de bits por segundo transmitidos atravs do canal.
evidente que:
[ ] [ ]
s c c s
n n L L N = =

Nota

Se
s c
L no um nmero inteiro, ento necessrio ocasionalmente inserir e
transmitir bits suprfluos de enchimento.

Vitor Silva, TIC 54 DEEC-FCTUC
Codificao de canal

Taxa de informao:
c
s
s
c
n
n
N
L
R = = =



Redundncia do cdigo:
L
N
R
=
1


Excesso de redundncia:
L
L N
R

= 1
1



Exemplos de aumento da confiana dos dados recebidos

Quando projectamos um cdigo de canal continuamos a precisar de usar uma
regra de deciso ou detector antes do processo de descodificao. No caso
prtico de canais binrios, fazemos geralmente as seguintes consideraes:

1. O canal simtrico (BSC).

2. A probabilidade de erro, q, da ordem de 0.0001 ou menos.

3. A sequncia binria entrada do codificador de canal de mxima entropia,
isto , 5 . 0 ) 1 ( ) 0 ( = = p p .

Podemos facilmente mostrar que a regra de deciso de menor probabilidade de
erro a regra de deciso trivial: um 0 recebido significa que foi enviado um 0 e
um 1 recebido significa que foi enviado um 1. A probabilidade de erro tambm
igual ao valor trivial q.

Quando investigamos diferentes cdigos de canal a probabilidade de erro de
bloco, P
E
, calculada. Para um codificador de canal que codifica (transforma) L
bits de informao em N bits de canal, o correspondente descodificador de canal
vai usar uma regra de deciso que faz corresponder a cada palavra de cdigo de
comprimento N recebida, uma palavra de cdigo de comprimento L de
informao. A probabilidade de erro de bloco, P
E
, indica a probabilidade de erro
do processo de descodificao, isto , a probabilidade de descodificar N bits
recebidos (possivelmente corrompidos) em L bits incorrectos de informao. No
entanto, isto no significa que todos os L bits esto errados. unicamente um
termo de comparao entre diferentes cdigos de canal fcil de calcular.


Vitor Silva, TIC 55 DEEC-FCTUC
Exemplo

Considere uma codificao de canal com 3 = L e 6 = N . A sequncia de 3 bits
de informao, 010, codificada na sequncia, 010111, e enviada atravs do
canal. No entanto, devido a um erro de um bit, a palavra recebida foi 011111 e o
descodificador de canal produziu a seguinte sequncia de informao, 011. Se
bem que a descodificao est 100% errada, os dois primeiros bits esto certos,
o que significa na prtica que a descodificao est unicamente 33% errada.

Cdigos de repetio

Por repetio da informao a transmitir podemos reduzir a probabilidade de
erro.

Codificao: Vamos transformar cada bit de informao numa palavra de
cdigo de comprimento N mpar, por repetio N vezes do bit
de informao.

Descodificao: Vamos transformar cada palavra cdigo de comprimento N
mpar recebida, em um bit de informao por votao
majoritria.

Distncia de Hamming

Distncia de Hamming

Dadas duas palavras,
n
a a a a
2 1
= e
n
b b b b
2 1
= , a distncia de Hamming
entre elas definida como o nmero de posies para as quais a diferente b,
isto , o nmero de ocorrncias de
i i
b a para n i , 2 , 1 = . Designamos esta
medida por d(a,b).

Para cada alfabeto e nmero n, a distncia de Hamming uma mtrica sobre o
conjunto de todas as palavras de comprimento n. Para quaisquer palavras
arbitrrias a,b,c, a distncia de Hamming satisfaz as seguintes propriedades:

1. 0 ) , ( = a a d e 0 ) , ( > b a d sempre que b a

2. ) , ( ) , ( a b d b a d =

3. ) , ( ) , ( ) , ( c a d c b d b a d + (desigualdade triangular)

Vitor Silva, TIC 56 DEEC-FCTUC
Podemos ilustrar o conceito de distncia de Hamming para cdigos binrios de
comprimento n, a partir da observao dos vrtices de um hipercubo de
dimenso n. Isto fcil de visualizar para 2 = n e 3 = n :
111
100
10
11
01 00 110
000
101
001 011
010


A partir destes exemplos podemos ver que d(a,b) o nmero de lados do cubo
que necessrio percorrer para irmos de a at b. Esta interpretao permite
desenvolver a relao entre a distncia de Hamming e a deteco e a correco
de erros.

Quando investigamos os cdigos de Hamming, ou qualquer outro tipo de
cdigo, procuramos encontrar respostas para as seguintes perguntas:

1. Qual a regra de descodificao que devemos usar para este cdigo?
2. Que podemos dizer sobre as capacidades de deteco e correco de erros
deste cdigo?

A primeira questo fcil de responder e a soluo aplica-se maioria dos
sistemas de codificao. A segunda questo mais difcil de responder e a
soluo depende do cdigo em causa.

Regra de descodificao usando a distncia de Hamming

Considerando que a ocorrncia das palavras de cdigo equiprovvel, podemos
desenvolver uma regra de deciso de mxima verosimilhana para escolher a
palavra de cdigo a a partir do conhecimento que recebemos a palavra b. De
outra forma, transmitimos atravs de um canal BSC a palavra de cdigo a de
comprimento n e recebemos a palavra de cdigo b de comprimento n.
Assumindo que D b a d = ) , ( , isto significa que a e b diferem exactamente em D
posies, isto , existem D bits errados com probabilidade q e D n bits certos
com probabilidade q p =1 . Ento:

Vitor Silva, TIC 57 DEEC-FCTUC
D n D
p q a b p

= ) ( ) ( ) / (
Usando uma descodificao de mxima verosimilhana necessrio maximizar
p(b/a) em funo de a. Uma vez que 2 1 < q (nica situao com interesse
prtico), p(b/a), atinge um mximo quando escolhemos a palavra a para qual
) , ( b a d D = a menor.

Regra de descodificao baseada na distncia de Hamming

Considere que utiliza um cdigo binrio de bloco de comprimento n. Seja
[ ] M i a
i
, , 2 , 1 : a palavra de cdigo enviada atravs do canal (uma entre M
possveis). A palavra recebida foi b:

1. Se
i
a b = para um particular i ento a palavra enviada foi a
i
.

2. Se
i
a b para todo i, ento vamos escolher a palavra de cdigo a* que seja
mais prxima de b segundo a distncia de Hamming:
M i b a d b a d
i
, , 2 , 1 ), , ( ) *, ( =
e considerar que a palavra a* foi a enviada.

Nota

Se existir uma nica palavra a*, ento podemos corrigir os erros mais provveis.
Se existirem mais do que uma palavra a*, ento s possvel detectar a
existncia de erros mas no corrigir.

Deteco e correco de erros usando a distncia de Hamming

Distncia mnima

A distncia mnima d(K) de um cdigo no trivial K, a menor distncia de
Hamming verificada para todos os pares distintos de palavras de cdigo:
{ } b a b a b a d K d = e K de palavras so , | ) , ( min ) (

Deteco de erros

Um cdigo de bloco K tem a capacidade de detectar t erros se para cada palavra
de cdigo enviada, a correspondente palavra recebida corrompida em t bits, no
uma palavras de cdigo, e portanto, pode ser detectada. Esta propriedade
importante em sistemas de comunicao que usem ARQ.

Vitor Silva, TIC 58 DEEC-FCTUC
Propriedade de deteco de erros

Um cdigo K detecta todos os t erros, se e s se, a sua distncia mnima for
maior que t:
t K d > ) (

Correco de erros

Um cdigo de bloco K capaz de corrigir t bits se, para cada palavra de cdigo
enviada, a descodificao de mxima verosimilhana da correspondente palavra
recebida corrompida em t bits nica. Esta propriedade importante em
sistemas de comunicao que usem FEC.

Propriedade de correco de erros

Um cdigo capaz de corrigir todos os t erros, se e s se, a sua distncia mnima
for maior que 2t:
t K d 2 ) ( >

Prova geomtrica

Podemos provar as duas propriedades acima referidas considerando um cdigo
de bloco, K, de comprimento n e . ) ( D K d = Considere duas palavras de cdigo
a
i
e a
i+1
, escolhidas de forma a verificarem a relao: D a a d
i i
=
+
) , (
1
. O smbolo
++++ representa as palavras de cdigo e ---- representa as D-1 palavras no
pertencentes ao cdigo, b
ij
, entre a
i
e a
i+1
(isto ,
D b a d
ij i
< ) , (
e
D b a d
ij i
<
+
) , (
1
) obtidas por troca de um nico bit de cada vez:

+ + + +




+ + + +
+

2
1
1
2
1
1
1
1
1
1 ,
3 ,
2 ,
1 ,
D
a
b
D
b
b
b
a
D
i
D i
i
i
i
i



Vitor Silva, TIC 59 DEEC-FCTUC
Existem D-1 palavras no pertencentes ao cdigo entre a
i
e a
i+1
, obtidas por troca
de um nico bit de cada vez, ou seja, podemos detectar at t erros entre a
i
e a
i+1
.
Portanto, 1 = D t e t D K d > = ) ( (prova da propriedade da deteco).

Considere que a palavra de cdigo transmitida foi a
i
e que a palavra recebida, b
ij
,
no pertencente ao cdigo, mas pertence ao intervalo:
(


2
1
, ,
1 ,
D
b b
i i
. A
descodificao da palavra b
ij
a palavra de cdigo correcta a
i
, uma vez que
aquela que se encontra menor distncia da palavra recebida b
ij
(em
contraponto, por exemplo, com a
i+1
). Portanto, podemos corrigir no mximo
D 1
2
erros, ou seja,
t
D
=
1
2
e d K D t ( ) = > 2 (prova da propriedade da
correco).

Cdigos binrios lineares

Aritmtica mdulo 2

A partir deste momento vamos definir as operaes de adio e multiplicao
mdulo 2 da seguinte forma:


+
0 1

0 1
OR exclusivo 0 0 1 AND 0 0 0
1 1 0 1 0 1

Uma vez que 1 1 0 1 1 = = + , isto significa que a subtraco binria coincide
com a adio binria.

Cdigos binrios lineares (primeira aproximao)

Uma classe importante dos cdigos binrios so os cdigos binrios lineares.
Estes cdigos podem ser descritos por um conjunto de equaes lineares.

Cdigos binrios lineares (primeira definio)

Designe por x
i
o bit i de uma palavra de cdigo. Assuma tambm que dispomos
de uma mensagem ou palavra de informao de L bits que codificada numa
palavra de cdigo de N bits. Para um cdigo binrio linear todas as
L
M 2 =
palavras de cdigo satisfazem um conjunto de N-L equaes lineares em x
i
para
i N = 1 2 , , , , isto , N-L equaes a N incgnitas.


Vitor Silva, TIC 60 DEEC-FCTUC
Obviamente, podemos escrever as referidas equaes na forma homognea, isto
, num sistema em que o segundo membro o vector nulo.

Cdigos binrios lineares (outra definio)

Qualquer sistema linear de equaes homogneas define um cdigo linear.
Podemos tambm mostrar que qualquer cdigo linear pode ser descrito a partir
de um sistema de equaes lineares homogneas.

Nota

Uma vez que existem N-L equaes e N incgnitas, ento temos
N N L L = ( ) variveis independentes e N-L variveis dependentes. Como as
variveis so binrias isto significa que existem M
L
= 2 solues.

Notao equivalente

n=N comprimento do cdigo de bloco ( entrada do canal)
k=L nmero de bits de informao em cada bloco
m=N-L=n-k nmero de bits de teste em cada palavra de cdigo

Matriz de teste de paridade

Dado um cdigo binrio linear k descrito por um sistema de (n-k) equaes
homogneas a n incgnitas, vamos construir a matriz H de dimenses,
( ) n k n , cujos elementos so os coeficientes das equaes, isto , a linha i de
H exprime a equao i. A matriz H designada por matriz de teste de paridade.

Matriz e equaes de teste de paridade

A matriz binria H designada por matriz de teste de paridade de um cdigo
binrio linear k de comprimento n, se as palavras de cdigo de k so
precisamente as palavras x x x
n 1 2
, , , que satisfazem o seguinte sistema:

[ ] [ ] 0 0 0
2 1
=
T
n
H x x x

A matriz H tem n-k linhas e n colunas. O sistema de (n-k) equaes homogneas
so conhecidas por equaes de teste de paridade.



Vitor Silva, TIC 61 DEEC-FCTUC
Cdigos binrios lineares (segunda aproximao)

Se uma palavra x uma palavra de cdigo, ento 0 =
T
xH . Se y tambm uma
palavra de cdigo ento 0 =
T
yH . Se z x y = + ento 0 = +
T T
yH xH , e
portanto, z tambm uma palavra de cdigo. Este facto permite elaborar a
definio adequada de um cdigo binrio linear.

Cdigos binrios lineares (definio adequada)

Um cdigo binrio linear se a soma de duas palavras de cdigo arbitrrias
tambm uma palavra de cdigo.


Cdigos binrios lineares sistemticos ou separveis

Cdigos binrios lineares sistemticos

Cdigos de bloco para os quais os bits que formam a mensagem so
transmitidos inalterveis (no transformados) so designados por cdigos
sistemticos. Especificamente, para os cdigos binrios lineares, considere a
mensagem de comprimento k,
1 1 0
, , ,
k
m m m , onde m
i
o bit i da mensagem. A
palavra de cdigo de comprimento n representada por:
1 1 0 1 1 0
, , , , , , ,
k k n
m m m b b b
onde b
i
o bit de teste i.
A palavra de cdigo formada por concatenao de (n-k) bits de teste aos k bits
de informao. Uma vez que
1 1 0
, , ,
k
m m m so as variveis independentes e
1 1 0
, , ,
k n
b b b so as variveis dependentes, as variveis dependentes podem ser
expressas como funes unicamente das variveis independentes.


Resultado

Na codificao, cada palavra de informao de comprimento k usada para
gerar os (n-k) bits de teste que so concatenados palavra de informao de
forma a gerar uma palavra de cdigo de comprimento n.
Na descodificao, aps a palavra de cdigo correcta ter sido escolhida, isto ,
depois da correco dos eventuais erros, os (n-k) bits de teste so eliminados de
forma a recuperar a palavra de informao de comprimento k.


Vitor Silva, TIC 62 DEEC-FCTUC
Forma sistemtica das matrizes G e H

Definies:

b o vector linha dos bits de teste de dimenso n-k
m o vector linha dos bits de informao de dimenso k
c o vector linha das palavras de cdigo de dimenso n: [ ] m b c =
P a matriz de paridade de dimenso ) ( k n k
G a matriz geradora de dimenso n k
H a matriz de teste de paridade de dimenso n k n ) (

Uma vez que os bits de teste so gerados a partir dos bits de informao,
podemos representar esta operao matricialmente usando P:
mP b =
A matriz geradora, [ ]
k
I P G = , onde I
k
a matriz identidade de dimenso k k ,
gera as palavras de cdigo:
[ ] [ ] [ ] m b m mP I P m mG c
k
= = = =

A matriz de teste de paridade dada por,
[ ]
T
k n
P I H

= , onde I
n-k
a matriz de
identidade de dimenso ) ( ) ( k n k n , ento:

[ ]
0
k
T
I
cH b m b mP b b
P
(
= = + = + =
(



Forma sistemtica para G e H

[ ]
k
I P G =
[ ]
T
k n
P I H

=

Notas

1. A forma sistemtica de H torna a operao de extraco da matriz P trivial, o
que nos permite calcular facilmente os bits de teste a partir dos bits de
informao.
2. Se H no se encontra na forma sistemtica, as equaes de teste de paridade
devem ser ento manipuladas nesse sentido, ou ento, H pode ser manipulada
atravs de operaes elementares sobre as suas linhas (uma vez que 0 =
T
cH ,
isto significa que operaes elementares sobre as linhas de H no alteram o
sistema de equaes lineares homogneas associado).
3. O raciocnio dos pontos anteriores tambm se aplica matriz G.

Vitor Silva, TIC 63 DEEC-FCTUC
Gerao dos bits de teste e descodificao do sndroma

Padro de erro

Padro de erro ou vector de erro

Considere c a palavra de cdigo transmitida e r a palavra de cdigo recebida
com erros. O vector, e, definido por:
r c e + =
designa o vector de erro ou padro de erro. Este vector zero excepto nas
posies de bit em que c e r diferem, ou seja, nas posies em que c sofreu uma
inverso de bit.

Codificao

Se a matriz H (ou G) est na forma sistemtica, ento a matriz de paridade, P,
pode ser facilmente obtida. Se H (ou G) no est na forma sistemtica, esta deve
ser convertida em primeiro lugar para a forma sistemtica atravs da aplicao
de operaes convenientes s suas linhas.

Uma vez obtida a matriz de paridade, P, a codificao da palavra de informao,
m, na palavra de cdigo c feita da seguinte forma:

[ ] [ ] m b m mP c = =

Descodificao

Considere a palavra recebida r dada por:
e c r + =
onde c a palavra de cdigo que foi transmitida e e o padro de erro
introduzido pela transmisso. A ideia base da descodificao com capacidade de
correco sermos capazes de identificar o padro de erro, e, a partir
unicamente do conhecimento de r. Uma vez identificado o padro de erro, e,
ficamos automaticamente a saber a palavra que foi transmitida, isto : e r c + = .
O grande problema que se coloca , como determinar e a partir de r? Para isso,
considere:
s eH eH cH rH
T T T T
= + = + = 0

onde o vector coluna de dimenso (n-k), s, designado por sndroma.



Vitor Silva, TIC 64 DEEC-FCTUC
Seja:
[ ]
n n
h h h h h H
1 3 2 1
=

onde h
i
representa o vector coluna i da matriz H. Considere tambm o vector
linha,
[ ]
n
e e e e
2 1
= , onde
1 =
j
e
significa que o bit j est errado.
Obviamente, a outra possibilidade significa que est certo. Ento:
[ ] [ ] [ ] [ ] s h e h e h e
h
h
h
e e e H e
T
n n
T T
T
n
T
T
n
T
= + + + =
(
(
(
(
(

2 2 1 1
2
1
2 1

Considere um erro nos bits j, k e l da palavra de cdigo enviada, ou seja,
1 = = =
l k j
e e e
e os restantes e
i
so zero. Assim temos:
[ ] [ ] [ ]
l k j
T
h h h s + + =

isto , o sndroma a soma das colunas de H correspondentes aos bits errados.
Sendo assim, podemos enunciar o seguinte resultado:

Resultado

O sndroma, s, depende unicamente do padro de erro e a soma das colunas de
H correspondentes aos bits errados, isto , dadas pelas posies dos bits a 1 do
padro de erro.

preciso ter em conta que s obtido a partir de r o qual est relacionado com e.
Mas como podemos obter e a partir de s? Infelizmente, existem muitas
combinaes de erros que podem originar o mesmo sndroma, isto , no
podemos fazer simplesmente,
1
) (

=
T
H s e , uma vez que H singular.

Antes de avanar com este tema, vamos fazer as seguintes observaes:

1. Considere os seguintes padres de erro com o mesmo sndroma, e
i
e e
j
.
Ento,
0 = + = + s s H e H e
T
j
T
i
, ou seja,
j i
e e +
uma palavra de cdigo,
por exemplo, c
i
, ou,
j i i
e c e + =
. Assim:

Resultado

Todos os padres de erro com o mesmo sndroma diferem apenas de uma
palavra de cdigo.


Vitor Silva, TIC 65 DEEC-FCTUC
2. A coleco de todos os padres de erro com o mesmo sndroma define uma
classe complementar (no sentido que a unio de todas as classes o prprio
espao e a interseco vazia) no espao do cdigo. Uma vez que existem
2
k
palavras de cdigo, ento podemos concluir de acordo com o resultado
anterior que, existem 2
k
padres de erro distintos em cada classe
complementar. Sendo o nmero de padres de erro possveis igual a 2
n
,
ento existem
k n k n
= 2 2 2 classes complementares para o cdigo (o que
faz sentido pois existem
k n
2 sndromas). Assim, para um dado sndroma
existem 2
k
padres de erro possveis na correspondente classe
complementar. Mas como podemos escolher o padro de erro correcto?

Exerccio: Mostre que os 2
k
padres de erro de cada classe complementar
quando adicionados a r do origem a 2
k
palavras de informao diferentes.

3. Uma vez que 5 . 0 < q , para uma dada classe complementar (a classe
associada ao sndroma calculado) razovel seleccionar o padro de erro
com o menor nmero de bits errados, isto , com o menor nmero de bits a
1, como o padro de erro mais provvel de ocorrer. O padro de erro com o
menor nmero de bits a 1 de uma dada classe complementar designado por
elemento principal dessa classe. A soma do elemento principal da classe
complementar com a palavra recebida r ir originar a palavra de cdigo mais
provvel de ter sido enviada. Se existe mais do que um elemento principal
associado a um dado sndroma, isso significa que o erro no pode ser
corrigido.

A descodificao da palavra recebida r de comprimento n, na palavra de
informao, m, realizada segundo o seguinte algoritmo:

1. Clculo do sndroma:
T
rH s =
2. Determinao do elemento principal, e, da classe complementar associada a
s.
3. Descodificao da palavra de cdigo: e r c + = .
4. Descodificao da palavra de informao, m, por eliminao dos (n-k) bits de
teste de paridade que foram concatenados a c.

Mas como podemos determinar o elemento principal sem termos que enumerar
todos os 2
k
padres de erro possveis? A partir do resultado anterior, o padro de
erro com o menor nmero de bits a 1 (elemento principal) associado ao
sndroma em causa equivalente ao menor nmero de colunas de H que, quando
somadas geram o referido sndroma. As posies dessas colunas indicam as
posies dos bits a 1 do vector de erro.


Vitor Silva, TIC 66 DEEC-FCTUC
Determinao dos elementos principais

Em primeiro lugar, vamos encontrar o nmero mnimo de colunas de H que,
quando somadas geram o sndroma. Depois:

1. Se existe uma nica combinao mnima de colunas, ento as posies dessas
colunas de H correspondem aos bits errados, e portanto, esses erros podem
ser corrigidos.
2. Se existe mais do que uma combinao mnima de colunas de H, ento existe
mais do que um padro de erro igualmente provvel com o mesmo nmero
de bits corrompidos, isto , existe mais do que um elemento principal, e
portanto, os erros s podem ser detectados.

Casos particulares do mtodo de determinao dos elementos principais:

Descodificao do sndroma na deteco de erros e na correco
de um nico erro

1. Se s zero, o elemento principal o padro de erro nulo, ou seja, no
existem erros, e portanto, a palavra recebida, r, a palavra de cdigo
enviada, c. Se s no o vector nulo ento um erro foi detectado.
2. Se s unicamente igual coluna i de H, ento o bit i de r ser invertido
(corrigido) de forma a gerar a palavra de cdigo, c. Esta operao representa
a correco de um nico bit.

Nota

Se s igual a mais do que uma coluna de H, isso significa que no podemos
corrigir um nico erro pois existe mais do que um elemento principal. Como
iremos ver, para podermos corrigir um nico erro necessrio que as colunas de
H sejam distintas duas a duas.

Peso de Hamming

Peso de Hamming e peso mnimo

O peso de Hamming de uma palavra definido como o nmero de bits
diferentes de zero. Para um cdigo no trivial, K, o menor peso de Hamming de
uma palavra diferente do vector nulo, 0 000 0

= , designado por peso mnimo


de K.

Vitor Silva, TIC 67 DEEC-FCTUC
Relao entre distncia e peso de Hamming para cdigos binrios
lineares

Para um cdigo binrio linear no trivial, K, a distncia mnima, d(K), igual ao
peso mnimo, w(K), isto , ) ( ) ( K w K d = .

Deteco e correco de erros em cdigos binrios lineares

Um cdigo binrio linear corrige (ou detecta) todos os t erros, se e s se, o seu
peso mnimo maior do que 2t (ou maior que t, respectivamente).


Projecto da matriz de teste de paridade

Seja x uma palavra de cdigo com peso de Hamming igual ao peso mnimo do
cdigo K, w(K). Se H a matriz de teste de paridade de K, ento sabemos que
0 =
T
xH . Por definio x tem exactamente w(K) bits a 1 e os restantes a 0.
Efectivamente, a operao, 0 =
T
xH , soma w(K) colunas de H cujo resultado
o vector nulo. Este conhecimento permite enunciar o seguinte resultado:

Resultado

Se para um cdigo linear K com matriz de teste de paridade H, o nmero
mnimo de colunas de H que, quando somadas geram o vector nulo n, ento
n K w = ) ( .

Resultado

Se para um cdigo linear K com matriz de teste de paridade H, no existem
combinaes de n ou menos colunas de H que, quando somadas geram o vector
nulo, ento n k w > ) ( .

Estrutura da matriz H para detectar um nico erro

Para detectar um nico erro necessrio que 2 ) ( = K w ou 1 ) ( > K w . A partir
do resultado anterior, isso significa que nenhuma coluna de H pode ser o vector
nulo, ou seja, w(K) pelo menos 2, e portanto, podemos detectar todos os erros
de um bit.


Vitor Silva, TIC 68 DEEC-FCTUC
Propriedade de H para detectar um nico erro

Um cdigo binrio linear K detecta um nico erro, se e s se, a sua matriz de
teste de paridade H no possui qualquer coluna nula, isto , igual ao vector nulo.

Estrutura da matriz H para corrigir um nico erro

Para podermos corrigir um nico erro necessrio que 3 ) ( = K w ou 2 ) ( > K w .
De acordo com o resultado anterior, isso significa que nenhuma coluna de H
pode o vector nulo ( 1 = n ) e a soma de nenhum par de colunas de H pode ser o
vector nulo ( 2 = n ), ou seja, as colunas de H devem ser distintas duas a duas.

Propriedade de H para corrigir um nico erro

Um cdigo binrio linear K corrige um nico erro, se e s se, a sua matriz de
teste de paridade H no possui colunas nulas ou iguais duas a duas.

Se uma matriz binria com r linhas no possui colunas nulas ou iguais duas a
duas, isso significa que o nmero de colunas,
r
c 2 < . Para uma matriz de teste
de paridade com (n-k) linhas e n colunas isso significa que:
k n
n

< 2 .

Propriedade de K para corrigir um nico erro

Um cdigo binrio linear K que corrige um nico erro verifica a condio:
k n
n

< 2
No entanto, note que esta condio necessria mas no suficiente.

Cdigos perfeitos para corrigir erros

Um cdigo binrio linear do tipo (n,k) formado por 2
k
palavras de cdigo de
comprimento n. Assim, existem 2
n
palavras possveis de comprimento n das
quais 2
k
so palavras de cdigo e
k n
2 2 no. Se o cdigo corrompido at t
erros, as palavras no pertencentes ao cdigo so da forma:

Tipo 1. Palavras no pertencentes ao cdigo situadas a uma distncia menor
ou igual a t precisamente de uma palavra de cdigo, isto , t ou menos
bits errados podem ser corrigidos.
Tipo2. Palavras no pertencentes ao cdigo situadas a uma distncia maior
que t de duas ou mais palavras de cdigo, isto , os erros s podem ser
detectados.

Vitor Silva, TIC 69 DEEC-FCTUC
Se todas as palavras no pertencentes ao cdigo so do tipo 1, ento o cdigo
designado por cdigo perfeito. Porque que os cdigos perfeitos so bons?

1. Cdigos perfeitos so sempre capazes de corrigir os erros de qualquer
palavra recebida, isto , no necessrio tratar os erros detectados. Os
sistemas FEC requerem cdigos perfeitos.
2. Cdigos perfeitos garantem uma taxa de informao mxima quando
pretendemos ter a capacidade de corrigir at t bits, e simultaneamente,
possuem a menor distncia mnima admissvel de 1 2 + t .

Definio formal de um cdigo perfeito

Um cdigo linear de comprimento n perfeito a corrigir t erros no sentido que
para qualquer palavra recebida, r, de comprimento n, existe precisamente uma
nica palavra de cdigo cuja distncia de Hamming a r menor ou igual a t.

Definio operacional de um cdigo perfeito

Se um cdigo linear (n,k) perfeito a corrigir t erros ento:

|
|
.
|

\
|
=
t
i
k n
i
n
0
2


Cdigos de Hamming

Os cdigos de Hamming que vamos considerar so uma classe muito importante
dos cdigos binrios lineares. Os cdigos de Hamming representam a famlia
dos cdigos perfeitos a corrigir um nico erro. Para corrigir um nico erro,
1 = t , necessrio que 3 ) ( = K d e sabendo que o cdigo perfeito, podemos
escrever:
1 2 e 1 2 1 2
0
= = = + =
|
|
.
|

\
|
=

=

m m n k n n
i
n
m m
t
i
k n

onde k n m = . Em resumo, as propriedades de um cdigo de Hamming so:

Propriedades de um cdigo de Hamming (n,k)

Comprimento do bloco: 1 2 =
m
n
Comprimento da palavra de informao: 1 2 = m k
m

Distncia mnima: 3 ) ( = K d
Nmero de erros: Correco de um nico erro

Vitor Silva, TIC 70 DEEC-FCTUC
Notas

1. Para corrigir um nico erro, H deve possuir colunas no nulas e distintas duas
a duas. Para m linhas, H pode ter no mximo 1 2
m
colunas no nulas e
distintas.
2. Uma vez que
n
m n
n
k
R

= =
, medida que aumentamos n mantendo m fixo,
a taxa de informao aumenta. A condio de cdigo perfeito, 1 2 =
m
n ,
implica uma taxa de informao mxima.


Cdigos de Hamming (uma possvel definio)

Um cdigo binrio linear designado por cdigo de Hamming se garantir para o
mesmo nmero m, a existncia de uma matriz de teste de paridade H com m
linhas e 1 2
m
colunas, em que as suas colunas so palavras binrias no nulas
de comprimento m.


Descodificao do sndroma em cdigos de Hamming

Uma vez que os cdigos de Hamming so perfeitos na correco de um nico
erro, ento todas as
n
2 possveis palavras recebidas, r, so uma palavra de
cdigo ou uma palavra de cdigo corrompida em 1 bit. Assim, para cada
possvel sndroma, s, deve existir um nico elemento principal. De acordo com a
condio de descodificao do sndroma para cdigos capazes de corrigir um
nico erro, vamos ter o seguinte algoritmo para descodificar cdigos de
Hamming:

1. Calcular o sndroma:
T
rH s =

2. Se s zero ento no h erros. Pelo contrrio, seja i a coluna de H igual a s.

3. Se s no zero, vamos corrigir o bit i da palavra recebida de forma a gerar a
palavra de cdigo, c.

4. Descodificar a palavra de informao, m, por eliminao dos (n-k) bits de
teste de paridade que foram concatenados a c.




Vitor Silva, TIC 71 DEEC-FCTUC
Notas

1. Os trs primeiros cdigos de Hamming so:

84 . 0 31 26 26 31 5
73 . 0 15 11 11 15 4
57 . 0 7 4 4 7 3
=
=
=
R k n m

2. A taxa de informao para os cdigos de Hamming :
1 2
1

=
m
m
n
m n
R
,
ou seja, R tende rapidamente para 1 quando aumentamos m, mas como s
corrigimos um nico erro, o aumento do comprimento do bloco significa uma
diminuio da proteco contra erros.

Tipos de erros e probabilidade de no detectar um erro

Quando descodificamos uma palavra podem ocorrer os seguintes tipos de erro:

1. Nenhum erro (caso ideal)
2. Erro detectado
a) Corrigido correctamente (o padro de erro mais provvel o
verdadeiro vector de erro: no fatal)
b) No possvel corrigir (s possvel detectar: no fatal)
c) Corrigido incorrectamente (o padro de erro mais provvel no o
verdadeiro vector de erro: fatal)
3. Erro no detectado (a palavra recebida uma palavra de cdigo mas
incorrecta, isto , no corresponde palavra enviada: fatal)

Num sistema de correco de erros do tipo FEC as situaes 2c e 3 so fatais.
Num sistema ARQ s a situao 3 fatal (as situaes 2 so resolvidas por
retransmisso da informao corrompida). Uma vez que a maioria dos sistemas
so do tipo ARQ, os erros no detectados so um problema universal.

Probabilidade de no detectar um erro

Um erro no detectado ocorre quando a palavra recebida, r, uma palavra de
cdigo diferente (
j
c r =
) daquela que foi transmitida, c
i
. Assim temos:
j i i
c c r c e + = + =

onde e a soma de duas palavras de cdigo, o que por definio tambm uma
palavra de cdigo.

Vitor Silva, TIC 72 DEEC-FCTUC
Condio para a ocorrncia de um erro no detectado

Um erro no detectado ocorre, se e s se, e uma palavra de cdigo no nula.

Para obtermos, P
und
, a probabilidade de no detectar um erro, as probabilidades
de ocorrncia de todos os possveis padres de erro que provocam uma no
deteco de erros devem ser somadas. A probabilidade de ocorrer um padro de
erro com peso de Hamming i :
i n i
p q

. Agora necessrio enumerar todos os
possveis padres de erro, e, o que de acordo com a condio acima enunciada,
corresponde efectivamente a enumerar todas as palavras de cdigo no nulas.
Seja A
i
o nmero de palavras de cdigo com peso de Hamming i. Assim temos:

=
n
i
i n i
i und
p q A P
1

Se o peso mnimo do cdigo d, ento, 0
1 2 1
= = =
d
A A A , o que nos permite
escrever:

Probabilidade de no detectar um erro

=
n
d i
i n i
i und
p q A P

onde A
i
o nmero de palavras de cdigo cujo peso de Hamming i e d o
peso mnimo do cdigo.

Notas

1. Um erro no detectado significa que o sndroma o vector nulo.
2. P
und
algumas vezes usado como medida de robustez do sistema de
comunicao.

Outros cdigos de deteco e correco de erros

Quando analisamos cdigos diferentes importante considerar:

Que tipos de erros podem ser detectados e corrigidos?
Qual a latncia da deteco e correco dos erros?
Qual a cobertura do cdigo em palavras detectveis?
Qual a capacidade de diagnstico do cdigo?
Para que tipo de dados o cdigo mais adequado?
o cdigo sistemtico?


Vitor Silva, TIC 73 DEEC-FCTUC
A discusso realizada at este momento sobre as caractersticas dos cdigos
partiu do princpio que os erros ocorrem aleatoriamente. No entanto, na prtica a
causa que provoca a existncia de erros pode prolongar-se por um perodo de
tempo suficiente para afectar uma sequncia de bits. Se uma sequncia de L bits
consecutivos subitamente sujeita a uma interferncia que origina um grande
nmero de erros, ento estamos numa situao designada por rajada de erros de
comprimento L. Um caso particular de uma rajada de erros o erro
unidireccional mltiplo que corresponde a um grupo de bits todos a 1 ou a 0.

Cdigos m em n

Os cdigos m em n so formados por um conjunto de vectores de n bits, onde
cada vector uma palavra de cdigo, se e s se, possuir m bits a 1. O cdigo 2
em 5 o exemplo mais significativo deste tipo de cdigo.

Mensagem Palavra de cdigo
1 00011
2 00101
3 01001
4 10001
5 00110
6 01010
7 10010
8 01100
9 10100
10 11000

Propriedades:

Cdigo no sistemtico (necessita de uma tabela de consulta)
Detecta um nico erro
Detecta erros unidireccionais mltiplos
Usado na codificao de sinais de controlo

Uma vez que o cdigo no sistemtico a sua utilizao na codificao e
descodificao de mensagens muito limitada. No entanto, como os sinais de
controlo no precisam de ser descodificados, s interpretados, so um campo de
aplicao deste tipo de cdigos.


Vitor Silva, TIC 74 DEEC-FCTUC
Cdigos baseados em somas de teste ou de verificao

Estes cdigos so gerados pela concatenao de uma palavra n bits de teste a um
bloco de s palavras de n bits. A palavra de teste obtida a partir da adio
mdulo 2
n
de todas as s palavras de informao de n bits. A operao de
codificao pode ser realizada simplesmente por um somador sem transporte de
n bits que soma as s palavras. A operao de descodificao pode ser realizada
custa de um somador do mesmo tipo de forma a obtermos a soma das s palavras
recebidas, seguido de um circuito XOR para comparar a palavra de teste
calculada com a palavra de teste recebida. Se o resultado desta comparao for
zero, isso significa que no houve erros na transmisso.

Propriedades:

Simples de realizar em lgica digital rpida
Detecta no mximo um erro
Grande latncia ( necessrio esperar pelo fim de um bloco de dados)
Baixa capacidade de diagnstico (o erro pode estar em qualquer lugar no
bloco de s palavras)
Usado em dispositivos de armazenamento sequencial, em discos, em
memrias, etc.

Vitor Silva, TIC 75 DEEC-FCTUC
Modificao de cdigos lineares

Se um cdigo conhecido C tem boas caractersticas (segundo um dado critrio),
natural pensarmos que outro obtido a partir deste apresente tambm
propriedades similares. prtica comum a modificao de cdigos utilizando as
seguintes tcnicas:

Mantendo fixo o comprimento das palavras de cdigo

Aumento
Um cdigo C aumentado por adio de novas palavras de cdigo. Por
exemplo, um cdigo (n,k) transforma-se em (n,k+1) com diminuio da
redundncia.

Eliminao
Um cdigo C expurgado por eliminao de algumas das suas palavras de
cdigo. Por exemplo, um cdigo (n,k+1) transforma-se em (n,k) com o aumento
da redundncia.

Exemplo
Transformao de um cdigo (7,4) em (7,3) e vice-versa, por aumento e
eliminao de palavras de cdigo.
Eliminaao
Aumento
Eliminaao
Aumento
1 1 0 1 0 0 0
1 0 1 1 1 0 0
0 1 1 0 1 0 0
0 1 0 1 1 1 0
0 0 1 1 0 1 0
0 0 1 0 1 1 1
0 0 0 1 1 0 1
1 1 1 1 1 1 1
0 0 1 0 1 1 1
0 0 1 0 1 1 1
0 1 0 1 1 1 0
0 1 0 1 1 1 0
1 0 0 1 0 1 1
1 0 0 1 0 1 1
G G
H H
(
(
(
(
(
= =

(
(
(
(


(
(

(

= =

(

(



(
(
(
(

(7,4) (7,3)

Mantendo fixo o comprimento das palavras de mensagem

Extenso
Um cdigo C estendido por adio de um novo bit de teste (ou mais). Um
cdigo (n,k) transforma-se em (n+1,k) com aumento da redundncia.

Perfurao
Um cdigo C perfurado por eliminao de um bit de teste (ou mais). Um
cdigo (n+1,k) transforma-se em (n,k) com diminuio da redundncia.

Vitor Silva, TIC 76 DEEC-FCTUC
Exemplo
Transformao de um cdigo (7,4) em (8,4) e vice-versa, por extenso e
perfurao das palavras de cdigo.

Extensao
Perfuraao
Extensao
Perfuraao
1 1 0 1 0 0 0 1 1 1 1 1 1 1 1
0 1 1 0 1 0 0 0 1 0 1 1 1 0 0
0 0 1 1 0 1 0 0 0 1 0 1 1 1 0
0 0 0 1 1 0 1 0 0 0 1 0 1 1 1
1 1 1 1 1 1 1 1
0 0 1 0 1 1 1
0 0 0 1 0 1 1 1
0 1 0 1 1 1 0
0 0 1 0 1
1 0 0 1 0 1 1
G G
H H
( (
( (
( (
= =

( (
( (

(
(

= =

(
(

1 1 0
0 1 0 0 1 0 1 1
(
(
(
(
(


(7,4) (8,4)


Mantendo fixa a redundncia

Prolongamento
Um cdigo C prolongado por adio de um novo bit de mensagem (ou mais),
mas mantendo fixo o nmero de bits de teste. Um cdigo (n,k) transforma-se em
(n+1,k+1).

Reduo
Um cdigo C reduzido por eliminao de um bit de mensagem (ou mais), mas
mantendo fixo o nmero de bits de teste. Um cdigo (n+1,k+1) transforma-se
em (n,k).

Exemplo
Transformao de um cdigo (7,3) em (8,4) e vice-versa, por prolongamento e
reduo das palavras de cdigo.
Prolongamento
Reduao
Prolongamento
Reduao
1 1 1 1 1 1 1 1
1 0 1 1 1 0 0
0 1 0 1 1 1 0 0
0 1 0 1 1 1 0
0 0 1 0 1 1 1 0
0 0 1 0 1 1 1
0 0 0 1 0 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
0 0 1 0 1 1 1 0 0 0 1 0
0 1 0 1 1 1 0
1 0 0 1 0 1 1
G G
H H
(
(
(
(
(
= =

(
(
(
(


(
(
(
= =

(
(

1 1 1
0 0 1 0 1 1 1 0
0 1 0 0 1 0 1 1
(
(
(
(
(


(7,3) (8,4)


Vitor Silva, TIC 77 DEEC-FCTUC
Cdigos cclicos

Introduo

O problema principal dos cdigos baseados em somas de teste ou verificao
que a simples soma de bits no produz um resultado suficientemente complexo.
Neste contexto, complexo significa que os bits de informao devem influenciar
grandemente a soma de teste de forma a que esta seja bastante sensvel aos
vrios padres de erro, e portanto, que seja possvel detectar a generalidade dos
casos de erro. Uma operao de teste mais complexa que podemos usar a
diviso em vez da soma, e em particular, o resto da diviso.

Nos pontos anteriores os conceitos de matriz de teste de paridade, gerao dos
bits de teste e descodificao do sndroma como mtodos eficientes de projecto
e realizao de cdigos lineares foram abordados do ponto de vista da lgebra
linear aplicada a matrizes binrias. Os cdigos cclicos so uma subclasse dos
cdigos lineares que satisfazem as seguintes propriedades:


Cdigos cclicos

Propriedade da linearidade: A soma de qualquer par de palavras de cdigo
tambm uma palavra de cdigo.
Propriedade circular: Qualquer deslocamento circular de uma palavra de
cdigo tambm uma palavra de cdigo.


Num cdigo cclico sistemtico os bits de teste so gerados a partir do resto de
uma diviso. Estes cdigos so analisados no representando as palavras como
vectores binrios e usando lgebra linear aplicada a matrizes binrias, mas sim,
representando as palavras como polinmios binrios e usando aritmtica
polinomial mdulo 2. Analogamente aos cdigos lineares, os cdigos cclicos
permitem tambm realizaes eficientes das operaes de codificao e de
descodificao, as quais so geralmente mais fceis de realizar em lgica rpida
e em arquitecturas de processamento srie da informao.
As propriedades dos cdigos cclicos permitem tambm projectar cdigos com
caractersticas especficas, nomeadamente, para o tratamento de erros no
aleatrios como sejam as rajadas de erros. Portanto, no uma surpresa o facto
que as modernas tcnicas de codificao de canal usem cdigos cclicos, e em
particular, na deteco de erros a importante classe dos cdigos designados por
CRC (Cyclic Redundancy Check).


Vitor Silva, TIC 78 DEEC-FCTUC
Polinmios cdigo e propriedade circular

Considere a palavra de informao de comprimento k representada por:
1 2 1 0 k k
m m m m
onde m
0
o bit mais significativo e m
k-1
o bit menos significativo. Considere a
palavra de cdigo de comprimento n representada por:
1 2 1 0 n n
c c c c
onde c
0
o bit mais significativo e c
n-1
o bit menos significativo. Considere
tambm os (n-k) bits de teste representados por:
1 2 1 0 k n k n
b b b b
Vamos assumir que o cdigo sistemtico, e portanto:

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

k k k n k n n n k n k n k n
m m m b b b b c c c c c c c


Para uma palavra de cdigo de comprimento n vamos definir o polinmio de
cdigo, C(x), como:

=
=
1
0
) (
n
i
i
i
x c x C

Similarmente, podemos definir o polinmio mensagem, M(x), como:

=
=
1
0
) (
k
i
i
i
x m x M

e tambm


=
=
1
0
) (
k n
i
i
i
x b x B

Para um cdigo sistemtico temos:

) ( ) ( ) ( x M x x B x C
k n
+ =
Seja ) (
) (
x C
j
a rotao de C(x) direita de j posies. Podemos mostrar que:
) ( ) 1 )( ( ) (
) (
x C x x Q x C x
j n j
+ + =
isto :
) 1 mod( ) ( ) (
) (
+ =
n j j
x x C x x C
ou seja, o resto da diviso de ) (x C x
j
por ) 1 ( +
n
x representa o polinmio
cdigo de uma palavra de cdigo rodada ciclicamente j vezes direita.

Note:
No esquecer que estamos a usar aritmtica binria mdulo 2:
j i j i
x x x x + = ;
0 = +
i i
x x e 0 1 1 = + .

Vitor Silva, TIC 79 DEEC-FCTUC
Considere agora a palavra binria de comprimento ) 1 ( + k n representada por:
k n k n
g g g g
1 1 0

onde por definio, 1
0
= =
k n
g g . O correspondente polinmio conhecido por:

Polinmio gerador

+ + =
1
1
1 ) (
k n
i
k n i
i
x x g x G


Vamos escolher G(x) de forma a ser um factor de 1 +
n
x , isto ,
) ( ) ( 1 x H x G x
n
= + , onde H(x) designado por polinmio de teste de paridade, e
simultaneamente, gerar todas as palavras da forma, ) ( ) ( ) ( x G x A x C = , como
polinmios cdigo pertencentes ao cdigo definido por G(x). O cdigo assim
definido obviamente linear, mas ser tambm cclico? Isto , um deslocamento
circular de C(x) gera um polinmio que pode ser definido por, exemplo por,
( ) ( ) D x G x , e portanto, pertencer ao cdigo?
A partir da equao de rotao podemos escrever aps substituies adequadas o
seguinte:
) ( ) ( ) ( ) ( ) ( ) (
) (
x C x H x G x Q x G x A x
j j
+ =
Dividindo esta equao por G(x) vamos obter:
) (
) (
) ( ) ( ) (
) (
x G
x C
x H x Q x A x
j
j
+ =

ou
( )
( )
( ) ( ) ( ) ( )
( )
j
j
C x
x A x Q x H x D x
G x
= + =

e finalmente:
( )
( ) ( ) ( )
j
C x D x G x =
Sendo assim, podemos enunciar o seguinte resultado:


Resultado

Se o polinmio de grau (n-k), G(x), definido anteriormente um factor de
) 1 ( +
n
x , ento todos os polinmios de cdigo, isto , todas as palavras de
cdigo, formadas a partir do produto ) ( ) ( x G x A , onde A(x) um polinmio
qualquer de grau (k-1), pertencem ao cdigo cclico (n,k) definido por G(x).




Vitor Silva, TIC 80 DEEC-FCTUC
Notas
1. Os graus dos polinmios definidos at este momento so:
C(x) um polinmio de grau n-1
M(x) um polinmio de grau k-1
G(x) um polinmio de grau n-k
B(x) um polinmio de grau n-k-1
2. O produto de um polinmio de grau x com um polinmio de grau y um
polinmio de grau x+y, e portanto, A(x) um polinmio de grau k-1.
3. Existem 2
k
polinmios A(x) possveis, e portanto, 2
k
possveis polinmios
cdigo.
4. G(x) depende unicamente do grau, (n-k) e do facto de ser um factor de
) 1 ( +
n
x , ou seja, para o mesmo G(x) possvel projectar conjuntos
diferentes de cdigos de comprimento n.

Da mesma forma que a matriz de teste de paridade H usada para definir um
cdigo linear, o polinmio gerador, G(x), usado para definir um cdigo cclico.

Codificao e descodificao de cdigos cclicos usando o mtodo
algbrico

Fazendo ) ( ) ( x M x A = , podemos obter simplesmente, ) ( ) ( ) ( x G x M x C = , mas
isto no nos permite obter um cdigo sistemtico. Para um cdigo sistemtico
devemos ter:
) ( ) ( ) ( ) ( ) ( x M x x B x G x A x C
k n
+ = =
ou,
) (
) (
) (
) (
) (
x G
x B
x A
x G
x M x
k n
+ =


ou seja, B(x) o resto da diviso de ) (x M x
k n
por G(x).
Codificao de cdigos cclicos

1. Exprimir a mensagem na forma de polinmio, M(x).
2. Formar ) (x M x
k n
.
3. Dividir ) (x M x
k n
por G(x) de forma a encontrar o resto, B(x).
4. Formar o polinmio cdigo, ) ( ) ( ) ( x M x x B x C
k n
+ = .
5. Converter C(x) para a forma binria, isto , obter a palavra de cdigo.

Na operao de descodificao considere o polinmio de grau n-1, R(x),
correspondente palavra recebida. Seja S(x) o resto da diviso de R(x) por G(x).
Uma vez que ) ( ) ( ) ( x G x A x C = , e considerando o caso no haver erros, ento,

Vitor Silva, TIC 81 DEEC-FCTUC
) ( ) ( x C x R = , e portanto, o resto da diviso zero, isto , 0 ) ( = x S . Se 0 ) ( x S
ento ficamos a saber automaticamente que existem erros. O polinmio S(x)
designado por polinmio sndroma.

Como se relaciona S(x) com o polinmio de erro, E(x)?

Temos:
) ( ) ( ) ( x E x C x R + =
Agora:
) ( ) ( ) ( ) ( ) ( ) ( x E x G x A x S x G x Q + = +

onde Q(x) o quociente e S(x) o resto da diviso de R(x) por G(x). Ento:
) ( ) ( )) ( ) ( ( ) ( x S x G x A x Q x E + + =

O sndroma pode ser obtido como o resto da diviso do polinmio erro, E(x), por
G(x), isto , ) ( mod ) ( ) ( x G x E x S = . Da mesma forma que o sndroma s
dependia do padro de erro no caso dos cdigos lineares, no caso dos cdigos
cclicos s depende do polinmio erro. Assim, o polinmio sndroma pode ser
utilizado na determinao do polinmio de erro mais provvel.

Descodificao de cdigos cclicos

1. Exprimir a palavra recebida da forma de polinmio, R(x).
2. Dividir R(x) por G(x) de forma a encontrar o resto, S(x).
3. Se 0 ) ( = x S , isso significa que no h erros.
4. Se 0 ) ( x S ento um erro foi detectado e o elemento principal dos
polinmios de erro associados a S(x) utilizado para corrigir o erro.

Notas

1. O polinmio gerador, G(x), pode ser relacionado com a matriz geradora, G,
e o polinmio de teste de paridade, H(x), pode ser relacionado com a matriz
de teste de paridade, H.
2. Os cdigos de Hamming so cdigos cclicos! Por exemplo, o cdigo de
Hamming (7,4) pode ser obtido com
3
1 ) ( x x x G + + = . O correspondente
polinmio,
4 2
1 ) ( x x x x H + + + = , pode ser usado na construo da matriz
de teste de paridade do referido cdigo.
3. S(x) um polinmio de grau 1 k n e E(x) um polinmio de grau 1 n .



Vitor Silva, TIC 82 DEEC-FCTUC
Determinao da matriz geradora e da matriz de teste de
paridade a partir de G(x)

Como vimos anteriormente, podemos escrever ) ( ) ( ) ( x G x M x C = . Esta
expresso no nos d directamente um cdigo sistemtico mas permite-nos obter
as matrizes desejadas, G e H, respectivamente, tal como foram definidas no
ponto dedicado aos cdigos binrios lineares, ou seja:

[ ] [ ] G m m m c c c
k n
=
1 1 0 1 1 0

Agora considere:

) ( ) ( ) ( ) (
) ( ) (
) ( ) ( ) (
1
1
2
2 1 0
1
1
2
2 1 0
x G x m x G x m x xG m x G m
x G x m x m x m m
x G x M x C
k
k
k
k

+ + + + =
+ + + + =
=



ou ainda:

) ( ) ( ) ( ) (
1
1
2
2 1 0
1
1 1 0
x G x m x G x m x xG m x G m x c x c c
k
k
n
n

+ + + + = + + +

Atendendo a que:

k n
k n
x g x g x g g x G

+ + + + =
2
2 1 0
) (

i k n
k n
i i i i
x g x g x g x g x G x
+

+
+ + + + =
2
2 1 0
) (

podemos escrever na forma matricial:

[ ] [ ]
[ ]
[ ]
[ ]
1 2
2 1
1
0 1
2
2
4
2
3
1
2
0 2
1 3
2
2
1 0 1
2
2 1 0 0
1
1 1 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0

+
+
+

+ +
+
+ =
n
k n
k k k
k
k n
k n
k n
k n
k n
k n
n
n
x g x g x g x g m
x g x g x g x g m
x g x g x g x g m
x g x g x g g m x c x c c





ou ainda:

[ ] [ ]
(
(
(
(
(
(


k n
k n
k n
k n
k n
g g g g
g g g g
g g g g
g g g g
m m m c c c






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


Vitor Silva, TIC 83 DEEC-FCTUC
o que nos permite obter finalmente a matriz G. Uma vez obtida a matriz
geradora relativamente fcil obter a sua verso sistemtica, atravs da
aplicao de operaes elementares sobre as suas linhas. Na posse da matriz G
na forma sistemtica, a obteno da matriz H trivial. Em resumo:


1. Formar a matriz G a partir de G(x) como se mostrou anteriormente.
2. Realizar as operaes necessrias sobre as linhas de G com o objectivo de a
converter para a forma sistemtica.
3. Determinar a matriz H na forma sistemtica a partir de G.



Vitor Silva, TIC 84 DEEC-FCTUC
Codificao e descodificao de cdigos cclicos usando registos de
deslocamento

Os coeficientes do polinmio gerador, g
i
, so utilizados no projecto de um
circuito de registos de deslocamento para realizar a operao de diviso. Uma
arquitectura possvel de um codificador mostrada na figura seguinte:



Se g
i
= 1 ento um somador includo. Pelo contrrio, se g
i
= 0 no necessrio
qualquer somador. Cada registo de bit um simples flip-flop sncrono do tipo D.
A operao de codificao realizada simplesmente pela inicializao dos
registos a zero seguido do deslocamento da palavra de informao atravs dos
registos. Aps todos os bits de informao terem sido deslocados para dentro do
circuito de registos, os bits de teste de paridade, isto o resto da diviso, so o
contedo dos registos, b b b
n k 0 1 1


. Este bits podem ser concatenados
mensagem por deslocamento do contedo dos registo atravs da sada.
A operao de descodificao realizada pela inicializao a zero dos registos
seguido pelo deslocamento atravs dos registos da palavra recebida. No fim
desta operao o contedo dos registos o sndroma. No caso deste ser zero,
isso significa que a palavra recebida uma palavra de cdigo. Seno, o
sndroma calculado ser utilizado na correco dos erros. Uma arquitectura
possvel de um descodificador mostrada na figura seguinte:



Vitor Silva, TIC 85 DEEC-FCTUC
Cdigos CRC

Os cdigos CRC so cdigos especialmente projectados para a deteco de
erros. Existem vrias razes pelas quais os cdigos CRC so os melhores
cdigos de deteco:

1. A realizao prtica do codificador e do descodificador fcil e rpida,
particularmente, na comunicao de dados que sejam processados no
formato srie.
2. Os cdigos CRC so capazes de detectar vrias combinaes de erros,
nomeadamente, combinaes de rajadas de erros, assim como, erros
aleatrios.

Uma vez que os cdigos CRC s detectam erros no necessrio neste caso,
descodificar o sndroma. O sndroma calculado e testado para verificar se
zero ou no, pelo que, podemos utilizar um circuito idntico na codificao e na
descodificao.

Polinmios geradores e aplicaes dos cdigos CRC

Temos:
R x C x E x ( ) ( ) ( ) = +
Ento:
R x G x C x E x G x E x G x ( ) mod ( ) ( ( ) ( )) mod ( ) ( ) mod ( ) = + = + 0

Os erros so no detectados se E x G x ( ) mod ( ) = 0 , isto , se E(x) um mltiplo
de G(x). Para minimizar esta possibilidade devemos escolher G(x) de forma que
os seus mltiplos sejam diferentes dos padres de erro mais provveis, E(x).

Resultados importantes na escolha de um polinmio gerador, G(x):

Para detectar erros de um bit, E x x
i
( ) = . Se G(x) tem dois ou mais termos
ento nunca ser factor de E x x
i
( ) = , isto , E x G x ( ) mod ( ) 0 , e portanto,
todos os erros de um bit sero detectados. Por exemplo, G x x ( ) = + 1 .

Para detectar erros duplos, E x x x x x
i j i j i
( ) ( ) = + = +

1 . Se G(x) tem dois ou
mais termos e no um factor de 1+ x
r
para r n = 12 , , , , ento nunca ser
um factor de E x x x
i j i
( ) ( ) = +

1 , e portanto, todos os erros duplos sero
detectados. Por exemplo, G x x x ( ) = + + 1
14 15
no factor de 1+ x
r
para
r < 32768!

Vitor Silva, TIC 86 DEEC-FCTUC
Pode ser demonstrado que um polinmio tem um factor do tipo, ( ) 1+ x , se e
s se, possuir um nmero par de termos. Portanto, para um nmero mpar de
erros, E(x) tem um nmero mpar de termos e no tem por conseguinte,
( ) 1+ x como factor. Se G(x) tem um nmero par de termos, ento tem
( ) 1+ x como factor, e portanto, G(x) no divide E(x) e por consequncia
todos os erros em nmero mpar sero detectados. Por exemplo,
x x G + =1 ) ( .

Se existem rajadas de erros de comprimento r ou menor, ento
E x x x
i r
( ) ( ) = + +

1
1
onde i determina a posio referenciada direita a
partir da qual a rajada localizada. Se G(x) um polinmio de grau r ento
rajadas de erros de comprimento menor ou igual a r implicam que E(x)
possua o termo x
i
e um polinmio de grau inferior a r como factores. Uma
vez que um polinmio de grau reduzido, E(x), no pode dividir um polinmio
de maior grau e G(x) tem dois ou mais termos (nunca divide x
i
), ento todas
as rajadas de erros de comprimento menor ou igual a r podem ser detectadas.


Nome (n,k) G(x)
CRC-12 (12+k,k)
12 11 3 2
1 x x x x x + + + + +
CRC-16 (16+k,k)
16 15 2
1 x x x + + +
CRC-32 (32+k,k)
32 26 23 22 16 12 11 10 8 7 5 4 2
1 x x x x x x x x x x x x x x + + + + + + + + + + + + + +
CRC-CCITT (16+k,k)
16 12 5
1 x x x + + +


Cdigos BCH

Estes cdigos so a mais importante e poderosa classe de cdigos binrios
lineares. Os cdigos binrios BCH mais comuns, conhecidos por cdigos BCH
primitivos, so caracterizados pelo seguinte:

Cdigos BCH

Comprimento do bloco: n
m
= 2 1 para 3 m
Comprimento da palavra de informao: k n mt
Distncia mnima: d t
min
+ 2 1
Correco de erros: t bits com t
m
( ) 2 1 2

Os cdigos BCH so capazes de corrigir t erros. Os cdigos de Hamming para
corrigir um nico erro podem ser descritos como cdigos BCH.


Vitor Silva, TIC 87 DEEC-FCTUC
Cdigos de Reed-Solomon

Os cdigos de Reed-Solomon, tambm designados por cdigos RS, so uma
importante classe de cdigos BCH no binrios. O processo de codificao
transforma k smbolos em n smbolos onde cada smbolo uma palavra de m
bits. Obviamente, m= 8 um caso muito popular pois isso significa que
podemos operar com blocos de bytes. Os cdigos RS tm as seguintes
caractersticas:

Cdigos RS

Comprimento do bloco: n
m
= 2 1 smbolos
Comprimento da palavra de informao: k smbolos
Nmero de smbolos de teste: n k t = 2 smbolos
Distncia mnima: d t
min
+ 2 1 smbolos
Correco de erros: t smbolos


Cdigos de convoluo

Nos cdigos de bloco, uma palavra de k bits transformada numa palavra de n
bits. Esta operao requer o armazenamento de k bits no codificador e de n bits
no descodificador. Em muitas aplicaes, e em particular, em comunicao de
dados, os dados so transmitidos no formato srie, pelo que sistemas de
codificao baseados em processamento srie de dados so muito importantes.
Tais cdigos so designados por cdigos de convoluo.

Propriedades:

O processo de codificao aplica-se continuamente aos dados em vez de
esperarmos pelo seu armazenamento de forma a formatar em blocos.
So utilizados esquemas no sistemticos.

Você também pode gostar