Принимаем сообщения APRS при помощи RTL-SDR

31 октября 2018

Automatic Packet Reporting System, или APRS — это система, придуманная радиолюбителями в 80-ые годы и чем-то напоминающая современные SMS. Оператор любительского радио посылает в эфир текстовое сообщение с информацией о своем местонахождении, используемых частотах, погодных условиях, и так далее. Благодаря репитерам и гейтвеям, эта информация доступна не только находящимся поблизости операторам. Она пересылается, в том числе через интернет, и может быть снова отправлена в совершенно другой точке Земли.

Примечание: Если вы пропустили вводную статью по Software Defined Radio, вот она: Начало работы с LimeSDR, Gqrx и GNU Radio.

На сайте aprs.fi можно посмотреть, какая движуха с APRS происходит в ваших окрестностях:

APRS в Москве

На скриншоте мы видим, как радиолюбительская экспедиция с позывным R3CS перемещается по Москве на автомобиле. По всей видимости, в автомобиле установлена радиостанция с включенным APRS. Также можно найти на карте репитеры и гейтвеи, локальные радиоклубы, метеостанции, и так далее. Карта обновляется в реальном времени.

Fun fact! APRS также может быть использован для сбора телеметрии с радиолюбительских аэростатов, квадрокоптеров, дрифтующих буев и роботов.

Для передачи пакетов APRS используются немного разные частоты в зависимости от страны. В России это 144.8 МГц. Частоту для прочих стран вы найдете на сайте aprs.org. Принимать сигнал было решено на антенну RTL-SDR Blog Multipurpose Antenna, развернутую в виде обычного диполя:

Диполь для RTL-SDR

Как вам может быть известно, суммарная длина усов антенны легко вычисляется из скорости света и интересующей нас частоты. В данном случае она должна быть чуть больше одного метра:

>>> (300000000/(144.8*1000*1000))/2
1.0359116022099448

Дополнение: Позже я узнал, что в диапазоне 144-146 МГц радиолюбители используют в основном вертикальную поляризацию. Соответственно, антенна принимала бы сигнал существенно лучше, если бы была расположена вертикально, а не горизонтально.

В APRS используется модуляция AFSK. В Gqrx есть встроенный декодер для данного типа модуляции. Его можно найти в Tools → AFSK1200 Decoder. Если все было сделано правильно, мы увидим пакеты на водопаде и сможем их декодировать:

Декодирование пакетов APRS в Gqrx

Может так получиться, что вы видите данные на водопаде, но декодер их почему-то не воспринимает. Проверьте, что вы используете режим Narrow FM. Также вам могут помочь дополнительные аналоговые фильтры. У меня, к примеру, все заработало после добавления фильтра частот, используемых ФМ-радио. Этот фильтр вы можете помнить по заметке Как я пробовал использовать RTL-SDR в качестве дешевого анализатора спектра.

Как видите, сообщения APRS передаются в виде текста. Текст этот зачастую вполне осмысленный. Например, в нем может содержаться название гейта и контактная информация владельца:

14:04:17$ fm R2AKT-1 to APBPQ1-0 via RW3DKE-1,WIDE2-2 UI  PID=F0
          =5556.35NI03758.46E& BPQ32 Igate V Shchyolkovo APRS Tx-Rx ⏎
          iGate+Digipeater. http://www.r2akt.ru

Но некоторые сообщения могут оказаться и такими:

14:05:25$ fm RW3DKE-1 to APU25N-0 via WIDE1-1 UI^ PID=F0
          }RT9K-10>APMI04,TCPIP,RW3DKE-1*:@291105z6454.84N/07742.37E ⏎
          _337/000g003t022r672p096P...h85b10109WX3in1 weather

Это информация от метеостанции с именем RT9K-10. Она говорит нам, что максимальная скорость ветра за последние 5 минут составляла 3 метра в секунду (g0003), температура воздуха — 2.2°C (t022), влажность 85% (h85), и так далее. Координаты метеостанции (6454.84N/07742.37E) можно перевести в более привычные GPS-координаты таким образом:

>>> "%.08f" % (64 + (54/60) + (84/100/60)) + ';' + \
... "%.08f" % (77 + (42/60) + (36/100/60))
'64.91400000;77.70600000'

Судя по Яндекс.Картам, то это где-то в Пуровском районе, на расстоянии 2370 км от меня. Само собой разумеется, сигнал пришел оттуда не напрямую, а через сеть гейтвеев и репитеров.

Если вы хотите ознакомиться с исчерпывающим описанием пакетов APRS, то соответствующий документ имеет объем 128 страниц и находится здесь [PDF].

Как ни странно, следить за APRS оказалось довольно интересно. Возможно, даже интереснее, чем наблюдать за самолетами. Поскольку APRS работает в радиолюбительском диапазоне 2 метра, 144-146 МГц, используя все тот же диполь и все тот же режим Narrow FM, есть шанс услышать радиолюбителей. В частности, мне довелось быть свидетелем сеанса радиосвязи на частоте 145.475 МГц.

А что интересного вы в последнее время делали с SDR?

Дополнение: Еще вас могут заинтересовать посты Слушаем коротковолновиков при помощи RTL-SDR, Принимаем изображения от метеоспутников с RTL-SDR и Прием радиофакса и его декодирование с помощью Fldigi.

Метки: , , , .


Вы можете прислать свой комментарий мне на почту, или воспользоваться комментариями в Telegram-группе.