Реферат: Разработка программно-методического комплекса для анализа линейных эквивалентных схем в частотной области для числа узлов <=500
И2
ШАГ1 ШАГN
И1
М1 .... Мn M1 .... Мn
...........................
Система объектов.
С точки зрения основной интерфейсной прграммы каждая взаимодействующая с ней прог-
рамма(модуль) есть объект,реализующий тот или иной стандартный шаг системы и имею-
щий определенные свойства.Пронумерованный список стандартных шагов приводится в начале описания объектов,а затем,указав номер шага и имя объекта можно,привязав данный объект к одному или нескольким интерфейсным файлам,имя или имена которых описываются после описания набора стандартных шагов,можно осуществить привязки каждой из программ, взаимодействующих с системой (модулей) непосредственно к системе.Следующий пример по-кажет как осуществить вышеописанное для нашей задачи:
/Список Стандартных Шагов Системы:/
<0. Редакторы схем.>
<1. Построители моделей.>
<2. Математические методы.>
<3.Построение частотных характеристик. >
<4. Вывод результатов.>
/Список интерфейсных файлов:/
<C:\inter\face1.int>
<C:\inter\face2.int>
<C:\inter\face3.int>
/Блок описания объектов:/
<0. Редакторы схем.>
1.’C:\edit\map.exe’
<привязан к файлу схемы>’C:\edit\map.map’
<привязан к интерфейс файлам:>’С:\inter\face1.int’,’C:\inter\face2.int’
<взять данные из файла>’C:\inter\face1.int’<номер раздела>’15’
<выдать результаты в файл>’C:\inter\face2.int’<номер раздела>’16’
2.
.........................................................................
.........................................................................
.........................................................................
<1. Построители моделей.>
1.’С:\build\model1.exe’
<привязан к файлу модели>’C:\model\model1.mod’
<привязан к интерфейс файлам:>’C:\inter\face2.int’
<взять данные из файла>’C:\inter\face2.int’<номер раздела>’16’
<выдать результаты в файл>’C:\inter\face2.int’<номер раздела>’17’
2.
...........................................................................
...........................................................................
...........................................................................
<2. Математические методы.>
1.’С:\method\okb1.met’
<привязан к интерфейс файлам:>’C:\inter\face2.int’,’С:\inter\face1.int’
<взять данные из файла>’C:\inter\face2.int’<номер раздела>’17’
<выдать результаты в файл>’C:\inter\face1.int’<номер раздела>’18’
...........................................................................
...........................................................................
...........................................................................
и т.д.
Возможность описания нескольких файлов в одном разделе появляется появляется только в
пакетном режиме.Данная структура является очень гибкой,но может быть немного громозд-
коватой и сложноватой.В заключении следует ометить,что за гибкость приходится платить:
возростает трудоемкость отслеживания ошибок.
Структура данных.
При явном наличии в качестве результатов большого количества чисел,данные можно пред-
ставить ввиде отсортированных в порядке последующего взятия и перечисленных через запя-
тую или другой разделитель чисел,которые являются результатами работы того или иного ша-га.В связи с этим необходим строгий учет согласования форматов данных для взаимодействую-щих между собой модулей.
Что касается электронных справочников(таблиц),то выбор данных из них производит програм-ма,которой они необходимы,и ей необходимо абсолютно точно знать координаты необходи-мых ячеек.
Вообще,некорректную работу на уровне обмена данных предотвратят заранее определенные для всех взаимодействующих программ правила их использования.
Выбор и обоснование математического обес- печения.
На этом шаге приступим к расчету трудоемкости вышеописанных методов.Под трудоемкостью математического метода будем иметь ввиду количество мультипликативных операций необхо-димых для получения решения с помощью данного метода.
Оценка трудоемкости при использовании численного метода.
Где N-число точек по частоте,
CN-система уровнений,соответ-
ствующая N-й точке.
CN имеет вид:
_ _
[Cjw+G]X =Y
w1«С1 wN «СN
Оценим трудоемкость с учетом того,что число узлов n<=500:
n2=5002- на выполнение операций умножения.
1/3*n3=1/3*5003- для плотной системы.
4/3*n3=4/3*5003- для комплексного случая.
3/2*n2=3/2*5002- для определения вектора решения.
4*3/2*n2=4*3/2*5002- для определения вектора решения при комплексном
случае.
Подведем итог:
Тобщ.@42млн.230тыс. операций.
Тобщ.компл.@167млн.750тыс. операций.
Оценка трудоемкости при использовании
численно-аналитичнского метода.
Здесь задача разбивается на 2 этапа:
1. Имеем дробь вида:
(p-z1)*...*(p-zn)
K* ¾¾¾¾¾¾¾
(p-p1)*...*(p-pm)
В первую очередь необходимо вычислить следующие коэффиециенты:
K;z1...zn;p1..pm.
2. Задав точки по частоте и приняв p=jw вычисляют трудоемкомть вычисления дроби.
Т1=k*n4- трудоемкость вычисления числителя.
T2=k*n4- трудоемкость вычисления знаменателя.
Тобщ.=2*k*n4
Подведем итог:
Тобщ.@1250*k*108 операций.
Вывод:
2-й метод прост,но требует громадной трйдоемкости по сравнению с первым.В связи с этим,
более эффективным решением будет выбрать первый.Кроме того,при использовании разрежен-ных матриц и соостветственно,специальных алгоритмов для их обработки,трудоемкость значи-
тельно снизится.
Еще следует обратить особое внимание на область частот в которой работает исследуемая схе-ма,т.к. при очень высоком порядке частоты,значения сопротивления резистивных элементов, например,не будут играть вообще ни какой роли на фоне остальных.
Технические и инструментальные средства и технология программирования.
Что касается технических средств(’железа’) для будущей работы данного ПМК,то очень полез-
ным делом было бы упомянуть о следующем:каждая команда выполняется процессором за нес-
колько машинных циклов(цикл-это интервал времени за который происходит обращение про-
цессора к оперативной памяти или внешнему устройству и т.д.),каждый цикл,в свою очередь,
состоит из машинных тактов,когда такт-минимальный промежуток времени за который в про-
цессоре происходит какое-либо изменение.Кроме этого следунт напомнить о том,что основны-ми гарантами высокой скорости работы являются скорости выполнения мультипликативных
операций(вычисления и т.п.) и операций ввода-вывода(работа с данными и т.д.).
С учетом всего этого можно сделать вывод о том,что чем меньше процессор затрачивает вре-
мени на выполнение такта при реализации мультипликативных операций и операций ввода-
вывода,тем больше он нам подходит.
Кроме этого,если предполагается использование высококачественной,цветной графики,то необходимо позаботиться о хорошей SVGA-карте и мониторе(диагональ (>=17’’) и размер зерна (<=0.27’’)),что касается выбора типа системной шины,то несомнено вабор падет на
PCI,в качестве устройств вывода информации можно использовать принтер(в данный мо-
мент существуют струйные принтеры,имеющие очень высокое качество печати и недоро-
гие) или графопостроитель.
Вышеперечисленные характиристики в своем подавляющем большинстве были рассмот-
рены непосредственно по отношению к платформе PC,не исключено,а скорее даже наобо-
ро,что при анализе других платформ на процессорах MAC,ALPHA,SPARK и т.д. реализация
данной задачи окажется во много раэ эффективнее.
Что касается операционных систем,опять же применительно к платформе PC, то для э того прекрасно подойдет ОС Windows(95/NT),т.к. существует достаточное количество прекрасных
средств для разработки приложений под эти ОС-ы таких как:DELPHI,DELPHI2,C++BUILDER,
VISUAL C++ и т.д.ОС-ы семейства Windows(кроме 3.х) представляют собой полноценные мно-
гозадачные ОС-ы,так например,при вычислении точек по частоте можно,пользуясь этими спо-
собностями,имея n точек по частоте и разбив этот промежуток на m интервалов можно запус-
тить m процессов на параллельную обработку,а затем опять тоже самое, но внутри каждого ин-
тервала и уже с коррекцией шага в зависимости от изменения значения характиристики в конк-
ретной точке со значением частоты.Кроме этого можно воспользоваться тем,что ОС Windows
NT поддерживает многопроцессорную обработку,тоесть можно распараллелить вычисления
на нескольких процессорах, что даст огромный вклад в производительность системы.
Что касается технологии программирования,то из достаточно большого их числа:структурное
программирование,объектно-ориентированоое,смешанное и т.д. более эффективным будет вы-
бор смешанного,поскольку та или иная технология позволяет упростить программирование только в каких-то определенных рамках.Таким образом,используя смешанную технологию
мож но будет получить максимальный эффект от написания программы.