Qucs как пользоваться пошаговая инструкция
Перейти к содержимому

Qucs как пользоваться пошаговая инструкция

  • автор:

Быстрый старт в аналоговом моделировании¶

Qucs (произносится: kju:ks) — симулятор цепей с графическим пользовательским интерфейсом. Он способен выполнять различные виды моделирования (например, на постоянном токе, S-параметров и т.д.). Этот документ дает краткое описание того, как пользоваться Qucs.

При первом запуске Qucs создает папку ”.qucs” в Вашей домашней папке. Каждый файл сохраняется в этой папке или в одной из ее подпапок. После загрузки Qucs показывается главное окно, которое выглядит примерно как на рис.1. С правой стороны расположена рабочая область (6), в которой содержатся схемы, документы показа данных и т.д.. С помощью вкладок (5) над этой областью можно быстро переключиться на любой документ, открытый в данный момент. С левой стороны главного окна Qucs находится еще одна область (1), содержание которой зависит от состояния вкладок, расположенных над ней: “Проекты” (2), “Содержание” (3) и “Компоненты” (4). После запуска Qucs активируется вкладка “Проекты” (2). Так как Вы запустили программу в первый раз, эта область пустая, поскольку у Вас еще нет ни одного проекта. Нажмите кнопку “Создать” прямо над областью (1) и откроется диалоговое окно. Введите имя для Вашего первого проекта, например, “firstProject” и нажмите кнопку “Создать”. Qucs создает папку проекта в папке ~/.qucs, для этого примера “firstProject_prj”. Каждый файл, принадлежащий этому новому проекту, будет сохранен в этой папке. Новый проект немедленно открывается (это можно прочитать в заголовке окна) и вкладки переключаются на “Содержание” (3), где показывается содержание открытого в данный момент проекта. У Вас еще нет ни одного документа, поэтому нажмите кнопку сохранения на панели инструментов (или используйте главное меню: Файл->Сохранить) чтобы сохранить документ без названия, который заполняет рабочую область (6). После этого появится диалоговое окно для ввода имени нового документа. Введите “firstSchematic” и нажмите кнопку “Сохранить”.

image0_RU

Рис. 1 — Главное окно Qucs

Теперь нам нужно сделать простое моделирование на постоянном токе, то есть мы хотим проанализировать схему на рис. 1. Выберите вкладку “Компоненты” ( (4) на рис. 1). Там Вы увидите выпадающий список, в котором можно выбрать группу компонентов и, ниже, компоненты выбранной группы. Выберите “дискретные компоненты” и нажмите на первый символ: “Резистор”. Перемещая курсор мыши в рабочую область (6), Вы переносите рисунок обозначения резистора. Нажатие правой кнопки мыши вращает обозначение, нажатие левой кнопки мыши помещает компонент на схему. Повторите этот процесс для всех компонентов, показанных на рис. 1. Источник напряжения может быть найден в классе компонентов “источники”, обозначение заземления может быть взято из класса “дискретные компоненты” или с панели инструментов, требуемое моделирование определяется с помощью больших блоков моделирования, находящихся в классе компонентов “виды моделирования”. Чтобы изменить параметры второго резистора, сделайте двойное нажатие левой кнопки мыши на нем. Откроется диалоговое окно, где можно изменить сопротивление. Введите “100 Ohm” в поле редактирования справа и нажмите Enter.

Чтобы соединить компоненты, нажмите кнопку с проводником на панели инструментов (или воспользуйтесь главным меню: Вставка->Проводник). Переместите курсор на незанятый вывод (помеченный маленьким красным кружком). Нажатие кнопки мыши на нем начинает проводник. Теперь передвиньте курсор к конечной точке и снова нажите кнопку мыши. Теперь компоненты соединены. Если Вы хотите изменить направление изгиба проводника, нажмите правую кнопку мыши, прежде чем делать конечную точку. Вы можете также закончить проводник, не нажимая ни на свободный вывод, ни на проводник: просто сделайте двойное нажатие левой кнопки мыши.

