Você está na página 1de 34

5_Convolucional_V2011 - Geraldo Gil R.

Gomes
5.1







Alm dos Cdigos de Blocos Lineares, os Cdigos Convolucionais compem outra grande
famlia de cdigos corretores de erros. Este captulo descreve os fundamentos dos cdigos
convolucionais, sendo que os principais tpicos abordados nessas notas de aulas so:

O codificador convolucional e suas representaes;
Decodificao de Cdigos Convolucionais com o algoritmo de Viterbi;
Capacidade de correo de erros dos Cdigos Convolucionais;
Cdigos Convolucionais Catastrficos;
Cdigos Convolucionais sistemticos; e
Melhores Cdigos Convolucionais Conhecidos.


5.1. INTRODUO

Considere o bloco de codificao apresentado na Figura 5.1, que representa um codificador
convolucional. A mensagem m a ser codificada representada pela seqncia m = m
1
, m
2
, ... ,
m
i
, ... , onde cada m
i
representa um bit e i o ndice correspondente ao tempo.






Figura 5.1 Bloco de codificao convolucional.


Suponha que m
i
assuma os valores zero ou um de forma equiprovvel e que a presena de um
ou outro seja estatisticamente independente, ou seja, o bit presente no depende de seu
predecessor nem influencia seu sucessor.

O codificador transforma cada seqncia m em uma nica seqncia cdigo c = G(m). A
seqncia U pode ser segmentada em uma seqncia de palavras ramos: c = c
1
, c
2
, ... , c
i
, ...
Cada palavra ramo c
i
um smbolo cdigo binrio, freqentemente chamado de smbolo do
canal, bits do canal ou bits cdigos. Ao contrrio dos bits da mensagem de entrada, os bits
dos smbolos cdigos no so independentes.

Isto significa que embora uma seqncia m defina uma nica seqncia c, uma caracterstica
chave dos cdigos convolucionais que um elemento m
i
de uma seqncia de entrada m no
suficiente para definir seu smbolo cdigo associado c
i
em U, uma vez que a codificao de
cada elemento m
i
no apenas funo do prprio

m
i
, mas tambm do elemento m
i-1
que o
precedeu.
5
CDIGOS CONVOLUCIONAIS
Codificador
Convolucional
Seqncia de entrada
m = m
1
, m
2
, ... , m
i
, ...
Seqncia codificada
c =G(m)
c = c
1
, c
2
, ... , c
i
, ...
Onde c
i
= c
1i
, ... , c
ji
, ... , c
ni
5. Cdigos Convolucionais
5_Convolucional_V2011 - Geraldo Gil R. Gomes
5.2
Um codificador convolucional genrico, mostrado na Figura 2.2, constitudo de um
registrador de deslocamento de kK estgios e somadores mdulo-2, onde K determina a
extenso de influncia, ou profundidade do cdigo. A profundidade influncia de um cdigo
convolucional definida como sendo o mximo nmero de bits codificados que podem ser
afetados por um nico bit de entrada.

A cada unidade de tempo, k bits so deslocados para os primeiros k estgios do registrador;
todos os bits no registrador so deslocados k bits para a direita e, as sadas dos n somadores
so seqencialmente amostradas para a obteno do smbolo cdigo ou bits cdigos. Uma vez
que n bits cdigos so obtidos na sada para cada grupo de k bits de mensagem, a taxa do
cdigo k/n bits de mensagem por bits cdigos, onde k < n.


Figura 5.2 - Codificador convolucional.


5.2. REPRESENTAES E CARACTERSTICAS BSICAS DO CODIFICADOR
[1] [2] [3]

Para descrever um cdigo convolucional necessrio caracterizar a funo de codificao
G(m) de tal forma que, dada uma seqncia de entrada m, seja possvel determinar a sada
codificada c. Uma abordagem muito comum para apresentar o processo da codificao
convolucional por meio de um exemplo. Assim sendo, os tpicos apresentados a seguir
mostram as formas de representao mais comuns bem como as caractersticas bsicas de um
codificador convolucional e seu princpio de operao.
1 2 3 kK Seqncia
de entrada
m
kK estgios
registradores de
deslocamento
n
somadores
mdulo-2
+
+
+
Seqncia
cdigo c
5. Cdigos Convolucionais
5_Convolucional_V2011 - Geraldo Gil R. Gomes
5.3
5.2.1. REPRESENTAO PICTORIAL

A representao pictorial nada mais do que o desenho do codificador. Considere, por
exemplo, o codificador convolucional apresentado na Figura 5.3, onde a cada instante de
tempo, um bit de entrada ocupa a posio mais a esquerda do registrador de deslocamento
(k = 1). Como o codificador possui dois somadores mdulo-2, para cada bit que entra no
codificador, dois bits cdigos so gerados na sada pela amostragem dos resultados dos dois
somadores. Logo este codificador gera um cdigo de taxa k/n = 1/2, com profundidade K = 3.

Figura 5.3 - Codificador convolucional (taxa 1/2, K = 3).


A escolha entre das conexes entre os somadores e os estgios do(s) registrador(es)
determinam as caractersticas do cdigo. Qualquer mudana na escolha das conexes resulta
em um cdigo diferente. As conexes no so escolhidas arbitrariamente, entretanto elas
afetam as caractersticas de distncia do cdigo, ou seja, seu desempenho. Esta escolha
complicada e no existe, at o momento, uma regra geral que de escolha de conexes que
maximize a distncia de um cdigo. Bons cdigos, com profundidade menor que 20, tm sido
obtidos atravs de busca computacional.

Ao contrrio dos cdigos de bloco que possuem palavras com comprimento fixo, um cdigo
convolucional no possui um tamanho de bloco particular. No entanto, cdigos
convolucionais so freqentemente forados para uma estrutura de bloco atravs de um
truncamento peridico. Isso requer um nmero de bits zeros adicionados ao final de uma
seqncia com o propsito de esvaziar o contedo dos registradores de deslocamento. Como
os zeros adicionados no transportam informao, a taxa efetiva de codificao cai abaixo de
k/n. Para manter a taxa de codificao prxima de k/n, o perodo de truncamento deve ser
feito to longo quanto prtico.

Bit de
entrada
m
+
+
c
1
c
2
Sada
5. Cdigos Convolucionais
5_Convolucional_V2011 - Geraldo Gil R. Gomes
5.4

5.2.2. PRINCPIO DE OPERAO

Suponha agora que a mensagem m(X) = 1 + X + X
3
deve ser codificada pelo codificador da
Figura 5.3. O processo de codificao mostrado passo a passo na Figura 5.4 e as entradas,
registro de todos os estados dos registradores e sada cada deslocamento so apresentados na
Tabela 5.1.



Figura 5.4 Codificao da mensagem m = 1101 atravs da mquina de estados, obtida passo
a passo.


+
+

+
+
1 0 0
Deslocamento 1
c
1
c
2
c
1
c
2

1 1
0 1 0
Deslocamento 2
c
1
c
2
c
1
c
2

1 0

+
+

+
+
1 0 1
Deslocamento 3
c
1
c
2
c
1
c
2

0 0
1 1 0
Deslocamento 4
c
1
c
2
c
1
c
2

0 1

+
+

+
+
0 1 1
Deslocamento 5
c
1
c
2
c
1
c
2

0 1
0 0 1
Deslocamento 6
c
1
c
2
c
1
c
2

1 1
5. Cdigos Convolucionais
5_Convolucional_V2011 - Geraldo Gil R. Gomes
5.5
Tabela 5.1 - Codificao da mensagem m(X) = 1 + X + X
3

