МОДЕЛИРОВАНИЕ линейных схем в частотной области

 

3.1 Методы формирования уравнений схемы

 

Любая схема подчиняется трем основным законам: первому закону Кирхгофа (закону токов Кирхгофа – ЗТК), 2-му закону Кирхгофа (закону напряжений Кирхгофа – ЗНК) и закону элементов. Первые два закона являются линейными алгебраическими уравнениями для токов узлов и напряжений ветвей. Закон элементов описывает характеристики элементов, например, токи через клеммы элемента как функцию напряжения на них . Для линейных элементов эта зависимость является линейной и сам закон элементов является законом Ома: или , где , R и G – сопротивление и проводимость элемента соответственно. Все эти уравнения используются для составления уравнений схемы, решение которых составляет содержание задачи анализа. В курсе ОТЦ обычно изучаются четыре метода анализа электрических цепей: 1) метод уравнений Кирхгофа; 2) метод эквивалентных преобразований; 3) метод контурных токов и 4) метод узловых напряжений. Первые два метода используют оба закона Кирхгофа и плохо формализуются для использования компьютера, поэтому применяются, в основном, для ручного расчета очень простых цепей. В машинных расчетах используются, как правило, методы контурных токов и узловых напряжений, которые легко представляются в виде матричных уравнений, достаточно просто решаемых на компьютере. Среди последних двух метод узловых напряжений используется значительно чаще, поскольку он оперирует с реальными напряжениями узлов, в то время как контурные токи реально не существуют, а являются некими вспомогательными фиктивными величинами, позволяющими в дальнейшем определить реальные токи ветвей и напряжения между узлами. В связи с этим, в качестве основного метода анализа линейных электронных схем мы выберем метод узловых напряжений.

 

3.2 Топология схемы

 

Любая электрическая схема представляет набор базовых элементов, соединенных между собой с помощью проводников. Полное описание схемной модели должно содержать следующую информацию: 1) способ соединения ветвей; 2) опорные направления для токов ветвей и напряжений; 3) характеристики ветвей. Первые два пункта содержат информацию о топологии схемы, поэтому для ее описания естественно использовать теорию графов.

Коротко напомним основные понятия теории графов. В математике совокупность множества вершин X и множества связей между ними U называется графом, который обозначается G(X,U). Графы широко используются в прикладных науках для описания различных структур. Граф называют направленным или ориентированным, если связи имеют опорные направления, обозначенные стрелками. В противном случае граф считается неориентированным. Связи в неориентированном графе называются ребрами, а в ориентированном – дугами. В электротехнике и радиотехнике графы используются для описания топологии схем соединений, монтажных пространств и принципиальных электрических схем. В последнем случае граф – это условное изображение электрической цепи, где узлам цепи ставятся в соответствие вершины графа, а ветвям цепи – дуги графа, при этом стрелки на дугах показывают опорные направления тока. На рис 3.1 показана электрическая цепь и соответствующий ей ориентированный граф.

а) б)

Рисунок 3.1 – Электрическая цепь (а) и ее направленный граф (б).

Подграфом называется часть графа.

Путь между узлами i и j – это набор ветвей, образующих непрерывную линию, выходящая из узла i и входящая в узел j, проходящая при этом через каждый из промежуточных узлов не более одного раза.

Граф называется связным, если между двумя любыми узлами имеется путь.

Контуром связного графа называется путь, начинающийся и заканчивающийся в одном и том же узле.

Деревом связного графа GS называется подграф T, содержащий все узлы графа и не имеющий контуров. Если связной граф имеет N вершин (узлов), то его любое дерево имеет ветвей.

Ветви графа, принадлежащие дереву T, называются ветвями дерева, а не принадлежащие дереву Tхордами. Все хорды, соответствующие дереву T, образуют подграф L, называемый дополнением дерева.

Сечением называется набор ветвей связного графа, после устранения которого граф перестает быть связным, а восстановление любой ветви из этого набора вновь приводит к появлению связного графа.

