Получатель FRS/GMRS

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

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

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

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

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

  • Радио RTL-SDR

  • Портативная радиостанция

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

Для полного списка Communications Toolbox поддерживаемые платформы SDR обратитесь к разделу Supported Hardware страницы открытия Программно определяемого радио (SDR).

Введение

Для введения на технологии FRS/GMRS и демодуляции этих сигналов, обратитесь к Получателю Портативной радиостанции FRS/GMRS Используя пример MATLAB.

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

Чтобы запустить пример с помощью моделируемых сигналов, выберите блок FRS/GMRS Signal Generator как источник с помощью блока Signal Source Selector. Дважды щелкните по блоку FRS/GMRS Signal Generator, чтобы выбрать CTCSS code и исходный тип как один из 'Одного тона', 'Щебета' или 'Аудио'. Затем щелкните по кнопке 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. Из образцового меню выберите Simulation-> Accelerator, затем щелкните по кнопке Run. Если вы все еще испытываете уволенных или задержку Режима Accelerator, попытайтесь запустить модель в Быстром Режиме Accelerator.

"Спектр Сигнала" показывает спектр полученного сигнала во входе блока Channel Selector. Можно наблюдать, как спектр изменяется, когда вы говорите в свою портативную радиостанцию.

Структура получателя

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

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

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

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

  2. ''Полученный Сигнал'': Беспроводные сигналы, записанные в файл и полученное использование основополосного средства чтения файлов, блокируются в 240e3 выборки/секунда

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

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

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

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

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

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

CTCSS

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

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

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

Аудиовыход

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

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

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

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

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

Приложение

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

Ссылки

Для просмотра документации необходимо авторизоваться на сайте