Статья опубликована в рамках: XCIX Международной научно-практической конференции «Вопросы технических и физико-математических наук в свете современных исследований» (Россия, г. Новосибирск, 25 мая 2026 г.)
Наука: Технические науки
Секция: Инжиниринговые и научно-технические системы и платформы
Скачать книгу(-и): Сборник статей конференции
дипломов
РАЗРАБОТКА МОДУЛЯ ПРИЁМА СИГНАЛОВ АИС НА БАЗЕ RTL-SDR И OPENCPN
DEVELOPMENT OF AN AIS SIGNAL RECEPTION MODULE BASED ON RTL-SDR AND OPENCPN
Pham Trung Duc
Master, lecturer, Faculty of Navigation, Vietnam Maritime University,
Hai Vietnam, Phong City
Do Duy Manh
Lecturer, Faculty of Navigation, Vietnam Maritime University,
Vietnam, Hai Phong City,
Le Tuan Son
PhD student, lecturer, Faculty of Navigation, Vietnam Maritime University,
Vietnam, Hai Phong City
АННОТАЦИЯ
В данном исследовании представлена разработка приёмника сигналов АИС на базе архитектуры RTL-SDR и программного обеспечения с открытым исходным кодом OpenCPN. Устройства АИС автоматически и непрерывно передают и принимают данные, связанные с плаванием, включая информацию о положении, скорости и маршруте различных судов внутреннего и морского плавания. АИС широко используется для повышения безопасности навигации водного транспорта. Концепция программно-определяемого радио (SDR) подразумевает реализацию функций приёмника программными средствами, а не традиционной аппаратной обработкой. Была создана экспериментальная установка для получения данных АИС от реальных судов, находящихся в эксплуатации. Исходные данные обрабатывались с помощью блоков демодуляции сигналов для извлечения сообщений АИС. Затем эти сообщения декодировались с целью получения точной навигационной информации, связанной с передающим судном. На основе результатов приёма было показано, что приёмник АИС, использующий RTL-SDR и OpenCPN, точно и эффективно извлекает сообщения АИС из принимаемых пакетов данных АИС.
ABSTRACT
This research presents the development of an AIS signal receiver based on the RTL-SDR architecture and the open-source software OpenCPN. AIS devices automatically and continuously transmit and receive voyage-related data, including position, speed, and route information, for various inland and maritime vessels. AIS is widely employed to enhance navigational safety for waterborne transportation. The concept of Software-Defined Radio (SDR) refers to the implementation of receiver functions through software rather than conventional hardware-based processing. An experimental setup was established to acquire AIS data from actual vessels in operation. The raw data were processed through signal demodulation blocks to extract AIS messages. These messages were then decoded to obtain accurate navigational information associated with the transmitting vessel. Based on the reception results, the AIS receiver using RTL-SDR and OpenCPN was shown to extract AIS messages from the received AIS data packets accurately and efficiently.
Ключевые слова: АИС, RTL-SDR, обработка сигналов, OpenCPN.
Keywords: AIS, RTL-SDR, signal processing, OpenCPN.
1. Введение
Автоматическая идентификационная система (АИС) – это устройство, устанавливаемое на судах для передачи и приёма информации, связанной с судном, включая динамические данные, такие как местоположение, скорость относительно грунта (SOG), путевой угол относительно грунта (COG) и курс, а также статические данные, такие как идентификатор морской подвижной службы (MMSI), название судна и позывной сигнал, в целях обеспечения безопасности и охраны на море [1]. Начиная с 2000 года, АИС является обязательной для всех грузовых судов валовой вместимостью 300 и более, совершающих международные рейсы, а также для всех пассажирских судов независимо от их размера. Данные, получаемые от АИС, оказывают поддержку судовладельцам, морским администрациям и операторам судов, а также могут быть интегрированы с другими системами, например с радиолокационными станциями, для отслеживания положения судов и содействия операциям по предотвращению столкновений.
Архитектура программно-определяемого радио (SDR) определяется как радиосистема, в которой оцифровка в приёмнике выполняется на определённых этапах обработки непосредственно после антенны, как правило, после широкополосного фильтра, малошумящего усилителя и этапов понижения частоты. В традиционных аналоговых радиосистемах эти функции радиообработки реализуются отдельными аппаратными компонентами. Напротив, использование архитектуры SDR позволяет реализовывать и настраивать функции обработки сигналов более простым способом. Вместо замены дискретных аппаратных компонентов для изменения радиохарактеристик эти модификации могут выполняться более гибко с помощью программного обеспечения.
В данном исследовании одноканальный приёмник АИС реализован с использованием архитектуры RTL-SDR в сочетании с программным обеспечением с открытым исходным кодом OpenCPN.
Остальная часть данной статьи организована следующим образом. В разделе 2 представлена структура приёмника АИС на базе RTL-SDR. Результаты и их обсуждение приведены в разделе 3. Наконец, в разделе 4 сформулированы выводы и обозначены направления будущих разработок.
2. Разработка структуры приёмника АИС
.
Рисунок 1. Блок-схема алгоритма приёма сигналов АИС
На рисунке 1 представлена структурная схема алгоритма, используемого для обработки сигналов в программном приёмнике АИС. Данный процесс состоит из трёх основных компонентов: источника сигнала, физического уровня и модуля мониторинга данных.
2.1. Источник сигнала
Источник данных определяется как один из следующих случаев:
- «Файл» (File) – объект comm.BasebandFileReader в Simulink используется для чтения файла, содержащего предварительно записанные сигналы АИС.
- «RTL-SDR» – архитектура RTL-SDR используется для приёма реальных сигналов. В этом случае программа выполняет поиск радиомодуля RTL-SDR по радиоадресу «∅» и использует этот радиочастотный тракт в качестве источника сигнала.
Сигналы АИС передаются в диапазоне частот от 156,025 МГц до 162,025 МГц. В частности, канал А АИС работает на частоте 161,975 МГц, а канал В — на частоте 162,025 МГц. Для передачи сигналов АИС используется модуляция с гауссовской минимальной манипуляцией (GMSK). Скорость передачи сообщений АИС составляет 9600 бит/с. Полоса пропускания каждого канала АИС равна 12,5 кГц, а расстояние между центральными частотами двух каналов АИС составляет 50 кГц. Поэтому полоса пропускания приёмника SDR настраивается на значение более 62,5 кГц. В реализации, представленной в данной статье, символьная скорость сигнала составляет 9600 Гц при 24 выборках на символ.
2.2. Физический уровень
Физический уровень (PHY) обрабатывает выборки сигнала на основной полосе частот, полученные от источника сигнала, с целью формирования пакетов, содержащих информацию о положении судна и исходные байты сообщений. Компоненты обработки на физическом уровне показаны на рисунке 2.

Рисунок 2. Блоки обработки физического уровня
А именно:
Поиск пакетов (Packet search): самый сильный всплеск в принятых данных идентифицируется путём разделения входного потока на несколько окон.
Удаление постоянной составляющей (DC offset removal): из обнаруженного сигнала удаляется компонент смещения по постоянному току.
Частотная компенсация (Frequency compensation): оценивается и компенсируется сдвиг несущей частоты.
Согласованная фильтрация (Matched filtering): сигнал фильтруется с использованием гауссовского импульса, формируемого в соответствии со спецификациями АИС.
Синхронизация и демодуляция (Synchronization and demodulation): тактовая синхронизация выполняется путём корреляции принятого сигнала с известным преамбульным словом, после чего следует демодуляция для восстановления битов данных.
Анализ битового потока (Bitstream parsing): обнаруживаются флаги начала и конца каждого кадра данных, а также выполняется проверка ошибок на основе CRC. Если ошибок не обнаружено, производится декодирование информации о судне.
Сигналы АИС содержат 27 различных типов сообщений. Информация о положении судна присутствует в 11 из этих типов сообщений. Такая информация о положении включает идентификацию судна, долготу, широту, а также соответствующие дату и время [2].
2.3. Модуль мониторинга данных
Модуль мониторинга данных отображает принятые сообщения. Для визуализации информации о судне используется программное обеспечение с открытым исходным кодом OpenCPN. Данное программное обеспечение способно считывать сообщения в формате «NMEA» и отображать положения судов на навигационной карте.
3. Реализация и оценка приёмника АИС
Экспериментальная установка приёмника АИС с использованием RTL-SDR и OpenCPN показана на рисунке 3. Используемая антенна представляет собой регулируемую дипольную антенну, длина которой устанавливается примерно равной четверти резонансной длины волны, в комбинации с отражающим экраном (противовесом). Соответственно, антенна состоит из элемента длиной в четверть волны, подключённого к центральной жиле коаксиального кабеля, а также четырёх или более заземляющих элементов, наклонённых под углом 45° и подключённых к внешней оплётке коаксиального кабеля для достижения согласования импеданса 50 Ом с коаксиальным кабелем, как показано на рисунке 4. Для несущей частоты АИС примерно 162 МГц длина четвертьволнового элемента определяется как около 0,46 м.
Примечание: рисунки 3 и 4 в тексте не описаны, поэтому их названия на русском языке могут быть переданы как «Рисунок 3» и «Рисунок 4» соответственно.

Рисунок 3. Экспериментальная установка приёмника АИС на базе SDR

Рисунок 4. Приёмная антенна сигналов АИС
В OpenCPN откройте вкладку «Connections» (Подключения). В разделе «Data Connections» (Подключения данных) выберите «Add Connection» (Добавить подключение) и добавьте сетевое UDP-соединение с адресом 127.0.0.1 и портом 10110, как показано на рисунке 5.

Рисунок 5. Конфигурация подключения OpenCPN
Чтобы начать декодирование данных АИС, сначала принимается радиочастотный сигнал и демодулируется GMSK-сигнал. Выходом блока демодуляции является двоичный поток данных [3]. Эти шаги выполняются на физическом уровне (PHY). После этого биты анализируются для получения сообщения АИС длиной 168 бит. Эти 168 бит затем группируются в отдельные поля, соответствующие конкретной информации о судне, такой как идентификатор сообщения, MMSI, долгота и широта судна. Далее сообщение АИС форматируется в соответствии со стандартом NMEA 0183 и передаётся в OpenCPN для декодирования и отображения положения судна на карте.
Типовое сообщение NMEA 0183 имеет вид:
«!AIVDM,1,1,,A,15C;A00007Inh;tB8P01g8251t,0*1A» и декодируется, как показано в таблице 1.
Таблица 1.
Пример декодированного сообщения АИС
|
Поле № |
Параметр |
Значение |
Описание |
|---|---|---|---|
|
01 |
Идентификатор сообщения (Message ID) |
1 |
|
|
02 |
Индикатор повтора (Repeat indicator) |
0 |
Нет повтора (по умолчанию) |
|
03 |
Идентификатор пользователя (MMSI) |
355652000 |
|
|
04 |
Навигационный статус (Navigational status) |
0 |
На ходу с использованием двигателя |
|
05 |
Скорость поворота ROTAIS |
+0.0 |
|
|
06 |
SOG (скорость относительно грунта) |
0.0 |
|
|
07 |
Точность позиции (Position accuracy) |
0 |
Низкая (> 10 м) (по умолчанию) |
|
08 |
Долгота (Longitude) |
106.6934800 |
|
|
09 |
Широта (Latitude) |
20.8700300 |
|
|
10 |
COG (путевой угол относительно грунта) |
0.0 |
|
|
11 |
Истинный курс (True heading) |
55 |
|
|
12 |
Отметка времени (Time stamp) |
36 |
|
|
13 |
Индикатор специального манёвра |
0 |
|
|
14 |
Резерв (Spare) |
0 |
|
|
15 |
Флаг RAIM |
1 |
RAIM используется |
Положения целевых судов отображаются в OpenCPN, как показано на рисунке 6.

Рисунок 6. Положения целевых судов, декодированные из данных АИС и отображаемые в OpenCPN
По сравнению с коммерческими приёмниками АИС, приёмник АИС на базе SDR имеет более низкую скорость обработки данных; поэтому при одинаковом времени наблюдения может наблюдаться незначительное расхождение в сообщаемой позиции судна, передающего сообщение АИС, хотя это отличие очень мало. Тем не менее, статическая информация о судне, такая как MMSI и позывной сигнал, декодированная с помощью SDR-приёмника АИС, полностью соответствует информации, полученной от коммерческих приёмников АИС.
4. Заключение
В данном исследовании представлены научно-исследовательские работы и разработка этапов обработки сигналов АИС для реализации полноценного одноканального приёмника АИС на базе SDR и OpenCPN. После захвата радиосигнала АИС извлекаются данные АИС и выполняется GMSK-демодуляция для восстановления пакета АИС в двоичной форме. Затем сообщение АИС форматируется в соответствии со стандартом NMEA 0183 и передаётся в OpenCPN для анализа, что позволяет извлекать как статическую, так и динамическую информацию о судне, передающем сообщение АИС. По сравнению с коммерческими приёмниками АИС, данные и сообщения АИС, принимаемые приёмником АИС на базе SDR, демонстрируют точную работу в отношении статических данных.
Список литературы:
- Tetreault, Brian J. "Use of the Automatic Identification System (AIS) for maritime domain awareness (MDA)." Proceedings of Oceans 2005 Mts/Ieee. Ieee, 2005.
- Рекомендация МСЭ-Р М.1371-5. «Технические характеристики обеспечивают определяющую систему р в морском подвижном составе ОВЧ», Международный союз электросвязи https://www.itu.int/rec/R-REC-M.1371-5-201402-I/en.
- Cruz, Febus Reidj G., et al. "Software defined radio implementation of a single channel automatic identification system receiver." TENCON 2018-2018 IEEE Region 10 Conference. IEEE, 2018.
дипломов

