CSS
 
Last update : 24-10-26 21:43
   D7-3.pdf (521.2K)
2024-11-08 14:10-14:30 [D7-3] 기타GNSS관련기술

MATLAB GPU CUDA와 MEX 프로그래밍을 활용한 GPS L1C SDR 구현
유재덕, 유승수, 맹주현, 김선용*


본 논문에서는 MATLAB Graphics Processing Unit (GPU) Compute Unified Device Architecture (CUDA)와 MATLAB-Executable (MEX) 프로그래밍을 활용한 Global Positioning System (GPS) L1 Civil (L1C) Software-Defined Radio (SDR) (Proposed Method, P)를 구현하고, 기존 MATLAB 기반 SDR (Conventional Method 1, C1), MATLAB C MEX 기반 SDR (Conventional Method 2, C2)와 함께 같은 장치에서의 처리 속도를 비교 분석한다. (C1)은 순차 처리 형식으로 구성되어 있으며, MATLAB에서 제공하는 Fast Fourier Transform (FFT)을 사용한다. (C2)는 Open Multi Processing (OpenMP) 기반 병렬 처리 형식으로 구성되어 있으며, Fastest Fourier Transform in the West (FFTW)를 사용한다. (P)은 OpenMP와 CUDA 기반 병렬 처리 형식으로 구 성되어 있으며, CUDA FFT (cuFFT)를 사용한다. 동일한 장치에서 동일한 신호를 처리한 결과, (P)은 약 49.96초의 처리 시간이 소모된다. 이는 (C1)의 처리 시간 약 431.30초, (C2)의 처리 시 간 약 75.22초인 것과 비교하여 각각 약 11.58%와 약 66.42% 처리 시간만 소요된다. 특히 SDR의 주요 블록 중 처리 시간이 가장 긴 신호 추적 블록에 대한 (P)의 처리 시간은 약 28.17초로, (C1)이 약 395.28초, (C2)이 약 46.15초인 것과 비교하여 각각 약 7.13%와 약 60.04% 처리 시간만 소요된다.


Implementation for GPS L1C SDR Using GPU CUDA and MEX Programming

Jae Duk Yoo, Seungsoo Yoo, Juhyun Maeng, Sun Yong Kim*


This paper presents the implementation of a Global Positioning System (GPS) L1 Civil (L1C) Software-Defined Radio (SDR) using MATLAB Graphics Processing Unit (GPU) Compute Unified Device Architecture (CUDA) and MATLAB-Executable (MEX) programming (Proposed Method, P). It compares the processing speed with two conventional methods: MATLAB- based SDR (Conventional Method 1, C1) and MATLAB C MEX-based SDR (Conventional Method 2, C2). (C1) follows a sequential processing model using MATLAB’s built-in Fast Fourier Transform (FFT). (C2) is configured using parallel processing with Open Multi-Processing (OpenMP) and utilizes the Fastest Fourier Transform in the Fastest Fourier Transform in the West (FFTW). The newly implemented SDR, (P) is composed of a parallel processing approach based on CUDA, leveraging CUDA FFT (cuFFT). When processing the same signal on the same hardware, a processing time of (P) is about 49.96 seconds. This is about 11.59% of 431.30 seconds for (C1), and about 66.42% of 75.22 seconds for (C2). Specifically, for the signal tracking block, which has the longest processing time among the major blocks of the SDR, the processing time of (P) is about 28.17 seconds. This is about 7.13% and about 60.04% of 395.28 seconds for (C1) and about 46.15 seconds for (C2), respectively.

Keywords: global positioning system (GPS) L1 Civil (L1C), software-defined radio (SDR), graphics processing unit (GPU) and compute unified device architecture (CUDA)


profile_image Speaker
유재덕
건국대학교