DOI QR코드

DOI QR Code

Design of Multi-Constellation and Multi-Frequency GNSS SDR with Fully Reconfigurable Functionality

  • Received : 2021.05.10
  • Accepted : 2021.05.25
  • Published : 2021.06.15

Abstract

In this paper, a fully reconfigurable Software Defined Radio (SDR) for multi-constellation and multi-frequency Global Navigation Satellite System (GNSS) receivers is presented. The reconfigurability with respect to the data structure, variability of signal and receiver parameters, and receiver's internal functionality is presented. The configuration file, that is modified to lead to an entirely different operation of the SDR in response to specific target signal scenarios, directly determines the operating characteristics of the SDR. In this manner, receiver designers can effectively reduce the effort to develop many different combinations of multi-constellation and/or multi-frequency GNSS receivers. Finally, the implementation of the presented fully reconfigurable SDR is included with the experimental processing results such as acquisition, tracking, navigation for the received signals in the realistic fields.

Keywords

1. INTRODUCTION

Global Navigation Satellite System (GNSS) 수신기의 종류는 크게 하드웨어 수신기와 소프트웨어 수신기로 구분된다. 일반적으로 하드웨어 수신기는 Application Specific Integrated Circuit (ASIC)과 같이 GNSS 신호 처리에 적합한 특수한 하드웨어를 이용하여 구성되며 현대 전기전자 부품 제조기술의 발달로 대량생산하여 저가로 우수한 신호처리 성능을 갖는다. 단, 신호 처리 알고리즘과 같은 기능을 하드웨어에 의존하게 되므로, 기능의 변경이나 추가를 위해서 하드웨어를 다시 제작해야 하는 문제가 있다. 이렇게 수신기의 기능을 변경할 때마다 하드웨어를 새롭게 제작하는 과정은 시간적, 금전적 측면에서 매우 비효율적이다 (Pany 2010).

Software Defined Radio (SDR)은 하드웨어 부품을 최소화하여 Radio Frequency (RF) front-end를 제외한 모든 수신기 기능을 소프트웨어로 대체한 소프트웨어 수신기 기술이다. SDR은 모든 기저대역 연산을 소프트웨어에서 처리하며, 이러한 신호 처리 기능은 사용자에 의해 자유롭게 변형이 가능하므로 제조 과정 이후로 기능이 고정되어 있는 하드웨어 수신기에 비해서 다양한 이점을 갖는다. SDR은 대부분의 신호 처리 구조가 소스 코드 형태의 소프트웨어로 이루어져 있으므로 알고리즘의 변형이나 추가 측면에서 특유의 유연함을 가지고 있기 때문에 GNSS의 다양한 분야에서 활용된다. 예를 들어서 SDR은 Global Positioning System (GPS) / Inertial Navigation System (INS) 결합, GPS translator 시스템, GNSS 신호 분석용 툴, 고성능 수신기 등으로 개발 및 활용되기에 매우 적합한 특성을 가진다. 이러한 SDR의 장점들이 Digital Signal Processor (DSP) 혹은 Personal Computer (PC)의 연산 성능 향상과 맞물리게 되면서 SDR은 전 세계의 GNSS 커뮤니티에서 주로 연구 목적으로 사용되고 있다 (Won et al. 2006).

한편, 세계적인 우주 강국들은 본인들의 독자적인 위성 항법 시스템을 개발 혹은 현대화하기 위해 노력 중이다. 이러한 시스템들로는 미국의 GPS, 러시아의 GLObal NAvigation Satellite System (GLONASS), 유럽 연합의 Galileo, 중국의 BeiDou navigation satellite System (BDS), 일본의 Quasi-Zenith Satellite System (QZSS), 인도의 Navigation Indian Constellation (NavIC)이 있다. 또한, 한국도 독자적인 위성 항법 시스템인 Korea Positioning System (KPS)를 개발하기 위해 연구 중에 있다 (GPS World Staff 2018). SDR은 새로운 신호나 시스템에 대한 처리가 가능하도록 그 기능의 변경이 용이하므로 이러한 추세에 적합한 형태를 가졌다고 판단될 수 있다. 즉, 새로운 GNSS 신호의 도래 전 SDR 기술을 활용한 신호 생성 및 처리 실험을 통하여 설계하는 새로운 GNSS 신호의 성능을 예측 및 분석하는데 유용하다 (Fernandez-Prades et al. 2011).

과거의 GNSS 수신기는 대부분 GPS L1 C/A 신호만을 단독으로 사용하고 처리했다. 다양해진 시스템의 신호들을 동시에 처리하고 사용할 수 있는 GNSS 수신기는 가시 위성 수의 비약적인 증가와 함께 정확성, 안정성, 신뢰성 등에서 다양한 이점들을 얻을 수 있다. 수신기는 기본적으로 가시 위성들에 대한 의사거리 측정치를 이용하여 수신기의 위치를 추정하는데, 가시 위성 수의 증가는 곧 측정치의 양의 증가를 의미하므로 각 측정치들이 심하게 훼손되지 않았다는 조건 하에 최종적인 추정 결과의 정확도가 향상될 수 있다. 또한, 다중 위성군 수신기는 빌딩숲에 의한 가시 위성 수의 제약이나 강한 multipath가 존재할 수 있는 도심지와 같은 제약적인 환경에서 더욱 큰 장점을 갖는다 (Soderholm et al. 2016). 일반적으로 앞서 언급한 것과 같은 제약적인 환경에서는 수신기에서 사용할 위성의 최소 elevation angle에 해당하는 cut-off angle을 높은 값으로 설정하고 사용하는데, 다중 위성군 수신기는 이러한 환경에서도 상대적으로 많은 가시 위성 수를 갖게 되므로 더 좋은 성능을 갖는다 (Li et al. 2015).

GNSS 수신기의 소프트웨어적 접근은 Akos (1997)가 최초로 제시했으며, 이후로 전 세계적으로 최근 십 수년 동안 SDR을 독자적으로 개발 및 사용하기 위한 연구들이 활발하게 진행되었다. Borre et al. (2007)은 GPS L1 C/A를 처리하는 후처리 기반의 SDR을 개발했다. Borre는 이 SDR의 구조 및 신호 처리 과정에 대한 자세한 설명과 함께 Matlab 코드를 오픈 소스로 배포했고, 현재 다양한 연구자들이 이 SDR을 기반으로 하여 새로운 알고리즘이나 신호 처리 기법을 적용하여 확장하고 있다. Stober et al. (2010)은 C++을 기반으로 한 실시간 SDR을 개발했다. 이 SDR은 PC의 마이크로 프로세서에서 동작하며, 실시간으로 GPS L1 C/A, GPS L2C, GPS L5, Satellite Based Augmentation System (SBAS) 등의 신호를 처리한다.

또한, 개발된 SDR을 새로운 알고리즘 연구 및 분석용으로 사용한 경우도 있다. Bhuiyan et al. (2014)Meng et al. (2016)은 BDS B1I를 처리할 수 있는 SDR을 개발했으며, BDS의 신호 구조인 D1과 D2의 특징에 대해서 설명했다. 이들은 BDS B1I의 신호 획득 알고리즘을 제시했는데, 이러한 알고리즘은 개발된 SDR을 통하여 구현되고 검증되었다. Soderholm et al. (2016)은 GPS, Galileo, BDS의 L1 대역 신호들에 대한 다중 위성군 SDR을 개발했고, 해당 SDR의 구조와 처리 기법 등에 대해서 소개했다. 그리고 개발된 SDR을 이용하여 다양한 위성군 조합에 따른 측위 성능을 비교 및 분석했다.

