Задача оптимального измерения с учетом резонансов: алгоритм программы и вычислительный эксперимент
Автор: Келлер Алевтина Викторовна, Захарова Елена Вячеславовна
Рубрика: Математическое моделирование
Статья в выпуске: 27 (286), 2012 года.
Бесплатный доступ
В статье описана программа, реализующая алгоритм численного метода решения задачи оптимального измерения с учетом резонансов - задачи восстановления динамически искаженного сигнала с учетом инерционности измерительного устройства и его механических резонансов, решаемой с использованием методов теории оптимального управления. Основной идеей алгоритма численного решения является представление компонент измерения тригонометрическими полиномами, которое позволяет свести задачу оптимального управления к задаче выпуклого программирования относительно неизвестных коэффициентов многочленов. Использование стандартных методов, например, градиентных, при решении задачи выпуклого программирования, в силу сложности функционала качества, приводит к неудовлетворительным результатам. Поэтому предлагается иной, более простой метод, который вместе с тем более трудоемок. В статье представлен ряд решений, позволяющих повысить скорость вычислений, блок-схема основной процедуры программы, написанной на языке С++. Для конкретной модели датчика приводятся результаты вычислительного эксперимента.
Задача оптимального измерения, оптимальное управление, системы леонтьевского типа, численное решение, алгоритм программы
Короткий адрес: https://sciup.org/147159152
IDR: 147159152 | УДК: 517.9
Текст научной статьи Задача оптимального измерения с учетом резонансов: алгоритм программы и вычислительный эксперимент
Динамические измерения приобретают все большее распространение в технике и научных исследованиях. Изменение требований к результатам измерений является следствием выдвигаемых требований к качеству испытаний и эффективности производства. Так, одной из наиболее значимых в теории динамических измерений является проблема восстановления измеряемого сигнала. Отметим, что эта задача математически некорректна, поэтому для ее решения А.Л. Шестаковым и его учениками были предложены технически обоснованные гипотезы [1 – 3], решения которых были ≪ воплощены в металл ≫ . Затем А.Л. Шестаковым и Г.А. Свиридюком впервые для решения задачи восстановления динамически искаженого сигнала было предложено использовать методы теории оптимального управления [4], а полученную задачу называть задачей оптимального измерения . Полученная математическая модель – модель Шестакова-Свиридюка – позволила начать численные исследования задачи оптимального измерения [5, 6].
Однако искажение измеряемого сигнала часто случается не только из-за механической инерционности ИУ, но и в следствие механических же резонансов. В реальной ситуации в ИУ встраиваются фильтры, которые ≪ вырезают ≫ резонирующие частоты измеряемого сигнала. Иногда эти фильтры тоже резонируют, но уже на другие частоты, поэтому устанавливают дополнительные фильтры, которые устраняют возникшие резонансные частоты и т.д. В [7] А.Л. Шестаковым и Г.А. Свиридюком предложена модель оптимального измерения, где измерительное устройство обладает не только механической инерцией, но и резонансами. Итак, рассмотрим модель Шестакова – Свиридюка с учетом резонансов.
Пусть № = {x G L2((0,t), Rn : x 6 L2((0,t), Rn)} - пространство состояний, U = {u G L2((0,t), Rn) : u(p+1) G L2((0,t), Rn)} - пространство измерений и Y = C[№] - пространство наблюдений при некотором фиксированном т G R .. Выделим в U замкнутое и выпуклое подмножество U∂ – множество допустимых измерений. Требуется найти оптимальное измерение v G Ud почти всюду на (0,т), удовлетворяющую системе леонтьевского типа
Lx = Mx + Du(1)
y = Nx(2)
при начальных условиях Шоуолтера – Сидорова
[(^L - M)-1 L]p+1 (x(0) - xo) = O, минимизирующую значение функционала
-
1 Tll 112 P+1 T
J(v) = min J(u) = min u ∈ U ∂ u ∈ U ∂
E / | s“ ( t ) - y 0,q' t ) dt + E /(F q u (q )W,u (q) ( t»dt
. q=0 0q=
Здесь x = ( x i , X 2 ,..., x n ) и X = ( X i ,X 2 ,...,X n ) — вектор-функции состояния и скорости изменения состояния измерительного устройства соответственно; u = ( u i , U 2 ,..., u n ) и У = (y 1 ,y 2 ,... ,y n ) — вектор-функции измерений и наблюдений измерительного устройства соответственно; y 0 ( t ) = ( У 01 ( t ) , У 02 ( t ) , • • • , y 0n ( t )) — наблюдение, полученное в ходе натурного эксперимента; n – число параметров состояний системы; L и M – квадратные матрицы порядка n, представляющие собой взаимовлияние скоростей состояния и состояния измерительного устройства соответственно, D и N – квадратные матрицы порядка n, характеризующие взаимовлияние параметров измерения и связь между состоянием системы и наблюдением соответственно, u : [0 ,T ] ^ R n , F q G L ( U ) — самосопряженные положительно определенные операторы, q = 0 , 1 , ..., p +1 , || • || и (• , •) — евклидовы норма и скалярное произведение в R n соответственено.
Заметим, что системы леонтьевского типа являются конечномерным частным случаем уравнений соболевского типа . Поэтому, при изучении их мы будем использовать идеи, методы и результаты общей теории [8], адаптированные к конечномерной ситуации. В общем случае det L = 0 , матрица M - ( L, р ) -регулярна, т.е. существует число a G C такое, что det( aL — M ) = 0 , существует число p G { 0 } U N равное нулю, если в точке С5О L-резольвента ( ^L — M ) -1 матрицы M имеет устранимую особую точку; и равное порядку полюса в точке С5О матриц-функции ( ^L — M ) -1 в противном случае.
Несколько слов о начальном условии Шоуолтера-Сидорова (3), рассматривается оно при некоторых X 0 G R n , где a G p L (M ) = { д G C : det (^L — M ) = 0 } , R ^ (M ) = ( aL — M ) -1 L - правая L -резольвента матрицы M . В случае det L = 0 оно совпадает с начальным условием Коши. Однако использование условия Шоуолтера – Сидорова при численных исследованиях прикладных задач, сводящихся к системам леонтьевского типа или использующих их, позволяет снять ограничения на размер матриц, входящих в состав системы [9, 10]. При использовании начального условия Коши необходимо согласование начальных данных, проверка которых вызывает значительные трудности и накладывает ограничения при численном решении как начальных задач, так и задач оптимального управления. Кроме того, по мнению ряда авторов [11, 12], задача Шоуолтера – Сидорова более естественна для уравнений соболевского типа, чем задача Коши, наконец, укажем еще полезное обобщение [13] задачи Шоуолтера – Сидорова.
Функционал качества состоит из двух слагаемых, его минимизация позволяет находить такое оптимальное измерение, при котором 1) достигается наименьшее расхождение как значения выходного сигнала к выходному сигналу модели датчика, так и их производных,
-
2) нивелируется воздействие резонанса. Таким образом, второе слагаемое играет роль резонансных фильтров.
Для проведения вычислительных экспериментов авторами предлагается использовать следующий вид функционала качества:
1 T „ в т
J ( u )= в £ / \ \ y ( q ) (t) - у <^) | | dt + (1 - в ) £ ( f . u^(t),u ( q\t)}dt, (5)
q=0 О q=0 0
где в E [0 , 1] и 1 — в — весовые коэффициенты двух целей функционала качества, вариация которых позволит оценить взаимосвязь точности измерений и нивелирования резонансов, 0 < p +1 . Возможность использования величины 0 показана в [14].
Статья, кроме введения, содержит две части и список литературы, который не претендует на полноту, а отражает лишь вкусы и пристрастия авторов. В первой части статьи описан алгоритм программы нахождения решения задачи оптимального измерения с учетом резонанса, а во второй – представлены результаты вычислительного эксперимента.
-
1. Алгоритм программы
Программа предназначена для нахождения решения задачи оптимального измерения с учетом резонансов, написана на языке C++ с использованием компилятора visual studio. Он является современным языком программирования, позволяющим удобно писать эффективные программы. Большинство известных компиляторов других языков значительно проигрывают в скорости выполнения программ известным компиляторам C++.
В основе программы лежат методы решения задач оптимального управления для систем леонтьевского типа с начальным условием Шоуолтера-Сидорова [9]. Прежде всего заметим, что по построению пространство U сепарабельно. Значит, существует последовательность {U1} конечномерных подпространств Ul С U монотонно исчерпывающих пространство U, м т.е. Ul С Ul+1 и U Ul плотно в U. Поэтому ulk = ulk(t) будем искать среди векторов вида
1=1
l
l
l
ul = col £ a ji sin jt, £ a j 2 sin jt, ..., £ a jn sin jt ,
j =0
j =0
j =0
где l E N , l > p . Для простоты алгоритм излагается в предположении о том, что существует точно одна частота ω , при которой измерительное устройство (ИУ) резонирует (заметим, что как алгоритм, так и программа позволяют рассматривать несколько частот). Пусть амплитуда резонанса ИУ равна A ω (амплитуда A ω снимается с реального ИУ, поэтому считаем A w E (0 , +^о)). Теперь построим одно из слагаемых функционала J из формулы (5)
( F o ul,ul ) = ( col I £ a ji sin jt + A w a wi sin wt,
\ j=0 j =w
£ a j2 sin jt + А ш a w2 sin wt, ..., £ a jn sin jt + A w a wn sin wt I , ul ) .
j =0 j =0 I
-
j = w j = w
Опишем логическую структуру программы. В ее состав входят следующие модули: – ввод данных;
– расчет решения;
– операции над матрицами.
Для представления чисел используется вещественный тип двойной точности (double). Для величин такого типа под порядок и мантиссу отвводится 11 и 52 разряда соответственно, длина мантиссы определяет точность числа, а длина порядка – его диапазон.
Ввод данных осуществляется из конфигурационного текстового файла, задающего параметры расчета и имена файлов, из которых загружаются необходимые массивы. В качестве входных являются следующие данные:
-
– индекс выбранной задачи управления, т.е. определяется вид функционала качества, который будет принят для рассчета;
-
– имена файлов, в которых записаны массивы, входящие в состав системы и функционала качества - матрицы L , M , B , C , F q , q = 1 , 2 , ...,p + 1 , размера n х n , матрицы коэффициентов тригонометрических многочленов u ( t ) , число строк которых равно числу компонент n, а число столбцов равно l + 1 , массив данных наблюдения Y 0 , массив X q начальных значений состояния системы, значения амплитуды резонанса A ω и частоты резонанса ω ;
-
– значения параметров расчета – минимальный h min и максимальный h max шаги изменения элементов матрицы (a ij ) вектор-многочленов ul(t) , r — коэффициент изменения шага;
-
– константы β – весовой коэффициент в функционале качества задачи оптимального управления, τ – правая граница отрезка, на котором рассматривается задача, η – порядок квадратурной формулы Гаусса, θ – параметр второго слагаемого функционала качества, d – радиус шара в пространстве R l+1 , взятый в качестве U l ∂ .
На рис. 1 представлена обобщенная схема алгоритма решения.

