검색 상세

실시간 소프트웨어 GPS 수신기의 설계와 최적화에 관한 연구

A Study on The Design and Optimization of a Real-Time Software GPS Receiver

초록/요약

본 논문에서는 범용 PC기반으로 동작하는 실시간 소프트웨어 GPS 수신기를 설계, 구현하고, 실시간 동작을 위한 소프트웨어 최적화설계와 성능분석결과를 제시한다. 구현된 GPS 수신기는 일반적인 L1 C/A 코드 수신기의 형태를 취한다. 수신기의 모든 기능을 소프트웨어모듈로 설계하여 유연한 수신기구조를 제공함으로써, 소프트웨어모듈의 교체만으로 다양한 신호처리 알고리듬의 적용과 성능개선이 가능하다. 중간주파수신호를 입력받기 위하여 RF-front-end와 데이터 획득장치를 하드웨어로 설계하고, 이를 제어하는 소프트웨어모듈을 구현하였다. 고속의 신호획득을 위하여 FFT-IFFT기반 신호획득모듈과 정밀 신호추적을 위한 FLL-PLL 결합 추적루프 및 반송파 도움방식의 코드추적루프를 소프트웨어로 설계하였다. 루프필터는 신호 동특성과 잡음대역폭에 대한 유효 추적오차특성을 이용하여 필터계수를 결정, 완성하였다. 구현된 신호동기모듈은 항법데이터의 비트 및 프레임동기를 수행하며, 항법데이터의 추출 및 원시측정치 생성과 연계되도록 구성하였다. 또한 최소제곱기법의 항법필터와 의사거리 보정, 그리고 위성위치 추산 알고리듬을 포함하는 항법 소프트웨어모듈을 설계하여 하위모듈의 제어와 항법해 산출이 이루어지도록 구현하였다. 범용성과 신호감도성능을 개선하고자, 바이트형태의 중간주파수신호를 처리하였으며, 공유메모리와 포인터를 기반으로 하는 효율적인 데이터 처리구조와, SSE2™를 이용한 소프트웨어 연산최적화, 그리고 OpenMP™를 적용한 병렬처리구조를 완성하여 실시간 동작특성을 확보하였다. 실제 GPS 신호환경에서 수행한 실시간 정적 측위실험을 통해 구현된 소프트웨어 GPS 수신기의 성능을 확인하였다.

more

초록/요약

This paper presents a design of a real-time software GPS receiver which runs on a PC and its realization through software modules to operate in real-time. The designed software GPS receiver is the L1-C/A code receiver. All the receiver components except the RF-front-end are modeled as software modules and implemented on the PC processor to provide flexibility and efficiency in modifying them for various signal processing algorithms. The RF-front-end and DAQ for receiving and storing digital IF data are implemented in hardware modules, which are controlled by the designed software program. A FFT-IFFT based acquisition software module is designed to provide a high-speed signal acquisition. FLL assisted PLL and carrier-aided DLL are used to track the fine carrier phase and the fine code phase, respectively. The filter parameters for each loop filter are determined to satisfy the desired tracking performance in terms of the signal dynamics and noise bandwidth. The bit and frame synchronization modules are used to find the bit and frame data from the received signal and to extract the navigation messages and generate raw measurements associated with the visible satellites. The navigation module includes navigational components which include the least-squares navigation filter and the pseudo-range correction algorithm. The byte-type IF data is used to fit in for general PC data processing and to improve the signal sensitivity. In order to reduce the processing time, an Open MP™ and SSE2™ techniques are employed in the mixer and integrator which require the most computational load, and a shared memory structure is used with a dynamic data control. All software modules are operated in sequence and are synchronized with pre-defined time scheduling. The performance of the designed software GPS receiver is evaluated by running it in real-time using the real GPS signals.

more

목차

목 차 i
그 림 목 차 iv
표 목 차 vii

제 1 장 서 론 1
1.1 연구배경 1
1.2 연구내용 및 범위 3

