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 метров для любительского КВ трансивера.
![Анализ схемы ДПФ для КВ трансивера в Qucs-S Анализ схемы ДПФ для КВ трансивера в Qucs-S](https://habrastorage.org/getpro/habr/upload_files/374/1ec/6a4/3741ec6a44532f6cca9759c5ae2b439a.png)
Что такое 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-параметров работать не будет.
Мы будем далее моделировать широкополосный усилитель высокой частоты (УВЧ) на биполярном транзисторе из книги Э. Реда «Высокочастотная схемотехника». Данный усилитель часто используется в схемах приёмников и трансиверов на любительские КВ диапазоны. Оригинальная схема из книги показана на рисунке.
![Оригинал схемы широкополосного УВЧ Оригинал схемы широкополосного УВЧ](https://habrastorage.org/getpro/habr/upload_files/015/6da/1cb/0156da1cba4942969222f0df94ceb71a.png)
Коэффициент усиления данной схемы примерно равен:
С тем, чтобы собрать данную схему в Qucs-S проблем возникнуть не должно. Размещаем все необходимые компоненты на поле схемы и соединяем проводами. В качестве транзистора будем использовать 2N5109, который часто применяется в подобных схемах. Модель данного транзистора находится в библиотеке «BJT extended», где её можно найти при помощи функции поиска. Итоговая схема показана на следующем рисунке. Ко входу и выходу усилителя подключены 50-омные порты. Про них будет пояснение далее.
ВЧ трансформатор в цепи коллектора транзистора состоит из двух индуктивно связанных катушек L1 и L2. Связь между катушками задаётся через специальный компонент называемый «К coupling». Его параметрами являются обозначения на схеме двух катушек и коэффициент связи между ними.
![Схема широкополосного УВЧ Схема широкополосного УВЧ](https://habrastorage.org/getpro/habr/upload_files/557/cee/1ef/557cee1efd0a3e350643354184f2a25f.png)
Задание моделирования
После того, как схема собрана, нужно задать виды моделирования. Так же, как и было в Qucs, для Qucs-S предусмотрен специальный вид моделирования «S-parameter simulation», который задаёт параметры расчёта матрицы рассеяния многопортовой схемы. Найти данный вид моделирования можно в левой части окна в группе «Simulations». В качестве параметров моделирования требуется задать начальную (Start) и конечную частоты (Stop), а также количество точек расчёта (Points). Поддерживается линейная и логарифмическая развёртка частоты.
![Компонент для задания симуляции S-параметров Компонент для задания симуляции S-параметров](https://habrastorage.org/getpro/habr/upload_files/eb4/1c1/fa4/eb41c1fa4fd94037e4387652963cf54c.png)
ДиЧтобы произвести моделирование S-параметров, необходимо к каждому из портов схемы подключить специальный источник, называемый Power source. Данный компонент находится в группе «Sources». С обычным источником переменного напряжения (AC voltage source) моделирование S-параметров функционировать не будет. В нашем примере такие источники подключены к узлам in и out.
![Компонент для 50-омных портов Компонент для 50-омных портов](https://habrastorage.org/getpro/habr/upload_files/4fd/4ac/820/4fd4ac820d3d19827b79b568645c8ff0.png)
В качестве параметров источника следует задать номер порта (Num), сопротивление порта (Z , должно быть действительным числом) в Ом, мощность синусоидального сигнала (P) в дБмВт и частоту (f) в Гц.
Теперь, когда схема собрана, можно запускать моделирование. Для этого в главном меню выбираем Simulation->Simulate или нажимаем клавишу F2. Перед моделированием можно также посмотреть рабочую точку схемы на постоянном токе, нажав клавишу F8.
Если в схеме не было ошибок, то Qucs-S известит нас о том, что моделирование прошло успешно. После этого можно будет построить графики частотной зависимости S-параметров, для чего размещаем на поле схемы декартовскую (Cartesian) диагрмму. Ngspice после моделирования создаёт набор переменных, которые представляют собой S, Y, Z параметры многополюсника. Применять функции преобразования подобные stoy(), которые использовались в Qucs больше не требуется. Окно задания свойств диаграммы, в котором виден перечень переменных показано на скриншоте. Из названия переменных понятно, что они представляют. Всего у нас доступно 12 переменных, по четыре для каждого типа параметров S, Y, Z. По сравнению с Qucs, синтаксис данных переменных поменялся. Теперь номера портов задаются следом за буквой через символ подчёркивания.
![Диалоговое окно свойств диаграммы с переменные, созданные после моделирования Диалоговое окно свойств диаграммы с переменные, созданные после моделирования](https://habrastorage.org/getpro/habr/upload_files/5cc/ec7/8c9/5ccec78c9f5ced4c84b87ea11cd9a451.png)
Мы построим два графика. На одном будут параметры S11 и S22 (коэффициенты отражения от входа и выхода соответственно), а на другом параметры S21 (прямой коэффициент передачи) и S12 (обратный коэффициент передачи). Схема с размещёнными на её поле графиками показана на следующем скриншоте.
![Схема широкополосного УВЧ с результатами моделирования Схема широкополосного УВЧ с результатами моделирования](https://habrastorage.org/getpro/habr/upload_files/a29/af6/b5c/a29af6b5c51244bf0d7c289052ff107d.png)
Видно, что схема обеспечивает равномерное усиление в полосе частот от 1 МГц до 30 МГц, что перекрывает весь КВ диапазон.
Обработка результатов моделирования S-параметров
Раньше в Qucs cуществовали математические функции подобные rtoswr(), специально предназначенные для использования совместно с моделирование S-параметров. Для Qucs-S с движком Ngspice такие функции больше не действуют. Нужно писать свои уравнения. В качестве примера рассчитаем КСВ по входу и выходу схемы и переведём коэффициент усиления схемы S21 в децибелы.
Как известно, КСВ связан с коэффициентом отражения Г следующим соотношением:
Теперь нужно составить уравнения Nutmeg – постпроцессора Ngspice. Для этого нажимаем в главном меню Insert→Insert equation. На схеме появляется специальный компонент, в котором задаётся уравнение. В свойствах уравнения выставляем тип моделирования, к которому оно относится. Для нашего случая это SP – моделирование S-параметров. Там же вписываем собственно уравнения, которые переводят прямой коэффициент передачи в децибелы и рассчитывают КСВ. Мы рассчитываем КСВ по входу и по выходу, и поэтому в качестве коэффициента отражения берём S11 и S22.
![Диалог задания уравнения Диалог задания уравнения](https://habrastorage.org/getpro/habr/upload_files/d2c/de1/6ae/d2cde16aeedc10298d34562a91433986.png)
На схеме данный компонент выглядит следующим образом:
![](https://habrastorage.org/getpro/habr/upload_files/964/868/d12/964868d120346c48f4613360087ad27b.png)
Теперь если запустить моделирование, то к списку переменных добавляется три новых переменных K, VSWRin и VSWRout, которые можно вывести на графики. Получаем следующие графики. На скриншоте они построены на отдельной вкладке.
![Графики коэффициента усиления в децибелах и КСВ Графики коэффициента усиления в децибелах и КСВ](https://habrastorage.org/getpro/habr/upload_files/237/c85/497/237c85497fb28140090797c7b659f183.png)
Также имеется возможность получить вывод в децибелах без добавления уравнений на схему. Для этого нужно в свойствах диаграммы установить параметр «logarithmic left Axis Grid» и выбрать единицу измерений из выпадающего списка. В этом же окне на той же вкладке можно выбрать «Engineering notation» в списке «Number notation» и видеть по оси X отсчёт в мегагерцах, как на скриншоте выше. В том же диалоговом окне можно задать подписи по осям (Axis label).
![Настройка осей диаграммы Настройка осей диаграммы](https://habrastorage.org/getpro/habr/upload_files/f68/fe4/b18/f68fe4b1813ed8b911f37899ce622f52.png)
Также в Qucs-S имеется возможность построить графики частотных зависимостей S-параметров на комплексной плоскости (Locus curve) или в виде диаграммы Смита (Smith chart). Пример такого графика для диапазонного полосового фильтра показан на скриншоте. Если поставить маркер на диаграмме Смита, то программа автоматически для S-параметра будет показывать значения соотвествующего Z-параметра. Например параметру S11 соответствует параметр Z11, который является входным сопротивлением схемы. Из диаграммы Смита видно, что в полосе пропускания фильтра оно равно около 50 Ом.
![Моделирование ДПФ для КВ трансивера и пример использования диаграммы Смита Моделирование ДПФ для КВ трансивера и пример использования диаграммы Смита](https://habrastorage.org/getpro/habr/upload_files/1af/67f/a17/1af67fa17b4ef18c8734330157736142.png)
Дополнительные возможности для моделирования ВЧ схем
Старый Qucs поддерживал большое количество компонентов, представляющих различные микрополосковые линии и прочие СВЧ устройства. К сожалению, в Qucs-S эти компоненты пока не работают с движком Ngspice и поэтому спрятаны. Но работа по их возвращению запланирована https://github.com/ra3xdh/qucs_s/issues/94
Тем не менее в релизе 1.0.2 были добавлены два компонента INDQ и CAPQ, которые позволяют задавать катушку и конденсатор с добротностью, что удобно для анализа различных фильтров и усилителей. На скриншоте можно видеть пример реверсивного резонансного усилителя на полевых транзисторах конструкции В. Артёменко UT5UDJ, где используются такие катушки. Производится параметрическое моделирование зависимости коэффициента усиления от добротности катушки.
![Модель реверсивного УПЧ на полевых транзисторах Модель реверсивного УПЧ на полевых транзисторах](https://habrastorage.org/getpro/habr/upload_files/31e/32c/386/31e32c386d6599cda3afcc057c330f9d.png)
Также начиная с версии 0.0.24 в библиотеке компонентов доступен специальный компонент для кварцевого резонатора. При этом данный компонент сделан таким образом, чтобы его параметры было удобно задавать для моделирования кварцевых фильтров, применяющихся в любительских конструкциях КВ техники. На скриншоте можно видеть пример моделирования кварцевого QER фильтра ПЧ на частоту 8 МГц. Параметры кварцев на схеме измерены на настоящих кварцах в корпусе HC-49/U при помощи известного прибора nanoVNA и программы AMCP https://github.com/Battosai42/amcp/
![Моделирование АЧХ кварцевого фильтра на частоту 8 МГц Моделирование АЧХ кварцевого фильтра на частоту 8 МГц](https://habrastorage.org/getpro/habr/upload_files/b85/3b1/0a7/b853b10a73571dad04cf4e7072d76421.png)
Ресурсы по 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