Michelle Foltran Miranda CÓdigos corretores de erro e turbo code curitiba


A Informação Extrínseca do Decodificador RSC



Baixar 248.2 Kb.
Página10/10
Encontro29.07.2016
Tamanho248.2 Kb.
1   2   3   4   5   6   7   8   9   10

A Informação Extrínseca do Decodificador RSC

Nesse capítulo, será mostrado que a LLR (dk) associada com cada bit decodificado dk é a soma da LLR de dk na entrada do decodificador e de uma outra informação chamada informação extrínseca, gerada pelo decodificador.

Utilizando a definição de LLR (81) e as relações (88) e (89), obtém-se
(94)
Uma vez que o codificador é sistemático (Xk = dk), a probabilidade de transição p(xk / dk = i, Sk = m, Sk-1 = m’) na expressão i(Rk,m’,m) é independente dos valores de estado Sk e Sk-1. Assim, pode-se fatorar essa probabilidade no numerador e denominador da relação (94).
(95)
Condicionadas a dk = 1 (respectivamente dk = 0), as variáveis xk são gaussianas com média 1 (respectivamente –1) e variância 2, portanto a LLR (dk) é igual a
(96)
Onde
(97)
Nessa equação, Wk é uma função da informação redundante introduzida pelo codificador. Essa quantidade representa a informação extrínseca fornecida pelo decodificador e não depende da entrada xk do decodificador. Essa propriedade será usada para a decodificação de dois codificadores concatenados em paralelo.

    1. Esquema de Decodificação dos Códigos com Concatenação em Paralelo

No esquema de decodificação exibido na figura 7, o decodificador DEC1 computa a LLR 1(dk) para cada bit transmitido dk das seqüências {xk} e {yk}. O decodificador DEC1 utiliza o algoritmo de BAHL modificado e o DEC2 deve utilizar o algoritmo de Viterbi. A regra de decodificação global não é ótima, porque o primeiro usa somente uma fração da informação de redundância disponível. Portanto, é possível melhorar a performance desse decodificador serial usando um loop de realimentação.



      1. Decodificação com um Loop de Realimentação

Considera-se agora que ambos os decodificadores DEC1 e DEC2 utilizam o algoritmo de BAHL modificado. Foi visto em seções anteriores que a LLR na saída do decodificador pode ser expressa por uma soma de dois termos se as entradas do decodificador forem independentes. Portanto, se as entradas 1(dk) e y2k são independentes, a LLR 2(dk) pode na saída do decodificador DEC2 pode ser escrita como


(98)
Com
(99)
A partir da relação (97), pode-se observar que a informação extrínseca W2k do decodificador DEC2 é função da seqüência {1(dk)}nk. Uma vez que 1(dk) depende da observação R1N, a informação extrínseca W2k está correlacionada com as observações xk e y1k. Todavia, da relação (97), quão maior for |n-k|, menos correlacionadas estão 1(dk) e as observações xk, yk. Portanto, devido à presença do interleaver entre os decodificadores DEC1 e DEC2, a informação extrínseca W2k e as observações xk, y1k estão fracamente correlacionadas. Dessa forma, a informação extrínseca W2k e as observações xk, y1k podem ser utilizadas em conjunto para produzir uma nova decodificação do bit dk e a informação extrínseca zk = W2k atua com um efeito diversificado em um processo iterativo.

A figura 8 mostra esse novo esquema de decodificação utilizando a informação extrínseca W2k gerada pelo decodificador DEC2 em um loop com realimentação. Esse esquema de decodificação não considera os diferentes atrasos introduzidos pelos decodificadores DEC1 e DEC2 e uma estrutura mais real será mostrada mais adiante.




Figura 8: Decodificador com realimentação
O primeiro decodificador DEC1 possui agora três entradas, (xk, y1k, zk) e as probabilidades i1k(m) e 1k(m) são computadas substituindo Rk = (xk, y1k) por Rk = (xk, y1k, zk) nas relações (89) e (90). Considerando que zk está fracamente correlacionado com xk e y1k e supondo que zk pode ser aproximado por uma variável gaussiana com variância 2k 2, a probabilidade de transição do canal gaussiano discreto sem memória pode agora ser fatorada em três termos
(100)
O codificador C1 com taxa inicial R1, devido ao loop de realimentação passa a ser equivalente a um codificador de taxa R’1 onde
(101)
O primeiro decodificador obtém uma informação de redundância adicional com zk a qual melhora significativamente a sua performance. O termo Turbo-codes é dado em relação a esse esquema iterativo do decodificador com referência ao princípio de máquina turbo.

