QuestaSDR

Установка

Запустите исполняемый файл Offline_Install_QuestaSDR.exe на выполнение. Иногда Windows предупреждает, что файл не подписан:

QuestaSDR Windows Protected

Нужно нажать "More info" и нажать "Run anyway"

QuestaSDR Windows Protected Run Anyway

Первый отображаемый экран - это приветствие установщика QuestaSDR, как показано ниже:

QuestaSDR Setup Welcome

Далее отобразится экран выбора места назначения, как показано ниже. Рекомендуется использовать по умолчанию, так как он будет использовать рекомендованное Windows место для файлов приложений в зависимости от того, имеете ли вы 32 или 64 - ти битную операционную систему. Однако вы можете выбрать альтернативный место нахождения.

QuestaSDR Setup Location

После того, как вы определились с местом установки для QuestaSDR, нажмите "Next". Выбор компонентов программы отображается, как показано ниже. Компонент "Microsoft Visual C++ Redistributable" предоставляет зависимые библиотеки для QuestaSDR. При этом, если в системе уэе есть нужные версии данных библиотек, то установка поверх не будет осуществлятся. При клике на компоненте, справа отображается краткое описание.

QuestaSDR Setup Components

Экран лицензионного соглашения QuestaSDR отображается, как показано ниже. Чтобы принять лицензионное соглашение, нажмите радиокнопку "I accept the license" и нажмите "Next".

QuestaSDR Setup License Agreement

Когда все подготовительные настройки будут выполнены, вы увидите экран "Ready to Install". Нажмите кнопку "Install"

QuestaSDR Setup Ready

Система Windows попросит повышение привелегий установщика, нужно согласится. Через несколько минут появится экран завершения работы мастера установки QuestaSDR, как показано ниже. Если вы хотите запустить QuestaSDR после завершения работы установщика, оставьте галку "Run QuestaSDR now".

QuestaSDR Setup End

Обновление

В режиме по умолчанию, при запуске QuestaSDR проверяет наличие новой версии. В случае наличия таковой, появится сообщение c инструкцией по дальнейшим действиям. Вручную проверить наличие новой версии, или добавить/удалить какие либо компоненты программы, можно через Maintain QuestaSDR Tool. В меню Пуск введите "ManagePackages QuestaSDR" или "Update QuestaSDR"

QuestaSDR Manage Packages

Как показано ниже, для обновления приложения, выберите радиокнопку "Update components".

QuestaSDR Update Packages

Удаление

Для удаления приложения из системы, запустите Maintain QuestaSDR Tool и выберите радиокнопку "Remove all components".

Первый запуск, обзор

Ниже представлен главный экран приложения.

QuestaSDR Main Screen

Посредине находятся три выпадающих меню и кнопка "Start". Для правильного понимания необходимо объяснить принципы, которые были заложены при проектировании данного приложения. QuestaSDR построена по принципу планировщика задач (tasks). При этом ядро программы, планировщик, не наделен свойствами и методами, которые определяют назначение приложения. Основная и единственная задача планировщика - это управлять взаимодействиями между набором плагинов. Соответственно остальная функциональность реализуется в плагинах, а их набор определяет назначение приложения. Первое выпадающее меню как раз и дает пользователю выбрать "kits", набор плагинов. Например "Приемник", "Трансивер", "SDR сервер" или "Спектроанализатор".

Второе выпадающее меню дает возможность выбрать внешний вид приложения. Интерфейс может отличатся в зависимости от того, как вы используете радио, для DX - инга или для прослышивания коротковолновиков, например. Или от целевой платформы - десктоп, планшет. Это возможно, благодаря применению при проектировании приложения принципа MVC, когда код логики (С++) отделен от кода пользовательского интерфейса (декларируемый язык QML).

Третее выпадающее меню задает источник данных, а именно тип подключенного устройства. Например, трансивер на основе протокола HPSDR, RTL донгл, AirSpy, удаленный SDR сервер.

Справа находятся три кнопки: "S", "T", "W". Кнопка "T" открывает drawer плагинов - task manager. Кнопка "W" открывает сайт приложения в дефолтном браузере. Кнопка "S" открывает окно глобальных настроек приложения.

QuestaSDR Global Settings

App root folder - путь в папке QuestaSDR, где хранятся вспомагательные файлы данных, таких как логи, файлы frequency bookmarks и др.

