Beruflich Dokumente
Kultur Dokumente
Decodificao
Sejam:
pc(c) a probabilidade de uma palavra-cdigo ser transmitida pv(v) a probabilidade de uma palavra-cdigo v ser recebida
Cdigo convolucional
Opera em cada bit entrante e gera a palavra cdigo a partir deste bit taxa R=1/n, consiste de uma mquina de estados com:
M- memrias (shift-register) n somadores mdulo 2 multiplexador que serializa as n sadas dos somadores
Dado que uma palavra v foi recebida, a probabilidade da palavra c ter sido transmitida p(c/v)
A menor probabilidade de erro dada pela escolha da palavra ci tal que p(c/v) mxima. Este decodificador que maximiza esta probabilidade chamado de MAP (Maximum A Posteriori) Quando todas as palavras cdigo so igualmente provveis equivale a maximizar p(v/c), ou seja, a mxima verossimilhana e so chamados de decodificadores maximum likelihood. ci ser a palavra que minimiza d(ci,v). Assim, se calcula a distncia entre a palavra-cdigo recebida e todas as palavras-cdigo possveis de serem geradas. Decodificao por fora bruta. O algoritmo mais usado o Algoritmo de Viterbi.
Juliana Fernandes Camapum - 01/2007 Teoria da Informao Cdigos de Controle de Erro - 3
Mensagem L codificada em n(L+M)bits > R=L/n(L+M) Como L >> M ->R 1/n Parmetro importante: comprimento de restrio K normalmente igual a M+1. representa o mximo nmero de bits em uma sada que pode ser influenciada por qualquer bit de entrada
Juliana Fernandes Camapum - 01/2007 Teoria da Informao Cdigos de Controle de Erro - 4
Cdigo convolucional
Cdigo convolucional
y(0)
x
y(1)
y = xG ( D)
y = xG ( D) y ( 0) = x + xD + xD 2 y
(1)
y ( 0 ) = x + xD 2 + xD 3
2
= x + xD
G ( D) = 1 + D + D 2 1 + D 2
Juliana Fernandes Camapum - 01/2007
y (1) = x + xD + xD 3 G ( D) = 1 + D 2 + D 3 1 + D + D 3
Cdigo convolucional
Cdigo convolucional sistemtico
y = xG ( D) y (0) = x G ( D) = 1 1 + D + D 3
y (1) = x + xD + xD 3
x
y = xG ( D) x(1 + D 2 ) 1+ D + D2 1+ D2 G ( D) = 1 2 1+ D + D y (0) = x y (1) =
Juliana Fernandes Camapum - 01/2007
(0)
=x
) (y
(1)
+x
)
Teoria da Informao Cdigos de Controle de Erro - 8
G ( D) = 1 + D + D 2 1 + D 2
ci(1) = ui + ui D 2 = ui + S1t
0 0
sendo tambm S
t +1 1
= S0
t
t (S0 )( S1t ) = ui D ui D 2
ci(1) = ui + ui D 2 = ui + S1t
Juliana Fernandes Camapum - 01/2007
u
(2) (2) (2)
1+ D
c X X Y
c
y
Teoria da Informao Cdigos de Controle de Erro - 13
c
Juliana Fernandes Camapum - 01/2007
y
Teoria da Informao Cdigos de Controle de Erro - 14
y(0)
y(1)
Codificador Convolucional
Circuito para matriz geradora G(D)
x(0)
1+ D + D2 1 0 1+ D2 G( D) = D + D2 0 1 1+ D2
y(0) y(1)
x(0) x(1)
y(0)
y(1) y(2)
x(1)
Juliana Fernandes Camapum - 01/2007
y(2)
Teoria da Informao Cdigos de Controle de Erro - 17 Juliana Fernandes Camapum - 01/2007
B = L+M ; M = K-1
B = L+M ; M = K-1
Exemplo 1: Considere o codificador convolucional da figura abaixo com R=1/2, K=3, M=2(4 estados). Decodifique a palavra recebida v= 01 00 01 00 00 , considerando que o estado inicial 00.
c0 = ui + ui 1 + ui 2 c1 = ui + ui 2
O tamanho da palavra-cdigo nB=n(L+M)=2(L+2)=10. Assim, a mensagem tem comprimento L = 3. Ao final dos 3 bits de mensagem iremos inserir 00 tal que a memria ir terminar no estado 00 no instante 5T.
Juliana Fernandes Camapum - 01/2007 Teoria da Informao Cdigos de Controle de Erro - 23 Juliana Fernandes Camapum - 01/2007 Teoria da Informao Cdigos de Controle de Erro - 24
2T
11
11
11
10
10 01
10
00 01
01
01
01
01 01 10
3T
00
4T
00 11
5T
00 00 00 11 00 00
2T
00 11
3T
00 11
4T
00 11 11 00 00 11 00 00 11 11
11
11
10 01 01 01
00 01
10 01
10 00 00 01 01 01
10 00 01 00
10
00 10
01
01 01 10 01 01 10
01 01
00 11
00 00 11 11
10 10 01
10 01
10
00 11
00 11
00 00 11 10 10 00 01 11
10 01
10
10 00
10
00 10
01 10 10 10 10
00 11
11
10
10
11
00 11 00 11
10 01
11
Juliana Fernandes Camapum - 01/2007 Teoria da Informao Cdigos de Controle de Erro - 33
01
Teoria da Informao Cdigos de Controle de Erro - 34
11
11 11 10 01 00
11 00
10
2
01 01
00
01
01
0
10 10
0
10
11
01
10
11
01
10
00
2
10 01 00 00
1 2
00 00
10 01
00
00
00
1
01 10 01 01 10 10
10
01 10
01
01
01
1
10 10
11
01
10
00
00
11
01
10
00
00
00
11
01
10
00
00
00
00
00
11
01
10
00
00
00
00
a seqncia transmitida foi c= 00 00 00 00 00 00 00 00 ... e u = 0 0 0 0 0 0 0 0 ... e a seqncia recebida corrigida foi c=11 10 11 00 00 00 00 00 ... e u = 1 0 0 0 0 0 0 0... Assim, a seqncia foi recebida com um bit de erro.
Juliana Fernandes Camapum - 01/2007 Teoria da Informao Cdigos de Controle de Erro - 40
Cdigos Turbo
Codificador Turbo
3 00 3
00 11
00 11 11 10 01 01 10 00
00
00
00
00
00
00
00
00 10 01
00 10 01
00 10 3 01 3
00 10 01
consiste de dois ou mais (geralmente idnticos, taxa R=1/2) codificadores sistemticos recursivos (RSC) concatenados em paralelo e um pseudo-aleatrio embaralhador de bits (interleaver). Interleaver: permuta os bits de entrada tal que os dois codificadores operam no mesmo conjunto de bits de entrada, porm em seqncias de entrada diferentes.
01 10
01 10
ur
11
01
10
00
00
00
00
00
00
O n = pode ser visto como um cdigo de repetio que envia sua entrada por trs caminhos. O n representa a permutao.
Cdigos Turbo
Inventados em 1993 Usam decodificao estatstica Podem ter um tamanho de bloco de 65536 Para R = 1/2, cada codificador convolucional perfurado Os bits de entrada so agrupados em seqncias de comprimento finito cujo comprimento N, igual ao tamanho do interleaver. Como ambos os codificadores so sistemticos e operam no mesmo conjunto de bits de entrada, necessrio transmitir os bits de entrada apenas uma vez. Assim, a taxa de cdigo R resultante de 1/3. Notao: Um (h0, h1, N) cdigo Turbo significa que h0, h1 : polinmios cheque de paridade dos dois codificadores. N: comprimento do interleaver.
Teoria da Informao Cdigos de Controle de Erro - 43
Exemplo:
Seja um cdigo Turbo com a seguinte estrutura RSC
Estrutura do codificador RSC:
ur vr
tamanho do Interleaver N = 16 com permutao P16={15, 10, 1, 12, 2, 0, 13, 9, 5, 3, 8, 11, 7, 4, 14, 6} que implica em u0=u15, u1=u10, e assim por diante.
Juliana Fernandes Camapum - 01/2007 Teoria da Informao Cdigos de Controle de Erro - 44
Exemplo:
Se a seqncia de entrada u={u0, , u15} = {1,0,0,0,1,0,0,0,0,0,0,0,1,0,1,0}, ento a entrada permutada do segundo codificador : u={u0, , u15} = {0,0,0,1,0,1,0,0,0,0,0,0,0,1,1,0}. As seqncias de paridade sem perfurao so v(1)={v(1)0,,v(1)15}={0,1,0,1,1,0,0,1,0,1,1,1,0,1,1,0} v(2)={v(2)0,,v(2)15}={0,0,0,0,1,0,0,1,0,1,1,1,0,0,0,1} Sem perfurao, a palavra-cdigo resultante u0, v(1)0, v(2)0, u1, v(1)1, v(2)1, , u15, v(1)15, v(2)15 Taxa = 1/3. Peso de Hamming da palavra-cdigo resultante: d=w(u)+w(v(1))+w(v(2)=4+9+6=19
Juliana Fernandes Camapum - 01/2007 Teoria da Informao Cdigos de Controle de Erro - 45 Juliana Fernandes Camapum - 01/2007
Exemplo:
Se a perfurao comea de v(1)0, a seqncia da palavra-cdigo perfurada se torna u0, v(2)0, u1, v(1)1, u2, v(2)2, , u15, v(1)15 Taxa = Peso de Hamming da palavra-cdigo resultante: d= 4+6+2=12 Se a perfurao comea de v(2)0, a palavra-cdigo se torna u0, v(1)0, u1, v(2)1, u2, v(1)2, , u15, v(2)15 Taxa = Peso de Hamming da palavra-cdigo resultante: d= 4+3+4=11
Teoria da Informao Cdigos de Controle de Erro - 46
Atualmente, cdigos turbo so usados em muitoas aplicaes comerciais, incluindo a terceira gerao de sistemas celulares UMTS e cdma2000.
Third Generation Partnership Project(3GPP). Multiplexing and Channel Coding (FDD), March 2005. TS 25.212 Version 6.4.0.
Juliana Fernandes Camapum - 01/2007 Teoria da Informao Cdigos de Controle de Erro - 47
Cada decodificador MAP corresponde a um dos codificadores. Os interleavers so idnticos aos do codificador Turbo e so usados para reordenar as seqncias tal que cada decodificador esteja sincronizado. Cada iterao do decodificador iterativo executada em duas fases. As probabilidades a posteriori de uma fase so usadas como informao a priori da fase seguinte.
Teoria da Informao Cdigos de Controle de Erro - 48
O processo de decodificao iterativa continua at que o desempenho desejado seja alcanado. Para um cdigo Turbo (37, 21, 65536), o desempenho com decodificao iterativa continua aumentando at 18 iteraes
Passo 0 as sadas do canal w e v1 so alimentadas em um n que usado para decodificar o codificador conv. superior. Ao receber as sadas w e v1, o decodificador superior ir gerar as probabilidades do bit w ser 1.
Passo 1 As sadas do decodificador superior so enviadas para o n =, onde so combinadas com as sadas do canal para w, e so tratadas como estimativas melhoradas para as probabilidades do bit w ser 1. Estas probabilidades so enviadas para o decodificador inferior, que tambm recebe as sadas do canal para v2. Este decodificador tambm ir gerar sadas para a probabilidade de que cada entrada seja 1.
Juliana Fernandes Camapum - 01/2007 Teoria da Informao Cdigos de Controle de Erro - 51
Passo 2
As sadas do decodificador inferior so enviadas atravs do n =, onde so novamente combinadas com as sadas do canal para w, e so passadas como entradas do decodificador superior, onde so novamente combinadas com as sadas do canal para v2 .
Este processo ento repetido por algumas iteraes: alternando entre os dois decodificadores.
Juliana Fernandes Camapum - 01/2007 Teoria da Informao Cdigos de Controle de Erro - 52
Desempenho cai bastante abaixo de um valor crtico de Eb/No difcil atingir taxa de erro abaixo de10-5 Para taxa de erro igual a 10-5 ele est a menos de 0,5dB do limite terico de Shannon
Cdigos LDPC
Low-Density Parity-Check Desvantagens dos cdigos turbo:
presena de palavras-cdigo de baixo peso no consegue com facilidade taxas de erro menores do que 10-5 a 10-6 complexidade computacional do algoritmo de decodificao
LDPC
No possuem palavras-cdigo de baixo peso so obtidas taxas de erro to pequenas quanto se queira algoritmos iterativos de decodificao de baixa complexidade
A matriz H no sistemtica mas, podemos ter uma matriz G sistemtica da forma abaixo: c = [p | m], sendo p bits de paridade e m mensagem sendo H1 matriz (n-k) x (n-k) e H2 matriz k x (n-k)
H H H T = L1 [p Mm ]L1 = 0 pH 1 + mH 2 = 0 H 2 H 2
Se a matriz G sistemtica G = [P | Ik] e p = mP, temos
PH 1 + H 2 = 0 P = H 2 H1 1
Ou seja,
G = H 2 H1 1 M I k
]
Teoria da Informao Cdigos de Controle de Erro - 57 Juliana Fernandes Camapum - 01/2007 Teoria da Informao Cdigos de Controle de Erro - 58
Inverso de Matriz
A inversa de uma matriz pode ser determinada resolvendo o sistema Ax=I, onde I a matriz identidade
H1-1
H2H1-1
H2H1-1
Um cdigo LDPC pose ser representado por um grafo bipartido: lado esquerdo n ns e lado direito (n-k) ns O n j da esquerda est conectado ao n i da direita se o elemento (i,j) de H 1
O algoritmo ento estima, iterativamente, para cada bit j, os valores de Pj0 e Pj1, obtendo
Se AT=0 ento a decodificao est terminada Caso contrrio, o algoritmo faz mais uma iterao Aps um nmero mximo de iteraes (100 a 200), uma falha de decodificao decretada
Juliana Fernandes Camapum - 01/2007 Teoria da Informao Cdigos de Controle de Erro - 61
Os codificadores LDPC so mais simples de implementar do que os cdigos turbo Entretanto, o seu desempenho no se aproxima tanto do limite de Shannon como dos cdigos turbo
Teoria da Informao Cdigos de Controle de Erro - 62