13.12.2021 Формирование навигационного сигнала GPS CA с помощью gps-sdr-sim и HackRF
Korogodin (обсуждение | вклад) (Новая страница: «<summary> <center>400px</center> Блабла </summary> Бла») |
Roslyakov (обсуждение | вклад) |
||
(не показаны 35 промежуточных версий 2 участников) | |||
Строка 1: | Строка 1: | ||
− | <summary> | + | <summary [ hidden ]> |
− | <center>[[File: | + | <center>[[File:JsPFkaOzCOA.jpg|400px]]</center> |
− | + | Имитатор за копейки | |
− | + | ||
</summary> | </summary> | ||
− | + | == Формирование навигационного сигнала 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 выглядит следующим образом: | ||
+ | |||
+ | [[File:photo_2021-12-13_17-08-01.jpg||240px|center]] | ||
+ | |||
+ | На изображении ниже можно увидеть два SMA разъема CLKIN (ближний) и CLKOUT – вход и выход для синхронизации. | ||
+ | На этой же стороне присутствует разъем micro-USB для подключения платы к компьютеру. | ||
+ | |||
+ | [[File:photo_2021-12-13_16-51-13.jpg||400px|center]] | ||
+ | |||
+ | С противоположной стороны плата имеет антенный разъем SMA и две кнопки: Reset – для перезагрузки HackRF по питанию и DFU – для восстановления заводской прошивки. | ||
+ | Над кнопками разъем для карты памяти. | ||
+ | |||
+ | [[File:photo_2021-12-13_16-48-52 (2).jpg||400px|center]] | ||
+ | |||
+ | == Последовательность действий для формирования сигнала == | ||
+ | |||
+ | |||
+ | ''' Шаг 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. | ||
+ | |||
+ | [[file:photo_2021-12-13_16-49-51.jpg|thumb|Меню 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: | ||
+ | <sub>Убедитесь, что антенна подключена к антенному порту HackRF</sub> | ||
+ | |||
+ | 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. Оценка параметров сигнала смартфоном ''' | ||
+ | |||
+ | [[file:photo_2021-12-13_17-07-30.jpg|thumb|Ожижаемый результат]] | ||
+ | |||
+ | * Установить приложение 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 | ||
+ | {{wl-publish: 2021-12-24 09:22:02 +0400 | Roslyakov }} |
Текущая версия на 17:55, 24 декабря 2021
Содержание |
[править] Формирование навигационного сигнала 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
[ Хронологический вид ]Комментарии
Войдите, чтобы комментировать.