Сейчас уже практически нельзя встретить радиолюбителя, не знакомого с SDR-приемниками. От простых USB-брелоков RTL-SDR до премиальных трансиверов FlexRadio — программно-определяемое радио стало обыденностью. Но это сейчас у нас есть устройства на любой запрос и кошелек. А если оглянуться на 15 лет назад, то увидим, что эта технология активно развивалась и множество независимых компаний пробовали силы в создании SDR.

Сегодня я расскажу о своем недавнем пополнении в парке радиолюбительских устройств — довольно старом, но крутом SDR-приемнике Quicksilver QS1R с установленной платой QS1E, реализующей возможность передачи данных и превращающей его почти в SDR-трансивер. Посмотрим на программные решения того времени и заглянем внутрь девайса. Наливайте кофейку — и добро пожаловать под кат. 


Архитектура

Идея создания SDR-приемника пришла в голову Филиппу Ковингтону (Philip A Covington) еще в 2006 году, после чего в его блоге появилась схема прототипа, который он планировал воплотить в жизнь. Он хотел взять за основу уже хорошо зарекомендовавшие себя решения из Elecraft K2. Тем, кому не довелось использовать этот легендарный девайс, скажу лишь, что он получил популярность именно благодаря очень чистой аналоговой части. 

Изначальная идея выглядела следующим образом:

Источник изображения

Антенна принимает эфир как есть, после чего он попадает в пол��совой фильтр (BPF), который делает грубую селекцию диапазона. Далее сигнал поступает на малошумящий линейный усилитель. До этого момента все выглядит как классический аналоговый приемник. Но вот дальше начинается интересная магия.

Усиленный сигнал попадает на коммутирующий смеситель (H-mode mixer), который перемножает его с локальным гетеродином (как раз из K2). Это первое преобразование, переводящее нужный сигнал на фиксированную промежуточную частоту 5 MHz. После смесителя он направляется в квадратурный детектор (Quadrature Sampling Detector, QSD). Это второе преобразование с 5 MHz в квадратурную базовую полосу (I/Q).

Любой узкополосный радиосигнал можно описать как I (In-phase) и Q (Quadrature). Первый «в фазе» с опорным колебанием, а второй сдвинут по фазе на 90°.

На схеме хорошо видно, что берется опорный генератор 20 MHz, и его частота делится на четыре. Эта операция дает квадратурные управляющие сигналы для ключей QSD. Из них формируется I и Q с точным фазовым сдвигом (0° и 90°) и отправляется дальше, на симметричный выходной аналоговый тракт I/Q.

Последний, исходя из названия, занимается балансировкой предварительно буферизованного сигнала и готовит его к обработке на стороне ПК. Вся представленная тут схема чисто аналоговая (до звуковой карты), а то, что мы называем SDR, начинается уже после всех указанных трансформаций.

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

Источник изображения

Радиосигнал тут поступает прямо на высокоскоростной АЦП (ADC, Analog-to-Digital Converter). После оцифровки непрерывная последовательность числовых значений отправляется на FPGA, который обрабатывает ее параллельно и реализует в цифре привычные элементы — фильтры, смесители, делители и прочее.

На схеме видим обозначение DDC (Digital Down Converter). Это важный функциональный блок внутри FPGA, который является цифровым эквивалентом связки из гетеродина, смесителя, преобразования в промежуточную частоту и QSD. Иными словами, DDC можно охарактеризовать как «виртуальный приемник», и их тут аж целых два. Это одна из ключевых фишек QS1R, позволяющая работать с двумя разными частотами, независимо друг от друга, применяя для каждой свои цифровые гетеродины и фильтры.

Такая архитектура позволяет значительно расширить количество практических сценариев использования. Например, можно сравнивать между собой пару маяков на разной частоте, отображать широкополосную панораму вместе с работой на конкретном диапазоне и декодировать несколько сигналов одновременно без перестройки аналоговой части.

Внешний вид

В теории звучит прекрасно, но теперь давайте покажу, как это выглядит, что называется, в железе.

Передняя панель:

  • PWR — индикатор наличия питания, должен гореть постоянно во включенном состоянии.

  • CLIP — индикатор «перегрузки» (клиппинга). В нормальном режиме выключен. Показывает, когда уровень сигнала слишком высок для входа приемника.

  • RF IN — антенный вход.

  • CLK IN — сюда можно подключить внешний эталонный тактовый сигнал генератора, и тогда QS1R будет брать его за основу. Для этого надо сделать два действия: отключить локальный кварцевый генератор (джампером/перемычкой J5) и включить внешний вход (J29). Далее — подавать чистую или модифицированную синусоиду (3,3В от пика до пика) с частотой от 0 до 130 MHz — например, от лабораторного генератора.

Задняя панель:

  • DC IN — разъем питания (5-6V, 2A, плюс на штыре).

  • DAC OUT — разъем для наушников или динамика.

  • USB 2.0 — подключение к ПК.

  • QS1R I/O — позволяет общаться со внешними устройствами по шине I2C.

Тут стоит сделать небольшое примечание. В обычном QS1R следующих разъемов нет, но у меня модифицированная версия (QS1E), которая, помимо приема, может управлять еще и передачей. Поэтому там предусмотрены:

  • SIDETONE сюда выводится тональный сигнал при работе телеграфом (CW), простая пищалка, которая нужна оператору.

  • KEY IN вход для подключения телеграфного ключа.

  • OS1E I/O многофункциональный разъем ввода/вывода для линий управления в режиме передачи. Чере�� него проходят сигналы PTT и управление внешним устройством, например PA (Power Amplifier).

  • TX OUT — RF-выход малой мощности.