앞서 설명한 것과 같이 새로운 GNSS 신호의 등장은 해당 신호의 분석 및 성능 평가 측면에서 SDR의 필요성을 더욱 증가시켰다. 이때 SDR이 상대적으로 높은 reconfigurability를 갖게 된다면 SDR의 유용성은 더욱 향상될 수 있다. SDR은 새로운 GNSS 신호에 대한 처리가 가능하도록 빠르게 변경될 수 있어야 하는데, 높은 reconfigurability에 의한 소프트웨어 코드의 재사용, Application Programming Interface (API) 기능의 지원 등으로 다양한 이점을 얻을 수 있다. 예를 들어서 새로운 GNSS 신호의 특성 중 일부가 SDR이 처리 가능한 기존의 GNSS 신호의 특성과 동일하다면 이에 대한 처리는 소프트웨어 코드의 재사용을 통해 빠르고 효율적으로 구현 가능하다. 반면 새로운 GNSS 신호가 SDR이 기존에 처리할 수 없던 특성을 지니고 있다면 API 기능을 이용하여 해당 특성에 대한 처리부만 편리하게 추가하는 방식의 적용이 가능하다 (Fernandez-Prades et al. 2011).

본 논문에서는 SDR이 이러한 높은 reconfigurability를 갖기 위한 구조 및 특징에 대해서 제시하고, 제시한 구조 및 특징을 기반으로 구현된 SDR을 소개한다. 최종적으로 구현된 SDR을 기준 수신기와 비교하여 검증하고, 검증된 SDR을 이용하여 위성군 조합에 대한 분석 결과를 제시한다.

본 논문은 다음과 같이 구성되어 있다. 2장에서는 SDR의 reconfigurability에 대해서 설명한다. 3장에서는 SDR의 대상 시나리오와 이들을 처리할 때 사용한 알고리즘에 대해 소개한다. 4장에서는 SDR을 이용한 처리 결과를 보여주고, 5장에서 결론과 함께 논문을 마무리 짓는다.

2. RECONFIGURABILITY

2.1 Data Structure

Fig. 1은 본 논문에서 제시하는 SDR의 전체적인 신호 처리 흐름과 각 기능 사이의 데이터 구조체를 나타낸다. 먼저, Initialization 블록에서 SDR은 configuration file을 기반으로 Setting 작업을 수행하여 구조체를 생성 및 초기화한다. Configuration file에 대한 자세한 설명은 2.4절에서 다룬다. Fig. 1의 각 신호 처리 블록의 처리 결과는 다음 신호 처리 블록에서 사용되며, 이러한 처리 결과는 Table 1과 같이 저장된다.

f1.png 이미지

Fig. 1. Overall data structure between signal processing functions for reconfigurable SDR.

Table 1. Example of data structures of reconfigurable SDR.

Parent structure Variable name Description
AcqResult.GpsL1CA carrFreq
codePhase
peakMetric
Estimated Doppler frequency [Hz]
Estimated code delay [sample]
Estimated signal power in acquisition process
TrackResult.GpsL1CA codePhase
carrFreq
I_P
Q_P
dllDiscr
pllDiscr
Cn0
Estimated code delay [sample]
Estimated Doppler frequency [Hz]
Inphase prompt correlator output
Quadrature prompt correlator output
DLL discriminator output [chip]
PLL discriminator output [cycle]
Estimated \(C/N_0\) [dB-Hz]
NavSolution userPos
dop
Estimated position of user in ECEF, LLH, ENU
Estimated DOP values
NavSolution.channel rawP
el
az
Raw pseudorange measurements [m]
Estimated elevation angle of each satellite [deg]
Estimated azimuth of each satellite [deg]

 

처리 대상 신호에 대한 reconfigurability를 제공하기 위해서 대상 신호의 수나 종류를 변경하더라도 SDR의 구조는 크게 변화하지 않아야 한다. 예를 들어서 대상 신호로 GPS L1 C/A만을 설정한 경우와 GPS L1 C/A, Galileo E1B의 두 종류로 설정한 경우 모두 한 SDR에서 구조의 변경없이 처리할 수 있어야 한다. 이를 위해서 Fig. 1에 표현된 구조체들 중 Constellation Setting, AcqResult, TrackResult 구조체는 처리 대상 신호의 수만큼 세부 구조체를 가지게 된다. 이러한 세부 구조체는 각 대상 신호에 대해서 동일한 항목을 가지고 복제되는 방식으로 생성된다. 단, Constellation Setting 구조체는 대상 신호 별로 일부 항목이 다를 수 있는데, 이는 대상 신호의 규격에 따라서 신호 처리 알고리즘이 다르고 이러한 알고리즘에 필요한 파라미터의 종류가 다를 수 있기 때문이다. 본 논문에서 소개하는 SDR은 위에서 설명한 방식의 구조체를 이용하므로 대상 신호가 추가되거나 변경될 때 SDR의 구조적인 변화를 고려하지 않고 configuration file만을 변경하여 자유롭게 새로운 신호 및 시스템에 확장 및 적용하도록 하는 기능을 갖는다.

2.2 Variability of Parameters

SDR의 신호 획득, 추적에서 사용하는 파라미터들은 처리 대상 신호의 특성 혹은 수신기의 동작 환경에 적합한 범위를 갖는다. 만약 파라미터들이 적절한 범위 내의 값을 갖지 않는다면 SDR이 제대로 동작하지 않게 될 수 있다. 그러므로 설계자는 수신기의 예상 동작 환경을 고려하여 파라미터들을 설정해야 한다. 설계 단계에서 이러한 파라미터들이 고정되는 하드웨어 수신기와 다르게 SDR은 사용자에게 동작 단계에서 파라미터들의 reconfigurability를 제공한다. 예를 들어서 SDR의 설계 단계에서 SDR의 동작 환경을 정적인 환경으로 예상하면 신호 추적 루프 필터의 잡음 대역폭을 작은 값으로 설정할 수 있다. 하지만 추후에 실제 SDR의 동작 환경이 동적인 환경이라면 이러한 환경에서도 SDR이 잘 동작하도록 잡음 대역폭을 큰 값으로 변경해 줄 수 있다. 이러한 SDR의 신호 처리에 사용되는 모든 파라미터들은 configuration file을 이용하여 설정할 수 있으며, 사용자의 입력에 맞게 생성된 파라미터들은 Setting 구조체에 저장된다. Table 2는 이러한 파라미터들의 예시이다.

Table 2. Example of input parameters of reconfigurable SDR.

Parent structure Variable name Description
Setting msToProcess
fileName
fileCenterFreq
samplingFreq
multiGnssList
                 ⁝
Number of ms to process [ms]
Binary file name to process
Center frequency of recorded file [Hz]
Sampling frequency of recorded file [Hz]
GNSS list to use for multi-constellation processing
                                                 ⁝
Setting.GpsL1CA systemCenterFreq
modulation
prnFile
codeFreqBasis
codeLength
acqSearchBand
acqPit
freqSearchBin
fineFreqBin
trkPit
dllDampingRatio
dllNoiseBandwidth
dllCorrelatorSpacing
pllDampingRatio
pllNoiseBandwidth
Center frequency of signal [Hz]
Modulation type of signal
File name which contains PRN sequence
Code frequency of PRN code [Hz]
Code length of PRN code [chip]
Doppler frequency search range for acquisition process [kHz]
PIT for acquisition process [ms]
Frequency search bin size [Hz]
Frequency search bin size for fine search [Hz]
PIT for tracking process [ms]
Damping ratio for code tracking loop
Noise bandwidth for code tracking loop [Hz]
Correlator spacing for code tracking loop [chip]
Damping ratio for carrier tracking loop
Noise bandwidth for carrier tracking loop [Hz]

 

