DOI QR코드

DOI QR Code

Choice of Efficient Sampling Rate for GNSS Signal Generation Simulators

  • Jinseon Son (Department of Electrical and Computer Engineering, Autonav Lab, Inha University Graduate School) ;
  • Young-Jin Song (Department of Electrical and Computer Engineering, Autonav Lab, Inha University Graduate School) ;
  • Subin Lee (Department of Electrical and Computer Engineering, Autonav Lab, Inha University Graduate School) ;
  • Jong-Hoon Won (Department of Electrical Engineering, Inha University)
  • Received : 2023.07.19
  • Accepted : 2023.08.25
  • Published : 2023.09.15

Abstract

A signal generation simulator is an economical and useful solution in Global Navigation Satellite System (GNSS) receiver design and testing. A software-defined radio approach is widely used both in receivers and simulators, and its flexible structure to adopt to new signals is ideally suited to the testing of a receiver and signal processing algorithm in the signal design phase of a new satellite-based navigation system before the deployment of satellites in space. The generation of highly accurate delayed sampled codes is essential for generating signals in the simulator, where its sampling rate should be chosen to satisfy constraints such as Nyquist criteria and integer and non-commensurate properties in order not to cause any distortion of original signals. A high sampling rate increases the accuracy of code delay, but decreases the computational efficiency as well, and vice versa. Therefore, the selected sampling rate should be as low as possible while maintaining a certain level of code delay accuracy. This paper presents the lower limits of the sampling rate for GNSS signal generation simulators. In the simulation, two distinct code generation methods depending on the sampling position are evaluated in terms of accuracy versus computational efficiency to show the lower limit of the sampling rate for several GNSS signals.

Keywords

1. 서론

Global Navigation Satellite System (GNSS)는 전 지구 위성 항법 시스템으로 Position, Navigation, Timing (PNT) 정보를 수신할 수 있는 수단으로써 널리 사용되고 있다. GNSS로부터 얻은 PNT 정보는 교통, 항공 운행, 측량 등의 분야에서 이용되고 있으며 최근에는 4차 산업 혁명과 관련되어 그 수요가 점점 늘어나고 있다. 이러한 수요에 힘입어 한국도 Korean Positioning System (KPS)의 개발을 진행중이다 (Korea Aerospace Research Institute 2021).

GNSS 수신기 개발 시 위성에서 송신하고 있는 실제 신호를 이용할 경우 제약조건이 많고 원하는 시나리오에 대한 테스트를 수행할 수 없는 경우가 생긴다. 그러나 GNSS 신호생성 시뮬레이터를 이용하게 된다면 다양한 시나리오에 대해서 시뮬레이션을 진행할 수 있게 되어 개발하는 수신기의 성능 및 알고리즘 평가를 실제 신호를 이용하는 것보다 쉽게 할 수 있다. 또한, 연구 개발 단계인 KPS와 같은 경우 우주 공간 상에 실제 위성이 존재하지 않으므로 시뮬레이터를 활용하여 시스템 구축 이전에 전체 시스템 및 서비스의 성능을 확인할 필요가 있다. 이 때 하드웨어 기반의 신호생성 시뮬레이터의 경우 수신기 개발 시 유용하게 사용될 수 있지만 고가에 유연성이 떨어진다. 그러나 Software Defined Radio (SDR) 기반의 신호생성 시뮬레이터의 경우 하드웨어 기반의 시뮬레이터에 비해 경제성도 뛰어나며 신호의 파라미터를 변경하며 여러 시나리오에 대해 시뮬레이션을 수행할 수 있어 더 나은 유연성을 갖는다 (Julien et al. 2004, Won et al. 2004, Lim et al. 2008, Yin et al. 2009).

