Файл: Средства разработки клиентских программ (Разработка программного модуля).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 19.06.2023

Просмотров: 87

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
  • клиентские приложения в режиме сервер/терминал;
  • бедные и богатые Internet/Intranet-клиенты.
  • Основой рассматриваемых решений для клиентских приложений являются новые технологии Microsoft, реализованные в структуре Windows DNA (Distributed Internet Architecture). Поэтому знакомство с ними предлагается начать с краткого изложения особенностей этой структуры.

ГЛАВА 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)

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

Требуется найти вектор . Для решения поставленной задачи идеально подойдет явный метод Эйлера (20), который получается путем разложения решения уравнения в ряд Тейлора в пределах точки t [7]:

(22)

- подвектор значений напряжений в узлах, подключенных к конденсаторам;

- подвектор значений сил токов через катушки индуктивности;

- подвектор значений напряжений в узлах, не подключенных к конденсаторам.

Составленная макромодель (22) можно переписать в вид:

,

(23)

(24)

(25)

Исключив из макромодели подвектор получим:

(26)

Ввиду того, что матрица является диагональной, а друггеи подматрицы разрежены, то можно получить вторую макромодель [8]:

(27)

Учитывая, что – диагональные матрицы, запишем модель в виде системы дифференциальных уравнений, заданной в явной форме:

(28)

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

2.2 Метод Прима

На тему построения макромоделей электрических схем опубликовано огромное количество исследований, предоставляющие различные решения для устранения поставленной проблемы. На сегодняшний день исследования в этой области не проводятся, нет новых подходов к решению задачи сокращения количества элементов в схеме, поэтому необходимо детально изучить исследования прошлого века. Наиболее распространенным алгоритмом является PRIMA [1], который получает макромодели уменьшенного порядка для линейных пассивных электрических схем.


Авторы утверждают, что алгоритм блока Арнольди [10], лежащий в основе метода PRIMA, создает векторы, используемые для реализации преобразований в матрицах MNA (модифицированный узловой анализ, позволяющий упростить представление компонентов схемы в узловом анализе, а частности для первого закона Кирхгофа) [11]. Однако, у данного подхода имеется ограничение: преобразования полученных макромоделей для RLC-схем должны быть конгруэнтными. Этот метод гарантирует пассивность схемы RLC, обеспечивая при этом высокую степень точности.

В этом исследовании авторы сравнивают разработанный подход с методом MPVL (MatrixPadé через Lanczos) [12] и пришли к выводу, что алгоритмы скомпенсированы с точки зрения точности. Аналогично, и с методом, использующим в своей основе уравнения Ляпунова. Эти методы не могут гарантировать пассивность электрической схемы, что может отрицательно повлиять на анализ во временной и функциональной областях схемы.

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

2.3 Выбор среды синтеза электрической схемы

В данной главе будет описан выбор среды моделирования электрической схемы, необходимой для проведения упрощения электрической схемы. На данный момент существует огромный спектр различных по управлению и функционалу систем автоматизированного проектирования САПР. Наиболее известными считаются такие программы аналогового и цифрового моделирования, как Micro-CAP, NI Multisim и LTspice. Ниже представлены вид графического функционала перечисленных симуляторов моделирования работы цифровых и аналоговых электрических цепей (Рис. 7 – 9).

Рис. 7. Среда Micro-CAP

Рис. 8. Среда NI Multisim

Рис. 9. Среда LTSpice

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


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

Рис. 10. Вид файла, хранящего модель трансформатора

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

ГЛАВА 3 РАЗРАБОТКА ПРОГРАММНОГО МОДУЛЯ

В качестве среды для разработки программного модуля построения макромоделей электрической схемы выбран QtCreator. Это кроссплатформенная IDE (интегрированная среда разработки) со свободным программным обеспечение для разработки приложений с помощью таких языков программирования, как C/C++.

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

Разработанный программный модуль представлен на рисунке 11. Далее будет описаны его функциональные возможности. Для построения макромодели электрической схемы пользователю требуется загрузить в систему asc-файл. Сделать это можно нажав на кнопку «Открыть файл». После этого в поле «Выберите метод макромоделирования» необходимо указать, каким именно методом упрощения пользователь хотел бы воспользоваться.

Рис. 11. Окно программы «Модуль построения макромоделей электрических схем»

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