C odigos convolucionais - Professor Dr. Luis Henrique ... · Luis Henrique Assump˘c~ao Lolis C...

Post on 09-Jul-2020

1 views 0 download

Transcript of C odigos convolucionais - Professor Dr. Luis Henrique ... · Luis Henrique Assump˘c~ao Lolis C...

Codigos convolucionais

Luis Henrique Assumpcao Lolis

29 de novembro de 2013

Luis Henrique Assumpcao Lolis Codigos convolucionais 1

Conteudo

1 Introducao e definicao

2 Diagrama de arvores, de trelica e maquina de estados

3 Decodificacao de codigos convolucionais

Luis Henrique Assumpcao Lolis Codigos convolucionais 2

Sumario

1 Introducao e definicao

2 Diagrama de arvores, de trelica e maquina de estados

3 Decodificacao de codigos convolucionais

Luis Henrique Assumpcao Lolis Codigos convolucionais 3

Introducao e definicao

Codigo com memoria.

Operacao de convolucao: Como em filtros digitais.

Um codigo com memoria M : M registros de deslocamento.

Com n somadores modulo-2: n filtros digitais modulo-2.

O total da fonte na entrada sendo de L bits.

O numero de entradas sendo k

Entao a saıda e de n(L+M) bits.

Grandes distancias mınimas sao computadas em diferentessaıdas de n(L+M) bits sem que necessariamente se aumentek ou n, mas sim M .

Representacao em diagrama de arvore / trelica / estados.

Nocao do codigo em feed-forward e feedback.

Luis Henrique Assumpcao Lolis Codigos convolucionais 4

Taxa do codigo:

r =k · L

n(L+M)bits/simbolo

L >> M ⇒ r ' k

nbits/sımbolo

Comprimento de restricao: Numero de deslocamentos que umbit influi na saıda.

Luis Henrique Assumpcao Lolis Codigos convolucionais 5

Comprimento = 3, r=1/2.

Feed-forward nao sistematico.

Luis Henrique Assumpcao Lolis Codigos convolucionais 6

Comprimento = 2, r = 2/3, k = 2, n = 3, .

Nao sistematico. Melhor para convolucionais.Luis Henrique Assumpcao Lolis Codigos convolucionais 7

Sequencias geradoras

Podem ser comparados a resposta ao impulso de sistemasdiscretos.

Convolucao em modulo-2

Existem diferentes caminhos no codigo convolucional,diferentes respostas ao impulso. Esses caminhos saochamados de sequencias geradoras.

Um sistema de memoria m, contem uma resposta ao impulsode ate m+ 1 unidades de tempo.

Luis Henrique Assumpcao Lolis Codigos convolucionais 8

Nesse codigo sao duas sequencias geradoras.

g(0) = (g(0)0 , g

(0)1 , . . . , g

(0)m )

g(1) = (g(1)0 , g

(1)1 , . . . , g

(1)m )

Comprimento = 4, r=1/2.

g(0) = (1011) = 1 + 0z−1 + 1z−2 + 1z−3

g(1) = (1111) = 1 + 1z−1 + 1z−2 + 1z−3

Luis Henrique Assumpcao Lolis Codigos convolucionais 9

A operacao de convolucao

c(j)l =

m∑i=0

ul−ig(j)i = ulg

(j)0 + ul−1g

(j)1 + . . .+ ul−mg(j)m

Para um dado l da entrada (l pode ser visto como o passo do tempo deamostragem da entrada), as saıdas sao definidas como:

c(0)l = ml +ml−2 +ml−3

c(1)l = ml +ml−1 +ml−2 +ml−3

Para cada amostra na entrada, tem duas na saıda, sendo assim afrequencia de amostragem do sistema dobra.

Luis Henrique Assumpcao Lolis Codigos convolucionais 10

Exercıcio

Dado o codigo convolucional abaixo, determinar a taxa do codigo, o graude memoria comprimento de restricao-1, as sequencias geradoras.Codificar a sequencia u = (001101)Um codigo com comprimento de restricao v, recebe a notacao (n, k, v)

Luis Henrique Assumpcao Lolis Codigos convolucionais 11

Calculo matricial do codigo convolucional

A matriz geradora depende do tamanho da sequencia da entrada a tratar.

Pode-se obter a matriz geradora a partir das sequencias geradoras.