한편 GNSS 수신기 설계 시 샘플링 주파수는 신호의 분해능 (resolution)에 영향을 미치는 중요한 파라미터이다. 샘플링 주파수는 신호 한 주기 샘플 개수의 정수 여부, Nyquist rate, commensurability 등과 같은 제약조건을 고려하여 선정되어야 한다. 신호 한 주기 샘플 개수가 정수가 아닌 경우 신호 추적 과정에서 오차가 생기기 때문에 정수여야 한다. 또한 일반적인 샘플링 과정에서 Nyquist rate 보다 낮은 주파수로 샘플링을 수행할 경우 aliasing이 생기기 때문에 정확한 신호처리를 할 수 없다. 마지막으로 신호의 샘플링 주파수를 코드 변화율 (code rate)로 나누었을 때의 값이 정수일 경우 commensurate 하다고 하는데 commensurability는 수신기 측면에서 Thomas (1988)에 의해서 처음 언급되었고, 이후 Akos & Pini (2006)에 의해서 세부적으로 정리되었다. 이들은 commensurate 샘플링 주파수를 사용할 경우 Auto-Correlation Function (ACF)이 왜곡되고 그 결과 Delay Lock Loop (DLL)이 올바른 피드백을 할 수 없기 때문에 non-commensurate 샘플링 주파수를 사용한 경우보다 오차가 크다는 것을 밝혔다. 또한, Tran et al. (2018)은 commensurability에 의한 영향을 다양한 샘플링 주파수에 대해 알아보고 이론적인 분석을 추가하였다. 이와 같이 샘플링 주파수에 의한 이슈는 원래 수신기에서 발생하지만 수신기와 마찬가지로 GNSS 신호생성 시뮬레이터에서도 언급된 문제들이 동일 혹은 유사하게 발생한다. 따라서 신호 생성 시 이러한 오차발생을 피하기 위해 시뮬레이터 또한 수신기와 동일한 샘플링 주파수 설계 제약조건을 갖는다.

신호 생성 시 샘플링 주파수는 신호의 생성시간과 큰 연관이 있다. 높은 샘플링 주파수로 신호를 생성할수록 아날로그 신호와 유사하게 되고 분해능이 좋아지는 장점이 있는 반면 신호의 생성시간이 늘어나는 단점이 있다. Global Positioning System (GPS) L5 Standard Positioning Service (SPS) 신호, Galileo (GAL) E5 Open Service (OS) 신호 등과 같이 24 MHz 내외의 넓은 대역폭을 갖는 신호의 경우 비교적 높은 주파수로 샘플링을 수행할 수밖에 없고 그 결과 신호 생성 시간이 증가한다. 이 때 일정 분해능 이상을 만족함과 동시에 가능한 낮은 주파수로 효율적인 샘플링을 하면 연산 시간적인 측면에서 이득인 시뮬레이션 수행이 가능하다.

한편 일반적으로 디지털 수준에서 코드를 생성할 때, 원하는 코드지연 값만큼 코드를 이동시킨 후 샘플링을 하는 과정을 반복하게 된다 (Tsui 2005). 이 경우 매 주기마다 샘플링을 해야 하기 때문에 높은 주파수로 샘플링 하는 경우 코드 생성 시간이 오래 걸리게 된다. 하지만 코드에 대해서 먼저 샘플링을 한 후 원하는 코드지연 값만큼 이동시켜 코드를 생성하는 경우 기존 방식보다 코드 지연 정확도의 저하가 있을 수 있으나 생성 시간을 획기적으로 단축시킬 수 있다.

본 논문은 SDR 기반 GNSS 신호생성 시뮬레이터에서 신호 생성 시 코드 생성 방식마다 효율적인 신호 생성을 하기 위해 고려해야 할 샘플링 주파수의 제약조건과 이를 만족하였을 때의 샘플링 주파수의 하한 및 코드 생성 방식에 따른 신호 생성 시간을 측정 및 비교한다.v 논문의 구성은 다음과 같다. 2장은 시뮬레이터의 코드 생성부에서 코드 생성 시 샘플링 주파수 제약조건들을 제시하고 그에 따른 영향을 설명한다. 3장에서는 시뮬레이션 파라미터들에 대해 나타내고 시뮬레이션 시나리오를 제시 후 시나리오에 따른 시뮬레이션 결과를 분석하며 4장에서 결론을 맺는다.

2. 샘플링 주파수 제약조건

시뮬레이션 파라미터 중 샘플링 주파수는 중요한 파라미터이다. 신호를 왜곡없이 생성하기 위해서는 샘플링 주파수가 다음의 제약조건들을 만족해야 한다.

\(F_s≥2F_{max}={\rm Nyquist~rate}\)                                                                                 (1)

\(F_s\cdot T={\rm Integer}\)                                                                                                   (2)

\({F_s \over R}≠{\rm Integer~(Non-commensurate)}\)                                                                       (3)

