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

Изобретение относится к автоматике и может быть использовано для прогнозирования стационарных и нестационарных случайных процессов, повышения качества и точности управления в цифровых системах реального времени при регулировании, контроле и наведении различных объектов.
Известно устройство для адаптивной экстраполяции по авт.св. №1246775 (авторское свидетельство СССР №1246775, кл. G06F 15/353, 1984), содержащее блок сглаживания и блок экстраполяции, в состав последнего входят три последовательно соединенных вычитателя и сумматор результата. Это устройство функционально ограничено и имеет малое время прогноза (экстраполяции). Наиболее близким по технической сущности к заявляемому устройству является выбранное в качестве прототипа устройство по заявке 2010125731/20 (036606) от 23.06.2010 г., содержащее блок сглаживания и блок прогноза, последний содержит три вычитателя, регистр задания времени (интервала) прогноза и два субблока: квадратичного и линейного прогнозов. Это устройство имеет малое быстродействие (три такта на сглаживание и три - на прогноз) и малую точность квадратичного прогноза.
Задачей, на решение которой направлено заявляемое изобретение, является повышение точности квадратичного прогноза и упрощение устройства.
Поэтому в цифровом прогнозирующем устройстве, содержащем блок сглаживания по заявке 2010125733/20 (036608) от 23.06.2010 г., в состав которого входят сумматор, первый вход которого является информационным входом устройства, первый и второй блоки компараторов, первые входы которых соединены с выходом сумматора, причем с первым компаратором напрямую, а со вторым через блок инверторов, блок задания соотношения отклонений, содержащий (как управляемый делитель частоты) регистр, счетчик и элемент задержки, информационный и тактовый входы блока являются первым управляющим и тактовым входами устройства, соответственно; первый элемент И, первый вход которого подключен к тактовому входу устройства, второй и третий входы, соответственно, к выходам первого и второго блоков компараторов, первый реверсивный счетчик, вычитающий вход которого соединен с выходом блока задания соотношения отклонений, инвертор, второй и третий элементы И, второй реверсивный счетчик результата сглаживания и блок управления динамической характеристикой (БУДХ), первый вход которого подключен к первому входу третьего элемента И и к выходу инвертора, второй вход соединен с первым входом второго элемента И, входом инвертора и выходом знакового разряда сумматора, а первый выход БУДХ подключен к входу сброса в «0» первого и к шине записи второго реверсивных счетчиков, причем БУДХ содержит элемент ИЛИ, счетчик, триггер, первый и второй элементы И, первый и второй формирователи импульсов, входы которых являются первым и вторым входами БУДХ, которые через формирователи импульсов подключены к обоим входам элемента ИЛИ, выход которого соединен с шинами сброса в «0» счетчика и триггера, вход установки в «1» которого подключен к выходу первого элемента И, первый вход которого соединен со старшим разрядом счетчика, а второй вход - с тактовыми входами счетчика и устройства и вторым входом второго элемента И, первый вход которого подключен к прямому выходу триггера, а инверсный выход последнего - к четвертому входу первого элемента И блока сглаживания, выход которого соединен с суммирующим входом первого реверсивного счетчика и со вторыми входами второго и третьего элементов И, причем выход второго элемента И подключен к вычитающему входу второго реверсивного счетчика, а выход третьего элемента И - к его суммирующему входу, информационный выход первого реверсивного счетчика соединен со вторыми входами первого и второго блоков компараторов, инверсный информационный выход второго реверсивного счетчика подключен ко второму входу сумматора, а прямой выход - к информационному входу блока прогноза, одноканальный субблок сглаживания, содержащий сумматор, последовательно соединенный с регистром, выход которого подключен к входу второго реверсивного счетчика результата сглаживания, шина записи в регистр соединена с тактирующим входом устройства, а вход сумматора подключен к информационному входу устройства; узел тактирования блока прогноза, содержащий элемент задержки, триггер, генератор, элемент И и регистр сдвига, на младший разряд которого постоянно заведена логическая единица («1»), а шина записи ее в регистр сдвига подключена к тактирующему входу устройства, к которому также подключены входы элемента задержки и шины установки в «0» триггера, шина установки в «1» которого соединена с выходом элемента задержки, а единичный выход («1») триггера подключен к первому входу элемента И, второй вход которого соединен с выходом генератора, выход элемента И подключен к шине сдвига регистра, выходы младших разрядов которого являются выходами узла тактирования блока прогноза;
блок прогноза, содержащий последовательно соединенные первый, второй и третий вычитатели, каждый из которых содержит блок регистровой памяти для хранения ординат предыстории прогнозируемого процесса, мультиплексор, блок инверторов и сумматор, во всех вычитателях выходы последовательно соединенных регистров блока памяти заведены на информационные входы соответствующих мультиплексоров, а выходы последних - на входы соответствующих блоков инверторов, выходы которых подключены к входам вторых слагаемых соответствующих сумматоров этих вычитателей, информационный выход блока сглаживания соединен с входом блока регистровой памяти первого вычитателя и с входом первого слагаемого сумматора первого вычитателя, причем с монтажным сдвигом шин на один разряд в сторону старших разрядов сумматора, выход мультиплексора первого вычитателя соединен с входом блока регистровой памяти второго вычитателя и с входами первых слагаемых сумматоров второго и третьего вычитателей, причем с монтажным сдвигом шин на один разряд в сторону старших разрядов этих сумматоров, а выход мультиплексора второго вычитателя подключен к входу блока регистровой памяти третьего вычитателя, регистр адреса ординат предыстории, задающий время (интервал) прогноза, вход которого является вторым управляющим входом устройства, а выход подключен к поразрядно объединенным адресным шинам мультиплексоров всех трех вычитателей;
первый субблок прогноза, содержащий блок инверторов, первый, второй и третий сумматоры, выход третьего сумматора субблока является первым информационным выходом устройства для оценки квадратичного прогноза нестационарной входной дискретной последовательности;
второй субблок прогноза, включающий в себя сумматор, выход которого заведен на второй информационный выход устройства для оценки линейного прогноза стационарной или медленно меняющейся входной дискретной последовательности, для решения указанной задачи выход сумматора третьего вычитателя подключен к входу второго слагаемого первого сумматора первого субблока прогноза, вход первого слагаемого которого соединен с выходом мультиплексора первого вычитателя, выход первого сумматора субблока подключен ко входу блока инверторов с монтажным сдвигом выходных шин на один разряд в сторону младших разрядов сумматора, а выход блока инверторов заведен на вход второго слагаемого третьего сумматора, вход первого слагаемого которого подключен к выходу второго сумматора, вход первого слагаемого которого соединен с выходом сумматора первого вычитателя, а вход второго слагаемого - с выходом сумматора второго вычитателя, выход третьего сумматора первого субблока заведен на первый информационный выход устройства для оценки квадратичного прогноза нестационарной входной дискретной последовательности, вход первого слагаемого сумматора второго субблока прогноза подключен к выходу сумматора первого вычитателя, вход второго слагаемого сумматора соединен с выходом сумматора третьего вычитателя, а выход сумматора второго субблока заведен с монтажным сдвигом его выходных шин на один разряд в сторону младших разрядов сумматора на второй информационный выход устройства для оценки линейного прогноза стационарной или медленно меняющейся входной дискретной последовательности.
На фиг.1 представлена блок-схема предлагаемого устройства; на фиг.2 - блок-схема блока сглаживания; на фиг.3 - блок-схема одноканального субблока сглаживания; на фиг.4 - блок-схема узла тактирования блока прогноза; на фиг.5 - блок-схема блока прогноза; на фигурах 6 и 7 представлены графики результатов моделирования работы модифицированных операторов прогноза по данным, представленным в таблице 1; в таблице 2 приведены результаты оценки точности эмпирических формул модифицированных операторов прогноза по аналитическим функциям.
Известны формулы операторов прогноза, полученные аналитически с помощью аппроксимирующих многочленов по четырем точкам ординат предыстории входного случайного дискретного процесса по способу наименьших квадратов (Милн В.Э. Численный анализ. М., «ИЛ», 1951, стр.212).
Оператор прогноза по аппроксимирующему многочлену второй степени (квадратичному) по четырем точкам ординат предыстории [КВ4] имеет вид
Оператор прогноза по аппроксимирующему многочлену первой степени (линейному) по четырем точкам ординат предыстории имеет вид
п
где y - первая (текущая) расчетная точка (ордината);
п-1
п-2
п-3
y, y, y - соответственно, вторая, третья и четвертая расчетные точки (ординаты) трехуровневой предыстории входной сглаженной дискретной последовательности. В численном анализе - это система равноотстоящих точек с шагом Н, в реальном масштабе времени Н - интервал между ординатами (точками), т.е. время (глубина) прогноза.
n-i
Реализация операторов по формулам (1) и (2) возможна в вычислительном устройстве на базе микропроцессора для выполнения арифметических операций и обмена данными с ОЗУ (или ПЗУ), в котором хранятся коэффициенты при ординатах У в уравнениях (1) и (2). Для таких устройств характерен большой объем оборудования, сложная схема коммутации узлов и блоков и относительно малое быстродействие (арифметические операции выполняются, как правило, в режиме с плавающей запятой).
В основу синтеза предложенного прогнозирующего устройства положены требования простоты технической реализации и повышенного быстродействия. Одним из путей решения этой задачи является модификация операторов прогноза по уравнениям (1) и (2) таким образом, чтобы арифметические операции в режиме с плавающей запятой были заменены на операции целочисленной арифметики с коэффициентами при ординатах, кратными степени два. Например, умножение на 2 заменяется сдвигом операнда влево на один разряд, умножение на 1/2 (деление пополам) - на один разряд вправо и т.д. Очевидно, что эта процедура может привести к некоторой потере точности прогноза, но (как будет показано ниже) во вполне допустимых пределах.
Теперь основу арифметического устройства расчета прогноза составит всего один конструктивный элемент - сумматор, а операцию сдвига в последнем, в свою очередь, можно заменить монтажным сдвигом шин операндов перед вводом в сумматор (или при выводе результата суммирования из него), в частности:
а) умножение операнда на 2 - монтажным сдвигом входных шин слагаемого на один разряд в сторону старших разрядов сумматора;
б) умножение операнда на 1/2 - монтажным сдвигом входных шин слагаемого на один разряд в сторону младших разрядов сумматора.
На блок-схеме предлагаемого устройства (см. фиг.5) такие монтажные операции обозначены кружочком.
Взяв за основу полученный аналитически оператор квадратичного
прогноза [Т], (уравнение (1)) составим следующие эмпирические уравнения модифицированных операторов [КВ4]:
Продолжим модификацию операторов [M1], [М2], [М3] и [ЛН4]:
Эмпирические уравнения (6) и (9) модифицированных операторов прогноза [M1] и [ЛН4] реализованы в прототипе.
По аналогии с методами исчисления конечных разностей для численного дифференцирования, интерполяции и экстраполяции обозначим
1
п
п-1
Δy=(2y-y) - как биразность первого уровня предыстории входной дискретной последовательности, т.е. разность между удвоенной текущей и предыдущей ординатой процесса;
2
п-1
п-2
Δy=(2y-y) - биразность второго уровня предыстории;
3
n-1
п-3
Δy=(2y-y) - биразность третьего уровня предыстории.
С учетом вышеприведенных обозначений эмпирические уравнения (6), (7), (8) и (9) модифицированных операторов квадратичного [КВ4] и линейного [ЛН4] прогнозов могут быть записаны следующим образом:
Анализ результатов моделирования (приведенных в таблице 1) работы модифицированных операторов квадратичного прогноза [M1], [M2] и [М3] по эмпирическим формулам (10), (11) и (12) и оценки точности этих формул по прогнозу аналитических функций в таблице 2 позволяют однозначно выбрать оптимальный вариант реализации операторов прогноза, отвечающий решению поставленной задачи, а именно, повышению точности прогноза и упрощению устройства по сравнению с аналогами и прототипом. Это - оператор квадратичного прогноза [М3] по эмпирической формуле (12) и оператор линейного прогноза [ЛН4] по эмпирической формуле (13). Если точность (достоверность) прогноза оператора [Т] (формула (1)) условно принять за 100%, то точность прогноза модифицированного оператора [М3] составит (см. табл.1) в среднем (96-98)%. Такой показатель можно считать вполне приемлемым для большинства технических приложений, например для упреждения и слежения за баллистическими объектами, для контроля и управления технологическими процессами в АСУТП и др., а некоторая потеря в точности прогноза с лихвой компенсируется простотой и высоким быстродействием прогнозирующего устройства.
Устройство содержит (см. фиг.1) цифровой блок сглаживания 1 и блок прогноза 2. Блок сглаживания 1 содержит (см. фиг.2) сумматор 3, блок инверторов 4, первый и второй блоки компараторов 5.1 и 5.2, первый элемент И 6, первый реверсивный счетчик 7; блок 8 задания соотношения отклонений, который содержит регистр 9, счетчик 10 и элемент задержки 11; второй и третий элементы И 12.1 и 12.2, второй реверсивный счетчик 13, инвертор 14; блок 15 управления динамической характеристикой, содержащий первый и второй формирователи импульсов 16.1 и 16.2, элемент ИЛИ 17, счетчик 18, первый элемент И 19.1, второй элемент И 19.2 и триггер 20; информационный вход 21 блока сглаживания и устройства, первый управляющий 22 и тактирующий 23 входы устройства и блока сглаживания; одноканальный субблок сглаживания 24 (см. фиг.3), содержащий сумматор 25 и регистр 26; информационный выход 27. Узел тактирования 28 блока прогноза содержит (см. фиг.4) элемент задержки 29, триггер 30, генератор 31, элемент И 32 и регистр сдвига 33. Блок прогноза 2 (см. фиг.5) содержит первый 34, второй 35, и третий 36 вычитатели, каждый из которых содержит блок регистровой памяти 37 из (А) последовательно соединенных регистров 38, мультиплексор 39, блок инверторов 40 (в предположении, что мультиплексор не имеет инверсных выходов) и сумматор 41; первый субблок 42 прогноза, содержащий блок инверторов 43, первый 44, второй 45 и третий 46 сумматоры, выход 47 третьего сумматора субблока является первым информационным выходом устройства; второй субблок 48, содержащий сумматор 49, выход которого подключен ко второму информационному выходу 50 устройства; регистр 51 адреса (А) ординат расчетных точек предыстории прогнозируемого процесса, вход 52 которого является вторым управляющим входом устройства, задающим время прогноза Н=AT
(Т - цикл работы устройства, А - максимальный адрес регистра (ячейки) блока регистровой памяти 37).
Блок сглаживания 1 (см. фиг.2) реализует следующую модификацию оператора сигнатурного экспоненциального сглаживания:
п
п
где x и y - входная и выходная дискреты;
α=1/К - постоянная сглаживания;
К - параметр адаптации.
п
п
п-1
В качестве критерия эффективности (точности) сглаживания выбрано соотношение d между нулевыми и действительными отклонениями Δx=(x-y). Последние формируют текущие единичные приращения выходной сглаженной дискреты в (14):
п
п
sign[Δx/K]=1 при [Δх-К]>0,
п
п
sign[Δx/K]=0 при [Δх-К]<0.
Блок сглаживания работает в двух режимах: стационарном и динамическом (переходном), причем все операции осуществляются за один такт. В первом режиме устройство сглаживает входную случайную последовательность дискрет до уровня, заданного соотношением d, которое заносится перед началом работы с первого управляющего входа 22 в регистр 9 блока 8. Последний представляет собой управляемый делитель частоты, например, при d=7 на выходе прямого переноса счетчика 10 появляется каждый седьмой тактовый импульс (со входа 23), который через элемент задержки 11 перезаписывает код d из регистра 9 в счетчик 10 (для следующего цикла работы делителя) и вычитает «1» из первого реверсивного счетчика 7, содержащего код параметра адаптации К.
п
п
п
Процесс адаптивного сглаживания заключается в следующем. Пусть (при определенном коде К в счетчике 7) возросла дисперсия входного дискретного сигнала, т.е. возросло число действительных отклонений Δx (обоих знаков). После сравнения их с параметром адаптации К на выходе блоков компараторов устанавливаются логические «1» (режим работы компараторов: [Δх>К]=«1», [Δх<К]=«0»). Так как на стационарном режиме триггер 20 находится в состоянии «0», то с его инверсного выхода на первый вход первого элемента И 6 также поступает логическая «1». Высокий уровень сигнала на всех входах первого элемента И 6 разрешает прохождение тактовых сигналов с входа 23 на суммирующий вход первого реверсивного счетчика 7 (код К в последнем увеличивается) и на вторые входы элементов И 12.1 и 12.2. Сигнал с выхода одного из них (в зависимости от знака отклонения) поступает на суммирующий (или вычитающий) вход второго реверсивного счетчика 13, т.е. реализуется сигнатурная функция (14). Процесс роста К будет продолжаться до тех пор, пока не наступит динамическое равновесие, т.е. число импульсов, поступивших от блока 6 на вычитающий вход реверсивного счетчика 7, будет равно числу импульсов, поступивших на его суммирующий вход от элемента И 6, а дисперсия выходной сглаженной дискретной последовательности останется неизменной (для d=7: на одно действительное отклонение должно приходиться семь нулевых).
1
1
1
2
п
2
п
2
п-1
Блок 15 управления динамической характеристикой (БУДХ) автоматически переключает устройство со стационарного режима сглаживания на переходный (динамический) и обратно. Переходный режим может быть вызван ускорением, виражом, переходом с одного стационарного режима на другой (для некоторых групп объектов контроля или управления, например, баллистических, стационарный режим может быть частным случаем динамического). Для стационарного случайного процесса вероятность появления серии, например, из восьми отклонений (от среднего) одного знака подряд (в соответствии с геометрическим законом распределения вероятностей) очень мала. Следовательно, такая серия обусловлена началом переходного режима. БУДХ 15 фиксирует такую серию и работает следующим образом. Так как для стационарного режима наиболее вероятны отклонения разных знаков, то при смене знака в сумматоре 3 с «плюс» на «минус» и наоборот соответствующий формирователь 16.1 или 16.2 генерирует импульс, который через элемент ИЛИ 17 сбрасывает в «0» счетчик 18 и триггер 20. На динамическом режиме (формирователи 16 не срабатывают) на счетчик 18 (например, 4-разрядный) непременно поступит восемь импульсов подряд с тактового входа 23. На выходе старшего разряда счетчика 18 установится логическая «1», высокий уровень которой обеспечит прохождение через первый элемент И 19.1 тактирующего импульса, который установит триггер 20 в «1». Последний сигналом с инверсного выхода запретит работу устройства на стационарном режиме (логический «0» на первом входе первого элемента И 6), а высоким уровнем прямого выхода разрешит через второй элемент И 19.2 перезапись дискрет с одноканального субблока сглаживания 24 во второй реверсивный счетчик 13, т.е. на выход 27 блока 1 с минимальной степенью сглаживания (α=/). По окончании переходного режима в сумматоре 3 неизбежно возникнут отклонения разных знаков, что приведет к срабатыванию формирователей 16 и, соответственно, к переключению триггера 20 в состояние «0» (стационарный режим сглаживания). Субблок 24 работает на обоих режимах в соответствии с уравнением У=/Х+/У и инициируется тактовыми импульсами со входа 23 в регистре 26, но используется только на переходном (динамическом) режиме, путем записи выходных минимально сглаженных дискрет с регистра 26 во второй реверсивный счетчик 13 тоже тактовым сигналом с входа 23, но через второй элемент И 19.2 блока БУДХ 15.
K
Введенный в предлагаемое прогнозирующее устройство блок сглаживания 1 имеет меньший объем оборудования, чем аналогичный в прототипе, выполняет операцию сглаживания за один такт (в прототипе - за три), осуществляет плавное сглаживание (α=1\К, К=2, 3, 4, 5, …; α=1\2, 1\3, 1\4, 1\5, …), в прототипе сглаживание - ступенчатое (0=1/2, К=2, 3, 4, 5, …; α=1\4, 1\8, 1\16, 1\32, …) и, наконец, обладает большей степенью надежности: работает со знаком, а не с величиной отклонения, т.е. не чувствителен к сбоям во входных данных.
п
п-1
п
Операция прогнозирования выполняется за три такта, соответственно, 2-й, 3-й и 4-й. Формируются они серией из трех тактирующих импульсов от узла тактирования 28 (см. фиг.4). Тактирующий импульс со входа 23 обнуляет триггер 30 и записывает «1» в младший разряд сдвигового регистра 33. Тот же тактирующий импульс, задержанный элементом задержки 29, устанавливает в «1» триггер 30, разрешая тем самым прохождение импульсов от генератора 31 через элемент И 32 в регистр сдвига 33, на шинах младших разрядов которого («а», «б», «в», и т.д.) и появляется последовательно вышеуказанная серия. Во 2-м такте производится запись ординаты текущей (первой) расчетной точки y в первый регистр 38 блока 37 регистровой памяти первого вычитателя 34. Одновременно происходит перезапись (сдвиг) всех предшествующих ординат в соседние регистры 38. На адресный вход мультиплексора 39 поступает код адреса (А) ординаты предыстории с регистра 51, записанный со второго управляющего входа 52 перед началом работы устройства и определяющий время (интервал) прогноза Н=AT. В соответствии с этим адресом ордината с выхода мультиплексора 39 (уже как вторая расчетная точка y) через блок инверторов 40 поступает на вход второго слагаемого сумматора 41, на входе первого слагаемого которого стоит удвоенная ордината предшествующей расчетной точки у. На выходе сумматора первого вычитателя 34 устанавливается биразность 1-го уровня предыстории входной дискретной последовательности.
В 3-м и 4-м тактах производятся операции, аналогичные описанным выше, но уже для второго 35 и третьего 36 вычитателей, на выходах которых устанавливаются, соответственно, биразности 2-го и 3-го уровней предыстории. Все сумматоры в устройстве - комбинационные. По завершении 4-го такта на выходе 47 субблока 42 в соответствии с эмпирической формулой (12) устанавливается код оценки квадратичного (нелинейного) прогноза для нестационарной входной дискретной последовательности, а на выходе 50 субблока 48 в соответствии с формулой (13) - код оценки линейного прогноза для стационарной или медленно меняющейся входной дискретной последовательности.
Использование обоих операторов прогноза для контроля, слежения или управления параметрами в технических системах базируется на фундаментальных физических законах: законах инерции, законах сохранения энергии и движения, инерционности нагрева/охлаждения и др., что позволяет рассчитывать на высокую степень надежности прогноза. О точности прогноза можно судить только по завершении события и если в период времени (интервала) прогноза не было форс-мажорных обстоятельств: удар, скачок, взрыв и т.п.