Этот пример показывает вам, как отследить корабли путем обработки сигналов Автоматической идентификационной системы (AIS) с помощью MATLAB® и Communications Toolbox™. Можно или использовать записанные сигналы или получить сигналы в режиме реального времени с помощью Радио RTL-SDR. Пример может показать отслеженные корабли на карте, если у вас есть Mapping Toolbox™.
Чтобы запустить этот пример с помощью записанных сигналов, вам нужно следующее программное обеспечение:
Чтобы получить сигналы в режиме реального времени, вам также нужны радио RTL-SDR и соответствующее Дополнение пакета поддержки:
Для полного списка Communications Toolbox поддерживаемые платформы SDR обратитесь к разделу Supported Hardware страницы открытия Программно определяемого радио (SDR).
В морской транспортировке услуги по движению судов используют AIS в качестве компонента полной морской системы мониторинга трафика. AIS выполняет следующие функции:
Передайте идентификатор судна, положение, курс и скорость.
Получите и процесс, заданный, опросив вызовы.
Действуйте постоянно в то время как полным ходом или в привязке.
Технические требования AIS:
Передайте частотный диапазон: 156,025 МГц 162,025 МГц
Схема модуляции: Гауссово манипулирование сдвига частоты
Битрейт: 9 600 бит/с
Продукт времени пропускной способности передачи: 0.4
Получите продукт времени пропускной способности: 0.5
Индекс модуляции: 0.5
Пакеты передачи AIS содержат эти поля:
Обучающая последовательность: 24-битная последовательность переменных нулей и единиц (0101...).
Запустите Флаг: 8-битная последовательность, 01111110.
Данные: фрагмент данных 168 битов длиной в пакете передачи по умолчанию.
Последовательность проверки системы координат (FCS): Использует контроль циклическим избыточным кодом (CRC) 16-битный полином, чтобы вычислить контрольную сумму.
Флаг конца: Идентичный флагу запуска.
Буфер: буфер обычно 24 бита длиной, чтобы составлять заполнение битами (максимальные 4 бита), задержка расстояния (14 битов) и дрожание синхронизации (6 битов).
Этот рисунок показывает формат пакета AIS
Введите AISExample в Окне Команды MATLAB или щелкните по ссылке, чтобы запустить пример. Необходимо ввести следующую информацию, когда вы запускаете пример:
Длительность приема в секундах,
Источник сигнала (собранные данные или радио RTL-SDR),
Дополнительные выходные методы (карта и/или текстовый файл).
Пример показывает информацию об обнаруженных поставках в табличной форме как показано в следующем рисунке.
Если вам лицензировали Mapping Toolbox, можно также наблюдать отслеживание AIS поставок на карте.
Следующая блок-схема обобщает структуру получателя кода. Обработка имеет три основных части: Источник Сигнала, Физический уровень и Средство просмотра Данных.
Источник сигнала
Задайте источник сигнала как "Файл" или "RTL-SDR".
''Файл'': использует comm.BasebandFileReader
чтобы считать файл, который содержит, ранее сигнал получил беспроводной.
''RTL-SDR'': Использует радио RTL-SDR, чтобы получить живой сигнал.
Код использует уровень символа сигнала 9 600 Гц и 24 выборки на символ.
Если вы присваиваете ''RTL-SDR'' как источник сигнала, пример ищет ваш компьютер радио RTL-SDR в радиообращении '0' и использует его в качестве источника сигнала.
Физический уровень
Основополосные выборки, полученные от источника сигнала, обрабатываются физическим уровнем (PHY), чтобы произвести пакеты, которые содержат информацию о положении поставки и необработанные байты сообщения. Этот рисунок показывает PHY обработку компонентов.
Пакетный Поиск: Поиски самого сильного пакета в полученном сигнале путем деления на несколько окон.
Удаление Смещения DC: Удаляет смещение DC из обнаруженного сигнала.
Компенсация частоты: Оцените и компенсирует смещение несущей частоты.
Согласованная фильтрация: Выполняет фильтрацию с Гауссовым импульсом, сгенерированным согласно техническим требованиям AIS.
Синхронизация и Демодуляция: Выполняет синхронизацию синхронизации путем корреляции полученного сигнала с известной преамбулой и демодулирует, чтобы произвести биты.
Синтаксический анализатор Бита AIS: Обнаруживает Флаги Флага и Конца Запуска, затем выполняет обнаружение CRC. Если CRC успешен, то информация о поставке декодируется.
В AIS существует 64 определенных типов сообщений. Поставьтесь информация о положении включена в 11 из типов сообщений. Этот пример декодирует все 11 из типов сообщений, которые содержат информацию о положении.
Как замечено в более ранней фигуре, ID поставки, широта, долгота, дата, и время отображены этим примером. Сообщения содержат дополнительную информацию, которая может декодироваться как описано в [1].
Средство просмотра данных
Средство просмотра данных показывает полученные сообщения на графическом интерфейсе пользователя (GUI). Когда данные собраны, информация о списках приложений, декодируемая из этих сообщений в табличной форме.
Шаги в качестве примера описаны ниже. Видеть, что подробные операции смотрят на код, запущенный в функциях помощника, вызванных примером.
% Request user input from the command-line for application parameters userInput = helperAisUserInput; % Calculate AIS parameters based on the user input [aisParam,sigSrc] = helperAisConfig(userInput); % Create the data viewer object and configure based on user input viewer = helperAisViewer('LogFileName', userInput.LogFilename, ... 'SignalSourceType', userInput.SignalSourceType); % Launch map based on user input if userInput.LaunchMap startMapUpdate(viewer); end % Log data based on user input if userInput.LogData startDataLog(viewer); end % Start the viewer and initialize radio time start(viewer) radioTime = 0; % Main loop for capturing and decoding the AIS samples while radioTime < userInput.Duration if aisParam.isSourceRadio % For RTL-SDR [rcv,~,lost,~] = sigSrc(); lostFlag = logical(lost); else % For baseband file rcv = sigSrc(); lostFlag = uint32(0); end % Recover the information by decoding AIS samples [info, pkt] = helperAisRxPhy(rcv,aisParam); % View decoded information on viewer update(viewer, info, pkt, lostFlag); % Update radio time radioTime = radioTime + aisParam.FrameDuration; end % Stop the viewer and release the signal source stop(viewer) release(sigSrc)
Можно также ввести AISExampleApp в Окне Команды MATLAB или щелкнуть по ссылке, чтобы использовать пользовательский интерфейс AISExampleApp, чтобы исследовать сигналы AIS. Интерфейс приложения позволяет вам выбирать источник сигнала и изменять длительность.
Можно исследовать следующие функции и Системные объекты для деталей реализации физического уровня:
Рекомендация ITU-R M.1371-5, Технические характеристики для автоматической идентификационной системы, использующей деление времени, несколько получают доступ в VHF к морскому мобильному диапазону частот.