여기서 \(F_s\)는 샘플링 주파수 [Hz], \(F_{max}\)는 신호의 최대 주파수 [Hz], R은 코드 변화율 [cps], \(T\)는 코드 한 주기의 길이 [sec]를 나타낸다. Eq. (1)은 Nyquist rate에 대해서 나타내는데 만약 Nyquist rate보다 작은 주파수로 샘플링을 하게 된다면 신호에 aliasing이 생긴다 (Borre et al. 2007). Eq. (2)는 샘플링 시 코드 한주기에 대한 샘플들의 개수가 정수가 되도록 샘플링 주파수를 선정해야 한다는 것을 의미한다. 즉, 샘플링 주파수에 따른 코드 한 주기의 샘플들의 개수가 정수여야 함을 나타낸다. 만약 수신기에서 코드 한 주기의 샘플들의 개수가 정수가 아니라면 마지막 샘플은 올림 혹은 내림 처리를 하게 되어 필연적으로 신호 추적 오차가 생기게 된다. 이 오차는 코드를 한 주기씩 생성할 때마다 누적되고 그 결과 올바르게 코드 지연 값을 할당할 수 없게 된다. 또한 이를 만족하지 못할 경우 수신기의 주파수 추적 루프 (Frequency Lock Loop, FLL)는 동작 가능하나, 위상 추적 루프 (Phase Lock Loop, PLL)는 오동작 하게 된다. Fig. 1은 코드 한 주기 샘플들의 개수의 정수 여부에 따른 코드 왜곡 유무에 대해서 나타낸다. 마지막으로 샘플링 주파수는 코드 변화율에 대해서 non-commensurate여야 한다. Eq. (3)을 통해 commensurability 여부를 판단하게 되는데 만약 commensurate 주파수를 샘플링 주파수로 사용할 경우 ACF가 왜곡되어 코드 지연 값 추정 시 오차가 생기게 된다. Fig. 2는 commensurability 여부에 따른 ACF를 나타낸다. Fig. 2a,b는 0.001 MHz의 근소한 샘플링 주파수 차이가 나지만 commensurate 주파수를 이용하여 신호를 생성한 Fig. 2a의 경우 ACF가 왜곡된 것을 확인할 수 있다. Fig. 3은 commensurability 여부에 따른 S-curve를 나타내는데, commensurate 주파수를 이용한 Fig. 3a의 경우 왜곡된 ACF에 의해 표현할 수 있는 S-curve value가 제한된 것을 확인할 수 있다. 또한, offset이 0인 지점에서 S-curve value가 0이 아니기 때문에 commensurate 주파수를 이용하여 신호를 생성한 경우 코드 지연 값을 정확하게 추종할 수 없다는 것을 확인할 수 있다.

F1.png 이미지
Fig. 1. Distortion of sample whether number of samples are integer in one period.

F2.png 이미지
Fig. 2. ACF with respect to commensurability. (a) ACF using commensurate \(F_s\) = 5.115 [MHz], (b) ACF using non-commensurate \(F_s\) = 5.116 [MHz].

F3.png 이미지
Fig. 3. S-curve with respect to commensurability. (a) S-curve using commensurate \(F_s\) = 5.115 [MHz], (b) S-curve using non-commensurate \(F_s\) = 5.116 [MHz].

가령 GPS L1 C/A 기저대역 신호 시뮬레이션의 경우 샘플링 주파수 제약조건을 만족하는 효율적인 샘플링 주파수를 선정한다면 우선 \(F_{max}\)는 1.023 MHz이기 때문에 샘플링 주파수는 기본적으로 2.046 MHz 이상으로 선정해야 한다. 두번째로 코드 한 주기의 샘플들의 개수의 정수 유무를 판단해야 한다. 예를 들어 20.1557 MHz를 샘플링 주파수로 선정한 경우 이 주파수에 코드 한 주기의 길이(=1 ms)를 곱하여 코드 한 주기의 샘플들의 개수가 20155.7 개임을 확인할 수 있는데, 코드 한 주기의 샘플들의 개수가 정수개가 아니기 때문에 20.1557 MHz는 샘플링 주파수로 선정하면 안된다. 즉, GPS L1 C/A의 경우 샘플링 주파수 [MHz]가 소수점 넷째자리 이하 값을 가진다면 코드 한 주기의 샘플들의 개수가 정수개가 아니게 된다. 마지막으로 commensurability를 따져야 한다. 만약 20.46 MHz를 샘플링 주파수로 선정한 경우 샘플링 주파수를 코드 변화율(=1.023 Mcps)로 나눈 값이 20으로 정수가 된다. 즉, commensurate하기 때문에 다른 주파수를 샘플링 주파수로 선정해야 한다.

3. 시뮬레이션 시나리오 및 결과

