[ca] Aquest projecte es tracta de la optimització i la implementació de l'etapa d'adquisició d'un receptor GPS. També inclou una revisió breu del sistema GPS i els seus principis de funcionament. El procés d'adquisició s'ha estudiat amb detall i programat en els entorns de treball Matlab i Simulink. El fet d'implementar aquesta etapa en dos entorns diferents ha estat molt útil tant de cara a l'aprenentatge com també per la comprovació dels resultats obtinguts. El principal objectiu del treball és el disseny d'un model Simulink que es capaç d'adquirir una senyal capturada amb hardware real. En realitat, s'han fet dues implementacions: una que utilitza blocs propis de Simulink i l'altra que utilitza blocs de la llibreria Xilinx. D'aquesta manera, posteriorment, es facilitaria la transició del model a la FPGA utilitzant l'entorn ISE de Xilinx. La implementació de l'etapa d'adquisició es basa en el mètode de cerca de fase de codi en paral·lel, el qual empra la operació correlació creuada mitjançant la transformada ràpida de Fourier (FFT). Per aquest procés es necessari realitzar dues transformades (per a la senyal entrant i el codi de referència) i una antitransformada de Fourier (per al resultat de la correlació). Per tal d'optimitzar el disseny s'utilitza un bloc FFT, ja que tres blocs consumeixen gran part dels recursos d'una FPGA. En lloc de replicar el bloc FFT, en el model el bloc és compartit en el temps gràcies a l'ús de buffers i commutadors, com a resultat la quantitat de recursos requerits per una implementació en una FPGA es podria reduir considerablement.

[en] This projects deals with the implementation and optimization of the acquisition stage of a GPS receiver. The project also includes a brief review of the GPS system and its operating principles. The acquisition process has been studied in detail, and programmed in Matlab and Simulink. The fact that this functionality has been programmed in two different environment has been very useful as an educational activity and also as a crosscheck means. The main outcome of the work is a Simulink model that is able to acquire the signal captured with real hardware. Actually, two implementations have been done: one using only native Simulink blocks and another one using blocks from the Xilinx - Simulink library. The later would facilitate an easy transition from the model to an FGPA using the ISE Xilinx environment. The acquisition stage employs the parallel code search method and relies on the use of the Fast Fourier Transform (FFT). The direct application of the parallel code search method involves the computation of two FFTs (for the incoming signal and the reference code) and one inverse FFT (for the result of the correlation). The inclusion of three FFT blocks in a FPGA requires a very large number of gates, and therefore the need of an optimization is apparent. We have modified the acquisition stage so as to perform the parallel code search using only one FFT block, which represents the second main outcome of the project. Instead of replicating the FFT block, in our model the block is time shared thanks to the use of some buffers and switches, as a result, the number of gates required by an FPGA implementation could be greatly reduced.