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

Изобретение относится к автоматике и вычислительной технике и может быть использовано для прогнозирования стационарных и нестационарных случайных процессов, повышения качества и точности управления в цифровых системах контроля и наведения различных (в т.ч. баллистических) объектов.
Известно цифровое прогнозирующее и дифференцирующее устройство (патент РФ №2450343, МПК G06F 17/17, 10.02.2012, бюл. №13), содержащее блок сглаживания и блок прогноза, в состав которого входят: три вычитателя, узел управления динамикой прогноза, два субблока квадратичного и линейного прогнозов и два субблока расчета первой производной в (n-1)-й и (n-2)-й расчетных точках предыстории входного сглаженного процесса. Устройство функционально ограничено.
Наиболее близким по технической сущности к заявляемому устройству является, выбранное в качестве прототипа, адаптивное цифровое прогнозирующее устройство (патент РФ №2451328, МПК G06F 15/00, 20.05.2012, бюл. №14), содержащее блок сглаживания и блок прогноза, в состав которого входят: три вычитателя, узел управления динамикой прогноза, два субблока квадратичного и линейного прогнозов, два субблока расчета второй производной в (n-1)-й и (n-2)-й расчетных точках предыстории входного процесса и блок адаптации. Устройство имеет относительно большой объем оборудования и функционально ограничено.
На практике, по характеру изменения во времени дискретные случайные процессы (СП) можно разделить на два вида (режима): установившийся (стационарный) и переходный (в дальнейшем «динамика»). Первый характеризуется установившейся скоростью медианы (детерминированной основы) СП, второй имеет нелинейный характер и занимает относительно небольшое время перехода медианы СП на новую установившуюся скорость. Спектр изменения режима по скорости может занимать достаточно большой диапазон: от медленно меняющегося до высоких скоростей.
t
t
t
п
п-1
п-2
п-3
В прототипе, как и в аналогах, реализовано наилучшее приближение аналитических операторов квадратичного и линейного прогнозов на базе аппроксимирующих многочленов по 4-м точкам (ординатам) трехуровнего буфера хранения предыстории входного случайного дискретного процесса по способу наименьших квадратов, причем временной интервал (глубина) прогноза h составляет одну треть от времени (B) хранения ординат в буферах памяти предыстории B=3h. Например, прогноз на Η=h=5 сек, требует сохранения информации о процессе в буфере памяти предыстории на период B=3h=15 сек, причем с началом динамики (переходом на другую скорость медианы СП) новая (свежая) информация (у) поступает только на 1-й уровень буфера предыстории, на 2-х других (y, у, у) сохраняются данные старого режима: естественно, получаемые текущие дискреты прогноза за этот период существенно отличаются от реалий и не могут быть использованы. Прогноз можно считать уже достоверным только после заполнения буфера предыстории на две трети (66%) информацией на новом установившемся режиме.
t
t
Техническая задача для предлагаемого устройства заключается в расширении функциональных возможностей путем увеличения реального времени (глубины) прогноза в три раза при том же объеме буфера памяти предыстории, без какого-либо существенного ущерба для точности прогноза, т.е. (см. пример выше) теперь при задании Η=3h=15 сек время хранения информации и объем памяти буферов предыстории остается без изменений B=3h=15 сек, а не B=3Н=45 сек в соответствии с аналитическими формулами расчета прогноза.
п
п
n-1
n-1
n-1
n-1
k
Поэтому в адаптивном цифровом прогнозирующем устройстве, в состав которого входят: блок сглаживания, содержащий m=32 последовательно соединенных каналов, причем вход первого канала является информационным входом (х) устройства, регистр и мультиплексор, выходы каждого m=1, 2, 4, 8, 16 и 32 канала блока заведены на информационные входы мультиплексора, адресный вход которого подключен к выходу регистра, вход последнего подсоединен к второму управляющему входу устройства для задания степени (эффективности) сглаживания k=0, 1, 2, 3, 4 или 5 (m=2), а выход (у) мультиплексора заведен на вход первого вычитателя блока прогноза и блок прогноза, содержащий первый, второй и третий вычитатели, каждый из которых содержит буфер регистровой памяти, мультиплексор, блок инверторов и сумматор; субблок расчета квадратичного прогноза, содержащий три сумматора и инвертор, причем выход третьего сумматора является выходом субблока; субблок расчета линейного прогноза из одного сумматора, выходные шины которого монтажно сдвинуты (вправо) на один разряд в сторону младших разрядов и являются выходом субблока; узел управления динамикой прогноза, содержащий регистр ввода уставки времени прогноза, вход которого является первым управляющим входом устройства, задающим интервал прогноза, инвертор, счетчик и мультиплексор, причем выходные шины регистра ввода уставки времени прогноза подключены, непосредственно, к первому входу мультиплексора, монтажно сдвинутые вправо на три разряда - к второму входу мультиплексора и монтажно сдвинутые влево на один разряд, через инвертор, - к входу счетчика, выход мультиплексора соединен с адресными входами мультиплексоров всех трех вычитателей; субблок расчета первой производной, в состав которого входят три сумматора, выход последнего является выходом субблока с кодом первой производной (y') во второй (n-1)-й расчетной точке буфера предыстории входного процесса; узел тактирования блока прогноза, содержащий элемент задержки, триггер, генератор импульсов, элемент И и регистр сдвига; сумматор усреднения дискрет выходов субблоков квадратичного и линейного прогнозов, выходные шины которого монтажно сдвинуты вправо на один разряд; схема коррекции кода прогноза на динамике, содержащая три сумматора, инвертор и мультиплексор; субблок подсчета приращений скорости процесса, содержащий схему формирования абсолютного значения первой производной (y'), два последовательно соединенных регистров хранения текущей y'[(nT)] и предыдущей у'[(n-1)T] дискреты скорости процесса, два параллельных канала (на рост и снижение) подсчета приращения скорости процесса, в состав каждого из которых входят компаратор, два элемента И, четырехразрядный счетчик приращений, элемент ИЛИ и триггер режима, причем выход первого элемента И в каждом канале подключен к счетному входу счетчика и на шину сброса в «0» счетчика другого канала, выход элемента ИЛИ заведен на вход установки в «1» триггера режима и на шину записи счетчика узла управления динамикой прогноза, а выход прямого переноса этого счетчика соединен с шиной сброса в «0» триггера, прямой («1») выход которого подключен к адресным входам мультиплексоров узла управления динамикой и схемы коррекции кода прогноза на динамике, выход субблока расчета первой производной через схему формирования ее абсолютного значения заведен на вход первого регистра субблока подсчета приращений, а выходы обоих регистров подключены, соответственно, к входам компараторов обоих каналов, для решения поставленной задачи, в блок прогноза введен дополнительный субблок коррекции кода прогноза на стационарном режиме из двух сумматоров, в котором на первые входы обоих сумматоров заведены монтажно сдвинутые вправо на один разряд шины выхода сумматора усреднения, второй вход первого сумматора подсоединен к выходу инвертора третьего вычитателя, а шины выхода первого сумматора, монтажно сдвинутые вправо на один разряд, подключены к второму входу второго сумматора, выход которого заведен на первый информационный вход мультиплексора схемы коррекции кода прогноза на динамике, в которой на входы первого сумматора подключены выходы сумматора усреднения и инвертора третьего вычитателя, шины выхода первого сумматора соединены, непосредственно, с первым входом второго сумматора, монтажно сдвинутые на два разряда вправо, - со вторым входом этого сумматора и, монтажно сдвинутые влево на три разряда, - с первым входом третьего сумматора, второй вход которого подключен через инвертор к выходу второго сумматора, выход третьего сумматора заведен на второй информационный вход мультиплексора, а выход мультиплексора является выходом устройства.
Сущность изобретения поясняется чертежами, на которых изображены: на фиг. 1 - блок-схема предлагаемого устройства; на фиг. 2 - блок-схема одного канала блока сглаживания; на фиг. 3 - блок-схема узла тактирования блока прогноза; на фиг. 4 - схема формирования абсолютного значения скорости СП; на фиг. 5 - графическая интерпретация вывода формул коррекции кода прогноза на стационарном режиме и на динамике; приложение (на 6-ти листах) - результаты моделирования работы устройства на ЭВМ при обработке нестационарного случайного процесса.
Известны формулы операторов прогноза, полученные аналитически с помощью аппроксимирующих многочленов по четырем точкам (ординатам) буфера предыстории входного случайного дискретного процесса по способу наименьших квадратов (Милн В.Э. Численный анализ. М., «ИЛ», 1951, стр. 212), по аппроксимирующему многочлену второй степени (квадратичному):
первой степени (линейному):
Кроме того, известны формулы численного дифференцирования для равноотстоящих точек, выраженные через значения функции в этих точках (Демидович Б.П. и Марон И.А. Основы вычислительной математики. М., «ФМ», 1960, гл. XV,  4, стр. 573), в частности, для четырех точек имеем:
п
где у - первая (текущая) расчетная точка (ордината);
п-1
п-2
п-3
t
y, y, y - соответственно, вторая, третья и четвертая расчетные точки (ординаты) трехуровневого буфера хранения предыстории входной сглаженной дискретной последовательности. В численном анализе - это система равноотстоящих точек с шагом h, в реальном масштабе времени h - это время (глубина) прогноза, причем период хранения текущей информации в буферах памяти предыстории составляет три интервала прогноза B=3h.
По аналогии с методами исчисления конечных разностей для численного дифференцирования и экстраполяции обозначим:
1
п
n-1
Δy=(2у-y) - как биразность первого уровня предыстории входной дискретной последовательности, т.е. разность между удвоенной текущей и предыдущей ординатой процесса;
2
п-1
п-2
Δу=(2у-y) - биразность второго уровня предыстории;
3
п-1
п-3
Δу=(2у-y) - биразность третьего уровня предыстории.
После преобразования уравнений (1), (2) и (3) с целью упрощения и с учетом биразностей получим следующие эмпирические выражения для формул численного дифференцирования и операторов квадратичного и линейного прогнозов:
Предлагаемое устройство реализует операторы прогноза и дифференцирования по формулам (4), (5) и (6), причем основными элементами схемы являются сумматор и блок инверторов, а умножение коэффициентов на слагаемые выполняются соответствующими монтажными сдвигами шин последних при вводе в сумматор. Такие операции на блок-схеме (см. фиг. 1) обозначены кружочком.
n-1
n-1
n
T
г
Устройство содержит (см. фиг. 1) блок сглаживания 1, состоящий из многоканального цифрового сглаживающего устройства 2 на m=32 последовательно соединенных каналах (см. авт. св. СССР №686034, кл. G06F 15/32, 1979 и №748417, 1980), регистра 3 задания степени сглаживания (к) и мультиплексора 4, и блок прогноза, содержащий три последовательно соединенных вычитателя 5, 6, и 7, каждый из которых включает в себя буфер регистровой памяти 8 из (А) последовательно соединенных регистров 9, мультиплексор 10, блок инверторов 11 (в предположении, что мультиплексор не имеет инверсных выходов) и сумматор 12; субблок 13 расчета квадратичного прогноза, содержащий блок инверторов 14, первый 15, второй 16 и третий 17 сумматоры, выход последнего является выходом субблока; субблок 18 расчета линейного прогноза из сумматора 19, шины выхода которого, монтажно сдвинутые на один разряд вправо (в сторону младших разрядов), являются выходом субблока; сумматор 20 усреднения выходов обоих субблоков прогноза 13 и 18; субблок расчета первой производной (y'), в состав которого входят первый 22, второй 23 и третий 24 сумматоры, на выходе последнего устанавливается код оценки первой производной процесса в (n-1)-й расчетной точке буфера предыстории; субблок 25 подсчета приращений скорости процесса, содержащий схему 26 формирования абсолютного значения скорости (y'), включающей в себя (см. фиг. 4) мультиплексор 27 и инвертор 28, последовательно соединенные регистры 29 и 30 (формирующие буфер предыстории приращений скорости процесса), два компаратора 31 и 32, два элемента И 33 и 34, два 4-х разрядных счетчика 35 и 36 приращений скорости процесса (роста и снижения), два элемента И 37 и 38, элемент ИЛИ 39 и триггер режима 40 (ТГ); узел 41 управления динамикой прогноза, содержащий регистр 42 ввода виртуальной уставки времени прогноза, вход 43 которого является первым управляющим входом устройства, через который вводится время прогноза h=AT, где Τ - цикл работы устройства, А - количество (макс. адрес) регистров 9 в буфере 8 предыстории процесса (Η=3h - реальное время прогноза), инвертор 44, счетчик 45 продолжительности (2h) работы блока прогноза на динамике и мультиплексор 46; второй управляющий вход 47 ввода степени сглаживания (к) СП, информационный (х) 48 и тактирующий (f) 49 входы устройства; канал 50 (см. фиг. 2) сглаживающего устройства 2 состоит из сумматора 51 и регистра 52; узел 53 тактирования блока прогноза (см. фиг. 3) содержит элемент задержки 54, триггер 55, генератор импульсов 56 (f), элемент И 57 и регистр сдвига 58; схема 59 коррекции кода прогноза на динамике содержит три сумматора 60, 61, и 62, инвертор 63 и мультиплексор 64, выход которого является выходом 65 устройства, дополнительный субблок 66 коррекции кода прогноза на стационарном режиме, сумматоры 67 и 68.
k
Для определения момента перехода со стационарного режима на динамику используется субблок 25 подсчета приращений скорости процесса, в котором фиксируется серия из 8-ми подряд приращений роста (или снижения) скорости процесса. Приращение - это результат сравнения на каждом такте текущего и предыдущего значения первой производной процесса в (n-1)-й расчетной точке буфера предыстории. С переходом на динамику (ТГ=1) устройство начинает работать не с полным (h), а усеченным в 8 раз буфером предыстории, т.е. в расчете кода прогноза участвуют только текущие («свежие») дискреты входного процесса, соответственно, получаемый код прогноза дает точную картину изменения (роста или снижения) входного процесса на динамике, но только для уменьшенного в 8 раз времени (глубины) прогноза h=h/8 (условно, его можно назвать технологическим).
n+1
Yn-3
n+3
n-3
Для приведения кода прогноза на стационарном режиме к утроенному интервалу H=3h в устройство введен дополнительный субблок 66 коррекции кода прогноза. Графическая интерпретация алгоритма работы этого субблока, опирающаяся на постулат о линейной аппроксимации медианы входного процесса, представлена на фиг. 5, где Δ1=(Υ-) и Δ3=(Υ-Y) - корректирующие разности прогноза на стационарном режиме, тогда по известным соотношениям в подобных треугольниках имеем:
Уравнение (7) реализовано в предложенном устройстве в дополнительном субблоке 66 коррекции кода прогноза на стационарном режиме для утроенного времени (глубины) прогноза H=3h.
Приведение кода прогноза на динамике к утроенному интервалу H=3h осуществляется в схеме 59 коррекции кода прогноза. Графическая интерпретация алгоритма работы этой схемы, опирающаяся также на постулат о линейной аппроксимации медианы входного процесса, представлена на фиг. 5.
k
k
d
k
n+1
n-3
k
k
3
n+3
n
3
Пусть ΔΚ=(Y-Y) - корректирующая разность прогноза на динамике, h=h/8, h=8h, ΔR=Υ-Υ-, тогда, в соответствии с известными соотношениями сторон в подобных треугольниках, имеем:
Уравнение (8) реализовано в предложенном устройстве в схеме 59 коррекции кода прогноза на динамике для утроенного времени (глубины) прогноза H=3h.
n+1
2
n
n-1
1
k
Цикл работы устройства состоит из двух тактов. В первом - завершает работу блок сглаживания 1, каждый канал которого реализует оператор экспоненциального сглаживания Υ=/(X+Υ). Эффективность сглаживания выбирается заданием со входа 47 степени k=0, 1, 2, 3, 4 или 5, которая в свою очередь определяет число задействованных каналов сглаживания m=2(1, 2, 4, 8, 16 или 32).
n+1
n+1
n+1
n+1
n-1
а
η-1
n-1
n-1
d
n+3
k
d
Во втором такте узел тактирования 53 первой серией минитактов ("а", "b", "с") инициирует работу трех вычитателей 5, 6, и 7, субблоков 13, 18, и 21 расчета по формулам (6), (4) и (5) первой производной, квадратичной и линейной составляющих блока прогноза. Сумма кодов последних усредняется Υ=Y[SR]=(Υ[ΚΒ4]+Y[ЛH4])/2 в сумматоре 20 и выдается в дополнительный субблок 66 и схему 59 коррекции кода прогноза. Вторая серия минитактов ("d", "е", "f") формирует работу субблока 25 подсчета приращений скорости процесса. Субблок: предназначен для переключения стационарного (ТГ=0) режима на динамику (ТГ=1). Тактовым сигналом ("d") в регистр 30 из регистра 29 переписывается предыдущая y'[(n-l)T],  в последний - текущая у'[nΤ] дискрета абсолютного значения скорости процесса. Субблок можно разделить на два параллельных канала подсчета количества приращений скорости процесса: падающей и возрастающей. Рассмотрим работу последнего: при положительном соотношении А>В (y'[nT]>y'[(n-1)T]) в компараторе 31 тактовый сигнал ("е") поступает на счетный вход счетчика приращений 35 и одновременно сбрасывает в «0» счетчик 36 другого канала. Поступление на счетчик 35 подряд N=8 и более импульсов означает, что процесс из стационарного режима перешел на динамику. Высокий уровень («1») выхода 4-го разряда счетчика 35 разрешает сигналу ("f") установить триггер режима 40 в «1» (ТГ=1) и переписать из регистра 42 в счетчик 45 узла 41 управления динамикой в инверсном коде количество тактов (2h), т.е. время работы устройства на динамическом режиме. Прямой выход («1») триггера 40 разрешает выдачу кода прогноза Y на динамике (уже соответствующему утроенному времени прогноза 3h) с сумматора 62 схемы коррекции 59 кода прогноза на динамике через мультиплексор 64 на выход устройства 65 и переключает мультиплексор 46 узла 41 управления динамикой на работу блока прогноза только с 1/8 частью буфера предыстории процесса, соответственно, с h=h/8 (технологическим) интервалом (временем) прогноза.
n+3
Переход устройства с динамики на стационарный режим осуществляется сбросом в «0» триггера режима (ТГ=0) импульсом прямого переноса счетчика 45 узла управления 41, т.е. только после заполнения на 66% (2h) буфера предыстории процесса новой информацией на новом режиме. Соответственно, мультиплексор 46 переключается на выдачу в буфер предыстории заданного (виртуального) интервала времени h, а мультиплексор 64 - на выход устройства скорректированного кода прогноза Υ для утроенного времени прогноза H=3h.
В приложении приведены результаты моделирования работы устройства. Колонка №6:
k
n
n+3
ΔΡ=(Υ[w+3h]-Υ) - погрешность прогноза с коррекцией на динамике (ТГ=1),
колонка №8:
n
n+3
ΔΡ=(Υ[w+3h]-Υ[SR]) - погрешность прогноза без коррекции на динамике.
Введение в устройство дополнительного субблока 66 и коррекция схемы 59 позволяет в три раза сократить объем регистровой памяти буферов 8 предыстории процесса, без какого-либо существенного ущерба для точности прогноза.