missing NULL terminator in set_config_x
[geda-gaf.git] / docs / wiki / geda-spice_polys.ru.html
blobac7fc523a67a5c681af96d8d52466d9c48fed068
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html>
4 <head>
5 <link rel="stylesheet" media="screen" type="text/css" href="./style.css" />
6 <link rel="stylesheet" media="screen" type="text/css" href="./design.css" />
7 <link rel="stylesheet" media="print" type="text/css" href="./print.css" />
9 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
10 </head>
11 <body>
13 <p>
14 <em>Эта страница доступна также на следующих языках:</em> <a href="geda-spice_polys.html" class="wikilink1" title="geda-spice_polys.html">English</a>
15 </p>
17 <h1 class="sectionedit1" id="конструкции_spice_poly">Конструкции SPICE POLY</h1>
18 <div class="level1">
20 <p>
21 Это набросок того, что я узнал о POLY. Я не уверен, что всё абсолютно точно,
22 поэтому не стесняйтесь и исправляйте.
23 </p>
25 <p>
26 Различные версии SPICE используют разные методы моделирования нелинейных
27 зависимых источников, например ASRC, Bxxxx, Exxxx, Gxxxx, Fxxxx, Hxxxx и
28 т. д.
29 </p>
31 <p>
32 Некоторые, например NGspice, используют произвольные выражения с блоками
33 условий, другие, например GNUcap, используют полиномы и аппроксимацию
34 кривых. Функции POLY, видимо, являются здесь наименьшим общим знаменателем,
35 однако в SPICE3 они не поддерживаются. Полиномы были первым средством,
36 используемым для аппроксимации нелинейных зависимостей, потому что эти
37 функции работают хорошо, и SPICE может легко найти производную в какой-либо
38 точке, используемой в числовых методах решения. Отрицательная сторона здесь
39 — необходимость кое-какой дополнительной работы в других программах для
40 получения коэффициентов своего полиномиального выражения.
41 </p>
43 <p>
44 Вот несколько общих проблем с полиномиальными аппроксимациями:
45 </p>
46 <ol>
47 <li class="level1"><div class="li"> Они быстро становятся бесполезными вне ограниченной области. Действительно, поскольку модели BSIM используют полиномиальные приближения в некоторых расчётах, они склонны к нефизическому поведению в рабочих точках вне области их аппроксимации.</div>
48 </li>
49 <li class="level1"><div class="li"> Чтобы получить приличную аппроксимацию функции, форма которой «не очень похожа на полином», в полиноме должно быть много членов.</div>
50 </li>
51 </ol>
53 <p>
54 Другой метод – использование произвольных выражений с чем-то вроде
55 функциональности <em>if-then-else</em> или кусочно-линейных функций. Их проще
56 формулировать, но в этом случае существует риск потери непрерывности, что
57 может вызвать серьёзные проблемы со сходимостью. Однако они гораздо более
58 удобны для того, чтобы наспех что-нибудь скомпоновать.
59 </p>
61 <p>
62 Большие усилия потрачены на получение лучшего из обеих сфер. Функции
63 кусочно-линейной аппроксимации PWL (piecewise linear functions) часто
64 используют маленькие кривые для сглаживания переходов от одной производной к
65 следующей. И выражения, в которых используются функции <em>if-then-else</em>,
66 строятся таким образом, чтобы получались плавные переходы между разными
67 значениями. Вообще, в библиотеках полиномиальные аппроксимации используются
68 там, где это можно сделать, и ограничиваются теми областями, где они
69 полезны. Примерами этого в Gnucap являются операторы <code>fit</code> и <code>table</code>.
70 </p>
72 <p>
73 Однако, если вы хотите попробовать свои модели в других версиях SPICE, вам,
74 вероятно, придётся дополнительно потрудиться, чтобы описать их поведение в
75 элементах оператора POLY, который, к сожалению, (на момент данного
76 написания) недостаточно хорошо документирован ни в Ngspice, ни в Gnucap.
77 Приведу здесь одно место, где есть документация:
78 </p>
80 <p>
81 <a href="http://newton.ex.ac.uk/teaching/CDHW/Electronics2/userguide/secC.html" class="urlextern" title="http://newton.ex.ac.uk/teaching/CDHW/Electronics2/userguide/secC.html" rel="nofollow">http://newton.ex.ac.uk/teaching/CDHW/Electronics2/userguide/secC.html</a>
82 </p>
84 <p>
85 Я думаю, для аппроксимации кривых можно использовать такие программы, как
86 <a href="http://www.gnuplot.info" class="urlextern" title="http://www.gnuplot.info" rel="nofollow">Gnuplot</a>,
87 <a href="http://plasma-gate.weizmann.ac.il/Grace" class="urlextern" title="http://plasma-gate.weizmann.ac.il/Grace" rel="nofollow">Grace</a> или
88 <a href="http://www.simfit.man.ac.uk" class="urlextern" title="http://www.simfit.man.ac.uk" rel="nofollow">Simfit</a>.
89 </p>
91 <p>
92 Учтите, чтобы конструкция POLY поддерживалась в программе Ngspice, при её
93 сборке нужно установить некоторые ключи. Смотрите
94 <a href="http://www.brorson.com/gEDA/SPICE/x496.html" class="urlextern" title="http://www.brorson.com/gEDA/SPICE/x496.html" rel="nofollow">http://www.brorson.com/gEDA/SPICE/x496.html</a>.
95 </p>
97 <p>
98 <em><a href="mailto:&#x63;&#x6c;&#x69;&#x66;&#x40;&#x65;&#x75;&#x67;&#x65;&#x6e;&#x65;&#x77;&#x65;&#x62;&#x2e;&#x63;&#x6f;&#x6d;" class="mail" title="&#x63;&#x6c;&#x69;&#x66;&#x40;&#x65;&#x75;&#x67;&#x65;&#x6e;&#x65;&#x77;&#x65;&#x62;&#x2e;&#x63;&#x6f;&#x6d;">Clif Eugene</a> 2010/11/23 01:31</em>
99 </p>
101 </div>
102 <!-- EDIT1 SECTION "Конструкции SPICE POLY" [120-] --></body>
103 </html>