Наконец, очень важно пометить узел, в котором Вы хотите, чтобы Qucs рассчитал напряжение. Нажмите на панели инструментов кнопку для метки проводника (или воспользуйтесь меню: Вставка->Метка проводника). Теперь нажмите кнопку мыши на выбранном проводнике. Откроется диалоговое окно и можно ввести имя узла. Напишите “divide” и нажмите кнопку “Ok”. Теперь схема должна выглядеть как на рис. 1.

Для запуска моделирования нажмите кнопку моделирования на панели инструментов (или используйте меню: Моделирование->Моделировать). Откроется окно и покажет продвижение процесса. После успешного завершения моделирования открывается документ показа данных. Обычно все это происходит так быстро, что Вы увидите лишь быстрое мелькание. Теперь Вам нужно поместить диаграмму, чтобы увидеть результаты моделирования. Слева находится класс компонентов “диаграммы”, который выбирается автоматически. Нажмите на “Табличная”, перейдите в рабочую область и поместите ее, нажав левую кнопку мыши. Открывается диалоговое окно, где можно выбрать, что следует показать в новой диаграмме. В левой области видно имя узла, которое Вы задали: “divide”. Сделайте двойное нажатие кнопки мыши на нем, и оно будет перенесено в правую область. Выйдите из диалога нажатием кнопки “Ok”. Теперь виден результат моделирования: 0.666667 вольт. Замечательно, похлопайте себя по плечу!

© Copyright 2014, Qucs Team (2014).

Как подключить Raspberry PI к Azure IoT: пошаговая инструкция

В этом посте мы расскажем, как подключить Raspberry Pi как периферийное устройство для передачи сигналов к светодиодной панели, использовав модуль Azure IoT Edge.

В большинстве шагов мы будем использовать Azure CLI, а также Azure Portal для запуска Azure IoT Edge.

Для этого нам будут нужны:

  • Raspberry Pi 3 Model B+ (светодиодная панель)
  • Аккаунт на Microsoft Azure
  • Последняя версия Azure CLI
  • Расширение (компонент) Azure IoT CLI

Устанавливаем и настраиваем Azure IoT

Сейчас мы установим Azure CLI, создадим IoT Hub и подключим наши устройства. Мы также создадим идентификатор для Raspberry Pi и используем его параметры доступа для распознавания в IoT Hub. Кроме этого, мы используем add-edge-enabled чтобы подключить Raspberry Pi к Azure IoT Edge.

Чтобы установить и первично настроить Azure IoT, нужно:

  1. Установить на компьютер последнюю версию Azure CLI с docs.microsoft.com/en-us/cli/azure/install-azure-cli?view=azure-cli-latest
  2. Настроить Azure CLI, используя:

$ az group create --name rasp-IoT --location westus
$ az iot hub create --resource-group rasp-IoT --name rasp-IoT-Hub --sku S1
$ az iot hub device-identity create --hub-name rasp-IoT-Hub --device-id myPi001 --edge-enabled

Подключаем Raspberry Pi

Модули Azure IoT Edge работают как контейнеры. Чтобы подключить Raspberry Pi к Azure IoT Hub и Azure IoT Edge нам нужно:

    Установить Docker на Raspberry Pi:

$ curl -fsSL get.docker.com -o get-docker.sh && sh get-docker.sh
$ curl -L https://aka.ms/libiothsm-std-linux-armhf-latest -o libiothsm-std.deb && sudo dpkg -i ./libiothsm-std.deb
$ curl -L https://aka.ms/iotedged-linux-armhf-latest -o iotedge.deb && sudo dpkg -i ./iotedge.deb
$sudo apt-get install -f
$ curl -L https://aka.ms/iotedged-linux-armhf-latest -o iotedge.deb && sudo dpkg -i ./iotedge.deb
$sudo apt-get install -f
$ az iot hub device-identity create --hub-name rasp-IoT-Hub --device-id myPi001 --edge-enabled