2.3 Modular Functionality

전 세계적으로 기존 GNSS 현대화 및 새로운 GNSS 신호 및 시스템 개발에 대한 연구가 활발하게 진행되고 있으며, 수신기 측면에서는 기존보다 좋은 성능을 갖는 신호 처리 알고리즘들이 제시되고 있다. SDR은 소프트웨어 만으로 구성되어 있으므로 신호 처리 기능의 수정 또는 추가가 용이하다. 그러므로 위에서 설명한 것처럼 새로운 GNSS 신호가 등장하거나 개선된 신호 처리 알고리즘이 제시되었을 때, SDR을 변형 시키는 것이 큰 위험 부담 없이 가능하다.

또한, 본 논문에서 소개하는 SDR은 API 기능을 지원한다. 사용자는 SDR이 신호를 처리할 때 사용할 알고리즘을 기본적으로 내장된 함수와 사용자가 직접 정의할 수 있는 API 함수 중에서 선택해서 사용할 수 있다. 만약 사용자가 API 함수를 선택하면 사용자는 지정된 함수의 입력과 출력의 약속된 형태를 유지한 상태로 함수의 내부를 자유롭게 변경하여 사용자의 목적에 맞게 사용할 수 있다. 이러한 API 방식을 사용하면 사용자 입장에서는 SDR의 전체적인 구조나 흐름을 완벽하게 이해하지 못하더라도 특정 함수의 입력과 출력만 이해한다면 함수 내부의 알고리즘을 다양하게 구현할 수 있다. 즉, SDR 소스 코드의 제공 없이 사용자들이 본인의 알고리즘을 SDR의 소프트웨어 프레임과 연동하여 개발할 수 있는 기능을 제공한다. Table 3은 본 논문의 SDR에서 제공하는 API 기능을 이용하여 적용할 수 있는 기능들에 대한 예시이다.

Table 3. Example of applications using API of reconfigurable SDR.

Function
insertion point
Obtainable data Possible application
Initialization IF/Baseband
sample stream
 
Interference simulation
Digital filter application
            ⁝
Acquisition Code delay
Doppler frequency
 
Joint acquisition
Weak signal acquisition
            ⁝
Tracking Correlator output
Discriminator output
Loop filter output
C/N_0
Signal tracking Kalman filter
Vector tracking loop
            ⁝
 
Navigation User position
Satellite position
Pseudorange
Navigation data
Position estimating Kalman filter
            ⁝
 
 

 

2.4 Configuration File

2.1 ~ 2.3절에서 데이터 구조체, 신호 처리 파라미터, 신호 처리 기능 측면에 대한 SDR의 reconfigurability를 설명하였다. 이러한 SDR의 reconfigurability는 단 하나의 configuration file에 의해서 결정된다. Configuration file은 소스 코드 혹은 Graphical User Interface (GUI) 형태로 존재하며, SDR의 모든 신호 처리 과정에 영향을 줄 수 있는 파라미터들로 구성된다. 사용자는 configuration file의 파라미터를 변경하거나 미리 작성해둔 다른 버전의 configuration file을 사용하여 SDR을 본인의 목적에 맞게 사용한다. Configuration file은 SDR의 동작 특성을 직접적으로 결정하며, 그러므로 configuration file의 수정 혹은 교체 만으로 하나의 SDR이 전혀 다르게 동작한다.

Fig. 2는 configuration file의 형태와 이를 reconfigurable SDR에 적용하는 예시를 나타낸다. 먼저 좌측의 reconfigurable SDR은 본 논문에서 제시한 구조나 특징을 기반으로 구현된 높은 reconfigurability를 갖는 SDR이다. 이 SDR은 configuration file 없이 단독으로는 동작하지 않으므로 사용자의 목적에 맞게 설정된 configuration file을 필요로 한다. 그림의 중단은 SDR이 적절한 configuration file을 선택하고, 입력된 신호를 처리할 수 있도록 설정하는 부분이다. 먼저 Fig. 2의 상단은 단일 위성군 SDR에 대한 예시이다. 해당 예시의 경우 사용자는 GPS L1 C/A 신호를 단독으로 처리하는 SDR을 목적으로 하므로 configuration file 내부가 GPS L1 C/A에 대한 파라미터들로 작성되어 있는 것을 확인할 수 있다. 그리고 Fig. 2의 우측은 GPS L1 C/A와 Galileo E1B의 다중 위성군을 대상으로 하는 SDR의 configuration file의 예시이다. 해당 configuration file은 단순히 GPS L1 C/A에 대한 파라미터에 더해서 Galileo E1B의 파라미터가 나열되어 있는 형태로 구성되어 있는 것을 확인할 수 있다. 마지막으로 Fig. 2의 하단은 Galileo E1B와 Galileo E5a를 대상으로 하는 다중 주파수 SDR에 대한 예시이다. 우측의 다중 위성군의 경우와 유사하게 각 신호에 대한 파라미터들이 단순하게 나열되어 있는 것을 확인할 수 있다. 이와 같이 사용자는 configuration file을 이용하여 쉽게 대상 신호를 추가할 수 있고, 궁극적으로 본인의 목적에 해당하는 위성군 및 주파수 조합에 대한 SDR을 자유롭게 구성할 수 있다.

f2.png 이미지

Fig. 2. Example of configuration file for reconfigurable SDR.

3. SIGNAL PROCESSING OF TARGET SCENARIOS

3장에서는 본 논문에서 소개하는 SDR의 처리 대상 신호들과 이들을 처리할 때 사용한 알고리즘이나 유의할 점에 대해서 설명한다. Table 4는 SDR의 대상 신호의 한가지 예로서 GPS L1 C/A, QZSS L1 C/A, BDS B1I, Galileo E1B, Galileo E5a-I의 특성을 나타낸 것이다. 이러한 대상 신호는 2장에서 설명한 reconfigurability 특성을 이용하여 개발한 SDR에 쉽게 추가될 수 있다.

QZSS L1 C/A의 경우, Pseudo Random Noise (PRN) 코드를 제외한 모든 신호의 구조가 GPS L1 C/A와 동일하므로 기존의 GPS L1 C/A 코드 SDR을 용이하게 QZSS L1 C/A 코드 SDR로 확장 가능하다. 그러므로 이에 대한 신호 처리 과정에 대한 설명은 본 논문에서는 생략한다.

Table 4. Signal properties of target scenarios.

Signal property Target scenario
GPS
L1 C/A
QZSS
L1 C/A
BDS B1I Galileo E1B Galileo E5a-I
Center frequency [MHz]
Chipping rate [Mcps]
Primary code length [chip]
Secondary code length [bit]
Modulation
Navigation message structure
FEC coding
Data rate [bps]
1575.42
1.023
1023
-
BPSK(1)
L/NAV
-
50
1575.42
1.023
1023
-
BPSK(1)
L/NAV
-
50
1561.098
2.046
2046
20 / -
BPSK(2)
D1 / D2
BCH(15, 11, 1)
50 / 500
1575.42
1.023
4096
-
CBOC(6, 1, 1/11)
I/NAV
Convolutional coding
250
1176.45
10.23
10230
20
BPSK(10)
F/NAV
Convolutional coding
50

 

3.1 BDS B1I

