원본 GNSS 측정

Android 프레임워크는 여러 Android 기기에서 원본 GNSS 측정에 대한 액세스를 제공합니다.

GitHub의 GPS 측정 도구 저장소에서 도구를 찾을 수 있습니다. 여기에는 GnssLogger의 예비 버전 소스 코드와 Linux, WindowsmacOS용 데스크톱 GNSS 분석 앱용 실행 파일이 포함되어 있습니다. 설치 및 사용 설명서.

Google 스마트폰 데시미터 챌린지

Google, Institute of Navigation의 Institute of Navigation, Kaggle이 ION GNSS+의 제3회 스마트폰 데시미터 챌린지를 후원하고 있습니다. 이 대회는 2023년 9월 12일에 시작되어 2024년 5월 23일에 종료됩니다. 원본 GNSS 측정값, 센서 데이터, 정확한 정답이 포함된 150개가 넘는 새로운 트레이스가 공개적으로 제공됩니다. 누구나 대회에 참가할 수 있습니다. 참가자는 ION GNSS+ 2024에서 열리는 'Smartphone Decimeter Challenge'라는 세션에 초록을 제출하는 것이 좋습니다.

규칙 및 규정을 비롯한 자세한 내용은 2023년 9월 12일 오후 3시 30분(MDT)에 시작되는 Kaggle의 대회 페이지를 참고하세요.

원본 GNSS 측정을 지원하는 Android 기기

Android 10 (API 수준 29) 이상을 실행하는 기기에서는 원본 GNSS 측정 지원이 필수입니다. Android 9 (API 수준 28) 이하에서는 하드웨어 2016년 이상이 포함된 모든 Android 기기에 원시 GNSS 측정 지원이 필수입니다. 현재 기존 Android 휴대전화의 90% 이상은 원시 데이터를 사용합니다.

일부 원본 GNSS 측정 필드에 대한 지원은 선택사항이며 사용되는 GNSS 칩셋에 따라 다를 수 있습니다. 이러한 필드의 예는 다음과 같습니다.

  • 의사 거리 및 의사 거리 비율
  • 탐색 메시지입니다.
  • 자동 게인 컨트롤러 (AGC) 값입니다.
  • 누적 델타 범위 (ADR) 또는 이동통신사 단계.

아래 표에는 Android 지원 기기의 몇 가지 예와 해당 기기의 원본 GNSS 측정 지원 수준이 나와 있습니다.

모델 Android 버전 AGC ADR (이동통신사 단계) L5 글로벌 시스템
Google Pixel 4/5/6/7 12 GPS
GLO
GAL
BDS
QZS
Xiaomi Mi 9 9 아니요 GPS
GLO
GAL
BDS
QZS
Xiaomi Mi 8 8.1 아니요 GPS
GLO
GAL
BDS
QZS
Huawei P30 Pro 9 아니요 GPS
GLO
GAL
BDS
Huawei Mate 20 9 아니요 GPS
GLO
GAL
BDS
One Plus 7 Pro 9 아니요 GPS
GLO
GAL
One Plus 7 9 아니요 GPS
GLO
GAL
삼성 Galaxy S20/S21 Ultra (Exynos)* 12 GPS
GLO
GAL
BDS
QZS
Samsung Galaxy S9 (Exynos)* 8.0 아니요 아니요 GPS
GLO
GAL
QZS
Samsung Galaxy S9+ 8.0 아니요 아니요 아니요 GPS
GLO
GAL

* 삼성 Galaxy Exynos 버전은 최근 몇 년 동안 ADR을 제공합니다. 삼성 Snapdragon 버전은 아직 ADR을 제공하지 않습니다.

Android 기기에서 제공하는 원본 측정 필드의 정의에 관한 자세한 내용은 글로벌 항법 위성 시스템을 참고하세요.

OEM, 개발자 및 연구원은 이 페이지의 도구를 사용하여 새로운 스마트폰 디자인을 테스트하고 기능을 검사하고 새로운 알고리즘을 개발하고 GNSS 시스템 구현의 개선사항을 평가하고 부가 가치 앱을 개발할 수 있습니다.

SUPL 클라이언트 샘플 코드

