Программы моделирования и построения их результатов PSpice и Probe
Команды поиска и выделения точек для выражения М – комбинация одной или нескольких команд поиска, в которых имеются ссылки на одну или несколько выделенных точек. Описание команд поиска Search_commands приведено ниже. Дадим их примеры:
Полная форма команды поиска:
search forward for peak!1 search backward for trough!2;
Краткая форма:
sfpe!1 sbtr!2;
Замечание
Каждое выражение для команд поиска и выделения.точек заканчивается символом ";".
Выделенные точки – отмечаются как In, где п – произвольное число, назначаемое для идентификации точки. Выражение In может быть помещено после завершения любой команды поиска.
Продолжения строк – любая строка (за исключением строк комментариев) может быть перенесена на следующую строку без указания каких-либо специальных символов. Любая строка, начинающаяся с символа * в первой позиции, считается комментарием.
Приведем ряд примеров.
Пример 1
Целевая функция для расчета задержки распространения сигнала имеет вид:
prop_delay(
1.2
)
=
x2
-
x1
{
1
|sf
/
b
/
#
3
#le(
3
,p)!
1
;
2
|sf
/
b
/
#
3
#le(
3
,p)!
2
;
}
Ее вызов по команде Trace › Eval Goal Function может иметь вид:
prop_delay(v(
4
), v(
5
))
Здесь V(4) и V(5) – колебания, между которыми измеряется запаздывание.
Пример 2
Целевая функция для измерения длительности импульса имеет вид:
pulsewidth(
1
,NPTS)
=
x2
-
x1
{
1
|sf
/
b
/
#NPTS#le(
3
,p)!
1
sf#NPTS#le(
3
,n)!
2
;
}
Ее вызов по команде Trace › Eval Goal Function может иметь вид:
pulsewidth(sqrt(v(
4
)),
3
)
Пример 3
Целевая функция для расчета первого выброса импульса имеет вид:
overshoot(l)
=
((y4
-
MPAVG(x1,x2.
0.5
))
/
(MPAVG(x1,x2.
0.5
))
-
MPAVG(x2,x3.
0.5
))
*
100
{
1
|slev(
50
%
,p)H slev(
50
%
,n)!
2
slev(
50
%
,p)!
3
s
/
x1
/
(x1,x2)max!
4
}
Ее вызов по команде Trace › Eval Goal Function может иметь вид:
overshoot(v(out))
Пример 4
Полоса пропускания АЧХ по уровню – 3 дБ измеряется с помощью целевой функции:
Bandwidth(
1
,db_level)
=
x2
-
x1
{
1
|Search forward level(max
-
db_level,p)!
1
Search forward level(max
-
db_level,n)!
2
;
}
Ее вызов может иметь вид:
Bandwidth(Vdb(
5
))
Сначала определяется частота, на которой АЧХ пересекает уровень max-db_level с положительной производной, затем – с отрицательной производной, их разность равна искомой ширине полосы пропускания. Обратим внимание, что уровень напряжения V задается в децибелах, для чего к его имени добавляется суффикс db.
Замечание
Не следует слепо полагаться на результаты расчетов целевых функций. Дело в том, что при составлении выражения для целевой функции имеется в виду вполне определенная форма графика, однако в результате моделирования может быть получен по разным причинам график совершенно другой формы, что может исказить результаты расчетов. Поэтому рекомендуется проверять результаты, расчетов целевых функций, визуально анализируя графики исследуемых зависимостей.
По умолчанию Probe ищет целевые функции и макрокоманды в файле pspice.prb. Назначение другого файла выполняется в PSpice Schematics в меню Options по команде Editor Configuration › App Settings.