Com o primeiro decodificador de realimentação, o LLR 1(dk) gerado pelo decodificador DEC1 é agora igual a


(102)
Onde W1k depende da seqüência {zn}nk. Como indicado acima, a informação zk foi construída pelo decodificador DEC2 no passo de decodificação anterior. Portanto, a seqüência de entrada do decodificador no passo p (p 2) serão as seqüências e {y2k} com
(103)
Finalmente, a partir da relação (98), a informação extrínseca zk = W2k, após o processo de deinterleaving, pode ser escrita como
(104)

E a decisão na saída do decodificador DEC será


(105)
Os atrasos de decodificação introduzidos pelo decodificador DEC (DEC=DEC1+DEC2), o interleaver e o deinterleaver implicam que a informação de realimentação zk deve ser utilizada como um processo iterativo, de forma apresentada nas figuras 9 e 10. De fato, o circuito de decodificação global é composto por P decodificadores elementares idênticos (vide figura 9). A p-ésima entrada do decodificador DEC (vide figura 10) é produzida pelas seqüências de saída do demodulador (x)p e (y)p através de uma linha de atraso e pela informação extrínseca (z)p gerada pelo (p-1)-ésimo decodificador DEC. Deve-se notar que a variância 2z da informação extrínseca e a variância de deve ser estimada a cada passo de decodificação p.


Figura 9: Decodificador equivalente ao processo iterativo de decodificação com realimentação



Figura 10: Módulo de decodificação (nível p)

      1. Interleaving


O interleaver utiliza uma matriz quadrada e os bits {dk} são escritos linha a linha e lidos de forma pseudo-randômica. Essa regra de leitura não uniforme é capaz de propagar os blocos de erro residuais de forma retangular, que deve ser iniciado no interleaver logo abaixo do primeiro decodificador DEC1 e fornecer a maior distância possível ao código concatenado em paralelo.



    1. Resultados

Para um codificador de taxa 1/2 com constraint length K=5, seqüências geradoras G1=37, G2=21 e concatenação paralela (R1=R2=2/3), foi computada da taxa de erro de bit (TEB) após cada passo da decodificação utilizando o método de Monte Carlo, como uma função da relação sinal-ruído Eb/N0 onde Eb é a energia recebida por bit dk de informação e N0 é a densidade espectral de potência unilateral de ruído. O interleaver consiste de uma matriz 256 x 256 e o algoritmo modificado de BAHL foi usado com blocos de dados de comprimento N=65536 bits. De forma a calcular a TEB igual a 10-5 foram considerado 128 blocos de dados, ou seja, aproximadamente 8 x 106 bits dk. A TEB versus Eb/N0 para diferentes valores de p foi plotada, como na figura 11. Para qualquer valor de Eb/N0 maior que 0 dB, a TEB decresce como função do passo de decodificação p. O ganho de codificação é relativamente alto para os primeiros valores de p (p=1,2,3) e continua crescendo para as próximas iterações. Para p=18, a TEB é menor que 10-5 para Eb/N0 = 0,7 dB. Lembrando que o limite de Shannon para uma modulação binária com R=1/2 é Pe=0 (vários autores tomam Pe=10-5 como valor de referência) para Eb/N0 = 0 dB. Portanto, com a concatenação em paralelo de códigos convolucionais RSC e decodificação com realimentação, a performance desse esquema está a 0,7 dB do limite de Shannon.




Figura 11: TEB dada por decodificação iterativa
Para baixos valores de Eb/N0, foi observado que a TEB poderia aumentar durante o processo de decodificação. Para combater esse efeito, a informação extrínseca zk foi dividida por com  =0,15.

Na figura 12, o histograma da informação extrínseca foi traçado para vários valores de iteração p, com todos os bits iguais a 1 e para um baixo valor de Eb/N0 (Eb/N0=0,8). Para p = 1, a informação extrínseca é muito pouca sobre o bit dk e a hipótese gaussiana feita acima para a informação extrínseca não é satisfeita. Todavia, quando a iteração p aumenta, o histograma converge para a lei gaussiana com média igual a 1. Para p = 13, a informação extrínseca torna relevante a informação relacionada aos bits de dados.




