Software Implementation of BeiDou B1I Code ...

85 downloads 0 Views 316KB Size Report
Based on the generator revealed in BeiDou Interface Control Document (BICD), a software generator is implemented by using Simulink blocks in conjunction ...
Send Orders for Reprints to [email protected] Recent Patents on Computer Science 2016, 9, 000-000

1

Software Implementation of BeiDou B1I Code Generator Using Matlab/Simulink Di Wu1,*, Wei Chen1 and Wei Ni2 1

School of Automation, Wuhan University of Technology, 122 Luoshi Road, Wuhan, Hubei, P.R.China, 430070; 2Digital Productivity and Service (DP&S) Flagship, Commonwealth Scientific and Industrial Research Organisation, Cnr Vimiera and Pembroke Roads, Marsfield, NSW, Australia, 2122 Received: September 20, 2014; Revised: November 7, 2014; Accepted: September 4, 2015

Abstract: Conventional Matlab implementation of software ranging code generator requires code shifts to produce the ranging codes assigned to different satellites. Unfortunately, it is unable to implement software BeiDou B1I code generator using this method, because the B1I code shifts are unDi Wu known. Based on the generator revealed in BeiDou Interface Control Document (BICD), a software generator is implemented by using Simulink blocks in conjunction with Matlab programs in this paper. The Simulink blocks enable the generator to compute the BeiDou B1I code shifts, as well as reducing the complexity of the implementation. Simulation results show that the implementation is feasible and reliable. All B1I code shifts are calculated, which can be used for both software and hardware implementation in the future.

Keywords: BeiDou system, the B1I code, software generator, Matlab/Simulink, code shift. INTRODUCTION The BeiDou system, the Global Navigation Satellite System (GNSS) of China, aims to provide global high-precision, reliable and stable navigation services. A regional service was initiated since December 2012 [1] with the capacity to support Asian-Pacific navigation users. By 2020 [2], the service will be upgraded to cover the entire world. It is expected that GNSS receivers with the ability to process both the GPS signal and the BeiDou signal will become popular [3], because a wide range of applications based on the BeiDou system have been proposed and implemented. Patent CN103886728(A) [4] describing an air defense alarm system directive issuing method based on BeiDou short message communication, which enables an auxiliary alarms issuing channel in the case of the crackdown of the ground-based communication systems. Patent CN103871266(A) [5] invents a ship positioning monitoring system based on BeiDou system. The owner can use this system to remotely monitor the operational statues of the ship. Patent CN103778798(A) [6] invents a device which is able to deliver real-time urban transportation guiding information based on the Beidou system. Software simulation is an effective and flexible way to test GNSS receiver performance [7]. As shown in Fig. (1), a software GNSS simulation platform consists of four components, namely, Signal Generator, Noise Generator, Software Receiver and User Interface. The software signal generator enables different signal conditions to evaluate various *Address orrespondence to this author at the School of Automation, Wuhan University of Technology, 122 Luoshi Road, Wuhan, Hubei, P.R.China, 430070; Tel: (86)027-87859049; Fax: (86)027-87859049; E-mail: [email protected] 2213-2759/16 $100.00+.00

receiver acquisition and tracking algorithms. According to the structure introduced in the GPS ICD [8], the GPS software signal generators have been implemented and verified by many researchers. In [9] and [10], the GPS C/A code generation was implemented in Matlab environments; in [11], not only the Matlab simulation but also the DSP simulation was carried out and examined. Software signal generator is also of great value to design baseband signal processing algorithms for the BeiDou system, facilitating and optimizing the overall design of the system. However, very little attention has been paid to the software implementation. This is because the structure of the BeiDou signal generator was unrevealed until the recent release of the BICD [12]. To maintain confidentiality, only the B1I ranging code generator is revealed in the BICD at present, which is designed to provide low-precision open service to all users. Therefore, we limit our implementation to the software B1I code generator in this paper. The remainder of this paper is as follows. The B1I code generator is explained in Section 2. In Section 3, the implementation using Matlab/Simulink software is described. Simulation results are analyzed in Section 4. We summarize our research and draw a conclusion in Section 5. BEIBOU B1I CODE GENERATOR The BeiDou ranging code is made of Pseudorandom Noise (PRN) code. One important property of the PRN code is auto-correlation; the BeiDou receiver synchronizes the replica code and the incoming code by calculating the autocorrelation peak. Then the distance from the satellite can be simply determined by the ranging delay multiplied by the speed of light. The BeiDou system transmits two types of © 2016 Bentham Science Publishers

2 Recent Patents on Computer Science, 2016, Vol. 9, No. 1

Wu et al.

Fig. (1). Software GNSS simulation platform.

Fig. (2). B1I code generator.

ranging code on the B1 band, which are the B1I code and the B1Q code. Since the chip rate of the B1I code is 2.046Mbit/s, the minimum ranging error is 1% of its chip width [10], which is approximately 1.5 meters. Therefore, the B1I code can provide low-precision open service to all users. The structure of the B1I code generator is shown in Fig. (2). [12], where the generator is composed of two 11-stage PRN code generators which generate PRN sequences with a length of 211-2 = 2,046bits. The B1I code is implemented by Modulo-2 addition of G1 and G2 sequences which are generated by these two generators. The generation polynomials can be given by G1(X)=X11+X10+X9+X8+X7+X1+1

(1)

G2(X)=X11+X9+X8+X5+X4+X3+X2+X1+1

(2)

Both G1 and G2 share the same initial states: 01010101010 i

(3)

where X (i= 1, 2, 3, 4, 5, 7, 8, 9, 10, 11) denotes the output of the i-th cell and is used as the input of the modulo-2 adder

in the PRN generator. In addition, a code phase selector is attached to the G2 generator to produce a code shift; the shift varies with the tapping selection of the selector. Every satellite is assigned with a unique code shift, enabling the receiver to identify the satellite. The shift also allows different satellites to transmit the ranging code at the same frequency simultaneously, with tractable interference that can be suppressed by using correlation techniques. IMPLEMENTATION OF SOFTWARE B1I CODE GENERATOR The Conventional Implementation Using Matlab In [9] and [10], the conventional implementation of the GPS ranging code generator is carried out in Matlab programs. The algorithm is shown in Fig. (3). Although the algorithm is theoretically applicable, lack of the BeiDou code shifts defers the Matlab implementation of the B1I code generator. Besides, the Matlab implementation is timeconsuming due to heavy coding workload. In the following sections, we propose a new method which is able to calculate the code shifts and simplify the implementation.

Software BeiDou B1I Code Generator

Recent Patents on Computer Science, 2016, Vol. 9, No. 1

3

sequently, a Gold Code Generator is set to produce all 2046 ranging codes in one generation period, which will be correlated with the code produced by the PRN code generator to determine the code shifts. The calculation is accomplished by dedicated Matlab programs. Two To-workspace blocks (Simout G2 and Simout G2i) are set to store the output of the PRN Code block and the Gold Code Generator Block respectively, as well as serving as the data interface of the Matlab programs. The programs as shown in the following pseudo-code: Load gold generator model for i from 1 t o 2046 Call the model; Index