제 2 장 GPS 신호와 수신기 개요 6
2.1 GPS 항법시스템 7
2.2 GPS 위성신호 구조 10
2.2.1 PRN 코드 13
2.2.2 GPS 항법데이터 14
2.3 하드웨어 및 소프트웨어 GPS 수신기의 구조 15
2.4 GPS 신호처리 알고리듬 20
2.4.1 GPS 수신신호와 하향변환 20
2.4.2 GPS 신호획득 23
2.4.3 GPS 신호추적 24
2.4.3.1 반송파 추적루프 27
2.4.3.2 코드 추적루프 30

제 3 장 소프트웨어 GPS 수신기 설계 32
3.1 RF-Front-End 모듈과 데이터획득장치 33
3.2 FFT-IFFT기반 신호획득 소프트웨어모듈 41
3.3 신호추적 소프트웨어모듈 46
3.3.1 I/Q 신호모델 47
3.3.2 루프필터 설계 48
3.3.2.1 2차 주파수추적 루프필터 49
3.3.2.2 3차 위상추적 루프필터 51
3.3.2.3 FLL-PLL 결합 루프필터 52
3.3.2.4 반송파 도움방식 1차 코드추적 루프필터 57
3.4 중간주파수신호 제어 소프트웨어모듈 60
3.5 신호동기 소프트웨어모듈 63
3.5.1 비트동기 63
3.5.2 프레임동기 65
3.6 의사거리 측정치 생성 소프트웨어모듈 66
3.7 항법 소프트웨어모듈 69
3.7.1 의사거리보정 소프트웨어모듈 69
3.7.1.1 위성 시계오차 보정 71
3.7.1.2 전리층 지연오차 보정 72
3.7.1.3 대류층 지연오차 보정 72
3.7.1.4 지구 자전에 의한 회전오차 보정 74
3.7.2 최소제곱기법기반 항법 소프트웨어모듈 76
3.8 신호처리 소프트웨어모듈 성능분석 79

제 4 장 소프트웨어 GPS 수신기의 실시간 설계 및 성능분석 93
4.1 실시간 소프트웨어 GPS 수신기 설계 94
4.2 실시간 동작성 확보를 위한 코드최적화 98
4.2.1 중간주파수신호 제어모듈의 재설계 100
4.2.2 SSE2기반 코드최적화 103
4.2.3 OpenMP기반 코드최적화 106
4.3 실시간 소프트웨어 GPS 수신기 성능분석 108

결 론 115
참 고 문 헌 119

more

목차

그림 2-1. GPS 측위원리 9
그림 2-2. GPS 위성신호 생성 12
그림 2-3. GPS 위성신호의 전력선도 12
그림 2-4. C/A 코드 생성기 구조 14
그림 2-5. 항법 메세지 구조와 시각관계 16
그림 2-6. 하드웨어기반 GPS 수신기 구조 18
그림 2-7. 소프트웨어기반 GPS 수신기 구조 18
그림 2-8. 3 단계 하향변환 구조 21
그림 2-9. 신호획득을 위한 2차원 검색공간 24
그림 2-10. 추적루프 기본구조 25
그림 2-11. 일반적인 반송파 추적루프 28
그림 2-12. 코드추적루프 구조 31
그림 3-1. GP2015의 하향변환구조 34
그림 3-2. 표본클락 신호와 SIGN 신호 36
그림 3-3. 표본클락 신호와 MAG 신호 36
그림 3-4. 데이터획득장치용 제어프로그램 (중간주파수신호 저장용 프로그램) 39
그림 3-5. 데이터획득장치 40
그림 3-6. 데이터획득장치와 GPS RF-FRONT-END 40
그림 3-7. 기저대역의 FFT-IFFT 신호획득기법 45
그림 3-8. 중간주파수대역의 FFT-IFFT 신호획득기법 45
그림 3-9. 2차 루프필터기반 주파수 추적루프 51
그림 3-10. 3차 루프필터기반 위상 추적루프 53
그림 3-11. FLL-PLL 결합 반송파 추적루프 55
그림 3-12. 3차 PLL 계단응답 56
그림 3-13. 2차 FLL 계단응답 56
그림 3-14. 1차 루프필터기반 반송파 도움방식 코드추적루프 59
그림 3-15. 1차 DLL 계단응답 59
그림 3-16. 데이터블록의 시간 상관관계와 중간주파수신호 데이터 제어과정 62
그림 3-17. 비트동기 64
그림 3-18. 프레임동기 64
그림 3-19. TLM과 HOW 워드 구조 66
그림 3-20. 발신시각과 수신시각의 관계 68
그림 3-21. 의사거리 보정 흐름도 70
그림 3-22. 전리층 보정 흐름도 73
그림 3-23. 지구자전에 의한 회전위치 오차 75
그림 3-24. 비선형 최소제곱기법기반 항법 소프트웨어모듈 흐름도 78
그림 3-25. 4번위성에 대한 신호획득결과 82
그림 3-26. 7번위성에 대한 신호획득결과 82
그림 3-27. 11번위성에 대한 신호획득결과 82
그림 3-28. 17번위성에 대한 신호획득결과 82
그림 3-29. 20번위성에 대한 신호획득결과 83
그림 3-30. 24번위성에 대한 신호획득결과 83
그림 3-31. 28번위성에 대한 신호획득결과 83
그림 3-32. 4번 위성에 대한 신호추적결과 84
그림 3-33. 11번 위성에 대한 신호추적결과 85
그림 3-34. 17번 위성에 대한 신호추적결과 86
그림 3-35. 20번 위성에 대한 신호추적결과 87
그림 3-36. 24번 위성에 대한 신호추적결과 88
그림 3-37. 28번 위성에 대한 신호추적결과 89
그림 3-38. 4번 위성에 대한 신호동기결과 90
그림 3-39. 11번 위성에 대한 신호동기결과 90
그림 3-40. 17번 위성에 대한 신호동기결과 91
그림 3-41. 20번 위성에 대한 신호동기결과 91
그림 3-42. 24번 위성에 대한 신호동기결과 92
그림 3-43. 28번 위성에 대한 신호동기결과 92
그림 4-1. 실시간 소프트웨어 GPS 수신기 구조 95
그림 4-2. 소프트웨어 GPS 수신기 프로그램 흐름도 97
그림 4-3. 각 소프트웨어모듈의 처리시간 비교 99
그림 4-4. 중간주파수신호 데이터 버퍼링 및 큐잉부와 3MS 데이터블록 생성부 102
그림 4-5. 3MS 공유 데이터블록과 2MS/1MS 데이터블록 포인터의 관계 102
그림 4-6. SIMD 실행모델 104
그림 4-7. SIMD기반 소프트웨어 설계방식 104
그림 4-8. FORK-JOIN 실행모델 107
그림 4-9. 실험환경 110
그림 4-10. EAST-NORTH 평면 측위결과 111
그림 4-11. ENU 좌표계의 각축에 대한 측위오차 111
그림 4-12. 1초 데이터에 대한 처리시간 결과 112
그림 4-13. 코드최적화에 따른 처리시간 비교 112
그림 4-14. 중간주파수신호 재설계를 적용한 소프트웨어 GPS 수신기 동작결과 113
그림 4-15. 코드최적화된 실시간 소프트웨어 GPS 수신기 동작결과 114

more

목차

표 2-1. 하드웨어기반 GPS 수신기와 소프트웨어기반 GPS 수신기의 특성비교 19
표 2-2. 루프필터와 필터계수 27
표 2-3. FLL 변별기 종류 29
표 2-4. PLL 변별기 종류 29
표 2-5. DLL 변별기 종류 31
표 3-1. GP2015 RFIC 특성 34
표 3-2. SIGN/MAG 신호조합에 따른 A/D 변환 관계 35
표 3-3. 선적분시간과 JERK 신호 동특성에 대한 잡음대역폭 임계치 50
표 3-4. 선적분시간과 잡음대역폭에 대한 반송파 신호대잡음비 임계치 50
표 3-5. JERK 신호 동특성에 따른 잡음대역폭과 반송파 신호대잡음비의 임계치 53
표 3-6. 선적분시간과 잡음대역폭에 대한 반송파 신호대잡음비 임계치 58
표 3-7. 중간주파수신호 데이터블록 제어과정 62
표 3-8. 전달지연시간 보정 68
표 3-9. 신호획득 결과 81
표 4-1. INTRINSIC 함수 사용예 105
표 4-2. OPENMP 지시어를 사용한 동작코드 예 107
표 4-3. 구현시스템 환경 110

more