Рис. 1. Обобщенная схема алгоритма расчета решения задачи оптимального измерения
В схеме расчет s j и ω j представляет собой обращение к библиотеке класса С++ для расчета узлов и весов квадратурной формулы Гаусса.
При интерполировании y o ( t ) использован метод Лагранжа.
Приближенное значение состояния измерительного устройства, в предположении (L,p)-регулярности матрицы M и det M = 0, находится по формуле p m ττ
τ
2 s j ' △ c j ,
Xk(t)=£HM-1(In-Qk) (Duk)(q)(t)+Ukxo + 2£r| — 2sjQkDuk(T + q=0 j=0
где S j и C j - узлы и веса квадратурной формулы Гаусса соответственно, S j € [0 , T ] , j = 0 , m, m + 1 - количество узлов, H k = M —1 (Q k - I n ) L — нильпотентная матрица со степенью нильпотентности p ,
/ / t \ —1 \ k( p +1)
° k=( (l - k. ■ M) l) • Qk = ^M1 )) p+1 -
// т т X -1 \k (P +1 )-V т т X -1
R —2sj = L-~sm} L) L- - m} k y\ k(p +1) / J \ k(p + 1) J причем k = max {k1, k2}, где
n k1 > - £ |ai| + 1, l=q+1
t € [0 , т ] , a > max
1q - k2 > |aq| (n - q)n-q Ц0 ।al । (n - q + 1Г l + 1, Itl < 1
{1,Ы-1 (£Ja^L
Далее при условии, что все коэффициенты тригонометрических многочленов в (6) равны нулю, т.е. u = col(0,..., 0), находятся значения вектор-функций состояния измерительного устройства x в каждой из m + 1 точек, затем вычисляются соответствующие им значения у и, наконец, значение J при найденном y и начальном u. Процедура оптимизации подробно представлена на рис. 2. Отметим используемые в блок-схеме обозначения:
о a - матрица коэффициентов многочленов из (6), используемая в начале циклов;
о A - матрица, аналогичная а , создаваемая для промежуточных расчетов внутри циклов;
о A j - матрица, аналогичная а , для элементов которой в цикле достигается минимум функционала при изменении коэффициента с индексами (i,j ) ;
о A ik - матрица, аналогичная а , для элементов которой в строке i достигается наименьшее значение функционала, при этом фиксируется номер столбца k в этой строке;
о J ( A ) , J ( а ) - значения функционала при коэффициентах полиномов из (6), образующих соответственно матрицы A и a ;
о h max , h min , А - максимальный, минимальный и промежуточные шаги оптимизации.
В результате реализации процедуры оптимизации определяется значение измеряемого сигнала v и значение функционала J .
При создании программы были использованы методы оптимизации кода и вычислений. Для упрощения написания программного кода была использована такая возможность языка программирования С++ как перегрузка операций. Создав класс с собственным типом


Рис. 2. Блок-схема процедуры оптимизации данных, по сути содержащий в себе двумерный массив как представление матрицы, получили возможность скрыть в классе реализацию математических операций над матрицами. Таким образом формулы расчета в тексте программы выглядят наиболее естественно, что сказывается на понимании программного кода и легкости его модификации.
Так же программа была подвергнута оптимизации скорости вычислений. Вследствие того, что при вычислении многих процедур программы значения функции необходимо получать не для бесконечного количества значений переменных, а в основном только для узлов интегрирования, то с учетом максимум двойного интеграла в формуле функционала качества достаточно сохранить для m 2 количества значений, где m + 1 количество узлов интегрирования. При выборе даже 101 точки получаем порядка 10000 значений, умножив которое на 8 байтовое представление числа, получим около 80 Кбайт на один кэш. В основной процедуре рассчитываются до 20 функций, максимальный кэш для функции интегрирования составляет 212 Мбайт, а суммарный кэш примерно составляет 0,5 Гбайт оперативной памяти. При современном оснащении компьютеров такой расход памяти и является допустимым, а в то же время позволяет на порядок повысить производительность расчетов. Для реализации кэша в языке С++ была использована возможность статического объявления переменных, когда они размещаются не в стеке, а в отдельно выделенной для нее памяти, и доступна на все время выполнения программы.
Программа эксплуатируется на персональном компьютере платформы Intel ( 80 х 86 ), работает под управлением Microsoft Windows. Вывод результатов расчета осуществляется в текстовый файл. Кроме того в ходе работы программы выводится подробный протокол расчета.
2. Вычислительный эксперимент
В качестве примера рассмотрим модель датчика, передаточная функция которого имеет вид
W 80000000000
W d ( p ) = ( p 2 + 140 p + 10000) ( p + 200) 3 .
Тогда, модель измерительного устройства будет представлена системой
/ о 1 о х = 0 0 1 х + (0 02 • 106) и,(1)
\-2 • 10 6 - 3 , 8 • 10 4 - 3 , 4 • 102/
У = (1 0 0) х,(2)
причем в начальный момент времени вектор-функция состояния измерительного устройства равна нулю.
Представим систему (3.1)-(3.2) в виде системы уравнений (1.1)-(1.2), построив матрицы L , M , N и D следующим образом
/ 1 0 0 \ / L = 0 1 0 , M = 001 - / 1 0 0 \ N = 0 0 0 , 000 Кроме того, пусть известна частота ω = Реализовав первый шаг алгоритма при l |
0 1 0 \ 0 0 1 , 2 • 10 6 - 3 , 8 • 10 4 - 3 , 4 • 102/ / 0 0 0 \ D = 0 0 0 . У0 0 2 • 106/ 4000 и амплитуда A = 0 . 03 резонанса. = 31 , получили p = 0 , K = 88796 . |


Рис. 3. Восстановленный сигнал v = v ( t ) и значения наблюдения y 0 = y o ( t )
Построим множество U l ∂ . Вектор измерений u полностью определяется своей третей компонентой, следовательно, для его нахождения можно ограничиться пространством R l +1 . Пусть, далее, имеется информация, что значения измеряемого сигнала не превосходят 2, поэтому в качестве U d можно взять замкнутый шар в пространстве R l +1 радиуса 2 с центром в начале координат. График функции восстановленного сигнала и значения выходного сигнала, полученного в результате натурного эксперимента, представлены на рис. 3.
Различия представленных графиков отражают инерционность измерительного устройства, проявляющуюся в сглаживании ≪ пикообразного ≫ сигнала и запаздывании выходного сигнала датчика.
Список литературы Задача оптимального измерения с учетом резонансов: алгоритм программы и вычислительный эксперимент
- Шестаков, А.Л. Измерительный преобразователь динамических параметров с итерационным принципом восстановления сигнала/А.Л. Шестаков//Приборы и системы управления. -1992. -№10. -С. 23-24.
- Шестаков, А.Л. Восстановление динамически искаженных сигналов испытательноизмерительных систем методом скользящих режимов/А.Л. Шестаков, М.Н. Бизяев//Известия РАН. «Энергетика». -2004. -№ 6. -С. 119-130.
- Шестаков, А.Л. Нейросетевая динамическая модель измерительной системы с фильтрацией восстанавливаемого сигнала/А.Л. Шестаков, А.С. Волосников//Вестник Южно-Урал. гос ун-та. Серия «Компьютерные технологии, управление, радиоэлектроника». -2006. -№ 14 (69), вып. 4. -С. 16-20.
- Шестаков, А.Л. Новый подход к измерению динамически искаженных сигналов/А.Л. Шестаков, Г.А. Свиридюк//Вестник Южно-Урал. гос. ун-та. Серия «Математическое моделирование и программирование». -2010. -№ 16(192), вып. 5. -С. 116-120.
- Шестаков, А.Л. Численное решение задачи оптимального измерения/А.Л. Шестаков, А.В. Келлер, Е.И. Назарова//Автоматика и телемеханика. -2012. -№ 1. -С. 107-115.
- Келлер, А.В. Задача оптимального измерения: численное решение, алгоритм программы/А.В. Келлер, Е.И. Назарова//Изв. Иркут. гос. ун-та. Серия «Математика». -2011. -Т. 4, № 3. -С.74-82.
- Шестаков, А.Л. Оптимальное измерение динамически искаженных сигналов/А.Л. Шестаков, Г.А. Свиридюк//Вестн. Юж-Урал. гос ун-та. Серия «Математическое моделирование и программирование». -2011. -№ 17(234), вып. 8. -С. 70-75.
- Sviridyuk G.A. Linear Sobolev Type Equations and Degenerate Semi-groups of Operators/G.A. Sviridyuk, V.E. Fedorov. -Utrecht; Boston; Koln; Tokyo: VSP, 2003.
- Келлер, А.В. Об алгоритме решения задач оптимального и жесткого управления/А.В. Келлер//Программные продукты и системы. -2011. -№ 3. -С. 170-174.
- Келлер, А.В. Численное решение задачи стартового жесткого управления для моделей леонтьевского типа. Вычислительный эксперимент/А.В. Келлер//Естественные и технические науки. -2011. -№ 4. -С. 476-482.
- Свиридюк, Г.А. Задача Шоуолтера -Сидорова как феномен уравнений соболевского типа/Г.А. Свиридюк, С.А. Загребина//Изв. Иркут. гос. ун-та. Серия «Математика». -2010. -Т. 3, № 1. -С.104-125.
- Замышляева, А.А. Начально-конечная задача для уравнения Буссинеска-Лява/А.А. Замышляева, А.В. Юзеева//Вестн. Юж-Урал. гос ун-та. Серия «Математическое моделирование и программирование». -2010. -№16 (192), вып. 5. -С. 23-31.
- Загребина, С.А. О задаче Шоуолтера-Сидорова/С.А. Загребина//Изв. ВУЗ. Матем. -2007. -№ 3. -С. 22-28.
- Манакова, Н.А. Об одной задаче оптимального управления с функционалом качества общего вида/Н.А. Манакова, А.Г. Дыльков//Вестн. Сам. гос. техн. ун-та. Серия «Физ.-мат. науки». -2011. -№ 4(25). -С.18-24.