exponenta event banner

Приемник FRS/GMRS

В этом примере показано, как реализовать приемник рации с помощью Simulink ® и Communications Toolbox™. Конкретным стандартом радиосвязи, который следует за этим примером, является FRS/GMRS (Family Radio Service/General Mobile Radio Service) с CTCSS (Continuous Tone-Coded Squelch System). С помощью пакета поддержки Communications Toolbox Support Package for RTL-SDR Radio можно использовать смоделированные сигналы, захваченные сигналы или принятые сигналы с коммерческой рации.

Этот пример предназначен для работы со стандартами США для эксплуатации FRS/GMRS. Технические характеристики этих стандартов приведены ниже в справочном списке. Работа в других странах может работать, а может и не работать.

Необходимое оборудование и программное обеспечение

Для выполнения этого примера с использованием захваченных сигналов необходимо следующее программное обеспечение:

Для приема сигналов в режиме реального времени также необходимо следующее оборудование:

  • Радиоблок RTL-SDR

  • Рация

и следующее программное обеспечение

Полный список платформ SDR, поддерживаемых Communications Toolbox, см. в разделе «Поддержка аппаратного обеспечения MATLAB и Simulink для SDR» Программного радио (SDR).

Введение

Описание технологии FRS/GMRS и демодуляция этих сигналов приведены в примере приемника FRS/GMRS.

Выполнение примера

Для запуска примера с использованием моделируемых сигналов выберите FRS/GMRS Signal Generator блок в качестве источника с использованием Signal Source Selector блок. Дважды щелкните значок FRS/GMRS Signal Generator для выбора CTCSS code и тип источника как один из «Single tone», «Chirp» или «Audio». Затем нажмите кнопку run.

Для выполнения примера с использованием захваченных сигналов выберите FRS/GMRS Captured Signal блок в качестве источника с использованием Signal Source Selector блок. Затем нажмите кнопку run.

Для запуска примера с использованием радиоблока RTL-SDR в качестве источника выберите RTL-SDR Receiver блок в качестве источника с использованием Signal Source Selector блок. Затем нажмите кнопку run. Включите телефонную связь, установите канал в качестве одного из каналов 14 (пронумерованный от 1 до 14), а закрытый код - в качестве одного из 38 частных кодов (пронумерованный от 1 до 38) или 0, в этом случае система подавления не используется и все принятые сообщения принимаются. Следует отметить, что частные коды выше 38 являются цифровыми кодами и не реализованы в этом примере.

Дважды щелкните значок Channel Number заблокировать и выбрать тот же номер канала, что и рация. Дважды щелкните значок CTCSS Code заблокировать и установить для кода CTCSS частный код, установленный в рации. Запустите модель и убедитесь, что вы слышите, как ваш голос выходит из динамиков компьютера. Если нет, попробуйте настроить Detection Threshold значение блока немного вниз. Можно изменить канал и частный код без остановки и перезапуска модели.

Если вы услышите некоторое выпадение или задержку звука, запустите модель в режиме акселератора. В меню модели выберите Simulation- > Accelerator, затем нажмите кнопку run. Если вы по-прежнему испытываете отсев или задержку в режиме ускорителя, попробуйте запустить модель в режиме ускорителя.

«Signal Spectrum» показывает спектр принимаемого сигнала на входе Channel Selector блок. Вы можете наблюдать, как спектр меняется, когда вы говорите в рации.

Структура приемника

Следующая блок-схема суммирует структуру приемника. Обработка состоит из четырех основных частей: источник сигнала, селектор каналов, демодулятор FM и обработка CTCSS.

Источник сигнала

В этом примере можно использовать три источника сигнала:

  1. «Моделируемый Сигнал»: Моделируемые FRS/GMRS сигнализируют в 240e3 образцы/секунда

  2. «Захваченный сигнал»: эфирные сигналы записываются в файл и подаются с использованием блока чтения файлов основной полосы частот со скоростью 240e3 отсчетов/сек

  3. «RTL-SDR Radio»: RTL-SDR radio at 240e3 samples/sec. Используйте рацию в качестве передатчика. Установите номер канала на номер канала рации.

