АДАПТИВНОЕ ЦИФРОВОЕ ПРОГНОЗИРУЮЩЕЕ УСТРОЙСТВО
ADAPTIVE DIGITAL PREDICTIVE DEVICE

Изобретение относится к автоматике и вычислительной технике и может быть использовано для сглаживания и прогнозирования стационарных и нестационарных случайных процессов, повышения точности управления в цифровых системах наведения различных (в т.ч. баллистических) объектов.
Известно адаптивное цифровое сглаживающее и прогнозирующее устройство (патент РФ №2626338, МПК G06F 15/00, 26.07.2017, бюл. №21), содержащее блок сглаживания и блок прогноза, в состав которого входят: три вычитателя, узел управления динамикой прогноза, два субблока квадратичного и линейного прогнозов, схему коррекции кода прогноза на динамике, субблоки расчета первой производной и подсчета приращений скорости процесса и блок адаптации. Устройство имеет относительно большой объем оборудования и функционально ограничено.
Наиболее близким по технической сущности к заявляемому устройству является, выбранное в качестве прототипа, адаптивное цифровое сглаживающее и прогнозирующее устройство (патент РФ №2622852, МПК G06F 17/17, 20.06.2017, бюл. №17), содержащее блок сглаживания и блок прогноза, в состав которого входят: два вычитателя, узел управления динамикой прогноза, два субблока квадратичного и линейного прогнозов, схему коррекции кода прогноза на динамике, субблоки расчета первой производной и подсчета приращений скорости процесса. Устройство также функционально ограничено.
На практике, по характеру изменения во времени дискретные случайные процессы (СП) можно разделить на два вида (режима): установившийся (стационарный) и переходный (в дальнейшем «динамика»). Первый характеризуется установившейся скоростью медианы (детерминированной основы) СП, второй имеет нелинейный характер и занимает относительно небольшое время перехода медианы СП на новый установившийся режим. Спектр изменения скорости медианы СП на динамике может занимать достаточно большой диапазон: от медленно меняющегося до высоких скоростей (почти скачка).
t
t
t
В прототипе, как и в аналогах, реализовано наилучшее приближение аналитических операторов расчета квадратичного и линейного прогнозов с помощью аппроксимирующих многочленов по 3-м точкам (ординатам) двухуровневого буфера хранения предыстории входного сглаженного случайного дискретного процесса способом наименьших квадратов, причем временной интервал (глубина) прогноза h составляет половину от времени (B) хранения ординат в буферах памяти предыстории B=2h. Например, прогноз на Н=h=10 сек., требует сохранения информации о процессе в буфере памяти предыстории на период B=2h=20 сек.
t
t
Техническая задача для предлагаемого устройства заключается в расширении функциональных возможностей путем увеличения реального времени (глубины) прогноза в пять раз при сохранении того же объема буфера памяти предыстории, т.е. (см. пример выше) теперь при задании требуемого времени прогноза Н=5h=50 сек. время хранения информации (объем памяти буферов предыстории) остается без изменений: B=2h=20 сек., а не B=2Н=100 сек., которое потребовалось бы в соответствии с аналитическими формулами расчета прогноза.
k
п
Поэтому, в адаптивном цифровом прогнозирующем устройстве, в состав которого входят: блок сглаживания, содержащий m=32 последовательно соединенных каналов, регистр и мультиплексор, причем выходы каждого m=1, 2, 4, 8, 16 и 32-го каналов заведены на информационные входы мультиплексора, адресный вход которого подключен к выходу регистра, вход последнего подсоединен к первому управляющему входу устройства для задания степени (эффективности) сглаживания k=0, 1, 2, 3, 4 или 5 (m=2), а вход первого канала является информационным входом (х) устройства, и блок прогноза, содержащий первый и второй вычитатели, каждый из которых включает в себя буфер регистровой памяти, мультиплексор, блок инверторов и сумматор, причем вход первого вычитателя подключен к выходу мультиплексора блока сглаживания; субблок расчета квадратичного прогноза, содержащий два сумматора и инвертор, причем выход второго сумматора является выходом субблока; субблок расчета линейного прогноза из одного сумматора, выходные шины которого являются выходом субблока; сумматор усреднения дискрет выходов субблоков квадратичного и линейного прогнозов, выходные шины которого монтажно сдвинуты вправо (в сторону младших разрядов) на один разряд; субблок расчета 1-й производной из одного сумматора; триггер режима; узел управления динамикой прогноза, содержащий регистр ввода уставки времени прогноза, вход которого является вторым управляющим входом устройства, задающим виртуальный интервал прогноза, инвертор, счетчик и мультиплексор, причем выходные шины регистра ввода уставки времени прогноза подключены, непосредственно, - к первому входу мультиплексора, монтажно сдвинутые вправо на три разряда - к второму входу мультиплексора и, монтажно сдвинутые влево на один разряд, через инвертор, - к входу счетчика, шина прямого переноса последнего заведена на «0» вход (шину сброса) триггера режима, выход мультиплексора соединен с адресными входами мультиплексоров обоих вычитателей, а адресный вход мультиплексора подключен к прямому («1») выходу триггера режима; субблок переключения режима работы устройства со стационарного на динамику, содержащий два последовательно соединенных регистра хранения текущей и предыдущей дискрет скорости процесса, компаратор, два элемента И, реверсивный счетчик и элемент ИЛИ, причем выход субблока заведен на «1» вход триггера режима и на шину записи счетчика узла управления динамикой прогноза, а информационный вход первого регистра субблока подключен к выходу сумматора (без шины его знакового разряда) субблока расчета первой производной входного сглаженного случайного процесса; узел тактирования блока прогноза, содержащий четыре элемента задержки; схема коррекции кода прогноза на динамике, содержащая блок инверторов, три сумматора и мультиплексор, адресный вход которого подключен к прямому («1») выходу триггера режима, для решения поставленной задачи в блок прогноза введен дополнительный субблок коррекции кода прогноза на стационарном режиме, содержащий инвертор и три сумматора, в котором первый вход первого сумматора подключен к выходу мультиплексора блока сглаживания, второй вход этого сумматора заведен на выход инвертора второго вычитателя, выходные шины первого сумматора монтажно сдвинутые влево на два разряда (в сторону старших разрядов) подсоединены к первому входу третьего сумматора, а монтажно сдвинутые вправо на один разряд, через блок инверторов, - к первому входу второго сумматора, второй вход которого подключен к выходу мультиплексора второго вычитателя, выход второго сумматора заведен на второй вход третьего сумматора, выход которого подсоединен к первому информационному входу мультиплексора схемы коррекции кода прогноза на динамике, в которой на входы первого сумматора подключены, соответственно, выходы сумматора усреднения и инвертора второго вычитателя, шины выхода первого сумматора, монтажно сдвинутые вправо на четыре разряда, соединены со вторым входом третьего сумматора, а монтажно сдвинутые вправо на один разряд, через блок инверторов, - с первым входом второго сумматора, второй вход которого заведен на выход мультиплексора второго вычитателя, выход второго сумматора подключен к первому входу третьего сумматора, выход которого заведен на второй информационный вход мультиплексора, а выход мультиплексора является выходом устройства.
Сущность изобретения поясняется чертежами, на которых изображены: фиг. 1 - блок-схема предлагаемого устройства; фиг. 2 - схема узла тактирования блока прогноза; фиг. 3 - графическая интерпретация вывода формул коррекции кода прогноза на стационарном режиме и на динамике; приложение (на 3-х листах) - результаты моделирования работы устройства на ЭВМ при обработке нестационарного случайного процесса.
Известны формулы операторов прогноза, полученные аналитически с помощью аппроксимирующих многочленов по трем точкам (ординатам) буфера предыстории входного случайного дискретного процесса по способу наименьших квадратов (Милн В.Э. Численный анализ. М., «ИЛ», 1951, стр. 212), по аппроксимирующему многочлену второй степени (квадратичному):
первой степени (линейному):
или
п
где у - первая (текущая) расчетная точка (ордината);
п-1
п-2
t
у, у - соответственно, вторая и третья расчетные точки (ординаты) двухуровневого буфера хранения предыстории входной сглаженной дискретной последовательности. В численном анализе - это система равноотстоящих точек с шагом h, в реальном масштабе времени Н=h - это время (глубина) прогноза, причем период хранения текущей информации в буферах памяти предыстории составляет два интервала прогноза B=2h.
1
п
п-1
2
п-1
п-2
Пусть Δу=(2у - у) - биразность первого уровня предыстории входной дискретной последовательности, т.е. разность между удвоенной текущей и предыдущей ординатой процесса; Δу=(2у - у) - биразность второго уровня предыстории. Тогда после преобразования (1) и (2) получим следующие эмпирические выражения для операторов квадратичного и линейного прогнозов:
Предлагаемое устройство реализует операторы прогноза по формулам (3) и (4), причем основными элементами схемы являются сумматор и блок инверторов, а умножение коэффициентов на слагаемые выполняются соответствующими монтажными сдвигами шин последних при вводе в сумматор. Такие операции на блок-схеме (см. фиг. 1) обозначены кружочком.
n
n
T
Устройство содержит (см. фиг. 1) блок сглаживания 1, состоящий из многоканального цифрового сглаживающего устройства 2 на m=32 последовательно соединенных каналов (см. авт. св. СССР №686034, кл. G06F 15/32, 1979 и №748417, 1980), регистра 3 задания степени сглаживания (к) и мультиплексора 4, на выходе которого сглаженный код (Y ) медианы СП; блок прогноза, содержащий два последовательно соединенных вычитателя 5 и 6, каждый из которых включает в себя буфер регистровой памяти 7 из (А) последовательно соединенных регистров 8, мультиплексор 9, блок инверторов 10 (в предположении, что мультиплексор не имеет инверсных выходов) и сумматор 11; субблок 12 расчета квадратичного прогноза, содержащий блок инверторов 13, первый 14 и второй 15 сумматоры, выход последнего является выходом субблока; субблок 16 расчета линейного прогноза из инвертора 17 и сумматора 18, шины выхода которого являются выходом субблока; сумматор 19 усреднения кодов выходов обоих субблоков прогноза 12 и 16; субблок 20 расчета первой производной из сумматора 21; субблок 22 переключения режима работы устройства со стационарного на динамику, содержащий два последовательно подключенных регистров 23 и 24, компаратор 25, два элемента И 26 и 27, реверсивный счетчик 28 и элемент ИЛИ 29; триггер режима 30 (ТГ); узел 31 управления динамикой прогноза, содержащий регистр 32 ввода уставки времени прогноза (h), вход 33 которого является первым управляющим входом устройства, через который вводится виртуальное время прогноза h=AT, где Т - цикл работы устройства, если принять Т=1 за условную единицу времени, тогда h=A - количество (макс, адрес) регистров 8 в буферах 7 предыстории процесса, инвертор 34, счетчик 35 времени (2h) работы блока прогноза на динамике и мультиплексор 36; второй управляющий вход 37 ввода степени сглаживания (к) СП, информационный (x) 38 и тактирующий (f) 39 входы устройства; узел 40 тактирования блока прогноза (см. фиг. 2) содержит четыре элемента задержки 41; схема 42 коррекции кода прогноза на динамике содержит блок инверторов 43, три сумматора 44, 45 и 46 и мультиплексор 47; дополнительный субблок 48 коррекции кода прогноза на стационарном режиме содержит блок инверторов 49, три сумматора 50, 51 и 52; выход устройства 53.
п
п-1
п-2
На стационарном режиме блок прогноза, в соответствии с формулами (3) и (4), рассчитывает код прогноза по 3-м точкам (у, у и у) 2-х уровневого буфера предыстории на заданное (виртуальное) время (глубину) прогноза h. С учетом линейности медианы СП на этом режиме полученные квадратичная и линейная составляющие прогноза почти равны и усредняются.
n
n-2
n+5
n-2
Для приведения кода прогноза на стационарном режиме (ТГ=0) в соответствие с требуемым реальным (увеличенным в пять раз H=5h) временем прогноза в устройство введен дополнительный субблок 48 коррекции кода прогноза. Графическая интерпретация алгоритма работы этого субблока, опирающаяся на постулат о линейной аппроксимации медианы входного процесса представлена на фиг. 3, где Δ0=(Y  - Y ) и Δ5=(Y  - Y ) - корректирующие разности прогноза на стационарном режиме, тогда по известным соотношениям в подобных треугольниках имеем:
Уравнение (5) реализовано в предложенном устройстве в дополнительном субблоке 48 коррекции кода прогноза на стационарном режиме уже для реального упятеренного времени (глубины) прогноза H=5h, а выходной код прогноза субблока устанавливается на первом информационном входе мультиплексора схемы 42 коррекции кода прогноза на динамике.
п
п-1
п-2
k
С началом динамики (переходом медианы СП на нелинейный участок) новая (свежая) информация (у) поступает только на 1-й уровень буфера предыстории, на втором же уровне (у, у) сохраняются данные предыдущего стационарного режима: естественно, получаемые текущие дискреты прогноза неточны и существенно отличаются от реалий. Для использования линейного алгоритма расчета прогноза на стационарном режиме и на динамике устройство переключается на работу не с полным (h), а усеченным в 8 раз буфером предыстории (т.е. нелинейная медиана СП на динамике аналитически как бы подвергается кусочно-линейной аппроксимации). Теперь в расчете кода прогноза (по линейному алгоритму) участвуют только текущие («свежие») дискреты усеченного участка 1-го уровня буфера предыстории. Получаемый код дает уже точный и достоверный прогноз изменения (роста или снижения) входного процесса на динамике, но только для уменьшенного в 8 раз времени (глубины) прогноза h=h/8 (условно, его можно назвать технологическим).
n-1
n
n-2
п-1
n-1
n-1
n-1
n-1
n-1
К
Для определения момента перехода стационарного режима на динамику используется алгоритм фиксации серии из К=8 приращений скорости медианы СП на стационарном режиме одного знака подряд. Скорость медианы СП устанавливается на выходе субблока 20: у'=(y - y)/h. Приращение - это результат сравнения на каждом такте текущего и предыдущего значений 1-й производной в (у) точке буфера предыстории: Δy' - y'[w] - y'[w-1]. Разнознаковые приращения скорости медианы СП относительно средней (установившейся) скорости на стационарном режиме равновероятны и подчиняются геометрическому закону распределения Р(Δу'=К)=(1/2), для К=8: P(Δy'=8)=1/256≈0.004, т.е. настолько мала, что можно считать появление такой серии началом переходного режима (динамики). Введенный в устройство субблок 22 переключения режима фиксирует такую серию и переключает устройство со стационарного режима на динамику.
Приведение же кода прогноза на динамике в соответствие реальному (увеличенному в пять раз времени прогноза H=5h) осуществляется в схеме 42 коррекции кода прогноза на динамике. Графическая интерпретация алгоритма работы этой схемы, опирающегося на постулат о линейной аппроксимации медианы входного процесса, представлена на фиг. 3.
k
k
к
k
n+1
n-2
k
k
5
n+5
n-2
Пусть ΔK=(Y - Y) - корректирующая разность прогноза на динамике, h=h/8, h=8h, ΔR=Y - Y, тогда, в соответствии с известными соотношениями сторон в подобных треугольниках, имеем:
Уравнение (6) реализовано в предложенном устройстве в схеме 42 коррекции кода прогноза на динамике для реального упятеренного времени (глубины) прогноза H=5h, а выходной код прогноза схемы устанавливается на втором информационном входе мультиплексора схемы.
k
Цикл работы устройства состоит из двух тактов. В первом - завершает работу блок сглаживания 1, каждый канал которого реализует оператор экспоненциального сглаживания . Эффективность сглаживания выбирается заданием со входа 32 степени k=0, 1, 2, 3, 4 или 5, которая в свою очередь определяет число задействованных каналов сглаживания m=2 (1, 2, 4, 8, 16 или 32).
n+1
n+1
n+1
n+1
Во втором такте узел тактирования 40 первой серией минитактов ("а" и "b") инициирует работу двух вычитателей 5 и 6, субблоков 12 и 16 расчета по формулам (3) и (4) квадратичной и линейной составляющих блока прогноза, сумма кодов последних на выходе из сумматора 19 усредняется Y=Y [SR]=(Y[KB3]+Y [ЛН3])/2. В этом же такте завершают работу дополнительный субблок 48 коррекции кода прогноза на стационарном режиме и схема 42 коррекции кода прогноза на динамике.
n
n
n
n
n
n+5
k
d
В третьем минитакте «с» в регистр 24 из регистра 23 переписывается предыдущая y' [(w-1)T], а в последнюю - текущая y' [(w)T] дискреты абсолютного значения скорости процесса. В четвертом минитакте «d» при положительном приращении (+Δу') в компараторе 25 тактирующий импульс поступит на суммирующий (при отрицательном - на вычитающий) вход четырехразрядного реверсивного счетчика 28. Через 8 циклов (К=8) приращений одного знака подряд в счетчике выработается импульс прямого (при +Δу') или обратного (при -Δу') переноса, который через элемент ИЛИ 29 установит триггер режима 30 в «1» (ТГ=1). Устройство переключится на динамику. Этот же импульс перепишет в счетчик 35 из регистра 34 узла 31 управления динамикой инверсный код количества тактов (2h), т.е. время работы устройства на динамическом режиме. Прямой выход («1») триггера 30 разрешит выдачу кода прогноза Y на динамике (соответствующему реальному времени прогноза H=5h) с мультиплексора 47 схемы коррекции 42 на выход устройства 53 и переключит мультиплексор 36 узла 31 управления динамикой на работу блока прогноза только с 1/8 частью буфера предыстории процесса, соответственно, с h=h/8 (технологическим) временем прогноза.
n+5
n+5
s
Переход устройства с динамики на стационарный режим осуществляется сбросом в «0» триггера режима (ТГ=0) импульсом прямого переноса счетчика 35 узла управления 31, т.е. только после заполнения (2h) буфера предыстории процесса новой информацией на новом режиме. Соответственно, мультиплексор 36 переключится на выдачу в буфер предыстории заданного (виртуального) интервала (времени) прогноза h, а мультиплексор 47 - на выход 53 устройства кода прогноза Y=Y (соответствующему реальному упятеренному времени прогноза Н=5h).
В приложении приведены результаты моделирования работы устройства. Колонка №5:
k
n
n+5
ΔP=(Y  [w+5h] - Y ) - погрешность прогноза с коррекцией на динамике (ТГ=1).
Колонка №8:
n
n+5
ΔР=(Y  [w+5h] - Y  [SR]) - погрешность прогноза без коррекции на динамике.
Колонки №6 и №9:
% - точность прогноза в %.
Доработка (модернизация и упрощение) аналитических операторов расчета и увеличения времени прогноза под применение арифметических операций (умножение и деление) кратных степени 2 и замена последних, в свою очередь, на монтажные сдвиги шин слагаемых многочленов при вводе (или выводе) в сумматор позволяет упростить устройство (отказаться от микропроцессора), повысить на порядок быстродействие и снизить аппаратурные затраты на изготовление электронных компонентов систем управления и наведения, особенно, в массовом производстве.