Suplclient는 supl.google.com에 액세스하여 실시간 달력을 얻는 샘플 코드입니다. SuplTester 클래스는 SUPL 클라이언트 프로젝트를 사용하는 방법에 관한 예를 제공합니다. SuplTester는 SUPL TCP 연결 사양을 설정한 다음 주어진 위도와 경도에서 LPP SUPL 요청을 전송하고 SUPL 서버 응답을 인쇄합니다.

안테나 보정 정보

Android 11 (API 수준 30)부터 GnssAntennaInfo 클래스를 사용하여 위상 중심 오프셋 (PCO) 좌표, 위상 중심 변이 (PCV) 교정, 신호 이득 교정과 같은 안테나 특성에 액세스할 수 있습니다. 이러한 수정사항은 원시 측정값에 적용하여 정확도를 개선할 수 있습니다.

GnssAntennaInfo를 사용할 때는 다음 시스템 동작에 유의하세요. 사용자 개인 정보 보호를 강화하도록 설계되었습니다.

  • 이 API에서 제공하는 특성은 개별 기기가 아닌 기기 모델에만 관련이 있습니다.

원시 측정값 로깅

Android 스튜디오를 사용하여 원본 GNSS 측정 및 기타 위치 데이터를 캡처하고 파일에 로깅하는 앱을 빌드할 수 있습니다. 이러한 앱의 소스 코드 예는 GPS 측정 도구를 참고하세요.

Google GNSSLogger는 이 기능을 사용하여 개발된 샘플 앱입니다. 샘플 앱과 함께 GNSS 출력을 가져오려면 기기가 원본 GNSS 측정을 지원해야 합니다.

GNSS 로거를 사용하여 GNSS 로그를 캡처한 후에는 기기의 로그 파일을 컴퓨터에서 컴퓨터로 복사하여 추가 분석을 할 수 있습니다. GNSS 로거 내에서 이메일을 통해 자신에게 파일을 보내거나 Google Drive에 저장할 수 있습니다. 또는 기기의 파일 관리 앱을 사용하여 파일을 저장하거나 기기에서 파일 복사에 설명된 대로 Android 디버그 브리지 (ADB)를 사용할 수 있습니다.

원본 측정값 분석

GNSS 분석 앱은 GNSS 로거에서 수집한 GPS/GNSS 원본 측정값을 읽고, 이 측정값을 사용하여 그림 1과 같이 GNSS 수신기 동작을 분석합니다.

Linux, Windows, macOS 시스템용 앱을 다운로드할 수 있습니다.

GNSS 로거 및 GNSS 분석

그림 1. GNSS 로거는 GNSS 분석에서 사용할 수 있는 측정값을 수집합니다.

GNSS 분석 앱은 MATLAB를 기반으로 빌드되지만 MATLAB을 실행할 필요는 없습니다. 앱이 MATLAB 런타임의 사본을 설치하는 실행 파일로 컴파일됩니다.

GNSS 분석 제어판

그림 2에 표시된 GNSS 분석 제어판을 사용하면 다음과 같은 앱 기능을 관리할 수 있습니다.

  • 표시할 위성 선택
  • 측정 오류를 계산하는 데 사용되는 기준 위치, 속도, 시간 (PVT)을 제어합니다.
  • 분석 보고서 생성
  • 시작 시간과 종료 시간 사이의 데이터에 기간 정의

GNSS 분석 제어판)

그림 2. GNSS 분석 제어판

GNSS 분석 양방향 그림

GNSS 분석 앱은 그림 3과 같이 무선 주파수(RF), 시계, 측정 열로 구성된 대화형 플롯을 제공합니다.

GNSS 분석 양방향 그림)

그림 3. GNSS 분석 앱에서 표시하는 양방향 그림

RF 열에는 다음 데이터가 표시됩니다.

  • 별자리별 신호가 가장 강한 위성 4개
  • 위성별 이동통신사 대 노이즈 밀도(C/No)의 시간 도표
  • 위성 위치의 스카이 플롯

시계 열에는 다음 데이터가 표시됩니다.

  • 의사 거리
  • 다음 기준 위치 중 하나를 사용하여 계산된 수신기 시계의 오프셋 주파수

    • 자동으로 계산된 평균 위치
    • 사용자가 입력한 위도, 경도 및 고도
    • 사실 참조 PVT가 포함된 미국 해양 전자 협회 (NMEA) 파일입니다.
  • 수신기가 기본 오실레이터의 듀티 사이클을 재설정할 때 시간을 기록하는 대기 시계의 오프셋입니다.

