Вы находитесь на странице: 1из 18

Работа в штате или фриланс – третьего не дано?

ПОТОКИ

Все потоки

Разработка

Администрирование

Дизайн

Менеджмент

Маркетинг

Научпоп

DmitrySpb79 12 января

Iridium: принимаем и декодируем сигналы группировки


спутников у себя дома
Программирование, Разработка систем связи, Космонавтика, DIY или Сделай сам, Электроника для начинающих

Привет, Хабр.

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
В предыдущей части мы рассмотрели прием сигналов спутников Inmarsat. Сейчас мы рассмотрим
не менее интересную систему — спутниковую систему связи Iridium, принять сигналы которой
также может у себя дома любой желающий.

Покрытие сети Iridium, фото из Википедии

Для тех, кому интересно как это работает, продолжение под катом.

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Примечание: ничего секретного в приведенных ниже данных нет, описанные в статье декодеры
лежат на github уже не один год. Частоты и сигналы также доступны любому желающему, кто готов
потратить 35$ на антенну и высунуть её в форточку. Тем не менее, система связи Iridium является
действующей, поэтому некоторые данные не выкладываются из юридических соображений.
Данный материал предназначен исключительно для ознакомления, публикация или хранение
принятых сообщений могут быть не разрешены по законодательству тех или иных стран.

Железо

Тут ничего нового нет, все было описано в предыдущей статье. Я использовал антенну «Active L-
Band 1525-1637 Patch Antenna», купить которую можно за 35$, и приемник SDRPlay, вместо
которого можно использовать RTL SDR V3, стоимостью также около 35$. Таким образом, все
обойдется в сумму дешевле 100$, что вполне доступно.

Весь комплект для приема выглядит так (коробок спичек для масштаба):

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Далее, открываем окно (стекло глушит радиоволны этого диапазона), направляем антенну в небо,
и можно принимать сигнал. Важно не забыть включить в настройках приемника bias-tee, т.к.
антенна является активной и без подачи питания работать не будет. Если все было сделано
правильно, на частоте примерно 1.6ГГц мы должны увидеть такую картинку:

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Кстати, если посмотреть спектр с большей детализацией, то хорошо виден наклон линий из-за
эффекта Допплера — спутники движутся по орбите, и частота меняется.

Интересно отметить два довольно принципиальных отличия Iridium и Inmarsat.

Во-первых, в Inmarsat используются геостационарные спутники, летящие в космосе на


геостационарной орбите высотой 35786км. В отличие от этого, в Iridium используется другой подход
— более 60 спутников летают на низких орбитах (871км), покрывая всю территорию Земли (фото
на КДПВ). Это позволяет использовать более компактные и ненаправленные антенны, также такая
система лучше работает на северных территориях, где прием геостационарных спутников
ограничен. Кстати, количество спутников Iridium было рассчитано так, что в любой момент времени
абонент может использовать несколько видимых в небе спутников.

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
И во-вторых, в Iridium используется принципиально другая схема передачи данных — вместо
постоянных дата-линков на постоянной частоте используются короткие burst-пакеты, которые
можно видеть на картинке.

На этом мы закончим «теоретическую» часть, если все работает, то пора переходить к софту.

Софт

С софтом для декодирования есть одна «небольшая» сложность — он написан под Linux.
Возможно, есть секретный способ скомпилировать Gnu Radio проекты под Windows, но у меня ни
разу, кроме огромного числа ошибок, так ничего на выходе и не получилось. С Linux все просто и
работает «из коробки», но я исхожу из того, что у большинства читателей все же установлен
Windows. Так что мы пойдем обходным путем — запишем сигналы в HDSDR, а декодер для их
обработки запустим из под Ubuntu в Windows 10. Благо что 10ка штатно предоставляет такую
возможность.

Шаг-1. Компиляция gr-iridium

Для начала необходимо загрузить в App Store Ubuntu и установить туда GNU Radio.

Собственно компиляция декодера gr-iridium особых сложностей не представляет:

git clone https://github.com/muccc/gr-iridium.git


cd gr-iridium

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
mkdir build
cd build
cmake ..
make
sudo make install
sudo ldconfig

Процесс выглядит примерно так:

