ЦИФРОВОЕ ПРОГНОЗИРУЮЩЕЕ УСТРОЙСТВО
DIGITAL PREDICTOR

Изобретение относится к автоматике и вычислительной технике и может быть использовано для прогнозирования стационарных и нестационарных случайных процессов, повышения качества и точности управления в цифровых динамических системах реального времени (в т.ч. АСУТП) при регулировании, контроле и наведении различных объектов.
Наиболее близким по технической сущности к заявляемому устройству является выбранное в качестве прототипа, устройство для адаптивной экстраполяции по авт. св. №1246775 (Авторское свидетельство СССР №1246775, кл. G06F 15/353, 1984), содержащее цифровой блок сглаживания по авт. св. №908165 (Авторское свидетельство СССР №908165, кл. G06F 15/31, H03H 17/04, 1980), блок экстраполяции, в состав которого входят три последовательно соединенных вычитателя, каждый из которых содержит блок регистровой памяти, мультиплексор, блок инверторов и сумматор, и сумматор результата, выход которого является информационным выходом устройства для оценки квадратичного прогноза входной нестационарной (нелинейной) дискретной последовательности.
K
K
K
В этом устройстве за интервал экстраполяции (время прогноза) выбрана величина h=(2-1)·Т, где 2 - апертура сглаживания (К - параметр адаптации), т.е. внутренний параметр блока, который зависит от уровня входной дисперсии сглаживаемого случайного процесса (больше дисперсия - больше апертура и наоборот); Т - цикл работы блока сглаживания, который, как правило, равен времени одного преобразования аналог - цифра (АЦП). Для современных 10 - 12-разрядных АЦП максимальное время преобразования можно принять за Т=1 мс. Практический диапазон изменения параметра сглаживания α=1/2=1/2 - 1/128 (Чуев Ю.В. Прогнозирование количественных характеристик процессов. М., «Сов. радио», 1975, стр.149). Максимальный интервал экстраполяции (прогноза) в этом случае составит h=127 Т=0,127 с. Такое время не представляет интереса для прогноза в реальном масштабе времени. Например, для систем управления баллистическими объектами эффективное время прогноза (гарантированный контакт с объектом) может составить 5 - 10 секунд, для АСУТП (при поддержании заданных уставок технологических процессов малыми энергетическими затратами, когда они еще находятся в зоне допуска) такое время может составить 1 - 2 минуты.
Кроме того, в прототипе реализована квадратичная математическая модель прогноза, которая применима только для нелинейной детерминированной основы обрабатываемой нестационарной случайной дискретной последовательности.
Техническая задача для предлагаемого цифрового прогнозирующего устройства заключается в увеличении времени (глубины) прогноза и расширении его функциональных возможностей путем обеспечения прогноза для стационарных и медленно (линейно) меняющихся случайных процессов.
Решение указанной задачи достигается тем, что в цифровое прогнозирующее устройство, содержащее блок сглаживания по авт. св. №1047361 (Авторское свидетельство СССР №1047361, кл. H03H 17/04, 1982), в состав которого входят арифметический блок, блок формирования импульсов сдвига, блок генерации счетных импульсов по отклонениям, блок управления динамической характеристикой, блок задания соотношения отклонений, информационный вход которого является первым управляющим входом устройства, первый и второй реверсивные счетчики и узел тактирования блока прогноза, содержащий регистр сдвига, элемент И и триггер, вход установки в «0» которого соединен с тактирующим входом устройства и шиной записи регистра сдвига, а вход установки в «1» - с выходом счетчика блока формирования импульсов сдвига, прямой выход триггера заведен на первый вход элемента И, второй вход которого подключен к выходу генератора блока формирования импульсов сдвига, а выход элемента И соединен с шиной сдвига регистра сдвига узла, причем информационный и тактирующий входы блока сглаживания являются информационным и тактирующим входами устройства; блок прогноза, содержащий последовательно соединенные первый, второй и третий вычитатели, каждый из которых содержит блок регистровой памяти для хранения ординат предыстории прогнозируемого процесса, мультиплексор, блок инверторов и сумматор, во всех вычитателях выходы последовательно соединенных регистров блока памяти заведены (начиная со второго) на информационные входы соответствующих мультиплексоров, а выходы последних - на входы соответствующих блоков инверторов, причем выходы инверторов первых двух вычитателей подключены к входам вторых слагаемых соответствующих сумматоров этих вычитателей, информационный выход блока сглаживания соединен с входом блока регистровой памяти первого вычитателя, с входом первого слагаемого сумматора второго вычитателя непосредственно, а с входом первого слагаемого сумматора первого вычитателя - с монтажным сдвигом шин на один разряд в сторону старших разрядов сумматора, выход сумматора первого вычитателя подключен к входу блока регистровой памяти второго вычитателя, выход мультиплексора первого вычитателя соединен со сдвигом шин на один разряд в сторону старших разрядов с входом первого слагаемого сумматора третьего вычитателя, вход второго слагаемого которого подключен к выходу блока инверторов второго вычитателя, а выход сумматора заведен на вход блока регистровой памяти третьего вычитателя; субблок квадратичного (нелинейного) прогноза, содержащий последовательно соединенные первый и второй сумматоры, входные шины первого слагаемого первого сумматора (монтажно сдвинутые при вводе в этот сумматор на один разряд в сторону старших разрядов) подсоединены к выходу мультиплексора первого вычитателя, а входные шины второго слагаемого (монтажно сдвинутые при вводе в этот сумматор на два разряда в сторону старших разрядов) - к выходу сумматора второго вычитателя, выход первого сумматора подключен к входу первого слагаемого второго сумматора, вход второго слагаемого которого соединен с выходом блока инверторов третьего вычитателя, выход второго сумматора субблока является первым информационным выходом устройства для оценки квадратичного прогноза входной нестационарной дискретной последовательности, введены регистр адреса ординат предыстории, задающий время (интервал) прогноза, вход которого является вторым управляющим входом устройства, а выход подключен к поразрядно объединенным адресным шинам мультиплексоров всех трех вычитателей, и субблок линейного прогноза, содержащий последовательно соединенные первый и второй сумматоры, причем выход сумматора первого вычитателя соединен со сдвигом на один разряд в сторону младших разрядов с входом первого слагаемого первого сумматора, вход второго слагаемого которого подключен к выходу мультиплексора первого вычитателя, выход первого сумматора соединен со входом первого слагаемого второго сумматора, а выход блока инвенторов третьего вычитателя подключен со сдвигом на один разряд в сторону младших разрядов к входу второго слагаемого второго сумматора, выход которого является вторым информационным выходом устройства для оценки линейного прогноза входной стационарной или медленноменяющейся дискретной последовательности.
На фиг.1 представлена блок-схема предлагаемого устройства; на фиг.2 - структурная электрическая схема цифрового блока сглаживания; на фиг.3 - блок прогноза; на фиг.4 - примеры результатов моделирования работы линейного и квадратичного операторов прогноза.
В формулах интерполяции (экстраполяции) Ньютона и Лагранжа аппроксимирующий многочлен совпадает в определенных точках с заданной функцией. Однако в задачах реального времени параметры контролируемого или управляемого объекта определяются инструментально и, вследствие этого, подвержены случайным погрешностям. Метод наименьших квадратов исключает (или минимизирует) влияние этих отклонений и отражает общий (генеральный) ход этой функции.
Ниже приводятся формулы операторов прогноза, полученные с помощью аппроксимирующих многочленов по четырем точкам ординат предыстории входного случайного дискретного процесса по способу наименьших квадратов (Милн В.Э. Численный анализ. М., «ИЛ», 1951, стр.212).
Оператор прогноза по аппроксимирующему многочлену первой степени (линейному) по четырем точкам ординат предыстории имеет вид:
.
Оператор прогноза по аппроксимирующему многочлену второй степени (квадратичному) по четырем точкам ординат предыстории имеет вид:
п
где y - текущая ордината (точка);
п-1
п-2
п-3
y, y, y - соответственно, ординаты (расчетные точки) трехуровневой предыстории входной сглаженной дискретной последовательности. В численном анализе - это система равноотстоящих точек с шагом h, в реальном масштабе времени h - это интервал между ординатами (точками), т.е. время (глубина) прогноза.
1
п
п-1
1
п
п-1
2
п
п-1
п-2
Как известно, математический аппарат интерполяции, экстраполяции и численного дифференцирования базируется на понятии конечной разности: Δy=(y-y) - разность первого порядка и т.д. Обозначим Δy=(2y-y) - как биразность 1-го уровня предыстории, т.е. разность между удвоенной текущей и предыдущей ординатой, а Δy=y-(2y-y) - как биразность 2-го уровня предыстории и т.д.
Используя приведенные выше обозначения, модифицируем операторы прогноза (1) и (2) следующим образом:
Схемная реализация приведенных операторов (3) и (4) в предложенном устройстве отличается простотой и высоким быстродействием, т.к. умножение на коэффициенты в (3) и (4) заменяются монтажным сдвигом (смещением шин) при вводе соответствующих операндов в сумматор, что эквивалентно следующим операциям целочисленной двоичной арифметики:
а) умножение на 4 - монтажным сдвигом шин операнда на два разряда в сторону старших разрядов сумматора (влево);
б) умножение на 2 - сдвигом шин на один разряд в сторону старших разрядов сумматора (влево);
в) умножение на 1/2 - сдвигом шин на один разряд в сторону младших разрядов сумматора (вправо).
На блок-схеме предлагаемого устройства (фиг.3) такие монтажные операции обозначены кружочком.
Устройство содержит цифровой блок сглаживания 1 и блок прогноза 2 (см. фиг.1). Блок 1 содержит (см. фиг.2) арифметический блок 3, включающий в себя сумматор 4, регистр сдвига 5, второй сумматор 6, запоминающий регистр 7, информационный вход блока и устройства 8 и выход блока 9; блок формирования импульсов сдвига 10, содержащий триггер 11, элемент И 12, генератор 13 и счетчик 14; блок генерации 15 счетных импульсов по отклонениям, содержащий группу инверторов 16, группы элементов И-НЕ 17 и элемент И 18; блок управления динамической характеристикой 19, содержащий формирователи импульсов 20 сброса в «0», элемент ИЛИ 21, счетчик 22 действительных отклонений одного знака подряд, триггер 23, элемент И 24 и элемент задержки 29; первый 30 и второй 31 реверсивные счетчики, первый управляющий 32 и тактирующий 33 входы устройства, узел тактирования 34 блока прогноза, содержащий регистр сдвига 35, триггер 36 и элемент И 37. Блок прогноза 2 (см. фиг.3) содержит первый 38, второй 39 и третий 40 вычитатели, каждый из которых содержит блок регистровой памяти 41 из (А) последовательно соединенных регистров 42, мультиплексор 43, блок инверторов 44 (в предположении, что мультиплексор не имеет инверсных выходов) и сумматор 45, причем третий вычитатель 40 отличается от первых двух тем, что его сумматор 45 стоит не на выходе, а на входе; первый субблок 46 квадратичного прогноза, содержащий первый 47 и второй 48 сумматоры, выход 49 субблока является первым информационным выходом устройства для оценки квадратичного прогноза нелинейной дискретной последовательности; второй субблок 50 линейного прогноза, содержащий первый 51 и второй 52 сумматоры, а выход последнего, подключенный к выходу 53 субблока, является вторым информационным выходом устройства для оценки линейного прогноза входной стационарной или медленноменяющейся дискретной последовательности; регистр 54 адреса (А) ординат расчетных точек предыстории прогнозируемого процесса, вход 54 которого является вторым информационным входом устройства, задающим время (интервал) прогноза h=AT.
Блок сглаживания 1 (см. фиг.2) реализует рекурсивный алгоритм экспоненциального сглаживания:
п
п-1
где x и y - входная и выходная дискреты исходного и сглаженного случайного процесса;
к
к
α=1/2 - параметр сглаживания, причем 2 - апертура сглаживания, к=1, 2, 3, …K - параметр адаптации.
п
п-1
п
п-1
п
п
п-1
K
K
Цикл работы арифметического блока 3 состоит из трех тактов, каждый из которых выполняет операции вычитания, деления и сложения в (5). В первом такте сигнал с входа 33 поступает на шину записи регистра сдвига 5 и фиксирует в нем код (x-y). Этот же сигнал переписывает во втором такте код К из реверсивного счетчика 31 (в инверсном коде) в счетчик 14 блока формирования 10. Последний формирует серию из К импульсов сдвиги вправо, которые фиксируют в регистре 5 результат деления (x-y)/2. По завершении работы блока 10 счетчик 14 выработает импульс переполнения (прямого переноса), который зафиксирует в третьем такте в регистре 7 результат сложения y+(x-y)/2.
п
п-1
п
п
п-1
K
K
Адаптивное управление параметром сглаживания, обеспечивающее постоянство выходного значения дисперсии сглаженного процесса независимо от степени ее изменчивости на входе, производится следующим образом. При неизменном уровне входной дисперсии в реверсивном счетчике 31 устанавливается определенный код К. Действительные отклонения обоих знаков (т.е. отклонения, которые превышают апертуру сглаживания (x-y)>2 и участвуют в формировании выходной дискеты y) в блоке 15 с помощью групп инверторов 16, элементов И-НЕ 17, элемента И 18 и стробирования от блока формирования 10 преобразуются в импульсы, поступающие на суммирующий вход реверсивного счетчика 30, в котором они компенсируются поступающими на его вычитающий вход импульсами от счетчика 28 блока задания соотношения 26 между действительными и нулевыми ((x-y)>2) отклонениями. При повышении (или понижении) уровня входной дисперсии нарушается состояние динамического равновесия в реверсивном счетчике 30 и последний соответственно через шины прямого (или обратного) переноса увеличивает (или уменьшает) код количества сдвигов К в реверсивном счетчике 31. Таким образом, на выходе 9 автоматически поддерживается постоянный уровень дисперсии сглаженного процесса, соответствующий требуемой степени сглаживания, задаваемый соотношением d перед началом работы устройства с первого управляющего входа 32 в регистр 27 блока 26, последний работает как управляемый делитель частоты.
Блок 19 управления динамической характеристикой автоматически переключает блок сглаживания 1 со стационарного режима на переходный (динамический) и обратно. Переходный режим может быть вызван, например, ускорением, виражом, переходом с одного стационарного режима на другой и т.п. Для стационарного случайного процесса вероятность появления серии, например, из М=8 отклонений от медианы (детерминированной основы процесса) одного знака подряд в соответствии с геометрическим законом распределения равна:
т.е. настолько мала, что можно считать появление такой серии началом переходного режима. Блок 19 фиксирует такую серию и работает следующим образом. С началом переходного режима от блока генерации 15 на вход счетчика 22 (например, 3- разрядного) поступит М=8 импульсов действительных отклонений одного знака подряд. Счетчик 22 выработает импульс прямого переноса, который установит в «1» триггер 23. Последний разрешает прохождение стробирующего импульса через элемент задержки 25 и элемент И 24 для обнуления реверсивных счетчиков 30 и 31. Инверсный код количества сдвигов (в данном случае двоичный код K=111…1) с реверсивного счетчика 31 тактовым сигналом с входа 33 перед каждым циклом переписывается в счетчик 14 и последний (работающий в режиме сложения до переполнения) выработает только один импульс сдвига вправо.
Таким образом, на все время переходного режима устанавливается минимальная степень сглаживания (К=1, α=1/2) и соответственно минимальное запаздывание (фазовый сдвиг). Обнуление счетчика 30 исключает его воздействие на счетчик 31 на этом режиме.
По окончании переходного режима объекта контроля или управления и выхода его на стационарный режим работы в регистре 5 неизбежно возникнут отклонения разных знаков, а при смене знака с «+» на «-» и наоборот начинают срабатывать формирователи импульсов 20, которые через элемент ИЛИ 21 обнулят счетчик 22 и триггер 23, исключив тем самым влияние блока управления 19 на работу блока сглаживания на стационарном режиме.
Операция прогнозирования выполняется также за три такта, соответственно 4-й, 5-й и 6-й. Причем формируются они серией из трех тактирующих импульсов от узла тактирования 34 в блоке сглаживания 1. Если в 1-м такте последнего тактирующий импульс с входа 33 обнуляет триггер 36 и записывает «1» в младший разряд сдвигового регистра 35, то в 3-м такте импульс записи результата сглаживания от счетчика 14 блока 10 формирования импульсов сдвига устанавливает в «1» триггер 36, разрешая тем самым прохождение импульсов от генератора 13 блока 10 в регистр сдвига 35, на шинах младших разрядов которого («а», «б», «в») и вырабатывается последовательно вышеуказанная серия.
п
1
2
п-3
В 4-м такте производится запись текущей ординаты y (первая расчетная точка предыстории сглаженного процесса в операторах прогноза (1) и (2)) в первый регистр 42 блока 41 первого вычитателя 38. Причем одновременно происходит перезапись (сдвиг) всех предшествующих ординат в соседние регистры 42. На адресный вход мультиплексора 43 поступает код адреса А ординаты предыстории с регистра 54, записанный со второго управляющего входа 55 перед началом работы устройства и определяющий время (интервал) прогноза h=AT. С выхода блока инверторов 44 инверсное значение этой ординаты поступает на вход сумматора 45, на выходе которого устанавливается биразность (Δy) первого уровня предыстории прогнозируемого процесса. В 5-м такте аналогичным образом на выходе второго вычитателя 39 устанавливается биразность (Δy) второго уровня предыстории процесса. В 6-м такте третий вычитатель 40 формирует, хранит и выдает третью расчетную точку (y) предыстории прогнозируемого процесса. Первый субблок 46 реализует оператор квадратичного прогноза (4) [КВ4] по четырем расчетным точкам предыстории прогнозируемого входного сглаженного процесса и выдает на первый информационный выход 49 устройства оценку квадратичного прогноза нелинейной входной дискретной последовательности. Второй субблок 50 реализует оператор линейного прогноза (3) [ЛН4] и выдает на второй информационный выход 53 устройства оценку линейного прогноза стационарной или медленноменяющейся входной дискретной последовательности. Все сумматоры в устройстве - комбинационные. В таблице и на фиг.4 представлены два примера прогнозирования по обоим операторам: линейного [ЛН4] и квадратичного [КВ4]. Как видно по результатам моделирования, для примера №1 предпочтителен квадратичный [КВ4] оператор прогноза, а для примера №2 - линейный [ЛН4].
Пример
y<sub>п-3</sub>
y<sub>п-2</sub>
y<sub>п-1</sub>
y<sub>п</sub>
y<sub>п+1</sub> [КВ4]
y<sub>п+1</sub> [ЛН4]
№1
10
27
38
43
42
57
№2
110
105
108
100
62
99
Если принять время цикла работы устройства (из 6-ти тактов) за Т=8 мс, а время прогноза (например, для баллистических объектов) h=8 с, то объем ячеек (регистров) в блоке регистровой памяти в каждом вычитателе должен составить А=h/T=8000/8=1000 шт. Для АСУТП цикл работы (без ущерба для точности) можно увеличить до Т=90 мс, тогда время прогноза при этом объеме регистровой памяти (1000 ячеек) может составить 1,5 мин.
Успешное использование обоих операторов в технических системах может базироваться на фундаментальных физических законах: закона инерции, законах сохранения энергии и движения, инерционности нагрева/охлаждения и др., что позволяет рассчитывать на высокую степень надежности прогноза. О точности прогноза можно судить только по завершении события, и то если в период времени (интервала) прогноза не было форс-мажорных обстоятельств: удар, скачок, взрыв и т.п.