para o codificador da Figura 5.3.

DESLOCAMENTO ENTRADA
CONTEDO DOS
REGISTRADORES
SADA
c
1
c
2
0 1 0 0 0 -
1 0 1 0 0 11
2 1 0 1 0 10
3 1 1 0 1 00
4 0 1 1 0 01
5 0 0 1 1 01
6 0 0 0 1 11
7 - 0 0 0 00

Sada: 11 10 00 01 01 11.


Observe, na Tabela 5.1, que foi necessrio acrescentar dois zeros para a obteno da
seqncia codificada de sada e trs zeros para esvaziar totalmente o registrador de
deslocamento. Independentemente do tamanho da seqncia a ser codificada, necessrio
acrescentar k.K -1 zeros para a obteno da seqncia cdigo de sada. Conseqentemente, o
zero do stimo deslocamento desnecessrio e o primeiro bit de um novo bloco de entrada
poderia estar no primeiro estgio do registrador de deslocamento.

A Figura 5.3 mostra um codificador em sua forma pictorial. Outra forma de representar o
codificador atravs da especificao de um conjunto de n vetores conexo, um para cada
somador mdulo-2. Cada vetor tem a dimenso k.K e descreve as conexes entre os estgios
do registrador de deslocamento e os somadores mdulo-2. Um um na i-sima posio do vetor
indica que o estgio correspondente do registrador de deslocamento est conectado ao
somador representado pelo vetor e um zero em uma dada posio indica que aquela posio
no conectada ao somador. Para o codificador da Figura 2.3, pode-se escrever os vetores
conexo g
1
e g
2
para os dois somadores como

101
111
2
1
=
=
g
g



5.2.3. RESPOSTA AO IMPULSO DO CODIFICADOR

Pode-se determinar a resposta ao impulso de um codificador convolucional, fazendo um
nico "1" atravess-lo desde o primeiro estgio do registrador de deslocamento at o ltimo.
Para o codificador da Figura 5.3, a resposta ao impulso pode ser obtida de acordo com a
Tabela 5.2.


5. Cdigos Convolucionais
5_Convolucional_V2011 - Geraldo Gil R. Gomes
5.6
Tabela 5.2 - Resposta ao impulso do Codificador Convolucional apresentado na Figura 5.3.

DESLOCAMENTO
CONTEDO DOS
REGISTRADORES
SADA
1 1 0 0 11
2 0 1 0 10
3 0 0 1 11


Resposta ao impulso: 11 10 11. Note que a resposta ao impulso pode ser obtida diretamente
dos vetores conexo, conforme mostrado a seguir.

g
1
=
g
2
=
1
1
1
0
1
1
11 10 11

A resposta ao impulso permite a determinao da sada do codificador para uma dada entrada
m, pela superposio ou adio linear das respostas ao impulso deslocadas no tempo, ou
ainda, pela convoluo da seqncia de entrada com a resposta ao impulso do codificador.
Para a mensagem m = 1 1 0 1, a sada do codificador obtida a partir da resposta ao impulso
obtida da forma como se segue.

Entrada m Sada
1 1 1 1 0 1 1
0 0 0 0 0 0 0
1 1 1 1 0 1 1
1 1 1 1 0 1 1
Soma
mdulo-2
1 1 1 0 0 0 0 1 0 1 1 1

A resposta ao impulso deslocada pode ser representada tambm na forma matricial, e a
seqncia cdigo c pode ser obtida da forma c = m.G, da mesma forma que para cdigos de
blocos lineares.

