ORIGINAL ARTICLE Design and implementation of an adaptive code discriminator in a DSP/FPGA-based Galileo receiver Jyh-Ching Juang Æ Yu-Hsuan Chen Æ Tsai-Ling Kao Æ Yung-Fu Tsai Received: 16 March 2008 / Accepted: 31 August 2009 / Published online: 16 September 2009 Ó Springer-Verlag 2009 Abstract In the design of a global navigation satellite system receiver, the tracking performance depends on the code tracking loop and the associated discriminator. An adaptive code discriminator under a multi-correlator architecture has been designed based on a multi-objective principle to achieve a balance among various, sometimes conflicting, design objectives. With the proposed optimi- zation approach and adaptive logic, concerns of large pull-in region and small steady-state error can be addressed. The proposed scheme is implemented in a digital signal pro- cessor/field programmable gate array board and an exper- iment is conducted to process GIOVE-A signals. The test results reveal the advantages of the proposed code tracking architecture and discriminator design. Keywords GNSS receiver Galileo Code discriminator design Multi-correlator Introduction In a global navigation satellite system (GNSS) receiver, the code tracking loop is responsible for the synchronization of the local code and the incoming code in the presence of noise and multipath. The design requirements of the code tracking loop thus include small error variance, bounded multipath-induced error, and fast transient response. The design is traditionally realized by a delay-locked loop (DLL) in which a discriminator is used to provide error signal for the adjustment of the timing of the local code in the tracking loop. Several different discriminators including noncoherent early-minus-late power (NELP) discriminator, coherent early-minus-late discriminator, and dot-product discriminator have been discussed in Van Dierendonck (1996), Ziemer and Tranter (2002). In existing discrimina- tors, the designer typically adjusts the code spacing and loop filter bandwidth to account for multipath-induced error and carrier-to-noise density ratio variation. Future GNSS including the European Galileo and the modernized GPS will employ binary offset carrier (BOC) modulation or its multiplexed variation to obtain improved performance in comparison with the legacy binary phase shifted keying (BPSK) modulation in GPS (Hein et al. 2006). The BOC modulation, however, is subject to an ambiguity problem in the code tracking process. Such an ambiguity issue, together with existing conflicting concerns on steady-state error, multipath-induced error, and transient response, makes the design of the code tracking loop complicated. Fortunately, parameters of the loop filter and discriminator design can be brought to bear. Several code discriminator designs have been addressed in Bello and Fante (2005), Fante (2003), Juang (2008), Pany et al. (2005). In this paper, a design approach of noncoherent multi-correlator (NMC) discrim- inators is investigated. The code discriminator design is formulated as an optimization problem by regarding dif- ferent code tracking performance requirements as either an objective function to be minimized or constraints to be satisfied. To account for different requirements at the pull-in and lock stages, an adaptive scheme is devised to tailor different discriminators. The adaptive code discriminator is then realized in a digital signal processor/field program- mable gate array (DSP/FPGA) platform for the reception of Galileo signals and experimentally verified by receiving signals from the GIOVE-A, the first Galileo in-orbit J.-C. Juang (&) Y.-H. Chen T.-L. Kao Y.-F. Tsai Department of Electrical Engineering, National Cheng Kung University, No. 1, University Road, Tainan, Taiwan e-mail: juang@mail.ncku.edu.tw 123 GPS Solut (2010) 14:255–266 DOI 10.1007/s10291-009-0141-4