Если извлечь QS1R из корпуса, то станет виден «слоеный бутерброд». Нижняя плата, собственно сам приемник в стоковом варианте. Верхняя, QS1E, так называемый Exciter, продавалась отдельно (вместе с другой боковой панелью):

Обратите внимание на название — это не Transmitter, а именно Exciter. Его RF-тракт выдает очень малую мощность, то есть по факту ему нужен усилитель мощности для передачи.

ТТХ

QS1R может похвастаться своим продвинутым 16-битным АЦП от Linear Technologies (LTC2208), способным обрабатывать 130 MS/s (мегасэмплов в секунду). Его возможностей с лихвой хватает, чтобы оцифровывать весь участок диапазона от 10 kHz до 62,5 MHz. Причем, c помощью довольно хитрой техники андерсэмплинга можно принимать и обрабатывать сигналы на частотах вплоть до 500 MHz (информация с официального сайта, на сторонних указано 300 MHz).

Мозгами QS1R RevD трудится FPGA-чип Altera Cyclone III, который работает как настоящий hardware DSP. Алгоритмы в нем можно обновлять и улучшать — в отличие от «зашитого навсегда» ASIC. Он легко обеспечивает предсказуемые задержки, нулевой джиттер и стабильную фазовую обработку. Несмотря на то что это хороший чип, его реальная пропускная способность выше, чем у интерфейса (USB 2.0). Так что фактическая полоса оказывается меньше потенциальной.

В паре с FPGA на плату установлен микроконтроллер (Cypress FX2), который позволяет компьютеру видеть QS1R как устройство, обеспечивает обмен данными и, что самое главное, загружает FPGA-битстрим в Cyclone III. В итоге Cypress FX2 — это бутлоадер и диспетчер, а Cyclone III — мозг устройства.

Загрузка и управляющий софт

Весь софт для QS1R можно грубо разделить на драйвер (libusbK) и приложение для управления (SDRmax). Драйвер устанавливается только один раз, после чего приемник начинает определяться в системе:

При запуске SDRmax V вас встретит вот такое окошко:

К этому моменту сделано несколько важных действий:

  1. Был запущен программный сервер.

  2. Микроконтроллер Cypress FX2 получил свою прошивку (в формате .hex).

  3. Чип FPGA Altera Cyclone III перешел в режим конфигурирования.

  4. На FPGA был залит битстрим (в формате .rbf), который будет жить в SRAM до выключения питания.

  5. Сервер готов к запуску графического интерфейса.

Вбиваем gui и нажимаем Enter. Клиент подключится к серверу по адресу локалхоста. Далее тыкаем RUN — и приемник оживает. 

Главное окно SDRmax V
Главное окно SDRmax V

Тут же стоит показать одну из крутейших фишек — возможность параллельно видеть всю панораму (в агрегированном виде):

Слева общая панорама, а справа конкретный диапазон
Слева общая панорама, а справа конкретный диапазон

Родной софт очень хорош, но многим может показаться непривычным. Поддержки сторонних контроллеров, вроде WoodBoxRadio Tmate2, тут нет. В целом есть вариант запустить этот SDR в более привычных приложениях, за счет отдельной библиотеки ExtIO. Вы можете подключить ее к актуальной HDSDR:

HDSDR + ExtIO_qs1r.dll
HDSDR + ExtIO_qs1r.dll

Из современных версий SDR Sharp поддержку ExtIO выпилили, но в старых все замечательно работает. Лично я использую для этих целей версию 1361:

SDRSharp 1361 + ExtIO_qs1r.dll
SDRSharp 1361 + ExtIO_qs1r.dll

Вместо заключения

Увы, но на текущий момент QS1R уже давно снят с производства и приобрести его можно лишь на вторичном рынке. Сайт SRL-LLC выглядит как заглушка, которая не обновлялась с 2023 года. Сам же приемник тихо ушел в EOL, ну а причины, скорее всего, прозаичны. Публичных заявлений мне найти не удалось. Предполагаю, что его делали силами одного человека (возможно, маленькой команды) и малыми партиями. Такой подход — это всегда дорого, долго и требует колоссального количества ручного труда.

Кроме того, QS1R был спроектирован с расчетом на конкретную элементную базу давно ушедшей эпохи. Со временем компоненты становились все менее доступными, а стоимость лишь росла. Итоговый продукт к тому же получился тоже довольно дорогим. Раньше приемник бы обошелся в 899 долларов плюс доставка. Плата Exciter добавляла еще 299 долларов.

Лично для меня это устройство открыло значительное пространство экспериментов. В будущем мне хочется попробовать подключить его к CW Skimmer: судя по статьям в интернете, приемник способен обрабатывать семь частот одновременно. Также я раздобыл себе оригинальный софт WebSDR, который при определенной настройке должен дать возможность удаленного управления этим SDR-приемником через обычный веб-браузер. Но это отдельный квест с установкой на Ubuntu 16.04 и настройкой библиотек. Если получится, то обязательно расскажу и об этом. 

Как вам такой SDR-приемник? Купили бы себе? Жду вас в комментариях.