Chương 3: Spoofing detection on software receiver: Chương này tổng hợp các thông tin cơ bản về hai phương pháp phát hiện giả mạo sử dụng trong bộ thu mềm và cách triển khai các module
Trang 1MINISTRY OF EDUCATION AND TRAINING HANOI UNIVERSITY OF SCIENCE AND TECHNOLOGY
-
TRUONG MINH DUC
RESEARCH AND DEVELOPMENT OF ADVANCED SIGNAL PROCESSING ALGORITHMS FOR MULTI-GNSS SOFTWARE RECEIVERS
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
-
TRƯƠNG MINH ĐỨC
NGHIÊN CỨU VÀ PHÁT TRIỂN GIẢI THUẬT
XỬ LÝ TÍN HIỆU TIÊN TIẾN CHO
BỘ THU MỀM ĐA HỆ THỐNG GNSS
Chuyên ngành : Kỹ thuật máy tính và truyền thông
LUẬN VĂN THẠC SĨ KHOA HỌC
KỸ THUẬT MÁY TÍNH VÀ TRUYỀN THÔNG
NGƯỜI HƯỚNG DẪN KHOA HỌC :
TS Tạ Hải Tùng
Hà Nội – Năm 2015
Trang 3I deeply acknowledge the supports from all the NAVIS and ISMB members, who everyday show me the intelligence, kindness and hospitality Among them, I would like to mention Micaela Troglia Gamba, Emanuela Falletti, Nguyen Dinh Thuan, Nguyen Thi Thanh Tu whose contributions from the very beginning of my research are very important
The list could not be complete without Growing NAVIS project, funded by the European Commission under the FP7 Call Galileo.2011.4.3-1 – International Activities (Grant Agreement No 287203), for supporting my internship at ISMB from March to June, 2014
Last but very not least, I cannot thank enough my parents and my sister for their belief, encouragement and love that definitely are my limitless power
Trang 4Commitment
I commit myself to be the person who was responsible for conducting this study All reference figures were extracted with clear derivation The presented results are truthful and have not published in any other person‟s work
HaNoi, December 29th, 2014
Trương Minh Đức
Trang 5Tuy nhiên, để đáp ứng yêu cầu này, các bộ thu cứng truyền thống (ASIC) cần phải thiết
kế và chế tạo lại Điều này yêu cầu chi phí tương đối cao Do vậy, hướng phát triển các
bộ thu mềm hoạt động trên các vi xử lý có khả năng lập trình được đang được quan tâm rộng rãi cùng với sự phát triển mạnh mẽ về năng lực tính toán của các vi xử lý này
Bộ thu mềm có ưu điểm là cấu trúc xử lý linh hoạt, mềm dẻo dễ dàng thực hiện việc nâng cấp, thay đổi do vậy hoàn toàn có thể đáp ứng được yêu cầu trên
Ngoài ra, nhiều ứng dụng định vị sử dụng vệ tinh có yêu cầu cao về độ an toàn và tính chính xác như hàng hải, hàng không, hay đường sắt Hiện nay, một trong những mối đe dọa chính tới độ chính xác của dịch vụ định vị sử dụng vệ tinh là can nhiễu như phá sóng hay giả mạo tín hiệu Tuy nhiên, tín hiệu GNSS phổ thông không được trang bị bất kỳ một phương pháp chống can nhiễu nào bên trong nó Vì vậy, các phương pháp chống can nhiễu trong quá trình xử lý tín hiệu là một vấn đề cần được xem xét trong các bộ thu
Từ những yêu cầu thực tế đó, luận văn tập trung vào nghiên cứu và phát trình bộ thu mềm đa hệ thống và nghiên cứu về các phương pháp phát hiện giả mạo tín hiệu Đóng góp chính của luận văn như sau:
Nghiên cứu và phát triển một bộ thu mềm đa hệ thống, đánh giá hiệu năng của giải pháp định vị đa hệ thống so với giải pháp đơn hệ thống sử dụng dữ liệu thực
Nghiên cứu hai phương pháp phát hiện giả mạo tín hiệu, với tên gọi SignTest và GoF, và đánh giá khả năng hoạt động của hai phương pháp này với bộ dữ liệu chuẩn TEXTBAT được sử dụng rộng rãi trong đánh giá hiệu năng của các kỹ thuật phát hiện/ loại bỏ giả mạo tín hiệu
Từ các nội dung như trên, luận văn được tổ chức như sau:
Chương 1: Fundamental Background: Chương này giới thiệu tổng quan về
môi trường định vị đa hệ thống – kiến trúc cơ bản, trạng thái hiện tại của các hệ thống định vị sử dụng vệ tinh hiện có, ưu điểm và thách thức của định vị đa hệ thống Cơ sở lý thuyết về bộ thu mềm cũng được giới thiệu ở chương này
Trang 6 Chương 2: Design of Multi-GNSS receiver: Chương này tập trung vào thiết kế
của bộ thu mềm Cách triển khai các module của bộ thu mềm và phương thức hoạt động của từng module cũng được trình bày trong chương này
Chương 3: Spoofing detection on software receiver: Chương này tổng hợp các
thông tin cơ bản về hai phương pháp phát hiện giả mạo sử dụng trong bộ thu mềm và cách triển khai các module này Ngoài ra chương này cũng điểm qua một số đặc điểm của bộ dữ liệu chuẩn TEXTBAT
Chương 4: Experiment Results: Chương này trình bày về kết quả thử nghiệm
hoạt động của bộ thu mềm với cả 4 hệ thống định vị sử dụng vệ tinh toàn cầu Các kết quả thực nghiệm cho thấy giải pháp định vị đa hệ thống là hoàn toàn có thể thực hiện được và giải pháp này cho hiệu năng tốt hơn giải pháp đị vị đơn hệ thống về cả độ chính xác, khả năng sẵn sàng và độ tin cậy Kết quả thử nghiệm của hai phương pháp phát hiện giả mạo tín hiệu cũng được trình bày trong chương này Hai phương pháp này đều cho thấy khả năng phát hiện được tín hiệu bị giả mạo khi áp dụng với bộ dữ liệu TEXTBAT
Kết luận
Tóm lại, luận văn đã thực hiện được các yêu cầu đặt ra ban đầu như nghiên cứu và phát triển một bộ thu mềm đa hệ thống, thử nghiệm hoạt động của bộ thu mềm; nghiên cứu, kiểm thử khả năng phát hiện giả mạo của hai phương pháp SignTest và GoF
Trang 7Table of Contents
Acknowledgements 2
Commitment 4
List of Acronyms 9
List of Figures 11
List of Tables 12
Introduction 13
Chapter 1: Fundamental Background 16
1 Multi-GNSS environment 16
1.1 Architecture of GNSS 16
1.2 Status of all GNSSes 19
1.3 Advantages of multi-GNSS 22
1.4 Challenges of multi-GNSS 23
2 Software Receiver 24
2.1 Software receiver overview 24
2.2 Software receiver architecture 25
Chapter 2: Design of Multi-GNSS receiver 41
1 Receiver general architecture 41
2 Module implementation 42
2.1 Signal synchronization 42
2.2 Data demodulation 47
2.3 Satellite position computation 54
2.4 Pseudorange computation 56
2.5 PVT computation 57
Chapter 3: Spoofing detection on software receiver 62
1 Spoofing detection theory 62
1.1 Hypothesis test 62
1.2 Application of hypothesis test to GNSS receivers 63
1.3 Sign Test 65
1.4 Goodness of Fit Test 65
2 Spoofing detection method implementation 66
3 TEXTBAT datasets 70
Chapter 4: Experiment results 73
1 Graphic User Interface 74
2 Signal synchronization and Demodulation module 76
Trang 82.1 Signal synchronization 76
2.2 Data demodulation 79
3 PVT Computation 79
3.1 Single GNSS solution 81
3.2 Multi-GNSS solution 84
4 Spoofing detection 87
Conclusion 93
References 95
Trang 9List of Acronyms
AFS Atomic Frequency Standards
AGNSS Assisted Global Navigation Satellite System
AWGN Additive White Gaussian Noise
CDMA Code Division Multiple Access
CPU Central Processing Unit
DSP Digital signal processing
ECEF Earth-Centered, Earth-Fixed
EGNOS European Geostationary Navigation Overlay Service FDMA Frequency Division Multiple Access
FEC Forward Error correction
FPGA Field-programmable gate array
GDOP Geometric Dilution Of Precision
GEO Geostationary Earth Orbit
GNSS Global Navigation Satellite System
GPS Global Positioning System
GPU Graphics processing unit
ICD Interface Control Document
IGSO Inclined geosynchronous orbit
IRNSS Indian Regional Navigation Satellite System
Trang 10MEO Medium Earth orbit
MSAS Multi-functional Satellite Augmentation System NCO Numerically controlled oscillator
PDOP Position Dilution Of Precision
PNT Positioning, Navigation and Timing
PVT Position, Velocity, and Time
QZSS Quasi-Zenith Satellite System
RNSS Regional Navigation Satellite System
TDOP Time Dilution Of Precision
TEXTBAT Texas Spoofing Test Battery
WAAS Wide Area Augmentation System
Trang 11List of Figures
Figure 1 GNSS architecture 17
Figure 2 Architecture of navigation payload 18
Figure 3 Control segment architecture and functions [12] 18
Figure 4 Augmentation Systems 21
Figure 5 Number of SVs in multi-GNSS systems 21
Figure 6 Spectrum of GNSS signal 22
Figure 7 Satellite navigation principle 26
Figure 8 GNSS signal processing chain 26
Figure 9 Acquisition’s search space 29
Figure 10 Basic GNSS receiver tracking loop diagram 30
Figure 11 Code tracking loop block diagram 31
Figure 12 Carrier tracking loop block diagram 31
Figure 13 Kepler parameters and satellite orbit 34
Figure 14 The elliptic orbit with(ξ, η)coordinates 35
Figure 15 Time differences between system time, satellite time and receiver time 37
Figure 16 Receiver GNSS Architecture 41
Figure 17 Block diagram of the parallel code phase search algorithm 43
Figure 18 Flowchart of acquisition algorithm 44
Figure 19 Complete tracking loop diagram 45
Figure 20 Flowcharts of tracking algorithm 46
Figure 21 Flowchart of GPS data demodulation function 48
Figure 22 Flowchart of GLONASS data demodulation function 49
Figure 23 Flowchart of Galileo data demodulation function 51
Figure 24 Flowchart of Beidou data demodulation function 52
Figure 25 Flowchart of finding preamble function 53
Figure 26 Flowchart of pseudorange calculation algorithm 58
Figure 27 Flowchart of receiver position calculation algorithm 59
Figure 28 Correlators profile in the absence (upper) and presence of disturbances (bottom) [8] 64
Figure 29 Example of p-value k=10 67
Figure 30 Flowchart of SignTest function 68
Figure 31 Flowchart of Chi2GoF function 69
Figure 32 The antenna on the roof (the circled one) 73
Figure 33 Graphic User Interface of our receiver 74
Figure 34 Choosing data file error in GUI 75
Figure 35 Search space of acquisition 76
Figure 36 Available PRN 77
Trang 12Figure 37 Result of DLL and PLL of the tracking loops 78
Figure 38 Signal synchronization result 79
Figure 39 Data demodulation results 80
Figure 40 Skyplot of all GNSS system 81
Figure 41 GPS PVT result – Google Earth 81
Figure 42 Skyplot (left) and Positioning accuracy (right) of all GNSSes 83
Figure 43 Skyplot & Positioning accuracy of {GPS & Galileo} combination 84
Figure 44 Skyplot & Positioning accuracy of {3 GPS & 2 Beidou} combination 85 Figure 45 Skyplot & Positioning accuracy of {four systems} combination 86
Figure 46 Time history of C/N0 for different PRNs 88
Figure 47 Doppler frequency f D of different PRNs 89
Figure 48 Results of Sign Test applied to a pair of correlators with dEL=1.5chips and integration period Tint = 1ms 90
Figure 49 Results of GoF test applied to a pair of correlators with dEL=1.5chips and integration period Tint = 1ms 91
List of Tables Table 1 Characteristics of GNSS civil signals 27
Table 2 Acquisition parameters of each signal [21] 28
Table 3 GNSS navigation message characteristic 32
Table 4 Kepler parameters 35
Table 5 GNSS system’s preamble parameters 54
Table 6 Sign Test and GoF Test Parameters 69
Table 7 Intermediate frequency and bandwidth of GNSS 73
Table 8 Performance of stand-alone positioning solutions 83
Table 9 Standard deviation ratio 87
Trang 13Introduction
Nowadays, satellite navigation plays an important role in many fields such as transport, maps, find and rescue, environmental monitoring, military applications … Since the 80s of the last century, Global Navigation Satellite Systems (GNSS) were built like GPS or GLONASS And until now a lot of new GNSSes have been developing, and will provide services for users all over the world in the near future such as Galileo or Beidou The modern GNSSes provide new signal with advanced technology for instance: binary offset carrier (BOC), coherent adaptive subcarrier modulation (CASM),… In respond to this fact, GNSS receivers should be upgraded to work with new signals and new systems
However, most of traditional GNSS receiver is hardware receiver, whose signal processing part is performed by application-specific integrated circuit (ASIC) Those receivers are able to process signal at high speed, but they have low flexibility and upgradeability (in order to do that, the whole receiver should be re-designed and re-manufactured and this require a pretty high cost) In order to solve this problem, we can use the software receiver approach This allows us to build a high flexible and easy-to-upgrade receiver because any change to the receiver can be done through modifying the software code So, all the upgrade to satisfy the new requirements (new signal, upgrade signal processing algorithm, working in harsh environment…) can be implemented easily
On the other hand, the existence of multi-GNSS also leads us to some questions Can
we use those systems together to get a multi-system solution or just use them separately? If we can combine them to form a solution, how does its accuracy compare
to the single solution? And what is the drawback?
Moreover, many GNSS applications are considered safety critical For example, maritime, aviation, and rail transportations often require stringent performance and the detection of signal degradation to preserve accuracy Currently, one of the main threats
Trang 14to GNSS accuracy is interference such as jamming and spoofing Unfortunately, the open GNSS signal does not have any “built-in” anti-interference method So, anti-interference methods also need to be considered in a GNSS receiver In a fully SDR receiver, all intermediate results can be accessed easily, allowing us to implement anti-interference techniques base on those results
Understanding about those problems, my colleagues at NAVIS center and ISMB and I conduct research and development on a multi-GNSS receiver and also the anti-interference methods Spoofing detection is focused in this thesis, while interference
mitigation methods can be found on Ms Nguyen Thi Thanh Tu‟s thesis [17] So, the
main contributions of this thesis can be summarized as follows:
Research and develop a multi-GNSS receiver, evaluate the performance of multi-GNSS solution over the single solution with real collected data
Research and implement two spoofing detection methods, namely Signtest and GoF test, and validate them against TEXTBAT which is a widely used test bench for performance assessment of spoofing detection/mitigation techniques Thus, with these contents, this thesis is organized as follows:
Chapter 1: Fundamental Background: This chapter presents an overview of
multi-GNSS environment – general architecture, status of GNSS systems, advantages and challenges of multi-GNSS environment and the theoretical basis
about software receiver
Chapter 2: Design of Multi-GNSS receiver: This chapter focuses on how the
receiver is designed The implementation of modules inside the receiver and the
ways they work are also presented in this chapter
Chapter 3: Spoofing detection on software receiver: This chapter summarizes
the basis information about the spoofing detection methods used in our receiver and how they are implemented Some characteristics of the TEXTBAT datasets
are also shown here
Trang 15 Chapter 4: Experiment Results: This chapter shows the results of the receiver
with real data testing from all four available GNSS systems These results are analyzed to make performance comparisons between single GNSS-solution versus multi-GNSS solution The testing results of the two spoofing detection
methods against the TEXTBAT dataset are presented here too
IEEE
Truong Minh Duc, Vinh The La, Tung Hai Ta, Gustavo Belforte (2013), GNSS Positioning Solutions with Real Data Collected in South-East Asia
Multi-Region, ISGNSS 2013, Istanbul, Turkey
Truong Minh Duc, Gamba, M T., Motella, B., Falletti, E., Ta Hai Tung (2014), Enabling GNSS software receivers with spoofing detection techniques: a test
against some TEXBAT datasets, COMNAVI 2014, Hanoi, Vietnam
Trang 16Chapter 1: Fundamental Background
In any period of human history, navigation always has an important role for many purposes: exchanging positioning information, leading the ways, military application,… Since ancient times, people have used a lot of methods to navigate such
as based on the known location, construction milestones (lighthouses for instance), monitoring ocean currents, observing the position of the constellations combined with the use of a compass and map… However, these methods have limitations such as high computational complexity, imprecision and low reliability Along with the development of science and technology, satellite navigation was born, initially for using in the military field and then be extended to other civil applications
Trang 17Figure 1 GNSS architecture Figure 2 shows the high-level architecture of the navigation payload which is
responsible for the generation and transmission of the ranging codes and navigation data on the allocated radio frequencies to the user segment The Tracking, Telemetry and Control (TT&C) subsystem receives the predicted navigation data and other control data from the control segment to control the payload The Atomic Frequency Standards (AFSs) are used as the basis for generating the ranging codes and carrier frequencies The Navigation Data Unit (NDU) contains the ranging code generators and the navigation data uploaded from the control segments This subsystem also interfaces to the cross-link receiver/transmitter for intersatellite communication, and ranging The L-band subsystem is responsible for transmitting the navigation signals to users
1.1.2 Control segment
The control segment is responsible for maintaining the satellite constellation and their proper functioning In principle, this segment consists of three subsystems, namely: Master Control Station (MCS), Monitor Stations (MS) and Ground Antennas (GA)
The functions assigned for each sub-system can be summarized in Figure 3
Trang 18Figure 2 Architecture of navigation payload
Figure 3 Control segment architecture and functions [12]
Trang 19 Identification of the satellites in view,
Estimation of the distance between the user and the satellites
Trilateration to estimate the user location
1.2 Status of all GNSSes
In this section a short overview of the status of the different analysed GNSS is presented for reference
GPS: navigation satellite system of the US, as remarked GPS has been the first GNSS and it has been continuously working for decades The 1st satellite of GPS was launched in 1978 Indeed, since its setup, the system has undergone maintenance and has been modernized with the launch of new types of satellites deserving new features The full constellation foresees a total of 24 medium elevation orbits (MEO) satellites on 6 uniformly spaced orbits with an inclination of 55° on the equatorial plane
In June 2011, three of the 24 slots were expanded, and six satellites were repositioned As a result, the system currently operates a 27-slot constellation Beside those satellites, GPS constellation always has some backup satellites which can work as normal satellites if needed In June 2013, the total number of
GPS satellites in the constellation is 32 [16]
Galileo: The European GNSS foresees 27 MEO working satellites, nine for each one of 3 uniformly spaced orbits with an inclination of 56° on the equatorial plane
Currently the Galileo system is under deployment and only its first 4 satellites have been launched Such satellites are transmitting their open service signal with the navigation message since last 12 March 2013 thus enabling for the first time a Galileo-only position fix New satellites should be launched over the next
few years to allow the system to become fully operative [6]
Trang 20 GLONASS: It is the second oldest GNSS developed by the old Soviet Union and then Russia since 1976 After a decline in capacity during the late 1990s, in
2001, the restoration of the system was made a top government priority and funding was substantially increased By 2010, GLONASS had achieved 100% coverage of Russia's territory and in October 2011, the full orbital constellation
of 24 satellites was restored, enabling full global coverage Its constellation foresees 24 MEO satellites on three orbits with 8 uniformly spaced satellites in each orbit Orbits have an inclination of 64,8° on the equatorial plane Currently
there are 24 working satellites in the system [9]
Beidou: This Chinese GNSS foresees the use of three different types of satellites: geosynchronous equatorial orbit (GEO), inclined geosynchronous orbit (IGSO) with an inclination angle to the equatorial plane of 55°, and MEO
At present the Beidou System consists of a total of 14 satellites Five of them are GEO satellites; other five are IGSO and finally there are 4 MEO satellites New launces should take place in the next future in order to extend the total
number of satellites in the constellation [4]
QZSS: This Japanese RNSS is constituted, for the time being, of only one IGSO satellite Soon others satellites should be launched and until the full constellation is reached with 7 satellites Among others, this system transmits some GPS like signals, so that its satellites can be used ad extra GPS satellites that have always a quite high elevation for users in Japan and in other East and SEA countries This feature improves the availability and the quality of the GPS service in critical conditions in which a consistent share of the sky is masked, as
in the case of urban canyons On top of this the system will act as an augmentation system providing information enabling error corrections in the
covered region and it will also offer new additional services [11]
Trang 21 We also have some others augmentation system (AGNSS) such as MSAS, EGNOS, WAAS… but each of these systems only provides services for users in
a specific location
Figure 4 Augmentation Systems
So with all those GNSS, RNSS and AGNSS, there will be a lot of satellites for
navigation purposes Figure 5 shows the number of satellites for navigation in the sky
Trang 22Figure 6 Spectrum of GNSS signal 1.3 Advantages of multi-GNSS
In the past few years, we only can use GPS to navigate, but right now and in the near future, we will have much more systems to use This fact gives us some benefits such as:
Availability increase: Obstacles like high buildings, trees… in urban canyons prevent a receiver from receiving signals from at least 4 satellites of a GNSS system for positioning purposes However, if the receiver can work with other GNSS systems (i.e more navigation satellites), the problem of lacking satellites
is solved This is the scenario in which the multi-GNSS environment shows its most importance
Accuracy improvement: Multi-GNSS environment is significant for not only availability but also accuracy improvements Research in (Shega, 2013) showed that GPS stand-alone gives users worldwide a mean horizontal positioning accuracy (over 95% of time) of about 30 meters, while that of the combined GPS and Galileo positioning is less than 5 meters
Trang 23 Reliability increase: Intentional and un-intentional interference sources, including jammers and spoofers, are major threats for GNSS services The redundancy provided by multi-systems and multi-frequency bands are really important to increase the robustness of the receivers, as well as the reliability of the positioning services
1.4 Challenges of multi-GNSS
Along with those advantages, multi-GNSS also brings us some challenges:
Inter-system interference: GNSSes broadcast navigation signals in overlapped frequency bands This fact could be convenient from the point of view of the receiver design, but on the other hand raises the issues of inter-system interference However, as for GPS and Galileo, the signals were designed in the ways that reduce the interference while support interoperability (European Union, 2010)
Complexity increase: new and upgraded GNSSes broadcast modern signals, which have advanced but complex structures, in multiple frequency bands These signals give much improvement in terms of accuracy, availability, and reliability to navigation services, but also challenge receivers to accommodate for such advantages In multi-GNSS solutions, the analog parts of a receiver must operate with multiple systems, multiple frequency bands at larger signal bandwidths These requirements surely increase the complexity and consequently the cost of the receiver As for the digital parts, the signal processing requires more advanced and complex algorithms to cope with multiple systems, multiple channels as well as to fully exploit the advantages of the modern signals This fact increases the computational complexity, the resource capability requirements and eventually the cost of the receiver Recently, together with the rapid improvement in computational capability of programmable processors such as CPU, GPU, DSP, and FGPA…, the software
Trang 24receiver approach, which minimizes the hardware requirements, is favourable for the multi-GNSS solution because of its flexibility, easy-to-upgrade for complex requirements
However, the important advantages of multi-GNSS environment together with the development in the electronic industry give a promising future for multi-GNSS solution
2 Software Receiver
2.1 Software receiver overview
Nowadays, most of traditional GNSS receivers are hardware receivers, in which the signal processing part of the receiver is performed by application-specific integrated circuit This allows the receiver having high computation speed but low flexibility and upgradeability
However, it is consolidated that the Software Defined Radio (SDR) technology applied
to GNSS receivers produces significant benefits for prototyping new equipment and
analysing signal quality and performance [13] Thanks to the replacement of some
hardware components with far more flexible and easier-to-test software-based signal processing techniques, SDR technology allows the implementation of positioning engines with a high flexibility level Today there is fervent activity in the design of novel architectures, each of which may be tailored to diverse environments and new systems and services (such as GLONASS, EGNOS, Galileo, BeiDou/ Compass, QZSS, commercial high precision satellite services, local and regional differential services, etc ) The advantages of a fully SDR in this highly dynamic scenario, with respect to
an equivalent fully hardware device, can be synthesized in three key points [19]:
configurability, updatability/ upgradeability and flexibility In a fully SDR receiver, all intermediate results, such as the tracking correlations, Doppler frequency, code and carrier phase, navigation message, etc…, are fully accessible, making easy to
Trang 25implement and test new advanced signal processing algorithms based on those intermediate results
Furthermore, the demand in upgrading old receivers to get a multi-GNSS solution, providing high availability, accuracy and reliability, is becoming essential Just adding new functions rather than re-designing the whole circuit in hardware, makes the SDR a fundamental tool to develop a flexible and easily reconfigurable receiver, capable to timely follow the evolution of the services and of the signals In addition, thanks to the very fast microprocessor development in computational capability, the speed gap between hardware and software becomes smaller For all these reasons, the SDR shows
to be a very promising approach Consequently, the last decade has seen a prominent
proliferation of SDR solutions in the field of GNSS receivers (see [13] and references
therein)
2.2 Software receiver architecture
Basically, GNSSes are based on trilateration technique for positioning With this technique, a receiver needs to measure the distances from its location to at least 4 known points (i.e.satellites) – 3 for its 3 coordinate and 1 for the time error between receiver and GNSS system time These distances and points form 3 spheres whose
intersection determines the receiver‟s location (Figure 7) Moreover, along with
receiver position, we can also determine receiver velocity and the accurate time
So, in order to get the receiver position, velocity and time, the GNSS receiver has to specify satellites position (center of spheres) and distance between satellites and receiver (radius or spheres) The following section will shows how the receiver does
these jobs through its signal processing chain (Figure 8)
Trang 26Figure 7 Satellite navigation principle
Figure 8 GNSS signal processing chain
2.2.1 Frontend
The radio frequency (RF) signal from the antenna goes through the front-end, which is responsible for conditioning and converting the analog RF signals to the digital IF samples The sampling frequency and IF are specified by the frontend itself, for example with MAX 2767 front-end, the sampling frequency is 16.368 MHz and IF is 4.092 MHz The general representation of a digital GNSS signal after the front-end is
shown on (1)
Trang 27(1)
where C is the carrier power (W); c[n] is the spreading code of the navigation signal; as for the CDMA signals, i is the PRN number uniquely assigned for a satellite, however for the GLONASS FDMA signal, i is common for all satellite; f IF , f d denote the
Intermediate Frequency (IF) and Doppler shift (Hz) respectively; k = 0 for the CDMA signals, but as for the GLONASS FDMA signal, k is uniquely assigned for a satellite in view; T S = 1/F S stands for the sampling period (s) (F S is the sampling frequency (Hz));
φ is the initial carrier phase (rad); θ is the initial code delay (samples); and n W is the
Additive White Gaussian Noise (AWGN) with zero mean (μ = 0) and variance σn2 (n W
~ N (0, σn2 )) It should be noted that PRN codes are used not only for the multiple access purpose, but also for the ranging purpose to measure the distance between the
receiver and the satellites in view Table 1 also summarizes the characteristics of the
PRN codes of each system
Table 1 Characteristics of GNSS civil signals Signals Carrier (MHz) PRN code Code Length Code rate Data rate
The main task of the signal synchronization block is to create a local replica of r[n],
referred to as , for code and carrier wipe-off This block is usually divided into signal acquisition and tracking processes
a Acquisition
In fact, the acquisition is a search process; which generates tentative local replica
signals made of (i or k, , ), and tries to find the one closest to the received signal For each tentative replica, the estimation is performed via calculating the correlation
r[n] 2Cc i [n]cos(2( f IF0.5625k f d )nT S )n W [n]
r[n]
f d
Trang 28also referred as the Cross Ambiguity Function between the received signal and the
local replica over a dwell time T, which is often equivalent to one full PRN code length
(see Table 1) The correlation value is compared with a pre-determined threshold to
decide which hypothesis between H0 (unmatched), H1 (matched) is true [5] The
uncertainty of the three parameters creates a 3-D search space for each signal as
reported in Table 2 Note that: in Table 2, for code phase search, the uncertainty is one
full code, with the conventional step size of 0.5 chip (0.25 chip for E1 due to BOC(1,1)
modulation of the signal [6]; and for the Doppler search, the uncertainty is for a general
moving receiver, with the conventional step size being: ̅
[12]
Table 2 Acquisition parameters of each signal [22]
These parameters define the size of the search-space (Nc x Nf), where Nc is the number
of columns (i.e code delays to be tested) and Nf is the number of rows (i.e Doppler
shifts to be tested) Figure 9 shows the acquisition‟s search-space
The acquisition process correlates the incoming signal (r[n]) with the tentative signal
to measure the similarity between the two signals Basically, there are two acquisition approaches as follows:
Serial search: the acquisition process tests one cell (i.e.a tentative signal) at a time
Parallel search using Fast Fourier Transform (FFT) method: the acquisition process tests multiple cells at a time:
o Parallels in code delay dimension: a whole row of the search-space are tested at once
r[n]
Trang 29o Parallels in Doppler shift dimension: a whole column of the search-space are tested at once
Figure 9 Acquisition’s search space
In fact, parallel acquisition approach can be done in both dimensions, i.e code delay and Doppler shift However, the one performed in the Doppler shift dimension is less
efficient than the other [20] So in this thesis, only the parallel in code delay dimension
is used
b Tracking
Except the satellite id, the signal parameters estimated by the acquisition process are not accurate enough to be used for positioning and navigation Moreover, these parameters change over time due to the Doppler effects on code and carrier Therefore,
to completely remove the code and carrier from the received signal, the synchronization block needs another process, so-called tracking, in order to produce fine estimates of the signal parameters as well as to dynamically follow their variations A standard tracking process consists of two concatenated loops, which are code tracking and carrier tracking The two loops are strictly interrelated, and work in a
Trang 30concatenated way [12] Basic GNSS receiver tracking loop diagram is shown on Figure 10
Figure 10 Basic GNSS receiver tracking loop diagram
The chosen code tracking loop is a non-coherent “normalized early minute late power” Delay Lock Loop (DLL), which is able to track the code with the navigation data bit present and the carrier loop is not necessarily in lock The input signal is split into 3 paths and correlated with three versions, an early and a late of the local PRN code and also the local PRN code – the prompt version The two versions – early and late are equally spaced, 0.5 chip for L1-C/A, B1, L1-OF, and 0.25 chip for E1 (due to
BOC(1,1) modulation [6]), about the prompt PRN code Based on the early and late
correlation values, the “normalized early minute late power” discrimination function
(Equation (2)) [3] is formed to tune the code phase estimate perfectly matching with the received one Figure 11 shows code tracking block diagram
Loop discriminator
NCO
Trang 31Figure 11 Code tracking loop block diagram
Figure 12 Carrier tracking loop block diagram
The two first multiplications wipe off the carrier and the PRN code of the input signal
To wipe off the PRN code, the IP output from the early–late code tracking loop described above is used The loop discriminator block is used to find the phase error on the local carrier wave replica The output of the discriminator, which is the phase error (or a function of the phase error), is then filtered and used as a feedback to the
Trang 32numerically controlled oscillator (NCO), which adjusts the frequency of the local carrier wave In this way the local carrier wave could be an almost precise replica of the input signal carrier wave The discrimination function used in this thesis is the
phase error (equation (3))
Each GNSS system has its navigation message structure The characteristic of
navigation message of GNSS is shown on Table 3
Table 3 GNSS navigation message characteristic
L1
Galileo E1
Coordinate
a Frame synchronization
Trang 33The navigation message of each system consist of superframes, each superframe is divided into frames, and each frame is made from subframes (Galileo E1 decentralize
the navigation message into frame>subframe>page>part [6]) The first step of the
demodulation process is determining the start of subframe a.k.a frame synchronization Each subframe (part with Galileo E1) has a preamble which is a specific sequence of bit Actually, frame synchronization is figure out this sequence of bit in the input navigation bit stream Because of the Costas loop‟s ability to track the signal with a
180o phase shift, this preamble can occur in an inverted version Naturally, these two bit patterns can occur anywhere in the received data so an additional check must be carried out to authenticate the preamble The authentication procedure checks if the same preamble is repeated every period of time corresponding to the time between transmissions of two consecutive subframes
The preamble search is implemented through a correlation The first input to the correlation function is the incoming sequence of navigation data bits This sequence is represented with−1‟s and 1‟s The second input to the correlation function is the preamble bits also represented with −1‟s and 1‟s The location of preamble in the bit stream is the location that the correlation result reaches maximum value (equal to the length of preamble)
b Navigation message decode
After the location of preamble is determined, based on the structure of subframe of each GNSS, the receiver can decode the subframe to recover the navigation messages Note that some signals are also applied encoding scheme such as meander (GLONASS), FEC (Galileo), BCH (Beidou)… Then to decode the subframe, the receiver must decode those encoding schemes first The decoding algorithm can be found on each system ICD
The navigation message includes (i) ephemeris data, used to calculate the position of each satellite in orbit, and (ii) almanac data, providing information about the time and
Trang 34status of the entire satellite constellation The content of navigation messages is also validated in this module based on the error detection and correction mechanism of the
signals, see Table 3
2.2.4 Satellite position computation
From the ephemeris information of the navigation message, the receiver can calculate the satellite position GPS, Galileo and Beidou‟s ephemeris consist of Keppler orbit parameters, and then the receiver can compute the satellite position based on those parameters GLONASS transmits satellite ECEF position (with the update period of 15 minutes) and some parameters to calculate the differences between the satellite position
at the current time and the satellite position at epoch
Each satellite in GNSS systems has a specific orbit This orbit and satellite position in
the orbit can be determined through 6 Kepler parameters as in Figure 13
Figure 13 Kepler parameters and satellite orbit
Trang 35 The others symbols are Kepler parameters, see Table 4
Table 4 Kepler parameters
Let consider a coordinate system in the orbital plane with origin at the Earth‟s center C The ξ-axis points to the perigee and the η-axis toward the descending node The ζ-axis
is perpendicular to the orbit plane as in Figure 14
Figure 14 The elliptic orbit with(ξ, η)coordinates where E is the eccentric anomaly, b is the semi-minor axis From Figure 14, we can
easily calculate:
( ) (6)
√ (7) From equation (6) and (7):
Trang 36√
On the other hand, according to the Kepler‟s equation have:
where M is mean anomaly From equation (8) and (9), we have the relationship
between M, E and f The value of M and 5 others Kepler parameters (except f, see
Table 4) are provided in ephemeris (along with some other adjustment parameter) The
algorithm used to calculate satellite ECEF position from these parameters can be found
in [16]
Each GNSS also uses its own ECEF coordinate system (see Table 3); and there are
some minor differences between them (origin, axis, some constants …) However, these differences are quite small and our current works only focus on the standard positioning solution (with meter accuracy) So we can bypass this error But, if we aim for a high precision solution, we will need a coordinate synchronization scheme
2.2.5 Pseudorange calculation
GNSS systems use electromagnetic waves (which travel with the speed of light) to transmit signal to receiver So, we can calculate distance between receiver and satellites by multiply transmit time with speed of light However, the accurate transmit time is not easy to get because of the differences between satellite‟s and receiver‟s
Trang 37is the same for all satellites of a GNSS system and will be considered as a variable when the receiver calculates receiver position
Figure 15 Time differences between system time, satellite time and receiver time
On the other hand, it is known that the travel time from the satellites of each GNSS to the Earth is within a defined range based on the satellite orbit altitude (e.g 65÷83 ms for GPS) This is used to set the initial pseudorange The satellite closest to the Earth is the satellite with the earliest arriving subframe, then the travel time of this satellite will
be set into a predefined value Travel time of the remaining satellites is then computed
with respect to this channel [18]
Finally, from the travel time, pseudorange can be computed as:
Trang 38 : Other error sources such as multipath, receiver hardware error… These errors also cannot be calculalted
From the analysis above, we also need to note that: in the multi-GNSS solution, each system needs at least 2 satellites because pseudorange is calculated from the differences between travel times of satellites
2.2.6 PVT computation
In this section, we will bypass the error sources , , in equation (13) In fact,
ionospheric and tropospheric error will be considered to increase accuracy
With τ is the accurate travel time, cτ is the real distance from satellite to receiver or the
length of the vector connecting the satellite position and the receiver Revert the sign of
in equation (12) we have:
, √( , ) ( , ) ( , ) (14)
where:
, : pseudorange of satellite j from system k
, , , , , : coordinate of satellite j from system k
, , : receiver‟s coordinate
: clock error between receiver and system k
, in (14) can be calculated with a receiver estimate position:
̂ , √( , ̂ ) ( , ̂ ) ( , ̂ ) ̂ (15)
where:
̂ , : Approximate pseudorange
̂ : Estimate clock error
̂ , ̂ , ̂ : Estimate receiver position
According to the Taylor expansion, we have first-order approximation:
, , ̂ , , , , (16)
where
Trang 39 , , , : Differences between true values and estimate values
, , , , , can be determined as:
With ̂ , is the distance between satellite j and receiver estimate position Actually, we
can use pseudorange , instead of ̂ , From (16), with m systems, each system has
n m satellites (with total N satellite), we will have a system of equations for each equation like (12) The matrix form of the equations is:
] ( )
[
]( )
We need to solve the equation system (18) to calculate Generally, A is not a square matrix, then (18) cannot be solved by a common method (multiply by the inversion matrix of A), and have to be solved by least mean square method as in equation (19) [2]
Trang 40The condition to implement this solution are the number of variables lower than the number of equations, i.e number of rows of A must be greater than or equal to the number of columns of A
Besides, from matrix A, we can also compute matrix G which characterizes the geometric error of the position as follows:
The DOP values will be used to evaluate the results of positioning
So, through this section, we have an overview of how the receiver performs the positioning since the data is obtained from the antenna till the receiver position is calculated