tese 1,9 mb
Post on 07-Jan-2017
221 views
Embed Size (px)
TRANSCRIPT
Acelerao por Hardware de Clculos Matriciais para
Aplicaes de Comunicao Sem Fios
Eugnio Filipe Nogueira Costa
Dissertao para obteno do Grau de Mestre em
Engenharia Electrotcnica
Jri
Presidente: Prof. Doutor Nuno Cavaco Gomes Horta
Orientador: Prof. Doutor Horcio Cludio de Campos Neto
Co-Orientadora: Prof. Doutora Maria Helena da Costa Matos Sarmento
Vogal: Prof. Doutor Nuno Filipe Valentim Roma
Janeiro 2012
i
ii
Agradecimentos
Dedico este espao a todos que de alguma forma deram a sua contribuio, no s na
elaborao na presente dissertao, mas tambm no decurso do Mestrado que agora termina,
incluindo aqueles que, por equvoco meu, me olvide referir.
Agradeo aos meus orientadores, Professor Horcio Neto e Professora Helena Sarmen-
to, pela sua disponibilidade, colaborao e valiosos contributos cientficos.
Agradeo em especial o esforo, a pacincia, a disponibilidade e a dedicao do Profes-
sor Horcio Neto, que esteve sempre envolvido em todas as fases de execuo e permitiu que
esta dissertao fosse concluda com sucesso.
Aos meus camaradas Renato Vieira, Ricardo Pereira, Carlos Ruivo e Joo Mendes,
pelas imensas horas passadas na troca de ideias, partilha de angstias, dvidas e incertezas.
Aos meus camaradas de curso Chakais por manterem sempre presente um esprito de
camaradagem e unio.
Agradeo a todos os meus amigos pelo apoio que directa ou indirectamente me deram
no decorrer deste trabalho e do curso que agora termina.
Por ltimo mas nem por isso menos importante, um agradecimento muito especial
minha famlia. Aos meus Pais, a quem devo tudo o que sou hoje e minha irm. Apesar da
distncia, reconheo o vosso carinho e preocupao constantes.
A todos os elementos presentes neste texto de agradecimento, o meu sincero e profundo
Obrigado.
iii
iv
Resumo
As aplicaes de comunicaes sem fios destinadas a sistemas multi-antena envolvem
problemas de inverso e decomposio matricial que exigem operaes computacionais efi-
cientes. A inverso matricial constitui, ao mesmo tempo, um processo computacional intensivo.
Esta dissertao apresenta uma arquitectura eficiente e escalvel para inverso de
matrizes quadradas, com elementos complexos. O projecto foi baseado no mtodo de decom-
posio QR, com recurso ao algoritmo de ortogonalizao Gram-Schmidt Modificado. O uso do
Gram-Schmidt Modificado permitiu o desenvolvimento de uma arquitectura numericamente
estvel e com elevada preciso para o processamento de matrizes bem condicionadas no
singulares. Foi realizada uma explorao arquitectural detalhada, com base na decomposio
do algoritmo num conjunto de fases e operaes, que permitiu obter uma implementao efi-
ciente com um elevado nvel de paralelismo.
Os resultados obtidos mostram que a arquitectura desenvolvida consegue desempenhos
superiores aos dos trabalhos desenvolvidos em FPGA, anteriormente propostos. O multipro-
cessador obteve um tempo total de execuo de 2,9 s, a uma frequncia de relgio de
167MHz, para inverter matrizes complexas de ordem 8 no dispositivo da Xilinx Virtex-6
XC6VLX760.
A arquitectura desenvolvida permite ainda processar matrizes de ordem inferior a 8 e
implementaes com diferentes nveis de risco de erro associado. A arquitectura do projecto
tambm facilmente extensvel para o processamento de matrizes de dimenses superiores.
Palavras-chave:
Hardware, FPGA, inverso matricial, Gram-Schmidt Modificado, comunicaes sem fios,
MIMO.
v
vi
Abstract
Wireless communication applications for multi-antenna systems require the efficient com-
putation of matrix inversion and decomposition problems. Matrix inversion is also a
computationally intensive process.
This paper presents an efficient and scalable architecture for the inversion of square ma-
trices with complex elements. The design is based on the QR decomposition algorithm with
modified Gram-Schmidt orthogonalization. The use of modified Gram-Schmidt makes this archi-
tecture numerical stable and accurate for well-conditioned non-singular matrices. An
optimization technique is proposed, such that the algorithm is split in several stages and opera-
tions, which can be efficiently parallelized.
The results obtained show that the proposed architecture is significantly faster than pre-
viously published FPGA implementations. The matrix inversion core can achieve a throughput
of up to 0.34M updates per second, for 8 by 8 matrices of complex values, on a Xilinx Virtex-6
XC6VLX760 executing at 167MHz.
The proposed architecture can also process smaller matrices and it supports different er-
ror risk levels. Further, this new architecture is easily extendable for other matrix sizes.
Keywords:
Hardware, FPGA, matrix inversion, Modified Gram-Schmidt, wireless communications, MIMO.
vii
viii
ndice
Agradecimentos ................................................................................................................... ii
Resumo ............................................................................................................................... iv
Abstract ............................................................................................................................... vi
ndice ................................................................................................................................. viii
Lista de Figuras ................................................................................................................... x
Lista de Tabelas ................................................................................................................. xii
Lista de Abreviaturas ........................................................................................................ xiv
Lista de Smbolos .............................................................................................................. xvi
1 Introduo .................................................................................................................. 1
1.1 Contexto e Enquadramento .................................................................................. 1
1.2 Motivao .............................................................................................................. 2
1.3 Objectivos .............................................................................................................. 4
1.4 Metodologia ........................................................................................................... 5
1.5 Estrutura do Documento........................................................................................ 6
2 Sistemas Multi-Antena e Algoritmos de Inverso Matricial ....................................... 7
2.1 Sistemas Multi-Antena........................................................................................... 7
2.2 Mtodos de Inverso Matricial ............................................................................ 10
2.2.1 Mtodos de aproximao analticos ............................................................ 10
2.2.2 Decomposio LU e decomposio Cholesky ............................................ 12
2.2.3 Decomposio QR ...................................................................................... 12
2.3 Implementao em Hardware de Algoritmos de Inverso Matricial .................... 15
2.4 Concluso ............................................................................................................ 17
3 Ortogonalizao Gram-Schmidt e Representao Aritmtica ................................ 19
3.1 Inverso de matrizes com recurso decomposio QR utilizando a
ortogonalizao Gram-Schmidt ............................................................................................... 19
3.2 Inverso de matrizes com o algoritmo Modified Gram-Schmidt ......................... 22
3.3 Aritmtica de vrgula fixa ..................................................................................... 25
3.4 Concluso ............................................................................................................ 27
4 Especificao e Optimizao do MGS .................................................................... 29
4.1 Especificao do MGS para inverso de matrizes complexas de ordem 8 ........ 29
ix
4.1.1 Fase 1 Clculo das colunas da matriz Q (Qi), da diagonal da matriz R (Rii)
e das colunas das matrizes U ............................................................................................. 29
4.1.2 Fase 2 Clculo da matriz W ..................................................................... 31
4.1.3 Fase 3 Clculo da matriz B ...................................................................... 32
4.2 Modelo e optimizao.......................................................................................... 33
4.3 Anlise de Erro .................................................................................................... 38
4.4 Concluso ............................................................................................................ 42
5 Projecto e Implementao da Arquitectura de Processamento .............................. 43
5.1 Dependncias