Qucs-S является программой с открытым исходным кодом для моделирования электронных схем. Qucs-S кроссплатформенный (поддерживаются Linux и Windows) и написан на С++ с использованием набора библиотек Qt. О базовых принципах работы с Qucs-S рассказывает моя предыдущая статья. Для работы Qucs рекомендуется использовать также открытый движок моделирования Ngspice. Актуальным релизом Qucs-S на текущий момент является версия 1.0.2.
В Ngspice начиная с версии 37 добавлена возможность моделирования матрицы рассеяния (иначе называемое моделирование S-параметров). Qucs-S также поддерживает данные вид моделирования начиная с версии 0.0.24. Моделирование S-параметров и анализ ВЧ схем всегда было ключевой возможностью симулятора Qucs, наследником которого является Qucs-S. Но для Qucs-S, имеются некоторые отличия, о которых будет рассказано далее. На КДПВ приведён пример моделирования полосового фильтра на диапазон 40 метров для любительского КВ трансивера.
Что такое S-параметры и для чего они нужны?
Кратко рассмотрим, что такое S-параметры четырёхполюсника. Четырёхполюсником является любая электронная схема, имеющая один вход и один выход. Если вход четырёхполюсника подключен к источнику переменного тока (генератору колебаний) с некоторым выходным сопротивлением Z1 , то часть энергии от источника передаётся на вход, а часть — отражается от входа. Такое же рассуждение справедливо и для выхода четырёхполюсника, к которому подключена нагрузка с сопротивлением Z2. Нормированные амплитуды падающей и отражённых волн можно связать через матрицу S-параметров.
Физический смысл S-параметров следующий:
S11 — коэффициент отражения Γ1 от входа четырёхполюсника. Показывает степень согласования между источником входного сигнала (генератором колебаний) и входными цепями четырёхполюсника. Если S11 = 0, то вся энергия от источника входного сигнала проходит на вход четырёхполюсника без отражения.
S12 — коэффициент обратной передачи. Показывает степень передачи энергии с выхода четырёхполюсника на вход.
S21 — коэффициент передачи. Равен коэффициенту усиления по мощности четырёхполюсника.
S22 — коэффициент отражения Γ2 от нагрузки. Показывает степень передачи энергии с выхода в нагрузку. Если S22 = 0, то вся энергия с выхода четырёхполюсника поглощается нагрузкой без отражения.
Матрицу S-параметров можно преобразовать в матрицы Y и Z-параметров. При этом Y-параметры представляют собой входную, выходную и проходную проводимость четырёхполюсника, а Z-параметры - сопротивления.
Объект моделирования
Прежде всего нужно убедиться, что Ngspice, используемый Qucs-S, имеет версию 37 или выше. Иначе моделирование S-параметров работать не будет.
Мы будем далее моделировать широкополосный усилитель высокой частоты (УВЧ) на биполярном транзисторе из книги Э. Реда «Высокочастотная схемотехника». Данный усилитель часто используется в схемах приёмников и трансиверов на любительские КВ диапазоны. Оригинальная схема из книги показана на рисунке.
Коэффициент усиления данной схемы примерно равен:
С тем, чтобы собрать данную схему в Qucs-S проблем возникнуть не должно. Размещаем все необходимые компоненты на поле схемы и соединяем проводами. В качестве транзистора будем использовать 2N5109, который часто применяется в подобных схемах. Модель данного транзистора находится в библиотеке «BJT extended», где её можно найти при помощи функции поиска. Итоговая схема показана на следующем рисунке. Ко входу и выходу усилителя подключены 50-омные порты. Про них будет пояснение далее.
ВЧ трансформатор в цепи коллектора транзистора состоит из двух индуктивно связанных катушек L1 и L2. Связь между катушками задаётся через специальный компонент называемый «К coupling». Его параметрами являются обозначения на схеме двух катушек и коэффициент связи между ними.
Задание моделирования
После того, как схема собрана, нужно задать виды моделирования. Так же, как и было в Qucs, для Qucs-S предусмотрен специальный вид моделирования «S-parameter simulation», который задаёт параметры расчёта матрицы рассеяния многопортовой схемы. Найти данный вид моделирования можно в левой части окна в группе «Simulations». В качестве параметров моделирования требуется задать начальную (Start) и конечную частоты (Stop), а также количество точек расчёта (Points). Поддерживается линейная и логарифмическая развёртка частоты.
ДиЧтобы произвести моделирование S-параметров, необходимо к каждому из портов схемы подключить специальный источник, называемый Power source. Данный компонент находится в группе «Sources». С обычным источником переменного напряжения (AC voltage source) моделирование S-параметров функционировать не будет. В нашем примере такие источники подключены к узлам in и out.
В качестве параметров источника следует задать номер порта (Num), сопротивление порта (Z , должно быть действительным числом) в Ом, мощность синусоидального сигнала (P) в дБмВт и частоту (f) в Гц.
Теперь, когда схема собрана, можно запускать моделирование. Для этого в главном меню выбираем Simulation->Simulate или нажимаем клавишу F2. Перед моделированием можно также посмотреть рабочую точку схемы на постоянном токе, нажав клавишу F8.
Если в схеме не было ошибок, то Qucs-S известит нас о том, что моделирование прошло успешно. После этого можно будет построить графики частотной зависимости S-параметров, для чего размещаем на поле схемы декартовскую (Cartesian) диагрмму. Ngspice после моделирования создаёт набор переменных, которые представляют собой S, Y, Z параметры многополюсника. Применять функции преобразования подобные stoy(), которые использовались в Qucs больше не требуется. Окно задания свойств диаграммы, в котором виден перечень переменных показано на скриншоте. Из названия переменных понятно, что они представляют. Всего у нас доступно 12 переменных, по четыре для каждого типа параметров S, Y, Z. По сравнению с Qucs, синтаксис данных переменных поменялся. Теперь номера портов задаются следом за буквой через символ подчёркивания.
Мы построим два графика. На одном будут параметры S11 и S22 (коэффициенты отражения от входа и выхода соответственно), а на другом параметры S21 (прямой коэффициент передачи) и S12 (обратный коэффициент передачи). Схема с размещёнными на её поле графиками показана на следующем скриншоте.
Видно, что схема обеспечивает равномерное усиление в полосе частот от 1 МГц до 30 МГц, что перекрывает весь КВ диапазон.
Обработка результатов моделирования S-параметров
Раньше в Qucs cуществовали математические функции подобные rtoswr(), специально предназначенные для использования совместно с моделирование S-параметров. Для Qucs-S с движком Ngspice такие функции больше не действуют. Нужно писать свои уравнения. В качестве примера рассчитаем КСВ по входу и выходу схемы и переведём коэффициент усиления схемы S21 в децибелы.
Как известно, КСВ связан с коэффициентом отражения Г следующим соотношением:
Теперь нужно составить уравнения Nutmeg – постпроцессора Ngspice. Для этого нажимаем в главном меню Insert→Insert equation. На схеме появляется специальный компонент, в котором задаётся уравнение. В свойствах уравнения выставляем тип моделирования, к которому оно относится. Для нашего случая это SP – моделирование S-параметров. Там же вписываем собственно уравнения, которые переводят прямой коэффициент передачи в децибелы и рассчитывают КСВ. Мы рассчитываем КСВ по входу и по выходу, и поэтому в качестве коэффициента отражения берём S11 и S22.
На схеме данный компонент выглядит следующим образом:
Теперь если запустить моделирование, то к списку переменных добавляется три новых переменных K, VSWRin и VSWRout, которые можно вывести на графики. Получаем следующие графики. На скриншоте они построены на отдельной вкладке.
Также имеется возможность получить вывод в децибелах без добавления уравнений на схему. Для этого нужно в свойствах диаграммы установить параметр «logarithmic left Axis Grid» и выбрать единицу измерений из выпадающего списка. В этом же окне на той же вкладке можно выбрать «Engineering notation» в списке «Number notation» и видеть по оси X отсчёт в мегагерцах, как на скриншоте выше. В том же диалоговом окне можно задать подписи по осям (Axis label).
Также в Qucs-S имеется возможность построить графики частотных зависимостей S-параметров на комплексной плоскости (Locus curve) или в виде диаграммы Смита (Smith chart). Пример такого графика для диапазонного полосового фильтра показан на скриншоте. Если поставить маркер на диаграмме Смита, то программа автоматически для S-параметра будет показывать значения соотвествующего Z-параметра. Например параметру S11 соответствует параметр Z11, который является входным сопротивлением схемы. Из диаграммы Смита видно, что в полосе пропускания фильтра оно равно около 50 Ом.
Дополнительные возможности для моделирования ВЧ схем
Старый Qucs поддерживал большое количество компонентов, представляющих различные микрополосковые линии и прочие СВЧ устройства. К сожалению, в Qucs-S эти компоненты пока не работают с движком Ngspice и поэтому спрятаны. Но работа по их возвращению запланирована https://github.com/ra3xdh/qucs_s/issues/94
Тем не менее в релизе 1.0.2 были добавлены два компонента INDQ и CAPQ, которые позволяют задавать катушку и конденсатор с добротностью, что удобно для анализа различных фильтров и усилителей. На скриншоте можно видеть пример реверсивного резонансного усилителя на полевых транзисторах конструкции В. Артёменко UT5UDJ, где используются такие катушки. Производится параметрическое моделирование зависимости коэффициента усиления от добротности катушки.
Также начиная с версии 0.0.24 в библиотеке компонентов доступен специальный компонент для кварцевого резонатора. При этом данный компонент сделан таким образом, чтобы его параметры было удобно задавать для моделирования кварцевых фильтров, применяющихся в любительских конструкциях КВ техники. На скриншоте можно видеть пример моделирования кварцевого QER фильтра ПЧ на частоту 8 МГц. Параметры кварцев на схеме измерены на настоящих кварцах в корпусе HC-49/U при помощи известного прибора nanoVNA и программы AMCP https://github.com/Battosai42/amcp/
Ресурсы по Qucs-S
Сайт проекта: https://ra3xdh.github.io/
Сайт Ngspice: https://ngspice.sourceforge.io/
Репозиторий исходных кодов: https://github.com/ra3xdh/qucs_s
Актуальный релиз: https://github.com/ra3xdh/qucs_s/releases/tag/1.0.2
Страница на Boosty, где можно поддержать проект финансово: https://boosty.to/qucs_s