Понятия пути, контура, сечения и дерева вводятся здесь потому, что они важны при анализе сложных схем. Контуры являются подграфами, к которым применяется ЗТК, а сечения – подграфами, к которым применяется ЗНК. Понятие дерева используется для формирования независимых уравнений ЗТК и ЗНК.

Вернемся к описанию топологии схемы. Содержащаяся в направленном графе информация может быть полностью представлена одной из трех фундаментальных матриц: матрицы инциденций A, матрицы контуров B или матрицы сечений D, соответствующих направленному графу. Рассмотрим одну из них, а именно матрицу инциденций.

Для направленного графа с N узлами и M ветвями матрицей инциденций является матрица размерности , в которой , если ветвь j принадлежит узлу i и стрелка направлена от узла i; , если ветвь j принадлежит узлу i и стрелка направлена к узлу i; , если ветвь j не принадлежит узлу i. Для схемы, показанной на рис 3.1, матрица инциденций будет иметь следующий вид:

.

Каждый столбец матрицы имеет только два ненулевых элемента 1 и –1, поэтому из нее можно без потери информации можно исключить любую строку, которую затем легко восстановить, помня, что сумма всех элементов столбца всегда равна нулю. МатрицаA, полученная из путем исключения одной строки, называется редуцированной матрицей инциденций. Матрицу в дальнейшем будем называть полной матрицей инциденций.

Пусть токи ветвей в рассматриваемой схеме будут обозначены вектором-столбцом i порядка . Пусть столбцы матрицы и строки матрицы i принадлежат одной и той же ветви, тогда ЗТК применительно ко всем узлам может быть записан весьма компактно в виде одного матричного уравнения

. (3.1)

Набор уравнений, воспроизводимый этим уравнением, не является линейно независимым. Можно показать, что полный набор независимых ЗТК уравнений, полученный для всех узлов связной схемы, может быть выражен как

. (3.2)

Разобьем матрицу A следующим образом:

, (3.3)

где столбцы соответствуют ветвям выбранного дерева, а столбцы соответствуют хордам. Тогда .

Например, если дерево T в схеме на рис.3.1 состоит из ветвей bdf и матрица A получена из путем исключения строки, соответствующей узлу 4, то будем иметь:

(3.4)

и

.

Здесь и далее при разделении матриц на два блока, соответствующих дереву и дополнению дерева, первым всегда будем писать блок, соответствующий дереву. Нетрудно увидеть, что набор ветвей ace не является деревом, поэтому .

 

3.3 Топологические, компонентные и узловые уравнения схемы

 

Обозначим токи ветвей и напряжения на них соответственно вектор-столбцами i и u порядка M:

, .

Уравнение ЗТК, согласно (3.1), в данном случае может быть записано в виде:

. (3.11)

В скалярной форме матричное уравнение (3.1) записывается в виде системы n линейных уравнений, которые не являются линейно независимыми. Независимый набор уравнений ЗТК может быть выражен через редуцированную матрицу соединений:

, (3.12)

где 0 – нулевая матрица-столбец.

С помощью редуцированной матрицы соединений можно выполнять еще одно важное преобразование, называемое преобразованием узлов, устанавливающее связь между напряжениями на ветвях u и узловыми потенциалами v относительно выбранного опорного узла (обычно в качестве опрорного выбирают заземленный узел и нумеруют его цифрой 0 ):

. (3.13)

Уравнения (3.11) и (3.12) являются топологическими уравнениями схемы. Для полноты описания схемы необходимо определить параметры ветвей. Представим k-ю ветвь схемы обобщенной ветвью (рис.3.5), составленной из независимых источников напряжения и тока и линейного элемента .

Рисунок 3.6 – Обобщенная ветвь и ее граф

 

Векторы напряжений и токов в ней связаны следующими соотношениями:

, .

Каждый элемент ветви может быть:

· линейной комплексной проводимостью , тогда ;