Figura 12: Histograma da informação extrínseca após as iterações 1, 4 e 13 com Eb/N0=0.8 dB

    1. Conclusões sobre Turbo-Codes

No artigo apresentado por Berrou, foi mostrada uma nova classe de códigos convolucionais chamada Turbo-codes cuja performance em termos de BER está muito próxima do limite de Shannon. O decodificador é constituído por P módulos elementares idênticos e p módulos elementares utilizam a informação que vem do demodulador e a informação extrínseca gerada pelo módulo (p-1). Cada módulo elementar utiliza o algoritmo de BAHL modificado, o qual é bastante complexo. Um algoritmo mais simples que produz decisão suave tem sido investigado para a decodificação dos Turbo-Codes, cuja complexidade é apenas duas vezes a complexidade do algoritmo de Viterbi e cuja performance está próxima do algoritmo de BAHL modificado.



  1. Simulação de Sistemas com Controle de Erro

A vantagem da utilização de códigos corretores de erro em sistemas de comunicação fica visível ao simularmos (via software) o enlace completo desse sistema. Em muitos casos, a validação e análise de algoritmos de decodificação dependem de resultados de simulações.

Nesse item serão apresentados o Método de simulação de Monte Carlo para sistemas de comunicação e, posteriormente os resultados de simulação através do Software Matlab 6.0.

Supõe-se inicialmente um código binário de Hamming C(7,4), uma fonte binária, modulação antipodal BPSK, decodificação com decisão abrupta e utilizando síndromes.

A figura 1 já mostrada anteriormente ilustra todas as etapas do processo.

A fonte gera a mensagem de quatro bits. O codificador de canal codifica a mensagem na palavra-código de sete bits e a entrega ao modulador. O modulador BPSK simplesmente mapeia a palavra-código obtida no vetor a ser transmitido usando a seguinte regra: os bits 0 são decididos em –1 e os bits 1 são decididos em 1.

Após a passagem pelo canal, a palavra-código está adicionada de ruído. O demodulador faz a decisão desse vetor usando a seguinte regra: toda a componente negativa do vetor é decidida em –1 e toda componente igual ou maior que zero é decidida em +1. Em seguida, o demodulador remapeia o vetor decidido em 0 ou 1 usando de forma contrária, a mesma regra de mapeamento.

O decodificador corrigirá certamente esse erro uma vez que emprega o código de Hamming que corrige todos os padrões de um erro. Na saída do decodificador, tem-se k=4 bits transmitidos pela fonte e que serão entregues ao usuário.

Outra importante consideração é que o canal é tido com ruído aditivo branco gaussiano (AWGN).

Outro item importante a ser caracterizado é a medida da taxa de erro de bit (TEB). As definições seguintes têm por objetivo colocar os conceitos teóricos básicos e delimitar os critérios adotados na simulação via software.

Para uma mensagem de comprimento finito de R’ bits de informação por intervalo de modulação e de energia de mensagem E, a energia de bit E é definida como:
E = E / R (106)
Onde R’ = mR, sendo m o número de bits por símbolo e R a taxa de codificação ou taxa de redundância do código (R = k/n, sendo k o número de símbolos de informação e n o número comprimento do código, ou seja o número de símbolos em cada palavra-código).

Dessa forma, somente os símbolos de informação são usados no cálculo de E.

A variância de um processo ruidoso Gaussiano branco é dada por
(107)
Onde N0 é o ruído de densidade espectral unilateral e medido em Watts/Hertz (Joules). Assim, a relação sinal-ruído de um canal é dada por Em/N0. A cada valor de uma dessas relações, está associada uma taxa de erro de bits (TEB) ou uma taxa de erro de palavras. Para uma modulação BPSK, a relação sinal/ruído será
(108)
Para códigos binários onde m = 1 e R = R’, tem-se que a taxa de redundância do código R’ = R = k/n, onde k é o número de símbolos de informação e n o comprimento do código, define-se uma relação sinal-ruído por símbolo de informação transmitido como
(109)
Assim, em [dB]
(110)
A energia da mensagem Em, em geral, é normalizada e é igual a 1. Os dados de entrada para a simulação de um sistema codificado são b (dB) e o número de transmissões para a obtenção de uma boa amostragem estatística de erros. Como resultado da simulação, tem-se o número de bits errados (considerando-se somente as k posições de informações) em função de b (dB).

  1. Conclusões

