вводится в ЦВМ в виде :
DER3(x) = A*DER2(x) – B*DER1(x) + C*x.
Названные языки и принципы программирования АЦВК даны в книге: , «Программное обеспечение аналого–цифровых ВС.» – М.: Машиностроение, 1985. –184с.
2.3.5 Примеры составления схем аналого–
цифровых моделей.
Процесс разбиения общей сложной задачи на её цифровую и аналоговую части при программировании на АЦВК, выбор класса аналого–цифровых вычислений и способа организации чередования режимов ЦВМ, УПС и АВМ в инженерной практике упрощают и делают наглядным путем составления дополнительной структурной схемы программы, называемой схемой аналого–цифровой модели. В ней детализируется до уровня операционных блоков аналоговая часть и до уровня используемых АЦП, ЦАП, АМ и АДМ, аналоговой памяти (СВХ) – устройство преобразования и сопряжения, а ЦВМ не детализируется, так как цифровая часть достаточно хорошо описывается программой на входном алгоритмическом языке. На основании этой схемы и вычислительного алгоритма решения задачи подбирается подходящий класс аналого–цифровых вычислений, выполняются аналитические оценки степени повышения скорости решения на АЦВК по сравнению с ЦВМ.
Рассмотрим принципы составления схем аналого–цифровых моделей на примерах программирования следующих двух характерных сложных задач.
2.3.5.1. Повышение скорости параметрической оптимизации систем автоматического управления.
При синтезе САУ, например, следящих систем, требуется так подобрать их параметры {ai}, чтобы среднеквадратичное значение ошибки e = y(t) - x(t), где x(t) – входная переменная САУ, y(t) – выходная переменная САУ, достигало минимально возможного значения по критерию (целевой функции):

Поэтому в состав САПР САУ целесообразно включить итеративную аналого–цифровую модель параметрической оптимизации. Если САУ описывается дифференциальным уравнением:

при начальных условиях
то требуется определить оптимальные значения постоянных коэффициентов a1 и a2 при заданном входном сигнале x(t) путем минимизации целевой функции:

a1, a2 = ?
Эта сложная задача достаточно быстро решается на АЦВК итеративным методом. В каждом цикле итераций дифференциальное уравнение при a1=const и a2=const решается на АВМ, и на АВМ вычисляется одно значение целевой функции F(a1, a2) и передается в ЦВМ.
ЦВМ организует итерационный процесс, в ходе итераций по последовательности значений F(a1, a2) на основе алгоритма оптимизации, например методом скорейшего спуска, варьирует величины коэффициентов а1 и а2 и в начале каждого цикла итераций передает новые их значения в АВМ, по которым последняя образует новое значение F(a1, a2) и передает его в ЦВМ, и так далее циклы итерации продолжаются до тех пор, пока ЦВМ не отыщет координаты а1opt, a2opt экстремума неявно заданной функции F(a1, a2).
При программировании задачи на АЦВК полезно составить схему аналого–цифровой модели.
МЛ – аналоговая память (СВХ);
БУ – блок умножения.
Для организации итеративных аналого–цифровых вычислений необходимо составить таблицу чередования режимов работы АВМ, УПС и ЦВМ.
Цикл | к | к+1 | ||
Фаза | А (m тактов) | В (3 такта) | А | В |
АВМ | Однократное решение y(t) при a1=const, a2=const вычисл. значен. F(a1,a2) | Исходное положение, хранение F(a1,a2) приём новых а1, а2 | – /// – | – /// – |
УПС | Передача в АВМ x(t)={x(ti)}1m поординатно | Передача в АВМ а1 и а2, в ЦВМ F(a1,a2) | – /// – | – /// – |
ЦВМ | Шаг итеративной оптимизации по F(a1,a2)®min, вычисл. новых а1 и а2 псевдопаралл. с программой управления передачей мультипрогр. | прерывание | – /// – | – /// – |
В фазе А АДМ фиксируется в третьем положении и через него из ОП ЦВМ с постоянным шагом во времени передаются в АВМ величины ординат x(ti), i=1..m известной функции правой части x(t). В фазе В в аналоговые памяти заносятся величины новых коэффициентов а1 и а2, вычисленные в предыдущей фазе А в ЦВМ. Очевидно, что данная задача относится к 3-му классу аналого–цифровых вычислений.
После составления приведенных выше схемы и таблицы принимается решение о разделении задачи на 2 части : аналоговую и цифровую и о составе прикладных программ ЦВМ, которые в данном случае должны состоять из :
· Программы пошаговой итеративной оптимизации по критерию F(a1,a2)®min : а1, а2 = ?;
· Программы управления режимами работы УПС и АВМ в соответствии с таблицей их чередования.
Значительное повышение скорости решения данной задачи на АЦВК по сравнению с решением только на ЦВМ очевидно, так как в АЦВК цифровая часть полностью освобождается от вычислительно сложного решения дифференциального уравнения и от интегрирования в целевой функции.
2.3.5.2 Повышение скорости решения
интегральных уравнений.
Интегральные уравнения часто используются в САПР для математического описания моделей сложных динамических систем, а также для упрощения решения задач в частных производных, большинство из которых могут быть преобразованы к интегральным уравнениям.
Рассмотрим методику ускоренного их решения на АЦВК на примере уравнения Фредгольма :