· управляемым источником тока, тогда , где – управляющее напряжение l-й ветви, – коэффициент управления.

В общем случае характеристики элементов всех ветвей могут быть представлены матричным равенством, которое называется компонентным уравнением схемы:

, (3.14)

где – матрица проводимостей ветвей.

Теперь запишем токи и напряжения на клеммах обобщенных ветвей:

, (3.15)

, (3.16)

где E и I – матрицы-столбцы независимых источников напряжения и тока соответственно.

Поставляя (3.16) в (3.12), имеем:

.

Затем перепишем (3.15) в виде и подставим его в последнее равенство:

.

Теперь здесь используем равенство (3.13), что дает:

. (3.17)

Последнее равенство можно переписать в виде:

, (3.18)

где

(3.19)

называется матрицей проводимостей узлов, а

(3.20)

матрицей-столбцом (вектором) эквивалентных узловых источников тока.

Уравнение (3.18) называется узловым уравнением, а метод анализа электрических цепей, основанный на решении этого уравнения носит название метода узловых потенциалов. При необходимости из привязанных матриц Y и J можно получить плавающие матрицы проводимостей и токов, используя известное их свойство: сумма элементов в строке и столбце должна быть равна нулю.

Пример. Для схемы на рис.3.7,а найти матрицу проводимостей узлов Y и матрицу эквивалентных источников тока J.

а) б)

Рисунок 3.7

Решение. Рассматриваемой схеме соответствует направленный граф рис.3.7,б. В качестве опорного узла выберем узел 0 и составим редуцированную матрицу инциденций:

Запишем матрицу полных проводимостей ветвей и матрицы источников тока и напряжения:

; ; .

Найдем произведение

,

а теперь матрицу проводимостей узлов

.

Теперь найдем матрицу-столбец эквивалентных узловых источников тока, для чего вначале определим следующее произведение:

,

откуда

и окончательно:

.

 

3.4 Численные методы решения систем линейных уравнений

 

Узловые уравнения схемы (3.18) представляют собой системы линейных алгебраических уравнений типа

(3.21)

с комплексными коэффициентами и решаются на компьютере с использованием численных методов, которых в настоящее время разработано великое множество. Некоторые из них изучаются в курсе высшей математики. К ним относится метод, называемый правилом Крамера. Это правило гласит, что k-я компонента искомого вектора x равна дроби

, (3.22)

знаменателем которой служит определитель матрицы A, а числителем также определитель матрицы , полученной из A путем замены k-го ее столбца вектором b. Правило Крамера достаточно простое, однако алгоритм, построенный на его основе, оказывается очень неэффективным с вычислительной точки зрения, особенно для больших систем. Поэтому коротко рассмотрим, какие численные методы решения системы (3.21) сейчас существуют и какие их основные особенности.

Методы решения систем линейных алгебраических уравнений делятся на две большие группы: прямые методы и итерационные методы. В прямых (или точных) методах решение системы находится за конечное число арифметических действий. Отметим, что вследствие погрешностей округления при решении задач на ЭВМ прямые методы на самом деле не приводят к точному решению системы (3.21) и назвать их точными можно лишь, пренебрегая погрешностями округления. Сопоставление различных прямых методов проводится обычно по числу арифметических действий, необходимых для получения решения. При прочих равных условиях предпочтение отдается методу с наименьшим числом действий. Итерационные методы (методы последовательных приближений) состоят в том. Что решение системы (3.21) находится как предел при последовательных приближений , где n – номер итерации. Как правило, за конечное число итераций этот предел не достигается. Обычно задается некоторое малое число (точность) и вычисления проводятся до тех пор, пока не будет выполнятся условие:

. (3.23)

Число итераций , которое необходимо провести для получения заданной точности e (т.е. для выполнения оценки (3.23)) является тем критерием, по которому можно сравнивать эффективность различных итерационных процессов.

 

3.5 Метод исключения Гаусса

 