Através do Software Matlab 6.0, o sistema de comunicação descrito anteriormente foi implementado a fim de se visualizar a curva TEB X Eb/N0 para os códigos de bloco e os convolucionais. Os resultados estão exibidos nas figuras 13, 14, 15 e 16.

A figura 13 mostra as curvas obtidas sem codificação e para um código de Hamming C(7,4), corretor de 1 erro. Observa-se que, após aproximadamente 7 dB, a codificação produziu um melhor resultado, ou seja, uma menor taxa de erro de bit.


Figura 13: Código de Hamming C(7,4)
A figura 14 compara o desempenho de dois códigos BCH C(15,11), corretor de 2 erros, e C(31,11), que corrige até 5 erros. Analisando o gráfico, nota-se que a partir dos 4 dB, o código BCH C(31,11) apresentou-se mais eficiente.


Figura 14: Código BCH C(15,11) e C(31,11)
A figura 15 exibe a taxa de erro de bit para um código Reed-Solomon (7,5), enquanto que a figura 16 compara dois códigos convoluicionais: (2,1,6) com R = 1/2 e (3,2,4) com R = 3/2.

Percebe-se que o código de Reed-Solomon é mais eficiente que o Código de Hamming e, entre os códigos convolucionais, o código (2,1,6) possui menores taxas de erro de bit quando comparado com (3,2,4).

Nota-se ainda que, por possuírem memória, os códigos convolucionais são realmente mais eficientes que os códigos de Hamming e são muito utilizados em sondas e satélites espaciais.

Observando todas as curvas apresentadas até aqui, verifica-se que os Turbo-Codes são realmente os códigos mais eficientes e que produzem probabilidade de erro de bit próxima ao limite de Shannon. Dessa forma, são alvo de intensa pesquisa para a obtenção de codificadores e decodificadores de altas performances.




Figura 15: Código Reed-Solomon (7,5)


Figura 16: Códigos Convolucionais (2,1,6) e (3,2,4)


Referências Bibliográficas

BLAHUT, R.E. Theory and Practice of Error Control Codes, Addison Wesley Pub. Co., Canada, 1984


LIN, SHU / COSTELLO, D. J., JR., Error Control Coding: Fundamentals and Applications. Prentice Hall, 1983
PROAKIS, J. G., Digital Communication, McGraw Hill, 1983
TAUB, H., SCHILING, D. L., Principles of Communication Systems. McGraw Hill Kogakusha, Ltda 1971
CLARK, G. C., Cain, J. B., Error Correction Coding for Digital Communications, Plenum Press, New York, 1981
HEEGARD, C., WICKER, S. B., Turbo Coding, Kluwer Academic Publishers, 1999
BERROU, C. Glavieux, A., Thitimajshima, P., “Near Shannon Limit Error – Correctig Coding and Decoding: Turbo Codes“, 1993



Catálogo: edu
edu -> Advocacia Previdenciária Dra. Mª Cecília Melo Trópia Dra. Marcella Souza França
edu -> Fundamentos neurolingüÍsticos: contribuições à Fonoaudiologia
edu -> A música na educaçÃo infantil e sua contribuiçÃo para o desenvolvimento infantil
edu -> EducaçÃO À distância: uma contribuição na formação pessoal e profissional dos usuários
edu -> Universidade federal do estado do rio de janeiro unirio maria clara ligiero chehin
edu -> Norma Silvia Trindade de Lima educaçÃo e psicodrama: possíveis práticas de singularizaçÃO?
edu -> Projeto a inclusão do ensino da história africana
edu -> Modelo de resumo de projeto
edu -> Poder judiciário tribunal regional federal da 1ª regiãO
edu -> Fitorremediação por Miscanthus X giganteus de solos contaminados com lamas residuais urbanas (lru’s) ricas em metais pesados


Compartilhe com seus amigos:
1   2   3   4   5   6   7   8   9   10


©principo.org 2019
enviar mensagem

    Página principal