Обзор SDR-приемника RSPduo Печать
Добавил(а) microsin   

RSPduo это радикально новая версия приемника от SDRplay. Архитектурно он отличается от предыдущих версий приемников RSP1 и RSP2 в основном тем, что в RSPduo встроено два аппаратно независимых тюнера, выводящих данные через один интерфейс USB 2.0. Снаружи RSPduo выглядит аналогично RSP2pro, и может работать так же, однако потенциально RSPduo может предоставить новый уникальный набор рабочих сценариев. В этой статье использовались материалы с сайтов [1, 2, 3]. Непонятные термины и сокращения см. в разделе "Словарик" статьи [10].

RSPduo common view

Рис. 1. Приемник RSPduo, общий вид.

Приемник RSPduo также основан на чипе Mirics MSi2500, и работает в диапазоне частот 1 кГц .. 2000 МГц.

Основные параметры приемника RSPduo:

- Два идентичных приемника в одном устройстве.
- Непрерывный диапазон частот 1 кГц .. 2000 МГц.
- Фильтры LPF 2 МГц для диапазонов LW и MW.
- Фильтры BPF диапазонов коротких волн 2 .. 12 МГц, 12 .. 30 МГц, 30 .. 60 МГц.
- Фильтры BPF диапазонов VHF, UHF, SHF: 60 .. 120 МГц, 120 .. 250 МГц, 250 .. 300 МГц, 300 .. 380 МГц, 380 .. 420 МГц, 420 .. 1000 МГц.
- Фильтр HPF 1000 .. 2000 МГц.
- Реализованы режекторные фильтры для диапазонов MW, FM, и DAB+.
- Чувствительность 0.16 мкВ при полосе частот 1.5 кГц на модуляции SSB в диапазоне 20 м.
- Расширенный динамический диапазон за счет фильтров, усилителей, ступенчатого аттенюатора и АЦП разрядностью 14 бит.
- Стабилизированный опорный генератор тактовой частоты 24 МГц (TCXO) с точностью 0.5 ppm.
- Два антенных входа 50 Ом с разъемами SMA и один высокоомный вход Hi-Z.
- Вход и выход опорной частоты.
- Разъем USB 2.0 Type B.
- Питание от 5V разъема USB.
- Прием и демодуляция сигналов AM, SAM, LSB, USB, CW, FM с поддержкой аппаратуры и ПО.
- Максимальная полоса частот обзора 10 МГц с помощью программы SDRuno.
- Размеры 95x80x30 мм, вес 320 грамм.

RSPduo diagram simple

Рис. 2. Общая блок-схема внутреннего устройства приемника RSPduo.

На схеме рис. 2 хорошо видно, что RSPduo содержит 2 тюнера в отличие от приемника RSP2, в котором имеется один тюнер и переключаемые антенные входы (см. рис. 3).

RSP2 diagram simple

Рис. 3. Общая блок-схема внутреннего устройства приемника RSP2.

Примечание переводчика: здесь термин "приемник" обозначает все устройство RSP в целом, а термин "тюнер" обозначает один аппаратный канал обработки радиосигнала внутри приемника.

RSPduo работает по принципу настраиваемого тюнера, это не Direct Sampling SDR, такой как Perseus SDR [6]. RSPduo имеет три антенных порта, два из которых относятся к Tuner 1. Высокоомный вход Hi-Z предназначен для работы в диапазоне частот 1 кГц .. 30 МГц, сигнал проходит через переключаемые фильтры LPF, а также через режекторные фильтры MW и DAB. Режекторные фильтры подключаемые, и их наличие позволяет подавить сигналы помех диапазона средних волн и цифрового вещания, что улучшает прием в диапазоне коротких волн.

Входы 50 Ом работают в полном диапазоне частот 1 кГц .. 2 ГГц. Они снабжены режекторными фильтрами MW, FM и DAB, чтобы снизить уровень нежелательных сигналов в этих диапазонах частот. Сигнал также проходит через различные фильтры LPF, BPF и HPF. Антенный вход 50 Ом Tuner 2 имеет возможность подключения внешнего антенного усилителя, питаемого по кабелю (BiasT, активная антенна, рассчитанная на питание напряжением 4.7V).

Внутренний генератор тактовой частоты достаточно точный, однако дополнительно RSPduo содержит выход и вход тактовой частоты. Выход позволяет синхронизировать работу нескольких приемников RSP, а вход позволяет подавать сигнал тактов от внешнего точного сигнала тактирования, например от приемника GPS [7].

Микросхема MSi2500 содержит два АЦП, это позволяет оцифровывать аналоговые I/Q сигналы базового диапазона, когда тюнер используется в режиме Zero IF. Однако тюнер может также работать в режиме Low IF, когда один АЦП используется для оцифровки выхода тюнера. В результате получается два независимых тюнера, работающих одновременно, однако это будет работать только в том случае, когда оба тюнера работают в режиме Low IF. В режиме Low IF максимально плоская полоса фильтров IF может быть 1.536 МГц, в то время как в режиме Zero IF можно расширить полосу этих фильтров до 8 МГц.

Это определяет, как можно использовать RSPduo. SDR-приемник может работать либо с каждым тюнером по отдельности (в одно и то же время активен только один из тюнеров) в режиме Zero IF, когда отображаемая полоса частот составит 10 МГц, либо с двумя тюнерами одновременно, тогда максимальный отображаемый диапазон частот будет 2 МГц.

RSPduo diagram detail

Рис. 4. Более подробная блок-схема RSPduo.

На рис. 4 можно увидеть, что Tuner 1 содержит два антенных входа - порт 50 Ом и порт Hi-Z. В отличие от приемника RSP2 порты 50 Ом обоих тюнеров могут принимать частоты до 1 кГц, и у них значительно улучшены динамические характеристики в сравнении с антенными входами RSP2. Дополнительно, как и у приемника RSP1A, на обоих антенных 50 Ом портах есть фильтры низких частот 0 - 2 МГц, которые помогают снизить помехи в диапазонах LF и MW (ДВ и СВ). В отличие от RSP2, порт Hi-Z приемника RSPduo имеет режекторный фильтр и фильтр низких частот 0 - 2 МГц, что позволяет снизить перегрузку радиотракта сильными MW AM сигналами и случайными помехами от результатов подмешивания частот HF. Порт Hi-Z призван обеспечить самые отличные параметры приема диапазонов LF и MW, намного лучшие, чем у RSP2. Порты 50 Ом Tuner 1 и Tuner 2 показывают очень хорошие параметры в диапазонах от LF до 2 ГГц, но лучше всего работают в диапазонах HF и выше, поскольку для входа Hi-Z нет фильтров дополнительной преселекции на частотах выше 2 МГц. Порты 50 Ом Tuner 1 и Tuner 2 должны показывать такие же параметры, как и 50 Ом входы приемника RSP1A, однако за счет режекторного фильтра 50 Ом входы RSPduo работают лучше в диапазонах MW и VHF FM, снижая помехи UHF в диапазона Band 3 (120 - 250 МГц).

Блок опорной частоты значительно улучшен, и теперь может выводить на GPSDO сигнал 0 - 3V без какой-либо схемы интерфейса. Этот сигнал может служить в качестве главных тактов (master clock) для других приемников RSPduo или RSP2, и будет работать как подчиненный вход тактов (slave clock) принимая сигналы от RSP2, работающего как источник master clock. Во время тестов было обнаружено, что "горячее" переключение на тактирование между внешними и внутренними тактами не приводит к зависанию чипа MSi2500, что не было возможно с приемником RSP2.

Как и в приемнике RSP1A, в приемнике RSPduo применяется 14-битный АЦП, который может делать выборки с частотой 6 МГц или ниже.

Одновременное использование двух тюнеров RSPduo (хотя и с пониженной полосой приема) делает возможными определенные ключевые сценарии:

1. Одновременный мониторинг двух широко разнесенных друг от друга по частоте диапазонов - например, диапазонов 40 метров и 2 метра.
2. Одновременные приложения микширования и совпадения - например сканирование ADS-B и ATC.
3. Когерентная демодуляция по фазе и по времени сигналов с двух приемников.

