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