где l, а, b – известные коэффициенты;
K(x, t) – известная функция одной переменной, называемая функцией первого приближения.
На АЦВК этоуравнение решается приближенно итерационным параллельно–последовательным методом:
(1)
где к=0…m; i=0…n; m=const; n=var; n – число итераций; m – число шагов квантования интервала [a, b].
Дискретные значения xk вычисляются по формуле:
(2)
Условие сходимости итерационного вычислительного процесса:
(3)
где i – номер итерации;
e – мера точности решения задачи.
Каждая i–я итерация выполняется за m шагов. Общее число шагов n во всех n итерациях до выполнения неравенства (3) равно Nш = mn. В каждом к-ом шаге итерации по формуле (1) вычисляется одна к-я ордината функции следующего приближения уi+1(xk) по одной ординате f(xk) функции первого приближения и следующим двум функциям одной переменной:
1) yi(t) – функция предыдущего i-го приближения как совокупность m ординат {yi(xk)}, найденных за m шагов в предыдущей i-й итерации;
2) K(xk, t) – к-я функция семейства m функций одной переменной, приближенно аппроксимирующего функции двух переменных ядра K(x, t).
Требуется выполнить достаточно большое число шагов вычислений по (1). Например, при допустимой погрешности решения dn=e/ymax»1% требуются m=100 и n»20, т. е. Nш=2000 шагов вычислений по выражению (1).
При решении задачи на АЦВК разумно принять следующее разделение задачи на аналоговую и цифровую части:
1) Выражение (1) обрабатывается в АВМ: умножение K(xk, t)yi(t), интегрирование и сложение в каждом к-м шаге;
2) Вычисления по (2) и (3), программа алгоритма итераций реализуются в ЦВМ.
Так как в АВМ всегда имеется избыток однотипных операционных блоков, это можно использовать для дополнительного повышения скорости решения задачи на АЦВК на основе организации параллельно–последовательной обработки в АВМ. В одном цикле работы АЦВК в АВМ можно организовать вычисление не одного шага вида (1), а параллельно и одновременно нескольких S шагов вида (1): S<m. В АВМ создается S параллельных однотипных моделей выражения (1) для нескольких к-х шагов: к=jS…(j+1)S, j=0…l-1, где l=m/S – число параллельно–последовательных шагов работы АВМ. Максимальное число S параллельных ветвей определяется количеством наличных блоков умножения, которое в АВМ обычно меньше, чем количество интеграторов и сумматоров. Таким образом число шагов итеративного процесса вычислений в АЦВК уменьшится в S раз:

Оценим возможный выигрыш в скорости решения на АЦВК по сравнению с решением задачи только на ЦВМ.
В ЦВМ для вычислений по выражению (1) необходимо выполнить m умножений под интегралом двух квантованных с шагом Dt ординат функций одной переменной, m сложений для вычисления интеграла методом прямоугольников, умножение на l и сложение с f(xk), т. е. в каждом к-м из Nш=mn шагов – (m+1)(Ny+Nl) тактов, где Ny, Nl – число тактов работы АЛУ для умножения и сложения соответственно.
В каждой i-й итерации требуется m сложений по формуле (2) и m сложений, m операций нахождения модуля и m сравнений по формуле (3). На весь итеративный процесс в ЦВМ требуется следующее число тактов: NЦВМ»mn(m+1)(Ny+Nl)+4mnNc»mn[(m+1)(Ny+Nl)+4Nl]»2000[101*12+8]» 2.44*106 тактов, где Ny=10, Nl=2.
В АЦВК один параллельно–последовательный шаг из Nl=20mn/S шагов выполняются в УПС и АВМ примерно за (m(S+1)+2S) эквивалентных ЦВМ тактов с учетом АДМ и АМ, а в каждой i-й итерации, как и выше, за 4Nlm выполняются вычисления в ЦВМ по формулам (2), (3). Причем основные потери времени m(S+1) тактов обусловлены последовательным чтением ОЗУ ЦВМ в режиме прямого доступа. Поэтому число эквивалентных тактов итераций в АЦВК:

Тогда выигрыш по скорости решения интегрального уравнения

|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 |


