CÓDIGOS CORRETORES DE ERROS CÓDIGOS CONVOLUCIONAIS Evelio M. G. Fernández - 2007.

Post on 17-Apr-2015

139 views 6 download

Transcript of CÓDIGOS CORRETORES DE ERROS CÓDIGOS CONVOLUCIONAIS Evelio M. G. Fernández - 2007.

CÓDIGOS CORRETORES DE ERROS

CÓDIGOS CONVOLUCIONAIS

Evelio M. G. Fernández - 2007

Códigos de Bloco: (n, k)

n dígitos codificados = função dos k dígitos (informação) da entrada

no instante atual.

Código Convolucional: (n, k, m)

n dígitos codificados = função dos k dígitos de entrada e de K dígitos

de informação guardados em uma memória (conjunto de SR’s: shift

register).

Estrutura e Codificação de Códigos Convolucionais

+

+v 1

v 2

u1

v=( v 1v 2)

u1: seqüência de entrada, k = 1.

v = (v1v2): seqüência codificada, n = 2.

m: ordem do codificador, m = 3

Memória: 1 SR de 3 estágios (3 FFD)

Taxa: R = 1/2

Codificador Convolucional C1: (2, 1, 3)

2121

11

22

12

20

10

2121

11

21

11

20

10

2122

12

21

11

20

10

mmmmmm

mmmm

mm

gggggggggggggggg

gggggggg

G

ou

m

m

m

GGGGGGGG

GGGG

G210

210

210

onde: 21iii ggG

Equação de codificação:

Guv

Equação de Codificação em forma de Matrizes

+

+

+v 1

v 2

v 3

u

u1

u2

v

u = (u1u2): seqüência de entrada, k = 2.

v = (v1v2v3): seqüência codificada, n = 3.

Memória: 1 SR de um estágio, v1 = v2 = 1 (1FFD) em paralelo com a entrada.

Ordem do codificador:

1max2,1

i

ivm , vi = tamanho do i-ésimo SR, i = 1, 2, , k

Taxa: R = 2/3

Codificador Convolucional C2: (3, 2, 1)

3,2

2,2

1,2

31,1

21,1

11,1

30,2

20,2

10,2

3,1

2,1

1,1

31,1

21,1

11,1

30,1

20,1

10,1

3,2

2,2

1,2

31,2

21,2

11,2

30,2

20,2

10,2

3,1

2,1

1,1

31,1

21,1

11,1

30,1

20,1

10,1

mmmmmm

mmmmmm

mmm

mmm

ggggggggg

ggggggggg

ggggggggg

ggggggggg

G

Equação de codificação:

Guv

Equação de Codificação em forma de Matrizes

Em geral, para codificadores convolucionais (n, k, v)

Seqüência de informação: ,,,, 2121

11

20

10

21ll uuuuuuuuu

Seqüência codificada: ,,,, 32131

21

11

30

20

10

321lll vvvvvvvvvvvvv

Seqüência geradora da saída j relativa à entrada i: jim

ji

ji

j

igggg ,,, 10

Equação de codificação: Guv

ml

ml

GGGG

GGGG

G 10

10

onde:

nklklkl

nlll

nlll

l

ggg

ggg

ggg

G

21

222

12

121

11

Matriz Geradora para Codificadores Convolucionais

Constraint Length

• O constraint length v de um codificador convolucional é definido como

• Um codificador convolucional com taxa R = k/n e constraint length v é chamado de codificador (n, k, v)

• Um código convolucional (n, k, v) é o conjunto de todas as seqüências de saída (palavras-código) produzidas por um codificador (n, k, v) é o espaço das linhas da matriz G

ki

ivv1

+

+v 1

v 2

u1

v=( v 1v 2)

n = 2, k = 1, v= 3, m = 3

Seqüências geradoras Polinômios geradores

g1 = (1011) 321 1)( DDDg

g2 = (1111) 322 1)( DDDDg

Mensagem:

u = (10111) 4321)( DDDDu

Código C1: (2, 1, 3): Análise do Domínio da Transformada

Codificador Sistemático Feedforward, R = 2/3

Realizações Equivalentes de um Codificador com R = 1/3

Realizações Equivalentes de um Codificador com R = 2/3

+

+v 1

v 2

u1

v=( v 1v 2)

3232 11 DDDDDDG

Codificador Convolucional (2, 1, 3)

Inversor do Codificador Convolucional (2, 1, 3)

+

+

+v 1

v 2

v 3

u

u1

u2

v

11

11D

DDDDG

Codificador Convolucional (3, 2, 2)

Inversor do Codificador Convolucional (3, 2, 2)

Codificador convolucional circuito seqüencial (máquina de estados finita).

operação descrita por diagramas de estados (treliça, árvore, etc)

EXEMPLO

+

v 1

v 2

u

v=( v 1v 2)

Código (2, 1, 1)

Propriedades Estruturais de Códigos Convolucionais

Diagrama de Estados

0 1

1/11

0/01

1/10 0/00

# de estados = 2v = 2

Diagrama treliça

0/00

1/10

0

1

0

1

Propriedades Estruturais de Códigos Convolucionais

uuvvdd HCvv

free

,,min,

onde:

vv , : seqüências codificadas correspondentes à uu e .

vvdH , : distância de Hamming entre duas seqüências quaisquer em C.

Para código linear,

)(),0(0 vwvdv HH

onde )(vwH : peso de Hamming de v.

Portanto:

0,);(min)( uGuvCwCd Hfree

código linear

Distância Livre, dfree

lji

ljilji ZYXAZYXT

,,,,),,(

onde:

i = peso de Hamming de um caminho (seqüência codificada); i = wH(v).

j = peso de Hamming de um caminho de entrada (seqüência u); j = wH(u).

l = comprimento dos caminhos (entrada ou saída) em arcos (diagrama de

estados) ou em ramos (diagrama treliça).

Ai,j,l = número de caminhos com pesos i e j e comprimento igual a l.

Função Distribuição de Pesos

Codificador (2, 1, 1)

+

v 1

v 2

u

v=( v 1v 2)

Diagrama de Estados:

0 1

1/11

0/01

1/10 0/00

Diagrama de Estados Aumentado:

0 1XZX 2YZ

0

XYZ

EstadoInicial

EstadoFinal

Diagrama de Estados Aumentado

Treliça do Código Convolucional (2, 1, 3)

Seqüência Codificada

Decodificação Seqüencial

Decodificação Seqüencial

Decodificação Seqüencial

Decodificação Seqüencial

Desempenho de Esquemas de Codificação Padrões

Treliça de um Código Convolucional (3, 1, 2) com h = 5

Algoritmo de Viterbi

A cada unidade de tempo:

• Somar 2k métricas de ramo às métricas dos caminhos previamente armazenados

• Comparar as métricas de todos os 2k caminhos que chegam a cada estado

• Selecionar o caminho com a maior métrica (sobrevivente)

• Armazenar o caminho sobrevivente e sua métrica

Algoritmo de Viterbi

• Passo 1: , calcular a métrica parcial para o único caminho entrando a cada estado. Armazenar o caminho (sobrevivente) e sua métrica para cada estado.

• Passo 2: , calcular a métrica parcial para todos os 2k caminhos que entram num estado somando a métrica de ramo que entra no estado com a métrica do sobrevivente no instante anterior. Para cada estado, comparar as métricas de todos os 2k caminhos que entram nele, selecionar o de maior métrica, armazenar este caminho e sua métrica e eliminar todos os outros caminhos.

• Passo 3: Se , repetir passo 2. Caso contrário: FIM.

mt

1tt

mht

Algoritmo de Viterbi para um DMC

Algoritmo de Viterbi para um BSC

Desempenho de Códigos Convolucionais

Desempenho de Códigos Convolucionais

Melhores Códigos Convolucionais Conhecidos de Taxa 1/2 e 1/3