Файл: Средства создания программ, выполняемых на стороне сервера (Обзор методов составления математического представления схем).pdf
Добавлен: 26.05.2023
Просмотров: 54
Скачиваний: 3
СОДЕРЖАНИЕ
ГЛАВА 1 ОСНОВЫ ПРОЕКТИРОВАНИЯ ПРОГРАММ
1.1 Постановка задачи и определение компонентной базы
1.2 Обзор методов составления математического представления схем
ГЛАВА 2 АНАЛИЗ ЭТАПОВ ПРОЕКТИРОВАНИЯ ПРОГРАММ
2.1 Обзор существующих подходов проектирования программ
2.2 Выбор среды проектирования программ
1.2 Обзор методов составления математического представления схем
В этой главе рассматриваются методы и подходы, которые будут использоваться для решения задачи составления математического представления электрической схемы, другими словами, создание системы уравнений, описывающих функциональные зависимости между силой тока в ветви схемы и напряжением в узлах. После этого к составленной системе будут применяться методы ее упрощения, что позволит сократить количество пассивных элементов для решения главной задачи данной работы – построения макромодели.
Существует два основных подхода к решению задачи нахождения функциональных величин электрической схемы, таких как напряжение в узлах и силы тока в ветвях, аналитический, основанный на составлении уравнений по законам Кирхгофа, и программный, основанный на компьютерном расчете искомых величин в синтезируемой схеме.
Одним из основополагающих подходов нахождения значений токов в ветвях электрической цепи и значений напряжений в функциональных узлах является метод, основанный на первом и втором законах Кирхгофа. Этот метод считается наиболее простым и универсальным, так как может быть применен к любой электрической схеме.
Первый закон Кирхгофа гласит, алгебраическая сумма токов, вытекающих из функционального узла, равна сумме токов, втекающих в него. Данный закон берет свое начало из закона сохранения электрического заряда. В электротехнике принято указывать втекающие токи со знаком « + », а вытекающие – со знаком « – ».
Согласно второму закону Кирхгофа, алгебраическая сумма ЭДС (электродвижущая сила) источников равна сумме перепадов напряжения на каждом отдельном участке контура (в частности, на резистивных элементах).
Рассмотрим построение системы уравнений, описывающих значения токов и напряжений в углах на примере электрического замкнутого контура, изображенного на рисунке 4.
Рис. 4. Схема электрического контура
Расчеты начинаются с установки направления тока на каждом резистивном элементе (выбирается в произвольном направление, выбор направления на количественный результат не влияет), выделение замкнутых контуров в схеме и определение направления их обхода. Количество уравнений характеризуется числом неизвестных в данной схеме, которое в свою очередь равно количеству ветвей в контуре. На основе первого закона Кирхгофа составляется N уравнений равное числу функциональных узлов минус один. Узлом называется точка, в которой сходятся не менее трех ветвей контура. Остальные уравнения записываются, основываясь на второй закон Кирхгофа. Контуры выбираются таким образом, чтобы каждый новый контур имел хотя бы одну отличную от других контуров ветвь.
Итак, для рассматриваемой схемы направления токов в каждом резисторе выбираются таким образом, как это отображено на рисунке 4. Для удобства также нумеруются, имеющиеся в схеме узлы, направление обхода контуров – по часовой стрелке. Анализируемая схема состоит из трех ветвей, значит, что в итоге система уравнений должна содержать столько же уравнений. Как было установлено ранее, по первому закону Кирхгофа составляется N уравнений. В рамках заданной схемы всего два узла, значит, что для них нужно лишь одно уравнение. Для узла 1 уравнение входящих и исходящих токов будет выглядеть следующим образом:
(8) |
Оставшиеся уравнения составляются на основе второго закона Кирхгофа. В качестве первого контура выберем внешний контура, а в роли второго - внутренний левый. Полученные уравнения представлены ниже (для первого контура – (9), для второго – (10)):
(9) (10) |
В итоге применения законов Кирхгофа имеется система из трех уравнений, решив которую можно будет определить значения силы тока в каждой из ветвей электрического контура.
Стоит отметить, что рассмотренная схема, помимо активных элементов (источников напряжения), содержала только резистивные элементы. Однако, далеко не все схемы состоят лишь из резисторов, кроме них в схемах встречаются катушки индуктивности и конденсаторы. В связи с этим расчет силы тока в ветвях контура усложняется, и из системы линейных уравнений превращается в систему интегро-дифференциальных уравнений. Рассмотрим поведение катушки индуктивности и конденсатора в цепи переменного тока.
В катушке индуктивности при прохождении через нее переменного тока образуется магнитное поле, которое противодействует силам его породившим. Возникающее ЭДС, согласно закону Ленца [2], имеет такое направление, чтобы своим магнитным полем сохранить нынешнее значение силы тока. Уравнение, описывающее связь скорости изменения силы тока в катушке индуктивности и напряжения на ее концах в момент времени t представлено ниже.
(11) |
При протекании переменного тока через пластины конденсатора, он проходит повторяющиеся во времени фазы «заряд» – «разряд». В течение этих этапов напряжение и сила тока меняются по синусоидальному закону, различаясь лишь на сдвиг по фазе . Для описания взаимосвязи силы тока и напряжения на пластинах конденсатора легко вывести уравнение, исходя из определения понятия силы тока. Сила тока – это физическая величина, численно равная отношению электрического заряда, прошедшего через поперечное сечение проводника, ко времени, другими словами, это производная заряда по времени. В свою очередь заряд на пластинах конденсатора находится, как произведение электроемкости и напряжения. Ниже представлено итоговое уравнения для нахождения силы тока, проходящий через конденсатор в момент времени t.
(12) |
Ввиду универсальности законов Кирхгофа, их можно применять, не только к резистивным схемам, но и к тем, что содержат пассивные элементы с реактивным сопротивлением, например, конденсаторам и катушкам индуктивности, используя формулы (11) и (12). В случае сравнительно некрупной схемы, итоговая система уравнений будет содержать небольшое количество равенств, вычисление которых не занимает много машинной памяти и времени для вычисления. Однако, для электрических схем, содержащих много элементов, расчет может занять несколько часов или дней. Отсюда и возникает острая необходимость в упрощении таких систем.
Еще более простым способом нахождения силы тока и напряжения в ветвях и узлах схемы является программный синтез электрической схемы и последующее моделирование ее работы.
Сперва происходит синтез рассматриваемой электрической схемы в одной из многочисленных систем автоматизированного проектирования цифровых и аналоговых устройств. Более подробно разновидности таких САПР будут рассмотрены в главе 4. После создания схемы, указания номиналов всех составных элементов, задается режим моделирования для активных элементов схемы. Задание режима происходит в директивах моделирования, так например:
- .AC - частотный анализ схемы;
- .DC - моделирование по постоянному току;
- .TRAN - вычисление переходных процессов;
- .OPTIONS - задание параметров моделирования и др.
Аналогично прошлому методу, данный подход имеет огромный недостаток в том, что моделирование схемы, содержащей много узлов и ветвей, займет много процессорной памяти и времени, что неприемлемо в рамках реализации реальной задачи.
Таким образом, каким бы методом ни была сгенерирована электрическая схема и система уравнений, описывающая ее функциональное поведение, существует необходимость в упрощении схемы. В следующей главе будут рассмотрены методы, решающие данную проблему.
ГЛАВА 2 АНАЛИЗ ЭТАПОВ ПРОЕКТИРОВАНИЯ ПРОГРАММ
2.1 Обзор существующих подходов проектирования программ
В этой главе рассматриваются методы и подходы, которые будут использоваться для решения задачи сокращения порядка RLC-схем (электрическая схема, преимущественно состоящая из таких элементов, как резистор, катушка индуктивности и конденсатор), другими словами, уменьшения количества пассивных элементов, входящих в состав электрической цепи. В рамках данной работы довольно сложно разработать принципиально новый и инновационный алгоритм для решения установленной задачи. Поэтому будет произведено исследование и тщательный анализ существующих на сегодняшний день методов, по результатам которого наиболее продуктивные и результативные будут применены в итоговом программном модуле.
Для решения системы дифференциальных уравнений существует множество численных методов, но наиболее простым из них считается метод Эйлера. В предыдущей главе были рассмотрены два подхода к задаче составления математического представления рассматриваемой электрической схемы. В первом методе, основанном на законах Кирхгофа, составляется система обыкновенных дифференциальных уравнений, во втором же, на основе имеющегося описания элементов схемы, составляется матрица вида n x n, где n– число узлов схемы и все дальнейшие преобразования идут над ней. Для каждого из этих типов подходов рассмотрим свои преобразования методом Леонардо Эйлера.
Метод Эйлера основывается на приближенном вычислении решения дифференциального уравнения путем аппроксимации кусочно-линейной функции (ломаной Эйлера) к дифференциальной кривой [5]. Для наглядности рассмотрим небольшой пример, в котором требуется найти частное решение дифференциального уравнения первого порядка вида: , начальное условие . Найдем решение этой задачи двумя способами, применяя обычные стандартные методы дифференциального исчисления и методом Эйлера. Начнем с нахождения частного решения уравнения путем использования метода разделения переменных.
Сперва необходимо записать заданное уравнение в вид:
(13) |
Затем требуется выполнить разделение переменных по разным частям равенства, в результате получится:
(14) |
Нетрудно вычислить дифференциалы каждой из частей полученного уравнения:
(15) |
Применив к правой части уравнения операцию вычитания натуральных логарифмов , получится:
(16) |
Поставив начальное условие y(1) = 4 в уравнение (16), можно найти частное решение заданного дифференциального уравнения:
(17) |
Перейдем к нахождению решения заданного уравнения методом Эйлера [6] на отрезке [1, 4] с шагом h = 0.5. Шаг разделяет промежуток на шесть отрезков, ограничивающиеся точками A0, A1, ..., A6. Значение в первой точке А0 задано начальным условием. Остальные значения будет рассчитаны по рекуррентной формуле на основе предыдущего значения. Рекуррентная формула выглядит следующим образом:
(18) |
Для начала необходимо представить исходное уравнение в виде y’ = f(x, y). Получится, что . Далее производится расчет координат точек по рекуррентной формуле, так для точки А1 значение координаты х1 будет равно 1.5, так как шаг равен 0.5, а значение координаты у будет равно у1 = 4 + 0.5 * (-4/1) = 2. Аналогично, будут рассчитаны остальные точки. Ниже представлен график, построенный в системе WolframAlpha, отображающий решения исходного уравнения двумя способами (синий график – решение метод Эйлера, фиолетовый – решение стандартными подходами).
Рис. 5. Графики, отражающее решение уравнения двумя методами (синий - метод Эйлера с шагом 0.5, фиолетовый - стандартный метод)
Нетрудно заметить, что точность метода Эйлера довольно низкая. Это вызвано тем, что выбран довольно крупный шаг, на рисунке 6 видно, что, изменив шаг со значения 0.5 до 0.1 точность вычисления резко возрастает. Однако, это не единственный способ повышения уровня точности расчетов. Существует еще усовершенствованный метод Эйлера, отличающийся от стандартного способа лишь рекуррентной формулой для расчета следующей точки графика.
(19) |
Рис. 6. Графики, отражающее решение уравнения двумя методами (синий - метод Эйлера с шагом 0.1, фиолетовый - стандартный метод)
Составление системы уравнений для нахождения силы тока в ветвях электрической схемы довольно трудоемкий процесс. К этой задаче можно подойти с другой стороны, и рассматривать компонентный матрицы для описания емкостей, индуктивностей и сопротивлений размера n x n, где n– число узлов в схеме. Тогда система линейных дифференциальных уравнений в матричном виде будет записана таким образом:
(20) (21) |