Селектор каналов

Приемник удаляет компонент постоянного тока и применяет переменный коэффициент усиления к принятому сигналу для получения приблизительно известного амплитудного сигнала с уменьшенными помехами. Затем приемник применяет фильтр разделения каналов нижних частот для уменьшения сигналов от соседних каналов. Зазор между соседними каналами составляет 25 кГц, что означает, что ширина полосы частот основной полосы частот составляет не более 12,5 кГц. Таким образом, мы выбираем частоту отсечки 10 кГц.

Затем селектор канала вычисляет среднюю мощность отфильтрованного сигнала. Если он превышает пороговое значение (значение по умолчанию равно 10%), селектор канала определяет, что принятый сигнал поступает из правильного канала, и разрешает прохождение сигнала. В случае внеполосного сигнала, хотя фильтр разделения каналов уменьшает его величину, он все еще модулируется ЧМ, и модулирующий сигнал будет присутствовать после ЧМ демодуляции. Для полного отклонения такого сигнала селектор канала выводит все нули.

Демодулятор FM

В этом примере используется FM Demodulator Baseband блок, частота дискретизации которого и максимальное отклонение частоты установлены на 240 кГц и 2,5 кГц соответственно.

CTCSS

Во-первых, прореживающий фильтр преобразует частоту дискретизации от 240 кГц до 8 кГц. Эта частота является одной из собственных частот дискретизации выходного аудиоустройства компьютера. Затем декодер CTCSS вычисляет мощность на каждой частоте тонального сигнала CTCSS, используя алгоритм Гертцеля, и выводит код с наибольшей мощностью. Алгоритм Гертцеля обеспечивает эффективный способ вычисления частотных составляющих на заданных частотах, то есть частотах тонального кода, используемых FRS/GMRS.

Модель сравнивает оцененный принятый код с предварительно выбранным кодом и затем посылает сигнал в аудиоустройство, если два кода совпадают. Когда предварительно выбранный код равен нулю, он указывает, что система подавления не используется, и блок принятия решения передает сигнал по каналу в аудиоустройство независимо от того, какой код используется.

Наконец, фильтр верхних частот с частотой отсечки 260 Гц отфильтровывает тональные сигналы CTCSS, которые имеют максимальную частоту 250 Гц. Использовать Audio Device Writer блокировать для воспроизведения полученных сигналов через динамики компьютера. Если вы не слышите звука, выберите другое устройство с помощью параметра DeviceName Audio Device Writer блок.

Аудиовыход

Перед звуковым устройством используется фильтр верхних частот с частотой отсечки 260 Гц для фильтрации тональных сигналов CTCSS (которые имеют максимальную частоту 250 Гц), чтобы они не были услышаны.

Audio Device Writer блок устанавливается по умолчанию для вывода на текущее аудиоустройство в системных настройках.

Изучение примера

Декодирование CTCSS вычисляет DTFT (дискретное временное преобразование Фурье) входящего сигнала с использованием алгоритма Гертцеля и вычисляет мощность на частотах тональных сигналов. Поскольку частоты тональных сигналов очень близки друг к другу (с интервалом только 3-4 Гц), длина блока DTFT должна быть достаточно большой, чтобы обеспечить достаточное разрешение для анализа частоты. Однако длинные длины блоков вызывают задержку декодирования. Например, длина блока 16384 вызовет 2 секунды задержки, поскольку декодер CTCSS работает с частотой дискретизации 8 кГц. Это создает компромисс между производительностью обнаружения и задержкой обработки. Оптимальная длина блока может зависеть от качества передатчика и приемника, расстояния между передатчиком и приемником и других факторов. Рекомендуется изменить длину блока в функции инициализации путем перехода к функции helperFRSReceiverConfig и изменения значения поля CTCSSDecoBlockLength. Это позволит вам увидеть компромисс и найти оптимальное значение для вашей пары передатчик/приемник.

Когда FRS/GMRS Signal Generator выбран в качестве источника, можно изменить CTCSS tone amplitude параметр этого блока и наблюдать, как это влияет на спектр сигнала.

Приложение

В этом примере используется следующий сценарий:

Ссылки