Аналоговые функциональные блоки
Линейные функциональные блоки моделируются в терминах соотношения между выходными и входными переменными в частотной области. По директиве .АС определяются значения комплексного коэффициента передачи блока на каждой частоте. При расчете рабочей точки по постоянному току и по директиве .DC берется значение коэффициента передачи на нулевой частоте (поэтому изображения по Лапласу всех узловых потенциалов не должны иметь составляющих типа 1/s). По директиве .TRAN выходная переменная блока вычисляется как интеграл Дюамеля (свертка входного воздействия с импульсной характеристикой блока), что значительно увеличивает длительность расчетов. Возможны следующие варианты задания линейных блоков.
Передаточная функция управляемого источника задается с помощью преобразования Лапласа:
Exxx
<+узел>
<-узел>
LAPLACE {
<выражение>
}
=
+
{
<передаточная функция в s-области>
}
Gxxx
<+узел>
<-узел>
LAPLACE {
<выражение>
}
=
+
{
<передаточная функция в s-области>
}
Например, передаточная функция активного RC-фильтра задается следующим образом:
EARC
2
0
LAPLACE {V(
9
)}
=
{
5
/
(H
-
0.01
*
s)}
Фильтр с чебышевской передаточной функцией задается в виде:
Exxx
<+узел>
<-узел>
CHEBYSHEV {
<выражение>
}
=
<тип>
+
<граничная частота>
*
<затухание>
*
Gxxx
<+узел>
<-узел>
CHEBYSHEV {
<выражение>
}
=
<тип>
+
<граничная частота>
*
<затухание>
*
Здесь <тип> – тип фильтра, принимающий значения: LP – фильтр нижних частот, HP – фильтр верхних частот, ВР – полосовой фильтр, BR – режекторный фильтр.
Для задания желаемой характеристики фильтра задается список граничных частот (для ФНЧ и ФВЧ задаются две частоты, для ПФ и РФ – четыре) и затем список затуханий на этих частотах в децибелах; порядок следования граничных частот безразличен. Приведем примеры:
E1
3
4
CHEBYSHEV {V(
10
)}
=
LP
800
1.2K
0.10B
50dB
E2
5
6
CHEBYSHEV {V(
10
)}
=
BP
800
1.2K
2K
3K
0.1dB
50dB
Табличное описание комплексной передаточной функции в частотной области задается по формату:
Exxx
<+узел>
<-узел>
FREQ {
<выражение>
}
=
[KEYWORD]
+
<<частота>
,
<модуль>
,
<фаза>>
*
[DELAY]
=
<задержка>
]
Cxxx
<+узел>
<-узел>
FREQ {
<выражение>
}
=
[KEYWORD]
+
<<частота>
,
<модуль>
,
<фаза>>
*
[DELAY]
=
<задержка>
]
Здесь частота задается в герцах, модуль передаточной функции – в децибелах, фаза передаточной функции – в градусах. Значения опорных точек указываются в порядке возрастания частоты. Максимальное количество точек – 2048. Например, передаточная функция типа фильтра верхних частот задается так:
EHIGHPASS
2
0
FREQ (V(
9
)} (
0
,
-
60.69.1
) (
2kHz
,
-
3.45
) (
5kHz
,
0.0
)
С помощью ключевого слова KEYWORD изменяется способ задания таблицы передаточной функции. Оно может принимать следующие значения:
- MAG – задание абсолютных значений передаточной функции вместо децибел;
- DB – задание значений передаточной функции в децибелах (принимается по умолчанию);
- RAD – задание фазы в радианах;
- DEG – задание фазы в градусах (принимается по умолчанию);
- R_I – задание действительной и мнимой части передаточной функции вместо ее модуля и фазы.
Ключевое слово DELAY задает дополнительную задержку, которая принимается во внимание при расчете фазовой характеристики фильтра.
В качестве еще одного примера составим структурную схему моделирования рассмотренной выше системы дифференциальных уравнений:
- dx 1 /dt = – 0.3x 1 + х 2 + х 1 2 – 3x 1 x 2 – x 1
- dx 2 /dt = 0.24-0.6x 2 + 4х 1 х 2 – 6х 1 2 х 2
С помощью интеграторов. На рис. 4.31, а представлена функциональная схема моделирования этой системы уравнений, а на рис. 4.31, б – ее реализация в компонентном базисе программы PSpice. В ней использованы управляющие источники напряжения E11, EI2, заданные с помощью преобразования Лапласа и выполняющие операции интегрирования, а также нелинейные управляемые источники напряжения EF1, EF2 для вычисления правых частей системы уравнений. На входном языке программы PSpice задание на решение рассматриваемой системы уравнений имеет вид:
Laplace transforms
EM
1
0
LAPLACE {V(
3
)}
=
{
1
/
s}
EI2
2
0
LAPLACE {V(
4
)}
=
{
1
/
s}
EF1
3
0
POLY(
3
) (
1.0
) (
2.0
) (
0.0
)
0
-
0.3101
-
300001
EF2
4
0
POLY(
3
) (
1.0
) (
2.0
) (
0.0
)
0.6
0
-
0.6
00400000
-
6
R1
1
01E9
R2201E9
R3301E9
R4401E9
.ICV(
1
)
=
0V
(
2
)
=
0.4
.TRAN
0.1s
40s
SKIPBP