BDS B1I는 D1과 D2 두 종류의 항법 메시지 구조를 가지고 있다. 이들은 항법 메시지 구조뿐만 아니라 신호 처리 측면에서도 차이점을 갖기 때문에 SDR은 처리 과정에서 위성의 PRN 번호를 이용하여 둘을 구분하여 처리해야 한다. 먼저 D1의 경우, Table 4에서 확인할 수 있듯이 기본적인 data rate는 50 bps이지만 20 ms 길이의 Neuman Hoffman (NH) code가 secondary 코드로 곱해져 있는 형태이므로 수신기 입장에서의 data rate는 1 kbps가 된다. 또한, D2는 기본적으로 500 bps의 data rate를 가지므로 D1과 D2는 각각 1 ms와 2 ms마다 비트 반전이 발생할 수 있게 된다. 이는 20 ms마다 비트 반전의 가능성이 존재하는 GPS L1 C/A와 상이하므로 BDS B1I의 신호 획득 알고리즘은 기존의 GPS L1 C/A의 알고리즘을 변형해서 사용해야 한다. 본 논문의 SDR은 Bhuiyan et al. (2014)Meng et al. (2016)이 제시한 알고리즘을 이용하여 D1과 D2에 대한 신호 획득을 수행한다.

한편, BDS B1I의 PRN 코드는 D1과 D2에 상관없이 1 ms마다 반복되므로 동일하게 1 ms의 주기를 갖는 기존의 GPS L1 C/A의 신호 추적 알고리즘 및 함수를 그대로 공유하여 사용할 수 있다. 항법의 경우 BDS Interface Control Document (ICD)를 참고하여 구현되었다 (Beidou ICD 2019). SDR은 BDS ICD에 설명된 대로 항법 과정을 거쳐서 수신기의 위치를 추정한다.

3.2 Galileo E1B

Galileo E1B는 Binary Offset Carrier (BOC) 계열의 신호인 Composite Binary Offset Carrier (CBOC)(6, 1, 1/11)을 사용한다. CBOC(6, 1, 1/11)은 BOC(1, 1)과 BOC(6, 1)을 10:1의 전력 비율로 더해서 만들어진다. Fig. 3에 이러한 CBOC(6, 1, 1/11)과 BOC(1, 1)의 부반송파가 함께 표현되어 있다. 그림에서 확인할 수 있다시피 CBOC(6, 1, 1/11)은 BOC(1, 1)이 대부분의 전력을 가진 상태로 구성되므로 BOC(1, 1)과 유사한 형태를 갖는다. 따라서 수신기는 CBOC(6, 1, 1/11) 신호를 BOC(1, 1)처럼 처리할 수 있다 (Lohan 2010). 본 논문의 SDR은 사용자에게 Galileo E1B를 처리할 때 사용할 변조 기법을 CBOC(6, 1, 1/11)과 BOC(1, 1) 중 선택할 수 있도록 선택지를 제공한다. BOC(1, 1) 기반의 처리를 선택했을 때는 RF front-end의 대역폭을 BOC(1, 1)의 mainlobe만 포함하도록 좁게 설정할 수 있으므로 sampling rate도 그만큼 작은 값을 사용할 수 있다는 장점이 있다. 또한, Autocorrelation Side-Peak Cancellation Technique (ASPeCT) 알고리즘 (Julien et al. 2007)을 적용하여 BOC 신호의 모호성을 제거할 수 있다. 반면에 CBOC(6, 1, 1/11) 기반의 처리를 선택하면 온전한 Galileo E1B 신호를 손실없이 처리할 수 있다.

f3.png 이미지

Fig. 3. The subcarrier shape of E1B signal.

SDR은 사용자가 선택한 방식에 맞게 CBOC(6, 1, 1/11) 혹은 BOC(1, 1) 형태로 Galileo E1B의 신호 획득 및 추적을 수행한다. 그리고 Galileo ICD (2021)에 설명된 대로 항법 과정을 거쳐서 사용자의 위치를 계산한다.

3.3 Galileo E5a

Galileo E5는 두개의 신호를 동시에 송출하는 방식인 Alternative Binary Offset Carrier (AltBOC)으로 변조되어 방송되는 광대역 신호이다. E5 신호에는 E5a와 E5b 신호가 있으며, 수신기에서는 이러한 두 신호를 각각 Quadrature Phase Shift Keying (QPSK) 변조 신호로 취급하여 처리하거나 AltBOC 변조 신호로 두 신호를 통합하여 처리할 수 있다 (Kaplan & Hegarty 2017). 또한 각 신호는 데이터 채널과 파일럿 채널로 구성되어 있는데, 본 논문의 SDR은 Galileo E5a의 데이터 채널인 E5a-I를 Binary Phase Shift Keying (BPSK)로 취급해 처리하였다.

Galileo E5a-I는 BDS B1I와 마찬가지로 secondary 코드에 의한 비트 반전이 존재하므로 본 논문의 SDR은 Galileo E5a-I에 대한 신호 획득으로 두 가지 선택지를 제공한다. 일반적인 상황에서는 replica code 생성 과정에서 zero-padding 기법을 사용하여 비트 반전의 영향을 받지 않고 신호 획득을 수행한다. 반면에 secondary 코드와 primary 코드를 곱해 새로운 replica 코드를 생성하여 신호 획득을 수행할 수도 있다 (Pany 2010). 신호 추적의 경우 기존의 GPS L1 C/A의 신호 추적 알고리즘 및 함수를 그대로 공유하여 사용한다. 항법은 Galileo E1B와 마찬가지로 Galileo ICD (2021)를 참고하여 구현했으며, SDR은 Galileo ICD에 설명된 대로 항법 과정을 거쳐서 수신기의 위치를 추정한다.

3.4 Navigation with Multi-Constellation

본 논문의 SDR은 사용자의 선택에 따라서 다양한 GNSS에 대한 측정치를 동시에 사용하여 사용자의 위치를 추정하는 다중 위성군 항법 기능을 지원한다. 사용자는 SDR의 처리 가능 신호 목록에서 자유롭게 선택하여 다양한 위성군 경우의 수를 조합할 수 있다. 즉, SDR은 단일 시스템을 이용한 항법과 여러 시스템을 통합한 항법을 모두 지원하며, 이는 앞에서 설명했듯이 구조적인 변경없이 configuration file의 변경만으로 가능하다.

본 논문의 SDR은 Least Square Estimation (LSE)을 이용하여 사용자의 위치를 추정한다. 이때 복수의 위성군을 통합하여 위치를 추정하기 위해서 SDR은 각 위성군에 대한 clock bias를 개별적으로 추정한다. 이에 대한 자세한 설명은 다음과 같다. 먼저, 위성의 측정치인 의사거리는 Eq. (1)과 같이 모델링할 수 있다.

\(\rho_{n,N}=\sqrt{ (x_{s,n}-x)^2+(y_{s,n}-y)^2+(z_{s,n}-z)^2 }+B_N\)                                                                   (1)

여기서 \(\rho_{n,N}\)\(N\)번째 위성군의 \(n\)번째 위성의 의사거리 [m]이고, \(x_{s,n}, y_{s,n}, z_{s,n}\)\(n\)번째 위성의 Earth-Centered Earth-Fixed (ECEF) 위치 [m], \(x, y, z\)는 사용자의 ECEF 위치 [m]이며, \(B_N\)\(N\)번째 위성군의 clock bias [m]이다. 다음으로 단일 시스템에 대한 측정치 벡터는 Eq. (1)에서 설명한 측정치로 구성되며, Eq. (2)와 같다.

\(Z_{const,N}=[ {\rho_{1,N} ~~~ \rho_{2,N} ~~~ ⋯ ~~~ \rho_{n,N} }]^T\)                                                                                     (2)

여기서 \(Z_{const,N}\)\(N\)번째 위성군에 대한 측정치 벡터이다. Eq. (2)를 다중 위성군에 적용하기 위해서 확장하면 Eq. (3)과 같다.