Одним из наиболее распространенных методов решения линейных уравнений является метод Гаусса и его модификации. Это один из лучших среди известных алгоритмов, который основывается на известном свойстве алгебраических уравнений, состоящем в том, что сложение одного уравнения с другим, умноженным на константу, не изменяет решения системы.

Рассмотрим систему (3.21) в развернутом виде:

,

, (3.24)

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

.

Будем полагать, что определитель матрицы A отличен от нуля, тогда рассматриваемая система для каждого вектора f будет иметь единственное решение. Основная идея метод Гаусса состоит в последовательном исключении неизвестных , , ... , из этой системы. Предположим, что все элементы матрицы A, стоящие на главной диагонали отличны от нуля. Поделив первое уравнение на , получим:

, (3.25)

где , , .

Умножим теперь левую и правую части равенства (3.25) на и после этого сложим его со вторым уравнением, затем вновь умножим (3.25), но уже на и сложим его с третьим уравнением и так далее, пока не произведем аналогичные действия со всеми уравнениями системы, в результате чего она приобретет следующий вид:

,

,

. . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . (3.26)

.

Здесь обозначено , , .

В системе (3.26) неизвестное содержится лишь в первом уравнении, поэтому в дальнейшем достаточно иметь дело лишь с укороченной системой из N-1 уравнений с N-1 неизвестными:

,

. . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . (3.27)

.

Тем самым мы осуществили первый шаг метода Гаусса.

Из полученной системы совершенно аналогичным образом можно исключить неизвестное , затем и так до . Преобразование матрицы системы уравнений на k-м шаге можно описать выражением:

, (3.28)

где матрица называется элементарной нижней треугольной матрицей и имеет вид:

. (3.29)

В результате выполнения всех шагов мы придем к системе уравнений следующего вида:

,

,

.. . . . . . . . . . . . . . . . . . . . . . . . . . . . (3.30)

,

. . . . . . . . . . . . . . . . .

.

Матрица этой системы

. (3.31)

содержит нули всюду ниже главной диагонали. Матрицы такого вида называют верхними треугольными матрицами. По аналогии с ними нижними треугольными матрицами называется такие матрицы, у которых равны нулю все элементы, расположенные выше главной диагонали.

Операции по преобразованию системы уравнений (3.24) в систему (3.31) составляют прямой ход метода Гаусса и их можно описать следующими рекуррентными формулами:

а) для коэффициентов при неизвестных:

; ;

; ; ; (3.32)

; ; ; (3.33)

б) для правых частей системы:

;

; ; (3.34)

; . (3.35)

Последовательность операций по нахождению неизвестных , , ... , из системы (3.31) образуют обратный ход метода Гаусса. Общие формулы обратного хода имеют вид:

, ; . (3.36)

Коэффициенты и правые части (; ) хранятся в памяти ЭВМ и используются при осуществлении обратного хода.

Подсчитано, что для реализации метода Гаусса необходимо выполнить действий умножения и деления. При этом основное время расчета затрачивается на осуществление прямого хода (), а на выполнение обратного хода тратится всего операций.

Основным ограничением метода Гаусса является предположение о том, что все элементы , на которые проводится деление, отличны от нуля. Число называется ведущим элементом на k-м шаге исключения. Даже если какой-то ведущий элемент не равен нулю, а просто близок к нему, в процессе вычисления может происходить сильное накопление погрешностей. Выход из этой ситуации состоит в том, что в качестве ведущего элемента на k-м шаге выбирается не , а коэффициент при другом неизвестном (т.е. на k-м шаге исключается не , а другое неизвестное , ). Такой алгоритм реализован в методе Гаусса с выбором главного элемента.

 

3.6 LU-факторизация матрицы

 

Идея преобразования матрицы системы уравнений к треугольному виду, используемая в методе Гаусса, нашла свое продолжение в так называемом методе LU-факторизации (LU-разложения). в котором матрица A коэффициентов исходной системы представляется произведением двух матриц L и U, первая из которых является нижней, а вторая верхней треугольной:

. (3.37)

Рассмотрим этот процесс подробно. Для этого запишем исходную систему (3.24) в следующем матричном виде:

; (3.38)

Операции по преобразованию системы уравнений при прямом ходе метода Гаусса можно описать в следующем матричном виде:

. (3.39)

Результатом прямого хода является преобразованная система уравнений:

, (3.40)

где

, , (3.41)

причем U есть верхняя треугольная матрица.

Действительно, уравнение (3.40) с учетом (3.41) можно переписать в виде:

. (3.42)

Умножим теперь левую и правую части полученного равенства слева на матрицу

, (3.43)

в результате чего будем иметь:

. (3.44)

Сравнивая теперь последнее равенство с уравнением (3.37) приходим к выводу о справедливости соотношения (3.37). В том, что матрица L является нижней треугольной, нетрудно удостовериться, выполняя перемножения в (3.43). Действительно, с помощью (3.41) легко проверить, что матрица будет иметь вид:

. (3.45)

Перемножая эти матрицы согласно (3.43), имеем:

.

Таким образом, мы убедились, что матрица L действительно является нижней треугольной матрицей, а ее элементы определяются по формулам (3.32)-(3.33) во время прямого хода Гаусса.

После выполнения LU-факторизации матрицы A уравнение (3.33) разбивается на два более простых:

(3.46)

Вначале решается первое из полученных уравнений относительно b, а затем второе относительно x. Так как оба уравнения имеют треугольные матрицы коэффициентов, то решения легко находятся путем обратных подстановок.

 

3.7 Итерационные методы решения систем линейных уравнений

 

При большом числе неизвестных линейной системы рассмотренные алгоритмы, дающие точные решения, становятся весьма сложными. В этих условиях для нахождения корней системы иногда удобнее пользоваться приближенными численными методами. Одним из таких методов является метод простой итерации.

Пусть некоторая система линейных уравнений общего вида

(3.56)

каким-либо образом приведена к форме

. (3.57)

где C – некоторая матрица,f – вектор-столбец.

Задаваясь исходными значениями неизвестных , строим итерационный процесс

, (),

или в развернутой форме

,

, (3.58)

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

.

Производя указанные операции, получим последовательность векторов , , . . . , , . . .

В математике доказано, что если элементы матрицы C удовлетворяют одному из условий

, () (3.59)

или

, (), (3.60)

то процесс итерации сходится к точному решению системы x при начальном векторе , т.е.

. (3.61)

Оценка погрешности приближенного решения дается одной из следующих формул:

или

.

Рассмотренная схемы вычислений носит название метода простой итерации. Модификацией последнего является метод Зейделя, который состоит в том, что при вычислении (k+1)-го приближения неизвестного при используется уже вычисленные ранее (k+1)-е приближения неизвестных , , . . . , . Таким образом, для системы (3.46) вычисления по методу Зейделя ведутся по формулам

,,

, (3.62)

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

.

Условия сходимости (3.49) и (3.50) остаются верными и для метода Зейделя. Обычно метод Зейделя дает лучшую сходимость, чем метод простой итерации, хотя это бывает не всегда. Кроме того, метод Зейделя может оказаться более удобным при программировании, так как после вычисления нет необходимости хранения , , . . . ,.

Итерационные методы имеют ряд преимуществ перед точными методами, к которым можно отнести следующие:

· если итерации сходятся достаточно быстро, т.е. если для решения системы требуется менее n итераций, то затраты времени оказываются меньшими, чем в методе Гаусса, поскольку число арифметических действий в одной итерации пропорционально , а общее число арифметических действий в методе Гаусса пропорционально ;

· они являются особенно выгодными при решении систем, у которых значительное число коэффициентов равно нулю, которые характерны при анализе больших электронных схем;