측정값 열에는 다음 데이터가 표시됩니다.

  • 원시 의사 거리에서 얻은 가중치가 적용된 최소 제곱 위치 결과입니다. 가중치는 원시 측정 API 사양의 일부인 각 측정의 보고된 불확실성을 사용하여 적용됩니다.
  • 측정값별 각 의사 거리의 오류
  • 측정값별 각 의사 거리 비율의 오류

GNSS 분석 테스트 보고서

GNSS 분석은 그림 4와 같이 API 구현, 수신된 신호, 시계 동작 및 측정 정확성을 평가하는 테스트 보고서를 생성할 수 있습니다. 각 사례에서 앱은 알려진 벤치마크를 기준으로 측정된 성능을 기반으로 수신기의 테스트 통과 또는 실패 여부를 보고합니다. 테스트 보고서는 새 기기의 설계와 구현을 반복할 때 이 보고서를 사용할 수 있는 기기 제조업체에 유용합니다. 테스트 보고서를 생성하려면 Make Report(보고서 만들기)를 클릭합니다.

GNSS 분석 테스트 보고서

그림 4. GNSS 분석 테스트 보고서

비교 탭에는 그림 5와 같이 여러 GNSS 로그 파일의 C/No를 나란히 비교할 수 있습니다. 이는 여러 기기의 RF 성능을 비교할 때 유용합니다.

C/No 데이터를 나란히 비교

그림 5. 여러 로그 파일의 C/No 데이터를 나란히 비교

소스 코드에 관심이 있으세요? GPS 측정 도구 프로젝트는 GPS 별자리 신호를 사용하여 다음 작업을 실행하는 데 사용할 수 있는 오픈소스 MATLAB 예를 제공합니다.

  • GNSS 로거 샘플 앱으로 캡처한 데이터 읽기
  • 의사 거리 계산 및 시각화
  • 가중치가 적용된 최소 제곱 위치 및 속도 계산
  • 이동통신사 단계 보기 및 분석

GNSS Analysis 앱 v4.6.0.1 출시 노트

GNSS Analysis 앱 버전 4.6.0.1에는 다음과 같은 업데이트가 포함되었습니다.

  • Matlab R2022a에서 GnssAnalysisTool을 빌드하여 새로운 기능에 액세스할 수 있게 되었습니다.
  • 상태 창 자동 스크롤: 최신 상태 메시지가 항상 표시됩니다.
  • 집합을 기준으로, L1과 L5를 비교하는 C/N0 비교 표가 추가되었습니다.
  • 의사 거리 비율 잔차 플롯을 추가했습니다.
  • 참조 PVT 고정 또는 이동에 대한 별도의 탭이 삭제되어 어떤 유형의 참조 PVT가 선택되어 있는지 더 쉽게 확인할 수 있습니다.
  • '보고서 작성' 결과를 HTML에서 상태 창으로 이동했습니다.
  • 임무 플래너 탭을 삭제했습니다. gnssmissionplanning.com/ 또는 www.gnssplanning.com/ 페이지를 참조하시기 바랍니다.
  • RINEX 관찰 파일 파싱과 관련된 문제가 수정되었습니다.
  • BKG가 작동하지 않는 경우 GPS 및 GLO에 대한 NASA CDDIS ephemeris 소스로 대체합니다.
  • igs.bkg.bund.de에서 igs-ftp.bkg.bund.de로 이전
  • GAL, QZSS 또는 BDS 달력 다운로드에 실패한 경우 분석을 종료하지 마세요.
  • 칩셋이 BaseBandCNo를 지원하지 않더라도 안테나 CNo 분석 생성

설치 및 사용 설명서.

의견 보내기

Google에서는 Android의 GNSS 지원을 개선하기 위해 노력하고 있습니다. Android의 GNSS 지원과 관련된 문제는 GNSS Issue Tracker를 사용하여 Google에 알려주세요. 문제를 게시하기 전에 FAQ에서 이미 해결되었는지 확인하세요.

GNSS 분석 도구를 사용한 경우 간단한 설문조사에 응답하여 의견을 보내주세요. 다른 궁금한 점이 있거나 지원 요청이 있는 경우 개발자 지원 리소스를 참고하세요.

GNSS 분석 도구 FAQ에서 자주 묻는 질문(FAQ)의 답변을 확인할 수 있습니다.