Сценарий 3 очень сложно обеспечить с помощью двух отдельных устройств USB из-за внутренней латентности интерфейсов USB и их обработки драйвером в операционной системе. Таким образом, даже если возможно обеспечить одинаковый захват фазы и тактов нескольких RSP2, неопределенность в задержке пакетов USB будет означать, что не будет обеспечено строгое выравнивание двух единиц времени при осуществлении демодуляции сигнала. Единственный способ обойти эту проблему - использовать корреляцию времени в программном обеспечении, что требует "тренировочной последовательности", примененной к обоим устройствам RSP. Для RSPduo нет подобного ограничения, потому что весь трафик данных проходит через единый интерфейс USB, и это открывает новые пути применения декодирования сигналов, например учет пространственного расположения антенн, частоты и поляризации сигнала, что потенциально дает большую выгоду в плане качества приема.

[Одновременная работа двух тюнеров]

Хотя тюнеры могут управляться полностью независимо друг от друга в плане усиления и настройки частоты, существует один общий фактор для тюнеров, который не может (и в сущности не должен) быть раздельным, и это частота дискретизации АЦП.

По этой причине, какой бы тюнер не настраивался первым, эта настройка будет диктовать частоту дискретизации второго тракта приема. Чтобы было понятнее, обозначим первый тюнер как "Master", и второй как "Slave".

В режиме Low IF (только в этом режиме два тюнера могут работать одновременно) будет доступно только два варианта частоты дискретизации:

1) 6 МГц - это даст разрешающую способность АЦП 14 бит, однако с несколько ухудшенными параметрами анти-алиасинга на самой широкой полосе приема.
2) 8 МГц - это даст разрешающую способность АЦП 12 бит, однако с несколько более лучшими параметрами анти-алиасинга на самой широкой полосе приема.

На частоте дискретизации 6 МГц нагрузка на будет CPU будет несколько меньше.

[Новая концепция API]

Проблема существующего API в том, что когда начинается разработка приложения со встроенным API, просто не возможно определить заранее, что доступно с точки зрения приемников. Поэтому разработчики коренным образом поменяли концепцию организации API.

В текущем реализации API если одно приложение уже настроило приемник SDRduo как ADC Master, и друге приложение пытается настроить другой приемник способом, который невозможен, то приложение выдаст ошибку и (что скорее всего) аварийно завершится. Таким образом, вместо API, встроенного в приложение (как в SDRduo) в виде отдельной DLL (как сделано в ПО HDSDR и SDR Console), необходима работа API как фоновой "службы" Windows и "демона" Linux и Mac OS. При таком реализации API служба постоянно опрашивает, что доступно с точки зрения приемников, и взаимодействует с приложением при его старте. Поэтому можно избежать попытки приложения при старте конфигурировать тюнер в режим, который просто невозможен, потому что другой тюнер уже назначен как Master в другом приложении.

Матрица доступных опций аппаратуры (для одного приемника RSPduo) для различных приложений показана в таблице:

Рабочий режим Доступные антенные порты Tuner 1 Доступные антенные порты Tuner 2 Частота дискретизации Master Частота дискретизации Slave Полоса обзора Tuner 1 Полоса обзора Tuner 2 Рабочий диапазон Tuner 1 Рабочий диапазон Tuner 2
Один тюнер (Tuner 1) 50 Ω/Hi-Z Недоступно 2 .. 10 МГц Недоступно 200 кГц .. 8 МГц Недоступно 1 кГц .. 2 ГГц Недоступно
Один тюнер (Tuner 2) Недоступно 50 Ω + Bias T 2 .. 10 МГц Недоступно Недоступно 200 кГц .. 8 МГц Недоступно 1 кГц .. 2 ГГц
Два тюнера (Tuner 1 Master) 50 Ω/Hi-Z 50 Ω + Bias T 6/8 МГц Определяется Tuner 1 200 кГц .. 1.536 МГц 200 кГц .. 1.536 МГц 1 кГц .. 2 ГГц 1 кГц .. 2 ГГц
Два тюнера (Tuner 2 Master) 50 Ω/Hi-Z 50 Ω + Bias T 6/8 МГц Определяется Tuner 2 200 кГц .. 1.536 МГц 200 кГц .. 1.536 МГц 1 кГц .. 2 ГГц 1 кГц .. 2 ГГц

Во избежание сомнений, что API на основе службы работает корректно с одним экземпляром SDRuno, приемник RSPduo будет работать точно так же, как RSP2 в режиме с одним тюнером, выбранном в основной панели. Выбор либо порта 50 Ом, либо порта Hi-Z, связанного с Tuner 1, позволит разрешить выбрать порт 50 Ом с Tuner 2, и работа Tuner 2 будет разрешена. Если в главной панели первого экземпляра SDRuno выбран режим двух тюнеров, то второй экземпляр SDRuno автоматически назначит оставшийся тюнер как Slave.

