В этом примере показано, как реализовать получатель портативной радиостанции с помощью 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.
Источник сигнала
Этот пример может использовать три источника сигнала:
''Симулированный Сигнал'': Симулированные FRS/GMRS сигнализируют в 240e3 выборки/секунда
''Записанный сигнал'': Беспроводные сигналы, записанные в файл и полученное использование основополосного средства чтения файлов, блокируются в 240e3 выборки/секунда
''Радио 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
параметр этого блока и наблюдает, как это влияет на спектр сигнала.
Следующий скрипт используется в этом примере: