Códigos Convolucionais Apresentacao

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 57

Códigos Convolucionais

Thiago Duarte de Paula

Universidade Federal do Ceará


[email protected]

27 de fevereiro de 2016

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Thiago Duarte de Paula Cod. Convolucional


Sumário

Objetivos;
História;
Aplicações;
Introdução;
Códigos Convolucionais;

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Thiago Duarte de Paula Cod. Convolucional


Objetivos

Compreender:
O que são os códigos convolucionais;
Representação do modelo em máquina de estados;
Representação do diagrama em árvore;
Representação em diagrama de treliça;

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Thiago Duarte de Paula Cod. Convolucional


História

Figura: ENIAC - Electronic Numerical Integrator And Computer

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Thiago Duarte de Paula Cod. Convolucional


Hamming

1 O Laboratório Bell de
Tecnologia (1947)

Figura: Richard W. Hamming

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Thiago Duarte de Paula Cod. Convolucional


História

Hamming relembra: :
Em dois nais de semanas consecutivos eu fui e descobri que todas
minhas coisas tinham sido descarregadas e nada tinha sido feito.
Eu estava realmente aborrecido e irritado porque queria estas
respostas e tinha perdido dois nais de semana. E então disse: Se
as máquinas podem detectar um erro, porque não podemos
localizar a posição do erro e corrigi-lo.

1 Hamming desenvolveu um código capaz de detectar até dois


erros e corrigir um erro, se ele for o único.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Thiago Duarte de Paula Cod. Convolucional


Shannon

1 Melhor forma de codicar


uma informação (1948).

Figura: Claude E. Shannon

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Thiago Duarte de Paula Cod. Convolucional


Peter Elias

1 Apresentou os códigos
convolucionais em resposta
aos códigos de blocos, muito
utilizados na época(1955).

Figura: Peter Elias

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Thiago Duarte de Paula Cod. Convolucional


Historia

John McReynolds Wozencraft - Descreveu o primeiro


algoritmo de uso prático de decodicação para os códigos
convolucionais. Decodicação rápida porém subótima. (1961).
Massey -propusera um menos eciente mas simples de
implementar, método chamado decodicador de limiar(1963).
Viterbi - Descobriu outra forma de decodicar, levando seu
nome: decodicador de Viterbi(1967). Decodicador
assintoticamente ótimo (próximo ao limite de Shannon) e
provado efetivamente por George David Forney, em 1973, a
máxima verossimilhança para decodicação.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Thiago Duarte de Paula Cod. Convolucional


Aplicações dos códigos convolucionais:
Satélites;
Telecomunicações;

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Thiago Duarte de Paula Cod. Convolucional


Comunicações Espaciais

The Pioneer 9 - Missão de orbita Solar 1968


Primeira missão espacial a utilizar corretor de erro convolucional:
A(2,1,20) = 2 Output / 1 Input / 20 Memory

Voyage Mission - Missão de exploração de Júpter e Saturno (79-81)


Missões de exploração de Júpter e Saturno.
A(2,1,6) = 2 Output / 1 Input / 6 Memory
A(3,1,6) = 3 Output / 1 Input / 6 Memory

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Thiago Duarte de Paula Cod. Convolucional


Telecomunicações:

GSM Digital Radio System - Redes de telefonia 2G


Admite 8 usuários em slots de tempo para cada canal de 200 kHz e
foi altamente difundido na Europa, Ásia, Austrália, Américas.

Especicações GSM
Freq. de transmissão 890-915 MHz e 1.850-1910 Mhz
Freq. de recepção 935-960MHz e 1.930-1990 Mhz
Modulação GMSK
Sep. da portadora 200 kHz
Voz/portadora 8
Tabela: Especicações do GSM (Rappaport)

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Thiago Duarte de Paula Cod. Convolucional


Telecomunicações:

1 O WIMAX é uma tecnologia


wireless desenvolvida para
oferecer acesso banda larga
a distâncias típicas de 6 a 9
Km. Esse padrão é similar ao
padrão Wi-Fi, porém agrega
conhecimentos e recursos
mais recentes, visando a um
melhor desempenho de
comunicação, permitindo
velocidades maiores que 1
Figura: Rede Wimax Gbit/s.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Thiago Duarte de Paula Cod. Convolucional


Telecomunicações:

Figura: Rede Wimax em Fortaleza


. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Thiago Duarte de Paula Cod. Convolucional


Introdução

Muitos sistemas modernos de comunicações digitais devem oferecer


uma transmissão livre de erros. Por quê?

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Thiago Duarte de Paula Cod. Convolucional


Introdução

Muitos sistemas modernos de comunicações digitais devem oferecer


uma transmissão livre de erros. Por quê?

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Thiago Duarte de Paula Cod. Convolucional


Sistemas intolerantes ao erro:
Redes bancárias;
Comunicações espaciais;
Comunicações militares;
...

Main Frame

REDE ATM

Figura: Redes bancarias

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Thiago Duarte de Paula Cod. Convolucional


Codicadores de fonte:
Codicadores de fonte tem como objetivo eliminar a redundância de
uma palavra código. Idéia: transformar as mensagens de uma fonte
em um conjunto de símbolos em um modo que seja ocupado menos
espaço ou que a informação da fonte demore menos tempo a ser
transmitida.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Thiago Duarte de Paula Cod. Convolucional


Codicadores de fonte:
Codicadores de fonte tem como objetivo eliminar a redundância de
uma palavra código. Idéia: transformar as mensagens de uma fonte
em um conjunto de símbolos em um modo que seja ocupado menos
espaço ou que a informação da fonte demore menos tempo a ser
transmitida.

Figura: Codigo Morse

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Thiago Duarte de Paula Cod. Convolucional


Codicadores de canal:
Codicadores de canal tem como objetivo acrescentar redundância
em uma palavra código. Assegurando a veracidade da informação
transmitida.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Thiago Duarte de Paula Cod. Convolucional


Codicadores de canal:
Codicadores de canal tem como objetivo acrescentar redundância
em uma palavra código. Assegurando a veracidade da informação
transmitida.

Transmitido Enviado
0 0000
1 1111
Tabela: Codicação por acréscimo de redundância

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Thiago Duarte de Paula Cod. Convolucional


Denição Códigos Convolucionais:
Um codicador convolucional é um sistema com: k-entradas,
n-saídas, invariante no tempo, causal e com memória na ordem
m.
São comumente denidos por 3 parâmetros: (n,k,m)

(n, k, m)
Núm. Reg. de Memória

Número de entradas
Número de saídas

Figura: Codigo Convolucionais - Parâmetros

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Thiago Duarte de Paula Cod. Convolucional


Códigos Convolucionais:
A taxa de codicação é dada por kn e mede a eciência do
código.
Normalmente K e N variam de 1 a 8 (com N maior que K),
M varia de 2 a 10 e a taxa de codicação de 1/8 até 7/8.
Exceto para aplicações espaciais onde a taxa de codicação
são menores que 1/100.
Os fabricantes, também, podem especicar como parâmetros:
(n,k,L). A quantidade de L é chamado o comprimento de
restrição do código e é denido por:

L = k (m − 1) (1)

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Thiago Duarte de Paula Cod. Convolucional


Códigos Convolucionais:
O comprimento de restrição L representa o número de bits no
codicador de memória que afetam a geração dos N bits de
saída.

Figura: Cod. Convolucional (3,1,3) - 3 memorias / 1 entrada / 3 saídas

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Thiago Duarte de Paula Cod. Convolucional


Estrutura do código convolucional:
A estrutura do código convolucional é fácil de desenhar a partir dos
seus parâmetros:
m caixas representando os m registradores de memórias;
Desenhar n somadores modulo-2 para representar as n bits de
saídas;
Conectar as memórias com os somadores de acordo o
polinômio gerador.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Thiago Duarte de Paula Cod. Convolucional


Exemplo 1:
Dado o código convolucional:
codigo 1 = (2,1,3);
G11 = 101 e G12 = 111;
Desenhar o modelo representativo;

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Thiago Duarte de Paula Cod. Convolucional


M1 M0 M−1

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Thiago Duarte de Paula Cod. Convolucional


+

M1 M0 M−1

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Thiago Duarte de Paula Cod. Convolucional


+
Y1

X
M1 M0 M−1
Y2
+

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Thiago Duarte de Paula Cod. Convolucional


+
Y1

X
M1 M0 M−1
Y2
+

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Thiago Duarte de Paula Cod. Convolucional


+
Y1

X
M1 M0 M−1
Y2
+

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Thiago Duarte de Paula Cod. Convolucional


+
Y1

X
M1 M0 M−1
Y2
+

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Thiago Duarte de Paula Cod. Convolucional


Polinômio (ou Matriz) gerador(a):
Os polinômios trazem uma qualidade de proteção ao código, ou
seja, o codicador pode ter outros polinômios completamente
diferentes.

Como os polinômios são escolhidos?


Existem muitas escolhas do polinômio gerador dependendo dos
parâmetros escolhidos contudo, nem todos trazem uma boa
proteção contra erros. No livro Error-Correcting Codes (W Wesley
Peterson e E J. Weldon) contém uma lista completa desse
polinômios geradores, gerados por simulação computacional.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Thiago Duarte de Paula Cod. Convolucional


Saída do codicador:
Para a codicação polinomial, a convolução no tempo pode ser
representada como multiplicação no domínio da transformada
(Transformada D (delay)). O resultado codicação convolucional se
resume na multiplicação:

Y [D ] = X [D ].G [D ] (2)

Onde:
 
G1(1) (D ) G1(2) (D ) ... G1(n) (D )
 (1) (2) (n ) 
G [D ] =  G2 (D ) G2 (D ) ... G2 (D ) 
 
(3)
 : :
... : 
(1) (2) (n )
Gk (D ) Gk (D ) ... Gk (D )

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Thiago Duarte de Paula Cod. Convolucional


Saída do codicador:
Considerando um vetor genérico:

A = [a0 a1 a2 ...al ]
nito, então a transformada e dada por:

A[D ] = [a0 D 0 + a1 D 1 + a2 D 2 + ... + al D l ]


.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Thiago Duarte de Paula Cod. Convolucional


Exemplo:
Dada um entrada X = [1 0 1 1], G1(1) = [1 0 1] e G1(2) = [1 1 1].
Encontrar a saída codicada:
Criar matriz de polinômios para X[D] e G[D].

X [D ] = X .D ′ = [1 ∗ D 0 + 0 ∗ D 1 + 1 ∗ D 2 + 1 ∗ D 3 ] =

X [D ] = [1 + D 2 + D 3 ]
G [D ] = [G1(1) [D ] G1(2) [D ]]
ou seja:

G [D ] = [1 ∗ D 0 + 0 ∗ D 1 + 1 ∗ D 2 1 ∗ D 0 + 1 ∗ D 1 + 1 ∗ D 2 ]

G [D ] = [1 + D 2 1 + D + D 2 ]

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Thiago Duarte de Paula Cod. Convolucional


Exemplo:
Y[D] = X [D ]G [D ]

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Thiago Duarte de Paula Cod. Convolucional


Exemplo:
Y[D] = X [D ]G [D ]

= [1 + D 2 + D 3 ][1 + D 2 1 + D + D 2]

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Thiago Duarte de Paula Cod. Convolucional


Exemplo:
Y[D] = X [D ]G [D ]

= [1 + D 2 + D 3 ][1 + D 2 1 + D + D 2]

= [(1 + D 2 ) + (D 2 + D 4 ) + (D 3 + D 5 )...
...(1 + D + D 2 ) + (D 2 + D 3 + D 4 ) + (D 3 + D 4 + D 5 )]

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Thiago Duarte de Paula Cod. Convolucional


Exemplo:
Y[D] = X [D ]G [D ]

= [1 + D 2 + D 3 ][1 + D 2 1 + D + D 2]

= [(1 + D 2 ) + (D 2 + D 4 ) + (D 3 + D 5 )...
...(1 + D + D 2 ) + (D 2 + D 3 + D 4 ) + (D 3 + D 4 + D 5 )]

= [1 + D 3 + D 4 + D 5 1 + D + D 5]
= [y (1) (D ) y (2) (D )]

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Thiago Duarte de Paula Cod. Convolucional


Exemplo:
Y[D] = X [D ]G [D ]

= [1 + D 2 + D 3 ][1 + D 2 1 + D + D 2]

= [(1 + D 2 ) + (D 2 + D 4 ) + (D 3 + D 5 )...
...(1 + D + D 2 ) + (D 2 + D 3 + D 4 ) + (D 3 + D 4 + D 5 )]

= [1 + D 3 + D 4 + D 5 1 + D + D 5]
= [y (1) (D ) y (2) (D )]
por dedução Y = [11 01 00 10 ...]

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Thiago Duarte de Paula Cod. Convolucional