На диаграмме ниже показано, как программное обеспечение SDRuno будет работать с приемником RSPduo:

RSPduo support SDRuno

Рис. 5. Взаимодействие RSPduo с программой SDRuno.

При первом старте SDRuno, если к компьютеру PC подключено больше одного RSP, то появится панель выбора устройства, позволяющая пользователю выбрать, какой RSP использовать.

Если предположить, что другое приложение SDRuno уже использует один из тюнеров RSPduo, то RSPduo всегда будет запускаться в режиме одного тюнера, где все порты устройства будут отображены на основной панели, как показано на диаграмме рис. 5.

В режиме одного тюнера RSPduo будет работать почти так же, как RSP2, и можно сконфигурировать RSPduo для режима Zero IF с частотами дискретизации до 10 МГц, или в режиме Low IF с частотами дискретизации до 2 МГц. Простым выбором определенного порта RF будет разрешаться работа соответствующего приемника.

Для переключения в режим двух тюнеров пользователь сначала должен определить, какой тюнер назначить как ADC clock Master, и выбрать подходящий порт для этого тюнера. Затем устройство с помощью главной панели SDRuno переключается из режима одного тюнера в режим двух тюнеров. Какой бы тюнер ни работал, когда устройство переключается из режима одного тюнера в режим двух тюнеров, выбранный тюнер становится тюнером Master. В завершение запускается новый экземпляр SDRuno. Если у Вас подключено больше одного RSP, то появится панель выбора устройства, в которой будет отображен список устройств (RSPduo: [Serial Number](Slave)) вместе с другими подключенными RSP, какими бы они не были.

Как только у Вас появится отдельные экземпляры SDRuno, работающие с тюнерами Master и Slave, то сначала надо запустить поток для Master (нажать PLAY) перед тем, как можно будет запустить поток для Slave. Это необходимо для гарантии, что АЦП будет сконфигурирован на корректную частоту дискретизации, и это будет сделано один раз, можно произвольно запустить или остановить поток любого тюнера Master или Slave без влияния на другой экземпляр SDRuno.

SDRuno two tuner

Рис. 6. Вид на окна приложений SDRuno, работающих с приемником RSPduo в режиме двух тюнеров. Оба тюнера активны, и могут принимать сигнал независимо на разных частотах. На этом скриншоте верхний тюнер настроен на частоту 6.155 МГц радиолюбительского диапазона КВ. Нижний тюнер настроен на частоту 102.5 МГц вещательного диапазона FM, работает в режиме стерео, с декодированием RDS.

Вы можете сохранить рабочее пространство (расположение и конфигурацию окон) для каждого экземпляра SDRuno.

Также стоит отметить следующее:

1. В режиме Low IF есть возможность выделять окна диапазона.
2. Нагрузка на CPU снижается из-за более эффективной обработки данных в API.
3. Для режима двух тюнеров калибровка частоты может быть выполнена только в тюнере Master. Устройство RSPduo снабжено только одним генератором опорной частоты.
4. Порты 50 Ом хорошо работают вплоть до нижней частоты 1 кГц (за исключением ситуации, когда на Tuner 2 разрешено Bias T), и это предпочтительные порты для использования диапазонов HF вплоть до частоты 2 ГГц.
5. Порт Hi-Z теперь дополнительный (auxiliary port). У него параметры на частотах выше 2 МГц несколько хуже, чем у портов 50 Ом, и есть тенденция большего количества помех в результате микширования частот верхнего порядка, потому что на входе Hi-Z нет такого же уровня предварительной селекции, как у портов 50 Ом. Однако из-за пониженного уровня шума на частотах ниже 2 МГц у порта Hi-Z параметры приема будут несколько лучше.

[Программное обеспечение, совместимое с RSPduo]

Программное обеспечение и плагины для различных SDR-программ можно скачать с официального сайта SDRplay [4].

