Autor
Ilan Schnitman Souza
Orientadora
Ana Isabela de Arajo Cunha
SALVADOR
2013
UNIVERSIDADE FEDERAL DA BAHIA
ESCOLA POLITCNICA DA UFBA
PROGRAMA DE PS-GRADUAO EM
ENGENHARIA ELTRICA
DEPARTAMENTO DE ENGENHARIA ELTRICA
SALVADOR
2013
S729 Souza, Ilan Schnitman.
Projeto de um sistema de correo de erros em
comunicao mvel usado no padro LTE / Ilan Schnitman
Souza. Salvador, 2013.
72f. : il. color.
Orientadora: Profa. Dra. Ana Isabela de Arajo de Cunha.
Banca Examinadora
____________________________________________
Profa. Dra. Ana Isabela de Arajo Cunha
____________________________________________
Prof. Dr. Antnio Cezar de Castro Lima
____________________________________________
Prof. Dr. Paulo Csar Machado de Abreu Farias
____________________________________________
Prof. Dr. Jos Lus Almada Gntzel
EPGRAFE
A Vincius Torres dos Reis que dividiu a tarefa da realizao deste projeto.
A todos os que participaram direta ou indiretamente para que este trabalho fosse
realizado.
SUMRIO
LISTA DE ILUSTRAES
Figura 1: Codificador Convolucional ................................................................................................................. 7
Figura 2: Representao do Grfico em Trelia Relativo ao Codificador Convolucional da Figura 1............. 8
Figura 3: Exemplo de Trelia ........................................................................................................................... 10
Figura 4: Forward Recursion ........................................................................................................................... 11
Figura 5: Backward Recursion ......................................................................................................................... 11
Figura 6: Probabilidade de Transio ............................................................................................................. 12
Figura 7: Codificador Non-Systematic Convolutional ..................................................................................... 14
Figura 8: Codificador Recursive Systematic Convolutional ............................................................................. 14
Figura 9: Estrutura Simplificada do codificador Turbo-Code ......................................................................... 18
Figura 10: Estrutura Simplificada do Decodificador Turbo-Code................................................................... 18
Figura 12: Comparao Sliding Window com Paralelismo ............................................................................. 22
Figura 11: Operaes com o Uso de Sliding Window ...................................................................................... 22
Figura 13: Representao em Alto Nvel do Fluxo de Projeto ......................................................................... 26
Figura 14: Detalhamento das Etapas de Front-End ......................................................................................... 27
Figura 15: Detalhamento das Etapas de Back-End .......................................................................................... 27
Figura 16: Codificador Especificado para o Padro LTE ............................................................................... 31
Figura 17: Demonstrao das Etapas de Decodificao ................................................................................. 36
Figura 18: Incio da Trelia do Codificador do Padro LTE ........................................................................... 36
Figura 19: Transies Intermedirias da Trelia do Padro LTE ................................................................... 36
Figura 20: Gerao dos Tail Bits ..................................................................................................................... 37
Figura 21: Arquitetura de Hardware do Clculo da Probabilidade de Transio .......................................... 38
Figura 22: Arquitetura da SISO ........................................................................................................................ 38
Figura 23: Arquitetura de Hardware das Probabilidades de Estados ............................................................. 39
Figura 24: Clculo da LLR ............................................................................................................................... 41
Figura 25: Clculo da Informao Extrnseca ................................................................................................. 41
Figura 26: Arquitetura do Decodificador ......................................................................................................... 42
Figura 27: Mquina de Estados da Operao de Decodificao ..................................................................... 43
Figura 28: Alimentao dos Dados em uma Arquitetura com 4 SISOs ............................................................ 46
Figura 29: Separao dos Blocos a serem Processados .................................................................................. 47
Figura 30: Representao do Ambiente de Simulao do Sistema ................................................................... 48
Figura 31: Diagrama de Constelao dos Esquemas de Modulao ............................................................... 49
Figura 32: Resultado do FER (ou BLER) vs SNR ............................................................................................. 50
Figura 33: Arquitetura do Interleaver .............................................................................................................. 51
Figura 34: Representao das Interfaces do Bloco do Decodificador ............................................................. 53
Figura 35: Ambiente de Verificao SystemVerilog ......................................................................................... 54
Figura 36: Ambiente de Simulao Bitmatching .............................................................................................. 56
Figura 37: Floorplanning ................................................................................................................................. 57
Figura 38: Leiaute do decodificador ................................................................................................................ 57
Figura 39: Desempenho do Sistema Comparando por Tamanho de Blocos ................................................... 61
ii
Figura 40: Desempenho do Sistema Comparando os Resultados com Diferentes Valores de Iterao ........... 63
iii
LISTA DE TABELAS
Tabela 1: Parmetros do Interleaver ................................................................................................................ 33
Tabela 2: Relao entre o Tamanho do Bloco de Dados e a Quantidade de Processadores Utilizados na
Decodificao .......................................................................................................................................................... 47
Tabela 3: Parmetros para a Simulao Variando o Tamanho do Bloco de Processamento .......................... 61
Tabela 4: Parmetros para a Simulao Variando o Esquema de Modulao ................................................ 62
Tabela 5: Parmetros para a Simulao Variando o Nmero de Iteraes ..................................................... 62
Tabela 6: Tabela Comparativa entre o Decodificador Proposto e Congneres ............................................... 64
iv
LISTA DE ABREVIATURAS
RESUMO
O presente trabalho prope uma nova arquitetura para o sistema turbo-code de correes de
erro usado no padro de comunicao mvel LTE (Long Term Evolution). Ser estudada a
trabalho e dando uma viso da rea das comunicaes mveis abordados no trabalho.
Como o projeto foi proposto para tecnologia de semicondutores, ser descrita uma breve
hardware.
literatura.
No projeto foi desenvolvida uma arquitetura visando uma alta confiabilidade de correo de
erros. neste aspecto que este trabalho se destaca dos demais relatados na literatura atual.
erros.
vii
ABSTRACT
This work proposes a new turbo-code system architecture for error correction used in LTE
(Long Term Evolution) mobile communication standard. Channel coding will be studied
and the turbo-code creation context, giving the foundation of this work and giving an
of the methodology will be presented detailing the steps in this project and the conception
of the architecture. The decisions to optimize the hardware will be reported and explained.
During project design, several hardware optimization techniques were used as parallel
processing and Log-MAP algorithm. The techniques will be detailled described and their
advatages ans disadvantages will be presented. The design choices will be explained.
The measured and estimated results will be presented, showing the priority given to certain
parameters over others, explaining performance differences between the architecture and
The architecture designed aims high reliability in error correction. This is the aspect that
distighish this work from othes described in current bibliography. However several other
aspects were considered, as latency, throughput, silicon area and power consuption which
are consequencies of the operation frequency and technology. The results were similar to
1. INTRODUO
O sistema Long Term Evolution (LTE) surgiu para tentar vencer os desafios associados
aos 2G e 3G, criando todo um novo ambiente para o desenvolvimento das comunicaes
mveis, sem que haja a necessidade de compatibilidade [1]. Uma das caractersticas mais
interessantes a de o sistema ser projetado primordialmente para suportar transferncia de
dados via Internet Protocol (IP), inclusive os servios de voz.
O LTE teve como motivao, alm do aumento da taxa de transferncia o melhor
aproveitamento espectral, j que pode enviar mais dados em uma mesma faixa de frequncia.
Essa caracterstica importante para o provedor dos servios j que ir permitir que, para uma
mesma faixa licenciada, mais usurios possam ser atendidos com melhor qualidade.
Outra vantagem dos sistemas LTE a menor latncia associada comunicao, ou seja,
o tempo de resposta do sistema. Para determinadas operaes essa caracterstica fundamental.
Um exemplo a utilizao de voz sobre IP (VoIP) que se torna bastante comprometido ao se
optar por uma rede 3G, sendo no LTE a soluo natural para o servio de voz.
importante lembrar que apesar de estar sendo popularmente denominada uma
tecnologia de quarta gerao (4G), o LTE no atinge originalmente os requisitos para ser
enquadrado nessa categoria.
Para atingir o mximo da capacidade do canal necessria a utilizao de esquemas de
codificao de dados. Um dos mais bem sucedidos codificadores o Turbo-Code, sendo o
principal codificador do LTE.
O Turbo-Code um dos principais blocos do projeto da camada fsica do LTE, como
observado em [3]:
A codificao de canal, e particularmente o decodificador de canal manteve a
reputao de ser a fonte dominante de complexidade de implementao das
comunicaes sem fios, apesar do relativamente recente predomnio das tcnicas
avanadas de antena com suas complexidades associadas.
. / (1)
Este trabalho prope uma nova arquitetura para o Turbo-Code especificado no sistema
LTE [18], sendo seu desempenho adequado aos requisitos definidos no padro, com alguns
parmetros de projeto superiores aos encontrados em trabalhos anteriores.
O codificador, como determinado no padro do LTE, bastante simples. Porm, o
decodificador no especificado, dando flexibilidade de implementao. O objetivo principal
desse trabalho apresentar a arquitetura de um processador dedicado, em tecnologia de
circuitos integrados para o decodificador e demonstrar o desempenho atingido pela arquitetura
proposta.
Como objetivos especficos este trabalho pretende:
a. Revisar a teoria de codificao com nfase no Turbo-Code;
b. Revisar o fluxo de projeto digital e justificar o uso desta tecnologia para a realizao do
Turbo-Code;
c. Desenvolver uma nova arquitetura de decodificao Turbo-Code, como parte integrante
do projeto da camada fsica de um sistema LTE em uma tecnologia de circuitos
integrados, passando por todas as etapas desde a modelagem e descrio at a gerao
do leiaute final. Desta forma, objetiva-se criar toda a estrutura de um IP (Intelectual
Property) completo, ou seja, um bloco com boas possibilidades de reso em outros
projetos;
d. Demonstrar a eficincia da soluo desenvolvida, comparando-a a outros projetos
encontrados na bibliografia. Explicar os parmetros das comparaes e como isto afeta
o projeto;
e. Desenvolver um artigo cientfico para publicao em congresso internacional na rea de
microeletrnica, tendo como parmetro o SBCCI (Symposium on Integrated Circuits
and Systems Design)
4
2. CORREO DE ERROS
Desde que Shannon estabeleceu os limites da capacidade do canal, vrios estudos foram
realizados objetivando sistemas de comunicao mais eficientes. Segundo descrito em [5]
existem quatro requisitos bsicos que podem ser otimizados ao se utilizar um sistema de
codificao em detrimento da necessidade de utilizao de uma maior largura de banda:
- Desempenho com relao aos erros
- Potncia
- Taxa de transferncia de dados
- Capacidade
Nos sistemas de comunicao atuais os ganhos referentes aos quatro requisitos listados so
superiores perda de desempenho associada a uma maior utilizao da banda de transmisso.
O desempenho com relao aos erros o requisito mais evidente, j que um esquema de
codificao ir necessariamente entregar os dados a uma taxa de erros menor do que um
sistema no codificado com uma mesma relao entre o sinal e o rudo do canal. Os sistemas de
deteco e correo de erros inserem informaes redundantes, assim necessitando de uma
maior banda de transmisso para alocar as informaes sobressalentes.
O requisito da potncia bastante interessante, pois se relaciona diretamente com o limite
da capacidade do canal. Uma forma de se aumentar esse limite realizar a transmisso a uma
maior potncia, assim melhorando a relao sinal/rudo. Contudo, essa no uma boa
estratgia, especialmente em se tratando de dispositivos mveis, dependentes de uma fonte
bastante limitada de energia. Portanto, mais eficiente inserir informaes redundantes, o que
permite um desempenho semelhante ao aumento da potncia, porm implicando em um menor
consumo.
A capacidade de transmisso est intimamente ligada ao aumento da taxa de transmisso.
Essa, por sua vez, tambm pode ser vista como uma expanso da relao sinal/rudo j que
estes fatores esto relacionados de uma forma inversamente proporcional. Portanto, um
codificador permite uma relao sinal rudo menor, gerando uma taxa de transmisso maior.
chamada de codificao convolucional, em que o sinal codificado depende apenas das entradas
e do estado passado. Esse tipo de codificador tambm ficou conhecido como codificao em
trelia devido sua representao grfica mais usual. Os cdigos convolucionais podem ser
mostrados atravs de um grfico que leva em considerao os estados dos registradores como
uma funo temporal. O exemplo visto em [9] e reproduzido abaixo bastante elucidativo da
forma como ocorre a construo do grfico em trelia. O codificador convolucional mostrado
na Figura 1.
As linhas slidas representam as sadas geradas a partir de um bit de entrada de valor zero,
e uma linha tracejada denota a sada do decodificador para uma entrada binria de valor um. Os
ns caracterizam os estados possveis dos registradores do codificador. Os grficos em trelia
tm todos os registradores em zero como estado inicial (representado nesse grfico pelo estado
a=00). Partindo deste estado, a entrada pode levar a dois caminhos na trelia dependendo do
seu valor, ou seja, do dado a ser codificado. Pode-se notar que a partir do tempo t4 a trelia se
repete, no precisando ento haver uma representao formal de todas as possibilidades atravs
do tempo. Essa relao temporal pode ser extrapolada a partir do grfico reduzido.
A grande dificuldade enfrentada na utilizao de esquemas de codificao convolucional se
d na complexidade do decodificador. O problema, para um codificador simples, pode
inicialmente ser reduzido a encontrar o caminho na trelia que apresente a menor probabilidade
de erro se comparado com os possveis caminhos seguidos. Considerando uma sequncia
recebida pelo decodificador, os dados decodificados sero os que esto no caminho com menor
probabilidade de erros - a esse conceito d-se o nome de maximum likelihood.
A funo de erros para cada ramo da trelia ser representada pela distncia entre os dados
recebidos e todas as possibilidades da sequncia. Essas distncias so calculadas pela distncia
de Hamming, para algoritmos de deciso abrupta (o decodificador s interpreta valores
binrios) ou Euclidiana, para algoritmos de deciso suave (o decodificador interpreta smbolos
com mais de um bit cada). A deciso suave, tambm chamada de SISO (Soft-Input Soft-
Output), se d pela utilizao de dados ainda na forma ponderada na entrada do decodificador.
A distncia de Hamming apenas utilizada em sistemas com deciso abrupta, em que cada
dado de entrada do decodificador representado por um bit. Para se calcular a distncia entre
9
essa sequncia recebida e a gerada por uma das possveis sequncias enviadas, basta fazer a
soma da quantidade de bits diferentes entre elas.
J a distncia Euclidiana est relacionada com os smbolos representados por mais de um
bit. Portanto, os sinais de entrada no apresentam apenas dois nveis lgicos. Para o clculo se
considera que os ramos so constitudos pelos sinais sem rudos e a mtrica euclidiana ser
simplesmente a distncia entre o sinal recebido e o sinal sem rudo.
A ideia de encontrar a menor probabilidade de erros parece tentadora de incio, porm essa
estratgia requer um hardware com uma complexidade enorme, pois devero ser computados e
armazenados os dados para cada sequncia possvel.
Esse problema foi amenizado aps Viterbi em 1967 [13] criar um sistema de decodificao
otimizado para os cdigos convolucionais, gerando uma arquitetura mais simples. Porm a
ideia do algoritmo proposto continua sendo o de encontrar o caminho de maior probabilidade
(maximum-likelihood).
Atravs da anlise do grfico de trelia pode-se notar que a cada smbolo interpretado
existiro dois caminhos convergindo para cada n. Portanto, s existir um caminho mais
provvel (menor distncia) at um dado n, assim, podendo eliminar uma das sequncias,
sendo o caminho que no eliminado chamado de sobrevivente. Desta forma, existir sempre
um nmero limitado de sequencias a serem analisadas, reduzindo bastante a complexidade de
implementao.
Em contrapartida, Bahl et al. em 1972 [15] propuseram um decodificador baseado na
seguinte constatao: O algoritmo de Viterbi, por ser um mtodo de decodificao de mxima
probabilidade (maximum-likelihood), minimiza a probabilidade de erros de uma sequncia para
o codificador convolucional. Esse algoritmo no necessariamente minimiza a probabilidade do
erro em um smbolo. O algoritmo proposto em [15] se baseia na ideia de maximizar a
probabilidade a-posteriori (A-Posteriori Probability APP) de cada smbolo ser correto, por
isso fora denominado Maximum A-Posteriori (MAP).
Segundo [14], maximizar as probabilidades a-posteriori por si s leva a um incremento
mnimo em termos de bits errados se comparado com o algoritmo de Viterbi, portanto essa
soluo no foi usada de imediato, j que proporcionava um aumento de complexidade
significativo. Porm, essa informao a-posteriori fundamental para um esquema de
decodificao iterativa.
O exemplo da funcionalidade do algoritmo MAP dado em [14], utilizando a notao
encontrada em [15], bastante elucidativo:
10
A Figura 3 mostra uma trelia de terminao curta com sete sees, usada como exemplo.
O sinal transmitido , -, e os smbolos de informao so ,
- ou seja, existem dois bits de terminao (tail bits) que levam o codificador de volta
ao estado zero.
O propsito final do algoritmo o clculo das probabilidades a-posteriori, tais como
, | - ou , | -, onde y a sequncia recebida observada na sada do canal, do qual a
sequncia transmitida . Porm, conceitualmente, mais imediato calcular a probabilidade
de o codificador atravessar uma transio especfica da trelia; ou seja,
, | -, onde o estado no tempo , e o estado no tempo .O
algoritmo calcula essa probabilidade como um produto de trs termos, conforme expresso em
(2).
, | - , -
( )
( ) ( ) ( ) (2)
( )
( ) ( ) ( ) (4)
, | - , - (6)
( )
(7)
, | - , -
( )
A descrio formal detalhada foi demonstrada em [15], bem como o algoritmo passo-a-
passo. A operao foi posteriormente alterada por Berrou, Glavieux e Thitimajshima em [17]
para se adequar ao caso da decodificao do turbo-code.
Como j citado, o algoritmo MAP de difcil implementao em hardware, j que requer
muitas multiplicaes de nmeros que necessitam de muitos bits para a sua correta
representao. Alm de requerer que a trelia seja percorrida ao menos duas vezes para o
clculo das componentes e . Uma alternativa bastante interessante a de realizar as
operaes no domnio logartmico, o que possibilita a reduo das operaes mais complexas.
Essa otimizao ser mostrada posteriormente nesse trabalho.
13
Durante um longo perodo essa decodificao no foi utilizada, por sua complexidade e
baixo ganho de desempenho com relao ao algoritmo de Viterbi [13]. O algoritmo MAP s foi
novamente discutido depois da criao dos turbo-codes, j que esses requeriam a informao a
posteriori de cada bit.
Durante muito tempo diversos estudos foram realizados e vrias arquiteturas de codificao
foram propostas no sentido de usar mais esquemas de codificao de forma concatenada (por
exemplo, usar o codificador Reed-Solomon em srie com um convolucional, como citado em
[14]). Os codificadores convolucionais eram uma boa alternativa como um dos codificadores a
serem concatenados. Para uma decodificao iterativa era preciso que as informaes no
fossem abruptas, mas que houvesse um refinamento da informao. Com isso, algoritmos de
deciso suave foram mais estudados. A melhor alternativa neste perodo e com as
configuraes desenvolvidas era a de utilizar os decodificadores do tipo SOVA (Soft-Output
Viterbi Algorithm).
O turbo-code mudou esse panorama propondo uma arquitetura em paralelo, onde dois
codificadores convolucionais recebiam a mesma entrada, porm com os dados permutados.
A criao do turbo-code foi proposta por Berrou, Glavieux e Thitimajshima em 1993 [17],
causando uma grande revoluo no desenvolvimento dos codificadores, j que atingia
desempenho prximo ao estimado pelo limite de Shannon. Assim, o turbo-code se tornou
dominante como codificador de canal para comunicaes digitais. A sua implementao porm
era desafiadora, sendo ainda atualmente um dos blocos mais complexos na implementao dos
sistemas de comunicao.
Primeiramente, [17] define um novo arranjo para realizar a codificao convolucional. Este
novo esquema j tinha um ganho de desempenho se comparado com os que vinham sendo
usados. Os codificadores sistemticos so aqueles que enviam, alm do sinal codificado, a
prpria entrada. Contudo, sabido que os codificadores convolucionais no sistemticos (Non-
Systematic Convolutional NSC) apresentam uma melhor resposta de erros para uma relao
sinal rudo alta [17]. A nova classe de codificadores chamados de convolucionais sitemticos
recursivos (Recursive Systematic Convolutional RSC) foi proposta por [17], sendo superior
aos NSC para qualquer relao sinal rudo em altas taxas de codificao. Neste caso, so
enviados sinais de sistemtico (que igual entrada) e de paridade (resultado das operaes do
codificador). Exemplos de codificadores NSC e RSC so mostrados nas Figuras 7 e 8, extradas
de [17].
14
( ) (9)
( ) * + (10)
* + ( ) (11)
* + (13.b)
( )
* +
( ) * + (13.c)
( )
16
onde:
- ( ) representa a probabilidade de transio do canal
condicionada a ( ). Contudo, pode ser desmembrado nas
variveis recebidas, separadamente sistemtico e paridade.
- ( ) a probabilidade de, tendo-se uma entrada, os
registradores transitem entre estados. Esta varivel sempre 1 ou 0, j que apenas uma entrada
especfica leva a mquina entre estados determinados.
- ( ) a probabilidade de mudana de um estado para outro especfico.
Este fator relacionado com a probabilidade da entrada do codificador. Esta componente
chamada de probabilidade a priori.
A probabilidade conjunta pode ser reescrita como:
* + (15)
( )
* +
( ) ( ) ( ) (16)
Por sua vez, ( )e ( ) podem ser calculados recursivamente atravs das funes de
probabilidade de transio entre os estados, equaes 17 e 18, calculando a probabilidade de
estados desde as primeiras amostras e desde a ltima amostra para ( ) e ( ),
respectivamente:
(17)
(18)
(19)
( ) ( ) ( ) ( ) (21)
( )
( ) ( ) ( ) ( )
A primeira parte da soma diz respeito apenas entrada do sistemtico, j a segunda parte se
refere redundncia inserida. Este fator representa a informao extrnseca, que, por sua vez,
no depende da informao do sistemtico.
O codificador turbo-code constitudo por dois RSCs idnticos em paralelo, com a entrada
para um deles passando por uma funo de interleave, que embaralha os dados de entrada,
alterando a sua ordem de uma forma pseudo aleatria de tal modo a permitir a reconstruo na
ordem natural dos dados. Este esquema pode ser visto na Figura 09.
18
utilizao na prtica no seriam possveis nas formas apresentadas at ento. Para reduzir a
complexidade, algumas otimizaes foram desenvolvidas, gerando uma forma bastante
simplificada do processador SISO.
Segundo Robertson [16], o algoritmo apresentado por Bahls e modificado por Berrou
mesmo na sua forma recursiva apresenta um grau de complexidade alto. Isso se deve
representao numrica, ao uso de funes no lineares e ao nmero elevado de somadores e
multiplicadores. A sua representao no domnio logartmico resolve o problema numrico e
reduz a complexidade computacional.
No formalismo subsequente adotamos a notao:
( ) ( ) (22)
( ) ( ( )) ( ) ( ( )) (23)
Logo:
( ) ( ( ) ( ))
( )
(24)
( ( ) ( ))
( )
( ) ( ( )
( | |
)) ( ) ( | |
) (25)
( ) * + (30)
( ( ) ( ) ( ))
( )
( ) * +
Portanto:
* | + ( ) ( ( )
) ( ) ( ( )) (32)
* | + ( ( )) (33)
Assim, todas as funes de mximo sobre dois valores tm uma funo de correo. Como
consequncia, por corrigir a cada passo a aproximao feita pelo Max-Log-MAP, o algoritmo
MAP original foi preservado.
Todavia, o clculo de ( ) continua tendo um algo grau de complexidade. Como soluo,
uma tabela com os valores pr-calculados pode ser inserida. Pode ser mostrado que poucos
valores j atendem a critrios bastante elevados de desempenho.
A implementao serial descrita por [17] e reproduzida anteriormente atravs da Figura 10,
a forma iterativa do algoritmo de decodificao. Esta forma apresenta uma latncia muito
elevada, impactando assim no desempenho do sistema.
Uma forma de reduzir o tempo de operao da decodificao a implementao paralela
intra-SISO. Dobkin et al. [20] mostrou a arquitetura paralela para o decodificador MAP,
comparando o seu resultado com uma implementao utilizando janelas deslizantes (sliding-
window).
As janelas deslizantes so uma forma de acelerar a decodificao de forma a comear o
clculo das componentes antes da concluso do recebimento de todos os valores de entrada.
Um exemplo grfico mostrado por [20] da utilizao das janelas deslizantes pode ser visto na
Figura 11. Neste caso, primeiramente todos os dados so recebidos, posteriormente as
22
1.2.3. Interleaver
( ) ( ) (37)
Para todo e .
Esse o tipo de funo selecionada para o sistema LTE, assim permitindo a decodificao
em paralelo com uma implementao recursiva que leva a um hardware simples.
25
neste contexto que se aplica o projeto desenvolvido, j que este teve como requisito
bsico poder ser comercializado como um IP separado da camada fsica do LTE. Desta forma,
este se torna um projeto completo, percorrendo assim todas as etapas tradicionais do fluxo de
projetos digitais.
Diversas so as representaes do fluxo de projeto, cada autor organizando as etapas da
forma que melhor lhe convm. Embora, todos sigam os mesmos passos bsicos, diferindo
apenas na forma e no no contedo. Em [25] foi ilustrada uma forma bastante simplificada os
passos do design e suas respectivas etapas de verificao:
26
Uma etapa que no claramente mostrada na Figura 14, que pode ser adicionada entre a
especificao e o desenvolvimento do RTL descrita em [26]. Nesta etapa, a especificao
modelada em uma linguagem de alto nvel como C/C++ ou Matlab de forma a validar os
conceitos da especificao. Uma descrio desta etapa feita por [26] reproduzida a seguir:
Uma vez que voc tenha concludo a especificao detalhada do sistema, voc
deve provar novos conceitos que voc props para a implementao. Por exemplo, voc
pode ter desenvolvido um novo algoritmo ou uma nova arquitetura, os quais voc quer
implementar. Estes ainda no foram provados, ao invs de provar a sua adequao para
o projeto, voc precisa usar linguagens de alto nvel como C ou Matlab e testar os
cdigos para todas as combinaes possveis que voc poder encontrar posteriormente
no hardware real quando voc implementar o design. At mesmo os padres no podem
ser tomados como garantia e necessitam ser testados antes dos demorados cdigos
Verilog. Quando voc tiver certeza que os conceitos esto funcionando, este ser o
momento correto de se comear o projeto de hardware.
Placement: O posicionamento uma etapa chave para o projeto fsico. Como o nome
sugere, o posicionamento o processo de posicionar as clulas ou procurar a melhor
localizao para cada clula do netlist dentro do floorplan. uma atividade crucial, pois um
posicionamento pobre consome mais rea, alm de prejudicar o desempenho da velocidade do
chip. Posicionamento ruim geralmente leva a uma tarefa de roteamento difcil e, algumas vezes,
impossvel.
Route: Aps a etapa de placement, a exata localizao das clulas e os seus pinos so
fixados. O prximo passo completar fisicamente as interconexes definidas no netlist. Isso
implica no uso de fios (metais) para conectar os terminais relacionados em cada fio. O processo
de encontrar os leiautes geomtricos para os fios chamado de roteamento (routing). Como um
requisito, os fios roteados devem estar confinados a uma rea. Adicionalmente, os fios no
devem estar curto-circuitados. Em outras palavras, os fios no devem ter uma interseo com
outros.
O objetivo do processo de roteamento depende da natureza do projeto. Em projetos de
propsito-geral, suficiente minimizar o comprimento dos fios enquanto completa as
conexes. Em projetos de alto desempenho, crucial o roteamento de cada fio de forma a
atingir os requisitos de temporizao. Fios de propsito-especfico, como o de clock e o terra,
requerem um tratamento especial.
Parasitic Extraction: Aps as clulas serem posicionadas, as conexes eltricas so feitas
por fios metlicos. As clulas e os fios tm resistncia e capacitncia que afetam a propagao
de corrente atravs deles. Como consequncia, h um impacto no tempo de propagao do
sinal. A Extrao de Parasitas o processo de extrair os valores exatos das resistncias e
capacitncias associadas a cada segmento de metal, de modo que seu impacto no atraso do sinal
possa ser determinado precisamente.
Timing Analysis: Verificao temporal o processo de comprovar que o leiaute do chip
pode operar at a frequncia definida para o produto. Diferentemente da verificao funcional,
a qual busca a funcionalidade do chip, a verificao temporal foca na velocidade do chip. Outra
diferena entre as duas verificaes que a de temporizao deve ser realizada em todos os
casos limites (corner cases) de processo, temperatura e tenso (Process, Voltage and
Temperature PVT). Um produto confivel deve rodar temperatura desejada com
transistores fracos/fortes, resistncia dos metais e vias alta/baixa, e com tenso fornecida
alta/baixa. Antes do projeto ser mandado para a manufatura, o comportamento de temporizao
em todas as combinaes destas condies tm que ser testadas com os requisitos do projeto.
31
( ) (39)
( )
( ) ( ) ( ) ( ) (40)
( ) ( ) ( ) ( )
( ) (41)
()
33
t K f1 f2 t K f1 f2 t K f1 f2 t K f1 f2
1 40 3 10 48 416 25 52 95 1120 67 140 142 3200 111 240
2 48 7 12 49 424 51 106 96 1152 35 72 143 3254 443 204
3 56 19 42 50 432 47 72 97 1184 19 74 144 3328 51 104
4 64 7 16 51 440 91 110 98 1216 39 76 145 3392 51 212
5 72 7 18 52 448 29 168 99 1248 19 78 146 3456 451 192
6 80 11 20 53 456 29 114 100 1280 199 240 147 3520 257 220
7 88 5 22 54 464 247 58 101 1312 21 82 148 3584 57 336
8 96 11 24 55 472 29 118 102 1344 211 252 149 3648 313 228
9 104 7 26 56 480 89 180 103 1376 21 86 150 3712 271 232
10 112 41 84 57 488 91 122 104 1408 43 88 151 3776 179 236
11 120 103 90 58 496 157 62 105 1440 149 60 152 3840 331 120
12 128 15 32 59 504 55 84 106 1472 45 92 153 3904 363 244
13 136 9 34 60 512 31 64 107 1504 49 846 154 3968 375 248
14 144 17 108 61 528 17 66 108 1536 71 48 155 4032 127 168
15 152 9 38 62 544 35 68 109 1568 13 28 156 4095 31 64
16 160 21 120 63 560 227 420 110 1600 17 80 157 4160 33 130
17 168 101 84 64 576 65 96 111 1632 25 102 158 4224 43 264
18 176 21 44 65 592 19 74 112 1664 183 104 159 4288 33 134
19 184 57 45 66 608 37 76 113 1696 55 954 160 4352 477 408
20 192 23 48 67 624 41 234 114 1728 127 96 161 4416 35 138
21 200 13 50 68 640 39 80 115 1760 27 110 162 4480 233 280
22 208 27 52 69 656 185 82 116 1792 29 112 163 4544 357 142
23 216 11 36 70 672 43 252 117 1824 29 114 164 4608 337 480
24 224 27 56 71 688 21 86 118 1856 57 116 165 4672 37 146
25 232 85 58 72 704 155 44 119 1888 45 354 166 4736 71 444
26 240 29 60 73 720 79 120 120 1920 31 120 167 4800 71 120
27 248 33 62 74 736 139 92 121 1952 59 610 168 4864 37 152
28 256 15 32 75 752 23 94 122 1984 185 124 169 4928 39 462
29 264 17 196 76 768 217 48 123 2016 113 420 170 4992 127 234
30 272 33 68 77 784 25 98 124 2048 31 64 171 5096 39 158
31 280 103 210 78 800 17 80 125 2112 17 66 172 5120 39 80
32 288 19 36 79 816 127 102 126 2176 171 136 173 5184 31 96
33 296 19 74 80 832 25 52 127 2240 209 420 174 5248 113 902
34 304 37 76 81 848 239 106 128 2304 253 216 175 5312 41 166
35 312 19 78 82 864 17 48 129 2368 367 444 176 5376 251 336
36 320 21 120 83 880 137 110 130 2432 265 456 177 5440 43 170
37 328 21 82 84 896 215 112 131 2496 181 468 178 5504 21 86
38 336 115 84 85 912 29 114 132 2560 39 80 179 5568 43 174
39 344 193 86 86 928 15 58 133 2624 27 164 180 5632 45 176
40 352 21 44 87 944 147 118 134 2688 127 504 181 5696 45 178
41 360 133 90 88 960 29 60 135 2752 143 172 182 5760 161 120
42 368 81 46 89 976 59 122 136 2816 43 88 183 5824 89 182
43 376 45 94 90 992 65 124 137 2880 29 300 184 5888 323 184
44 384 23 48 91 1008 55 84 138 2944 45 92 185 5962 47 186
45 392 243 98 92 1024 31 64 139 3008 157 188 186 6016 23 94
46 400 151 40 93 1056 17 66 140 3072 47 96 187 6080 47 190
47 408 155 102 94 1088 171 204 141 3136 13 28 188 6144 263 480
34
So 188 possveis tamanhos das sequncias, que variam de 40 a 6144 bits, dependendo de
diversos fatores, como a relao sinal/rudo. Essa definio feita atravs de sistemas de
controle externos ao turbo-code durante a codificao. Esta informao tambm enviada ao
decodificador, de modo que este ento sabe previamente o tamanho da sequncia a ser
decodificada.
O projeto consiste na implementao VLSI do decodificador do sistema LTE, tomando
alguns outros requisitos, como, por exemplo, a frequncia. A frequncia de operao bastante
importante para o sucesso em atingir o desempenho previsto pelo sistema, porm causa um
grande impacto no consumo de potncia, o que para um dispositivo mvel bastante relevante.
Inicialmente foi considerada, baseada nos outros blocos do sistema LTE, que a frequncia
de operao ficaria limitada a aproximadamente 120 MHz. Esta discusso ser melhor
abordada em outra seo.
Para melhorar o desempenho do turbo-code projetado, as otimizaes citadas no primeiro
captulo foram usadas. A implementao do algoritmo Log-MAP obrigatria para a
minimizao do hardware implementado, causando uma perda de desempenho mnima. O
paralelismo tambm foi explorado como forma de reduzir a latncia e aumentar o throughput
do sistema. Isso se d simplesmente pelo fato de que um bloco de dados pode ter seu tempo de
processamento reduzido em at oito vezes, portanto o hardware estaria disponvel para
processamento em um tempo menor, suportando assim taxas de processamento maiores.
Outro bloco que tem seu processamento muito otimizado o interleaver, cuja
implementao se apresenta bastante complicada para o clculo das posies, j que faz o uso
da funo de resto da diviso, que uma operao muito complexa de ser sintetizada, gerando
um hardware pouco eficiente. Este clculo pode ser reduzido bastante se for levado em
considerao que os endereos sero calculados sempre de forma sequencial. Isto leva
reduo da funo de resto de diviso que passa a ser implementada apenas por comparadores e
subtratores interagindo recursivamente, como demonstrado a partir das equaes (42) a (45):
( ( )) (42)
( )
( ( ) ( )) ( ) (43)
(44)
( ) ( () ) ((( ) ) )
( ) ( () ) ((( () ) ) ) (45)
35
Seguindo as equaes (27), (28) e (35) o hardware necessrio para realizar o clculo das
probabilidades de estados representado na Figura 23 (a representao est levando em
considerao , porm, para o clculo do o hardware idntico):
39
importante ressaltar, pela anlise da Figura 24, que os ndices dos componentes , e
das somas so combinados de forma a obedecer as possveis transies entre os estados. Por
exemplo, o sinal que representa a probabilidade de o sistema estar no estado 1 e acabar no
estado 5 calculado baseando-se nas probabilidades e dos estados 1 e 5, respectivamente, e
da probabilidade de a mquina fazer a transio entre estes estados.
A informao extrnseca pode ento ser calculada, j que parte integrante do clculo da
LLR. Porm, pela facilidade de implementao, os dados extrnsecos so extrados do valor da
LLR obtido. A implementao em hardware representada na Figura 25.
Na Figura 26 pode ser observado que o processador SISO reutilizado tanto para a
decodificao, com os dados na sequncia permutada pelo interleaver, como na sequncia
normal. Os dados inicialmente so demodulados (esta etapa realizada fora do bloco do Turbo-
Code), este processo podendo ser feito na forma tradicional. Contudo, o padro LTE prev o
uso de MIMO, permitindo diversidade espacial com o uso de mais de uma antena. Os dados so
ento demultiplexados, separados nos sinais de sistemtico e nos de paridade. Estes dados tm
que ser armazenados em memrias, j que sero utilizados a cada iterao. O processador SISO
ento alimentado pelos sinal de sistemtico, por um de paridade e pela informao extrnseca
gerada na iterao anterior.
Para leitura do sistemtico e da informao extrnseca, de forma a ser compatvel com o
sinal de paridade da sequncia permutada, necessita-se da funo de interleaver. Este bloco
exatamente igual ao usado no codificador. Os resultados gerados pela funo do interleaver
representam os endereos a serem usados durante a leitura dos dados nas memrias. A
informao extrnseca a ser escrita na memria, quando os dados so processados na sequncia
43
com interleaver, deve seguir este mesmo padro, para que, na forma direta, os sinais sejam
coerentes.
Uma otimizao feita neste projeto a sequncia de processamento dos dados. No incio de
cada bloco, so processados os sinais na sequncia permutada do interleaver, j que assim o
throughput pde ser otimizado em parte pelo fato de a ltima etapa de processamento se dar na
sequncia linear, o que permite a escrita de novos dados de entrada na sequncia em que so
lidos e processados os antigos. Desta forma, tambm o tempo de escrita na leitura no um
perodo obrigatrio de inatividade do processador SISO. Outra contribuio desta sequncia de
processamento que a sada dos dados aps todas as iteraes ser realizada e logo enviada,
no precisando desfazer o processo da permutao do interleaver, que haveria caso o
processamento se iniciasse com a sequncia linear.
A sequncia de processamento representada pela mquina de estados ilustrada na Figura
27.
( ) (47)
( )
( ) (48)
( )
(49)
( )
( () )
Esta relao demonstra que quando se divide a sequncia em dois blocos, pode-se garantir
que cada processamento se dar em memrias separadas, ou seja, os dados a serem processados
em um modo com o interleaver sero obtidos cada um em uma metade dos dados. A mesma
demonstrao pode ser feita para o caso em que se divide a sequncia em quatro e oito blocos,
como pode ser visto nas equaes (50).
( ) (50)
( )
(51)
( )
( )
46
Como os tamanhos dos blocos que faro a paralelizao com quatro processadores so
reduz a:
( ( )) (52)
( )
(53)
( )
( ( ))
Levando em conta a relao entre as sequncias acessadas, as equaes (52) e (53) podem
ser reescritas na forma:
( ( )) (54)
( ) ()
(55)
( )
( () ( ))
(57)
( ( ) ( )( )))
( )
(a) (b)
1
2
3
4
O processamento em paralelo gera um grande problema relacionado com o
desconhecimento das condies iniciais, pois o turbo-code tem como pressuposto que a
mquina de estados se inicie e termine no estado em que todos os registradores se encontram no
valor lgico zero. Portanto, os valores da probabilidade de estado no so muito confiveis nos
pontos de corte da janela a ser processada. A soluo adotada foi estender o clculo da
informao extrnseca de forma a prover uma melhor realimentao. A soluo mostrada na
Figura 29.
2.3. IMPLEMENTAO
No ambiente de simulao, esta operao se baseia apenas no mapeamento dos bits de sada
do codificador para os smbolos referentes ao esquema de modulao pretendido. Para a
aferio do desempenho atingido, dois componentes so testados: o esquema de modulao e o
rudo inserido. O desempenho medido com base nessas duas variveis. Quanto mais distantes
os smbolos so representados, mais imunes ao rudo, e portanto, melhor o desempenho do
decodificador.
Uma anlise importante se refere resposta para cada modulao em relao ao nvel de
rudo inserido, ou seja, a imunidade ao rudo propiciada por cada esquema de modulao. Para
50
isso, o grfico da Figura 32 mostra a resposta de cada esquema de modulao ao rudo, tendo
sido fixado o nmero de iteraes e o tamanho do bloco:
Neste caso, o interleaver ir calcular os valores de posio dos dados em uma sequncia
crescente (quando usada para o processamento da probabilidade de estados direta), assim como
na sequncia decrescente (para o clculo de ). Estas funes devem ser realizadas pelo mesmo
hardware devido inicializao no caso de se fazer na ordem decrescente. Porm, como
descrito anteriormente, o processamento se iniciar pela probabilidade , o que leva operao
do interleaver a comear um ciclo antes, de forma a completar o clculo at o fim, para deixar
o sistema no estado adequado.
A operao do interleaver feita em duas etapas. Na primeira, o acmulo da constante
representando a componente ((( () ) ) ) da equao (45). Este
registrador inicializado com o valor de para representar estes componentes na equao
(45), j que este valor deve ser adicionado em todos os ciclos de clculo.
A segunda etapa de processamento, representada na Figura 33, realiza a parte incremental
do valor do acumulador com o endereo anterior calculado pelo interleaver. Alguns
comparadores e subtratores (soma para a operao decrescente) so usados para a operao de
mdulo.
Como citado anteriormente, alguns sinais foram inseridos para facilitar a tarefa de controle
da camada fsica do LTE, bem como tornar o ambiente do IP mais controlvel. Desta forma, o
decodificador tem suas entradas e sadas como ilustrado na Figura 34.
53
armazenar os dados de entrada do sistema, j que estes so usados diversas vezes. Todas essas
memrias foram includas no leiaute final, sendo consideradas como parte do sistema do
decodificador.
Das memrias mostradas nas Figuras 37 e 38, as necessrias para armazenar os dados de
entrada do decodificador so 8 memrias de 768 posies, totalizando 6144 posies para as
informaes de sistemtico e de paridades. As informaes armazenadas nas memrias so
representadas por 9 bits, representao esta determinada por um estudo detalhado do
comprometimento do desempenho. Com o uso em conjunto com outros blocos, especialmente o
MIMO, esta representao pode mudar. Na configurao atual, o sistema requer 24 memrias
(8 para sistemtico, paridade1 e paridade2) de 768 posies e 9 bits para armazenar os dados de
entrada. J no caso da informao extrnseca, so necessrios os mesmos 9 bits para represent-
la, j que esta deve ser coerente com as outras entradas da SISO.
Os processadores SISO, como visto na Figura 22, devem armazenar o resultado do clculo
da probabilidade reversa de estados ( ). A preciso desta varivel tambm foi bastante
estudada, j que causa um impacto grande na implementao. Este dado tambm registrado
em 8 memrias de 768 posies, porm cada palavra ocupa 12 bits. Esta quantidade e o
tamanho das memrias afetaram significativamente os resultados referentes rea obtida por
este projeto.
Ao todo, a rea de silcio ocupada ficou , sendo a maior parte referente s
memrias.
O consumo de potncia considerado neste projeto como um requisito bsico. Isto se d
pela flexibilidade pretendida, de forma que este bloco possa ser usado no projeto de um
dispositivo mvel, o que sugere uma economia de bateria como sendo fundamental para o
sucesso do produto. Foi feito apenas um estudo do pior caso de consumo, no levando em
considerao as otimizaes possveis na implementao.
Apenas a otimizao do clock-gating foi usada durante a implementao fsica do projeto.
Esta tcnica consiste em desligar o sinal de relgio nos flip-flops onde o sinal de enable est
presente e leva o registrador a manter o estado antigo. No caso de o sinal de enable indicar que
o valor deve ser repetido, o sinal de relgio permanece estvel. O registrador dissipa energia
quando o relgio est ativo, mesmo com as entradas estveis. Portanto, esta tcnica reduz o
consumo na rvore de clock e o consumo inerente ao flip-flop, porm s atinge o consumo
dinmico, no reduzindo o leakage presente em tecnologias com menores dimenses.
Com as geometrias dos processos encolhendo abaixo de 90 nm, a corrente de fuga
(leakage) do dispositivo cresce drasticamente [27]. Com isso, diversas otimizaes podem ser
59
realizadas, como multi-Vt (clulas com dopagem diferente, o que diminui o leakage, sendo
contudo bem mais lentas). Outra otimizao a de Power-Shutoff, que consiste em desligar a
alimentao de partes do sistema que no esto sendo usadas momentaneamente - isto leva a
uma economia tanto de potncia dinmica como esttica. Esta tcnica poderia ser usada no
projeto desenvolvido, pois, nos casos em que o sistema no operasse com as 8 SISOs atuando,
as inativas poderiam ser desligadas. Estas tcnicas no foram usadas devido ao grande desafio
imposto, especialmente de verificao, e a no necessidade de se ter todas as possibilidades no
estgio de desenvolvimento, mas, o pior caso de consumo. Neste caso, a potncia estimada
atravs da anlise esttica 296,2 mW.
Apesar do crescimento da potncia esttica, a dinmica ainda dominante. Uma forma de
diminuir o consumo dinmico simplesmente promover a diminuio da frequncia do
sistema, j que existe uma relao de proporo direta entre eles. Assim a frequncia de todo o
projeto da camada fsica foi limitada a 120 MHz. Esta escolha no aleatria, mas ditada pela
facilidade em se conseguir essa frequncia na implementao de PLLs.
A reduo da frequncia tanto diminui o consumo diretamente, como indiretamente
contribui para a utilizao de circuitos mais lentos, que consomem menos, j que com um
requisito de tempo menor, as ferramentas podem otimizar o hardware para haver uma
economia de energia.
60
mais robusto. Porm, quando existem transies entre os nveis de paralelismo, esta
relao no seguida, j que a quebra da cadeia de decodificao causa uma
operao sobre blocos menores e mais incertezas, devido falta de continuidade na
trelia.
Figura 40: Desempenho do Sistema Comparando os Resultados com Diferentes Valores de Iterao
Os resultados esperados e descritos em [30] podem ser comprovados atravs dos grficos
mostrados nas Figuras 32, 39 e 40. Estas anlises so importantes para estabelecer um
parmetro de comparao. Outros trabalhos encontrados na literatura tm resultados diversos e
muitas vezes negligenciam a apresentao destes dados, o que dificulta a tarefa de comparao.
A prxima seo tem como objetivo a comparao entre os resultados encontrados neste
trabalho com outros existentes na literatura.
A validao do projeto realizado deve ser feita comparando-se a soluo encontrada com
outros trabalhos encontrados na literatura. Porm, devem-se levar em considerao os objetivos
estabelecidos para cada projeto.
Como discutido anteriormente, existem muitos fatores que influenciam a implementao do
decodificador turbo-code, tornando assim a comparao mais complexa. Devido escassez de
trabalhos voltados diretamente arquitetura LTE, muitos autores acabam por fazer
comparaes entre decodificadores de padres diferentes. Outra dificuldade ocorre devido
64
Algumas anlises podem ser extradas dos dados mostrados na Tabela 6. importante
ressaltar que estes resultados no so mostrados com relao capacidade de correo de erros.
Os trabalhos mostram uma diversidade de algoritmos empregados, dividindo-se entre a
opo LogMAP, Max-Log MAP e o Max-Log MAP modificado pela tcnica de fator de escala
extrnseco. O algoritmo modificado reduz o fator de correo, em cada estgio de
processamento, por uma escala no valor da informao extrnseca, incorrendo em uma perda
baixa de desempenho. A grande vantagem seria a reduo da operao da incluso do fator de
correo. Como as operaes no foram uma parte crtica do projeto, esta otimizao no se faz
necessria, sendo adotada apenas por alguns autores e no sendo uma soluo universal.
65
4. CONCLUSO
O trabalho mostrou uma arquitetura proposta para o sistema turbo-code aplicada ao padro
LTE. Foi realizada uma descrio do padro, porm limitando-se ao tema da codificao de
canal.
O trabalho est inserido no mbito de um projeto completo da camada fsica do padro
LTE, visando a criao de um IP especfico.
Para contextualizar o trabalho, foi realizada uma perspectiva histrica, desde o teorema de
Nyquist [38], que limita a taxa de amostragem, passando pelos trabalhos de Shannon [39], que
estabelecem o limite terico do canal e os sistemas de correo de erros que perseguem este
limite, e chegando, finalmente, ao turbo-code, que apresenta um desempenho muito prximo
do limite.
Tambm foi mostrado o fluxo de projeto digital que foi seguido neste trabalho. Neste caso,
o embasamento terico vem em conjunto com o conhecimento prtico para a realizao de
circuitos integrados em silcio. Comeou-se pela descrio RTL, tendo na verificao uma
importante ferramenta, e concluiu-se com a implementao fsica. O nvel de detalhamento no
foi muito alto devido ao escopo limitado do trabalho.
Finalmente, as etapas desenvolvidas foram apresentadas. Foi dado um enfoque especial na
arquitetura do hardware, pois, esta a grande diferenciao entre este e outros trabalhos.
Algumas etapas auxiliares se destacam, como a verificao e a criao de um modelo de
referncia, no qual as ideias das arquiteturas puderam ser testadas antes da implementao.
Os resultados foram ento comparados com outros trabalhos encontrados na literatura
corrente. Esta anlise se mostrou complicada devido aos diferentes parmetros que cada
trabalho assume. Porm, os resultados foram satisfatrios dentro dos requisitos propostos,
principalmente devido grande capacidade de correo de erros.
Este projeto se mostrou superior a todos os que puderam ser comparados com relao
capacidade de correo de erros, contudo, este ganho de desempenho causa uma deteriorao
dos outros parmetros de comparao. Ainda assim, o projeto apresentou caractersticas
similares ou superiores a outros trabalhos. Como se props ter uma alta fidelidade na correo
de erros, os outros parmetros foram otimizados de forma a que esse no se deteriorasse. A rea
de silcio ocupada diretamente afetada, j que para uma maior capacidade de correo, as
operaes so feitas em uma preciso mais elevada, consequentemente, maior a rea ocupada.
A latncia tambm afetada indiretamente atravs no nmero de iteraes. Quanto mais
68
Apesar do xito alcanado para o desempenho do sistema, o projeto, por se tratar de um IP,
poderia ter uma maior flexibilidade com relao utilizao de mais otimizaes, em
detrimento de uma queda no desempenho a ser avaliada pelo possvel usurio. Assim, o
desempenho, dependendo da aplicao, poderia no ser o objetivo principal, mas um hardware
menor ou com um maior throughput.
Uma anlise interessante para medir o desempenho do sistema a integrao dele com os
blocos mais prximos, o que permite uma viso mais ampla do funcionamento do circuito
integrado e da capacidade de correo de erros. Os principais blocos so o Rate Matching, que
trata de ajustar o nmero de bits de acordo com a taxa de codificao necessria, para isso
retirando ou repetindo os bits originais. Outro bloco interessante o MIMO, que o
responsvel pela recepo dos dados atravs de mltiplas antenas. Assim, a anlise fica mais
completa, j que adiciona a melhora de desempenho proveniente do MIMO.
69
6. REFERNCIAS BIBLIOGRFICAS
[1] - Dahlman, E., Parkvall, S., Skld, J., Beming, P., 3G Evolution HSPA for Mobile
Broadband, Second Edition, Academic Press - Elsevier, 2008
[2] Cox, C., An Introduction to LTE LTE, LTE Advanced, SAE and 4G Mobile
Communications, John Wiley and Sons, 2012
[3] Sesia, S., Toufik, I., Baker, M., LTE The UMTS Long Term Evolution From Theory to
Practice, Wiley, 2009
[4] Proakis, J. G., Digital Communications, Fourth Edition, McGraw-Hill, 2000
[5] Sklar, B., Digital Communications Fundamentals and Application, Second Edition,
Prentice Hall P T R, 2000
[6] Haykin, S., Communication Systems, Fouth Edition, John Wiley and Sons, 2001
[7] Andr de Amaral Arajo, Paulo Bastos Tigre, Srgio Bampi, Srgio Francisco Alves
Mrcio Wohlers de Almeida, Programa Nacional de Microeletrnica Contribuies para a
Formulao de um Plano Estruturado de Aes, Secretaria de Poltica de Informtica
Ministrio de Cincias e Tecnologia, Braslia 2002.
[8] Reis, V. T., Souza, I. S., A 65nm VLSI Implementation for the LTE Turbo Decoder,
2011, Proceedings of the 24th Symposium on Integrated Circuits and Systems Design, SBCCI,
pp, 155 - 160
[9] IEEE Annals of the History of Computing, Vol. 20, No. 2, 1998
[10] P.M. Csar, Breve Introduo Teoria dos Cdigos Corretores de Erros, Colquio de
[11] P. Elias, Coding for noisy channels, IRE Conv. Rec., pt. IV, pp. 37-46, 1955
[12] P. Elias, Error-free Coding, IRE Professional Group on Information Theory, vol. 4,
[13] A. J. Viterbi, Error Bounds for Convolutional Codes and an Assymptotically Optimum
[14] C. B. Schlegel, L. C. Prez, Trellis and Turbo Coding, 2004, IEEE Press: John Wiley
and Sons
70
[15] L.Bahl, J.Cocke, F.Jelinek, and J.Raviv, "Optimal Decoding of Linear Codes for
minimizing symbol error rate", IEEE Transactions on Information Theory, vol. IT-20(2),
Posteriori Algorithms Suitable for Turbo Decoding, Eur. Trans. Telecommun., Vol. 8, pp.
coding and decoding: Turbo-codes in Proc. ICC 93, pp. 1064-1070, May 1993.
[20] Dobkin, R., Peleg, M., Ginosar, R., Parallel VLSI Architecture for MAP Turbo Decoder
[21] Nimbalker, A., Blankenship, Y., Classon, B., Blankenship, T. K., ARP and QPP
[22] Dobkin, R., Peleg, M., Ginosar, R., Parallel Interleaver Design and VLSI Architecture for
Low-Latency MAP Turbo Decoders, IEEE Transactions on Very Large Scale Integration
[25] N. Weste, D. Harris, CMOS VLSI Design A Circuit and Systems Perspective, Pearson
[26] Digital VLSI Systems Design A Design Manual for Implementation of Projects on
[27] VLSI Circuit Design Methodology Demystified A conceptual Taxonomy, Liming Xiu,
Wiley-Interscience, 2007
[29] Stephen Brown and Zvonko Vranesic, Fundamentals of Digital Logic with VHDL
[30] Huahua, W. and Wenwen, L., Analysis of Turbo Decoding Algorithm in LTE System,
[32] Studer, C., Benkeser, C., Belfanti, S., Huang, Q., Design and Implementation of a Parallel
Turbo-Decoder ASIC for 3GPP-LTE, IEEE Journal of Solid-State Circuits, Vol. 46, N 1,
January 2011
[33] May, M., Ilnseher, T., When, N., Raab, W., A 150Mbit/s 3GPP LTE Turbo Code
Decoder, Design, Automation & Test in Europe Conference & Exhibition (DATE), 2010.
[34] Wong, C. C., Lee, Y. Y., Chang, H. C., A 188-size 2.1 mm Reconfigurable Turbo
Decoder Chip with Parallel Architecture for 3GPP LTE System, Symposium on VLSI Circuits
[35] Sun, Y., Zhu, Y., Goel, M., Cavallaro, J. R., Configurable and Scalable High Throughput
[36] Kim, J. H., Park, I. C., A Unified Parallel Radix-4 Turbo Decoder for Mobile WiMAX
[37] Souza, I. S., Reis, V. T., A VLSI Design for The LTE Turbo Decoder, 2012, Journal of
Integrated Circuits and Systems, JICS, Vol. 7, n 1, pp, 16 - 22
[38] Nyquist, H., Certain Topics in Telegraph Transmission Theory, 1928, Transactions of
the American Institute of Electrical Engineers, Vol. 47, Issue 2, pp, 617 - 644
72
[39] Shannon, C. E., A Mathematical Theory of Communication, 1948, The Bell System
Technical Journal, Vol. 27, pp, 379 - 423
[40] Hamming, R. W., Error Detecting and Error Correcting Codes, 1950, The Bell System
Technical Journal, Vol. 29, pp, 147 - 160
[41] Golay, M. J. E., Notes on Digital Coding, 1949, Proc. IRE, 37, pp, 567