· погрешности округления здесь сказываются на результате вычисления значительно меньше, чем в методе Гаусса. Кроме того, итерационные методы являются самоисправляющимися, так как ошибочное приближение можно рассматривать как новый начальный вектор.

Последнее обстоятельство часто используется для уточнения значений неизвестных, полученных методом Гаусса.

 

3.8 Методы анализа больших схем

 

Одной из основных проблем АСхП является несоответствие размеров систем уравнений, описывающих большие схемы, с одной стороны, и быстродействия и объема памяти современных ЭВМ, с другой. В связи с прогрессом микроэлектроники появились большие интегральные схемы (БИС), содержащие тысячи транзисторов и описываемы соответственно тысячами уравнений. Расчет БИС такого размера на современных ЭВМ без использования специальных приемов решения практически невыполним. Поэтому разработчики САПР совместно с математиками интенсивно ищут пути снижения вычислительных затрат при расчете БИС. При этом наметились следующие два основных направления решения проблемы:

1) разработка специальных методов решения систем уравнений БИС, учитывающих ее структуру;

2) использование упрощенных моделей компонентов и устройств БИС для понижения порядка системы уравнений при допустимых потерях точности.

К основным способам моделирования, учитывающих структурные свойства схем, следует отнести методы разреженных матриц и методы многополюсных подсхем. В методах разреженных матриц при анализе сложных электронных схем используется то обстоятельство, что большая часть элементов матрицы A системы линейных уравнений

, (3.70)

имеют нулевые значения и поэтому эта матрица и называется разреженной. Суть этих методов заключается в организации хранения только ненулевых элементов и выполнения операций только с ними. Результатом их применения является увеличение предела сложности анализируемых схем и ускорение машинных расчетов.

Для метода многополюсных подсхем исходная моделируемая схема разбивается на ряд отдельных взаимодействующих между собой ее частей – подсхем. Применение этого метода позволяет свести исходную задачу высокой размерности к последовательному решению задач низкой размерности, соответствующих отдельным подсхемам. В результате уменьшения размерности систем уравнений существенно снижаются временные затраты, необходимые для моделирования сложных схем, а благодаря последовательному использованию одних и тех же массивов данных для различных подсхем значительно снижаются требования к оперативной памяти ЭВМ и возрастают возможности программ анализа.

Основу методов, используемых при втором подходе, составляет разработка макромоделей функциональных узлов, входящих в состав БИС. Следует напомнить, что макромодель – это упрощенная модель целого электронного узла или фрагмента схемы, связывающая его входные и выходные параметры. Принципиальным отличием макромоделей от подсхем является описание их в виде «черного ящика» на основе информации относительно их внешних клемм, полученной путем вычислений или измерений. Принципы макромоделирования также направлены снижение размерности исходной математической модели схемы, а результатом применения макромоделей является возможность машинного анализа сложных электронных схем и систем.

Кроме того, возможны упрощения математических моделей и на уровне компонентных уравнений путем использования кусочно-линейной аппроксимации характеристик отдельных компонентов. Сокращение вычислительных затрат в этом случае может быть достигнуто благодаря линеаризации полных моделей компонентов на интервалах моделирования.

Использование того или иного метода расчета большой схемы во многом определяется ее топологической структурой и компонентным составом. В связи с этим целесообразно ввести классификацию больших схем.

1. Структурно нерегулярные схемы. топологический граф которых нельзя разделить на идентичные части. К этим схемам относятся большинство БИС частного применения.

2. Структурно регулярные схемы. топологический граф которых состоит из идентичных частей. К этим схемам относятся большинство БИС цифрового типа (счетчики, регистры и т.п.).

3. Компонентно неоднородные схемы, содержащие компоненты арзных типов, например, биполярные и МДП-транзисторы.

4. Компонентно однородные схемы из активных компонентов одного типа. К этим схемам относятся, например, БИС на МДП-транзисторах

Рассмотрим подробно некоторые из методов расчета больших схем, которые нашли широкое применение для структурно нерегулярных и структурно регулярных структур.