Для работы декодера необходим модуль gr-osmosdr. Его компиляция делается по такому же
принципу, с одной лишь разницей — нам необходимо отключить ненужные на этом шаге
приемники, иначе получим ошибки компиляции.

git clone git://git.osmocom.org/gr-osmosdr


cd gr-osmosdr
mkdir build
cd build/
cmake .. -DENABLE_UHD=OFF -DENABLE_RTL=OFF -DENABLE_BLADERF=OFF -DENABLE_FCD=OFF -DEN
make
sudo make install
sudo ldconfig

Тут есть забавный подводный камень. Запустив make, я получил странные ошибки типа «c++: error:
/wd4251: No such file or directory». Поиск в гугле показывает, что эти ошибки относятся к Windows-

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
версии, что при компиляции под Ubuntu никак не может быть. Оказалось, может — выведя
подробный лог командой «make -n», я обнаружил что диски Windows по умолчанию
подмонтированы в Ubuntu, и cmake «подхватил» эти файлы:

cd /home/dmitrii/Documents/gr-osmosdr-0.1.5/build/lib && /usr/bin/c++ -DBOOST_ALL_DY

Естественно, исходники несовместимы и ничего не компилируется. Такая вот особенность работы


Ubuntu из под Windows. Решение простое — размонтируем папку (sudo umount /mnt/c), повторяем
cmake и build, затем монтируем обратно (sudo mount -t drvfs C: /mnt/c). Подмонтированные диски
нам пригодятся, когда мы будем обрабатывать записанные в HDSDR файлы.

Последним шагом нам необходимо установить Iridium Toolkit:

git clone https://github.com/muccc/iridium-toolkit.git

Теперь все готово, и мы можем записать и обработать сигналы Iridium.

Шаг-2. Запись сигналов

Тут все просто — открываем HDSDR, выбираем участок где сигналов побольше, делаем IQ-запись.
Сигналы в Iridium идут не постоянно, а «пакетами», так что возможно придется немного подождать.
Недостаток лишь один — большой объем записи, одна минута с шириной полосы 2МГц занимает
порядка 500Мбайт.

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Еще раз повторюсь, что под «нормальной» Linux это не нужно, и можно запустить gr-iridium сразу с
SDR-приемником без промежуточной записи, но в Windows это не сработало — lsusb не видит
подключенных устройств.

Шаг-3. Обработка

Останавливаем запись в HDSDR, переключаемся в Ubuntu в папку


/mnt/c/Users/XXX/Documents/HDSDR и вводим команду:

iridium-extractor -c 1619XXXXXX -r 2000000 -f sc16 --offline HDSDR_20200112_110653Z_

Здесь HDSDR_20200112_110653Z_1619XXXkHz_RF.wav это записанный нами файл, 1619XXXXXX


— центральная частота записи и 2000000 — ширина полосы записанного wav-файла. Если все
было сделано правильно, должен появиться примерно такой лог:

Если пакетов не видно, идти дальше бесполезно, нужно выяснять в чем ошибка. Если записи
видны, повторяем команду еще раз, сохраняем результаты в файл и обрабатываем файл с
помощью iridium-parser.py:

iridium-extractor -c 1619XXXXXX -r 2000000 -f sc16 --offline HDSDR_20200112_110653Z_

python iridium-parser.py output.bits > output.parsed

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Теперь мы можем извлечь информацию из сохраненного файла output.parsed. «Достать» оттуда
можно различные данные, например текстовые или даже голосовые сообщения. Из юридических
соображений я делать это здесь не буду, желающие могут подробнее прочитать описание на
странице проекта. Там есть интересные моменты, например в Iridium могут передаваться не только
текстовые или голосовые, но и GSM-данные, т.е. Iridium-терминал может предоставлять услуги
GSM-связи в тех местах, где обычного покрытия нет — спутник и терминал тут вероятно, работают
лишь как «удлиннитель» для стандартных GSM-пакетов.

Можно к примеру, продемонстрировать, как из записанных данных получить координаты летящего


спутника:

Координаты несложно импортировать в Google Maps и увидеть, что во время записи спутник
пролетал где-то над Осло (красная линия):

Про другие функции Iridium Toolkit можно почитать на странице github.

Заключение

Как можно видеть, процесс приема сигналов со спутников не так уж сложен, и с точки зрения
изучения систем связи, достаточно интересен.

Для желающих изучить Iridium более подробно, пара видео (на английском):

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Iridium Satellite Hacking - HOPE XI 2016
Watch later Share

Hacking Iridium Satellites With Iridium Toolkit


Watch later Share

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Надеюсь, для лучшего понимания этого вполне достаточно.

Как обычно, всем удачных экспериментов.

Теги: Iridium, спутник, прием сигналов, декодер, GNU Radio

Хабы: Программирование, Разработка систем связи, Космонавтика, DIY или Сделай сам,
Электроника для начинающих

+44 31,8k 150

Редакторский дайджест
Присылаем лучшие статьи раз в месяц

Электропочта

@DmitrySpb79

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Python/IoT developer

Комментарии 20

ПОХОЖИЕ ПУБЛИКАЦИИ

18 апреля

Делаем модем: передаем цифровые данные по воздуху с помощью OFDM и GNU Radio
+45 8,3k 77 16

10 апреля 2017

Реверс-инжиниринг радиоуправляемого танка с помощью GNU Radio и HackRF

+50 25,6k 154 21

2 мая 2016

Изучаем GNU Radio при помощи микрофона

+23 30,4k 125 9

КУРСЫ

Разработка под Android: базовый уровень


12 октября 2020 · 20 000 ₽ · Loftschool

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Python для анализа данных
14 октября 2020 · 24 900 ₽ · SkillFactory

Vue.js Продвинутая веб-разработка


19 октября 2020 · 27 000 ₽ · Loftschool

Веб-разработка для начинающих


26 октября 2020 · 25 000 ₽ · Loftschool

React.js. Разработка веб-приложений


16 ноября 2020 · 27 000 ₽ · Loftschool

Больше курсов на Хабр Карьере

ЛУЧШИЕ ПУБЛИКАЦИИ ЗА СУТКИ

вчера в 14:09

Меня перевезли в другую страну и через две недели выставили на мороз — потому что
передумали нанимать

+261 67,2k 164 571

вчера в 11:36

Минцифра и запрет TLS v. 1.3 (а заодно и HTTPS): отзыв на законопроект

+52 18,1k 24 53

сегодня в 07:02

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Как ядерное топливо путешествует по городам России. Короткий комментарий
+36 4k 12 1

вчера в 13:23

Ловим баги на клиенте: как мы написали свою систему для сбора клиентских ошибок
+28 2,7k 26 7

вчера в 17:32

Нестандартный лазерный видеодиск, HDTV и Cудный День


+23 3,4k 13 5

МИНУТОЧКУ ВНИМАНИЯ
Разместить

Чем онлайн сложнее офлайна, когда организуешь конференцию

Мегапост

ИИ vs технологические барьеры: нейросеть для инженеров 21 века

Интересно

Кто получит Logitech MX Master 3? Мы подвели итоги конкурса

Мегапост

СПОНСОРЫ СООБЩЕСТВА

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
ВТБ

Развивает и делает финансовые


услуги доступными онлайн.

Huawei

ИКТ-эксперт. Поставляет умные


устройства и строит
интеллектуальную
инфраструктуру

Авито

Главные по объявлениям в
России. Укрощают высокие
нагрузки.

Как стать спонсором?

ЧИТАЮТ СЕЙЧАС

Меня перевезли в другую страну и


через две недели выставили на мороз
— потому что передумали нанимать
67,2k 574

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Смешные собеседования: истории ИТ-
рекрутеров (часть 1)
30,6k 48

Минцифра и запрет TLS v. 1.3 (а заодно


и HTTPS): отзыв на законопроект
18,1k 53

AMD представила флагманские


процессоры линейки Ryzen 5ххх на
архитектуре Zen3
4,4k 16

Как ядерное топливо путешествует по


городам России. Короткий
комментарий
4k 1

Ваш аккаунт Разделы Информация Услуги

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Войти Публикации Устройство сайта Реклама

Новости Для авторов Тарифы

Хабы Для компаний Контент

Компании Документы Семинары

Авторы Соглашение Мегапроекты

Конфиденциальность

Настройка языка

Техническая поддержка

© 2006–2020 «Habr»

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD

Вам также может понравиться