[ [[ [ ] ]] ] 11 01 01 00 10 11
11 10 11
11 10 11
11 10 11
11 10 11
1 1 0 1 = == =
( (( (
( (( (
( (( (
( (( (

( (( (






= == = = == = G m c


Note que as dimenses da matriz dependem da resposta ao impulso e do comprimento da
mensagem.

interessante notar ainda que apesar da taxa de codificao do codificador em questo ser
igual a , uma mensagem de 4 bits produziu uma seqncia codificada de 12 bits, ou seja,
uma taxa igual a 4/12 = 1/3. Isso se deve aos k.K 1 zeros necessrios para o esvaziamento
do registrador de deslocamento, que neste caso so 2 e produz dois pares de bits adicionais
seqncia cdigo. Conseqentemente a taxa de codificao deve ser entendida como a taxa
5. Cdigos Convolucionais
5_Convolucional_V2011 - Geraldo Gil R. Gomes
5.7
quando a mensagem possui comprimento infinito. Por exemplo, para esse mesmo codificador,
uma mensagem com 1000 bits produz uma seqncia cdigo com 2000 + 4 bits. Neste caso a
taxa 1000/2004 .


5.2.4. REPRESENTAO POLINOMIAL

Um codificador convolucional pode ser representado por um conjunto de n polinmios
geradores, correspondentes aos n somadores mdulo-2 que compem o codificador. Cada
polinmio possui grau igual ou menor que K 1 e descreve as conexes entre os estgios do
registrador de deslocamento e seu respectivo somador, da mesma forma que os vetores
conexo. Os coeficientes de cada termo de cada polinmio assumem valores 1 ou 0
dependendo da existncia ou no de conexo entre uma posio especfica do registrador de
deslocamento e o seu respectivo somador. Para o codificador da Figura 5.3 os polinmios
geradores, em termos de operador D (operador delay), so

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

g
2
(D) = 1 + D
2


onde o termo de mais baixa ordem corresponde ao estgio de entrada do codificador. A
seqncia de sada do codificador pode ser obtida conforme indicado a seguir.

c(D) = m(D)g
1
(D) intercalado com m(D)g
2
(D).

Note que a mensagem tambm deve ser escrita em termos de operador atraso, ou seja, m(D),
pois, da mesma forma que em uma transformao de Fourier, a convoluo no domnio do
tempo torna-se multiplicao no domnio do atraso. Na conveno adotada at agora, o termo
de m(X) mais cedo o termo de mais alta ordem, ou seja, aquele que corresponde ao
primeiro bit a entrar no codificador. Em termos de operador D, o primeiro bit a entrar no
codificador aquele que corresponde ao termo de menor ordem, que corresponde ao termo
mais cedo. Desta forma,

m(X) = 1 + X + X
3
m(D) = D
3
+ D
2
+ 1

Por exemplo, para a mensagem m(D) = 1 + D
2
+ D
3
, obtm-se:

m(D)g
1
(D) = (1 + D
2
+ D
3
)(1 + D + D
2
) = 1 + D + D
5

m(D)g
2
(D) = (1 + D
2
+ D
3
)(1 + D
2
) = 1 + D
3
+ D
4
+ D
5

m(D)g
1
(D) = 1 + 1 D + 0 D
2
+ 0 D
3
+ 0 D
4
+ D
5

m(D)g
2
(D) = 1 + 0 D + 0 D
2
+ D
3
+ D
4
+ D
5

c = 11 10 00 01 01 11



5. Cdigos Convolucionais
5_Convolucional_V2011 - Geraldo Gil R. Gomes
5.8
5.2.5. DIAGRAMA DE ESTADOS

Um codificador convolucional pertence a uma classe de dispositivos conhecidos como
mquinas de estado finito, que o nome genrico para maquinas que tem memria dos sinais
passados. O termo finito refere-se ao fato de que existe apenas um nmero de estados nico e
finito que a mquina pode gerar. Em um sentido amplo, um estado consiste de uma pequena
quantidade de informao que, junto com a informao presente na entrada da mquina,
capaz de determinar a sada. Os estados fornecem algum conhecimento de eventos passados e
o restrito conjunto de possveis sadas no futuro. Um estado futuro fica restringido por um
estado passado. Para um codificador convolucional com taxa 1/n, o estado atual representado
pelo tampo t
i
representado pelo contedo dos (K 1) estgios mais a direita, conforme
mostrado na Figura 5.5. O estado representado pelo tempo t
i
+ 1 o estado futuro. O
conhecimento do estado e da prxima entrada necessrio e suficiente para determinar a
prxima sada.

Um codificador convolucional pode ser representado por seu diagrama de estados. Como um
exemplo, o diagrama de estados apresentado na Figura 5.6, descreve o comportamento do
codificador da Figura 5.5. O diagrama de estados do codificador pode ser obtido a partir da
verificao de todas as possibilidades de transio entre os estados do codificador, conforme
mostrado na Tabela 5.5.
Figura 5.5 Definio do estado atual (t
i
) e estado futuro (t
i
+ 1) para um codificador com
K = 3.


De acordo com a Figura 5.6(a), o estado "00" representado por um crculo do qual partem
duas transies. Uma transio parte de um estado no tempo t
i
e alcana um estado no tempo
t
i
+ 1 e representada por uma seta. Para que isso acontea, necessrio que esteja presente
na entrada um bit m
i
que provoca uma sada c
1
c
2
, representado pela notao m
i
/c
1
c
2
, prximo
a cada transio. Conforme mostrado na Tabela 5.5, a partir do estado "00", pode-se
permanecer nele se a entrada for "0" ou migrar para o estado "10" se a entrada for "1".
Bit de
entrada
m
+
+
c
1
c
2
Sada
t
i
t
i
+ 1
5. Cdigos Convolucionais
5_Convolucional_V2011 - Geraldo Gil R. Gomes
5.9
Tabela 5.5 Construo do diagrama de estados para o codificador da Figura 5.5.

Entrada
m
i
Contedos dos
registradores
Estado em t
i
Estado em t
i
+ 1
Sada em t
i

c
1
c
2
Figura
0 000 00 00 00
1 100 00 10 11
5.6(a)
0 010 10 01 10
1 110 10 11 01
5.6(b)
0 011 11 01 01
1 111 11 11 10
5.6(c)
0 001 01 00 11
1 101 01 10 00
5.6(d)


Figura 5.6 (a), (b) e (c)- Construo do diagrama de estados de acordo com a Tabela 5.5.
00
10
1/11
0/00
(a)
00
10
11
01
1/11
1/01
0/10
0/00
(b)
00
10
11
01
1/11
1/01
0/01
0/10
1/10
0/00
(c)
5. Cdigos Convolucionais
5_Convolucional_V2011 - Geraldo Gil R. Gomes
5.10

A Figura 5.6(b) apresenta as transies que partem do estado "10". De acordo com a Tabela
5.5, a partir do estado "10" pode-se migrar para o estado "01" se a entrada for "0" ou migrar
para o estado "11" se a entrada for "1".

Da mesma forma, a Figuras 5.6(c) apresenta as transies que partem do estado "11". De
acordo com a Tabela 5.5, se a entrada for "1" o prximo estado o prprio estado "11" e se
entrada for "0" ocorre uma transio para o estado "01".

Finalmente, na Figura 5.6(d) so apresentadas as transies que partem do estado "01" e
alcanam os estados "10" e "00" se as entradas forem "1" e "0", respectivamente. A Figura
5.6(e) apresenta o diagrama de estados completo.


Figura 5.6 (d) e (e) - Construo do diagrama de estados de acordo com a Tabela 5.5.


00
10
11
01
1/11
1/01
0/01
1/00
0/10
0/11
1/10
0/00
00
10
11
01
1/11
1/01
0/01
1/00
0/10
0/11
1/10
0/00
(d) (e)
5. Cdigos Convolucionais
5_Convolucional_V2011 - Geraldo Gil R. Gomes
5.11
5.2.6. DIAGRAMA DE RVORE

O diagrama de rvore acrescenta a dimenso de tempo ao diagrama de estado. Ao contrrio
do diagrama de estado que no permite representar a histria do tempo, no diagrama de rvore
a evoluo das mudanas de estado e a resultado na sada visvel, conforme mostrado na
Figura 5.7.

Figura 5.7 Diagrama de rvore para o codificador convolucional da Figura 5.5.
00
11
10
01
11
00
01
10
11
00
01
10
00
11
10
01
11
00
01
10
11
00
01
10
11
00
01
10
11
00
0
1
00
00
00
00
10
10
00
10
01
11
01
11
01
11
10
5. Cdigos Convolucionais
5_Convolucional_V2011 - Geraldo Gil R. Gomes
5.12
No diagrama de rvore apresentado pela Figura 5.7, cada ramo vertical representa uma
entrada. Um ramo para cima representa uma entrada zero enquanto um ramo para baixo
representa uma entrada um. As sadas do codificador so as palavras binrias colocadas sobre
os ramos horizontais. Cada derivao da rvore, ou n, representa um estado, identificado
pela palavra binria colocada na caixa de cada n. Assim, para a mensagem m = 1101, pode-
se verificar pelo trajeto representado pela linha mais espessa na Figura 5.7, que a seqncia de
estados correspondentes aos quatro bits da mensagem 00 10 01 10. As sadas
correspondentes a esta trajetria so 11 10 10 01. Note que cada n representa o instante de
tempo em que um estado atingido. Por isso, este diagrama permite a obteno de um
histrico de transies ao longo do tempo.


5.2.7. DIAGRAMA DE TRELIA

Uma observao da Figura 5.7 permite concluir que a partir de um determinado instante de
tempo, a estrutura do diagrama torna-se repetitivo. Alm disso, para uma observao muitos
intervalos de tempo, o diagrama de rvore torna-se pouco prtico em funo do grande
nmero de ramos do diagrama. Uma alternativa mais prtica ao diagrama de rvore o
diagrama de trelia. No diagrama de trelia tem-se um histrico de entradas, transies e
sadas sem que o diagrama cresa demasiadamente. A Figura 5.8 apresenta o diagrama de
trelia para o codificador da Figura 5.5. Neste diagrama, os estados so representados pelos
nveis horizontais e as entradas e sadas so representadas pela mesma conveno utilizada no
diagrama de estados, ou seja, m
i
/u
1
u
2
, que so colocados sobre cada brao da trelia, que por
sua vez, representa uma transio.

A mensagem m = 1101 estabelece, no diagrama de trelia, a trajetria mostrada na Figura 5.9,
resultando, como era de se esperar, nas sadas 11 10 10 01. Note que para esvaziar os
registradores do codificador, mais dois zeros na entrada so necessrios, resultando em uma
sada complementar igual a 01 11. Assim a seqncia de sada completa para a mensagem
m = 1101 torna-se 11 10 00 01 01 11. Este resultado rigorosamente igual aos resultados
apresentados anteriormente.

Figura 5.8 Diagrama de trelia para o codificador convolucional da Figura 5.5.
00
10
01
11
0/00
1/11
0/10
1/10
1/01
0/01
0/11
1/00
1/01
0/10 0/10 0/10
0/11 0/11 0/11
1/10 1/10 1/10
0/01
1/01
0/01
1/01
0/01
1/01
1/00 1/00 1/00
1/11 1/11 1/11 1/11 1/11
0/00 0/00 0/00 0/00 0/00
5. Cdigos Convolucionais
5_Convolucional_V2011 - Geraldo Gil R. Gomes
5.13

Figura 5.9 Trajetria para a mensagem m = 1101.


5.3. DECODIFICAO DE CDIGOS CONVOLUCIONAIS PELO ALGORITMO DE
VITERBI [1] [2] [3]

O algoritmo de Viterbi um algoritmo de mxima verossimilhana com baixa carga
computacional em funo da utilizao da estrutura dos diagramas de trelia dos cdigos
convolucionais. A vantagem da decodificao de Viterbi, comparado com a decodificao por
fora bruta, que a complexidade de um decodificador no funo do nmero de smbolos
da seqncia cdigo, mas funo de uma medida de similaridade ou distncia entre o sinal
recebido em um tempo t
i
e todos os braos da trelia que entram em cada estado no tempo t
i
.
Quando dois braos entram no mesmo estado em um tempo t
i
, o que possuir melhor mtrica
ou maior semelhana com o sinal recebido escolhido e chamado de caminho sobrevivente.

Existem, basicamente, duas distncias que podem ser utilizadas no algoritmo de Viterbi para a
medida de similaridade entre a seqncia recebida pelo decodificador e as seqncias
possveis sobre a trelia: a distncia de Hamming e a distncia Euclidiana. A distncia de
Hamming utilizada em um processo de deciso chamado de deciso abrupta (hard decision)
enquanto a distncia Euclidiana, ou um parmetro derivado dela, utilizado em um processo
de deciso chamado de deciso suave (soft decision). A deciso abrupta destaca-se pela
simplicidade e baixa carga computacional enquanto que a deciso suave requer uma carga
computacional maior em troca de melhor desempenho em termos de capacidade de correo
de erros. As subsees apresentadas a seguir descrevem os dois processos de decodificao.


5.3.1. DECODIFICAO ABRUPTA PELO ALGORITMO DE VITERBI

Para facilitar o entendimento do algoritmo de Viterbi, considere a seqncia recebida 11 10
10 01 01 11 codificada pelo codificador da Figura 5.5, cujo diagrama de trelia est
apresentado na Figura 5.8. Note que foi introduzido um erro no terceiro par de bits.
00
10
01
11
1/11
0/10
1/00
0/11
1/01
0/01
5. Cdigos Convolucionais
5_Convolucional_V2011 - Geraldo Gil R. Gomes
5.14
Passo 1: Partindo do estado 00, compara-se a distncia de Hamming do primeiro par de bits
da seqncia cdigo (11) com as distncias de Hamming das duas transies
possveis a partir do estado 00. As distncias de Hamming obtidas so armazenadas
(valores entre parnteses), conforme apresentado na Figura 5.10(a).

Passo 2: A distncia de Hamming do prximo par de bits da seqncia cdigo (10)
comparada com as distncias de Hamming das transies possveis a partir dos
estados alcanados aps o passo anterior. As distncias de Hamming encontradas
so somadas quelas obtidas nas transies anteriores. Veja Figura 5.10(b).


Figura 5.10(a) Situao aps o passo 1 do exemplo de decodificao.


Figura 5.10(b) Situao aps o Passo 2 do exemplo de decodificao.
00
10
01
11
0/00
1/11
(2)
(0)
recebidos 11
00
10
01
11
0/00
1/11
(2)
(0)
(3)
0/00
1/11
(3)
0/10
1/01
(0)
(2)
recebidos 11 10
5. Cdigos Convolucionais
5_Convolucional_V2011 - Geraldo Gil R. Gomes
5.15
Passo 3: O mesmo procedimento apresentado no Passo 2 repetido para o prximo par da
seqncia cdigo (10). Note que neste terceiro passo alguns dos estados so
alcanados por dois caminhos diferentes. O caminho sobrevivente deve ser aquele
que apresenta a menor distncia de Hamming acumulada. Na Figura 5.10(c), os
caminhos sobreviventes esto representados por uma linha mais espessa.

Figura 5.10(c) Situao aps o Passo 3 do exemplo de decodificao.


Passo 4: O mesmo procedimento repetido at o final da seqncia. Para cada par do sinal
recebido deve-se inspecionar a trelia e eleger o caminho sobrevivente. As Figuras
5.10(d), (e) e (f) apresentam a evoluo da trelia, mostrando apenas os caminhos
sobreviventes. Note que ao final da seqncia cdigo recebida, apenas um caminho
o caminho sobrevivente final.

00
10
01
11
0/00
1/11
(2)
(0)
(3)
0/00
1/11
(3)
0/10
1/01
(0)
(2)
(4)
0/00
1/11
(1)
0/10
1/01
(3)
(5)
0/11
(4)
0/01
1/10
1/00
(1)
(4)
(2)
recebidos 11 10 10
5. Cdigos Convolucionais
5_Convolucional_V2011 - Geraldo Gil R. Gomes
5.16

Figura 5.10(d) Situao aps a anlise do 4
o
par de bits recebidos do exemplo de
decodificao.


Figura 5.10(e) Situao aps a anlise do 5
o
par de bits recebidos do exemplo de
decodificao.
00
10
01
11
1/11
(0)
0/10
1/01
(0)
(2)
(1)
0/11
1/10
(2)
0/00
(2)
(1)
1/11
1/01
(1)
(2)
recebidos 11 10 10 01
1/00
(2)
0/01
00
10
01
11
1/11
(0)
0/10
1/01
(0)
(2)
(1)
0/11
1/10
(2)
0/00
(2)
(1)
1/11
1/01
(1)
(2)
recebidos 11 10 10 01 01
1/00
(2)
0/01
0/00
(3)
(3)
1/11
1/00
0/11
(3)
(3)
1/01
(2)
0/01
(1)
5. Cdigos Convolucionais
5_Convolucional_V2011 - Geraldo Gil R. Gomes
5.17

Figura 5.10(f) Situao aps a anlise do 6
o
par de bits recebidos do exemplo de
decodificao.

Concluso: Aps a anlise do ltimo par de bits recebidos, o caminho sobrevivente aponta
uma distncia de Hamming acumulada igual a 1. Este resultado mostra que a
seqncia decodificada com maior probabilidade de ter sido a seqncia
transmitida a seqncia 11 10 00 01 01 11, correspondente a mensagem m =
101100. Neste caso a seqncia recebida apresenta um erro em relao
seqncia decodificada, correspondente distncia de Hamming acumulada
igual a 1.

Note que, no exemplo apresentado a seqncia analisada curta e o resultado da
decodificao torna-se bvio. Entretanto, quando a seqncia recebida extremamente longa,
o uso do algoritmo de Viterbi requer a utilizao de uma quantidade de memria muito alta. A
abordagem usualmente usada truncar a seqncia decodificada conforme os passos
descritos a seguir.

1. Uma janela de decodificao de comprimento l especificada.
2. O algoritmo opera sobre um quadro correspondente ao comprimento l, parando
sempre aps l intervalos de tempo.
3. A deciso tomada sobre o melhor caminho e o smbolo associado com o primeiro
ramo do caminho liberado para o usurio.
4. O smbolo associado com o ltimo ramo do caminho desconsiderado.
5. A janela de decodificao movida um intervalo de tempo para frente e a deciso
sobre o melhor caminho sobre o novo quadro feita, e assim por diante.

A deciso de decodificao feita dessa maneira no verdadeiramente mxima
verossimilhana, mas ela pode ser feita quase to boa desde que a janela de decodificao seja
suficientemente grande. Experincia e anlises tm demonstrado que resultados satisfatrios
so obtidos se a janela de decodificao tem comprimento l da ordem de cinco vezes ou mais
do que a extenso de influncia K do cdigo convolucional.
00
10
01
11
1/11
(0)
0/10
(0)
(1)
1/01
(1)
recebidos 11 10 10 01 01 11
1/00
0/01
(1)
0/11
(1)
5. Cdigos Convolucionais
5_Convolucional_V2011 - Geraldo Gil R. Gomes
5.18
5.3.2. DECODIFICAO SUAVE PELO ALGORITMO DE VITERBI

A decodificao com o algoritmo de Viterbi apresentada anteriormente tem por finalidade
encontrar a seqncia cdigo ou seqncia vlida que mais se assemelha seqncia binria
recebida. Isso feito por meio do clculo da distncia de Hamming acumulada em todos os
caminhos possveis da trelia de forma que atravs da eleio dos caminhos sobreviventes,
seja possvel a determinao do caminho sobrevivente final, que aquele que apresenta maior
verossimilhana com a seqncia recebida. Portanto, o parmetro utilizado para a eleio dos
caminhos sobreviventes a distncia de Hamming.

Isso pressupe que os smbolos recebidos foram determinados previamente por um processo
de deciso de mxima verossimilhana, onde os smbolos recebidos no espao de sinais so
aproximados para os smbolos mais prximos, ou seja, o parmetro utilizado neste processo
de deciso a distncia Euclidiana. Neste caso, verifica-se que o processo de deciso e o
processo de decodificao so dois processos realizados independentemente. Esta
decodificao chamada de decodificao abrupta (hard-decision).

A seguir ser apresentado o processo de decodificao suave, onde a deciso dos smbolos
recebidos leva em conta, simultaneamente, a distncia Euclidiana e o cdigo corretor de erro
utilizado, ou seja, o processo de deciso por meio de distncias Euclidianas e a decodificao
com o algoritmo de Viterbi so fundidos em um nico processo. Para isso, considere o
esquema de codificao e modulao apresentado na Figura 5.11.


Figura 5.11 - Exemplo de um esquema de modulao e codificao a decodificao suave.


Admita que a constelao recebida, na ausncia de rudo, tenha seus simbolos posicionados
no espao de sinais de acordo com as coordenadas apresentadas na Figura 5.12.

Figura 5.12 - Coordenadas dos smbolos de modulao no espao de sinais.
Codificador
Convolucional

R
c
=
g
1
= 111
g
2
= 101
00 01
11 10
Modulador
QPSK
Smbolos da
modulao
Seqncia
binria
1
1
-1
-1
00
01
11 10
5. Cdigos Convolucionais
5_Convolucional_V2011 - Geraldo Gil R. Gomes
5.19
Na deciso por mxima verossimilhana, um ponto recebido contaminado por rudo
decidido como sendo o smbolo mais prximo do espao de sinais. Ou seja, decide-se pelo
smbolo que apresenta a menor distncia Euclidiana para o ponto recebido. A distncia
Euclidiana E
i
de um ponto recebido para um smbolo S
i
de uma constelao pode ser
calculada, em funo de suas coordenadas ortogonais, pela expresso

( ) ( )
2 2
' ' q q i i E
i i i
+ = (5.1)

onde i
i
a coordenada do smbolo i no eixo I, i' a coordenada do ponto recebido no eixo I, q
i

a coordenada do smbolo i no eixo Q e q' a coordenada do ponto recebido no eixo Q,
conforme mostrado na Figura 5.13.

Figura 5.13 - Distncia Euclidiana E
0
de um ponto recebido para o smbolo S
0
.


Para a modulao em questo, os smbolos, seus valores binrios e suas coordenadas so
mostrados na Tabela 5.6.

Tabela 5.6 - Smbolos, seus valores binrios e suas coordenadas

Smbolo
Valor
binrio
Coordenadas
(i
i
, q
i
)
S
0
00 (1, 1)
S
1
01 (-1, 1)
S
3
11 (-1, -1)
S
2
10 (1, -1)


1
1
-1
-1
S
0

S
1
S
3
S
2
i'
q'
I
Q
i
0
q
0
E
0
5. Cdigos Convolucionais
5_Convolucional_V2011 - Geraldo Gil R. Gomes
5.20
Suponha agora que seis pontos tenham sido transmitidos atravs de um canal ruidoso, de
acordo com o esquema de codificao e modulao apresentado na Figura 5.11. Admita que
no receptor tenham chegado seis pontos com as seguintes coordenadas:

r
1
= (-0,93; -0,03); r
2
= (0,55; 0,11); r
3
= (0,35; 1,13);
r
4
= (-0,97; -0,02); r
5
= (0,20; 0,42); r
6
= (-0,41; -0,25).

Em um processo de deciso abrupta, os pontos recebidos so aproximados para o smbolo da
constelao mais prximo, resultando na seqncia

S
3
, S
0
, S
0
, S
3
, S
0
, S
3
,

que correspondem aos valores binrios

11, 00, 00, 11, 00, 11.

Esta seqncia binria, quando decodificada de acordo com o algoritmo de Viterbi resulta na
trelia mostrada na Figura 4.


Figura 5.14 - Caminhos sobreviventes correspondentes decodificao abrupta da seqncia
de pontos r
1
, r
2
, ... , r
6
.

De acordo com o resultado apresentado na Figura 5.14, observa-se que existem duas
possibilidades para o caminho sobrevivente final, que so:

00 00 00 11 10 11 ou 11 10 00 01 01 11.

Desde que a capacidade de correo de erros do cdigo no tenha sido excedida pelo nmero
de erros introduzido pelo canal, ento uma das duas seqncias a seqncia transmitida.
Note que, neste caso, a chance de se eleger a seqncia de mxima verossimilhana de 50%.

00
10
01
11
0/00
1/11
0/10
1/10
1/01
0/01
0/11
1/00
1/01
0/10 0/10 0/10
0/11 0/11 0/11
1/10 1/10 1/10
0/01
1/01
0/01
1/01
0/01
1/01
1/00 1/00 1/00
1/11 1/11 1/11 1/11 1/11
0/00 0/00 0/00 0/00 0/00
(2)
(0)
(2)
(4)
(1)
(1)
(2)
(3)
(4)
(1)
(5)
(2)
(5)
(2)
(2)
(2)
(2)
(4)
(4)
(3)
(2)
(3)
(6)
(4)
(4)
(2)
(3)
(3)
(3)
(3)
0/10
(8)
(3)
(6)
(5)
(3)
(4)
(3)
(4)
5. Cdigos Convolucionais
5_Convolucional_V2011 - Geraldo Gil R. Gomes
5.21
O algoritmo de Viterbi para a decodificao suave o mesmo utilizado para a decodificao
abrupta. Entretanto, no processo de decodificao suave, as distncias acumuladas ao longo
da trelia no so as distncias de Hamming e sim as distncias Euclidianas dos pontos
recebidos em relao aos smbolos representados por cada brao da trelia. Desta forma, na
decodificao suave, cada brao da trelia deve ser identificado com o par de coordenadas do
smbolo obtido na sada do codificador, de acordo com as correspondncias entre coordenadas
e valores binrios apresentados na Tabela 5.6.

A partir do exposto acima, pode-se redesenhar a trelia para a decodificao suave da forma
como mostrada na Figura 5.15.


Figura 5.15 - Trelia para a decodificao suave.


O incio da decodificao suave consiste na determinao da distncia do ponto recebido para
os smbolos das transies que saem do estado 00, ou seja, os ramos cujos smbolos esto nas
coordenadas (1, 1) e (-1, -1). A partir dos estados alcanados, calculam-se novamente as
distncias para os estados seguintes acumulando-as com as anteriores e assim por diante,
conforme mostrado a seguir.

De r
1
= (-0,93; -0,03) para:

S
0
= (1, 1) ( ) ( )
2 2
0
03 , 0 1 93 , 0 1 + + + = E
E
0
= 2,188
S
3
= (-1, -1) ( ) ( )
2 2
3
03 , 0 1 93 , 0 1 + + + = E
E
3
= 0,973


= + =
00 00
188 , 2 188 , 2 0


= + =
10 00
973 , 0 973 , 0 0

00
10
01
11
(1, 1)

(1, 1) (1, 1) (1, 1) (1, 1) (1, 1)
(-1, -1)
(-1, -1) (-1, -1) (-1, -1)
(-1, -1)
(-1, -1)
(-1, -1)
(-1, -1) (-1, -1)
(-1, -1)
(1, 1) (1, 1) (1, 1) (1, 1)
(1, -1) (1, -1) (1, -1)
(1, -1) (1, -1)
(1, -1)
(1, -1) (1, -1) (1, -1)
(-1, 1)
(-1, 1)
(-1, 1)
(-1, 1)
(-1, 1)
(-1, 1)
(-1, 1)
(-1, 1)
(-1, 1)
5. Cdigos Convolucionais
5_Convolucional_V2011 - Geraldo Gil R. Gomes
5.22


De r
2
= (0,55; 0,11) para:

S
0
= (1, 1) ( ) ( )
2 2
0
11 , 0 1 55 , 0 1 + = E
E
0
= 0,997
S
3
= (-1, -1) ( ) ( )
2 2
3
11 , 0 1 55 , 0 1 + = E
E
3
= 1,906
S
2
= (1, -1) ( ) ( )
2 2
2
11 , 0 1 55 , 0 1 + = E
E
2
= 1,198
S
1
= (-1, 1) ( ) ( )
2 2
1
11 , 0 1 55 , 0 1 + = E
E
1
= 1,787


= + =
00 00
185 , 3 997 , 0 188 , 2


= + =
10 00
094 , 4 906 , 1 188 , 2


= + =
01 10
171 , 2 198 , 1 973 , 0
760 , 2 787 , 1 973 , 0
11 10
= + =




00
10
01
11
(1, 1)
(-1, -1)
2,188
0,973
3,185
4,094
2,171
2,760
(1, 1)
(-1, -1)
(1, -1)
(-1, 1)
00
10
01
11
(1, 1)
(-1, -1)
2,188
0,973
0
5. Cdigos Convolucionais
5_Convolucional_V2011 - Geraldo Gil R. Gomes
5.23
De r
3
= (0,35; 1,13) para:

S
0
= (1, 1) ( ) ( )
2 2
0
13 , 1 1 35 , 0 1 + = E
E
0
= 0,663
S
3
= (-1, -1) ( ) ( )
2 2
3
13 , 1 1 35 , 0 1 + = E
E
3
= 2,522
S
2
= (1, -1) ( ) ( )
2 2
2
13 , 1 1 35 , 0 1 + = E
E
2
= 2,227
S
1
= (-1, 1) ( ) ( )
2 2
1
13 , 1 1 35 , 0 1 + = E
E
1
= 1,356


= + =
00 00
848 , 3 663 , 0 185 , 3


= + =
10 01
834 , 2 663 , 0 171 , 2


= + =
10 00
707 , 5 522 , 2 185 , 3


= + =
00 01
693 , 4 522 , 2 171 , 2


= + =
01 10
321 , 6 227 , 2 094 , 4


= + =
11 11
987 , 4 227 , 2 760 , 2


= + =
11 10
450 , 5 356 , 1 094 , 4


= + =
01 11
116 , 4 356 , 1 760 , 2




A partir desta etapa deve-se eleger os caminhos sobreviventes para a etapa seguinte.


De r
4
= (-0,97; -0,02) para:

S
0
= (1, 1) ( ) ( )
2 2
0
02 , 0 1 97 , 0 1 + + + = E
E
0
= 2,218
S
3
= (-1, -1) ( ) ( )
2 2
3
02 , 0 1 97 , 0 1 + + + = E
E
3
= 0,980
S
2
= (1, -1) ( ) ( )
2 2
2
02 , 0 1 97 , 0 1 + + + = E
E
2
= 2,200
S
1
= (-1, 1) ( ) ( )
2 2
1
02 , 0 1 97 , 0 1 + + + = E
E
1
= 1,020

00
10
01
11
(1, 1)
(-1, -1)
2,188
0,973
3,185
4,094
2,171
2,760
(1, 1)
(-1, -1)
(1, -1)
(-1, 1)
3,848
5,707
6,321
5,450
2,834
4,693
4,987
4,116
(1, 1)
(-1, -1)
(-1, -1)
(1, 1)
(1, -1)
(-1, 1)
(-1, 1)
(1, -1)
5. Cdigos Convolucionais
5_Convolucional_V2011 - Geraldo Gil R. Gomes
5.24


= + =
00 00
066 , 6 218 , 2 848 , 3


= + =
10 01
334 , 6 218 , 2 116 , 4


= + =
10 00
828 , 4 980 , 0 848 , 3


= + =
00 01
096 , 5 980 , 0 116 , 4


= + =
01 10
034 , 5 200 , 2 834 , 2


= + =
11 11
187 , 7 200 , 2 987 , 4


= + =
11 10
854 , 3 020 , 1 834 , 2


= + =
01 11
007 , 6 020 , 1 987 , 4



De r
5
= (0,20; 0,42) para:

S
0
= (1, 1) ( ) ( )
2 2
0
42 , 0 1 20 , 0 1 + = E
E
0
= 0,988
S
3
= (-1, -1) ( ) ( )
2 2
3
42 , 0 1 20 , 0 1 + = E
E
3
= 1,859
S
2
= (1, -1) ( ) ( )
2 2
2
42 , 0 1 20 , 0 1 + = E
E
2
= 1,630
S
1
= (-1, 1) ( ) ( )
2 2
1
42 , 0 1 20 , 0 1 + = E
E
1
= 1,333


= + =
00 00
084 , 6 988 , 0 096 , 5


= + =
10 01
022 , 6 988 , 0 034 , 5


= + =
10 00
955 , 6 859 , 1 096 , 5


= + =
00 01
893 , 6 859 , 1 034 , 5


= + =
01 10
458 , 6 630 , 1 828 , 4


= + =
11 11
484 , 5 630 , 1 854 , 3


= + =
11 10
161 , 6 333 , 1 828 , 4


= + =
01 11
187 , 5 333 , 1 854 , 3

00
10
01
11
(1, 1)
(-1, -1)
2,188
0,973
3,185
2,171
2,760
(1, 1)
(1, -1)
(-1, 1)
3,848
2,834
4,987
4,116
(1, 1)
(1, -1)
(-1, 1)
(1, 1)
(1, 1)
(-1, -1)
6,066
(1, -1)
(-1, -1)
(-1, 1)
(1, -1)
(-1, 1)
(1, 1)
4,828
5,034
3,854
6,334
5,096
6,007
7,187
5. Cdigos Convolucionais
5_Convolucional_V2011 - Geraldo Gil R. Gomes
5.25


De r
6
= (-0,41; -0,25) para:

S
0
= (1, 1) ( ) ( )
2 2
0
25 , 0 1 41 , 0 1 + + + = E
E
0
= 1,884
S
3
= (-1, -1) ( ) ( )
2 2
3
25 , 0 1 41 , 0 1 + + + = E
E
3
= 0,954
S
2
= (1, -1) ( ) ( )
2 2
2
25 , 0 1 41 , 0 1 + + + = E
E
2
= 1,597
S
1
= (-1, 1) ( ) ( )
2 2
1
25 , 0 1 41 , 0 1 + + + = E
E
1
= 1,382


= + =
00 00
968 , 7 884 , 1 084 , 6


= + =
10 01
071 , 7 884 , 1 187 , 5


= + =
10 00
038 , 7 954 , 0 084 , 6


= + =
00 01
141 , 6 954 , 0 187 , 5


= + =
01 10
619 , 7 597 , 1 022 , 6


= + =
11 11
081 , 7 597 , 1 484 , 5


= + =
11 10
404 , 7 382 , 1 022 , 6


= + =
01 11
866 , 6 382 , 1 484 , 5



00
10
01
11
(1, 1)
(-1, -1)
2,188
0,973
3,185
2,171
2,760
(1, 1)
(1, -1)
(-1, 1)
3,848
2,834
4,116
(1, 1)
(-1, 1)
(1, 1)
(-1, -1)
(1, -1)
(-1, -1)
(-1, 1)
4,828
5,034
3,854
5,096
(1, 1)
6,084
(-1, -1)
6,955
(1, -1)
6,458
6,161
(1, 1)
(-1, -1)
6,893
6,022
(-1, 1)
5,187
(1, -1)
5,484
5. Cdigos Convolucionais
5_Convolucional_V2011 - Geraldo Gil R. Gomes
5.26


Que resulta nos seguintes caminhos sobreviventes:



Como no h mais pontos a serem decodificados e existe um dos caminhos sobreviventes que
retorna ao estado 00 com a menor distncia Euclidiana acumulada, pode-se concluir que este
o caminho de mxima verossimilhana entre os sobreviventes, conforme mostrado a seguir.
00
10
01
11
(-1, -1)
0,973
2,171
2,760
(1, -1)
(-1, 1)
2,834
4,116 (-1, 1)
(1, 1)
(-1, -1)
(-1, 1)
3,854
5,096
(1, 1)
6,084
(-1, 1)
5,187
(1, -1)
5,484
7,038
(-1, -1)
(-1, 1)
6,141
6,866
(-1, -1)
7,081
(1, -1)
00
10
01
11
(-1, -1)
0,973
2,171
2,760
(1, -1)
(-1, 1)
2,834
4,116 (-1, 1)
(1, 1)
(1, -1)
(-1, -1)
(-1, 1)
5,034
3,854
5,096
(1, 1)
6,084
(1, 1)
6,022
(-1, 1)
5,187
(1, -1)
5,484
(1, 1)
7,968
7,038
(-1, -1)
7,619
7,404
(1, -1)
(-1, 1) (-1, 1)
6,141
7,071
6,866
(-1, -1)
(1, 1)
7,081
(1, -1)
5. Cdigos Convolucionais
5_Convolucional_V2011 - Geraldo Gil R. Gomes
5.27


As coordenadas do caminho de mxima verossimilhana indicam os seguintes pares binrios
decodificados: 11 10 00 01 01 11.

importante salientar que a distncia Euclidiana no o nico parmetro utilizado na
decodificao suave. O exemplo apresentado apenas uma das forma de decodificao suave.
Qualquer parmetro que mantenha a proporcionalidade entre as distncias do smbolo
recebido para os smbolos da constelao pode ser utilizado na decodificao suave.


5.4. CAPACIDADE DE CORREO DE ERROS DOS CDIGOS CONVOLUCIONAIS
[1] [2]

O desempenho de um cdigo convolucional depende do algoritmo de decodificao e das
propriedades de distncia do cdigo. Neste aspecto a principal caracterstica de um cdigo
convolucional a distncia livre, denotada por d
free
. A distncia livre de um cdigo
convolucional definida como a distncia de Hamming entre duas palavras cdigos.

A distncia livre pode ser obtida de forma bastante simples a partir do diagrama de estados do
codificador convolucional. Considere o diagrama de estados da Figura 5.6. Qualquer
seqncia cdigo no zero corresponde a um caminho que comea e termina no estado 00.
Pode-se dividir o estado 00 em dois de modo a permitir que o diagrama de estado possa ser
transformado em um grafo de fluxo de sinal com uma nica entrada e uma nica sada,
conforme mostrado na Figura 5.16. Um grafo de fluxo de sinal consiste de ns e ramos e
opera segundo as seguintes regras:

1. Um ramo multiplica o sinal em seu n de entrada pela funo que caracteriza cada
ramo.
2. Um n com ramos de chegada somam os sinais produzidos por todos aqueles ramos.
3. O sinal em cada n aplicado igualmente todos os ramos de sada daquele n.
4. A funo de transferncia do grafo a relao entre o sinal de sada e o sinal de
entrada.

00
10
01
11
(-1, -1)
0,973
2,171
(1, -1)
2,834
(1, 1)
(-1, 1)
3,854
(-1, 1)
5,187
6,141
(-1, -1)
5. Cdigos Convolucionais
5_Convolucional_V2011 - Geraldo Gil R. Gomes
5.28
Figura 5.16 Diagrama de estado modificado.


Retornando Figura 5.16, note que o expoente de D, sobre cada ramo do grafo, corresponde
ao peso de Hamming da sada correspondente ao ramo. O expoente de L sempre igual a um,
uma vez que o comprimento de cada ramo igual a um. Considere que T(D, L) representa a
funo de transferncia do grafo de fluxo de sinal, com D e L fazendo o papel de varivel
fantasma.

Segundo as regras 1, 2 e 3, apresentadas acima, para o grafo da Figura 5.16 pode-se obter as
seguintes relaes entrada-sada:

=
+ =
+ =
+ =
Lc D a
DLd DLb d
DLd DLb c
Lc La D b
2
1
0
2



(5.2)

onde a
0
, b, c, d e a
1
so os sinais do n do grafo. Resolvendo o conjunto de Equaes (5.2)
para a relao a
1
/a
0
, encontra-se a funo de transferncia do grafo dada por

) 1 ( 1
) , (
3 5
L DL
L D
L d T
+
=

(5.3)

Usando a expanso binomial, (5.3) torna-se

=
+ =
0
3 5
)) 1 ( ( ) , (
i
i
L DL L D L d T

(5.4)

Fazendo L = 1, obtm-se a funo de transferncia da distncia na forma de uma srie de
potncia como

a
1
b
d
c
L
DL
a
0
D
2
L
D
2
L
DL
DL
DL
5. Cdigos Convolucionais
5_Convolucional_V2011 - Geraldo Gil R. Gomes
5.29
L + + + =
7 6 5
4 2 ) , ( D D D L d T
(5.5)

Uma vez que a distncia livre a mnima distncia de Hamming entre duas palavras cdigo
quaisquer e a funo de transferncia T(D, 1) enumera o nmero de palavras cdigos que
possuem uma dada distncia umas da outras, conclui-se que o expoente do primeiro termo na
expanso de T(D, 1) define a distncia livre. Conseqentemente o cdigo convolucional
correspondente ao diagrama de estados apresentado na Figura 2.6 tem distncia livre d
free
= 5.

Um cdigo convolucional com distncia livre igual a d
free
pode corrigir t erros de acordo com
a relao
(


=
2
1
free
d
t .
(5.6)

Pode-se concluir que a capacidade de correo de um cdigo cuja d
free
= 5 igual a dois ou
talvez trs erros. Essa concluso, entretanto leva a uma questo importante: para que
comprimento da seqncia recebida pode-se corrigir dois ou talvez trs erros? Infelizmente
no existe uma resposta exata para essa questo j que a capacidade de correo est
associada forma como os erros esto distribudos na seqncia (mais prximos ou mais
afastados uns dos outros).

Mais uma vez, pode-se dizer que, observaes permitem concluir que a capacidade de
correo de t erros ocorre, geralmente, dentro de algumas extenses de influncia K, onde
algumas aqui significa 3 a 5. Logo, voltando ao cdigo em questo, em que k = 3, pode-se
dizer ento que 2 ou 3 erros podem ser corrigidos em uma seqncia recebida cujo
comprimento pode variar de 9 a 15 bits, dependendo da distribuio dos erros na seqncia.


5.5. CDIGOS CONVOLUCIONAIS CATASTRFICOS [1] [2]

Quando se usa a funo de transferncia T(D, 1) para a determinao da distncia livre fica
implcito que a srie de potncia que a representa convergente, i.e., a soma possui um valor
finito. No caso do exemplo apresentado, pode-se demonstrar que, para o codificador em
questo, a srie de fato convergente. Entretanto, para outros codificadores convolucionais,
no existe nenhuma garantia de que T(D, 1) sempre convergente. Quando T(D, 1) no-
convergente, um nmero finito de erros introduzidos na transmisso provoca uma seqncia
infinita de erros de decodificao. Isso significa uma propagao catastrfica de erros e, neste
caso, o cdigo chamado de um cdigo catastrfico.

A condio para a propagao catastrfica de erros est nos codificadores em que os
polinmios geradores possuem um polinmio fator comum de grau 1, pelo menos. Como
exemplo, considere o codificador apresentado na Figura 5.17, cujo diagrama de estados
modificado apresentado na Figura 5.18. Este codificador apresenta os seguintes polinmios
geradores
g
1
(D) = 1 + D
g
2
(D) = 1 + D
2
.

5. Cdigos Convolucionais
5_Convolucional_V2011 - Geraldo Gil R. Gomes
5.30
Ambos os polinmios possuem um polinmio fator comum que 1 + D, pois

1 + D
2
= (1 + D)(1 + D).


Figura 5.17 Codificador convolucional catastrfico.



Figura 5.18 Diagrama de estado modificado para o codificador da Figura 5.17.


Em termos de diagrama de estados para cdigos com qualquer taxa, erros catastrficos podem
ocorrer se, e somente se, todos os laos fechados do diagrama possuem peso zero.
Bit de
entrada
m
+
+
c
1
c
2
Sada
a
1
b
d
c
DL
DL
a
0
D
2
L DL
L
DL
D
2
L
5. Cdigos Convolucionais
5_Convolucional_V2011 - Geraldo Gil R. Gomes
5.31
5.6. CDIGOS CONVOLUCIONAIS SISTEMTICOS [1][2]

Uma garantia de que um cdigo convolucional no-catastrfico se d quando o codificador
gera um cdigo convolucional sistemtico. Um exemplo de codificador sistemtico est
mostrado na Figura 5.19.


Figura 5.19 Codificador convolucional sistemtico.


Infelizmente, para cdigos com a mesma extenso de influncia K e mesma taxa os valores de
distncia livre obtidos so, geralmente, menores do que aqueles obtidos pelos cdigos
convolucionais no-sistemticos, como mostra a Tabela 5.7.


Tabela 5.7 Mximas distncias livres obtidas com cdigos convolucionais sistemticos e
no-sistemticos de taxa 1/2.

Extenso de influncia K Sistemtico No-sistemtico
2 3 3
3 4 5
4 4 6
5 5 7
6 6 8
7 6 10
8 7 10


Entretanto importante ressaltar que apenas uma pequena frao dos cdigos no
sistemticos (excluindo aqueles onde todos os somadores possuem um nmero par de
conexes) so catastrficos.
+
c
1
c
2
Sada
Bit de
entrada
m
5. Cdigos Convolucionais
5_Convolucional_V2011 - Geraldo Gil R. Gomes
5.32
5.7. MELHORES CDIGOS CONVOLUCIONAIS CONHECIDOS [1]

Conforme apresentado, cdigos convolucionais devem apresentar boas caractersticas de
distncia livre para uma dada taxa de codificao e extenso de influncia K. Uma lista dos
melhores cdigos convolucionais de taxa 1/2, K = 3 at 9 e taxa 1/3, K = 3 at 8, so
apresentados na Tabela 5.8 e 5.9 respectivamente.


Tabela 5.8 Cdigos convolucionais de taxa 1/2, K = 3 at 9.

Taxa Extenso de influncia K Distncia livre Vetores conexo
3 5
111
101
4 6
1111
1011
5 7
10111
11001
6 8
101111
110101
7 10
1001111
1101101
8 10
10011111
11100101






1/2
9 12
110101111
100011101


Tabela 5.9 Cdigos convolucionais de taxa 1/3, K = 3 at 9.

Taxa Extenso de influncia K Distncia livre Vetores conexo

3

8
111
111
101

4

10
1111
1011
1101

5

12
11111
11011
10101

6

13
101110
110101
111001

7

15
1001111
1010111
1101101








1/3

8

16
11101111
10011011
10101001
5. Cdigos Convolucionais
5_Convolucional_V2011 - Geraldo Gil R. Gomes
5.33
00
10
11
01
1/111
1/010
0/010
1/000
0/101
0/111
1/101
0/000
5.7. EXERCCIOS

1. Considere o codificador convolucional representado pelos vetores conexo 1101 e 1111.
Pede-se:

a) Codificar a mensagem 10101.
b) Determinar o seu diagrama de estados.
c) Determinar a capacidade de correo de erros deste cdigo.

2. Considere o diagrama de estados de um codificador convolucional apresentado abaixo.
a) Desenhe o codificador.
b) Determine a capacidade de correo de erros deste cdigo.
c) Codifique a mensagem 10101.
d) Decodifique a seqncia recebida 101001000110101010101 utilizando o algoritmo de
Viterbi.

3. Considere o esquema de codificao e de modulao apresentado na Figura 5.11. Admita
que os seguintes pares de coordenadas tenham sido recebidos: (-0,92; -0,89), (0,71; -0,12),
(-0,13; -0,02), (0,01; 0,11), (-0,95; 0,85) e (-0,88; -0,99). Admita ainda que o processo de
codificao foi iniciado no estado "00" e terminou no estado "00". Fazendo uso do
algoritmo de Viterbi pede-se:

a) A deciso e decodificao abrupta da seqncia recebida.
b) A decodificao suave da seqncia recebida.
c) Comparar os dois resultados, escolher a seqncia decodificada e justificar a escolha.

* * *
5. Cdigos Convolucionais
5_Convolucional_V2011 - Geraldo Gil R. Gomes
5.34
5.8. REFERNCIAS BIBLIOGRFICAS


[1] SKLAR, Bernard. Channel coding. In: Digital communications: fundamentals and
applications. 2. ed. Upper Saddle River, New Jersey: Prentice Hall, 2001. p. 304-429.
ISBN 0130847887.

[2] HAYKIN, Simon. Error control coding. In: Systems communications: 4. ed. New York:
John Wiley & Sons, 2001. p. 626-696. ISBN 0471178691.

[3] LIN, S.; COSTELLO, D. J. Error control coding: fundamentals and applications.
Englewood Cliffs, New Jersey: Prentice Hall, 1983. ISBN 013283796X.

Você também pode gostar