Активация чекбокса System Tray помещает QuestaSDR в системный трей. При этом, если нажать на кнопку закрытия приложения (крестик), приложение не будет выгружено из памяти, а свернется в системный трей. Что бы полностью выйти из приложения, нужно в контекстном меню иконки выбрать пункт "Quit". Настройка полезна для SDR сервера, и по умолчанию неактивна.

Настройка "Logging" дает возможность перенаправлять вывод стандартного потока ошибок приложения в файл. "Debug Information" добавляет еще и информацию для отладки. Очень важные настройки, и желательно, что бы они всегда были активными. Тогда в случае возникновения ошибок, или работы приложения не так как ожидалось, всегда можно связатся с разработчиком для исправления ошибки. Обратная связь всегда приветствуется.

QuestaSDR поддерживает стили и темы оформления. Такие как "Google Material Design", "Microsoft Universal", "Default". Светлые и темные темы для каждого стиля. Соответствующие настройки находятся на вкладке "Styling". На вкладке "About" можно узнать текущую версию приложения, посмотреть историю выпусков и их примечания.

Tasks Manager

Доступ практически к всем настройкам плагинов находятся в Task Manager.

QuestaSDR Task Manager

Текущее состояние плагина отображает цвет фона прямоугольника. Как видно из рисунка выше, плагин "Scanner" не активен. Что бы загрузить его в память и активировать, нужно из контекстного меню выбрать пункт "Load". Что бы выгрузить, соответственно - "Unload". Вызвать контекстное меню плагина можно кликнув правой кнопкой мыши по соответствующему прямоугольнику. Хорошей практикой считается выгружать из памяти неиспользуемые плагины - так удается улучшить производительность приложения в целом.

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

Что бы свернуть/развернуть настройки плагина, необходимо кликнуть в область прямоугольника левой кнопкой мыши. Если не понятно назначение плагина, то можно задержать указатель мыши над названием последнего - появится всплывающая подсказка. Посмотреть возможную документацию по настройкам плагина можно кликнув по пункту контекстного меню "Task Documentation".

Для удобства пользования программой порядок с списке плагинов можно менять. Если вам нужно переместить определенный плагин вверх или вниз, относительно других, выберите в контекстном меню "Move Up" или "Move Down". Если все плагины свернуты, то длинный клик мыши активирует механизм drag-and-drop. В противном случае это приведет к сворачиванию всех плагинов.

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

Tasks Perfomance

SDR приложение обрабатывает данные в реальном времени. Нагруженность системы зависит от частоты дискретизации входного сигнала и может достигать нескольких десятков МГц. Поэтому важно контролировать производительность системы. Текущее состояние производительности можно увидеть на графиках окна Tasks Perfomance.

QuestaSDR Task Perfomance

Область "Buffers" показывает заполненность кольцевых буферов приложения. Область "Thread Tasks" показывает время, затраченное на обработку порции данных сигнала в процентах. Максимальное время, или 100% определено как соотношение размера порции данных и частоты дискретизации сигнала. Оба значения постоянны и не меняеются во времени. Значения, больше 100% означают, что приложение не способно обработать поток данных в реальном времени. Нормальным значением можно назвать меньше 50%. Если это не так, то следует остановить на компьютере другие программы, которые потребляют вычислительный ресурс ЦП, уменьшить частоту дискретизации входного сигнала. Если эти меры не помогают, скорей всего, необходимо применить более мощный компьютер.

Из названия "Thread Tasks" следует, что здесь отображаются плагины, которые выполняются в отдельном потоке. Для лучшей производительности, количество потоков в приложении не должно превышать количества ядер процессора или не больше чем в два раза, чем количество ядер процессора, который поддерживает технологию Hyper-threading.

Meta Object System

Управлять свойствами плагинов можно не только через графический интерфейс в Tasks Manager.

QuestaSDR Properties Console

В программе реализована так называемая Meta Object System, которая предоставляет доступ к чтению и изменению практически всех свойств плагинов через текстовый формат, задаваемый вручную через консоль свойств, файл конфигурации или через терминал, если программа QuestaSDR запущена без графического интерфейса. Это дает возможность просто связывать программу QuestaSDR с различными протоколами синхнонизации, такими как CAT, переносить настройки программы из одного компьютера на другой или управлять программой удаленно через SSH соединение.

Task IQ Source

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

  • Type - тип подключения входа приемника. Подключен к антенне или к выходу ПЧ приставки.
  • IF frequency, Hz - Промежуточная частота ПЧ приставки. Up Converter - преобразование вверх, Down Converter - преобразование вниз.
  • Freq corr, ppm - коррекция частоты гетеродина.
  • Level corr, dBm - коррекция значения усиления приемного тракта.
  • Inverse IQ - поменять местами I и Q составляющие комплексного сигнала.

