A software GNSS signal generator for the GPS L1/L2/L5 and Galileo E1/E5 signals is proposed in this paper. And this signal generator is designed and implemented with several components by considering the reuse and expansion of components for similar GNSS signals. The characteristics of the reusability of the components are confirmed with the carrier generation and the band-pass filter components. And the functionality of the GNSS multi-band IF signal generator is validated by using the commercial software GPS L1 receiver, and the performance of signal acquisition, tracking and accuracy of horizontal position error are analyzed for this validation. As a result, the GPS L1 signal generator operates successfully and it could be expected that other signal generators also operate well because most of components are the same as those of the GPS L1 signal generator.
Recently, many advanced countries show a great interest in Global Navigation Satellite System (GNSS). GPS of USA, Galileo of Europe and GLONASS of Russia are its representative systems (Kim et al. 2004). If various GNSS signals are provided by these modernization plans, the users can receive multi-band signals and perform better navigations. However, processing newly added signal is accompanied by the development of new algorithm. In addition, an algorithm to ensure the interoperability between different systems is, also, required. To develop and validate these algorithms, the signals to satisfy GNSS signal standard are required. However, since Radio Frequency (RF) signals without Full Operational Capability (FOC) cannot be collected, the studies are restricted. Even though RF signals are collected, a signal generator must be developed to satisfy the GNSS signal standard because the signal cannot be collected from diverse user environment.
The GNSS multi-band signal generator can be divided into hardware-based simulator and software-based simulator depending on its implementation method. The signal generated by a hardware-based simulator has high similarity to satellite signal and a signal property similar to actual RF signal. However, it is hard to use the hardware-based simulator in small sized study groups due to high production cost resulted from the requirement of heavy expenses in development process. In addition, it is difficult to change its hardware when a new RF signal is added. On the other hand, the software-based simulator can generate a signal in desired user environment and satellite RF signal under development based on Interface Control Document (ICD). However, it has disadvantages that it cannot reflect hardware-based properties, and it is difficult to generate RF band signal.
The software-based signal generators have been studied in GNSS related companies and universities around the world. VEGA Inc. in Germany developed Galileo System Simulation Facility (GSSF) which is a Galileo system simulator and is being used for the verification of Galileo Test Environment (GATE), which is the ground test environment of the Galileo system (http://www.gssf.eu/GSSF%20subpage%20What%20is%20GSSF.htm). However, the GSSF is limited to only generate Galileo signals. Calgary University in Canada developed multi-channel L1/L5 signal generator and is carrying out the study on other GPS RF signals and Galileo signals (Julien et al. 2004).
The GNSS multi-band IF signal generator proposed in this paper is designed and implemented with high scalability for users while other institutes develop performance-based signal generators for single GNSS signal. It uses a Component-Based Software Development (CBSD) method with high reusability to increase the efficiency for the generation of GNSS multi-band IF signals for GPS and Galileo (Geraci 1991). This paper checks the reusability and scalability of the carrier generator and band-pass filter components in the implemented component-based signal generator and validates the functionality and performance of the signal generated by GPS L1 signal generator.
This paper is composed of five chapters (including “Chapter 1 Introduction”) and each chapter describes as follows: Chapter 2 describes the structure of the GNSS multi-band signal generator and validates the justification of the component-based development method. Chapter 3 designs and implements the carrier generation and band-pass filter components of the GNSS multi-band IF signal generator and checks their scalability and reusability. Chapter 4 describes the generation of GPS L1 signal by using the implemented component-based GNSS multi-band IF signal generator and validates the functionality and performance of GPS L1 signal generator by using a commercial Software Defined Radio (SDR) receiver. Finally, Chapter 5 draws the conclusion of this paper.
2. DESIGN OF GNSS MULTI-BAND IF SIGNAL GENERATOR SOFTWARE BY USING A COMPONENT-BASED DEVELOPMENT METHOD
As a paradigm for software development, the first procedural technique is to develop the whole software as functions by functionalities in accordance with data processing procedure (Kim et al. 2000). This technique makes it easy to develop small-sized programs but has a problem that all functions must be changed when data structure is changed because functions and date are separated. To solve this problem, an object-oriented methodology was developed. In this methodology, software is not divided by functionalities but separated as objects. The object indicates a group that data and several data processing functionalities are joined together. Its input/output are exposed to outside, but its internal processing process is concealed (Kim et al. 2000). Therefore, it can be easily developed with the same interface even through its internal functionalities are changed. On the basis of these features, most software developers expected the objects had high reusability and standardized objects would be sold as a kind of products if they were made as software chips but the object market has not grown greatly.
Brad Cox published a concept of Software IC in 1985, and StepStone Inc. launched the first commercial component in 1986 but came off well due to the immaturity of market conditions (Choi et al. 2001). However, as Visual Basic was rolled out in 1991, the component markets like the embodied customer control began to grow greatly. At last, Visual Basic became a decisive factor to convert object-oriented programming into component based programming. Here, the component indicates a software assembly that can be executed independently, has standard interface and provides the replaceability, reusability and functional independency of software (Kim 1999). In general, the components are divided into distribution components, business components, extended business components and system components (Kim 1999). In particular, the distribution components indicate the components that clients can access through remote method invocation from a network place. The distribution components include Enterprise JavaBean (EJB), Common Object Request Broker Architecture (CORBA) and Component Object Model plus (COM+) and can be reused (Choi et al. 2001). These component technologies allow common users to customize their applications by using commercial components and small-sized developers to develop components for specific fields with no need of making big software programs. In addition, big-sized developers can easily build client/server systems for enterprise by combining the components.
The GNSS signals, represented by GPS and Galileo, are composed of carriers, codes and navigation data (Tsui 2005). In this paper, target signals are designed as GPS L1, GPS L2C, GPS L5, Galileo E1 and Galileo E5a. As shown in
, the designed GNSS multi-band IF signal generator is composed of user input, signal generation, noise generation, band-pass filter and quantization components. The signal generation component is composed of satellite tracking, raw data and error generation, navigation data generation, PRN code generation and carrier generation components as shown in
Structure of GNSS multi-band IF signal generator.
Structure of signal generator module.
As shown in
, the GNSS multi-band IF signal generator is composed of blocks performing similar functionalities. The GNSS multi-band IF signal generator generates GNSS signals in various bands. The generator proposed in this paper is designed and verified on the basis of a component with same input but different outputs depending on input values. As a result, ‘the carrier generation’ and ‘band-pass filter components’ will be developed as a structure on the basis of component-based development and with reusability.
3. DESIGN OF GNSS MULTI-BAND IF SIGNAL GENERATOR COMPONENTS
This chapter will design and verify carrier generation and band-pass filter components of the GNSS multi-band IF signal generator.
- 3.1 Carrier Generation Component
The carrier generation component generates a carrier at every sample by using a Numerically Controlled Oscillator (NCO), receives central frequency and sampling frequency for each signal and calculates and reflects Doppler frequency in each satellite (Kaplan 1996).
shows the block diagram of the carrier generation component. The frequency calculation and increment calculation components of the carrier generation component calculates Doppler frequency by using the position and speed of a satellite and the position and speed of a receiver and calculates the increment from sampling frequency and IF center frequency. The adder adds the increment value to the register value at the previous point and stores the added value to a holding register with N bits in length. At this time, the register value at initial point is calculated from a pseudo distance by an initial phase calculation component. After that, the carrier of I-phase and Q phase is generated by using a carrier phase table. The carrier has a value in upper L bits of the register.
Structure of carrier generation component.
To verify the developed carrier generation component, a carrier was generated with the sampling frequency of 60 MHz, the IF center frequency of 5 MHz for L1 band or 15 MHz for L5 band. After that, its power spectrum was observed. As seen in
, the power components of a signal appear at 5 MHz for L1 band signal and 15 MHz for L5 band signal, respectively. As a result, we can know that the carrier generation component can be re-used to generate GPS L1, GPS L2C, GPS L5, Galileo E1 or Galileo E5a signals by only changing the center frequencies.
Result of carrier generation in L1 band.
Result of carrier generation in L5 band.
- 3.2 Band-Pass Filter Component
The band-pass filter component can design filters matching with each band signal with a 19-order FIR filter (Zeng 2006) to generate band-limited signal by receiving IF center frequency, bandwidth and sampling frequency. The
shows the block diagram of the band-pass filter component. To verify the developed band-pass filter component, noise was generated with the sampling frequency of 60 MHz, the IF center frequency of 5 MHz for L1 band or 15 MHz for L5 band. After that, its power spectrum was observed. As seen in
, the 3 dB bandwidth whose power is reduced half in comparison with center frequency appears as approximately 4 MHz for L1 band signal or approximately 20 MHz for L5 band signal. In general, since the GNSS signal experiences reverse diffusion process, the band limited sections in
are wider than those of a hardware filter but do not have any effect on signal acquisition and tracking. As a result, we can see that the band-pass filter can be re-used for L1 band, L2C band and L5 band by maintaining the same carrier generation component and only changing center frequency and bandwidth.
Structure of band pass filter component.
Result of band-pass filtering in L1 band.
Result of band-pass filtering in L5 band.
4. DESIGN VERIFICATION
This chapter will generate GPS L1 signal by using a component-based GNSS multi-band IF signal generator and verify the generated signal by using a commercial receiver (NordNav) (www.navtechgps.com/pdf/r30.pdf). The acquisition and tracking performance of GPS L1 C/A code will be checked by using the receiving status of the commercial receiver. For the navigation performance, the navigation error will be checked between the receiver position entered and the receiver position obtained from the commercial receiver.
- 4.1 Experimental Environment
In this paper, the position of the receiver is set as a place with the latitude, longitude and altitude of all zeros, and IF signal is generated for 60 seconds. For the verification of the signal generator, the signal power (C/N0) of certain 6-visible satellite is set to 50 dB-Hz. In addition, the sampling frequency and the IF center frequency are set to 5.714 MHz and 1.134 MHz, respectively. Furthermore, two quantization bits are set.
- 4.2 Verification of GPS L1 C/A Code Signal
Signal can be acquired and tracked by using a commercial receiver. The signal receiving mode of a general GPS receiver is operated in sequence of signal acquisition, signal tracking, frame synchronization, navigation data acquisition and navigation.
As shown in
, the signal receiving mode is in the navigation state that signal acquisition, signal tracking, frame synchronization and navigation data acquisition processes are operated normally so that GPS L1 C/A code signal is normally acquired and tracked. The strength of the signal acquired and tracked is between 47 and 50 dB-Hz similar to that of the signal entered, and the navigation result can be checked by using position error.
shows that navigation data are normally generated because the GPS L1 C/A code IF signal generated by the component-based GNSS multi-band IF signal generator performs the navigation.
Navigation result of GPS L1 C/A code signal.
With the receiver position entered as the origin, a signal in stationary status was generated, and its navigation error was measured. As shown in
, the navigation error on horizontal plane was within about 2 m. The altitude error was evaluated to be generated due to the geometrical characteristics reflecting only six satellites in the study. As a result of the navigation, the altitude error was approximately 2 ~ 2.5 times bigger than the horizontal error, and the receiver was evaluated to be normally operated. In case of STR4500, which is a commercial hardware simulator, the navigation error for the horizontal plane of the same commercial receiver is about 1.5 ~ 2 m similar to the performance of the designed generator when six visible satellites with the same characteristics are used. Therefore, the component-based GNSS multi-band IF signal generator designed in this paper was proven to be normally designed and implemented through the verification of GPS L1 C/A code signal.
This paper proposed a design of the component-based GNSS multi-band IF signal generator and verified the reusability of the carrier generation and band pass filter components. In addition, this paper showed that the signal generator was normally designed and implemented by verifying the performance to acquire, track and navigate the generated GPS L1 signal by using a commercial receiver. For signal acquisition and tracking, the signal change caused by quantization and noise was checked with 50 dB-Hz specified in signal generate process and its similar strength between 47 – 50 dB-Hz. For the navigation performance, the signal generator was checked to be normally operated with the similar navigation performance to STR4500, which is a hardware signal generator. Therefore, since most components composing GPS L2C, GPS L5, Galileo E1 and Galileo E5a signal generators are similar to those of GPS L1 signal generator, the signals in other bands are expected to be normally generated by using the carrier generator and band pass filter components. From this, various algorithms are expected to be developed under various circumstances. Once software receivers that can receive multi-band signals are secured, we will verify the performance to acquire, track and navigate various signals and perform the study to enhance the performance.
This study was performed as a part of National GNSS Research Center’s project supposed by Defense Acquisition Program Administration (DAPA) and Agency for Defense Development (ADD).
Choi S. M.
Essay on Policies Business Components for Component - Based Software Development in the Enterprise
Communications of The Korea Information Science Society
IEEE Standard Computer Dictionary: A Compilation of IEEE Standard Computer Glossaries
IEEE Computer Society Press
Kaplan E. D.
Understanding GPS Principles and Applications
GNSS Standardization Trends and Major Organization for Standardization
Journal of Korean Association of Surveying & Mapping, Measurement
Kim H. H.
Kim Y. G.
Bae D. H.
Kim M. K.
Yoo B. K.
A Systematic Construction of Object-Oriented Methods
Journal of The Korea Information Science Society: Software and Application
Component Definitions and Related Technology Trends
Journal of Software Engineering Society
A Complete Software-Based IF GNSS Signal Generator for Software Receiver Development
Proceedings of ION GNSS 2004
Fundamentals of Global Positioning System Receivers
Optimal design study of high-order FIR filters based on neural-network algorithm
Proceedings of the Fifth International Conference on Machine Learning and Cybernetics
13-16 August 2006