1Department of Geoinformatic Engineering, Inha University, Incheon 22212, Korea
2Smart Spatial Information Division, National Geographic Information Institute, Suwon 16517, Korea
3PP-Solution Inc., Seoul 08504, Korea
†Corresponding Author: Kwan-Dong Park, E-mail: kdpark@inha.ac.kr
Citation: Kim, H.-H., Ha, J., Kim, Y.-G., Rim, H.-J., & Park, K.-D. 2025, Development of GPS Data Pre-processing Algorithm Using Dual-frequency Observations, Journal of Positioning, Navigation, and Timing, 14, 157-165.
Journal of Positioning, Navigation, and Timing (J Position Navig Timing) 2025 June, Volume 14, Issue 2, pages 157-165. https://doi.org/10.11003/JPNT.2025.14.2.157
Received on May 27, 2025, Revised on Jun 05, 2025, Accepted on Jun 10, 2025, Published on Jun 15, 2025.
Copyright © The Institute of Positioning, Navigation, and Timing
License: Creative Commons Attribution Non-Commercial License (https://creativecommons.org/licenses/by-nc/4.0/) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.
Inha University and PP-Solution Inc. have been developing the Kinematic Position and Precision Orbit Provider (KPOP) as domestic software for Precise Orbit Determination (POD) for the Global Navigation Satellite System (GNSS) since 2023. As of May 2025, the development of the first version of KPOP is in the POD performance verification stage and this version is equipped with GPS-only POD technology. In general, a GNSS data pre-processing technique is required to improve POD performance. KPOP is applied with detection and repair technology for clock jump and cycle slip. In this paper, we introduce the clock jump and cycle slip detection and repair techniques applied to KPOP and analyze the results of the developed preprocessing algorithms. For the results analysis, GNSS data generated by Inha University and IGS permanent observatories were used, and the results of quality checking programs developed by overseas organizations such as the G-Nut/Anubis and the RINGO were compared. From the results, the detection and repair success ratio of clock jump and cycle slip was in a range of 86-92%, and the data processing time was two seconds for 24-hour observations with a 30-second epoch. These results show that the performance of the KPOP pre-processing algorithm is similar to that of RINGO and G-Nut/Anubis.
GNSS, POD, KPOP, pre-processing algorithm
인하대학교에서는 ㈜피피솔과 함께 2023년부터 Global Navigation Satellite System (GNSS) 위성에 대한 Precise Orbit Determination (POD) 국산화 프로그램 Kinematic Position and Precision Orbit Provider (KPOP)을 개발하고 있다 (Ha et al. 2023, Kim et al. 2023). 위성의 정밀한 위치를 산출하는 POD 기술은 GNSS 뿐만 아니라 저궤도 위성, 정지궤도 위성의 정밀궤도 결정과 예측 그리고 다양한 지구물리학적 응용분야에 활용된다. POD 프로그램 개발을 위해서는 관측자료 관리, 수치 적분기, 시간계 및 좌표계 정의, 추정 필터, 운동 모델, 관측 모델, 시뮬레이션 및 성능 검증에 이르는 다양한 단계를 거쳐야 한다 (Rim et al. 2013). Ha et al. (2023)은 대표적인 International GNSS Services (IGS) Analysis Center (AC)인 Center for Orbit Determination in Europe (CODE), Jet Propulsion Laboratory (JPL), Geo Forschungs Zentrum Potsdam (GFZ), Japan Aerospace Exploration Agency (JAXA), 그리고 Wuhan University (WHU)의 GNSS 자료처리 전략을 조사하였다. Ha et al. (2023)에 따르면 IGS AC의 자료처리 전략은 크게 기준계, 궤도 모델, 그리고 관측 모델로 구성되며 관측 모델의 첫 단계에서 전처리 과정을 채택하고 있다. IGS AC의 GNSS 관측자료 전처리 과정은 정밀 자료 처리에 사용하는 SW에 따라 관측자료의 차분 유무는 다르나 공통적으로 이상치(outlier) 제거, 시계 점프(clock jump) 및 사이클 슬립(cycle slip)에 대한 검출과 보정 과정을 수행하고 있다.
현재까지 개발된 전처리 알고리즘은 TurboEdit (Blewitt 1990), ClockPrep (Freymueller 2003), Translation, Editing, Quality Checking (TEQC, Estey & Meertens 1999), GFZRNX (Nischan 2016), G-Nut/Anubis (Václavovic & Douša 2016), GDP (Chen et al. 2020), 그리고 RINEX pre-processing tool using GO (RINGO, Kawamoto et al. 2023) 등이 있다. 이 중 TEQC는 Multi-GNSS 관측자료에 대해 전처리 기능을 제공하고, 관측자료에 대한 품질점검 뿐만 아니라 편집 기능을 제공하며 가장 널리 사용되는 프로그램이었다. 그러나 2019년 이후 더 이상 버전 갱신을 하고 있지 않아 RINEX3.x부터는 자료처리가 불가능한 실정이다. Clockprep은 GPS 위상 관측치 및 의사거리 관측치에 포함된 시계 점프를 수정하는 프로그램이며, RINEX 3.x 버전을 지원하지 않는다. GFZRNX는 모든 RINEX 버전을 지원하지만 관측자료 전처리보다 RINEX 편집을 목적으로 한다. G-Nut/Anubis는 유료버전과 무료버전으로 나누어 서비스 중이며, RINEX 2.x와 3.0x 품질 검사가 가능하다. 가장 최근에 개발된 RINGO는 일본 Geospatial Information Authority of Japan (GSI)에서 개발된 프로그램으로 Multi-GNSS 관측자료에 대한 편집, 품질검사, 시계 점프 보정 기능을 제공하고 있다. TurboEdit는 위상 관측치와 의사거리 관측치의 신호조합에 의해 사이클 슬립, 시계 점프를 검출하고 보정하는 기능을 제공하며, IGS AC인 JPL, GFZ, WHU에서도 전처리 프로그램으로 TurboEdit를 이용하고 있다.
사이클슬립과 시계 점프는 관측치 조합을 통해 검출할 수 있다 (Blewitt 1990, Estey & Meertens 1999). TurboEdit은 HatchMelbourne-Wübbena (HMW)와 Geometry-free (GF) 조합을 적용하고 있으며, TEQC와 RINGO는 GF에 주파수를 조합한 Ionospheric Delay (IOD) 변화율을 적용하고 있다. G-Nut/ Anubis는 Wide Lane (WL), 그리고 Narrow Lane (NL) 조합을 적용하고 있다. 이와 같이 GNSS 관측자료 전처리를 위해 다양한 신호 조합이 연구되고 있다. Karaim et al. (2014)는 의사거리 관측치와 위상 관측치의 조합 방법에 따른 시계 점프 및 사이클슬립 검출 특성을 분석하였으며, L1 및 L2에서 동시 슬립이 발생하면 주파수 조합만으로는 검출을 완전히 놓칠 수 있다는 한계점을 분석하였다. Guo & Zhang (2014), Deo & El-Mowafy (2015) 그리고 Xu et al. (2022)는 시계 점프가 정밀위치 결정 시 미지정수 초기화에 영향을 준다는 점을 다양한 분석을 통해 확인하였으며, 이를 극복하기 위해 시계오차 유형을 분류하고 및 유형에 따른 검출 알고리즘을 제시하였다. 특히 Deo & El-Mowafy (2015)은 Karaim et al. (2014)이 제기한 주파수 동시 슬립 문제를 극복하기 위해 시계 예측 모델을 제시하였으며, 시계 유형별 실험을 통해 동시 슬립에 대한 검출 성능을 향상시켰다. Zhao et al (2020)은 단일주파수 수신기를 이용한 사이클슬립 검출 및 보정 알고리즘을 제시하였으며, GF 조합을 응용한 GPS와 BDS 신호조합 기반의 사이클슬립 검출 시나리오를 제시하였다. Ban et al. (2024)는 낮은 고도에 위치한 위성과 이온층 활동 상황에 따른 사이클슬립 검출 성능 저하 문제를 해결하기 위해 Extra-Wide Lane (EWL), WL, 그리고 NL으로 구성된 검출 조합을 제시하였으며, Fu et al. (2023)과 Wang & Huang (2024)는 GPS와 BDS의 삼중주파수 기반의 사이클슬립 검출 및 보정 알고리즘을 제시하였다.
2025년 5월 현재 KPOP은 1차 버전에 대한 POD 성능검증 단계에 진입하였으며, 동시에 실시간 측위를 위한 보정정보 생성 기술, Multi-GNSS 자료처리 기술 개발을 진행하고 있다. KPOP 1차 버전은 POD를 위한 각 단계별 핵심 알고리즘을 구현하고 통합/검증하는데 중점을 두고 있으며, 이에 따라 가장 기본 형태인 이중주파수 기반의 GPS-only POD 기술이 탑재되었다 (Ha et al. 2023). 이 논문에서는 KPOP 1차 버전에 탑재된 전처리 알고리즘을 소개하고 그 성능을 분석한다. 개발된 전처리 알고리즘은 이중주파수 기반의 GPS-only 관측자료를 대상으로 하며, 사이클 슬립과 시계 점프에 대한 검출을 수행한다. 2장에서는 시계 점프와 사이클 슬립 검출 방법을 기술하며, 3장에서는 알고리즘 개발 방법, 4장에서는 성능 분석 결과를 소개한다.
시계 점프는 수신기 내부 시간시스템과 GPS 시간 간 동기화 과정에서 발생하며 수신기와 GPS 시간 차이가 허용 오차 범위를 초과할 때 1 ms (약 300 km)의 시계 오프셋을 추가함으로써 나타난다. 이론적으로 시계 점프는 정밀 위치결정에 영향을 미치지 않으며 수신기 시계 바이어스 혹은 미지정수 추정 단계에서 효과를 흡수하는 것으로 알려져 있다 (Krasner 1997). 그러나 시계 점프를 사전에 검출하고 보정하지 않으면 경우에 따라 사이클 슬립으로 오인되어 미지정수를 초기화 시키며, 이로 인해 추정필터의 수렴 시간을 증가시킬 수 있다 (Guo & Zhang 2014). 이러한 현상은 저렴한 주파수 발전기를 사용하는 저가형 수신기뿐만 아니라 구형 수신기를 사용하는, 현존하는 IGS 관측소에서도 여전히 나타나고 있다 (Xu et al. 2022).
시계 점프는 수신기 기종별로 각기 다른 특성을 보이지만 같은 기종이어도 모두 일치된 경향을 보이지 않고, 더구나 하나의 수신기에서 생성된 관측자료에서도 위상 관측치와 의사거리 관측치에서 각기 다른 경향을 보이기 때문에 관측치의 변화 경향을 잘 파악하고 이에 적합한 알고리즘을 구현해야 한다 (Kawamoto et al. 2023). 선행 연구 (Guo & Zhang 2014, Deo & El-Mowafy 2015, Xu et al. 2022)에 따르면 의사거리 관측치와 위상 관측치가 서로 다른 경향의 점프를 보이는지, 어느 한쪽 관측치에서만 점프가 나타나는지, 그리고 의사거리 관측치와 위상 관측치가 서로 같은 경향의 점프가 나타나는지에 따라 검출 방법을 달리한다. 만약 의사거리 관측치와 위상 관측치가 서로 다른 경향의 점프를 보이거나 어느 한 관측치에서만 점프가 나타나는 경우 의사거리 관측치와 위상 관측치 조합에 의해 시계 점프를 검출한다. 그러나 의사거리 관측치와 위상 관측치가 서로 같은 경향의 점프를 보이는 경우 관측치 조합만으로는 검출이 어려우며, 이때는 시계예측 모델을 적용하여 시계 점프를 검출한다. Eq. (1)에 관측치 조합을 이용한 시계 점프 검출 방법을 나타내었다.
$$\begin{align}
\Delta P(i) &= P(i) – P(i – 1) \notag \\
\Delta \Phi(i) &= \Phi(i) – \Phi(i – 1) \notag \\
S^j(i) &= \Delta P^j(i) – \Delta \Phi^j(i)
\end{align}$$
여기서, P는 의사거리 관측치, Φ은 위상 관측치, i와 j는각각 epoch과 위성, S는 의사거리 관측치와 위상 관측치의 조합이다. 시계 점프와 사이클 슬립이 발생하지 않는다면 S는 매끄럽게 변한다. 그러나 S가 급격하게 변한다면 이는 시계 점프일 가능성이 있으며, 이때는 미리 정의된 임계값과 비교하여 시계 점프를 판단하게 된다. 임계값 k는 Eq. (2)와 같다.
$$k = 10^{-3}c – 3\sigma$$
여기서 c는 빛의 속도이며, σ는 일반적으로 3~5 m로 설정한다 (Guo & Zhang 2014).
앞서 언급한 바와 같이 관측치 조합에 의한 시계 점프 검출 방법은 위상 관측치와 의사거리 관측치가 서로 다른 경향으로 점프하거나 어느 한쪽 관측치에서만 점프가 나타날 때 유용이다. 그러나 의사거리 관측치와 위상 관측치가 동일한 epoch에서 동일한 경향으로 점프가 발생한다면 관측치 조합만으로는 시계 점프를 검출하기 어려우며, 이 경우에는 시계예측 모델을 적용한다. KPOP에서는 시계 점프 검출을 위해 최소 7개 이상 epoch에 대한 관측치를 누적하여 의사거리 관측치와 위상 관측치의 선형조합을 생성하였으며 (Eq. (3)), 3차 스플라인 외삽을 통해 특정 시점에서의 예측치를 생성하였다. 생성된 예측치는 실제 관측치와 비교하며, 이를 통해 그 차이가 경계값을 벗어나면 시계 점프로 판단하게 된다 (Eq. (4)).
$$\Phi/P(i) = (\Phi(i) + P(i)) / 2$$
$$\left| \Phi/P(i) – \widehat{\Phi/P(l)} \right| > K$$
여기서 $\Phi/P(i)$는 의사거리 관측치와 위상 관측치 선형조합, $\widehat{\Phi/P(l)}$는 스플라인 외삽을 통한 예측치이며, K는 경계값으로서 15~20 m 범위에서 설정한다 (Deo & El-Mowafy 2015).
사이클 슬립은 수신기의 주변 관측환경에 의한 신호 단절, 신호 잡음, 신호 강도 저하 등 다양한 원인에 의해 나타나며, 사이클 슬립이 발생하면 반송파 위상 관측치가 정수배 만큼 점프하게 된다. 일반적으로 시계 점프는 특정 시점에 관측된 대부분의 위성(예: 70% 이상)에서 동일한 점프 경향이 나타나지만, 사이클 슬립은 위성별, 주파수별 각기 다른 시점, 특정 주파수 혹은 특정 위성에서만 발생하기도 한다 (Deo & El-Mowafy 2015). 사이클 슬립을 검출하는 방법은 주파수 조합을 이용한 HMW 조합과 GF 조합이 대표적이며 (Blewitt 1990), 이를 응용한 삼중 주파수기반 EWL, WL, 그리고 NL 조합이 있다 (Zhao et al. 2015, Ban et al. 2024). KPOP 1차 버전은 이중주파수 기반의 GPS-only 기능만을 탑재하고 있으며, 본 논문에서는 HMW, GF 조합을 이용한 방법에 대해 기술한다. Eqs. (5)와 (6)에 HMW 조합, GF 조합을 각각 나타내었다.
$$HMW = (L_w – P_n) / \lambda_w$$
$$GF = \Delta (L_1 – L_2)$$
여기서 Lw는 위상 관측치 조합으로 Lw = (f1 L1-f2 L2)/(f1 -f2)이며, Pn은 의사거리 관측치 조합으로 Pn = (f1 P1 + f2 P2)/(f1 + f2), 그리고 λw = c/(f1 – f2)이다 (Guo & Zhang 2014, Zhang et al. 2017).
KPOP 전처리 알고리즘에는 시계 점프와 사이클 슬립에 대한 검출 알고리즘을 탑재하고 있으며, Fig. 1은 KPOP의 전처리 알고리즘 구성도이다. KPOP 전처리 알고리즘은 관측자료가 입력되면 편집 과정을 통해 GPS 이중주파수 관측치만 추출하여 별도의 관측자료로 편집, 생성한다. 편집된 관측자료는 이상치가 없는지 먼저 확인한 후 이상치가 있을 경우 ‘outlier flag’를 생성한다. 이상치 검출 기술은 별도의 연구 기술로써 본 논문에서는 논외로 한다. 이상치에 대한 검토가 완료되면 관측자료에 중단(interruption)이 있었는지 확인한다. 관측자료 중단은 입력된 관측자료에 대해 각 epoch별로 검토하며 0.001초 이상의 시간 지연, 혹은 관측자료 끊김이 있었다면 중단으로 판단한다. 관측자료 중단이 발생하면 해당 epoch에 대해 ‘interruption flag’를 기록한다. 다음으로 의사거리 관측치와 위상 관측치 조합, 그리고 시계예측 모델을 이용하여 시계 점프를 검출한다. 시계 점프가 검출되면 해당 epoch의 ‘interruption flag’를 검색하여 관측자료에 중단이 있다면 시계 점프로 최종 판단하게 된다. 만약 해당 epoch에 중단이 없다면 시계 점프가 아닌 것으로 간주하고 관측자료 누락 여부를 점검한다. 시계 점프로 최종 판단되면 점프 크기를 산출하고, 보정 과정을 통해 수정된 관측자료를 생성된다.
Fig. 1. Diagram of GPS data pre-processing algorithm.
다음으로 수정된 관측자료에 일부 누락이 있는지, 또 연속된 epoch 상에서 관측된 위성이 달라지는지 확인하는 과정을 거친다. 관측 일부 누락이나 관측 위성 변화가 나타난 경우 해당 epoch을 ‘incompletion flag’에 기록한다. ‘interruption flag’가 발생한 경우 HMW, GF 조합 시 제외한다. HMW 혹은 GF 조합에서 사이클 슬립이 검출되는 경우 사이클 슬립 크기를 산출한다. 일반적으로 1-2 cycle 이하는 사이클 슬립 오검출로 판단한다 (Deo & El-Mowafy 2015). 따라서 KPOP 전처리 알고리즘에서도 2 cycle 이하의 사이클 슬립은 오검출로 간주하고, 2 cycle 이상인 경우에 대해 사이클 슬립으로 판단한다. 사이클 슬립으로 판단되면 보정 과정을 수행하며, 시계 점프와 사이클 슬립 보정 후 각각 재검출 과정을 통해 보정 성공 여부를 판단한다. 보정 과정은 ‘clock jump repair flag’와 ‘cycle slip repair flag’에 각각 기록하며, 보정에 실패한 경우 해당 epoch을 ‘clock jump removal flag’와 ‘cycle slip removal flag’에 기록하여 사용자가 삭제 여부를 선택할 수 있도록 하였다. 자료처리 과정 중 생성된 모든 메시지는 통합하여 ‘flags’ 파일에 기록된다.
이번 장에서는 KPOP 전처리 과정으로 채택하고 있는 사이클 슬립 검출 및 보정, 그리고 시계 점프 검출 및 보정 알고리즘의 성능 분석결과를 기술한다. 개발 알고리즘의 성능 분석을 위해 인하대학교 관측소와 IGS GNSS 상시관측소에서 생성된 관측자료를 이용하였다. Fig. 2는 인하대학교의 관측소 모습이다. 인하대학교는 2개의 관측소를 운영 중이며, 각각 상시관측용과 실험용으로 운영되고 있다. 본 연구에 사용된 관측자료는 실험용 안테나와 수신기로 Fig. 2에 점선으로 각각 표시하였다. 사용된 안테나는 Tallysman VC6510이며, 수신기는 u-blox ZED-F9P이다. 이 연구에서는 인하대학교 실험용 관측소에서 생성된 2024년 1월 12일부터 13일의 5초 간격(epoch) 관측자료를 이용하였으며, 2024년 1월 2일 46개 IGS 상시관측소에서 생성된 30초 간격의 관측자료를 이용하였다. Fig. 3에 이 연구에 사용된 IGS 관측소를 나타내었다.
Fig. 2. Inha University GNSS station’s (left) antennas, (right) experimental receivers, and equipment configuration diagram.
Fig. 3. IGS stations used in the analysis of the developed pre-processing algorithm.
전처리 알고리즘 성능분석을 위해 시계 점프와 사이클 슬립 검출 및 보정을 수행하였으며, 보정 후 재검출 과정을 통해 성공 여부를 분석하였다. 또한 사이클 슬립 분석 기능을 제공하는 G-Nut/Anubis와 RINGO에서 검출된 사이클 슬립 결과와 비교하였다. Fig. 4에 2024년 1월 13일 인하대학교 관측소의 시계 점프와 사이클 슬립 검출 결과를 나타내었다. Figs. 4a-c는 위상 관측치, 의사거리 관측치, 검출 Flag를 각각 나타낸 것으로 Fig. 4a의 빨간색은 L1관측치, 파란색은 L2관측치를 cycle 단위로, Fig. 4b의 분홍색은 C1, 연두색은 C2 의사거리 관측치를 m 단위로 나타낸 것이다. Fig. 4c의 빨간색은 ‘clock jump detection flag’이며, 파란색은 GF 조합의 ‘cycle slip detection flag’, 그리고 초록색은 HMW 조합의 ‘cycle slip detection flag’이다. KPOP 전처리 알고리즘에서는 시계 점프와 사이클 슬립이 검출되면 flag=1로 표시되고, 검출되지 않았으면 flag=0으로 기록된다. Fig. 4a를 보면 L1과 L2 관측치에서 하루 동안 총 3번(6시 20분 45초, 12시 24분 20초, 22시 7분 55초)의 비교적 큰 점프가 나타난 것을 볼 수 있으며, 이러한 경향은 Fig. 4b의 의사거리 관측치에서도 동일하게 나타났다. 점프가 발생한 시점의 검출 Flag (Fig. 4c)를 살펴보면 해당 시점에 시계 점프(빨간색)가 검출되었음을 확인할 수 있다. 시계 점프가 검출되면 크기를 산출하며 관측치 보정을 수행한다.
Fig. 4. The results of the clock jump and cycle slip detection test at the Inha University experimental station on January 13, 2024.
Fig. 5에 위상 관측치에 대한 시계 점프 보정결과를 나타내었다. Figs. 5a,c는 L1, L2 관측치의 시계 점프 보정 전후를 cycle 단위로 나타낸 것으로써 파란색은 보정 전, 빨간색은 보정 후 이다. Figs. 5b,d는 시계 점프 보정량으로 시계 점프가 발생한 시점에 L1, L2 관측치 모두 계단형태의 보정이 이루어 졌음을 알 수 있다. Fig. 5의 시계 점프는 3번 모두 비슷한 크기로 L1 3.31×107 cycle, L2 2.58×107 cycle 크기의 보정이 이루어 졌다. 시계 점프에 대한 관측치 변화를 보다 자세히 살펴보기 위해 임의의 위성 PRN 6번에 대한 시계 점프 보정 전후를 Fig. 6에 나타내었다. Figs. 6a,c는 PRN 6번 위성의 시계 점프 보정 전후 L1, L2 관측치를 cycle 단위로 나타낸 것으로, 파란색은 보정 전, 빨간색은 보정 후 이다. Figs. 6b,d는 시계 점프 보정량이다. Fig. 6을 보면 RRN 6번 위성은 12시가 조금 지난 시간, 즉 Figs. 5a,c의 2번째 시계 점프 구간이 포함된 위성이며, 시계 점프가 나타났을 때 L1 관측치는 1.32 ×108 cycle에서 9.97×107 cycle로, L2 관측치는1.03×108 cycle에서 7.77×107 cycle로 점프하였다. 시계 점프 보정 후에는 L1, L2 관측치 모두 점프현상은 제거되었으며, 매끄러운 곡선형태로 변화된 것을 볼 수 있다.
Fig. 5. Phase observations and changes before and after clock jump correction at the Inha University experimental station on January 13, 2024.
Fig. 6. Phase observations and changes before and after clock jump correction of arbitrary PRN 6 satellite.
일반적으로 사이클 슬립 검출에 있어 1~2 cycle 이하는 오검출로 판단한다 (Deo & El-Mowafy 2015). KPOP 전처리 알고리즘에서도 이 기준을 적용하여 2 cycle 이하의 사이클 슬립은 오검출로 판단하고, 2 cycle 이상인 경우에 대해 ‘cycle slip repair flag’를 생성하였다. 사이클 슬립은 보정 후 재검출 과정을 수행하며, 사이클 슬립이 검출되지 않는 경우 보정 성공으로, 재검출 되는 경우 보정실패로 간주한다. 사이클 슬립 보정에 실패한 경우 ‘cycle slip removal flag’를 생성한다. Fig. 4c에서 검출된 사이클 슬립은 HMW 조합의 경우 27개, GF 조합의 경우 76개로 나타났으며 이 중 오검출(HMW 7개, GF 17개)과 중복 검출된 epoch을 제외하면 총 75개의 사이클 슬립이 최종 검출되었다 (‘cycle slip repair flag’=1). 사이클 슬립 보정 전후 차이를 Fig. 7a에, ‘cycle slip repair flag’, ‘cycle slip removal flag’를 Figs. 7b,c에 각각 나타내었다. Fig. 7a의 사이클 슬립 보정 전후를 관측치 차이를 살펴보면 대부분 10~30 cycle 사이에서 보정이 이루어 졌으며, 7시 20분경 최대 160 cycle의 보정이 이루어 진 것을 알 수 있다. 보정 후 재검출 과정에서 다시 사이클 슬립이 검출된 경우는 6개(‘cycle slip removal flag’=1)로 나타나 92%의 검출 및 보정 성능을 보였다. Fig. 8에 2024년 1월 12일의 결과를 나타내었다. Fig. 8은 Fig. 7과 동일한 KPOP의 사이클 슬립 검출 및 보정 알고리즘을 사용한 것이며 ‘cycle slip repair flag’와 ‘cycle slip removal flag’를 Figs. 8a,b에 각각 나타내었다. 2024년 1월 12일에는 HMW 조합의 경우 32개, GF 조합의 경우 78개의 사이클 슬립이 검출되고 이 중 오검출(HMW 6개, GF 10개)과 중복 검출된 epoch을 제외하면 총 67개의 사이클 슬립이 최종 검출되었다(‘cycle slip repair flag’=1). 보정 후 재검출 과정에서 다시 사이클 슬립이 검출된 경우는 9개(‘cycle slip removal flag’=1)로 나타나 최종 86%의 검출 및 보정 성능을 보였다.
Fig. 7. Cycle slip detection and calibration test results at Inha University experimental station on January 13, 2024.
Fig. 8. Cycle slip detection and calibration test results of Inha University experimental station on January 12, 2024.
본 연구에서는 KPOP 전처리 알고리즘의 사이클 슬립 검출 성능 분석을 위해 G-Nut/Anubis와 RINGO를 이용하여 사이클 슬립을 검출하고 결과를 상호 비교하였다. 인하대학교 실험용 관측소에서 수집된 2024년 1월 12일과 13일의 관측자료를 처리하였으며 그 결과를 Table 1에 정리하였다. Table 1을 보면 2024년 1월 12일은 G-Nut/Anubis와 RINGO가 각각 67개와 73개, 13일은 각각 72개와 74개로 검출되었으며, 이는 KPOP의 67개, 75개와 비슷한 수치이다. 세 프로그램 간 검출 수치가 다소 차이나는 이유는 각 프로그램이 채택하고 있는 사이클 슬립 검출 방법이 다르기 때문이다 (Kawamoto et al. 2023). Kawamoto et al. (2023)에 의하면 RINGO는 멀티패스 선형 조합, IOD 변화율, 그리고 MW 선형조합을 적용하는 반면, G-Nut/Anubis는 MW 선형조합과 WL, NL 조합을 이용하고 있고 이로 인해 검출 수치에 다소 간의 차이를 보인다고 분석하였다. 같은 맥락에서 KPOP 전처리 알고리즘은 두 프로그램과 다른 검출 방법, 즉 GF와 HMW 선형 조합을 적용하고 있으며, 이로 인해 사이클 슬립 검출 수치에 차이가 난 것으로 판단된다. 세 프로그램 간 차이를 살펴보면, RINGO를 기준으로 G-Nut/Anubis와 KPOP이 12일은 6개, 13일은 각각 2개와 1개로 그 차이가 같거나 매우 근소한 것으로 나타났다.
Table 1. Cycle slip detection results using KPOP preprocessing algorithm, G-Nut/Anubis, and RINGO.
KPOP Pre-processing | G-Nut/Anubis | RINGO | |
---|---|---|---|
20240112 | 67 | 67 | 73 |
20240113 | 75 | 72 | 74 |
다음으로 개발 알고리즘의 자료처리 시간을 분석하였다. KPOP은 Multi-GNSS에 대한 POD 기술 탑재, 실시간 측위 및 보정정보 생성 기술 탑재를 최종 목표로 하고 있다. 따라서 GNSS 자료 전처리 알고리즘 역시 후처리를 포함하여 준실시간 및 실시간 성능 지원을 목표로 하여 자료처리 시간을 최소화하는 방향으로 개발하였다. 자료처리 시간의 목표 성능 설정을 위해 30초 epoch의 24시간 관측자료를 기준으로 RINGO와 G-Nut/Anubis의 자료처리 속도를 측정하고 이를 토대로 목표로 설정하였다. IGS 관측소 (Fig. 2)에서 생성된 30초 epoch 24시간 관측자료를 임의로 선택하여 RINGO로 처리했을 때 평균 < 3초의 자료처리 속도를 보였으며, G-Nut/Anubis는 < 12초로 나타났다. 따라서 본 연구에서 개발하는 알고리즘의 자료처리 목표 시간은 두 프로그램 중 더 신속한 RINGO의 성능을 채택하여 30초 epoch의 24시간 관측자료 기준 < 3초로 설정하였다.
개발 알고리즘의 자료처리 시간 분석을 위하여 인하대학교 실험용 관측소에서 획득한 관측자료와 IGS 관측소 (Fig. 2)에서 획득한 자료를 활용하여 150개의 샘플 관측자료를 생성하였다. 샘플 관측자료는 Table 2와 같이 4개의 Case로 구분하였으며, Case 1과 Case 2는 인하대학교에서 획득한 관측자료, Case 3과 Case 4는 IGS 관측자료를 이용한 것이다. 구체적으로 Case 1은 48시간 연속 취득한 5초 epoch의 관측자료를 임의의 시작시간으로부터 24시간 구간으로 분할한 것이며, Case 2는 Case 1과 동일한 관측자료를 11개 epoch부터 320개 epoch까지 임의의 구간으로 분할한 것이다. Case 3은 46개 IGS 관측소에서 획득한 30초 epoch의 1일 관측자료를 처리한 것이며, Case 4는 Case 3의 관측자료를 이용하여 15분~25분 구간을 임의로 분할한 것이다. 자료처리 시간 측정을 위해 동일한 샘플 관측자료에 대해 10회 반복하여 자료처리 평균시간을 산출하였으며, 자료입력(로딩) 시간은 제외하였다. 자료처리 시간 분석결과를 Table 2에 나타내었다. Table 2를 보면 자료처리 시간은 관측자료의 총 시간보다는 관측자료의 양에 영향을 받으며, 5초 간격으로 24시간 수집된 총 17,280개 epoch의 경우 17초, 30초 간격의 24시간 관측자료(2,880개 epoch)의 경우 2초 수준으로 나타났다. 이는 KPOP 전처리 알고리즘의 자료처리 시간 목표성능을 충족하는 것이다. 더욱이 관측자료가 11개 ~ 320개 epoch 사이의 자료는 epoch의 수에 대한 영향이 거의 없으며, 자료처리 시간이 1초 수준으로 신속한 자료처리가 가능한 것으로 나타났다.
Table 2. Average processing time of KPOP preprocessing algorithm using various observation data.
Type | Case 1 | Case 2 | Case 3 | Case 4 |
---|---|---|---|---|
Observations | 24 hours 5 sec epoch Total of 17,280 epochs | 55 sec ~ 1600 sec (< 1 min ~ < 30 min) 5 sec epoch Total of 11 ~ 320 epochs | 24 hours 30 sec epoch Total of 2,880 epochs | 930 sec ~ 1500 sec (15 min ~ 25 min) 30 sec epoch Total of 31 ~ 50 epochs |
Average processing time (sec) | 17 | < 1 | 2 | < 1 |
한편, 관측자료의 양이 많아지면서 KPOP 전처리 알고리즘의 자료처리 속도가 증가하는 부분을 보다 자세히 분석하기 위하여 RINGO와 G-Nut/Anubis를 이용하여 동일한 관측자료를 처리하였다. 그 결과 5초 간격으로 24시간 수집된 관측자료의 경우 RINGO는 평균 7초, G-Nut/Anubis는 17초가 소요되었다. 즉, 관측자료의 양이 많아지면서 KPOP 전처리 알고리즘의 자료처리 속도가 RINGO에 비해 늦어졌으며 G-Nut/Anubis와 유사한 수준으로 나타난 것이다. Kawamoto et al. (2023)에 의하면 G-Nut/ Anubis는 관측자료의 양이 늘어남에 따라 자료처리 시간이 기하급수적으로 늘어나며 RINGO는 이러한 점을 보완하기 위해 신호 조합 특성을 분석하고 각 방법 별 검출 경계값을 다르게 설정하였다. 이에 따라 RINGO는 자료의 양이 늘어나도 자료처리 시간이 크게 늘어나지 않은 반면 KPOP 전처리 알고리즘과 G-Nut/ Anubis는 자료처리 시간이 증가한 것으로 판단된다. 향후 KPOP 전처리 알고리즘도 신호 조합에 따른 경계값을 추가적으로 분석하고, 최적화된 경계값 설정 및 신호 조합에 따른 성능 분석을 수행할 예정이다.
이 논문에서는 국산 POD 프로그램인 KPOP 1차 버전에 탑재된 GNSS 자료 전처리 알고리즘에 대해 소개하고 그 성능을 분석하였다. 시계 점프 검출을 위해 위상 관측치와 의사거리 관측치 조합, 그리고 시계 예측 모델을 적용하였으며, 사이클 슬립을 검출하기 위해 HMW 조합과 GF 조합을 적용하였다. 시계 점프와 사이클 슬립 검출 성능을 분석하기 위해 인하대학교 실험용 관측소에서 수집된 관측자료를 이용하였으며, 분석 결과 86~92%의 검출 및 보정 성능이 나타났다. 이는 해외에서 개발된 전처리 프로그램인 RINGO, G-Nut/Anubis와 비교 시 유사한 성능이었다. 다음으로 RINGO, G-Nut/Anubis의 자료처리 속도를 검토하여 KPOP 전처리 알고리즘의 자료처리 시간 목표 성능을 설정하였다. 설정한 목표 시간은 30초 epoch의 24시간 관측자료 기준 < 3초로, 인하대학교 관측데이터와 IGS 관측데이터를 이용하여 소요 시간을 분석하였다. 그 결과 KPOP 전처리 알고리즘의 자료처리 소요시간은 평균 2초로 설정한 목표 성능을 달성하는 것으로 나타났다. KPOP은 현재 핵심 알고리즘 구현이 완료되었으며 GPS를 대상으로 POD 성능 검증 단계에 진입해 있다. 최종 버전의 KPOP은 Multi-GNSS에 대한 POD 기술 탑재, 실시간 측위 및 보정정보 생성 기술 탑재를 목표로 하고 있다. 따라서 전처리 알고리즘 역시, GPS-only가 아니라 Multi-GNSS 관측자료를 처리할 수 있어야 하며, 또한 증가된 관측자료의 양을 대비하여 보다 정확하고 신속한 처리가 가능하도록 알고리즘을 개선해야 한다는 것을 의미한다. 현재 KPOP 전처리 알고리즘은 이중 주파수 기반의 HMW 조합과 GF 조합만이 적용되어 있으나, 향후 삼중주파수 기반의 EWL, WL, NL 조합이 추가될 예정이며, 신호 조합에 따른 검출 경계값을 분석하여 최적화된 경계값 및 신호조합을 설정할 계획이다. 이를 통해 자료처리 시간을 단축하고 보다 향상된 검출 및 보정 성능을 달성할 수 있을 것으로 기대된다.
This research was supported by Korea Agency for Infrastructure Technology Advancement grant funded by the Ministry of Land, Infrastructure and Transport (RS202200141819, Development of Advanced Technology for Absolute, Relative, and Continuous Complex Positioning to Acquire Ultra-precise Digital Land Information).
Conceptualization, H.R. and K.P.; methodology, H.R. and K.P.; software, H.K and J.H.; validation, H.K. and J.H.; formal analysis, Y.K; investigation, H.K. and J.H.; resources, J.H.; data curation, Y.K.; writing—original draft preparation, H.K.; writing—review and editing, H.K., J.H., and K.P.; visualization, H.K. and J.H.; supervision, H.R. and K.P.; project administration, K.P.; funding acquisition, K.P. and J.H.
The authors declare no conflict of interest.
Ban, H., Li, K., Wang, K., Jiao, Y., Liang, L., et al. 2024, A hierarchical combination algorithm for real-time cycle slip detection and repair in low satellite elevation and high ionospheric activity conditions, Scientific Reports, 14, 1-13. https://doi.org/10.1038/s41598-024-52902-x
Blewitt, G. 1990, An automatic editing algorithm for GPS data, Geophysical Research Letters, 17, 199-202. https://doi.org/10.1029/GL017i003p00199
Chen, Z., Cui, Y., Li, L., Zhang, Q., Lu, Z., et al. 2020, GDP: an open-source GNSS data preprocessing toolkit, GPS Solutions, 24, 87. https://doi.org/10.1007/s10291-020-01003-z
Deo, M. & El-Mowafy, A. 2015, Cycle Slip and Clock Jump Repair with Multi-Frequency Multi-Constellation GNSS data for Precise Point Positioning, IGNSS Symposium 2015, Outrigger Gold Coast, Qld Australia, Jul 14-16 2015, pp.1-15.
Estey, L. H. & Meertens, C. M. 1999, TEQC: the multi-purpose toolkit for GPS/GLONASS data, GPS Solutions, 3, 42-49. https://doi.org/10.1007/PL00012778
Freymueller, J. T. 2003, IGSMAIL-4318: new version of ClockPrep program, IGS central bureau. [IGSMAIL-4318]: New version of ClockPrep program
Fu, X., Sun, Y., Wu, L., Wang, K., & Zhao, K. 2023, A cycle slip detection and repair method based on inertial aiding for BDS triple-frequency signals, Sensors, 23, 5641. https://doi.org/10.3390/s23125641
Guo, F. & Zhang, X. 2014, Real-time clock jump compensation for precise point positioning, GPS Solutions, 18, 41-50. https://doi.org/10.1007/s10291-012-0307-3
Ha, J., Kim, Y.-G., Rim, H.-J., & Park, K.-D. 2023, Investigation of Precision Orbit Determination Procedure and Models for POD SW Development, 2023 IPNT Conference, Jeju, Korea, Nov 1-3 2023, pp.217-220. https://ipnt.or.kr/2023proc/152
Karaim, M., Karamat, T. B., Noureldin, A., & El-Shafie, A. 2014, GPS cycle slip detection and correction at measurement level, British Journal of Applied Science & Technology, 4, 4239-4251. https://doi.org/10.9734/BJAST/2014/11850
Kawamoto, S., Takamatsu, N., & Abe, S. 2023, RINGO: A RINEX pre-processing software for multi-GNSS data, Earth Planets Space, 75, 54. https://doi.org/10.1186/s40623-023-01811-w
Kim, Y.-G. Rim, H.-J., Ha, J., & Park, K.-D. 2023, Comparison of Solar Radiation Pressure Models for Precise Orbit Determination of GPS, 2023 IPNT Conference, Jeju, Korea, Nov 1-3 2023, pp.369-371. https://ipnt.or.kr/2023proc/150
Krasner, N. 1997, GPS receiver and method for processing GPS signal, US Patent 5663734A, 2 Sept 1997
Nischan, T. 2016, GFZRNX—RINEX GNSS data conversion and manipulation toolbox (Version 1.05), GFZ Data Services. https://doi.org/10.5880/GFZ.1.1.2016.002
Rim, H. J., Yoon, S. P., & Schutz, B. E. 2013, The GLAS Algorithm Theoretical Basis Document for Precision Orbit Determination (POD), Goddard Space Flight Center, NASA/TM–2013-208641, 11. https://ntrs.nasa.gov/api/citations/20130014732/downloads/20130014732.pdf
Václavovic, P. & Douša, J. 2016, G-Nut/Anubis: open-source tool for multi-GNSS data monitoring with a multipath detection for new signals, frequencies and constellations, International Association of Geodesy Symposia, 143, 775-782. https://doi.org/10.1007/1345_2015_97
Wang, J. & Huang, D. 2024, GPS/BDS triple-frequency cycle slip detection and repair based on moving window global search method, Scientific Reports, 14, 6615. https://doi.org/10.1038/s41598-024-57063-5
Xu, S., Long, J., Wang, J., & Zhang, W. 2022, An Efficient Method to Compensate Receiver Clock Jumps in Real-Time Precise Point Positioning, Remote Sensing, 14, 5222. https://doi.org/10.3390/rs14205222
Zhang, X., He, X., & Liu, W. 2017, Characteristics of systematic errors in the BDS Hatch–Melbourne–Wübbena combination and its influence on wide-lane ambiguity resolution, GPS Solutions, 21, 265-277. https://doi.org/10.1007/s10291-016-0520-6
Zhao, Q., Sun, B., Dai, Z., Hu, Z., Shi, C., et al. 2015, Real-time detection and repair of cycle slips in triple-frequency GNSS measurements, GPS Solutions, 19, 381-391. https://doi.org/10.1007/s10291-014-0396-2
Zhao, X., Niu, Z., Li, G., Shuai, Q., & Zhu, B. 2020, A new cycle slip detection and repair method using a single receiver’s single station B1 and L1 frequencies in ground-based positioning systems, Sensors, 20, 346. https://doi.org/10.3390/s20020346