Приемник FRS/GMRS

В этом примере показано, как реализовать приемник рации с использованием Simulink ® и Communications Toolbox™. Конкретным стандартом радиосвязи, который приведен в данном примере, является FRS/GMRS (Семейная радиосервис/Общая мобильная радиосервис) с CTCSS (Непрерывная система Скворчения с кодированием тональных сигналов). Можно использовать имитированные сигналы, записанные сигналы или принятые сигналы от коммерческой рации с помощью пакета поддержки Communications Toolbox для Радио RTL-SDR.

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

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

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

Чтобы принимать сигналы в режиме реального времени, вам также нужно следующее оборудование:

  • Радио RTL-SDR

  • Рация

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

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

Введение

Для получения информации о технологии 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 слегка нисходящее значение блока. Можно изменить канал и частный код, не останавливаясь и не перезапуская модель.

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

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

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

Следующий блок суммирует структуру приемника. Обработка состоит из четырех основных частей: Signal Source, Channel Selector, FM Demodulator и CTCSS.

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

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

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

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

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

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

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

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

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

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

CTCSS

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

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

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

Аудио Выхода

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

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

Исследование примера

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

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

Приложение

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

Ссылки