\(Z=[Z_{const,1}^T ~~~ Z_{const,2}^T ~~~ ⋯ ~~~ Z_{const,N}^T]^T\)                                                                                     (3)

즉, 다중 위성군에 대한 측정치 벡터는 각각의 단일 시스템의 측정치 벡터를 이어 놓은 형태로 구성된다. 추정치 벡터의 경우, 각 위성군에 대한 clock bias를 포함해야 하므로 Eq. (4)와 같다.

\(\theta=[x ~~~ y ~~~ z ~~~ B_1 ~~~ B_2 ~~~ ⋯ ~~~ B_N ]^T\)                                                                                         (4)

Eqs. (1)과 (4)에서 볼 수 있듯이 측정치와 추정치는 비선형적인 관계를 갖는다. 따라서 LSE를 사용하기 위해서 선형화가 필요하며, 이는 측정치의 추정치에 의한 편미분 형태로 근사화 될 수 있다. 이때 선형화된 Jacobian 행렬의 각 열은 추정치의 각 행에 의한 측정치의 편미분 형태로 구성된다. Eq. (1)에서 모델링한 측정치 수식은 해당 위성군의 clock bias만 포함하지만, Eq. (4)의 추정치 벡터는 SDR의 모든 처리 대상 위성군의 clock bias를 포함하고 있으므로, clock bias에 의한 편미분 결과는 0과 1의 두 가지 경우의 수를 갖게 되며 이는 Eq. (5)와 같다.

