13.12.2021 Формирование навигационного сигнала GPS CA с помощью gps-sdr-sim и HackRF
Содержание |
Формирование навигационного сигнала GPS L1 C/A c помощью GPS-SDR-SIM и HackRF One
GPS-SDR-SIM — программа, позволяющая выводить двоичный файл сигналов в соответствии с указанным файлом спутниковой информации, информацией о координатах, частоте дискретизации и другими параметрами.
HackRF One — программно-определяемое радио, способное передавать / принимать радиосигналы на частотах от 1МГц до 6 ГГц. Использует технологию, позволяющую с помощью программного обеспечения устанавливать / изменять рабочие радиочастотные параметры.
Введение
Данная статья является инструкцией по формированию навигационного сигналы GPS L1 C/A для неподвижного потребителя. Для имитации GPS сигнала будет использоваться программа GPS-SDR-SIM, которая позволяет формировать выборку навигационного сигнала (НС) в соответствии с указанным файлом спутниковой информации. Полученный файл будет импортироваться в радиочастотное устройство для трансляции НС в эфир.
В качестве приемопередатчика будет выступать программно-определяемое радио (англ. SDR - software defined radio) HackRF One. Основные характеристики устройства: диапазон частот от 1 МГц до 6 ГГц, полоса пропускания 20 МГц, 8-разрядный АЦП/ЦАП.
Рассматривается конфигурация HackRF One c расширяющей платой Portapack H2, которая позволяет работать HackRF One автономно, т.е. без подключения к компьютеру.
В сборе HackRf One + Portapack H2 + металлический корпус, SDR выглядит следующим образом:
На изображении ниже можно увидеть два SMA разъема CLKIN (ближний) и CLKOUT – вход и выход для синхронизации. На этой же стороне присутствует разъем micro-USB для подключения платы к компьютеру.
С противоположной стороны плата имеет антенный разъем SMA и две кнопки: Reset – для перезагрузки HackRF по питанию и DFU – для восстановления заводской прошивки. Над кнопками разъем для карты памяти.
Последовательность действий для формирования сигнала
Шаг 1. Подключение
- Подключите антенну к SMA разъему на плате.
- Подключите плату к ПК (micro-USB/USB кабель).
Шаг 2. Установка драйверов и пакетов на ПК (ОС: Linux)
- Команды в консоль:
sudo apt update; sudo apt upgrade
sudo apt install hackrf libhackrf-dev libhackrf0 gnuradio gnuradio-dev gr-osmosdr gqrx-sdr
Шаг 3. Отклик HackRF
- Включить плату, в открывшемся меню выбрать и нажать кнопку HackRF.
- Соглашаемся на HackRF mode для управления платой через ПК.
- Команда в консоль:
hackrf_info
- Ожидаемый ответ:
hackrf_info version: unknown libhackrf version: unknown (0.5) Found HackRF Index: 0 Serial number: 0000000000000000048866dc348258c3 Board ID Number: 2 (HackRF One) Firmware Version: local-57ed3eb (API:1.04) Part ID Number: 0xa000cb3c 0x00614368
Шаг 4. Загрузить и скомпилировать код GPS-SDR-SIM
- Команды в консоль:
git clone https://github.com/osqzss/gps-sdr-sim.git
cd gps-sdr-sim && gcc gpssim.c -lm -O3 -o gps-sdr-sim
Шаг 5. Формированию выборки сигнала GPS
- Открыть консоль внутри скомпилированной программы.
- Консольная команда для формирования 8-разрядного бинарный файла сигнала по эфемеридному файлу brdc3540.14n:
./gps-sdr-sim -e brdc3540.14n -l 31.603202,120.466576,100 -b 8 -d 300
где
brdc3540.14 — файл эфемерид 32-х спутников GPS;
-e — файл является общим форматом ГНСС-данных RINEX;
-l 31.603202,120.466576,100 — координаты позиции приемника;
-b 8 — разрядность чисел в выходном файле;
-d 300 — длительность в секундах (1с = 5Мбайт).
Шаг 6. Формирование радиосигнала
На предыдущем шаге по эфемеридному файлу был создан 8-разрядный бинарный файл «gpssim.bin».
- Консольная команда для отправки сформированного файла на HackRF:
Убедитесь, что антенна подключена к антенному порту HackRF
hackrf_transfer -t gpssim.bin -f 1575.42e6 -s 2.6e6 -a 1 -x 30 -b 5e6
где
hackrf_transfer – команда, с помощью которой можно отправлять и получать сигналы, используя HackRF;
-t – пересылать данные из файла <имя файла>;
-f – несущая сигнала 1575.42 МГц;
-s – частота дискретизации 2.6 МГц;
-a – RF усилитель (1=Включен);
-x – усиление TX 30 dB;
-b – 5e6 полоса пропускания ФНЧ.
Шаг 7. Оценка параметров сигнала смартфоном
- Установить приложение GPS Test.
- Включить геолакацию.
- Включить на телефоне режим полета
Дополнительный материал
Ссылки:
https://github.com/osqzss/gps-sdr-sim.git — GPS-SDR-SIM
https://russianblogs.com/article/2381493862/ — более широкая инструкция по флагам gps-sdr-sim
https://hackware.ru/?p=8249 — инструкция на русском для HackRF
[ Хронологический вид ]Комментарии
Войдите, чтобы комментировать.