Иллюстрированный самоучитель по OrCAD

Программы моделирования и построения их результатов PSpice и Probe

Целевые функции

По команде Trace › Eval Goal Function вычисляются целевые функции или выражения, их содержащие. Определения целевых функций записываются в текстовые файлы с расширением имени *.PRB (в каталоге \PSPICE\COMMON находится файл стандартных целевых функций и макросов pspice.prb). Перечень целевых функций помещается в диалоговом окне, отличающемся от окна ввода обычных переменных возможностью выбора списка целевых функций Goal Functions на строке Function or Macros. Например, целевая функция для расчета ширины полосы пропускания частотной характеристики имеет имя Bandwidth (l,db_level), где вместо первого параметра 1 щелчком курсора подставляется имя переменной, измеренной в децибелах, а вместо второго db_level – затухание сигнала на границе полосы пропускания, в децибелах. После выбора курсором имени целевой функции оно переносится в командную строку без указания параметров – Bandwidth(,), имена переменных указываются курсором, а дополнительные параметры (в данном случае суффикс db) вводятся с клавиатуры, например Bandwidth(Vdb(9),3) – полоса пропускания напряжения V(9) при затухании 3 дБ или Bandwidth(Vdb(9)@2.3) – полоса пропускания по результатам анализа второй секции данных.

Если же опция Display Evaluation включена, то результаты расчета целевой функции отображаются на графике, где кроме того помечены точки, на основании которых она вычислена (если график функции уже построен, то создается дополнительное окно графиков).

Целевая функция задается по формату:

Имя_целевой_фунщии(1, 2, ..., N, параметр, ..., параметр M)=выражение {
1| Команды_поиска_и_выделения_точек_для_выражения_1;
2| Команды_поиска_и_выделения_точек_для_выражения_2;
N| Команды_поиска_и_выделения_точек__для_выражения_M; }

Здесь приняты следующие обозначения:

Имя целевой функции состоит из алфавитно-цифровых символов (А – Z, 0-9) и символа подчеркивания (_), но не может начинаться с цифры. Длина имени не более 50 символов, строчные и прописные буквы не различаются. Это имя указывается в командной строке Trace › Add Trace.

Аргументы выражения (1, 2,…. N) – первые N аргументов ассоциируются с N командами поиска и выделения точек. Аргумент 1 ассоциируется с командами, помещенными после символов 1|, и т.д. При вводе в командной строке целевой функции эти аргументы заменяются именами переменных и выражениями по правилам, принятым в Probe.

Список параметров(параметр1,…, параметрM) помещается вслед за аргументами выражения. Параметры используются при определении целевой функции и представляют собой алфавитно-цифровые переменные (А – Z, 0-9), которые могут включать в себя символы подчеркивания (_), но не могут начинаться с цифры. При вводе целевой функции указываются численные значения этих параметров.

Выражение – математическое выражение, описывающее операции с выделенными точками. В результате определяется число, откладываемое по оси Y графика. Выражения составляются по обычным правилам программы Probe за небольшими исключениями. Выражение может включать в себя символы арифметических операций +,-,*,/,(,) и функции одного аргумента ABS, SGN, SIN, SQRT,… Отличия от правил составления выражений программы Probe состоят в следующем.

  1. Вместо обычных переменных PSpice, например V(4), I(R2), в выражениях приводятся координаты выделенных точек x1, уЗ,…
  2. Добавлена одна функция MPAVG, вычисляющая среднее значение по оси Y между двумя выделенными точками MPAVG(p1,p2[,диапазон])

Здесь р1, р2 – координаты выделенных точек по оси X, например xl, хЗ, ограничивающих диапазон усреднения. Необязательный параметр диапазон уточняет интервал диапазона усреднения. Величина диапазона усреднения, средняя точка которого совмещена со средней точкой между р! и р2, умножается на значение этого параметра; по умолчанию он равен 1. Приведем пример расчета величины выброса первого импульса. Отметим точкой 1 первое пересечение с положительной производной уровня 50% – амплитуды импульса, точкой 2 отметим следующее пересечение уровня 50% с отрицательной производной, точкой 3 – следующее пересечение этого уровня с положительной производной:

SLEV(50%,P)!1 SLEV(50%,N)!2 SLEV(50%,P)!3

Максимум первого импульса пометим точкой 4, который будем отыскивать, начиная от точки 1:

S/x1/(x1,x2)MAX!4

Здесь xl, х2 – координаты по оси X отмеченных выше точек 1 (!1) и 2 (!2). Затем вычислим величину выброса в процентах амплитуды импульса. Для этого используем функцию MPAVG для расчета среднего значения нижней и верхней части импульса:

overshoot = ((y4 - MPAVG(x1,x2.0.5)) / (MPAVG(x1,x2.0.5)) - MPAVG(x2,x3.0.5))*100
  1. Не разрешается использовать функции нескольких переменных d(), s(), AVG(), RMS(), MIN() и МАХ().
  2. Нельзя использовать функции комплексных переменных М(), Р(), R(), IMG(), G().
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.