Luis Henrique Assumpcao Lolis Codigos convolucionais 12

Calculo polinomial do codigo convolucional

Os codigos convolucionais tratados por polinomios geradores:

g(0) = (1111), g(0)(D) = 1 +D +D2 +D3

Considerando um codigo r = 1/2 com g(0) e g(1):

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

E o resultado final e a multiplexacao de c(1)(D) e c(2)(D):

C(D) =[c(0)(D), c(1)(D)

]C(D) = c(0)(D2) +Dc(1)(D2)

Matriz geradora polinomial:

Luis Henrique Assumpcao Lolis Codigos convolucionais 13

Sumario

1 Introducao e definicao

2 Diagrama de arvores, de trelica e maquina de estados

3 Decodificacao de codigos convolucionais

Luis Henrique Assumpcao Lolis Codigos convolucionais 14

Diagrama de arvores

Essas representacoes graficas dos codigos convolucionais ajudam nadecodificacao. Elas mostram os caminhos pelos quais os dadospercorreram, e qual o caminho mais provavel quando existe um erro.

Luis Henrique Assumpcao Lolis Codigos convolucionais 15

Arvore do codigo

Referente ao codigo do slide 6

Luis Henrique Assumpcao Lolis Codigos convolucionais 16

Diagrama em trelica

A trelica ilustra o fato que o sistema e uma maquina de estados finita.Mostra que quando uma entrada repete m+ 1 vezes ou mais, a saıda naomuda de valor.

A transicao quando a entrada e ”0”e uma linha solida. A transicaoquando a entrada e ”1”e uma linha pontilhada. Os estados sao indicadosem a, b, c e d.

Para uma palavra de L entradas, o codigo tem L+K estagios, onde K eo comprimento de restricao.

Luis Henrique Assumpcao Lolis Codigos convolucionais 17

Diagrama em trelica

Luis Henrique Assumpcao Lolis Codigos convolucionais 18

Maquina de estados

Dependendo do estado de partida e da entrada (0 ou 1) a transicao leva aum outro estado (descrito entre a, b, c, d), sendo as combinacoes binarias(00,10,01,11) respectivamente.O estado sao os K − 1 bits contidos nos registros de deslocamento, sendoque o bit que chega e o que define a transicao de estado.

Estado Descricao binariaa 00b 10c 01d 11

Luis Henrique Assumpcao Lolis Codigos convolucionais 19

Maquina de estados - 2

Luis Henrique Assumpcao Lolis Codigos convolucionais 20

Exercıcio

Faca a representacao em trelica e em maquina de estados para o codigodo slide 9

Desenhe o caminho percorrido em trelica do codigo do slide 9 quando asequencia de entrada e m = (101011) partindo do estado (00).

Luis Henrique Assumpcao Lolis Codigos convolucionais 21

Luis Henrique Assumpcao Lolis Codigos convolucionais 22

Luis Henrique Assumpcao Lolis Codigos convolucionais 23

Luis Henrique Assumpcao Lolis Codigos convolucionais 24

Sumario

1 Introducao e definicao

2 Diagrama de arvores, de trelica e maquina de estados

3 Decodificacao de codigos convolucionais

Luis Henrique Assumpcao Lolis Codigos convolucionais 25

Decodificacao de codigos convolucionais

Essencialmente dois algorıtmos

Viterbi - Maxima verosimilhanca

BCJR - Maxima probabilidade a posteriori

O foco e Viterbi.

Luis Henrique Assumpcao Lolis Codigos convolucionais 26

Base teorica estatıstica para decodificacao

Correspondencia biunıvoca entre m e c

r 6= c

Quando c estimado c e tal que c = c, a mensagem estimada m e tal quem = m.

A regra para encontrar c que miniminiza a probabilidade de erro.

Luis Henrique Assumpcao Lolis Codigos convolucionais 27

Revisando a probabilidade condicional

A probabilidade condicional entre a sequencia r e a sequencia c:

p(r|c) =N∏i=1

p(ri|ci)

Probabilidade logarıtmica:

log p(r|c) =N∑i=1

log p(ri|ci)

Para o canal binario simetrico:

p(r|c) ={

p, seri 6= ci1− p, seri = ci

Considerando que p(r) e (c) se difiram em d posicoes. d e a distancia deHamming entre os dois vetores. Entao a funcao de densidade logarıtmicafica:

log p(r|c) = d log p+ (N − d) log(1− p)

= d log

(p

1− p

)+N log(1− p)

O mais proximo c de r e o mais provavel. Decodificar entao significaprimeiramente definir o c mais provavel.

Luis Henrique Assumpcao Lolis Codigos convolucionais 28

Decodificador Viterbi

No esquema en trelica nem todas as transicoes sao possıveis. Cadatransicao tem um valor definido na saıda.

Tendo em vista o caminho percorrido ao longo das transicoes pelo sinalrecebido. O caminho possıvel (ou seja c) que contem a menor distanciado r recebido e o mais provavel.

Aplicando Viterbi:

1 Partindo do estado 0, compara-se a saıda de cada possıveltransicao e os bits recebidos.

2 Soma-se a distancia de Hamming entre os bits recebidos e aspossıveis saıdas de cada transicao.

3 Vai aplicando essa operacao passo a passo ate haver doiscaminhos que convergem no mesmo ponto. O caminhosobrevivente e aquele que teve a menor distancia de Hammingacumulada.

4 Vai-se repetindo a operacao ate terminar os dados recebidos.Varios caminhos possıveis podem sobrar. Sobra aquele quetenha a menor distancia de Hamming acumulada.

Luis Henrique Assumpcao Lolis Codigos convolucionais 29

Exemplo

Decodificando r = (0100010000) quando na verdade c = (0000000000).O codigo de referencia e ilustrado no slide 6 , cujas as transicoes saoilustradas no diagrama em trelica do slide 16

Separando as possıveis transicoes partindo de cada estado.

Luis Henrique Assumpcao Lolis Codigos convolucionais 30

Calculando as distancias de Hamming das transicoes

Luis Henrique Assumpcao Lolis Codigos convolucionais 31

Calculando as distancias de Hamming das transicoes

Luis Henrique Assumpcao Lolis Codigos convolucionais 31

Calculando as distancias de Hamming das transicoes

Luis Henrique Assumpcao Lolis Codigos convolucionais 31

Calculando as distancias de Hamming das transicoes

Luis Henrique Assumpcao Lolis Codigos convolucionais 31

Calculando as distancias de Hamming das transicoes

Luis Henrique Assumpcao Lolis Codigos convolucionais 31

Calculando as distancias de Hamming das transicoes

Luis Henrique Assumpcao Lolis Codigos convolucionais 31

Calculando as distancias de Hamming das transicoes

Luis Henrique Assumpcao Lolis Codigos convolucionais 31

Calculando as distancias de Hamming das transicoes

Luis Henrique Assumpcao Lolis Codigos convolucionais 31

Calculando as distancias de Hamming das transicoes

Luis Henrique Assumpcao Lolis Codigos convolucionais 31

Distancia livre e ganho de codificacao

Para corrigir t erros: a distancia livre dlivre > 2tUsando o codigo em trelica se observa o peso das transicoes(11)− > D2L, (01)(10)− > DL, (00)− > L, L o numero de entradas docodigo. Para nos L = 1.O digrama de estados modificado considera o sinal saindo e voltando parao estado a, definindo a0 e a1. Usando a trelica ou diagrama de estados,se definem as transicoes em funcao de L e D. Para o codigo do slide ??

Luis Henrique Assumpcao Lolis Codigos convolucionais 32

O sistema de equacoes que liga cada entrada e saıda dos nos

b = D2La0 + Lcc = DLb+DLcd = DLb+DLda1 = D2Lc

A funcao de transferencia da distancia e:

T (D,L) =D5L3

1−DL(1 + L)

Em expansao binomial:

T (D,L) = D5L3∞∑i=0

(DL(1 + L))i

T (D, 1) = D5 + 2D6 + 4D7 + . . .

A potencia do primeiro termo e a distancia livre, dlivre = 5

Luis Henrique Assumpcao Lolis Codigos convolucionais 33

Ganho assintotico do ganho

Uma vez conhecida a distancia mınima calcula-se o ganho assintotico docodigo para o canal binario gaussiano;

Canal binario AWGN.

Ga = 10 log10 (dfreer) dB

r a taxa do codigo.

Luis Henrique Assumpcao Lolis Codigos convolucionais 34