КОНВЕЙЕРНАЯ ОБРАБОТКА ДАННЫХ ОБРАТНОЙ СВЯЗИ В СИСТЕМАХ ЦИФРОВОГО УПРАВЛЕНИЯ - Студенческий научный форум

XII Международная студенческая научная конференция Студенческий научный форум - 2020

КОНВЕЙЕРНАЯ ОБРАБОТКА ДАННЫХ ОБРАТНОЙ СВЯЗИ В СИСТЕМАХ ЦИФРОВОГО УПРАВЛЕНИЯ

Гданский Н.И. 1, Маскаева П.И. 1, Бирюкова А.В. 1, Шевело С.С. 1
1МГУТУ им. К.Г. Разумовского (ПКУ)
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

1.Введение

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

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

2.Постановка задачи

Рассмотрим решение следующей задачи. По получаемым данным обратной связи формируется L уравнений относительно переменных x1, x2, … , xn. Они соответствуют данным, получаемым в моменты времени t1, t2, … , tn.

Каждое уравнения с номером j (0jn-1) имеет вид:

aj,1 x1 + aj, 2 x2+…+ aj, n* xn =bj

Необходимо:

найти все системы уравнений размерности n, которые имеют решения,

число таких систем r,

найти решения этих систем

выполнить фильтрацию полученных решений этих систем.

3.Предлагаемый алгоритм решения задачи

Для алгоритма решения используем следующие структуры данных.

Входные данные:

1) массив ptразмерности L указателей на исходные уравнения,

2) структуры str, в которых хранятся коэффициенты уравнений.

Выходные данные:

алгоритм возвращает логическое значение true, если найдено хоть одно решение, и false – если нет, в случае true дополнительно возвращается:

число найденных результатов r,

массив решений sol[r].

Вспомогательные данные:

1) номер первой свободной строки ifirst= n,

2) массив перестановок sort[n],

массив pts размерности n указателей на уравнения текущей системы.

Общий алгоритм решения содержит следующие шаги:

начальные действия,

формирование первой системы А1 и определение её решения Х1,

формирование всех последующих систем Аk (k> 1) и определение их решений Хk,

фильтрация всех найденных решений.

Начальные действия алгоритма

1. Засылка начальных значений в массив перестановок sort:sort[i]=i, (0in-1).

2. Инициализация номера первой свободной строки ifirst= n.

3.2 Формирование первой системы А1 и определение ее решения Х1

Обратный ход. Подготовка треугольной матрицы системы А1.

Начиная со строки n-1, двигаясь вверх, выполняем в каждой строке с номером i(i= n-1,n-2,…,0) следующие действия

1. Обнуление элементов строки над главной диагональю - с номерами [i-1..n-1]

2. Поиск максимального по модулю элемента строки из номеров [0,…,i-1]. Обозначим величину этого элемента max, а его номер imax.

3. Выполняется проверка max > , где - малое число.

3.1. Если условие выполнено, то меняем в матрице местами столбцы с номерами i, imax, затем переход на Шаг 4.

3.2. Если условие не выполнено, то вначале проверяем условиеifirstL, если оновыполнено, то меняем местами элементыс номерами iи ifirst в массиве sort[n] и вместо строки iв матрицу вставляем строку с номером ifirstс учетом массива sort[n]. Если жеifirst=L+1, то выход из алгоритма с отрицательным ответом false.

4. Обнуление всех элементов с номерами i в вышележащих строках j=0 , …, i-1.

В конце обратного хода полученная треугольная матрица А1 сохраняется для ускоренного решения последующих систем.

Прямой ход. Определение решения Х1 первой системы А1.

Вполученной треугольной матрице А1 на главной диагонали стоят достаточно большие по модулю элементы, что гарантирует получение решения первой системы.

Для получения решения первой системы А1 последовательно обрабатываем ее строки с номерами i(i= 0,1,…, n-1), выполняя в каждой строке i следующие действия.

1. Деление всех элементов строки на ее элемент на главной диагонали а[i,i]. После этого этот элемент станет единичным: а[i,i] = 1.

2. Обнуление всех элементов с номеромi.в строках с номерами [i+1,...,n-1].

После завершение прямого хода все элементы х1[i] (i= 0,1,…, n-1) искомого решения Х1 первой системы А1 можно взять из элементов с номерами n строк матрицы А1.

Число найденных результатов r= 1.

3.3 Формирование всех последующих систем Аk (k> 1) и определение их решений Хk

Если ifirst=L+1, то выход из алгоритма с ответом true.

Частичный обратный ход. Подготовка треугольной матрицы системы Аk.

С матрицей предыдущей системы Аk-1 выполняем следующие действия.

1. Переход к неполной системе А(k-1)r. Для этого удаляем первую строку в Аk-1. Данное действие осуществляется сдвигом указателей в массиве pts: pts[i] = pts[i+1] (i= 0,1,…, n-2).

2. Приведение неполной системы А(k-1)r к квазидиагональному виду. Для этого выполняем перестановку в ней столбцов с номерами 0 и (n-1). Также меняем номерами элементы 0 и (n-1) в массиве sort.

3. Формирование полной системы Аk. Для этого вначале присваиваем вспомогательному ключу flag значение false. Затем в цикле по условию (ifirstL) выполняем следующие действия.

3.1. Запись уравнения с номером их исходного набора в матрицу Аk. Данное действие осуществляется присваиванием указателей в массиве pts: pts[n-1] = pt[ifirst]. В новом уравнении выполняем перестановку элементов в соответствии с массивом sort[n].

3.2. Если величина элемента (n-1) в строке (n-1) по модулю меньше , то выполнение цикла по условию (ifirstL).

3.3. Если величина элемента (n-1) в строке (n-1) по модулю не меньше , то присваиваем: flag = true и выходим из цикла по условию (ifirstL) на Шаг 4.

4. Если flag = false, то выход из алгоритма с ответом true. Иначе – переход на Шаг 5.

5. При подстановке решения Х(k-1) в систему А(k-1) первые (n-1) уравнений системы будут однородными. Но при подстановке Х= Х(k-1) в последнее уравнение в нем изменится свободный коэффициент

6. Обнуление элементов с номерами (n-1) в строках (i= 0,1,…, n-2).

Прямой ход. Определение решения Хk системы Аk.

Выполняется аналогично определению решения системы А1. Получаемое решение обозначим как Хk . Полное решение Хk= Х(k-1) + Хk.

Фильтрация всех найденных решений выполняется известными методами.

Заключение

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

Список литературы

1. Нестационарные системы автоматического управления: анализ, синтез и оптимизация / Под ред. Пупкова К.А. и Егупова Н.Д. - М.: Издательство МГТУ им. Н.Э.Баумана, 2007 - 632с.

2. Гданский Н.И., Карпов А.В., Марченко Ю.А. Адаптивное моделирование внешней нагрузки в недетерминированных системах на основе прогнозирования. Вестник Московского государственного университета приборостроения и информатики. Серия: Приборостроение и информационные технологии. 2012. № 38. С. 13-20.

3. Гданский Н.И., Карпов А.В., Марченко Ю.А. Прогнозирование моделирования внешней нагрузки электромеханического привода. Автоматизация и современные технологии. .№ 5, 2013.

4. Гданский Н.И., Карпов А.В., Марченко Ю.А. Практическая реализация адаптивных моделей внешней нагрузки для управления динамическими процессами. Вестник Московского государственного университета приборостроения и информатики. Серия: Приборостроение и информационные технологии. 2012. № 38. с. 5-12.

Просмотров работы: 0