Beruflich Dokumente
Kultur Dokumente
TECNOLGIA DA PARABA
COORDENAO DO CURSO SUPERIOR DE TECNOLOGIA
EM SISTEMAS DE TELECOMUNICAES
Cdigo Turbo
Cdigo Turbo
Orientador:
Cdigo Turbo
BANCA EXAMINADORA
AGRADECIMENTOS
Agradeo a Deus por ter me dado sade, perseverana e pelas pessoas que colocou em
meu caminho.
Agradeo ao meu orientador Professor Guedes, pela orientao, incentivo e pacincia.
Agradeo a minha esposa Aid pelos cuidados, pacincia, compreenso e por estar
sempre me ajudando nos momentos difceis e comemorando comigo nas conquistas.
Agradeo a meu filho Pablo pela compreenso e apoio.
Agradeo ao grande amigo Fbio Monteiro, por ter me dado a oportunidade de realizar
esta conquista.
Agradeo aos meus pais, Graa e Gildo pela motivao e lies de vida.
Agradeo aos meus irmos, Paulo e Danielle pelo companheirismo.
Agradeo aos amigos do IFPB pelo incentivo, especialmente a Adriana, Las, Girlene
e Isaac que estudaram ao meu lado sendo sempre companheiros nas horas difceis.
Agradeo aos professores com quem tive o prazer de estudar pelos ensinamentos,
especialmente aos professores Erick Silva, Ksia Santos, Jeferson Costa, Rossana Moreno e
Silvana Cunha.
RESUMO
Este trabalho tem como objetivo mostrar a importncia dos cdigos corretores de erros
na transmisso digital de informaes, onde a tendncia em curto prazo dos sistemas de
telecomunicaes a migrao total para a transmisso digital, devido a facilidade da
manipulao da informao, seja por processamento do sinal, utilizao de cdigos corretores
de erro, dentre outras o que pode aumentar de forma considervel as taxas de transmisso com
qualidade e confiabilidade. A nfase deste trabalho est no estudo dos cdigos turbo, os quais
so utilizados em vrios esquemas de codificao de canal em uma transmisso digital,
identificando os principais componentes que afetam as caractersticas e o desempenho da
codificao turbo. Para se averiguar de forma terica a eficcia do cdigo turbo foram
realizadas simulaes utilizando o Software Matlab.
ABSTRACT
This work aims to show the importance of error correcting codes in digital
transmission of information, where the trend in a short time of telecommunications systems is
the total migration to digital transmission, due to ease of manipulation of information, either
by processing signal, using error correcting codes, and others which may increase
considerably the rates of transmission quality and reliability. The emphasis of this work is the
study of turbo codes, which are used in various coding schemes in a digital transmission
channel, identifying the main components that affect the characteristics and performance of
turbo coding. To verify the theoretical form of the efficiency of the turbo code simulations
were performed using Matlab software.
Keywords: digital transmission, error correction code, turbo code, channel coding,
convolutional code, interleaving.
ii
SUMRIO
RESUMO ............................................................................................................................... i
ABSTRACT .......................................................................................................................... ii
SUMRIO ...........................................................................................................................iii
LISTA TABELAS ............................................................................................................... iv
LISTA DE SIGLAS ........................................................................................................... vii
CAPTULO 1 - Introduo...................................................................................................... 1
2.2
3.2
Simulao .................................................................................................................... 34
REFERNCIAS ..................................................................................................................... 43
iii
LISTA DE FIGURAS
Figura 2.1 - Etapas do processo da transmisso de um sinal digital. ......................................... 4
Figura 2.2 - Codificador convolucional linear com taxa R = ................................................. 7
Figura 2.3 - Diagrama de estados para o codificador da Figura 2.2. .......................................... 8
Figura 2.4 - Diagrama em trelia para o codificador da Figura 2.2 ......................................... 10
Figura 3.1 Diagrama de bloco do codificador turbo sem perfurao de taxa 1/3.................. 13
Figura 3.2 Diagrama de bloco do codificador turbo com perfurao de taxa 1/2 ................. 14
Figura 3.3 - Trelia terminada .................................................................................................. 16
Figura 3.4 - Ilustrao de spectral thinning.............................................................................. 18
Figura 3.5 - Um decodificador iterativo cdigo turbo baseado no algoritmo MAP ................. 22
Figura 3.6 - Desempenho do Cdigo Turbo (37, 21, 65536) em funo do nmero de iteraes
do decodificador. ...................................................................................................................... 23
Figura 3.7 - Diagrama do codificador e diagrama do estado para um cdigo (2,1,2). ............. 27
Figura 4.1 - Curvas para um PCCC e um Cdigo Convolucional com R = 1/3. (a) Palavra
cdigo (b) Probabilidade de erro de bit .................................................................................... 33
Figura 4.2 Modelo do simulador do cdigo turbo ................................................................. 36
Figura 4.3 Modelo do codificador turbo no perfurado. ....................................................... 36
Figura 4.4 Grfico da simulao do cdigo turbo no perfurado de taxa R = 1/3 com 4
iteraes e entrelaador 20 x 1024. .......................................................................................... 37
Figura 4.5 Grfico da simulao do cdigo turbo no perfurado de taxa R = 1/3 com 6
iteraes e entrelaador 20 x 1024. .......................................................................................... 37
Figura 4.6 Grfico da simulao do cdigo turbo no perfurado de taxa R = 1/3 com 4
iteraes e entrelaador 100 x 1024. ........................................................................................ 38
Figura 4.7 Grfico da simulao do cdigo turbo no perfurado de taxa R = 1/3 com 6
iteraes e entrelaador 100 x 1024. ........................................................................................ 38
Figura 4.8 Modelo do codificador turbo no perfurado. ....................................................... 39
Figura 4.9 Grfico da simulao do cdigo turbo perfurado de taxa R = com 4 iteraes e
entrelaador 20 x 1024. ............................................................................................................ 40
Figura 4.10 Grfico da simulao do cdigo turbo perfurado de taxa R = com 6 iteraes
e entrelaador 20 x 1024........................................................................................................... 40
iv
Figura 4.11 Grfico da simulao do cdigo turbo perfurado de taxa R = com 4 iteraes
e entrelaador 100 x 1024......................................................................................................... 41
Figura 4.12 Grfico da simulao do cdigo turbo perfurado de taxa R = com 6 iteraes
e entrelaador 100 x 1024......................................................................................................... 41
LISTA TABELAS
Tabela 2.1 - Tabela de transio de estados para o diagrama da Figura 2.4..............................9
Tabela 3.1 Peso e multiplicidade para o espectro de distncia para o cdigo (32,12)...........15
Tabela 3.2 - Cdigo de Hamming (7,4,3) sistemtico..............................................................24
vi
LISTA DE SIGLAS
AWGN (additive white gaussian noise) Rudo branco aditivo com distribuio gaussiana
BER (bit error ratio) Taxa de erro de bit
BPSK (binary phase shift keying) Chaveamento por deslocamento de fase binrio
CWEF (conditional weight enumerating function) Funo de distribuio de pesos
condicional
FEC (forward error correction) Correo posterior de erro
LLR (log likelihood ratio) Razo log de verossimilhana
MAP (maximum a-posteriori) Mximo posterior
MIMO (multiple input, multiple output) Mltiplas entradas, Multplas sadas
ML (maximum Likelihood) Mxima Verossimilhana
PCCC (parallel concatenated convolutional code) Codificador convolucional concatenado
em paralelo.
QAM (quadrature amplitude modulation) Modulao de amplitude em quadratura
QPSK (quadrature phase shift keying) Modulao em quadratura por deslocamento de fase
SNR (signal to noise ratio) Taxa de relao sinal rudo
SISO (soft-input, soft-output) Entrada suave e sada suave
WEF (weight enumerating function) Funo de distribuio de pesos
vii
CAPTULO 1
Introduo
Os cdigos corretores de erros so uma ferramenta fundamental na teoria da
informao. A necessidade de se garantir a integridade de uma grande quantidade de
informao transmitida em um curto espao de tempo pelos mais variveis meios de
transmisso exige o uso de sofisticados sistemas de correes de erros.
A teoria da informao trata dos aspectos quantitativos de armazenamento e
transmisso das mensagens e tem como objetivo principal, entre outros, garantir a integridade
dos dados enviados atravs de algum tipo de canal [1]. Na manipulao das mensagens vrios
obstculos so encontrados como falta de capacidade no armazenamento na transmisso das
mensagens enviadas e introduo aleatria de erros nestas mensagens, conhecidos como
rudos.
Ao contrrio das teorias matemticas que surgiram nas universidades e geralmente
aps um longo perodo de tempo migrou para as aplicaes prticas em tecnologia, a teoria de
cdigos corretores de erros surgiu nos laboratrios de empresas de telefonia e posteriormente
se transformou em uma teoria matemtica completa com aplicaes em vrias reas como,
por exemplo, geometria algbrica [1].
Um cdigo corretor de erro visa recuperar informaes que no processo de
transmisso tenham sofrido algum tipo de rudo [2]. Pode-se afirmar que hoje praticamente
todo sistema de envio de informaes possui algum tipo de cdigo corretor de erro. Como
exemplos tpicos, a telefonia digital, a transmisso de dados via satlite, a comunicao
interna em computadores, armazenamento ptico de dados e armazenamento de dados em
fitas ou disquetes magnticos [3].
Em 1993 com incio dos esquemas concatenados de cdigos que utilizam o sistema de
correo posterior de erro (FEC foward error correction) associado aos algoritmos de
decodificao iterativos ressaltou a importncia do conceito de capacidade de canal [4].
Analisando-se a curva de limite de Shannon possvel obsevar qual o limite de rudo ser
suportado por um esquema de codificao e decodificao infinitamente complexo. O cdigo
turbo est sendo apresentado como esquemas capazes de recuperar essa informao til a
1
0,1dB deste limite terico [4]. Essa recente aproximao ao limite terico uma forma de
avaliar o desempenho de um determinado sistema [5]. De forma genrica, pode-se classificar
como cdigo turbo todo esquema de codificao de canal que utilize processos de
decodificao iterativa e a concatenao de cdigos componentes separados por
entrelaadores temporais. Assim, percebe-se que o termo turbo est diretamente associado
decodificao iterativa e no necessariamente forma de implementao da codificao [6].
Hoje, quase 20 anos aps a inveno do cdigo turbo, as pesquisas sobre o tema se
encontram em um estgio avanado e ramificaram-se, dando surgimento ao processamento
turbo que o estado da arte dos cdigos corretores de erro sendo interpretado como uma das
mais promissoras tcnicas para a melhoria de desempenho em sistemas de comunicao. Por
essa razo, a inveno do cdigo turbo est sendo considerada como o segundo grande marco
do desenvolvimento cientifico das comunicaes, desde o desenvolvimento da teoria
matemtica da comunicao no final da dcada de 40 por Claude Elwood Shannon [7].
Qualquer sistema com realimentao a partir de agora deve ser interpretado no
simplesmente como um sistema onde a realimentao de sinais, mas sim onde a realimentao
de informao, como acontece no processamento turbo [8]. Dentre as vrias tcnicas nas quais
o processamento turbo pode ser aplicado podemos citar exemplos como a equalizao,
estimao de canal, codificao de fonte e canal conjunta, deteco multiusurio, o
cancelamento de interferncias, os sistemas MIMO (multiple input, multiple output) e a
codificao espao-temporal [9].
O objetivo deste trabalho analisar as vantagens da utilizao do cdigo turbo,
mostrando sua importncia para a transmisso digital e sua eficincia atravs de simulaes
realizadas no software Matlab.
Este trabalho est dividido em captulos organizados da seguinte forma:
No captulo 2 explanado como funciona a transmisso digital de sinais dando nfase
maior na codificao de canal onde se utilizado o objeto de nosso estudo e nos cdigos
convolucionais com suas formas de codificao e decodificao mostrando sua importncia
na construo do cdigo turbo.
No captulo 3 explicado em detalhes o cdigo turbo, como ele formado por cdigos
convolucionais e entrelaadores, o cdigo turbo perfurado e o no perfurado, algumas de suas
caractersticas como o error floor e o espectral thining e a importncia dos entrelaadores e
do espectro de distncia de Hamming para um projeto de cdigo turbo eficiente. Neste
2
CAPTULO 2
Transmisso digital de sinais
A transmisso digital surgiu como ume evoluo natural da transmisso analgica,
antes todas as etapas envolvidas na transmisso de informao desde o tratamento da
informao at a recepo era tratada de forma de sinais analgicos, com o avano da
tecnologia agregado aos estudos sobre a quantizao e digitalizao das informaes surgiu a
transmisso digital de sinais [10].
A transmisso digital contem cdigos de controle de erros que detectam e corrigem os
erros de transmisso e admitem tcnicas complexas de condicionamento e processamento de
sinal, como codificao de fonte, criptografia e equalizao, para melhorar o desempenho
geral do enlace de comunicao. Outra principal vantagem a possibilidade de alterar ou
melhorar um sistema de transmisso sem a troca de equipamentos, bastando simplesmente
incluir uma melhoria no software [11].
O processo de transmisso de um sinal digital possui vrias etapas como podemos
visualizar na Figura 2.1, a primeira delas a codificao de fonte, depois a codificao de
canal (objetivo do estudo deste trabalho), modulao e o lado da recepo que refaz o
processo inverso.
y2(1),...). Essas sequncias de sadas so multiplexadas para criar uma nica sequncia de sada
y = (y0(0) y0(1), y1(0) y1(1), y2(0) y2(1),...), em que y a palavra cdigo convolucional. [2].
Aps a entrada da sequncia x completa no codificador, introduz-se uma sequncia de
zeros para que no final do processo de codificao o contedo do registrador seja nulo. Essa
uma condio necessria para efetuar a decodificao dos cdigos convolucionais.
Um cdigo convolucional pode ser descrito por uma variedade de mtodos, podendose destacar o diagrama em trelia e o diagrama de estados. Como a sada do codificador
determinada pela entrada e pelo estado atual do codificador, um diagrama de estados pode ser
usado para representar o processo de codificao. O diagrama de estado simplesmente um
grfico dos possveis estados do codificador e das possveis transies de um estado para o
outro [19].
Considere o codificador da Figura 2.2, ele contm trs elementos de memria binrios
que assumem coletivamente um entre oito possveis estados designados por {S0, S1, S2, ..., S7}
e associados com o contedo dos elementos de memria como podemos ver a seguir.
S0 (000)
S2 (010)
S4 (001)
S6 (011)
S1 (100)
S3 (110)
S5 (101)
S7 (111)
Entrada
Sada
000 (0)
000 (0)
00
000 (0)
100 (1)
11
100 (1)
010 (2)
01
100 (1)
110 (3)
10
010 (2)
001 (4)
10
010 (2)
101 (5)
01
110 (3)
011 (6)
11
110 (3)
111 (7)
00
001 (4)
000 (0)
11
001 (4)
100 (1)
00
101 (5)
010 (2)
10
101 (5)
110 (3)
01
011 (6)
001 (4)
01
011 (6)
101 (5)
10
111 (7)
011 (6)
00
111 (7)
111 (7)
11
Alternativamente, o codificador pode ser representado por uma trelia. Este tipo de
diagrama permite observar em cada instante todas as transies de estado possveis, isto ,
mostra explicitamente a passagem do tempo. A nomenclatura utilizada semelhante j
apresentada no diagrama de estados. A trelia do cdigo convolucional referido anteriormente
pode ser observada na Figura 2.4.
.
Do ponto de vista puramente terico, a melhor forma de decodificar uma sequncia
recebida com erros compar-la com cada uma das sequncias de codificao possveis
procedendo-se, portanto a um processo de decodificao de mxima verossimilhana [10].
A funo do decodificador estimar a informao de entrada codificada usando um
mtodo que resulta no nmero mnimo possvel de erros. Existe uma correspondncia um a
um entre a sequncia de informao e a sequncia de cdigo e qualquer par de informao e
de cdigo associado exclusivamente a um caminho atravs da trelia, com isso a tarefa do
decodificador estimar o caminho que foi seguido pelo codificador na trelia [19].
Existem diversas tcnicas para decodificar os cdigos convolucionais. O mais
importante desses mtodos o algoritmo de Viterbi [15], por ser um decodificador de simples
implementao e que realiza a decodificao de mxima verossimilhana [2]. O algoritmo de
Viterbi basicamente considera que a decodificao tima de cdigos convolucionais envolve a
procura na trelia da sequncia transmitida mais provvel.
Outro decodificador para cdigos convolucionais o algoritmo BCJR [20] baseado em
probabilidades a posteriori desenvolvido em 1974 que leva o nome das iniciais de seus
criadores Bahl, Cocke, Jelinek e Raviv. Este algoritmo tambm conhecido como o algoritmo
MAP (maximum a posteriori) ou ainda por forward-backward algorithm [21], por ser mais
complexo que o algoritmo de Viterbi, durante cerca de vinte anos no foi usado na prtica,
10
situao que foi substancialmente alterada com o advento do cdigo turbo em 1993 e com a
atual capacidade de processamento.
Considerando um codificador convolucional de taxa k/n descrito por uma trelia, que
apresente na sua sada uma sequncia de N palavras de cdigo, ou smbolos, de n bits cada.
Designemos essa sequncia por x = x1x2...xN, onde xt representa o smbolo produzido pelo
codificador no instante t. O bit de informao que nesse instante lhe deu origem, uk, pode
tomar os valores -1 ou +1 com uma probabilidade de ocorrncia a priori P(uk). Associada a
esta probabilidade define-se a quantidade a que se d o nome de log-razo de
verossimilhana, (LLR - log-likelihood ratio) representado por
. Se os bits uk = 1
forem equiprovveis esta LLR a priori nula [21]. Este instante se d na Equao 2.1.
(2.1)
A sequncia codificada x atravessa um canal com rudo gaussiano sem memria (canal
AWGN - additive white gaussian noise) que a transforma numa sequncia de smbolos reais y
= y1y2...yN. esta sequncia que o decodificador recebe e a partir dela o algoritmo BCJR vai
tentar estimar a sequncia de bits originais uk. Para isso o algoritmo calcula a LLR a posteriori
dado sequncia de sada y, definindo assim um valor real pela Equao 2.2 [21].
(2.2)
O sinal, positivo ou negativo, da LLR, indicia que o bit enviado foi +1 ou -1,
respectivamente, e o seu valor absoluto traduz a maior ou a menor confiana, ou fiabilidade,
que temos nessa presuno, isto , quanto mais afastado o valor de
estiver do limiar
CAPTULO 3
Cdigo turbo
A codificao turbo consiste em duas ideias fundamentais, a primeira que o
codificador produz um cdigo com propriedades aleatrias e a segunda que o decodificador
realiza uma deciso suave com decodificao iterativa. O codificador composto por dois ou
mais codificadores convolucionais e por entrelaadores, a decodificao de mxima
verossimilhana (Viterbi) muito complexa para ser utilizada neste tipo de codificao,
entretanto, possvel empregar decodificao de entrada e sada suave (SISO - soft-input, softoutput) iterativa em cada cdigo constituinte, tal que a informao de sada suave (informao
12
Figura 3.1 Diagrama de bloco do codificador turbo sem perfurao de taxa 1/3
Podemos utilizar um esquema de cdigo turbo sem perfurao como na Figura 3.1 onde
se utiliza todas as sadas ou com perfurao onde as sadas geradas pelos cdigos
convolucionais so utilizadas de maneira alternada, um momento a palavra cdigo ter o
smbolo da sada V(1), no outro ter o smbolo da sada V(2) como mostra a Figura 3.2, nesse
esquema de codificao a palavra-cdigo gerada V = [V0(0), V0(1), V1(0), V0(2), V2(0), V1(1),
V3(0), V1(2)...]. Dessa maneira utilizamos o mesmo esquema da Figura 3.1 com o
posicionamento de bits alternados de V(1) e V(2), produzindo assim um cdigo de taxa R = .
13
Figura 3.2 Diagrama de bloco do codificador turbo com perfurao de taxa 1/2
15
(3.1)
16
17
19
(3.2)
k = 0, 1, .... K-1
(3.4)
O segundo decodificador calcula (2)(uk) baseado nas sequncias de entrada r(2) e r(0).
Note que este decodificador tem disponvel uma estimativa de probabilidade a posterior de uk
calculada pelo primeiro decodificador, (1)(uk). O segundo decodificador pode consider-la
como a razo a priori a(2)(uk). (devidamente entrelaada). O segundo decodificador calcula:
(2)(uk) = (1)(uk) + r(uk) + e(2)(uk)
(2)(uk) = a(1)(uk) + r(uk) + e(1)(uk) + r(uk) + e(2)(uk)
(3.5)
A Equao 3.5 revela que ao passar a(1)(uk) para o segundo decodificador, a estimativa
prvia de a(1)(uk) tambm passada, o que desnecessrio. Adicionalmente, quando o
20
decodificador continuar a iterar a razo r(uk) ser acumulada e a contribuio de rk(1) ser
enfatizada. Portanto, apenas a informao extrnseca e(1)(uk) = (1)(uk) + a(1)(uk) + r(uk)
(devidamente entrelaado) passada para o segundo decodificador. Esta subtrao remove o
efeito de rk(0) (sequncia recebida sistemtica de (1)(uk), deixando apenas o efeito dos
smbolos de paridade recebida produzir uma estimativa independente de a(2)(uk)). Como a
entrada do segundo decodificador inclui uma verso entrelaada de r(0) este est
correlacionada com a sada suave do primeiro decodificador (1)(uk). a contribuio devida a
rk(0) deve ser retirada de (1)(uk) para eliminar a correlao.
A sada do segundo decodificador contm 2 termos:
1 (2)(uk) = e(1)(uk) + r(uk) + e(2)(uk)
2 A informao extrnseca a(2)(uk) = (2)(uk) - e(1)(uk) - r(uk) produzida pelo
segundo decodificador, aps desentrelaar, passada para o decodificador 1 como a razo de
log-probabilidade a priori a(1)(uk).
Portanto, a informao extrnseca que passada de um decodificador para outro durante
o processo iterativo tratada como novos conjuntos de razo de log-probabilidade a priori
pelo algoritmo MAP. A Figura 3.5 ilustra o diagrama em blocos do decodificador.
A decodificao ento processada iterativamente com cada decodificador passando a
sua informao extrnseca para o outro decodificador. Os decodificadores SISO refinam a
confiabilidade dos smbolos de informao a cada iterao.
A razo de log-probabilidade a priori do segundo decodificador a informao
extrnseca do primeiro (entrelaada):
a(2)(uk) = e(1)(uk)
21
(3.6)
(3.7)
(3.8)
(3.9)
22
Figura 3.6 - Desempenho do Cdigo Turbo (37, 21, 65536) em funo do nmero de iteraes do decodificador.
23
Informao
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
Paridade
0
1
1
0
0
1
1
0
1
0
0
1
1
0
0
1
0
0
1
1
1
1
0
0
1
1
0
0
0
0
1
1
0
1
0
1
1
0
1
0
1
0
1
0
0
1
0
1
24
Peso de Hamming da
palavra cdigo
0
3
3
4
3
4
4
3
4
3
3
4
3
4
4
7
A funo enumeradora dos pesos (WEF - weight enumeration function) dada por:
(3.10)
Onde Ad o nmero de palavras cdigo (no nulas) com peso de Hamming d, ou seja,
o nmero de palavras cdigo com distncia de Hamming d em relao palavra toda nula.
Para o cdigo de Hamming (7,4,3) sistemtico acima temos:
(3.11)
Isto 7 palavras cdigo tem peso de Hamming 3, 7 palavras cdigo tem peso de
Hamming 4 e 1 palavra cdigo com peso de Hamming 7. Para um cdigo sistemtico, cada
palavra cdigo composta de k smbolos de informao e (u-k) smbolos de paridade. O peso
de Hamming da palavra cdigo a soma dos pesos de Hamming destas duas pores.
conveniente enumerar o peso de Hamming de um cdigo dividindo a contribuio dos
smbolos de informao e dos smbolos de paridade.
A funo enumeradora condicionada no peso (CWEF - conditional weight enumerating
function) definida na forma:
(3.12)
(3.13)
25
(3.14)
A1(z) = 3z2 + z3
(3.15)
A2(z) = 3z + 3z2
(3.16)
A3(z) = 1 + 3z
(3.17)
A4(z) = z3
(3.18)
Onde:
(3.19)
26
entrada com peso w = 1 para um codificador sistemtico com realimentao, o menor fator de
diviso ser
, que o
27
CAPTULO 4
Anlise de desempenho do cdigo turbo
Nesta seo usaremos a tcnica do limitante da unio para estimar o desempenho de
cdigos turbo em canais AWGN com decodificao de mxima verossimilhana. Para um
entrelaador de comprimento K, existem 2k palavras cdigo distintas. A sequncia de sinal
transmitido para a sequncia toda zero em um canal AWGN normalizado com modulao
BPSK (binary phase shift keying) dada por v0 = (-1, -1, .., -1). A sequncia recebida para n-1
codificadores constituintes : r = (r0(0)... r0(n-1), r1(0) ... r1(n-1), ..., rk-1(0) ... rk-1(n-1)) composto de
nk variveis aleatrias Gaussianas independentes de mdia -1 e varincia
. Para facilitar a
(4.1)
(4.2)
a SNR
28
(4.3)
Xj = 1, se P(j
j)
(4.4)
Yj = 0, se P(j =
j)
(4.5)
Ento:
(4.6)
Onde Mb uma varivel aleatria que descreve o nmero de bits em que b0... bk-1 e
diferem. Dado que v0 foi transmitido:
(4.7)
(4.8)
(4.9)
(4.10)
29
(4.11)
Onde Aw,d o nmero de palavras cdigo com peso de Hamming d gerados por todas
as sequncias de entrada de peso w.
Definir:
(4.12)
Ento:
(4.13)
(4.14)
(4.15)
Usando o limitante:
(4.16)
30
(4.17)
(4.18)
(4.19)
Definindo a funo:
(4.20)
Escrevemos:
(4.21)
(4.22)
(4.23)
Ento:
(4.24)
31
De forma anloga:
(4.25)
, que depende da
(4.26)
(4.27)
32
Figura 4.1 - Curvas para um PCCC e um Cdigo Convolucional com R = 1/3. (a) Palavra
cdigo (b) Probabilidade de erro de bit
33
na curva
4.1
baixa.
Simulao
Em 1993 Berrou, Glavieux e Thitimajshima [24] demonstraram atravs de resultados de
simulaes que uma relao sinal-rudo de 0,7dB era suficiente para garantir uma
probabilidade de erro de bit de 10-5 atravs do uso de um cdigo de taxa R= num canal
AWGN.
Nesta seo demonstra-se os resultados de uma simulao do cdigo turbo (37,21), onde
como principal caracterstica temos a importncia do entrelaador na codificao e
decodificao dos sinal transmitido para conseguir atingir o resultado prximo ao da
simulao de 1993.
Para simular o desempenho dos cdigos turbo foi utilizado o software Matlab e um
simulador desenvolvido pelo Departamento de Engenharia Eltrica e Computacional da
Universidade de Bradley nos Estados Unidos. O simulador foi desenvolvido utilizando as
ferramentas do Simulink para cdigo turbo, o esquema de blocos do simulador pode ser visto
na Figura 4.2.
Abaixo segue o programa para gerar os grficos no Matlab, no programa podemos
alterar parmetros como tamanho do entrelaador, a quantidade de iteraes, a potncia do
sinal e a matriz geradora do cdigo.
34
MaxdB = 6.0;
EbNo_incr = 0.5;
No_pts = MaxdB/EbNo_incr;
% nmero de iteraes.
Iter = 4;
%trellis = poly2trellis(3, [7 5],7);
trellis = poly2trellis(5, [37 21],37);
code_rate = 1/3;
multiplier = 1/code_rate;% multiplier = symbol_period/sample_time
% tamanho do entrelaador.
for numero = 20:20:100,
Len = numero*1024;
Turbo_Pb = zeros(Iter,No_pts);
Seed = 54123;
Ps = 1; % potncia do sinal
for i = 1:No_pts+1,
EbNodB = EbNo_incr*(i-1);
EbNo = 10.0.^(0.1*EbNodB);
EsNo = EbNo/code_rate;
Variance = Ps*multiplier/EsNo; %Calcula a varincia do rudo do canal.
sim('turbo_code_no_punc_multiple_run'); % Aciona o SIMULINK.
Turbo_Pb(:, i) = bit_error_rate.signals.values(:,:,4);
end
% grficos
x_index = (0:No_pts)*EbNo_incr;
figure
for i = 1:Iter,
semilogy(x_index,Turbo_Pb(i,:),'r.-');
hold on;
end
grid, xlabel('Eb/No em dB'), ylabel('BER')
title('Turbo code (no-puncionado)')
end
35
36
Foram gerados quatro grficos para esse modelo de cdigo variando entre eles o
tamanho do entrelaador e a quantidade de iteraes. Nos grficos da Figura 4.4 e 4.5 temos o
mesmo tamanho de entrelaador variando apenas a quantidade de iteraes, podemos
visualizar nos dois grficos o aparecimento do error floor.
Figura 4.4 Grfico da simulao do cdigo turbo no perfurado de taxa R = 1/3 com 4
iteraes e entrelaador 20 x 1024.
Figura 4.5 Grfico da simulao do cdigo turbo no perfurado de taxa R = 1/3 com 6
iteraes e entrelaador 20 x 1024.
37
Figura 4.6 Grfico da simulao do cdigo turbo no perfurado de taxa R = 1/3 com 4
iteraes e entrelaador 100 x 1024.
Figura 4.7 Grfico da simulao do cdigo turbo no perfurado de taxa R = 1/3 com 6
iteraes e entrelaador 100 x 1024.
38
Nos grficos das Figuras 4.6 e 4.7 alteramos o tamanho do entrelaador com isso
podemos visualizar claramente a importncia do entrelaador para a codificao turbo, onde
com o aumento do entrelaador a taxa do BER ultrapassou a faixa de 10-5 chegando a uma
taxa de quase 10-6 com uma SNR de 1dB. No temos mais o aparecimento do error floor e
uma diferena considervel de ganho com o aumento de quatro para seis iteraes, porm se
tem uma desvantagem, o aumento de clculos exigindo um processamento mais demorado.
Para compensar o aumento desse processamento devido ao tamanho do entrelaador
utilizamos o modelo perfurado do cdigo turbo, na Figura 4.8 podemos ver o esquema desse
cdigo. A perfurao como j foi discutido transformar um cdigo de taxa R = 1/3 para um
cdigo de taxa R = , com isso diminui de forma considervel a quantidade de clculos.
Para o codificador perfurado fora gerados mais quatro grficos tambm variando entre
eles o tamanho do entrelaador e a quantidade de iteraes. Nos grficos da Figura 4.9 e 4.10
temos o mesmo tamanho de entrelaador variando apenas a quantidade de iteraes, e nos
grficos das Figuras 4.11 e 4.12 aumentamos o entrelaador, comprovando mais uma vez a
importncia do entrelaador para a eficincia do cdigo turbo.
Ao compararmos os grficos do cdigo no perfurado com o perfurado percebemos
que apesar dos cdigos perfurados necessitar de menos processamento, perde um pouco em
eficincia, pois os codificador no perfurado consegue atingir o nvel de um BER 10-5 com
um SNR de 1dB, j o perfurado atinge o mesmo valor de BER mas com o SNR acima de 2dB,
uma diferena de fundamental para escolha correta do cdigo ao se desenvolver projetos.
39
40
41
CAPTULO 5
Concluso
Este trabalho teve como objetivo descrever de forma minuciosa o cdigo turbo com
suas principais caractersticas. Atravs de simulaes realizadas com o software Matlab foi
possvel verificar seu desempenho bem como sua fundamental importncia como cdigo
detector e corretor de erro para o avano de uma transmisso digital robusta e confivel.
Podemos analisar que no atual estgio tecnolgico das transmisses digitais, muitas
vezes para um mnimo ganho necessrio um aumento considervel de complexidade dos
sistemas, este aumento se torna aceitvel principalmente por se tratar de sistemas que podem
chegar perto do limite terico de Shannon.
Alguns sistemas de TV digital que ainda no utilizam os sistemas com cdigos turbo
podem ainda ser aperfeioados atravs de tcnicas de correo de erro com realimentao de
informao. Pesquisadores j detectaram que o uso de configuraes com codificadores turbo
nesses sistemas de tem um melhor desempenho, alem de uma proposta inovadora de
concatenao de codificadores para sistemas de TV digital.
Por se tratar de um sistema eficiente do ponto de vista computacional e que pode ser
utilizado com diversas formas de modulaes e variado comprimentos de entrelaadores,
vrias pesquisas j esto sendo realizadas para que o sistema turbo trabalhe juntos com outras
tcnicas para tornar a transmisso ainda mais robusta e confivel, como exemplo o uso de
codificadores turbo com transmisso em mltiplas antenas, tcnica conhecida como MIMO
(multiple input, multiple output), e o desenvolvimento dos cdigos RS-Turbo para
equipamentos mveis confirmando a tendncia de migrao dos futuros padres para o uso
dos algoritmos com decodificao iterativa.
42
REFERNCIAS
[1] M. A. da Cmara e A. O. Souza, Cdigos Corretores de Erros Lineares, Minas Gerais:
FAMAT em Revista, n. 6, mai, 2006.
[2] M. S. Alencar, Televiso Digital, 1a ed. So Paulo: Editora rica, 2007.
[3] C. P. Milies, Breve introduo teoria dos cdigos corretores de erros, Mato Grosso
do Sul: Departamento de Matemtica, UFMS, 2009.
[4] C. Berrou and A. Glavieux, Near optimun error correcting coding and decoding: Turbocode, Estados Unidos: IEEE Transactions on Communiations, vol. 44, n. 10, out, 1996.
[5] M. S. de Souza, Codificao de imagens utilizando turbo quantizao codificada por
trelias, Rio de Janeiro: UFRJ, 2005.
[6] C. Berrou and A. Glavieux, Reflections on the Prize paper: "Near optimum error
correcting coding and decoding: Turbo codes", IEEE IT Society Newsletter, Vol. 48,
N 2, June 1998.
[7] C. E. Sahnnon and W. Weaver, The Mathematical Theory of Communication,
Illinois: Illini Books, 1949. 117 p. Library of Congress Catalog Card n 49-11922.
[8] F. L. Garcia, Implementao de um Codificador LDCP para um sistema de TV Digital
usando ferramentas de prototipagem rpida, So Paulo: Dissertao (mestrado).
Universidade Estadual de Campinas. UNICAMP, 2006.
[9] D. J. C. Junior e S. Lin, Error control coding: Fundamentals and applications, 2. ed.
New Jersey: Pearson Prentice Hall, 2003.
[10] D. G. Caetano, Anlise de Desempemho de Sistemas de TV Digital Mvel DVB-H e
ISDB-T utilizando Concatenao de Cdigos BCH e Turbo Codificadores, Campinas:
Dissertao (mestrado). Universidade Estadual de Campinas. UNICAMP, 2007
[11] S. Haykin, Sistemas de comunicao: analgicos e digitais, 4. ed. Porto Alegre:
Bookman, 2004.
[12] S. Haykin e M. Moher Introduo aos sistemas de comunicao, 2. ed. Porto Alegre:
Bookman, 2008.
[13] P. Elias, Coding for Noisy Channels, IRE Conv. Rec., vol. 3, parte 4, pp.37-46, Maro
de 1955.
[14] J. M. Wozencraft e B. Reiffen, Sequential Decoding, MIT Press, 1961.
43
44