IMPLEMENTATION OF DIGITAL BEAMFORMING IN GNSS RECEIVERS Carles Fern´andez–Prades, Pau Closas, and Javier Arribas Centre Tecnol`ogic de Telecomunicacions de Catalunya (CTTC) Av. Carl Friedrich Gauss 7, 08860 Castelldefels, Spain. E-mail:
[email protected],
[email protected],
[email protected] ABSTRACT Sources of accuracy degradation in Global Navigation Satellite Systems (GNSS) are well known. While atmospheric-dependant sources (delays that depend on the ionosphere and troposphere conditions) can be greatly mitigated by differential systems external to the receiver’s operation, the multipath effect and interferences are location-dependant and remain as the most important causes of accuracy degradation. An antenna-array based receiver can make use of digital beamforming techniques, providing appealing spatial filtering capabilities. The goal of this paper is to provide details about the design and implementation of a real-time beamformer based on FPGA technology. 1. INTRODUCTION Global marketplace for GNSS receivers has been traditionally based on application specific integrated circuit (ASIC) technology, an approach with high development costs but extremely low cost per unit (thus ensuring revenues) and high performance. However, recent and forthcoming changes in the space segment (the modernization of GPS and GLONASS, also the advent of Galileo and Compass) are pushing developers to new approaches and targeting designs to unforeseen accuracy levels. This requires more flexibility in the design and implementation processes, driving to more agile development tools. Although ASIC technology remains pervasive for mass market applications, other technologies such as field programmable gate arrays (FPGAs) or software–defined receivers running in digital signal processors, microprocessors, or even regular PCs are of great interest for limited–market but highly demanding applications such as reference stations, geodesy and surveying, timing, machine control, and others. This is the case of antenna–array based GNSS receivers. It is well known that sources of accuracy degradation due to atmospheric effects can be effectively mitigated by differential systems, but interferences and multipath remain as potential causes of downgraded performance. The spatial diversity provided by antenna arrays adds another degree of freedom for the rejection of such nuisance signals. Among the wide range of antenna array architectures, from the all– analog to the all–digital approaches, the adaptive digital beamforming strategy has revealed as a potentially effective tool when applied to the problems involved in a GNSS receiver, specifically multipath and interference rejection [1]. This work has been partially supported by the Spanish and Catalan Science and Technology Commissions: CENIT2007-2002 (TIMI) and TEC2008-02685/TEC (NARRA), and by the European Commission in the framework of the FP7 Network of Excellence in Wireless COMmunications NEWCOM++ (contract n. 216715) and COST Action IC0803 (RFCSET).
In the literature there can be found a number of digital beamforming implementations aimed to GNSS. One of the firstly reported platforms is the NAVSYS High Gain Advanced GPS Receiver (HAGR) [2], which is composed of a 16 antenna–element array receiver and uses dedicated hardware to create up to 12 independent and parallel beamformings to simultaneously point the antenna array beam to 12 GPS satellites. HAGR also includes a software defined GPS receiver to control the beamforming algorithm. However, very few technical information about the implementation is available. Other achievements in hardware-based digital beamforming platforms are focused on specific beamforming algorithms. It is worth mentioning the QR decomposition (QRD)-based beamforming engine [3] made by Xilinx engineers, and the minimum variance distortionless response (MVDR) beamformer implementation reported in [4]. The trend in digital beamforming implementations is to tightly combine hardware and software design in order to improve the execution speed of the adaptive beamforming algorithms, which usually require matrix inversion operations. In that sense, it is important to mention the recent advances achieved by the efficient implementation of the QRD-RLS algorithm [5], that validates the hardware-software co-design strategy.
RF front-end LNA
PC FPGA ADC
Beamformer
SDR GNSS Receiver
RF front-end LNA
Fig. 1. Block diagram of the complete system. The beamformer module described in this paper is boxed in grey. The contribution of this work is the proposal of an architecture for adaptive digital beamforming in the context of GNSS receivers, providing details about the implementation. The overall design is shown in Figure 1. Since antennas and RF front–ends can be built with commercial off–the–shelf (COTS) components based on ASIC technology, and there are many software defined GNSS receivers available (from MATLAB–based toolboxes [6] to real– time, C–based implementations [7] published under the GNU Gen-
eral Public License), this work will focus in the implementation of the beamformer, boxed in grey in Figure 1. The use of FPGA devices for digital beamforming has been already reported [3, 8–11] as a viable technology for real–time applications. In this work, we address the specifities of a GNSS receiver. The organization of this paper is as follows: Section 2 defines the GNSS signal model for an antenna–array receiver. Section 3 proposes the overall architecture of the system and provides a quick overview of the building blocks. Sections 4 and 6 discuss two main issues in the design process, namely clock synchronization and the computation of the beamweights. Section 5 provides details of an implementation aimed to be a proof–of–concept for the proposed beamformer module. Finally, Section 7 provides experimental results and concludes the paper. 2. SIGNAL MODEL
g = exp {jπkR}T , is the wavenumber vector, defined as
where k ∈ R k = cos(θ) cos(ψ)
sin(θ) cos(θ)
sin(ψ)
Considering the signals coming from M satellites, the received signal can be written as M −1 n X αi (t)< ej(2πfc (t−τm (t))+φm ) xRF (t) = m=0
(1)
where