본문으로 건너뛰기
로그인 둘러보기
개발·코딩·데이터베이스 · 윈도우즈 유틸

GPS-SDR-SIM

0

GPS-SDR-SIM은 GPS 위성 신호를 시뮬레이션하여 소프트웨어 정의 라디오(SDR) 장비로 전송할 수 있는 베이스밴드 신호 데이터를 생성하는 오픈소스 소프트웨어입니다.

C언어MIT 라이선스명령줄 도구신호 시뮬레이션오픈소스

소개

GPS-SDR-SIM은 GPS 위성 신호를 시뮬레이션하여 소프트웨어 정의 라디오(SDR) 장비로 전송할 수 있는 베이스밴드 신호 데이터를 생성하는 오픈소스 소프트웨어입니다. Takuji Ebinuma가 개발했으며, 사용자 정의 궤도 파일이나 정적 위치를 입력으로 받아 GPS 수신기 테스트 및 연구에 활용됩니다. MIT 라이선스로 배포되며, Windows 및 Linux 환경에서 소스 코드를 빌드하여 사용할 수 있습니다.

상세정보

프로그램 소개

GPS-SDR-SIM은 사용자 정의 궤도 데이터를 기반으로 GPS 위성 신호를 시뮬레이션하여 소프트웨어 정의 라디오(SDR) 장비를 통해 전송 가능한 I/Q 샘플 데이터를 생성하는 오픈소스 소프트웨어입니다. 이 도구는 GPS 수신기의 성능 테스트, 연구 개발 및 교육 목적에 활용되며, 소스 코드는 C 언어로 작성되어 MIT 라이선스 하에 배포됩니다.

주요 기능

다양한 입력 형식 지원

사용자 이동 정보는 다음과 같은 형식으로 제공할 수 있습니다:

  • ECEF 좌표(X, Y, Z) 형식의 CSV 파일
  • 위도, 경도, 고도(lat, lon, height) 형식의 CSV 파일
  • NMEA GGA 스트림 파일
  • 명령줄을 통한 정적 위치 지정 (ECEF 또는 위도/경도/고도)

GPS 위성 정보 처리

GPS 브로드캐스트 에페메리스 파일(RINEX navigation 파일)을 읽어 시뮬레이션에 필요한 위성 궤도 및 시계 정보를 추출합니다. 이 파일은 NASA의 CDDIS 아카이브에서 일일 기준으로 다운로드할 수 있습니다.

출력 데이터 형식 옵션

생성된 I/Q 데이터는 다음과 같은 형식으로 저장할 수 있습니다:

  • 기본값: 16-bit signed integers
  • -b 8 옵션: 8-bit signed integers (HackRF 호환)
  • -b 1 옵션: 1-bit 압축 형식 (4개 샘플을 1바이트에 저장)

시뮬레이션 제어 옵션

다음과 같은 옵션을 통해 시뮬레이션을 세부 조정할 수 있습니다:

  • -d: 시뮬레이션 기간 설정 (동적 모드 최대 300초, 정적 모드 최대 86400초)
  • -s: 샘플링 주파수 설정 (기본값: 2.6MHz)
  • -t/-T: 시뮬레이션 시작 시간 지정 또는 TOC/TOE 덮어쓰기
  • -i: 이온층 보정 비활성화 (우주선 시나리오용)
  • -p: 경로 손실 보정 비활성화 (고정 출력 전력 유지)
  • -v: 시뮬레이션된 채널 상세 정보 출력

다운로드·설치 방법

Windows에서 GPS-SDR-SIM을 사용하기 위해서는 소스 코드를 다운로드하여 Visual Studio 또는 GCC로 컴파일해야 합니다. 공식 저장소에서 소스 코드를 받은 후 다음과 같은 단계를 따릅니다.

Visual Studio로 빌드하기

  1. Visual Studio를 시작합니다.
  2. 콘솔 애플리케이션용 빈 프로젝트를 생성합니다.
  3. Solution Explorer에서 우클릭 후 ‘추가’ → ‘기존 항목’을 선택하여 gpssim.c와 getopt.c 파일을 프로젝트의 소스 파일 폴더에 추가합니다.
  4. 솔루션 구성 드롭다운 목록에서 ‘Release’를 선택합니다.
  5. 솔루션을 빌드하여 실행 파일을 생성합니다.

GCC로 빌드하기

MinGW 또는 WSL과 같은 GCC 컴파일러 환경이 설치되어 있다면 다음 명령으로 컴파일할 수 있습니다:

gcc gpssim.c -lm -O3 -o gps-sdr-sim

큰 용량의 사용자 이동 파일을 사용해야 하는 경우, 컴파일 시 USER_MOTION_SIZE 매개변수를 정의할 수 있습니다:

gcc gpssim.c -lm -O3 -o gps-sdr-sim -DUSER_MOTION_SIZE=4000

기본 사용법

컴파일이 완료되면 생성된 gps-sdr-sim.exe 파일을 명령줄에서 실행하여 GPS 신호 시뮬레이션 파일을 생성할 수 있습니다. 다음은 기본적인 사용 예시입니다.

동적 모드 사용 예시

ECEF 형식의 사용자 이동 파일을 사용할 경우:

gps-sdr-sim -e brdc3540.14n -u circle.csv

위도/경도/고도 형식의 이동 파일을 사용할 경우:

gps-sdr-sim -e brdc3540.14n -x circle_llh.csv

NMEA GGA 스트림을 사용할 경우:

gps-sdr-sim -e brdc3540.14n -g triumphv3.txt

정적 모드 사용 예시

ECEF 좌표로 정적 위치를 지정할 경우:

gps-sdr-sim -e brdc3540.14n -c 3967283.15,1022538.18,4872414.48

위도/경도/고도로 정적 위치를 지정할 경우:

gps-sdr-sim -e brdc3540.14n -l 30.286502,120.032669,100

지원 환경·시스템 요구사항

이 소프트웨어는 Windows 및 Linux 운영 체제에서 소스 코드를 컴파일하여 사용할 수 있습니다. 컴파일을 위해서는 C 컴파일러(Visual Studio 또는 GCC)와 표준 수학 라이브러리(link with -lm)가 필요합니다. 생성된 바이너리는 명령줄 인터페이스로 실행되며, 별도의 그래픽 사용자 인터페이스(GUI)는 제공되지 않습니다.

최신 버전·업데이트

현재 버전은 1.0이며, 소스 코드 저장소의 마지막 업데이트는 2026년 9월 8일입니다. 업데이트 내역은 공식 저장소의 커밋 히스토리를 통해 확인할 수 있습니다.

시스템 요구사항

별도의 시스템 요구사항이 등록되지 않았습니다.