일반적으로 SDR과 같이 디지털 수준에서 코드를 생성하는 경우 하드웨어의 코드 생성 기법과 동일하게 시프트 레지스터를 이용하거나 메모리 코드 형태로 한 주기의 코드를 생성 및 저장 후 불러 쓰는 방식이 활용된다. 이 때 주어진 코드 지연값 만큼 이동시킨 후 샘플링하여 신호처리에 이용한다. Fig. 4는 샘플링 시점에 따른 지연 샘플코드 (delayed sampled code) 생성 방식의 차이를 나타낸다. Fig. 4a의 Sampling After Shift (SAS) 방식은 앞서 생성된 코드(±1 디지털 배열)를 지연시킨 후 샘플링하여 지연 샘플코드를 생성하는 일반적인 방식을 나타낸다 (Tsui 2005). SAS 방식은 코드 지연 값을 디지털 수준에서 정확하게 할당할 수 있지만 샘플링을 여러 번 수행해야 하기 때문에 코드 생성 시간이 오래 걸린다. Fig. 4b의 Sampling Before Shift (SBS) 방식은 앞서 생성된 코드를 샘플링하여 메모리에 저장 후 코드 지연값 만큼 이동하여 읽어오는 방식으로써 SAS 방식보다 부정확하지만 코드 생성 시간이 빠르다. 즉, SBS 방식은 SAS 방식과 샘플링 시점의 차이가 있다. 샘플링 시점을 바꿨을 때의 장점은 코드 생성 시 코드의 길이와 상관없이 샘플링을 한 번만 수행하여 메모리에 저장 후 읽어올 수 있기 때문에 코드 생성 시간이 짧아진다는 점이다. 하지만 코드 지연을 나타내는 분해능이 샘플링 주파수에 의해 결정되므로 낮은 샘플링 주파수를 사용할 경우 코드 지연 정확도가 떨어진다는 단점이 존재한다. 따라서 적절한 코드 지연 정확도를 유지하기 위해서는 어느 정도 높은 샘플링 주파수가 필요하다. 만약 일정 분해능 성능을 만족하는 샘플링 주파수를 찾을 수 있다면 SAS 방식보다 빠르게 신호를 생성하면서 약간의 코드 정확도 저하만 있는 신호를 만들 수 있을 것이다. 이와 같은 두 코드 생성 방식의 특징을 Table 1에 정리하였다.

F4.png 이미지
Fig. 4. Difference of code generation methods depending on sampling process location. (a) Sampling After Shift (SAS), (b) Sampling Before Shift (SBS).

Table 1. Features of two code generation methods.

  SAS SBS
Features
Pros
Cons
Sampling after code shift
Accurate code delay
Slow generation time
Sampling before code shift
Fast generation time
Inaccurate code delay when low sampling rate

 

Table 2. Parameters of the signal generator in simulation.

Modulation
(Data channel)
GNSS Code length [chip] \(F_s\) [MHz] Step of \(F_s\) [MHz]
BPSK(1) GPS L1 C/A
NavIC L5 SPS
NavIC S SPS
1023 Non-commensurate: 2.5-40
Commensurate: 2.046-40.92
Non-commensurate: 0.5
Commensurate: 1.023
BPSK(2) BDS B1I OS 2046 Non-commensurate: 4.5-40
Commensurate: 4.092-40.92
Non-commensurate: 0.5
Commensurate: 2.046
BPSK(10) GPS L5 SPS
GAL E5 OS
BDS B2a OS
10230 Non-commensurate: 20.5 - 80
Commensurate: 20.46 – 81.84
Non-commensurate: 0.5
Commensurate: 10.23
BOC(1, 1) GPS L1C OS
BDS B1C OS
10230 Non-commensurate: 4.5 - 50
Commensurate: 4.092 – 51.15
Non-commensurate: 0.5
Commensurate: 1.023
GAL E1 OS 4092

 

Table 2는 시뮬레이션에서 사용할 신호의 생성에 필요한 파라미터들을 나타낸다 (BeiDou ICD 2017a, 2017b, 2019, IRNSS ICD 2017, Galileo ICD 2021, IS-GPS-200 2022, IS-GPS-705 2022, IS-GPS-800 2022). 샘플링 주파수에 따른 코드지연 정확도는 변조 기법과 코드변화율에 영향을 받으므로 Binary Phase Shift Keying (BPSK), Binary Offset Carrier (BOC)와 같은 변조 기법과 코드 변화율을 기준으로 신호를 분류하였다.

