## 1 Introduction  
The Chinese BeiDou Navigation Satellite system (BDS) has a mixed space constellation that will have, when fully deployed, five Geostationary Earth Orbit (GEO) satellites, twenty-seven MEO satellites and three Inclined Geosynchronous Satellite Orbit (IGSO) satellites. The GEO satellites are operating in orbit at an altitude of 35,786 kilometers and positioned at 58.75\({}^{\circ}\)E, 80\({}^{\circ}\)E, 110.5\({}^{\circ}\)E, 140\({}^{\circ}\)E and 160\({}^{\circ}\)E, respectively. The MEO satellites are operating in orbit at an altitude of 21,528 km and an inclination of 55\({}^{\circ}\) to the equatorial plane. The IGSO satellites are operating in orbit at an altitude of 35,786 km and an inclination of 55\({}^{\circ}\) to the equatorial plane. These satellites broadcast navigation signals and messages within three frequency bands. The BDS has been in development for more than a decade, and it is estimated to be operational with global coverage at the latest in 2020 [1,2]. The BeiDou satellites transmit ranging signals based on Code Division Multiple Access (CDMA) principle, like GPS and Galileo. The mixed constellation structure of BeiDou results in better observation geometry for positioning and orbit determination compared to current GPS and GLONASS, and future Galileo, especially in China and neighboring regions. The BeiDou system has already started contributing to the multi-GNSS benefits where increased accuracy, availability and integrity are possible when utilizing interoperable GNSS [3]. The characteristics of BeiDou B1I (B1 In-phase) signal can be compared with GPS L1 signal in order to realize the similarities and differences between the two systems. Both the civilian signals from these two systems have similar characteristics in general, for example, the periods of their spreading codes are both 1 millisecond (ms) long, and the coordinate systems and the navigation message structures are almost the same with minor differences [4,5]. This eventually means that many algorithms that are implemented for the GPS receiver can be readily available to the BeiDou receiver without any major modification. But to improve the positioning performance, the modern GNSS signals, including BeiDou and the GPS L5, introduce a second layer of modulation between the navigation data and the PRN code chips, known as Neumann-Hoffman (NH) code modulation. This ultimately improves the data bit rate of the modern GNSS signals. The legacy GPS L1 C/A signal has a data bit rate of 50 bits per second (bps), which means that 1 bit data lasts for 20 ms (_i.e._, the PRN code cycle repeats 20 times for each data bit). The data bit rate of BeiDou D2 signal is 500 bps, which means that 1 bit of data lasts for only 2 ms (_i.e._, two spreading code cycles). The data bit rate of BeiDou D1 signals is originally 50 bps, but after modulation by NH code, the data bit rate becomes 1 kbps, so compared to the GPS signal, the data bit rate of the BeiDou signal increases significantly. Particularly, the NH code modulated D1 signal has 1 kbps data bit rate which makes data bit transition possible within the data bit boundary. The use of NH code and the resultant increase in the data bit rate has pros and cons. On the positive side, the NH code can boost the ability of anti-narrowband interference and improve the cross-correlation property of satellite signals and the bit synchronization [6]; whereas on the negative side, the existence of NH code makes the acquisition and tracking of the modernized GNSS signals more challenging [7; 8; 9; 10; 11; 12]. The acquisition and tracking challenges in BDS will be discussed in more detail in Sections 2.1 and 2.2, respectively. The use of a software-defined GNSS receiver is highly appreciated for its flexibility, re-configurability and diversity. These unique characteristics of a software-defined receiver make it possible to develop and then to validate new algorithms for optimizing the receiver performance at a low cost [13].