5.4. Программа параметрической оптимизации PSpice Optimizer
5.4. Программа параметрической оптимизации PSpice Optimizer
В пакете OrCAD параметрическая оптимизация выполняется методом наискорейшего спуска путем взаимодействия модуля PSpice Optimizer с графическим редактором схем (PSpice Schematics или OrCAD Capture), программой моделирования PSpice и постпроцессором Probe. Критерий оптимизации — обеспечение заданного значения целевой функции при выполнении ряда линейных и нелинейных ограничений.
1. Если схема оптимизируемого устройства создается в PSpice Schematics, на нее наносится символ OPTPARAM из библиотеки Special.sib для определения списка оптимизируемых параметров. Щелчком по заголовку этого символа открывается панель спецификации параметров и задаются следующие величины:
Name — имя параметра;
Initial Value — начальное значение;
Current Value — текущее значение (вводится либо начальное значение, либо текущее, либо оба);
Lower Limit — нижняя граница изменения параметра;
Upper Limit — верхняя граница изменения параметра;
Tolerance — допуск стандартизованного ряда значений параметров, испрльзуемый при округлении значений параметров, в процентах.
Нажатие кнопки Add Param добавляет введенные значения к списку параметров. После ввода последнего параметра нажимается кнопка Save Param для их сохранения.
Определенные таким образом параметры должны быть использованы для обозначения параметров компонентов схемы и их моделей (сопротивлений резисторов, параметров транзисторов и т.п.).
Далее в меню Analysis по команде Setup открывают диалоговое окна для задания вида анализа и диапазона изменения текущей переменной (частоты, времени, источника постоянного напряжения или глобального параметра).
При создании схемы с помощью OrCAD Capture список оптимизируемых параметров задается по команде PSpice>Place Optimizer Parameters (см. разд. 2.7).
2. Критерий оптимизации задается непосредственно в программе PSpice Optimizer, которая вызывается из меню Tools программ PSpice Schematics и OrCAD Capture по команде Run Optimizer для создания или редактирования файла задания на оптимизацию *.ОРТ.
Рис. 5.10. Главное окно программы PSpice Optimizer
В правой верхней части этого окна помещен список значений функций, которые могут быть целевыми функциями или ограничениями (раздел Specifications), в нижней — перечень варьируемых параметров (раздел Parameters).
Значения целевых функций рассчитываются с помощью программы Probe. Они задаются следующим образом:
целевые функции Goal Function программы Probe, записанные в файл с расширением имени *.PRB;
выражения, заданные в программе PSpice Optimizer.
Целевые функции программы Probe позволяют рассчитать минимум или максимум функции, расстояние между выделенными точками, центральную частоту, полосу пропускания и т.п. (стандартные целевые функции размещены в файле pspice.prb).
В выражениях программы PSpice Optimizer разрешается использовать следующие математические операции и функции:
+, -, *, / — арифметические операции;
** — возведение в степень;
ЕХР(x) — ехр(х), экспонента числа х;
LOG(x) — ln(x) , натуральный логарифм х;
LOG10(x) — l og(x), десятичный логарифм х;
SIN(x) — sin(x), синус х (х в радианах);
COS(x) — cos(x), косинус х (х в радианах);
TAN(x) — tg(x), тангенс х (х в радианах);
ATAN(x) — acrtg(x), арктангенс х (х в радианах).
По команде Parameters меню Edit открывается окно co списком спецификации функций (рис. 5.11, а). Нажатием кнопки Add открывается меню спецификации новой функций, показанное на рис. 5.11, б. Это же окно открывается щелчком по имени функции из списка. В окне спецификации вводятся следующие данные:
Name — имя функции;
Enabled — включение режима расчета функций на следующей итерации;
Reference — выбор между внутренней спецификацией (Internal), задаваемой в диалоговом окне, и внешней (External), адресуемой к имени файла данных;
Weight — весовой коэффициент целевой функции (с их помощью устанавливается важность каждой целевой функции и учитываются различия их абсолютных значений).
Внутренняя спецификация задается параметрами:
Target — желаемое значение функции;
Range — ширина допустимого диапазона значений функции;
Constraint — включение/выключение режима учета ограничений. Если режим Constraint включен, задаваемая в этом окне функция является ограничением, в противоположном случае — целевой функцией;
Туре — тип-ограничения: =target — равно, >=target — больше или равно, <=target — меньше или равно заданному значению функции.
а)
б)
Рис. 5.11. Спецификация целевых функций и ограничений (а) и окно их редактирования (б)
Внешняя спецификация задается параметрами:
File — имя файла данных, содержащего значения функции;
X Column Name — заголовок столбца данных, содержащего значения отсчетов переменной х;
Y Column Name — заголовок столбца данных, содержащего значения отсчетов переменной у;
Tolerance — класс допуска при округлении результатов вычислений до стандартных значений.
Остальные параметры имеют следующий смысл:
Analysis — выбор вида анализа (AC, DC или Transient);
Circuit File — имя файла схемы, к которому обращаются при моделировании (если оно не указано, то математические выражения вычисляются непосредственно);
Probe File Containing Goal Functions — имя файла целевых функций для программы Probe (расширение имени по умолчанию *.PRB);
Evaluate — спецификация математического выражения для функции. В нее могут входить имена переменных, имена Goal Function и имена любых параметров.
Замечание.
Обратим внимание, что для разных целевых функций можно задавать разные вида анализа и даже разные имена схем. Например, при оптимизации фильтра можно в режиме АС контролировать его резонансную частоту, а в режиме Transient — величину выброса в переходном процессе.
3. Запуск процесса оптимизации выполняется в меню Tune. По команде Update Performance рассчитываются характеристики схемы для начальных и текущих значений каждого параметра. Это может использоваться для проверки корректности постановки задачи оптимизации. Значения целевых функций для начальных значений параметров отображаются в главном окне программы, что позволяет оценить близость этих значений к оптимальным.
По команде Update Derivatives вычисляются чувствительности каждой целевой функции к изменению каждого параметра, равные частным производным. Информация о чувствительностях позволяет выбрать параметры, к изменению которых целевые функции наиболее чувствительны. Матрица чувствительностей отображается на экране по команде Show Derivatives.
Оптимизация в автоматическом режиме запускается по команде Autostart. Сначала вычисляется матрица чувствительностей и определяется направление изменения параметров. Движение в этом направлении происходит до тех пор, пока не перестанет уменьшаться разность между текущим и требуемым значениями целевой функции. После этого снова вычисляется матрица чувствительностей и новое направление изменения параметров. По достижении оптимума процесс оптимизации завершается или его нужно остановить по команде Auto>Terminate. Результаты оптимизации отображаются в главном окне программы.
Оптимизация в интерактивном режиме начинается с вычисления чувствительностей по команде Update Derivatives. После этого в основном окне программы изменяются значения параметров и выполняется команда Update Performance для расчета новых значений целевых функций. Однако при этом моделирование не производится, а расчет основывается на матрице чувствитель-ностей. Поэтому в таком режиме изменения параметров должны быть небольшими. Далее снова производится расчет матрицы чувствительностей и вносятся новые изменения в значения параметров.
Заметим, что любой параметр или функцию можно исключить из процесса оптимизации, переведя выключатель около имени параметра или функции в главном меню в положение Disable (галочка должна исчезнуть).
После успешного завершения оптимизации найденные значения параметров отображаются в главном меню. В связи с тем что ряд параметров компонентов, например сопротивления резисторов, не могут принимать любые значения, можно выполнить округление их значений до ближайшей стандартной величины по команде Edit>Round Nearest Edit>Round Calculated. Точность округления определяется параметром Tolerance, который может принимать значения 1, 5 и 10%. Новые значения целевых функций после округления параметров рассчитываются автоматически.
Значения найденных в процессе оптимизации параметров переносятся на схему по команде Edit>Update Schematic. Новые значения параметров отображаются в атрибутах символов OPTPARAM.
Замечание.
В связи с тем что никакой регулярный метод оптимизации не может в общем случае обеспечить нахождение глобального экстремума, рекомендуется выполнять параметрическую оптимизацию в два этапа. Сначала проводят статистические испытания по методу Монте-Карло, варьируя параметры в широких пределах. По результатам, этих испытаний определяется несколько локальных экстремумов, в окрестности каждого из которых выполняется оптимизация с помощью программы PSpice Optimizer. Другой способ — проводят несколько циклов оптимизации, интуитивно выбирая разные начальные значения параметров.
Перечень команд программы PSpice Optimizer дан в табл.5.15.
Таблица 5.15. Команды программы PSpice Optimizer
Команда
Назначение
Меню File (Файл)
New
Очистка рабочего окна для создания нового файла задания на оптимизацию(*. ОРТ)
Open...
Открытие (загрузка) существующего файла задания на оптимизацию
Save
Сохранение внесенных изменений в текущем файле
Save As...
Сохранение внесенных изменений в новом файле, имя которого указывается по дополнительному запросу
Report
Создание текстового файла отчета об оптимизации (*.ООТ)
Exit (Alt+F4)
Завершение работы
1, 2, ...
Список последних четырех загруженных файлов
Команда
Назначение
Меню Edit (Редактирование)
Parameters...
Редактирование списка целевых функций и ограничений
Specifications...
Редактирование спецификаций целевых функций и ограничений
Store Values
Копирование текущих значений в качестве начальных значений спецификаций и параметров
Reset Values
Копирование начальных значений в качестве текущих значений
Round Nearest
Замена значения каждого параметра, соответствующего номиналу компонента, ближайшим стандартным значением (погрешность округления задается параметром Tolerance)
Round Calculated
Замена значения каждого параметра ближайшим стандартным значением, если новые значения целевых функций находятся в заданных пределах (расчет проводится на основе производных без повторения моделирования)
Update Schematic
Перенос на схему оптимальных значений параметров
Меню Типе (Настройка)
Update Performance
Расчет характеристик схемы для начальных и текущих значений каждого параметра
Update Derivatives
Вычисление чувствительности каждой целевой функции к изменению каждого параметра
Show Derivatives
Отображение матрицы чувствительностей
Auto
Управление процессом оптимизации в автоматическом режиме:
Start
Начало оптимизации
Terminate
Прекращение оптимизации
Меню Options (Параметры)
Defaults
Установка параметров оптимизации:
Delta
Относительное приращение параметров для расчета производных, в процентах
Max. Iterations
Максимальное количество итераций в процессе оптимизации
Probe File
Задание имени файла целевых функций .prb для программы Probe
Display
Имя конфигурации дисплея программы Probe, предварительно сохраненной по команде Tools>Display Configuration
Advanced Options
Дополнительные параметры: Cutback — минимальная доля внутреннего шага изменения параметров; Thres hold — минимальный шаг изменения параметров; One Goal — выбор метода минимизации при задании значения функции в одной точке
Команда
Назначение
Recalculate
Режим расчета новых значений параметров и функций:
Auto
Автоматическое обновление результатов
Manual
Расчет параметров после нажатия кнопки Parameters, целевых функций — кнопки Results
Меню Help (Помощь)
About Optimizer...
Вывод номера версии программы и ее регистрационного номера
Web Resources
Выход в Интернет:
PSpice Home Page
Загрузка сайта www.orcad.com
Customer Support
Выход на службу технической поддержки www.orcad.com/technical
По окончании оптимизации полезно просмотреть текстовые отчеты, составляемые по команде File>Report (расширение имени *.ООТ), и составляемые автоматически протоколы оптимизации (расширение имени *.OLG).
Пример. Рассмотрим применение программы PSpice Optimizer для настройки полосового фильтра на операционном усилителе.
С помощью трех потенциометров R2, R4, R5 настроим фильтр на частоту Fc = 10 Гц и обеспечим полосу пропускания BW = 1 Гц и резонансный коэффициент передачи Gain =10. Варьируемые параметры — сопротивления потенциометров aFc, aGain, aBW — и их начальные значения определены на схеме с помощью атрибутов символа OPTPARAM. В качестве цели оптимизации потребуем равенства трех характеристик фильтра заданным значениям с некоторым допуском, введя их значения по команде Edit>Specification . В табл. 5.16 приведены все данные, которые должны быть введены в диалоговых окнах этой команды. Вид анализа — расчет частотных характеристик АС, спецификация внутренняя (Internal). Используемые здесь целевые функции, указанные в графах Evaluate, записаны в файле pspice.prb.