Fig. 5는 시뮬레이션 시나리오를 간단하게 그림으로 나타낸다. 시뮬레이션 시 코드 생성 방식 간의 차이를 확인 및 비교하기 위해 SAS, SBS 방식을 모두 이용하였다. 신호 생성 샘플링 주파수의 경우 샘플링 주파수 제약조건을 만족하는 주파수를 이용하였다. 예외적으로 commensurability에 의한 영향을 확인하기 위해 commensurate 주파수도 샘플링 주파수로 이용하였다. 그리고 data message, Doppler frequency, Intermediate Frequency (IF)는 시뮬레이션에서 배제한 후 noise-free 환경을 가정하여 신호를 생성하였다. 또한 의도치 않은 채널 환경에 의한 영향을 소거하기 위해 신호 하나당 두 개의 채널을 갖도록 생성하여 두 채널 간의 코드 지연 차이를 측정하여 오차를 계산 후 이에 대한 평균을 최종적인 오차로 결정하였다. 이 때 채널 하나의 코드 지연 값은 0 chip부터 시작하여 한 주기가 지날 때마다 0.001 chip씩 코드가 지연되도록 설정하였다. 나머지 채널은 수신기 시계 오차에 의한 영향을 보상하기 위해 코드 지연 값을 0으로 일정하게 유지되도록 설정하였다. 오차의 평균은 할당된 코드 지연 값이 0 chip에서 1 chip이 되는 구간에 대해서 계산하였다. 마지막으로 시뮬레이션 환경이 noise-free 환경이며 한 번 시뮬레이션 할 때 한 종류의 신호에 대해서만 다루기 때문에 다른 GNSS 신호와의 간섭을 고려할 필요가 없어 secondary code와 pilot channel은 없다고 가정하였다. SAS의 코드 생성 방식과는 다르게 SBS의 코드 생성 방식은 샘플링 주파수에 의한 분해능이 코드 지연 정확도에 큰 영향을 미친다. 따라서 샘플링 주파수를 가변 하여 신호를 만든 후 수신기로 처리하여 두 생성 방식의 샘플링 주파수에 따른 코드 지연 정확도를 비교한다.

F5.png 이미지
Fig. 5. Simulation scenario with respect to code generation methods.

신호의 코드 지연 측정을 위해 연구실에서 기 개발한 Matlab 기반의 SDR 수신기를 이용하였다 (Song et al. 2021). 수신기의 loop filter는 2차 DLL, 2차 FLL, 3차 PLL을 이용하였다. DLL discriminator는 noncoherent early minus late를 사용하였고 correlator spacing은 0.5 chip으로 설정하여 시뮬레이션을 진행하였다 (Kaplan & Hegarty 2017).

3.1 SAS 코드 생성 방식 시뮬레이션 결과

SAS 코드 생성 방식을 이용해 신호를 생성하여 시뮬레이션을 할 경우 정확하게 코드 지연 값을 줄 수 있다. Fig. 6은 GPS L1 C/A 신호를 SAS 방식으로 생성 후 수신기로 처리하여 얻은 결과에 대한 오차 값이다. Commensurate한 특정 샘플링 주파수는 commensurability에 의한 영향 때문에 코드 지연 값을 제대로 추종하지 못하는 것을 확인할 수 있다. 즉, commensurate 주파수를 사용한 경우 ACF가 왜곡되어, 나타낼 수 있는 correlation value가 제한되기 때문에 코드 지연 정확도가 저하된다. 하지만 ACF의 correlation value가 correlator spacing에 해당하는 값을 나타낼 수 있는 경우 코드 지연 오차가 낮을 수 있다. Non-commensurate 주파수로 샘플링한 경우 낮은 샘플링 주파수를 사용했을 때와 높은 샘플링 주파수를 사용했을 때 코드 지연 정확도 측면에서 큰 차이가 없는 것을 알 수 있다. 즉, non-commensurate 샘플링 주파수 사용시 샘플링 주파수가 낮더라도 샘플링 주파수 제약조건만 만족한다면 오차가 작은 신호 생성이 가능하다. 이러한 경향들은 GPS L1 C/A 뿐만 아니라 Table 2의 다른 신호에 대해서도 나타난다. 따라서 SDR 플랫폼에서 noise-free 환경을 가정 후 SAS 방식으로 코드를 생성하여 시뮬레이션 할 경우 샘플링 주파수 제약조건을 만족하는 주파수들 중 가장 낮은 샘플링 주파수를 사용해도 코드 지연 정확도 측면에서 큰 차이가 없음을 알 수 있다.

F6.png 이미지
Fig. 6. Code delay error versus sampling rate (GPS L1 C/A).

3.2 SBS 코드 생성 방식 시뮬레이션 결과

SBS 방식의 경우 신호 생성기 동작 후 샘플링을 한 번만 수행하여 메모리에 저장하고, 이후에는 메모리를 읽어오면 되기 때문에 신호의 생성 시간이 빠르지만 코드 지연 값이 샘플링 주파수에 의해 큰 영향을 받기 때문에 낮은 샘플링 주파수를 사용할 경우 코드 지연 정확도가 크게 떨어진다. 이 때 코드 지연 정확도는 분해능을 나타내는 Eq. (4)와 관계가 있다.