DSPH

Уменьшает частоту дискретизации входного сигнала к требуемому значению.

  • Low CPU - на сколько подавляются алиасы в сигнале при его передискретизации. Обычно - 90 dBm является оптимальным значением. Чем меньше это значение, тем меньше нужно вычислительных ресурсов компьютера.
  • Correct IQ Imbalance - алгоритм автоматического устранения дисбаланса в квадратурном сигнале.

DSPL

Плагин основной DSP обработки сигнала.

  • IF Step - Шаг настройки программного гетеродина.
  • Demodulator - Выбор типа демодулятора. Например AM, SSB, etc.
  • Filter Hi - верхняя частота среза основного фильтра.
  • Filter Lo - нижняя частота среза основного фильтра.
  • Noise Squelch - блокироватьаудиотракт, если уровень входного сигнала меньше установленного значения.

SoundOut

Настройки аудиоустройства, для вывода обработанного сигнала на динамики.

SpectrumBand

Настройки отображения спектра входного сигнала.

  • Waterfall Palette - цветовая гамма водопада.
  • FFT Size - размер БПФ. Чем больше значение, тем более детализированный спектр, но и тем больше нагрузка на ЦП.
  • FPS - скорость прокрутки водопада, пикселей/сек.
  • Smoothing - размер ядра сглаживанния спектра панадаптера.

IF Spectrum

Спектр сигнала, поступающего на вход DSPL плагина. Настройки идентичные плагину SpectrumBand.

Virtual Audio Cable

Перенаправляет аудио сигнал на устройство, выбранное в меню RX Device. Необходимо для сопряжения QuestaSDR с сторонними программами декодирования цифровых видов связи, таких как, например, FLDIGI. Для получения в системе виртуальных аудио устройств, необходимо использовать специальный программы, такие как VB Audio.

Web Remote

WebSocket сервер для удаленного просмотра спектра входного сигнала, управление частотой приема. Передача аудио пока не реализована.

CAT

Сопряжение QuestaSDR c другими программами по протоколу CAT. Используется формат посылок, подобный kenwood. Пример показан ниже:

FA00007000000;

Где FA - префикс команды, 00007000000 - значение, которое нужно записать, ; - терминатор, или обозначение конца посылки. Для преобразования CAT команд в команды meta object system (см. соответствующий раздел), существует файл трансляции cat_translate.json, который размещен в директории исполняемого файла QuestaSDR.exe. Простой пример содержимого файла показан ниже:

{
    "FA": [
        {
            "t" : "Radio",
            "p" : "rfFreq"
        }
    ],
    "FB": [
        {
            "t" : "Radio",
            "p" : "rfFreq"
        }
    ]
}

Где FA, FB - префиксы CAT команд, t - название плагина, p - название свойства. Узнать список доступных плагинов и их свойств можно с помощью консоли свойств. После редактирования файла трансляции желательно произвести json валидацию содержимого, для избежания ошибок.

Scanner

Помогает находить неизвестные сигналы в УКВ диапазоне. Для выбора диапазона сканирования служат поля Fstart и Fstop. Кнопка Fcenter устанавливает диапазон сканирования, равным частоте дискретизации входного сигнала с текущей частотой LO. Параметр "SNR" определяет порог срабатывания сканера.

За режим возобновления поиска отвечает настройка "Renewal". В соответствии можно устанавливать задержку возобновления поиска после найденного сигнала в 2, 5, 10, 30 сек. Режим "HOLD" означает, что сканер будет находится частоте найденного сигнала до тех пор, пока сигнал присутствует в эфире. Режим "BUSY" - после обнаружения сигнала сканер останавливается. Для возобновления сканирования, нужно вручную запустить сканер кнопкой "Start".

Так же, в программе реализован список игнорируемых частот. Для его управления служат кнопки "Add", "Remove", "Clear All". Добавить частоту в список можно когда сканер приостановлен на найденном сигнале.

Активаня опция "Snap to IF grid" означает, что сканер будет сканировать частоты с шагом, указанным в "IF Step". В противном случае шаг будет равен 1 kHz, но после обнаружения сигнала, последующий единичный раз шаг будет равен "IF Step", далее 1 kHz.

WFM RDS Data

Декодирование и вывод RDS текста.

AF Record

Запись в файл аудио сигнала, поступающего в плагин SoundOut.

RF Record

Запись в файл IQ входного сигнала, поступающего от радио устройства.