\({\partial\rho_{n,N} \over \partial B_M} = \left\{ \begin{array}{l} 1, ~~~~ N=M \\ 0, ~~~~ N \neq M \end{array} \right.\)                                                                                                     (5)

Eq. (5)에서 볼 수 있듯이 이러한 편미분 결과는 측정치의 위성군 \(N\)과 추정치의 위성군 M이 같은 경우에는 1의 값을 갖고, 그렇지 않으면 0의 값을 갖게 된다. 예를 들어서 3개의 위성군이 존재하고, 각 위성군의 측정치가 2개씩 존재한다면 선형화된 Jacobian 행렬은 Eq. (6)과 같다.

\(H=\left[ \left[ {\partialρ_{n,N} \over \partial x} ~~~ {\partial\rho_{n,N} \over \partial y} ~~~ {\partial\rho_{n,N} \over \partial z} \right]_{6×3} \begin{array}{ccc}1&0&0 \\ 1&0&0 \\ 0&1&0 \\ 0&1&0 \\ 0&0&1 \\ 0&0&1 \end{array}\right]_{6×6}\)                                                                                     (6)

4. IMPLEMENTATION USING SDR

4.1 Signal Recording

현재까지 개발한 본 논문의 SDR은 후처리 방식이므로 RF front-end를 이용하여 수신한 GNSS 신호를 저장한 후 이를 후처리 방식으로 처리한다. 본 논문에서는 NI USRP-2944R 모델을 RF front-end로 사용했다. 해당 모델에 대한 자세한 정보는 Table 5에 나타나 있다 (National Instruments 2017).

Table 5. Specifications of RF front-end.

Frequency range
Frequency step
Gain range
Gain step
Maximum input power
Noise figure
Frequency accuracy
Maximum real-time bandwidth
Maximum sampling rate
ADC resolution
ADC SFDR*
10 MHz ~ 6 GHz
< 1 kHz
0 dB ~ 37.5 dB
0.5 dB
-15 dBm
5 dB ~ 7 dB
2.5 ppm
160 MHz
200 MS/s
14 bit
88 dB

*SFDR: Spurious-Free Dynamic Range

 

전체적인 신호 수신 환경은 Fig. 4와 같이 구성했다. 먼저 건물 옥상에 위치한 안테나에서 수신한 신호가 증폭기에서 30 dB만큼 증폭된다. 증폭기로는 GPS Networking 사의 NRRKAMP-T/5/220 모델을 사용했다. 증폭된 신호는 1-to-4 분배기를 통해서 분배가 되는데, 분배기로는 GPS Networking 사의 NLDCBS1X4-T/5.0/220 모델을 사용하였다. 분배된 4개의 신호 중 2개의 신호는 각각 USRP의 1번 포트와 2번 포트로 입력되고, 1개의 신호는 SDR의 처리 결과를 검증하기 위한 기준 수신기로 입력되며, 나머지 하나의 신호는 사용되지 않는다. 기준 수신기는 IFEN GmbH 사의 SX3 모델을 사용했다 (IFEN GmbH 2021).

f4.png 이미지

Fig. 4. Picture of signal receiving environment.

일반적으로 중심 주파수가 다른 신호는 별개의 RF front-end를 이용하여 수신한다. 하지만 다수의 RF front-end를 통해서 수신한 신호를 통합하여 사용하기 위해서는 각 RF front-end 간의 시각 동기화를 필요로 한다. 이러한 RF front-end 간의 시각 동기화는 고가의 시각 분배기 장비 등을 사용하지 않으면 해결하기 어려운 문제이다. 만약 단일 RF front-end로 중심 주파수가 다른 여러 신호를 수신할 수 있다면 이러한 문제에서 벗어날 수 있지만, 여러 시스템의 스펙트럼이 겹쳐짐으로써 손실이 발생할 수 있다. Park et al. (2017)은 이렇게 단일 RF front-end로 여러 시스템을 겹쳐서 수신할 때의 영향을 분석했다. 해당 논문에서는 단일 RF front-end의 중심 주파수를 다양하게 변경해가며 L1 대역의 GPS, BDS, GLONASS 신호를 동시에 수신 및 처리했다. 그리고 각 시나리오에 대해서 추정한 \(C/N_0\)의 변화량을 비교하여 스펙트럼의 겹쳐짐에 의한 손실과 신호를 imaginary 영역으로 수신할 때의 영향을 분석했다. 결과적으로 스펙트럼의 겹쳐짐 및 imaginary 영역에서의 수신에 의한 손실은 크지 않으므로 단일 RF front-end로 여러 신호를 동시에 수신해도 문제가 없다는 결론을 얻었다.

본 논문에서 사용한 RF front-end인 USRP-2944R은 두 개의 Radio Frequency Integrated Circuit (RFIC)를 포함하고 있으며 이중 주파수 신호를 동시에 수신할 수 있다. 또한 USRP 내부의 각 RFIC는 동일한 local oscillator를 사용하므로 이중 주파수 대역에 대해서 동일한 sampling rate를 적용하면서 자연스럽게 시각 동기화가 이루어진다. 본 논문에서는 L1과 L5 대역의 대상 신호들을 동시에 수신하기 위해서 Park et al. (2017)이 제시한 주파수 계획에 대한 예시를 참고하여 Fig. 5와 같이 주파수 계획을 설정하였다. 그림의 오른쪽 부분은 L1 대역에 대한 주파수 계획이고, 왼쪽 부분은 L5 대역에 대한 주파수 계획이며, 각 주파수 계획은 USRP의 각 입력 포트에 할당되었다. 두 주파수 계획 모두 25 MHz의 sampling rate를 가지며, 중심 주파수는 각각 1570.8165 MHz와 1176.45 MHz로 설정했다. 이러한 주파수 계획을 이용하여 SDR의 모든 대상 신호의 mainlobe를 완전하게 수신할 수 있다.

f5.png 이미지

Fig. 5. Frequency plan for signal recording using dual frequency RF front-end.

4.2 Signal Processing Results

이 절에서는 SDR을 이용하여 실제 신호를 처리한 결과를 신호 획득, 추적, 항법에 대하여 신호 처리 순서대로 제시한다. 신호 수신은 2021년 3월 19일 21시 57분 (KST)에 인하대학교 하이테크센터 옥상에 위치한 안테나를 이용해서 90초동안 이뤄졌다. Figs. 6a와 6b는 각각 USRP의 1번 포트와 2번 포트로 수신한 L1과 L5 대역의 신호의 일부를 주파수 영역과 시간 영역, 히스토그램으로 표현한 것이다. 해당 그림은 수신한 신호가 처리하기 적절한 조건으로 수신되었는지 여부에 대한 점검 과정에서 사용된다.

f6.png 이미지

Fig. 6. Frequency & time domain plot and histogram of received signal: (a) L1 band, (b) L5 band.

Fig. 7은 SDR의 각 대상 신호들에 대한 신호 획득 결과이다. GPS L1 C/A, QZSS L1 C/A, BDS B1I, Galileo E1B, Galileo E5a의 신호 획득 결과가 Figs. 7a에서 7e까지 순서대로 나타나 있다. 그림의 x축은 위성의 PRN 번호이며, y축은 acquisition metric인데, 이는 신호 획득 과정에서의 correlation 결과의 크기와 비례한다. 즉, acquisition metric이 높을수록 해당 위성의 신호의 세기가 강하다고 추정된다. SDR은 신호 획득 과정에서 해당 PRN 번호의 위성이 가시 위성인지 판단할 때 acquisition metric 값을 사용하게 된다. 본 논문의 SDR에서는 acquisition metric을 전체 correlation 결과 중 가장 큰 결과값과 두 번째로 큰 결과값의 비율로 설정했다. 가장 큰 결과값은 신호가 존재할 것으로 판단되는 bin에 위치하고 있고, 두 번째로 큰 결과값은 나머지 잡음만 존재하는 bin들 중 correlation 결과가 가장 큰 bin에 위치한다. 두 번째로 큰 결과값은 잡음에 의한 성분이므로 가시 위성의 존재 유무와 관계없이 일정한 범위의 값을 갖는다. 하지만 가장 큰 결과값은 가시 위성이 존재할 경우 해당 위성의 신호 세기에 비례하여 크기가 커지므로 이러한 두 결과값의 비를 이용하여 가시 위성의 존재 여부를 판단하는 것이 가능하다. SDR은 이러한 acquisition metric을 어떠한 threshold와 비교하여 acquisition metric이 더 클 경우 해당 위성을 가시 위성이라고 판단한다. Threshold의 경우 적절한 검출 확률과 false alarm을 갖도록 경험적으로 수치를 조절해가며 적절한 threshold 값을 찾는 과정을 통해 2.5의 값을 선택하여 사용했다.

f7.png 이미지

Fig. 7. Acquisition results with respect to each target scenario: (a) GPS L1 C/A, (b) QZSS L1 C/A, (c) BDS B1I, (d) Galileo E1B, (e) Galileo E5a.

Fig. 8은 SDR의 대상 신호들에 대한 신호 추적 결과이다. 그림에는 correlator output 중 inphase prompt와 quadrature prompt에 해당하는 값이 IQ diagram 형태로 표시되어 있다. 추적 루프에서 Delay Locked Loop (DLL)이 준수하게 동작했다면 inphase prompt의 크기가 충분히 큰 상태로 유지되고, Phase Locked Loop (PLL)이 잘 동작했다면 quadrature prompt의 크기가 작은 상태로 유지된다. 결과적으로 추적 루프가 원활하게 동작했다면 신호 추적 결과인 IQ diagram은 (1, 0)과 (-1, 0)의 두 지점에 모든 값이 모여 있는 형태로 나타나야 한다. 본 논문의 SDR은 항법 단계에서 항법 메시지를 추출할 때 신호 추적 결과의 inphase prompt 값을 이용한다. 이때 항법 메시지는 0과 1의 두 단계 값 만을 가지므로 SDR은 inphase prompt 값의 부호만을 사용하여 항법 메시지를 추출한다. 따라서 신호 추적 결과 inphase prompt의 부호를 구분하는데 있어서 모호성이 존재하지 않는다면 SDR은 항법 메시지를 오류 없이 추출할 수 있다. Fig. 8을 보면 모든 5개의 신호에 대해서 공통적으로 두 개의 원이 (1, 0)과 (-1, 0) 지점에 모여 있을 뿐 아니라 두 원이 맞닿아 있지 않고, 두 원 사이의 거리가 충분히 멀게 형성되어 inphase prompt의 부호를 구분하는데 있어서 모호성이 존재하지 않으므로 항법 메시지를 추출하는 과정이 원활할 것을 예상할 수 있다.

f8.png 이미지

Fig. 8. Tracking results with respect to each target scenario: (a) GPS L1 C/A, (b) QZSS L1 C/A, (c) BDS B1I, (d) Galileo E1B, (e) Galileo E5a.

Fig. 9는 USRP를 이용하여 수신한 L1 대역과 L5 대역의 신호들을 이용한 위치 추정 결과 그림이다. L1 대역에 대한 결과인 Fig. 9a는 위치 추정에 사용한 위성의 수가 많고 위성군도 다양하기 때문에 최종적으로 추정된 위치가 상대적으로 중심에 모여 있는 형태를 갖는 것을 확인할 수 있다. 또한 그림에서 확인할 수 있듯이 L1 대역의 수치적 결과는 2.3798 m의 2D Root Mean Square (RMS) 위치 오차를 갖고, 0.7914의 Position Dilution Of Precision (PDOP)을 갖는다. 하지만 L5 대역에 대한 결과인 Fig. 9b는 하나의 위성군만을 이용했고, 위성의 수도 적기 때문에 상대적으로 위치 추정 결과가 중심으로부터 퍼져 있는 형태를 갖는 것을 확인할 수 있다. 수치적으로는 L1 대역의 결과보다 큰 값인 5.1636 m의 2D RMS 위치 오차와 2.4058의 PDOP 값을 가졌다.

f9.png 이미지

Fig. 9. Navigation results with respect to each band: (a) L1 band, (b) L5 band.

Fig. 10은 SDR이 위치 추정 과정에서 사용한 위성들의 sky plot이다. 그림의 검정색은 GPS, 빨간색은 QZSS, 파란색은 BDS, 초록색은 Galileo의 위성을 의미한다. Fig. 11은 SDR을 검증하기 위한 기준 수신기인 SX3에서 출력된 sky plot이다. Figs. 11a와 11b에 각각 GPS에 대한 sky plot과 BDS, Galileo에 대한 sky plot이 그려져 있다. Fig. 11에서는 각 위성군을 PRN 번호 앞의 문자를 이용해서 구분할 수 있는데, G는 GPS, C는 BDS, E는 Galileo를 의미한다. Fig. 10와 Fig. 11을 비교해봤을 때, 각 수신기에서 계산한 수신기에 대해서 상대적인 위성들의 위치가 유사함을 확인할 수 있다. 또한, 각 수신기에서 추정한 사용자의 위치 결과를 비교하여 SDR을 검증할 수 있다. 이러한 수신기의 위치 결과로는 동일한 시간동안 각 수신기가 추정한 위치들에 대한 평균값을 사용했다. 먼저 기준 수신기에 해당하는 SX3의 위치 추정 결과는 위도 37.4505304680405도, 경도 126.657437873635도, 고도 106.217841134407 m로 계산되었다. 다음으로 본 논문에서 제시하는 SDR의 위치 추정 결과는 위도 37.450526470377도, 경도 126.657437550860도, 고도 114.285640520270 m로 계산되었다. 이러한 두 평균값의 East North Up (ENU) 축에서의 2D 차이는 약 0.4446 m로 유사한 위치를 갖는 것으로 생각된다. 최종적으로 두 수신기 간에 추정한 사용자의 위치 및 위성의 위치가 유사하므로 본 논문의 SDR이 주어진 시나리오에 대한 신호들을 잘 처리했다고 판단할 수 있다.

f10.png 이미지

Fig. 10. Sky plots obtained from the introduced SDR: (a) L1 band, (b) L5 band. Each scenario is represented as different colors: Black is for GPS, Red is for QZSS, Blue is for BDS, Green is for Galileo.

f11.png 이미지

Fig. 11. Sky plots obtained from the reference receiver, SX3: (a) GPS, (b) BDS & Galileo. G is for GPS, C is for BDS, E is for Galileo.

4.3 Navigation Performance Analysis on Multiple Constellation

본 논문의 SDR은 2장에서 설명했듯이 처리 대상 신호에 대해서 reconfigurability를 지원하므로 대상 신호의 조합을 다양하게 변경해가며 각 조합에 대한 위치 추정 성능을 비교 분석해볼 수 있다. GPS L1 C/A를 포함한 L1 대역 신호의 다양한 위성군 조합에 대한 위치 추정 성능이 Table 6에 나열되어 있다. 표의 1열은 위치 추정에 사용한 위성군에 대한 정보이며, 각 위성군을 문자를 이용하여 구분했다. G는 GPS L1 C/A, Q는 QZSS L1 C/A, B는 BDS B1I, E는 Galileo E1B를 의미한다. 2열은 해당 시나리오에서 위치 추정에 사용한 위성의 수이고, 3열과 4열은 각각 추정된 Geometric Dilution Of Precision (GDOP)과 PDOP 값에 해당된다. 마지막 열인 5열은 ENU 축에서의 수신기가 추정한 위치의 2D RMS 오차 값이다. 2D RMS 오차 값을 이용하여 추정된 위치 집단이 얼마나 뭉쳐 있는지를 확인할 수 있다.

Table 6. Navigation results for various combinations of L1 band signals containing GPS L1 C/A.

Constellation scenario SV num GDOP PDOP 2D RMS error [m]
G
G + Q
G + B
G + E
G + Q + B
G + Q + E
G + B + E
G + Q + B + E
10
14
23
18
27
22
31
35
1.5436
1.9330
1.4999
1.3515
1.7290
1.6400
1.3778
1.5853
1.4015
1.1516
1.1247
1.0696
0.9443
0.8965
0.9223
0.7914
5.0015
4.8054
3.6472
3.2310
3.4536
3.1440
2.4504
2.3798

*G: GPS L1 C/A, Q: QZSS L1 C/A, B: BDS B1I, E: Galileo E1B

 

먼저 PDOP과 2D RMS 오차의 경우, 특정 위성군이 추가되어서 가시 위성의 수가 증가하면 위성군이 추가되기 전에 비해서 언제나 성능이 개선되는 것을 확인할 수 있다. 하지만 GDOP의 경우 기존의 위성군에서 Galileo와 BDS가 추가되는 경우에는 감소했지만, QZSS가 추가되는 경우에는 오히려 증가하는 것을 확인할 수 있다. 이는 상대적으로 부족한 QZSS의 가시 위성 수에 의한 QZSS의 clock bias 성분에 대한 부정확한 추정이 원인인 것으로 생각되며, 이에 대한 자세한 설명은 다음과 같다. GDOP은 위치 추정 과정에서 사용한 시스템 행렬을 이용하여 Eq. (7)과 같이 계산할 수 있다.

\(GDOP=\sqrt{trace((H^T H)^{-1} ) }\)                                                                                               (7)

여기서 \(H\)는 위치 추정 과정에서 사용한 시스템 행렬이며, \(trace(\cdot)\)는 행렬의 대각선 성분의 요소별 덧셈이다. Table 6의 마지막 행인 GPS, QZSS, BDS, Galileo를 모두 사용한 시나리오에 대한 SDR에서 계산된 \(H^T H\)의 대각선 성분은 Eq. (8)과 같다.

\((H^T H)_{diag}=[17.0480 ~~~ 17.4257 ~~~ 11.2621 ~~~ 10 ~~~ 4 ~~~ 13 ~~~ 8]\)                                                                           (8)

여기서 \((\cdot)_{diag}\)는 행렬의 대각선 성분을 벡터 형태로 표현한 것이다. Eq. (8)에서 확인할 수 있듯이 \(H^T H\)의 대각선 성분의 4 ~ 7번째 요소는 각 위성군에 대한 가시 위성 수와 같은 값을 갖는다. 이때 QZSS의 경우 다른 위성군에 비해서 상대적으로 적은 가시 위성 수를 갖게 되므로 QZSS의 clock bias를 정확하게 추정하기에는 측정치의 양이 부족할 수 있다. 이러한 영향은 추정 과정에서의 공분산으로 취급할 수 있는 \((H^T H)^{-1}\)에 나타나며 이 행렬의 대각선 성분은 Eq. (9)와 같다.

\(((H^T H)^{-1} )_{diag}=[0.1614 ~~~ 0.3060 ~~~ 0.1595 ~~~ 0.1996 ~~~ 1.0967 ~~~ 0.3526 ~~~ 0.2483]\)                                                           (9)

여기서 1 ~ 3번째 요소는 각각 ECEF 축에서 x, y, z 성분에 대한 요소들이고, 4 ~ 7번째 요소는 각 위성군에 대한 clock bias 성분의 오차의 크기와 관련되어 있다. 수식에서 확인할 수 있듯이 QZSS의 clock bias에 해당하는 요소인 5번째 요소는 다른 요소에 비해서 상대적으로 매우 큰 값을 갖는 것을 확인할 수 있다. 그러므로 QZSS의 clock bias 항목이 상대적으로 부정확하게 추정되었고, 결과적으로 전체적인 GDOP의 증가에 영향을 미쳤음을 짐작해볼 수 있다.

5. CONCLUSIONS

본 논문에서는 fully reconfigurable multi-constellation & multi-frequency SDR에 대해서 소개했다. 먼저 SDR이 갖는 reconfigurability에 대해서 신호 처리 결과 데이터 및 SDR의 구조가 소개되었고, 신호 처리에 사용하는 파라미터의 변동성과 신호 처리 기능의 수정 및 추가에 대한 설명이 이어졌다. 이러한 SDR의 동작 특성은 단 하나의 configuration file에 의해서 결정될 수 있으므로 사용자는 configuration file의 수정 및 교체만으로 SDR을 구조적인 변화없이 사용자의 목적에 맞게 전혀 다르게 동작 시킬 수 있다.

이어서 SDR의 처리 대상 신호 중 일부에 해당하는 BDS B1I, Galileo E1B, Galileo E5a를 처리하는 과정에 대한 설명이 이루어졌고, 각 신호의 특징과 그에 따른 처리 과정에서 유의해야 할 사항이나 SDR이 사용한 알고리즘 등이 소개되었다. 또한 다중 위성군을 활용한 위치 추정 방식이 수식의 모델링 과정과 함께 설명되었다. 단일 위성군을 사용했을 때와 다양한 위성군을 이용했을 때의 가장 큰 차이점은 각 위성군의 clock bias를 별개로 모델링하여 추정한다는 점이다.

마지막으로 본 논문에서 소개한 SDR의 처리 결과를 신호 획득, 추적, 항법에 대해서 제시하였다. SDR의 검증은 IFEN GmbH 사의 SX3 수신기를 이용하여 이뤄졌다. SDR과 SX3에서 출력된 sky plot 및 각 수신기에서 계산한 사용자의 위치를 비교하여 최종적으로 본 논문의 SDR이 정상적으로 동작함을 확인하였다. 그리고 SDR의 reconfigurability를 활용하여 다양한 위성군 조합에 대한 위치 추정 성능을 비교하였다. 추후에는 이와 유사하게 현재 개발되고 있는 KPS 신호의 성능 분석 단계에서 SDR을 이용하여 다양한 위성군 조합에 대한 위치 추정 성능을 확인해 볼 수 있을 것으로 기대한다.

본 논문의 SDR은 이중 주파수 신호를 처리할 수 있지만, 두 신호를 개별적으로 처리한다. 추후에 이러한 이중 주파수 신호를 연계하여 처리하여 이온층 오차 보정 등의 추가적인 성능 개선이 가능할 것으로 생각된다. 또한 SDR은 다중 위성군을 고려한 방식으로 신호 처리 구조와 데이터 구조가 이루어져 있으므로 새로운 대상 신호를 쉽게 추가하여 SDR이 확장될 수 있을 것으로 보인다.

추가적으로, 본 논문의 SDR은 후처리 기반으로 신호를 처리하므로 후처리 방식에 적합한 구조를 가진다. 예를 들어서, 신호 획득 과정은 각 대상 신호에 대해서 최초에 1회만 수행되며, 이후에는 아직 획득하지 못한 위성들에 대한 신호 획득을 시도하지 않는다. 추후에 본 논문의 SDR이 실시간 방향으로 발전하기 위해서는 반드시 SDR의 신호 처리 구조를 실시간 처리에 적합하도록 변경해야 한다. 예시로 사용했던 신호 획득 과정의 경우 실시간 처리에 적합하게 변경된다면 SDR의 최초 동작 시점에 수행될 뿐 아니라 신호 추적이나 항법 과정에도 주기적으로 추가적인 위성에 대한 신호 획득을 시도하여야 한다. 또한, 신호 추적 과정에서는 지속적으로 추적 루프의 lock 상태를 확인하여 lock이 풀렸을 경우 해당 위성에 대한 신호 재획득을 시도하여야 한다. 이렇게 SDR이 실시간 방향으로 발전하기 위한 구조적인 변경, 알고리즘, 실시간 처리를 위한 빠른 연산 속도 등에 대한 연구는 추후에 다뤄질 것이다.

ACKNOWLEDGMENTS

이 연구 논문은 정부 (과학기술정보통신부)의 재원으로 한국연구재단 (No. 2020R1A2C2013091) 및 한국전자통신연구원 연구운영비지원사업 (연결의 한계를 극복하는 초연결 입체통신 기술연구) (21ZH1100) 학술용역 (위탁연구과제)의 지원을 받아 수행된 연구입니다.

AUTHOR CONTRIBUTIONS

Conceptualization, Song, Y. -J. and Won, J. -H.; methodology, Song, Y. -J. and Won, J. -H.; software, Song, Y. -J. and Lee, H.; validation, Song, Y. -J. and Won, J. -H.; formal analysis, Song, Y. -J. and Lee, H.; investigation, Song, Y. -J. and Lee, H.; resources, Song, Y. -J. and Won, J. -H.; data curation, Song, Y. -J.; writing—original draft preparation, Song, Y. -J.; writing—review and editing, Song, Y. -J. and Won, J. -H.; visualization, Song, Y. -J.; supervision, Won, J. -H.; project administration, Won, J. -H.; funding acquisition, Won, J. -H.

CONFLICTS OF INTEREST

The authors declare no conflict of interest.

References

  1. Akos, D. M. 1997, A software radio approach to global navigation satellite system receiver design, PhD Dissertation, Ohio University.
  2. BeiDou ICD 2019, BeiDou Navigation Satellite System Signal In Space Interface Control Document, Open Service Signal B1I (Version 3.0), China Satellite Navigation Office
  3. Bhuiyan, M. Z. H., Soderholm, S., Thombre, S., Ruotsalainen, L., & Kuusniemi, H. 2014, Overcoming the challenges of BeiDou receiver implementation, Sensors, 14, 22082-22098. https://doi.org/10.3390/s141122082
  4. Borre, K., Akos, D. M., Bertelsen, N., Rinder, P., & Jensen, S. H. 2007, A software-defined GPS and Galileo receiver: a single-frequency approach, Springer Science & Business Media.
  5. Fernandez-Prades, C., Arribas, J., Closas, P., Aviles, C., & Esteve, L. 2011, GNSS-SDR: An Open Source Tool for Researchers and Developers, Proceedings of the 24th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS 2011), September 20-23, 2011, Portland, OR, pp.780-794.
  6. Galileo ICD 2021, European GNSS (Galileo) Open Service Signal-In-Space Interface Control Document, OS SIS ICD (Issue 2.0), European Union
  7. GPS World Staff 2018, Korea will launch its own satellite positioning system, GPS World, 5 February 2018
  8. IFEN GmbH, SX3 GNSS Software Receiver [Internet], cited 2021 Apr 15, available from: https://www.ifen.com/products/sx3-gnss-software-receiver/
  9. Julien, O., Macabiau, C., Cannon, M. E., & Lachapelle, G. 2007, ASPeCT: unambiguous sine-BOC (n, n) acquisition/tracking technique for navigation applications, IEEE Transactions on Aerospace and Electronic Systems, 43, 150-162. https://doi.org/10.1109/TAES.2007.357123
  10. Kaplan, E. D. & Hegarty, C. J. 2017, Understanding GPS/GNSS: Principles and Applications. 3rd ed. (Boston: Artech House Inc.)
  11. Li, X., Zhang, X., Ren, X., Fritsche, M., Wickert, J., et al. 2015, Precise positioning with current multi-constellation global navigation satellite systems: GPS, GLONASS, Galileo and BeiDou, Scientific reports, 5, 1-14. https://doi.org/10.1038/srep08328
  12. Lohan, E. S. 2010, Analytical performance of CBOC-modulated Galileo E1 signal using sine BOC(1, 1) receiver for mass market applications, Proceedings of IEEE/ION PLANS 2010, pp.245-253
  13. Meng, Q., Liu, J. Y., Zeng, Q. H., Feng, S. J., & Chen, R. Z. 2016, Neumann-Hoffman code evasion and stripping method for BeiDou software-defined receiver, The Journal of Navigation, 70, 101-119. https://doi.org/10.1017/S0373463316000515
  14. National Instruments 2017, USRP-2944 Specifications - USRP Software Defined Radio Reconfigurable Device Manual [Internet], cited 2021 May 21, available from: https://www.ni.com/documentation/en/usrp-software-defined-radio-reconfigurable-device/latest/specs-usrp-2944/specs/
  15. Pany, T. 2010, Navigation signal processing for GNSS software receivers (Norwood: Artech House)
  16. Park, K. W., Chae, J. G., Song, S. P., Son, S. B., Park, C., et al. 2017, A Performance Analysis of Multi-GNSS Receiver with Various Intermediate Frequency Plans Using Single RF Front-end, Journal of Positioning, Navigation, and Timing, 6, 1-8. https://doi.org/10.11003/JPNT.2017.6.1.1
  17. Soderholm, S., Bhuiyan, M. Z. H., Thombre, S., Ruotsalainen, L., & Kuusniemi, H. 2016, A multi-GNSS software-defined receiver : design, implementation, and performance benefits, Annals of Telecommunications, 71, 399-410. https://doi.org/10.1007/s12243-016-0518-7
  18. Stober, C., Anghileri, M., Ayaz, A. S., Dotterbock, D. & Pany, T., et al. 2010, ipexSR: A real-time multi-frequency software GNSS receiver, Proceedings ELMAR-2010 IEEE, pp.407-416
  19. Won, J. H., Pany, T., & HeiN, G. W. 2006, GNSS software defined radio, Inside GNSS, 1, 48-56.