\({\rm Resolution~ of~ 1~ sample={Code~rate \over Sampling~rate}  [chip]}\)                                                           (4)

분해능이 작을수록 코드 지연 정확도가 향상되기 때문에 코드 변화율 대비 샘플링 주파수는 높아질수록 SBS 방식의 결과가 SAS 방식의 결과와 유사해진다. Fig. 7은 SAS 방식과 SBS 방식으로 코드를 생성하여 신호를 만들었을 때 샘플링 주파수에 따른 코드 지연 오차를 나타낸다. 이 때 그래프의 왼쪽에는 m, 오른쪽에는 chip으로 단위를 표시하였다. 또한 유의미한 결과를 위해 commensurate 주파수는 샘플링 주파수에서 제외하였다. 동일한 변조 기법과 코드 변화율을 가지는 신호들은 같은 샘플링 주파수에 대해서 분해능이 같기 때문에 각 변조 기법당 한 개의 신호만을 Fig. 7에 나타냈다. Fig. 7a-c는 동일한 변조 기법을 사용하고 코드 변화율은 서로 다르다. 코드 변화율이 큰 경우 분해능이 커져 코드 지연 정확도의 저하가 있기 때문에 낮은 코드 변화율을 갖는 신호는 비교적 낮은 샘플링 주파수에서도 SAS, SBS 방식 간의 차이가 감소한 것을 확인할 수 있고 높은 코드 변화율을 갖는 신호는 더 높은 샘플링 주파수로 신호를 생성해야 SAS, SBS 방식 간의 차이가 감소하는 것을 확인할 수 있다.

F7.png 이미지
Fig. 7. Code delay error versus sampling rate. (a) BPSK(1), (b) BPSK(2), (c) BPSK(10), (d) BOC(1, 1).

F8.png 이미지
Fig. 8. Code delay difference versus sampling rate.

SBS 방식을 효과적으로 사용하기 위해서는 샘플링 주파수의 하한을 정하는 것이 필요하다. 본 논문에서는 두 개의 코드 생성 방식의 코드 지연 값의 차이를 샘플링 주파수의 하한을 결정하는 기준으로 선정하였다. Fig. 8은 하한을 결정하는 기준과 코드 생성 방식간 코드 지연 값의 차이를 샘플링 주파수에 대해서 나타낸 예시이다. 기준을 0.5 m, 1 m로 선정한 이유는 열 잡음 (thermal noise)에 의한 코드 지연 오차 범위가 대략 수 cm 범위이기 때문이다. 이 때 기준을 만족하는 샘플링 주파수들 중에서 가장 작은 샘플링 주파수를 하한으로 선정하였다. Table 3은 시뮬레이션을 진행한 신호들의 대략적인 샘플링 주파수의 하한을 나타낸다.

Table 3. Rule of thumb lower limit of sampling rate.

Modulation
(Data channel)
GNSS Lower limit of \(F_s\)  [MHz]
Difference = 1 m Difference = 0.5 m
BPSK(1) GPS L1 C/A
NavIC L5 SPS
NavIC S SPS
7.5
6.5
8
9
10.5
11.5
BPSK(2) BDS B1I OS 10.5 14
BPSK(10) GPS L5 SPS
GAL E5 OS
BDS B2a OS
47
46.5
49
62.5
62
67
BOC(1, 1) GPS L1C OS
GAL E1 OS
BDS B1C OS
36.5
30
39
48.5
39.5
49.5

 

Table 4. Code generation time using lower limit sampling rate.

Modulation
(Data channel)
GNSS \({\rm t_{SAS}}\) [sec] \({\rm t_{SBS}}\) [sec] Time efficiency (=\({\rm t_{SAS}/t_{SBS}}\))
[unitless]
Difference
= 1 m
Difference
= 0.5 m
Difference
= 1 m
Difference
= 0.5 m
Difference
= 1 m
Difference
= 0.5 m
BPSK(1) GPS L1 C/A
NavIC L5 SPS
NavIC S SPS
5.2644
4.7887
5.5062
6.0399
6.7132
7.4213
0.1188
0.1032
0.1260
0.1288
0.1381
0.1508
44.3066
46.4037
43.7063
46.8936
48.6112
49.2129
BPSK(2) BDS B1I OS 6.8755 8.4457 0.1631 0.1620 42.1585 52.1340
BPSK(10) GPS L5 SPS
GAL E5 OS
BDS B2a OS
22.1968
21.8983
22.9155
27.8557
27.5687
29.3163
0.5229
0.5139
0.5356
0.7345
0.7196
0.8310
42.4448
42.6076
42.7899
37.9247
38.3111
35.2783
BOC(1, 1) GPS L1C OS
GAL E1 OS
BDS B1C OS
21.6080
10.4358
23.2042
25.9726
22.6949
26.5594
2.7912
0.5689
2.8169
3.2182
3.4171
3.3096
7.7399
18.3453
8.2372
8.0705
6.6416
8.0250

 