SDRuno. Эта программа изначально предназначена для поддержки приемников серии RSP, в том числе и RSPduo. Постоянно развивается и обновляется. SDRuno специально оптимизирована для работы с устройствами SDRplay, и в ней хорошо реализована поддержка всех приемников серии RSP. SDRuno в рабочем состоянии запускает несколько окон, которые можно свободно расположить на экране монитора (или на разных мониторах, если их несколько). Выбранное расположение окон можно сохранить, всего доступно 10 сохраненных вариантов расположения окон. SDRuno предоставляет выбор стандартного расположения окон, доступный в меню Options.

SDRuno обладает широким набором функций (из-за чего поначалу может показаться, что работать в ней очень сложно). Можно интегрировать списки частот в формате Eibi-CSV или Perseus-Userlist. Основное окно спектра очень хорошо масштабируется.

Автор статьи [3] тестировал работу приемника в сравнении с приемником Winradio G33DDC Excalibur Pro [8]. Использовались обычные радиолюбительские антенны: петлевая NTi ML200 Loop ][9] диаметром 1 метр, Cross-Loop антенна 2 x 1 метр (две петли, ориентированные друг на друга перпендикулярно), активный диполь Datong AD370 и активный диполь Stampfl HB9KOC длиной 1 метр.

RSPduo принимал на низких частотах с такой же чувствительностью, как G33DDC. На скриншотах ниже показан прием частот подводных лодок 16.4 кГц, JXN, Норвегия, на антенну Datong AD370.

RSPduo G33DDC 16.4khz working1

RSPduo G33DDC 16.4khz working2

На всех других частотах различия в приеме были незначительны. В некоторых случаях G33DDC звучал лучше, а в некоторых случаях лучше звучал RSPduo. Автор записал для сравнения несколько звуковых файлов приема, которые можно прослушать по ссылкам в статье [3].

Единственное, что следует отметить - RSPduo на сильных сигналах может пропускать помехи интермодуляции. В дневное время эти помехи не были заметны, но вечером, когда уровень сигнала приема возрос, стали заметны паразитные сигналы в тех местах диапазона, в которых их быть не должно. На рисунке ниже показаны интермодуляционные помехи, которая стали заметны вечером.

RSPduo HF intermodulation

SDRplay RSPduo показывает для своей цены очень хорошие параметры приема. Наличие второго тюнера открывает интересные возможности по мониторингу эфира. Потенциально возможно применение технологии подавления шума за счет инверсии фазы сигналов помех (эта функция в скором времени должна быть добавлена в SDRuno). Прием RSDduo в диапазонах VLF, LW, MW и KW не показал больших различий с эталонным приемником G33DDC, но только не в присутствии больших сигналов помех, где работа G33DDC была вне конкуренции.

SDR Console. Приемник RSPduo может управляться хорошо известной программой SDR Console V3.03. Пока поддерживается только один тюнер, но ожидается доработка с поддержкой двух тюнеров.

RSPduo SDR ConsoleV3

Рис. 7. Скриншот SDR Console, работающей с приемником RSPduo.

HDSDR. В августе 2018 года вышел плагин ExtIO для RSPduo. Этот релиз DLL использует последнюю обновленную версию API v3.01. Плагин поддерживает режимы одного тюнера и двух тюнеров, так что несколько приложений могут одновременно использовать RSPduo. Инсталлятор плагина автоматически установит Windows 3.01 API, так что это не нужно устанавливать отдельно. ExtIO DLL помещается в каталог по умолчанию (C:\Program Files (x86)\SDRplay), после чего Вы должны самостоятельно сделать его копию в каталог установки HDSDR (C:\Program Files (x86)\HDSDR). Для улучшения взаимодействия между этим плагином, SDRuno и dump1090, также были обновлены и эти два приложения, других функциональных изменений не было.

SDR# (SDRsharp). SDR# PLUGIN версии 2.2 в настоящий момент (190421) пока что поддерживает только приемники RSP1 с версиями SDR# 1411-1500.

[Ссылки]

1. RSPduo review site:radioaficion.com.
2. RSPduo site:sdrplay.com.
3. SDRplay RSPduo site:fenu-radio.ch.
4. SDRplay Downloads site:sdrplay.com.
5. I/Q Data for Dummies site:whiteboard.ping.se.
6. Perseus SDR site:microtelecom.it.
7NEO-7: модули GPS/GNSS.
8. Winradio G33DDC Excalibur Pro site:winradio.com.
9. NTi ML200 site:universal-radio.com.
10GNU Radio, краткий справочник.