К достоинствам методов определения схемных функций на ЭВМ можно отнести: получение конечного результата анализа в аналитическом виде; возможность быстрого дальнейшего расчета значений схемных функций на заданных частотах; удобство при решении задачи оптимизации и определения устойчивости схемы.
К недостаткам при решении задачи на ЭВМ можно отнести: огромный порядок (до нескольких десятков) полиномов схемных функций, диапазон изменения коэффициентов полиномов может превышать возможности представления чисел в разрядной сетке ЭВМ, что требует проведения соответствующей нормировки и счета с удвоенной точностью. Это объясняется влиянием всех элементов схемы во всем частотном диапазоне.
Вывод: используя метод оределения схемных функций, можно достичь в приемлемое время результатов для схем небольших размерностей.
Наряду с методами символьного анализа существуют методы численных решений или расчета тех же схемных функций по точкам. Целью анализа в том случае является получение набора численных значений схемных функций на заданных частотах путем многократного решения системы линейных алгебраических уравнений с комплексными коэффициентами. В процессе расчета необходимо учитывать разреженность матрицы и оптимальный порядок исключения переменных. Алгоритмы численных методов расчета схемных функций, как правило, легче реализуются на ЭВМ и требуют меньших объемов машинной памяти и используются при этом для расчета достаточно больших схем , имея при этом удовлетворительную погрешность и приемлемое время.
Численный метод.
Идея: Выбирается диапазон частот, для каждого значения частоты решают комплексное уравнение.
[Cjw1+G]X=Y
........................
[Cjwn+G]X
x1
X=
xn
ReXl +jImXl Bejg
Xl/Xs= ¾¾¾¾¾¾¾¾ = ¾¾¾
ReXs+jImXs AejY
Xl/Xs-отношение вх. к вых. Или наоборот.
(B/A)-ФЧХ.
(g-Y)-ФЧХ.
Достоинства и недостатки метода:
1. Можно работать с переменным шагом частоты. Чем сильнее меняются характеристики, тем меньше шаг, это может привести к огромному количеству шагов.
2. Трудоемкость линейно зависит от количества шагов.
Линейно-аналитический метод.
Идея метода: Определить выходные характеристики в аналитическом виде (т. е. как функция от р, где р - буква). Далее вместо р подставляют конкретное значение частоты и получают иско-мые характеристики.
А х =Y ; [A1 ... An ] х = Y
det[A1,...Ai-1,Y,Ai+1,...An]
xi=¾¾¾¾¾¾¾¾¾¾¾
detA
Будем считать, что в схеме имеется единственный источник входных сигналов.
[ Cp + G ] x = Y - исходная модель
det[Cp+G]/ab
¾¾¾¾¾¾ 0
det[Cp+G] 0
xl/xk= ¾¾¾¾¾¾¾¾¾ =...............= A1...Ai-1 0 Ai+1...An
0
det[Cp+G]/dg 0
¾¾¾¾¾¾
det[Cp+G]
det[Cp+G]/ab anpn+...+a1p+a0 an(p-z1)*...*(p-zn)
detA1=*[A2].....= ¾¾¾¾¾¾ = ¾¾¾¾¾¾¾ = ¾¾¾¾¾¾¾¾¾ =
det[Cp+G]/dg bmpm+...b1p+b0 bm(p-p1)*...*(p-pm)
где А1 - большая матрица, в которой вычитаем строку и столбец,
А2 - алгебраическое дополнение, оставшееся после вычитания строки и столбца,
a,b,d,g - говорят о номерах вычеркнутых строк и столбцов, многочлен имеет ровно столько корней, какова его степень. корни могут быть вещественными и/или комплексно сопряженны-ми.
{an/bm - константы = к,
z1 ,... ,zn - нули,
р1 ,... ,рm - полюсы,
к уровень системной функции (к=an/bn) }
Az1ejjz1*...*Aznejjzn
= ¾¾¾¾¾¾¾¾¾ {аналитическое выражение для вычисления частотных хар-к}
Bp1ejYp1*...*BpmejYpm
P÷ Zi ÷
F= k* ¾¾¾¾¾¾ - формула вычисления частотных характеристик
P ÷ pi ÷
Достоинства и недостатки:
- Нули и полюсы заранее известны по виду функции (больше полезной информации).
- Точное решение многочлена высокой степени (>4) не может быть получено, а вычисление значений многочлена степени >30 приведет к погрешности >50%.
- Нули и полюсы вычисляются как собственные значения матриц (числителя и знаменателя).
- Трудоемкость этой задачи 2 * n (n - порядок матрицы), и 4/3 * n - для вычислений в одной точке по частоте.
Вывод: применяется для задач малой размерности.
Информационное обеспечение и справочные данные.
В ПМК будут использоваться базы данных по элементам . В этих базах будут содержаться реальные характеристики R,L,C и т. д. элементов.Так как данный ПМК предназначен для решения реальных задач,то данные базы данных представляют собой ни что иное,а электронные справочники по различным типам элементов(при необходимости и их зарубежным аналогам).
Информация о каждом элементе должна быть максимально полной:включая не только основные электрические,тепловые ,маркировку и т.д. ,то есть характиристики,жизненно важные для расчетов,но и цвет,размеры,массу,материал из которого изготовлен и т.д.
Использование их как в составе ПМК,так и отдельно даст двойную эффективность.
Обмен данных между программами.
Поскольку данный ПМК будет представлять собой систему взаимодействия между:
1. Пользователя с программами.
2. Программ между собой.
3. Здесь не будет рассматриваться взвимодействие программ с ОС и ПЕРЕФЕРИЕЙ поскольку
данные функции реализуются,как правило,по средствам ОС.
то для безошибочной и удобной работы всей системы необходимо разработать систему интерфейсов.Так же необходимо учесть,что особенностью данного ПМК будет то,что для всех шагов,результаты работы предыдущето шага(программы) есть результаты для работы следую -щего(следующей программы).
Для решения проблемы взаимодействия между программами будем использовать так называ-
емый ИНТЕРФЕЙСНЫЙ ФАЙЛ.Поскольку ПМК ,в частности,ориентирован на конкрктный
объем вычислений,в нашем случае это ограничение на число узлов:n<=500,то практически воз-
можно осуществить расчет объема данных,используемых на том или ином шаге.Используя это
представим структуру файла в следующим образом:файл разбивается на так называемые СЕГ-
МЕНТЫ ДАННЫХ,каждый из которых будет содержать или входные или выходные данные.
Каждый СЕГМЕНТ будет иметь УНИКАЛЬНЫЕ КООРДИНАТЫ в соответствии с которыми
программа,которой требуются данные,безошибочно воспользуется ими зная координаты нача-
ла и конца сегмента.
С другой стороны появляется еще несколько дополнительных способов работы ПМК:
-это способ работы нескольких программ на одном шаге используя данные одного или нескольких ИНТЕРФЕЙСНЫХ ФАЙЛОВ,то есть возможно брать данные из одного,а
выдавать в другой файл.Почему несколько,потому что возможно привязав к стандартному
набору шагов несколько ИНТЕРФЕЙСНЫХ ФАЙЛОВ запускать в ПЛАНИРОВЩИКЕ нес-колько программ,реализующих данный шаг или одну программу с различными входными данными несколько раз.
-это способ работы согласно модификации только данных/результатов работы того или иного шага/шагов системы.В качестве модификатора данных предполагается использовать некотурую
программу,работающую с жестким учетом структуры данных данного ПМК.Иными словами возможно задаться вопросом:А что произойдет,если результаты работы данного шага или
нескольких шагов будут такими-то?
Кроме этих способов на базе интерфейсных файлов можно создать полный протокол работы
ПМК.Эта возможность поможет отладить работу ПМК и обнаружить ошибки,конечно только на уровне взаимодействия программ.
Теперь рассмотрим интерфейс взаимодействия с пользователем.Несомненно что самым удоб-ным интерфейсом явлается система окон и меню:
1. Панировщик.
2. Спиок подключенных программ.
3. Режимы работы.
4. Графика.
5. Результаты.
6. Справочная информация.
7. Помощь.
8. Выход.
· Пункт меню ПЛАНИРОВЩИК.
Содержит порядок выполнения пакетов(для системы это BAT-файлы),если текущий режим работы ПМК-пакетный и порядок выполнения шагов(каждый пакет система рассматривает как
последовательность шагов каждый,в свою очередь,выполняется с определенными параметрами,
например,итерфейс-файл для взатия данных и итерфейс-файл для выдачи результатов.
Если текущий режим работы-с использованием данных,то позволяет на определенном шаге или
шагах указать модификатор или модификаторы(если режим пакетный с использованим данных)
данных.
Так же данное меню позволяет воспользоваться загрузкой данных из файлов(формата ПМК)
то есть схем,моделей т.д. и возможности по изменению порядка пакетов,программ(шагов) в
составе пакета и т.д.
· Пункт меню СПИСОК ПРИКЛАДНЫХ ПРОГРАММ.
Каждый пункт данного меню содержит информацию о всех файлах подключенных к системе.
· Пункт меню РЕЖИМЫ РАБОТЫ.
Содержит всевозможные режимы работы ПМК.
-Обычный(1 интерфейс-файл,1 пакет стандартных шагов для реализации задачи).
-Пакетный(несколько интерфейсных файлов,несколько пакетов,в каждом пакете м.б. несколько программ для реализации данного шага или шагов )
-Модификация данных(1 интерфейсный файл,1 пакет стандартных шагов для реализации задачи,причем в качестве шага м.б. использована программа для модификации данных с
соответственным указанием этого системе)
-Модификация данных в пакетном режиме(несколько интерфейсных файлов,несколько паке- тов,причем в качестве шага или шагов м.б. использована программа или несколько программ для модификации данных с соответственным указанием этого системе)
Следует заметить,что согласно алгоритму работы того или иного режима некоторые пункты в различных меню могут недоступны.
· Пункт меню ГРАФИКА.
Позволяет задать драйвер графического режима,текущее разрешение,файл работы с графикой(в
ПМК предусмотрена работа с файлами графических форматов,а конкретнее,сохранять схемы и
результаты работы(в нашем случае это график или графики АЧХ,ФЧХ и т.д.) в фаил или файлы
графических форматов,а так же работать в текстовом режиме,отключив грвфический.Следует
отметить,что поддержка разрешения и прочих неотъемлимых атрибутов графического режима
осуществляется с помощью используемого драйвера и полностью зависит от него,кроме того
следует обратить особое внимание на согласование поддержки всего спектра рзрешений и дру-
гих атрибутов графического режима такими модулями ПМК как редактор схем и построитель
графиков.(возможно объединение модулей ПМК ответственных за реализацию математических методов и построения схем и графиков,но гибкость системы при этом значительно снижается).
· Пункт меню РЕЗУЛЬТАТЫ.
Данный пункт отвечает за вид выводимых результатов работы ПМК.ПМК имеет возможность
вывода результатов на принтер,плоттер,в файл и на экран ЭВМ.
· Пункт меню ПОМОЩЬ.
Указывает на текущий файл помощи,используемый ПМК и согласно структуре этого файла
и системе контекстной помощи могает легче найти ответ на тот или иной вопрос пользова-
теля.
· Пункт меню СПРАВОЧНАЯ ИНФОРМАЦИЯ.
Позволяет быстро получить всю информацию о текущем состоянии системы (режимах работы,
подключенных файлах и т.д.),кроме того позволяет осуществить необходимые привязки одних
файлов к другим(модуля(ей) ПМК к интерфейс-файлу(ам) и т.д.) и определить все стандартные
пакеты или пакет.
· Пункт меню ВЫХОД.
Позволяет осуществить выход из среды ПМК(только по окончании работы всех шагов системы ), дает возможность удобного выхода в OS ,по необходимости,оставляя основной модуль в ОЗУ и обратного возвращения в среду ПМК по определенной команде и т.д.
Структура ПО.
Данное ПО представляет собой разветвленную структуру.По стволу соответствующего дерева
производится взаимодействие с программами(модулями) реализующими тот или ной шаг сис-темы,в первом круге происходит взаимодействие между программами(модулями) и основной
интерфейсной программой,запускаемой на первом шаге работы ПМК,во втором,в свою оче-редь-взаимодействие между интерфейсной программой и пользователем.
Данную систему можно представить графически:
Используемые обозначения:
ШАГ1...ШАГN-стандартный шаг системы.
М1...Мn-модули(программы) реализующие пот или иной шаг системы.
И1-интерефейс взаимодействия ’’модули«модули’’.
И2-интерефейс взаимодействия ’’основная интерфейсная программа«И1’’.
И3-интерефейс взаимодействия ’’пользователь«И2’’
И3
И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>
/Блок описания объектов:/
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.’С:\build\model1.exe’
<привязан к файлу модели>’C:\model\model1.mod’
<привязан к интерфейс файлам:>’C:\inter\face2.int’
<взять данные из файла>’C:\inter\face2.int’<номер раздела>’16’
<выдать результаты в файл>’C:\inter\face2.int’<номер раздела>’17’
...........................................................................
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 поддерживает многопроцессорную обработку,тоесть можно распараллелить вычисления
на нескольких процессорах, что даст огромный вклад в производительность системы.
Что касается технологии программирования,то из достаточно большого их числа:структурное
программирование,объектно-ориентированоое,смешанное и т.д. более эффективным будет вы-
бор смешанного,поскольку та или иная технология позволяет упростить программирование только в каких-то определенных рамках.Таким образом,используя смешанную технологию
мож но будет получить максимальный эффект от написания программы.
Страницы: 1, 2