마지막으로 두개의 코드 생성 방식에 따른 코드 생성 시간의 차이에 대해서 비교한다. Table 4의 측정 결과값은 Matlab 환경에서 각각의 코드 생성 방식에 대해서 코드를 60초 길이로 생성하였을 때의 생성 시간을 측정하였다. 이 과정을 100번 수행 후 나온 결과값들에 대한 평균을 최종적인 코드 생성 시간 값으로 측정하였다. Table 4는 Table 3의 하한 주파수를 샘플링 주파수로 이용했을 때 두 생성 방식의 코드 생성 시간에 대해서 나타낸다. SAS 방식에 비해서 SBS 방식은 샘플링 과정이 생략되었기 때문에 생성 시간이 매우 감소한 것을 확인할 수 있다. 이 때 time efficiency를 통해 어느 정도의 시간적인 이득을 보았는지 수치적으로 확인할 수 있다. Fig. 9은 샘플링 주파수에 따른 코드 생성 시간을 나타낸다. 이 때 GPS L1 CA 신호를 사용하였고 시간 측정은 Table 4와 동일한 방식으로 진행하였다. SAS 방식의 경우 코드 지연 값만큼 코드를 이동시키고 샘플링을 하는 과정을 매번 수행해야 하기 때문에 샘플링 주파수가 증가할수록 코드 생성 시간이 빠르게 커진다. 하지만 SBS 방식의 경우 이미 샘플링 되어있는 코드를 이용하기 때문에 샘플링을 하지 않고 코드를 이동시키는 과정만 수행하면 되기 때문에 샘플링 주파수가 증가하여도 코드 생성 시간의 증가폭은 크지 않다. 따라서 적절한 샘플링 주파수를 이용하여 SBS 방식을 사용한다면 시뮬레이션 시간을 단축시킬 수 있다.

F9.png 이미지
Fig. 9. Code generation time versus sampling rate.

4. 결론

본 논문에서는 SDR 기반 GNSS 시뮬레이터에서 신호 생성 시 효율적인 신호 생성을 하기 위해 고려해야 할 샘플링 주파수의 제약조건과 이를 만족하였을 때의 샘플링 주파수의 하한에 대해서 제시하였다. 먼저 신호 생성기의 코드 생성부에서 코드를 생성할 때 신호의 샘플링 시점에 따라서 생성 방식을 두 가지로 분류하였고 두 생성 방식의 차이점을 코드 지연 정확도와 생성 시간 측면에서 분석하였다. 이 과정에서 Nyquist rate, commensurability, 코드 한 주기의 샘플 개수의 정수 유무를 샘플링 주파수의 제약조건으로 선정하였다. 이후 제약조건을 고려하여 샘플링 주파수를 선정하여 시뮬레이션을 진행하였다.

SAS 방식으로 코드를 생성한 신호의 경우 작은 샘플링 주파수를 사용해도 큰 샘플링 주파수를 사용하여 얻은 코드 지연 오차와 큰 차이가 없다는 것을 확인하였다. 또한 예외적으로 commensurate 주파수에 대해서도 시뮬레이션을 진행하였는데 commensurate 주파수를 샘플링 주파수로 선정할 경우 ACF가 왜곡되어 DLL이 제대로 피드백 되지 못하기 때문에 코드 지연 결과가 좋지 않은 것을 볼 수 있었다. SBS 방식으로 코드를 생성한 신호의 경우 코드 지연의 분해능이 코드 변화율과 샘플링 주파수와 관련이 있는 것을 Eq. (2)를 통해 보였다. 그리고 샘플링 주파수가 높을수록 분해능 수치가 낮아져 코드 지연 정확도가 좋아지기 때문에 SAS 방식을 이용한 결과와 유사해진다는 것을 시뮬레이션을 통해 관찰할 수 있었다. 따라서 두 방식에 대한 결과가 얼마나 유사한지를 최소 샘플링 주파수를 선정하는 기준으로 설정하였고 대략적인 샘플링 주파수의 하한을 Table 3에서 나타냈다. 마지막으로 선정된 최소 샘플링 주파수에 대해서 두 생성 방식의 코드 생성 시간이 얼마나 차이가 나는지에 대해 시뮬레이션을 진행하였고 SBS 방식이 SAS 방식보다 코드 생성을 훨씬 빠르게 하는 것을 확인할 수 있었다. 만약 샘플링 주파수를 적절히 선정하면 SBS 방식을 이용했을 때 시뮬레이션 시 최소한의 코드 지연 정확도는 보장하면서 생성 시간은 줄기 때문에 효율적인 GNSS 신호 생성 시뮬레이션 시스템 구축을 할 수 있을 것으로 기대한다.

References

  1. Akos, D. M. & Pini, M. 2006, Effect of Sampling Frequency on GNSS Receiver Performance, Navigation, 53, 85-95. https://doi.org/10.1002/j.2161-4296.2006.tb00375.x
  2. BeiDou ICD 2017a, BeiDou Navigation Satellite System Signal in Space Interface Control Document Open Service Signal B1C (Version 1.0)
  3. BeiDou ICD 2017b, BeiDou Navigation Satellite System Signal in Space Interface Control Document Open Service Signal B2a (Version 1.0)
  4. BeiDou ICD 2019, BeiDou Navigation Satellite System Signal in Space Interface Control Document Open Service Signal B1I (Version 3.0)
  5. Borre, K., Akos, D. M., Bertelsen, N., Rinder, P., & Jensen, S. H. 2007, A software-defined GPS and Galileo receiver: a single-frequency approach (Berlin: Springer Science & Business Media.)
  6. Galileo ICD 2021, European GNSS(Galileo) Open Service Signal-in-Space Interface Control Document Issue 2.0
  7. IRNSS ICD 2017, Indian Regional Navigation Satelltite System Signal in Space ICD for Standard Positioning Service Version 1.1
  8. IS-GPS-200 2022, Navstar GPS Space Segment/Navigation User Segment Interfaces, Revision N
  9. IS-GPS-705 2022, Navstar GPS Space Segment/ User Segment L5 Interfaces, Revision N
  10. IS-GPS-800 2022, Navstar GPS Space Segment/ User Segment L1C Interfaces, Revision J
  11. Julien, O., Zheng, B., Dong, L., & Lachapelle, G. 2004, A Complete Software-Based IF GNSS Signal Generator for Software Receiver Development, in Proceedings of the 17th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS 2004), Long Beach, CA, 21-24 September 2004, pp.2146-2157
  12. Kaplan, E. D. & Hegarty, C. J. 2017, Understanding GPS/GNSS: Principles and Applications, 3nd ed. (Boston: Artech House Inc.)
  13. Korea Aerospace Research Institute 2021, Satellite Navigation System More Accurately [Internet], cited 27 Jul. 2022, available from: https://www.kari.re.kr/eng/sub03_08_01.do
  14. Lim, S., Lim, D.-W., Liu, M., Moon, S.-W., Park, C., et al. 2008, Design of a software-based multi-channel GNSS IF signal generator, In 2008 International Conference on Control, Automation and Systems, Seoul, 14-17 October 2008, pp.754-758. https://doi.org/10.1109/ICCAS.2008.4694599
  15. Song, Y.-J., Lee, H., & Won, J.-H. 2021, Design of Multi-Constellation and Multi-Frequenc y GNSS SDR with Fully Reconfigurable Functionality, Journal of Positioning, Navigation, and Timing, 10, 91-102. https://doi.org/10.11003/JPNT.2021.10.2.91
  16. Thomas, J. B. 1988, Functional description of signal processing in the Rogue GPS receiver, NASA Jet Propulsion Lab, JPL-PUBL-88-15
  17. Tran, V., Shivaramaiah, N., Nguyen, T., Cheong, J., Glennon, E., et al. 2018, Generalised Theory on the Effects of Sampling Frequency on GNSS Code Tracking, The Journal of Navigation, 71, 257-280. https://doi.org/10.1017/S0373463317000741
  18. Tsui, J. B. Y. 2005, Fundamentals of global positioning system receivers: a software approach (Hoboken: John Wiley & Sons, Inc.). https://doi.org/10.1002/0471712582
  19. Won, J.-H., Ko, S.-J., & Lee, J.-S. 2004, Design and Test Results of Software Based IF Level GPS Signal Simulator, in Proceedings of the 17th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS 2004), Long Beach, CA, 21-24 September 2004, pp.305-315
  20. Yin, X., Kou, Y., & Zhang, Z. 2009, Designand Implementation of a Flexible Software-based GNSS IF Signal Simulator, in Proceedings of the 22nd International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS 2009), Savannah, GA, 22-25 September 2009, pp.2229-2240