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

Изобретение относится к автоматике и вычислительной технике и может быть использовано для прогнозирования стационарных и нестационарных случайных процессов, повышения качества и точности управления в цифровых системах контроля и наведения различных (в т.ч. баллистических) объектов.
Известно устройство для адаптивной экстраполяции (прогноза) (по авт. св. СССР №1246775, кл. G06F 15/353, 1984, ДСП), содержащее блок сглаживания, блок экстраполяции (прогноза), содержащий три вычитателя, и регистр адреса ординат (расчетных точек) предыстории входного процесса, задающий время прогноза, выходной сумматор расчета оценки квадратичного прогноза. Устройство функционально ограничено.
Наиболее близким по технической сущности к заявляемому устройству является выбранное в качестве прототипа устройство для адаптивной экстраполяции (прогноза) (по авт. св. СССР №1572281, кл. G06F 15/353, 1988, ДСП), содержащий блок сглаживания, блок экстраполяции (прогноза), содержащий три последовательно соединенных вычитателя, регистр задания времени прогноза, блок оценки первой производной и выходной сумматор расчета оценки квадратичного прогноза. Устройство имеет сложную схему коммутации узлов и блоков и относительно большой объем оборудования.
Техническая задача для предлагаемого устройства заключается в упрощении устройства, т.е. снижении аппаратурных затрат при его реализации.
Поэтому в цифровом прогнозирующем устройстве, в состав которого входят блок сглаживания (по авт. св. СССР №1531808, кл. Н03Н 17/04, 1988, ДСП), содержащий сумматор, первый и второй реверсивные счетчики, одноканальный субблок сглаживания (по авт. св. СССР №748417, кл. G06F 15/32, 1980) из последовательно соединенных сумматора и регистра, субблок задания соотношения отклонений, содержащий регистр, счетчик и элемент задержки, субблок действительных отклонений, содержащий блок инверторов, два компаратора и элемент И, субблок единичных приращений, содержащий два элемента И и инвертор, субблок управления динамической характеристикой, содержащий два формирователя импульсов, элемент ИЛИ, счетчик, три элемента И и триггер режима, информационный выход блока сглаживания, информационный, первый управляющий и тактирующий входы устройства; узел тактирования блока прогноза, содержащий элемент задержки, триггер, генератор импульсов, элемент И и регистр сдвига; блок прогноза, содержащий первый и второй вычитатели, каждый из которых содержит блок регистровой памяти, мультиплексор, блок инверторов и сумматор, субблок квадратичного прогноза, содержащий инвертор, первый и второй сумматоры, причем вход второго слагаемого первого сумматора через инвертор подключен к выходу второго вычитателя, вход первого слагаемого первого сумматора - к информационному выходу блока сглаживания, выход первого сумматора соединен со входом второго слагаемого второго сумматора субблока, вход первого слагаемого которого подключен к выходу первого вычитателя, выход второго сумматора и субблока является первым информационным выходом устройства для оценки квадратичного прогноза; узел управления динамикой прогноза, содержащий регистр хранения адреса ординат (расчетных точек) предыстории входного процесса, вход которого является вторым управляющим входом устройства, задающим время (интервал) прогноза, компаратор, инвертор, элемент И и счетчик адреса, информационный выход которого заведен на адресные шины мультиплексоров обоих вычитателей и на первый вход компаратора, второй вход которого подключен к выходу регистра хранения адреса, выход компаратора через инвертор соединен с первым входом элемента И, второй вход которого подключен к выходу третьего элемента И субблока управления динамической характеристикой (СУДХ) блока сглаживания, выход элемента И соединен со счетным входом счетчика адреса, шина сброса в «0» которого подключена к выходу второго элемента И СУДХ блока сглаживания, для решения поставленной задачи в блок прогноза введен субблок линейного прогноза, содержащий сумматор и инвертор, причем вход первого слагаемого сумматора подключен к выходу первого вычитателя, а вход второго слагаемого через инвертор - к выходу первого сумматора субблока квадратичного прогноза, причем входные шины входа второго слагаемого сумматора субблока линейного прогноза заведены с монтажным сдвигом на один разряд в сторону его младших разрядов, выход сумматора и субблока является вторым информационным выходом устройства для оценки линейного прогноза.
Сущность изобретения поясняется чертежами, на которых изображены: на фиг.1 - блок-схема предлагаемого устройства; на фиг.2 - блок-схема блока сглаживания; на фиг.3 - блок-схема одноканального субблока сглаживания; на фиг.4 - блок-схема узла тактирования блока прогноза; на фиг.5 - блок-схема блока прогноза; на фиг.6 - таблица и графики с примерами результатов моделирования работы устройства.
Известны формулы операторов прогноза, полученные аналитически с помощью аппроксимирующих многочленов по трем точкам (ординатам) предыстории входного случайного дискретного процесса по способу наименьших квадратов (Милн В.Э. Численный анализ. М., «ИЛ», 1951, стр.212). Оператор прогноза по аппроксимирующему многочлену второй степени (квадратичному) по трем точкам предыстории имеет вид:
n+1
n
n-1
n-2
у=3у-3у+у. (1) [КВ3]
Оператор прогноза по аппроксимирующему многочлену первой степени (линейному) по трем точкам предыстории [ЛН3] имеет вид:
n+1
n
n-1
n-2
у=⅓(4у+у-2у), (2) [Т]
n
где у - первая (текущая) расчетная точка (ордината);
n-1
n-2
у, у - соответственно, вторая и третья расчетные точки (ординаты) двухуровневой предыстории входной сглаженной дискретной последовательности. В численном анализе - это система равноотстоящих точек с шагом h, в реальном масштабе времени h - интервал между точками (ординатами), т.е. время (глубина) прогноза (H).
По аналогии с методами исчисления конечных разностей для численного дифференцирования, интерполяции и экстраполяции обозначим:
1
n
n-1
Δу=(2у-у) - как биразность первого уровня предыстории входной дискретной последовательности, т.е. разность между удвоенной текущей и предыдущей ординатой процесса;
2
n-1
n-2
Δу=(2у-у) - биразность второго уровня предыстории.
С целью упрощения модифицируем уравнение (1) и с учетом биразностей получим следующее выражение для оператора квадратичного прогноза:
n+1
n
n-1
n
n-1
n-2
n
2
1
1
у=(2у-у)+[ у-(2у-у)]= (у-Δу)+Δу=Z+Δу, (3) [КВ3]
n
2
где Z=у-Δу.
С этой же целью (минимизация аппаратурных затрат и времени счета) модифицируем уравнение (2) оператора линейного прогноза [Т] и используя биразности получим следующие варианты эмпирических выражений для операторов линейного прогноза [ЛН3]:
n+1
n
n-1
n-2
1
2
n
n-2
у=¼(5у+2у-3у)=½(Δу+Δу)+¼(у-у), (4) [M1]
n+1
n
n-1
n-2
1
2
у=½(2у+у-у)=½(Δу+Δу), (5) [M2]
n+1
n
n-2
1
n
2
1
у=½(3у-у)=Δу-½(у-Δу)=Δу-½Z.(6) [M3]
В таблице и на графиках на фиг.6 приведены результаты моделирования работы операторов прогноза по уравнениям (2), (3), (4), (5) и (6) по 12-ти примерам. Исходные данные для этих примеров взяты из материалов заявки №2011128507/08 (042145) от 8.07.2011 г.
Ниже в таблице даны усредненные оценки точности прогноза линейных операторов [M1], [М2] и [М3] по сравнению с полученным аналитически оператором [Т] (точность прогноза которого условно принята за 100%) и аппаратурные затраты на их реализацию (в сумматорах). Данные позволяют выбрать для решения поставленной задачи оператор [М3], хотя он и несколько уступает оператору [M1] по точности прогноза.
Оператор
Т
M1
М2
М3
Абсолютное отклонение
0
1.6
12
3.2
Относительная погрешность, %
0
1.3
8.5
2.7
Точность прогноза, %
100
98.7
91.5
97.3
Аппаратурные затраты
-
3Σ
1Σ
1Σ
Предлагаемое устройство реализует операторы прогноза по формулам (3) [КВ3] и (6) [ЛН3], причем основными элементами схемы являются сумматор и блок инверторов, а умножение коэффициентов на слагаемые выполняется соответствующими монтажными сдвигами шин последних при вводе в сумматор. Такие операции на блок-схеме (см. фиг.5) обозначены кружочком.
Устройство содержит (см. фиг.1) блок сглаживания 1, блок прогноза 2 и узел управления динамикой прогноза 3. Блок сглаживания 1 (см. авт. св. СССР №1531808, кл. Н03Н 17/04, 1988, ДСП) содержит (см. фиг.2) сумматор 4, субблок 5 действительных отклонений, содержащий блок инверторов 6, два компаратора 7.1 и 7.2 и элемент И 8, первый реверсивный счетчик 9, субблок 10 задания соотношения отклонений, содержащий регистр 11, счетчик 12 и элемент задержки 13, субблок 14 единичных приращений, содержащий инвертор 15 и два элемента И 16.1 и 16.2, второй реверсивный счетчик 17, субблок 18 управления динамической характеристикой, содержащий два формирователя импульсов 19.1 и 19.2, элемент ИЛИ 20, счетчик 21, три элемента И 22.1, 22.2, 22.3 и триггер режима 23; информационный вход 24 блока сглаживания и устройства, первый управляющий 25 и тактирующий 26 входы устройства и блока сглаживания; одноканальный субблок сглаживания 27 (см. авт. св. СССР №748417, кл. G06F 15/32, 1980), содержащий (см. фиг.3) последовательно соединенные сумматор 28 и регистр 29; информационный выход 30. Узел тактирования 31 блока прогноза содержит (см. фиг.4) элемент задержки 32, триггер 33, генератор импульсов 34, элемент И 35 и регистр сдвига 36. Блок прогноза 2 (см. фиг.5) содержит первый 37 и второй 38 вычитатели, каждый из которых содержит блок регистровой памяти 39 из (А) последовательно соединенных регистров 40, мультиплексор 41, блок инверторов 42 (в предположении, что мультиплексор не имеет инверсных выходов) и сумматор 43; субблок 44 квадратичного прогноза, содержащий блок инверторов 45, первый 46 и второй 47 сумматоры, выход 48 последнего является информационным выходом субблока; субблок 49 линейного прогноза, содержащий инвертор 50 и сумматор 51, выход 52 последнего является информационным выходом субблока; узел 3 управления динамикой прогноза, содержащий регистр 53 хранения адреса (А) ординат расчетных точек предыстории процесса, вход 54 которого является вторым управляющим входом устройства, задающим время прогноза Н=АТ (Т - цикл работы устройства, А - максимальный адрес регистра памяти 40 блока 39), компаратор 55, блок инверторов 56, элемент И 57 и счетчик адреса 58.
Цикл работы устройства состоит из 3-х тактов. Блок сглаживания 1 работает в двух режимах: стационарном и динамическом (переходном), причем все операции выполняются в нем за один (1-й) такт.
На стационарном режиме блок сглаживает входной случайный дискретный процесс, детерминированная основа (медиана) которого может иметь постоянный, линейный или нелинейный (квадратичный) характер изменения во времени. Блок сглаживания 1 (см. фиг.2) реализует следующую модификацию оператора сигнатурного экспоненциального сглаживания:
n
n-1
n
n-1
у=у+sign[(х-у)], (7)
n
n
где х и у - входная и выходная дискрета;
α=1/К - параметр сглаживания, К - параметр адаптации;
n
n
n-1
Δх=(х-у) - текущие отклонения от медианы процесса.
n
В качестве критерия эффективности (точности) сглаживания выбрано соотношение d между нулевыми и действительными отклонениями Δх. Последние формируют текущие единичные приращения обоего знака выходной дискреты в соответствии с сигнатурной функцией в (7):
n
n
n
sign[Δх/К]=0 для [Δх-К]<0 (Δх - нулевые отклонения),
n
n
n
sign [Δх/К]=1 для [Δх-К]>0 (Δх - действительные отклонения).
На стационарном режиме (D=0 - признак режима) блок 1 сглаживает входную случайную последовательность дискрет до уровня, заданного соотношением d (реальный диапазон d=7÷190), которое заносится перед началом работы устройства со входа 25 в регистр 11 субблока 10 задания соотношения отклонений. Последний представляет собой управляемый делитель частоты, например, при d=7 на выходе прямого переноса счетчика 12 появляется каждый седьмой тактовый импульс со входа 26, который через элемент задержки 13 перезаписывает инверсный код d из регистра 11 в счетчик 12 (для следующего цикла работы делителя) и вычитает «1» из первого реверсивного счетчика 9, содержащего код параметра адаптации К.
n
n
n
Адаптивное управление параметром сглаживания, обеспечивающее постоянство выходного значения дисперсии сглаженного процесса независимо от степени ее изменчивости на входе, производится следующим образом. Пусть (при определенном коде К в счетчике 9) возросла дисперсия входного дискретного процесса, т.е. возросло число действительных отклонений Δх (обоих знаков). После сравнения их с параметром адаптации К на выходе блоков компараторов 7.1 и 7.2 субблока 5 (играющего роль отрицательной обратной связи) устанавливаются логические «1» (режим работы компараторов: [Δх>К]=«1», [Δх<К]=«0»), поступающие на вход элемента И 8. Так как на стационарном режиме триггер режима 23 находится в состоянии «0» (D=0), то с его инверсного выхода на первый вход элемента И 8 субблока 5 также поступает логическая «1». Высокий уровень сигналов на всех входах элемента И 8 разрешает прохождение тактовых импульсов с входа 26 на суммирующий вход первого реверсивного счетчика 9 (код К в последнем увеличивается) и на вторые входы элементов И 16.1 и 16.2 субблока единичных приращений 14. Сигнал с выхода одного из них (в зависимости от знака отклонения) поступает на суммирующий (или вычитающий) вход второго реверсивного счетчика 17 результата сглаживания, т.е. реализуется сигнатурная функция (7). Процесс роста К приведет к снижению числа действительных отклонений и будет продолжаться до тех пор, пока не наступит динамическое равновесие, т.е. число импульсов, поступивших от субблока 10 на вычитающий вход счетчика 9, будет равно числу импульсов, поступивших на его суммирующий вход от субблока 5, а дисперсия выходной сглаженной дискретной последовательности останется неизменной (для d=7: на одно действительное отклонение должно приходится семь нулевых).
n
n
n-1
Переходный (динамический) режим может быть вызван ускорением, виражом, переходом с одного стационарного режима на другой и т.д., т.е. почти скачкообразным изменением процесса. Для сглаживания входной дискретной последовательности на переходных (динамических) режимах (D=l) используется одноканальный субблок сглаживания 27 (см. фиг.3), который реализует следующий оператор экспоненциального сглаживания: у=½(х+у), т.е. с минимальной степенью сглаживания и, соответственно, с минимальным фазовым сдвигом (запаздыванием) выходной дискреты. Субблок 27 работает на обоих режимах, инициируется тактовыми импульсами со входа 26 в регистре 29, но используется только на переходном (динамическом) режиме. Для стационарного случайного процесса вероятность появления серии, например, из m=8 (восьми) отклонений от медианы (детерминированной основы) процесса одного знака подряд, в соответствии с геометрическим законом распределения вероятностей, равна:
m
Р(х=m)=(½)=1/256≈0,004,
т.е. настолько мала, что можно считать появление такой серии началом переходного режима. Субблок 18 фиксирует такую серию и работает следующим образом. Так как для стационарного режима наиболее вероятны отклонения разных знаков, то при смене знака в сумматоре 4 с «плюс» на «минус» и наоборот срабатывают формирователи импульсов 19.1 или 19.2 и через элемент ИЛИ 20 сбрасывают в «0» счетчик 21 и триггер режима 23 (D=0). На динамическом режиме (формирователи 19 не срабатывают) на счетчик 21 (например, 4-разрядный) непременно поступит восемь импульсов подряд с тактового входа 26. На выходе старшего разряда счетчика 21 установится логическая «1», высокий уровень сигнала которого обеспечит прохождение через первый элемент И 22.1 тактирующего импульса, который установит триггер режима 23 в «1» (D=1). Последний сигналом с инверсного выхода заблокирует работу субблока 5 действительных отклонений и, соответственно, субблока 14 единичных приращений, а высоким уровнем сигнала прямого выхода разрешит через второй элемент И 22.2 перезапись дискрет с одноканального субблока сглаживания 27 во второй реверсивный счетчик 17 результата сглаживания. По окончании переходного режима в сумматоре 4 неизбежно возникнут отклонения разных знаков, что приведет к срабатыванию формирователей импульсов 19 и, соответственно, к переключению триггера режима 23 в состояние «0» (стационарный режим сглаживания, D=0).
n
n-1
n
Операции прогнозирования выполняются за два такта, соответственно, 2-й и 3-й. Формируются они серией из двух тактирующих импульсов от узла тактирования 31 (см. фиг.4). Тактирующий импульс с входа 26 обнуляет триггер 33 и записывает «1» в младший разряд сдвигового регистра 36. Тот же тактирующий импульс, задержанный элементом задержки 32 устанавливает в «1» триггер 33, разрешая тем самым прохождение импульсов от генератора 34 через элемент И 35 в регистр сдвига 36, на шинах младших разрядов которого («а» и «б») и появляется вышеуказанная серия. Во 2-м такте производится запись ординаты текущей (первой) расчетной точки у в первый регистр 40 блока 39 регистровой памяти первого вычитателя 37. Одновременно происходит перезапись (сдвиг) всех предшествующих ординат в соседние регистры 40 (т.е. формируется предыстория входного процесса). На адресный вход мультиплексора 41 поступает код адреса (А) ординаты предыстории со счетчика адреса 59, равный коду адреса, записанному со второго управляющего входа 55 в регистр 54 хранения адреса перед началом работы устройства, и определяющий время (интервал) прогноза Н=AT. В соответствии с этим адресом ордината с выхода мультиплексора 41 (уже как вторая расчетная точка у) через блок инверторов 42 поступает на вход второго слагаемого сумматора 43, на входе первого слагаемого которого стоит удвоенная ордината предшествующей расчетной точки у. На выходе сумматора 43 первого вычитателя 37 устанавливается биразность 1-го уровня предыстории входной дискретной последовательности. В 3-м такте производятся операции аналогичные описанным выше, но уже для второго 38 вычитателя, на выходе которого устанавливается биразность 2-го уровня предыстории. Все сумматоры в устройстве - комбинационные. По завершении 3-го такта на выходе субблока 44 в соответствии с формулой (3) устанавливается код оценки квадратичного (нелинейного) прогноза для нестационарной входной дискретной последовательности, а на выходе 52 субблока 49 в соответствии с формулой (6) - код оценки линейного прогноза для стационарной или медленно меняющейся входной дискретной последовательности.
0
n
a
n+1
Узел управления динамикой прогноза 3 предназначен для исключения операции прогноза на динамических (переходных) режимах (D=1) работы устройства, путем сброса в «0» счетчика адреса 58 тактирующим сигналом (U) из субблока 18 управления динамической характеристикой блока сглаживания. Нулевой адрес счетчика 58 на адресных шинах мультиплексоров 41 обоих вычитателей обеспечит на все время переходного режима расчет и установку на выходах 48 и 52 обоих субблоков прогноза 44 и 49 кода текущей дискреты у минимально сглаженного входного процесса. С переходом устройства на стационарный режим работы (D=0) триггер режима 23 субблока 18 разрешит прохождение тактирующего импульса со входа 26 через открытый элемент И 57 на счетный вход (U) счетчика адреса 58. С ростом адреса в последнем, на выходах обоих субблоков прогноза 48 и 52 устанавливаются коды (у) прогнозируемого входного процесса с использованием информации из двухуровневой предыстории только для нового стационарного режима. Рост кода адреса h в счетчике 58 (h=aT, a=1,2,3,…A), т.е. восстановление заданного времени прогноза H, будет продолжаться с каждым циклом до тех пор, пока он не станет равным заданному в регистре хранения 53 h=H. Компаратор 55 (режим работы: [H=h]→«1», [H≠h]→«0») в этом случае через ключ 56 и элемент И 57 закроет счетный вход счетчика адреса 58.
Предложенное устройство имеет на один вычитатель меньше, чем прототип, а ввод субблока для оценки линейного прогноза для стационарных или медленно (линейно) меняющихся случайных процессов расширяет функциональные возможности и минимизирует аппаратурные затраты устройства на реализацию.
Использование обоих операторов прогноза для контроля, слежения или управления параметрами в технических системах базируется на фундаментальных физических законах: закона инерции, законах сохранения энергии и движения, инерционности процессов нагрева/охлаждения и др., что позволяет (опираясь на предысторию процесса) рассчитывать на высокую степень надежности прогноза. О точности прогноза можно судить только по завершении события и если в период времени (интервала) прогноза не было форс-мажорных обстоятельств: удар, скачок, взрыв и т.п.