Exemplo:
Dada um entrada X = [1 0 1 1], G1(1) = [1 0 1] e G1(2) = [1 1 1].
Encontrar a saída codicada:

+
Y1

X
M1 M0 M−1
Y2
+
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Thiago Duarte de Paula Cod. Convolucional


Maquinas de Estados:
Outra forma de compreender a codicação e decodicação dos
códigos convolucionais é pela maquina de estado. O numero de
estados é dado por:
NS = 2L
NS = 2(K (m−1))

Exemplo:
Para um cod. convolucional: A(2,1,3) Desenhar as máquinas de
estado.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Thiago Duarte de Paula Cod. Convolucional


Maquinas de Estados:
Outra forma de compreender a codicação e decodicação dos
códigos convolucionais é pela maquina de estado. O numero de
estados é dado por:
NS = 2L
NS = 2(K (m−1))

Exemplo:
Para um cod. convolucional: A(2,1,3) Desenhar as máquinas de
estado.
NS = 22 = 4
S = [00 01 10 11]

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Thiago Duarte de Paula Cod. Convolucional


Maquina de estado

00
DATA

01 10

11

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Thiago Duarte de Paula Cod. Convolucional


Maquina de estado

0/00

00
DATA

01 10

11
1/01
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Thiago Duarte de Paula Cod. Convolucional


Maquina de estado

0/00

00 1/11
DATA

01 10

11
1/01
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Thiago Duarte de Paula Cod. Convolucional


Maquina de estado

0/00

00 1/11
DATA

01 10
0/01
1/10
11
1/01
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Thiago Duarte de Paula Cod. Convolucional


Maquina de estado

0/00

0/11 00 1/11
DATA

1/01
01 10
0/01
0/10 1/10
11
1/01
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Thiago Duarte de Paula Cod. Convolucional


Diagrama de Árvore

Código de árvore:
Outro nome que os códigos convolucionais podem assumir é o
código de árvores. Representa outra forma de visualizar as saídas
gracamente.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Thiago Duarte de Paula Cod. Convolucional


Diagrama de Árvore

Código de árvore:
O diagrama de árvore tenta mostrar a passagem do tempo a
medida que aprofunda nos galhos das árvores. Ele é um pouco
melhor do que um diagrama de estado mas ainda não é a
abordagem preferida para representar códigos convolucionais. Aqui,
em vez de saltar de um estado para outro, vamos para baixo ou
cima ramos da árvore, dependendo se um 1 ou 0 é recebida.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Thiago Duarte de Paula Cod. Convolucional


Diagrama de Árvore

00
00

11
00

01
11
0/00
0/11
10 00 1/11
0
00 X = [1 0 1 1]
1/01
1 11 01 10
01 Y = [11 01 00 10] 0/01

00 1/10
11 11
1/10
1/01
10
10

01

Figura: Arvore para (2,1,3)


. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Thiago Duarte de Paula Cod. Convolucional


Diagrama de Árvore

00
00

11
00

01
11

0 10
00 X = [1 0 1 1]

1 11
01 Y = [11 01 00 10]

00
11

10
10

01

Figura: Maquina de estados (2,1,3)

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Thiago Duarte de Paula Cod. Convolucional


Diagrama de Treliça

Diagrama de Treliça
Diagramas de treliça são desorganizados, mas geralmente preferidos
em relação ao digrama em árvore e as maquinas de estado porque
representam um seqüenciamento de eventos em tempo linear. O
eixo x representa tempo discreto e os possíveis estados são
mostrados no eixo dos y.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Thiago Duarte de Paula Cod. Convolucional


Diagrama de Treliça

Diagrama de Treliça
O diagrama de treliça é desenhado alinhando todos os estados
possíveis (2L ) no eixo vertical. Então, conecta-se cada estado para
o próximo pelas palavras de código permitidos para esse estado. Há
apenas dois escolhas possíveis em cada estado. Estes são
determinadas pela chegada de um bit 0 ou 1.

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Thiago Duarte de Paula Cod. Convolucional


Diagrama de Treliça

Figura: Treliça para (2,1,3)

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Thiago Duarte de Paula Cod. Convolucional


FIM

. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .

Thiago Duarte de Paula Cod. Convolucional

Você também pode gostar