image

  • Перезапустить фоновый процесс IoT Edge и проверить его статус:
  • $ sudo systemctl restart iotedge
    $ sudo systemctl status iotedge

    image

    Теперь мы можем установить модуль управления светодиодной панелью.

    Разворачиваем модули Azure IoT Edge

    Ниже приведен простой пример, который четко показывает концепцию, разворачивание и управление модулями Azure IoT Edge:

    1. Запустите Azure Portal в браузере.
    2. Перейдите на IoT Hub и с Automation Device Management выберите IoT Edge.

    image

    В IoT Edge Devices, выберите устройство PI1 и нажмите Set Modules.

    image

    Разверните список Add и выберите IoT Edge Module чтобы развернуть кастомный модуль.

    image

    Теперь мы будем использовать Azure Portal чтобы развернуть контейнер как модуль. Перед этим нам нужно создать образ докера и сохранить его в Docker Hub как пример.

    Перейдите на IoT Edge Custom Modules и выполните такие шаги:

    1. В поле Name, введите Matrix. Это будет названием нашего модуля.
    2. В поле Image URI, введите janakiramm/matrix:v1.
    3. Поскольку на нужен доступ к локальной шине I2C на Raspberry Pi, нужно запустить контейнер в режиме Privileged. Чтобы его включить, в Container Create Options вставьте следующую JSON строку:

  • Оставьте в следующих поляк настройки по умолчанию.
  • Нажмите Save для подтверждения развертывания.
  • Это запустит развертывание кастомных модулей на периферийном устройстве.

    Вы также можете проверить подключение модуля к устройству используя iotedge CLI на Raspberry Pi:

    $ sudo iotedge list

    Как только модуль будет успешно развернут, диоды на панели, подключенной к Raspberry Pi, начнут мигать.

    Используя облачный сервис Azure IoT, можно создать намного более сложные и многофункциональные IoT решения. К примеру, мгновенно масштабировать кастомные разработки на периферийных устройствах и посылать только текущие данные на облако, пока основные функции используются локально.

    Мы считаем, что это звучит очень многообещающе.

    Фишки для децентрализации в Azure

    Появилась новая крутая фича, которая отличает Microsoft от других поставщиков облачных услуг и, мы считаем, осуществляет концепцию полной децентрализации WEB 3.0 полнее всего. Конечно же, мы имеем в виду технологии распределенного реестра.

    На Azure Blockchain Workbench можно внедрять инновационные блокчейн-решения на глобально доступной платформе. Честно говоря, мало что может соперничать с «вау-эффектом», который профессиональные децентрализованные приложения (DApps) вызывают у пользователей.

    И все же, имеется в виду не только вопиющая популярность крипто и хайп вокруг ICO. Используя Azure Blockchain Workbench, разработчики могут внедрить уникальные возможности распределенного реестра в свои проекты, в том числе к IoT решениям. И именно это несет добавочную ценность результатов, которые получают заказчики.

    Технология распределенного реестра обещает вывести доставку ценности на полностью новый уровень, так что даже поверхностное изучение соответственного облачного сервиса (как тот же Azure Blockchain Workbench) потребует отдельного поста. Мы, конечно, абсолютно не против «нырнуть» в особенности Azure Blockchain если вам так же интересна эта тема.

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

    • microsft azure
    • Rasbperry PI
    • Microsoft Azure
    • Разработка на Raspberry Pi
    • Интернет вещей

    Komponenty I Tekhnologii 042022

    12+ Компоненты и технологии C o m p o n e n t s & Te c h n o l o g i e s www.kit-e.ru № 4 ’2022 (апрель) ISSN 2079-6811 № 4 ’2022 Реализация угломерных решений с помощью МС К1382НМ025 апрель Сборка термокомпенсированных кварцевых генераторов Components &. Показать больше

    12+ Компоненты и технологии C o m p o n e n t s & Te c h n o l o g i e s www.kit-e.ru № 4 ’2022 (апрель) ISSN 2079-6811 № 4 ’2022 Реализация угломерных решений с помощью МС К1382НМ025 апрель Сборка термокомпенсированных кварцевых генераторов Components & Technologies Мониторы тока Реклама Qucs-S: Реклама SPICE-совместимая САПР Спрятать

    • Похожие публикации
    • Поделиться
    • Код вставки
    • Добавить в избранное
    • Комментарии

    Qucs-S: руководство по видам моделирования, часть 1

    Qucs-S является программой с открытым исходным кодом для моделирования электронных схем. Qucs-S кроссплатформенный (поддерживаются Linux и Windows) и написан на С++ с использованием набора библиотек Qt. О данной программе рассказывают мои предыдущие статьи. Для работы Qucs-S рекомендуется использовать также открытый движок моделирования Ngspice. Актуальным релизом Qucs-S на текущий момент является версия 2.1.0. В данной статье подробно рассматриваются виды моделирования, имеющиеся в Qucs-S. Начальное руководство по работе с программой можно найти здесь: https://habr.com/ru/articles/678526/

    Расчёт рабочей точки (Operation point)

    Расчёт рабочей точки по постоянному току позволяет рассчитать напряжение и ток в узлах и компонентах схемы в установившемся режиме при условии отсутствия входного сигнала переменного тока. Чтобы запустить расчёт рабочей точки, нужно в главном меню Qucs-S выбрать Simulation→ Calculate DC bias или нажать клавишу F8 на клавиатуре. Если схема собрана без ошибок, то рядом с узлами схемы программа покажет значение напряжения, а рядом с источниками – величину тока, протекающего через этот источник. В схему также можно включать вольтметры и амперметры.

    Расчёт рабочей точки для биполярного транзистора, включённого по схеме с общим эмиттером

    На скриншоте показан пример моделирования рабочей точки простой схемки на биполярном транзисторе. В цепь коллектора и в цепь базы включены амперметры. Использована идеальная модель транзистора с коэффициентом передачи тока Bf=100. Из результатов моделирования видно, что ток коллектора примерно в Bf раз больше, чем ток базы.

    Моделирование на постоянном токе (DC sweep)

    Моделирование на постоянном токе (DC sweep) позволяет также рассчитать напряжение и ток в узлах и компонентах схемы в установившемся режиме при условии отсутствия входного сигнала переменного тока. Но при этом можно построить зависимость выходного сигнала от некоторого напряжения, тока или сопротивления. В числе возможных применений данного моделирования – построение вольт-амперных характеристик (ВАХ) полупроводниковых и электровакуумных приборов.

    В качестве примера рассмотрим как промоделировать выходную ВАХ полевого транзистора. Как известно выходная ВАХ – это зависимость тока стока Ic транзистора от напряжения сток-исток Vси при постоянном напряжении смещении на затворе Vзи. Как правило в справочниках приводится семейство выходных ВАХ для различного напряжения на затворе. Чтобы провести моделирование, в Qucs-S собираем схему, содержащую транзистор, два источника, и виды моделирования.

    Семейство выходных ВАХ полевого транзистора

    Транзистор типа BSS123 возьмём из библиотеки. К стоку и затвору подключаем два источника постоянного напряжения V1 и V2, а в цепь стока ещё и амперметр (current probe), который будет измерять ток стока. На схеме размещаем три моделирования: DC analysis и два блока Parameter Sweep. Отдельного моделирования DC sweep в Qucs-S нет, поэтому используется комбинация из двух видов моделирования. Моделирование Parameter Sweep имеет первый параметр Sim, в котором нужно указать вид моделирования. В нашем случае указываем указываем DC1, как показано на схеме. В диалоге свойств моделирования его можно выбрать из списка. В качестве параметра для развёртки (Param) указываем имя источника. В нашем случае это V2, который включён в цепь стока. В отличие от старого Qucs здесь нужно указывать только имя источника или резистора, а не имя переменной. В свойствах Start и Stop следует указать дипазон, а в свойстве Points – число точек. В нашем случае напряжения на стоке изменяется от 0 до 15 В.

    Второе моделирование Parameter Sweep нужно, чтобы получить семейство ВАХ. При этом во внутреннем цикле у нас изменяется напряжение сток-исток (источник V2), а во внешнем устанавливается напряжение на затворе (источник V1). Напряжение на затворе изменяется в пределах от 0 до 5 В. В семействе ВАХ будет 5 кривых (Points=4). После того, как параметры моделирования заданы, можно запускать моделирования, выбрав в главном меню Simulation→ Simulate. Затем размещаем на схеме декартовскую диаграмму, на которой строим переменную i(pr1), представлявщую ток через амперметр. В результате должно получиться семейство выходных ВАХ.

    Моделирование переходного процесса (Transient analysis)

    Моделирование переходного процесса применяется, чтобы получить виртуальную осциллограмму какого-либо напряжения или тока. Данный вид моделирования называется Transient Simulation. Рассмотрим небольшой пример. Собираем схему усилителя на одном биполярном транзисторе и построим осциллограммы напряжения на входе и на выходе. Должна получиться схема, показанная на скриншоте.

    Усилительный каскад на биполярном транзисторе

    Транзистор типа 2N2222 можно найти в библиотеке компонентов (вкладка Library слева окна), введя его имя в строке поиска над древовидным списком библиотек. Усилитель питается от источника V1 напряжением 12В, ко входу подключен источник переменного напряжения амплитудой 100мВ и частотой 2кГц. К выходу подключена нагрузка через разделительный конденсатор. Чтобы построить осциллограммы напряжения на входе и на выходе, соответствующие узлы на схеме нужно пометить. Для этого используем кнопку Wire Label на панели инструментов. На схеме размещаем моделирование «Transient simulation». По двойному щелчку на данном компоненте открывается диалог свойств моделирования, показанный на следующем скриншоте.

    Настройки моделирования переходного процесса

    В данном окне можно задать начальное (Start) и конечное (Stop) время, а также количество точек расчёта. В нашем случае длительность моделирования 4 мс, рассчитать требуется 200 точек, шаг расчёта около 20 мкс. Запускаем моделирование, которое должно пройти без ошибок, а затем размещаем на схему декартовскую диаграмму (Cartesian), на которой строим сигналы v(in) и v(out). Видим, что усилитель усиливает входной сигнал.

    Моделирование переходного процесса с начальными условиями

    Начальные условия для моделирования переходного процесса обычно рассчитываются автоматически. Перед началом расчёта SPICE симулятор проводит моделирование рабочей точки (initial DC) по постоянному току и из его результатов подставляет начальные условия. Но иногда начальные условия нужно задавать вручную, например если в схеме имеются заряженные конденсаторы. Чтобы задать начальное напряжение на конденсаторах, нужно вписать значение в параметр «V», в диалоге свойств конденсатора как показано на скриншоте. Аналогичным способом для катушек индуктивности можно задать ток.

    Задание начального напряжения на конденсаторе

    В диалоге свойств моделирования переходного процесса следует установить параметр «inittialDC=no». По умолчанию там стоит yes.

    Настройки моделирования переходного процесса

    В качестве примера рассмотрим схему, в которой моделируется разряд конденсатора. Начальное напряжение на конденсаторе задано 10В, а автоматический расчёт начальных условий отключен. В результате на узле v(cap) получаем экпоненциальную форму напряжения. Постоянная времени RC цепи в данном случае 1 мс.

    Моделирование процесса разряда конденсатора

    Моделирование на переменном токе (АС analysis)

    Моделирование на переменном токе позволяет исследовать АЧХ и ФЧХ различных электронных схем. В качестве примера добавим моделирование частотных характеристик в схему усилителя на одном транзисторе из предыдущего раздела. Модифицируем схему так, как показано на скриншоте.

    Схема с добавленным моделирование на переменном токе

    На схеме размещаем компонент «AC simulation». В свойствах данного типа моделирования можно указать начальную (Start) и конечную (Stop) частоты, а также тип развёртки. Доступна линейная и логарифмическая развёртка. Для логарифмической развёртки можно задать чисто точек моделирования на декаду. Остальные типы не поддерживаются Ngspice, и требуются для совместимости с движком Qucsator. Диалоговое окно свойств моделирования показано на скриншоте. В нашем случае проведём моделирование в диапазоне частот от 10Гц до 100кГц с логарифмической развёрткой.

    Настройки моделирования на переменном токе

    Далее запускаем моделирование и строим график зависимости коэффициента усиления (переменная K) от частоты. Получается результат, показанный на скриншоте.

    График АЧХ усилителя

    Моделирование S-параметров

    Данный вид моделирования применяется главным образом для анализа высокочастотных схем. Более подробно моделирование S-параметров рассмотрено в моих предыдущих статьях, и поэтому здесь мы повторяться не будем. Только кратко упомянем, что для анализа ВЧ схем может применяться два движка моделирования.

    • Ngspice начиная с версии 37 поддерживает моделирование S-параметров. При помощи данного симулятора можно промоделировать схемы содержащие пассивные и активные компоненты. Моделирование S-параметров в Ngspice имеет некоторые ограничения. Так, отсутствуют модели микрополосковых линий (МПЛ) и поддерживается только двухпортовое моделирование. Подробнее о моделировании S-параметров при помощи Ngspice см. здесь: https://habr.com/ru/articles/735508/
    • Qucsator поддерживает моделирование МПЛ, волноводов и прочих цепей с распределёнными параметрами, но имеет очень плохую производительность и проблемы со сходимостью при моделировании во временной области. Сторонние SPICE-модели нужно конвертировать, так как Qucsator имеет другой формат списка цепей. Для моделирования схем общего назначения использовать Qucsator не рекомендуется. Для Linux Qucsator нужно компилировать из исходников https://github.com/qucs/qucsator , а для Windows можно взять из установочного пакета для Qucs версии 0.0.19.

    Начиная с версии 2.0.0 Qucs-S поддерживает быстрое переключение движка моделирование через выпадающий список на панели инструментов. Перезапуск программы больше не требуется. Пути к симуляторам нужно сконфигурировать через меню Simulation→ Simulator settings. На скриншотах ниже приведены примеры моделирования в Ngspice и Qucsator.

    Моделирование S-параметров для широкополосного усилителя высокой частоты. Движок моделирование NgspiceМоделирование усилителя высокой частоты с микрополосковыми линиями (МПЛ). Движок моделирования Qucsator

    Спектральный анализ (FFT)

    Спектральный анализ позволяет промоделировать частотный состав сигналов. При этом выполняется быстрое преобразование Фурье и вычисляется непрерывный спектр. Симулятор действует аналогично анализатору спектра. Одно из применений спектрального анализа – оценка интермодуляционных искажений в усилителях. Соответствующую теорию можно прочитать здесь: https://eax.me/amplifier-measurements/ Для таких измерений на вход усилителя подаётся двухтональный сигнал и анализируется спектр выходного сигнала.

    В качестве примера промоделируем интермодуляционный спектр усилителя широкополосного усилителя высокой частоты для КВ диапазона. Такая схема часто используется в радиолюбительских трансиверах. В Qucs-S собираем схему, показанную на скриншоте.

    Моделирование спектра на выходе усилителя высокой частоты

    Транзистор 2N5109 берём из библиотеки компонентов. Трансформатор называется «Mutual inductance» и находится в группе с прочими пассивными компонентами. Данный компонент позволяет задать индуктивность первичной L1 и вторичной L2 обмоток, а также коэффициент связи K. На вход усилителя подключается два источника V4 и V2, которые имитируют двухтональный сигнал частотой 8 МГц с разносом частот 100 кГц. На схеме также размещаем вид моделирования «Spectrum analysis» и уравнение, которое переводит спектр в децибелы. Уравнение нужно привязать к виду моделирования FFT в первом параметре (Simulation).

    На схеме размещено две диаграммы. Моделирование спектра в нашем случае осуществляется в полосе частот от 0 до 30 МГц. Поэтому на спектральной диаграмме нужно выделить участок вблизи частоты 8 МГц. Для этого построен верхний график, для которого применена ручная установка границ по осям. Видим, что спектр выходного напряжения v(out) состоит из множества интермодуляционных составляющих. По бокам от пиков полезного сигнала на частоте 8МГц и 8.1МГц можно видеть интермодуляционные продукты третьего порядка с частотами 7.9 МГц и 8.2 МГц. Определив амплитуду данных составляющих при помощи маркеров на графике, можно измерить параметр IP3, называемый точкой пересечения третьего порядка и важный для анализа динамического диапазона усилителей.

    Рассмотрим параметры вида моделирования Spectrum Analysis. Диалоговое окно свойств моделирования показано на скриншоте.

    Настройки спектрального анализа

    Параметр BW позволяет установить полосу частот. В нашем случае до 30 МГц. Параметр dF это шаг частоты. Чем меньше шаг, тем выше точность моделирования. Но при малом шаге расчёт спектра существенно замедляется. В нашем случае шаг dF равен 1 кГц. Параметр Window позволяет установить вид оконной функции. В большинстве случаев следует оставить значение по умолчанию. Для Гауссовой оконной функции можно задать порядок (Order). В остальных случаях этот параметр не имеет эффекта

    Чтобы рассчитать спектр, Ńgspice сначала выполняет моделирование переходного процесса. Затем при помощи преобразования Фурье сигнал переводится из частотной области во временную область. Переходный процесс при включении схемы может накладываться на спектр сигнала и искажать результаты. Поэтому бывает полезным сдвинуть начало моделирования, чтобы рассчитать спектр выходного сигнала для установившегося режима схема. Для этого служит параметр Tstart, которые следует подобрать. В нашем случае переходный процесс короткий и можно установить Tstart=0, что ускоряет моделирование, которое довольно медленное.

    Фурье-анализ (Fourier)

    Фурье-анализ позволяет рассчитать гармонический состав сигнала и также получить амплитудный и фазовый спектр. При этом вместо преобразования Фурье используется разложение в ряд Фурье. В отличие от спектрального анализа FFT, спектр здесь получается в виде дискретной функции. Фурье-анализ работает значительно быстрее, чем вычисление спектра, но подходит не для всех случаев.

    В качестве примера промоделируем спектр гармонических искажений для усилителя на одном транзисторе. Модифицируем схему, как показано на скриншоте. Следует добавить компонент «Fourier simulation» и увеличить амплитуду синусоидального источника на входе до 500 мВ, чтобы искажения сигнала были лучше видны.

    Моделирование спектра гармоник на выходе усилителя на одном транзистора при помощи Фурье-анализа

    В результате моделирования получается дискретный спектр гармоник выходного сигнала. Для этого на график следует вывести переменную magnitude(v(out)). Чтобы график был более наглядным, в свойствах следует установить тип линии (Style) как «arrows», то есть стрелки параллельно вертикальной оси. На графике видим, что наиболее значительную амплитуду имеет вторая гармоника. Диалоговое окно свойств диаграммы со спектром показано на скриншоте.

    Настройки спектральной диаграммы

    Рассмотрим параметры Фурье-анализа. Данное моделирование на работает само по себе, а присоединяется к моделированию переходного процесса. Поэтому первым параметром Sim нужно вписать имя компонента моделирования переходного процесса. В нашем случае это TR1. Второй параметр numfreq это число гармоник в расчёте. В нашем случае там вписано число 10, то есть следует рассчитать амплитуду первых 10 гармоник. Параметр F0 это частота первой гармоники. В нашем случае она равна частоте источника V2, то есть 1 кГц. Параметр Vars это список сигналов, для которых рассчитывается спектр гармоник. Сигналы здесь записываются через пробел. В нашем случае мы рассчитываем спектр для сигналов v(out) и v(in), то есть напряжений в узлах схемы in и out.

    Диалоговое окно свойств моделирования показано на скриншоте.

    Настройки моделирования для Фурье-анализа

    Для сравнения можно промоделировать спектр гармонических искажений для данной схемы при помощи преобразования Фурье FFT. Модифицированная схема с результатом моделирования показана на скриншоте. Спектр рассчитан в полосе частот 10 кГц с шагом 10Гц.

    Сравнение результатов Фурье-анализа и FFT

    Заключение

    В статье были рассмотрены не все виды моделирования, доступные в Qucs-S. Про параметрический анализ, нуль-полюсное моделирование, скриптовое моделирование и некоторые общие вопросы будет рассказано в следующей статье, иначе будет превышен объём. В заключении приведён список ресурсов по 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/2.1.0
    • Страница на Boosty, где можно поддержать проект финансово: https://boosty.to/qucs_s

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *