СТОХАСТИЧЕСКИЙ ГЕНЕРАТОР ФУНКЦИЙ УОЛША
WALSH FUNCTION RANDOM GENERATOR

Изобретение относится к автоматике и вычислительной технике и может быть использовано в стохастических функциональных преобразователях, стохастических вычислительных устройствах при вероятностном моделировании и стохастической обработке данных, а также в системах и сетях связи, в том числе, использующих технологию LTE.
Известен генератор функций Уолша, содержащий счетчик, регистр, группу элементов И, сумматор по модулю два, триггер, первый и второй элементы И, первый элемент ИЛИ, формирователь случайной последовательности импульсов, реверсивный счетчик, третий и четвертый элементы И и второй элемент ИЛИ (см. авторское свидетельство на изобретение N 1117622, кл. G06F 1/02,1983).
Недостатком известного генератора являются ограниченные функциональные возможности, поскольку он обеспечивает генерирование функций Уолша со случайными номерами и со случайными паузами между последовательно генерируемыми функциями, но не способен осуществлять случайный фазовый сдвиг генерируемых функций Уолша.
Наиболее близким по технической сущности к предлагаемому изобретению является стохастический генератор функций Уолша, содержащий первый счетчик, первый регистр, группу элементов И, сумматор по модулю два, триггер, четыре элемента И, два элемента ИЛИ, первый формирователь случайной последовательности импульсов, реверсивный счетчик, второй счетчик, второй формирователь случайной последовательности импульсов и второй регистр, причем счетный вход первого счетчика подключен к тактовому входу генератора, выходы одноименных разрядов первого регистра подключены к соответствующим входам соответствующих элементов И группы, выходы которых подключены к входам сумматора по модулю два, выход первого элемента ИЛИ подключен к счетному входу триггера, инверсный выход которого и выход сумматора по модулю два подключены к соответствующим входам первого элемента И, выход которого является выходом генератора, тактовый вход которого подключен к входу первого формирователя случайной последовательности импульсов, выход первого формирователя случайной последовательности импульсов соединен с первыми входами второго и третьего элементов И, второй вход второго элемента И соединен с первым входом четвертого элемента И и подключен к прямому выходу триггера, второй вход третьего элемента И подключен к инверсному выходу триггера, второй вход четвертого элемента И подключен к тактовому входу генератора, выход второго элемента И подключен к последовательному входу первого регистра, выходы третьего и четвертого элементов И подключены соответственно к суммирующему и вычитающему входам реверсивного счетчика, выход которого поразрядно подключен к входам второго элемента ИЛИ, выход которого подключен к первому входу первого элемента ИЛИ, счетный вход второго счетчика подключен к тактовому входу генератора, вход обнуления второго счетчика подключен к выходу второго элемента ИЛИ, выход переполнения второго счетчика подключен к второму входу первого элемента ИЛИ, вход второго формирователя случайной последовательности импульсов подключен к тактовому входу генератора, выход второго формирователя случайной последовательности импульсов подключен к последовательному входу второго регистра, выходы которого подключены к информационным входам первого счетчика, вход разрешения записи которого подключен к выходу второго элемента ИЛИ (см. авторское свидетельство на изобретение N 1777131 от 28.01.91, кл. G06F 1/025, опубликовано 23.11.92 в бюллетене №43, автор - Турко Сергей Александрович).
Однако данный генератор имеет ограниченные функциональные возможности, так как в этом стохастическом генераторе функций Уолша, обеспечивающем генерирование функций Уолша со случайными номерами, со случайными паузами между последовательно генерируемыми функциями и со случайным фазовым сдвигом генерируемых функций, отсутствует возможность формирования функций Уолша со случайной полярностью, в прямом или инвертированном виде. Однако в задачах вероятностного моделирования и обработки данных, в стохастических устройствах возникает необходимость генерирования функций Уолша со случайными номерами, со случайными паузами между последовательно генерируемыми функциями, со случайным фазовым сдвигом генерируемых функций и со случайной полярностью функций Уолша, в прямом или инвертированном виде. В предлагаемом стохастическом генераторе функций Уолша этот недостаток устраняется.
Целью изобретения является расширение функциональных возможностей путем обеспечения генерирования функций Уолша со случайными номерами, со случайными паузами между последовательно генерируемыми функциями, со случайным фазовым сдвигом генерируемых функций и со случайной полярностью функций Уолша, в прямом или инвертированном виде.
Поставленная цель достигается тем, что в известный стохастический генератор функций Уолша, содержащий первый счетчик, первый регистр, группу элементов И, первый сумматор по модулю два, триггер, четыре элемента И, два элемента ИЛИ, первый формирователь случайной последовательности импульсов, реверсивный счетчик, второй счетчик, второй формирователь случайной последовательности импульсов и второй регистр, причем счетный вход первого счетчика подключен к тактовому входу генератора, выходы одноименных разрядов первого регистра подключены к соответствующим входам соответствующих элементов И группы, выходы которых подключены к входам первого сумматора по модулю два, выход первого элемента ИЛИ подключен к счетному входу триггера, инверсный выход которого подключен к первому входу первого элемента И, выход которого является выходом генератора, тактовый вход которого подключен к входу первого формирователя случайной последовательности импульсов, выход первого формирователя случайной последовательности импульсов соединен с первыми входами второго и третьего элементов И, второй вход второго элемента И соединен с первым входом четвертого элемента И и подключен к прямому выходу триггера, второй вход третьего элемента И подключен к инверсному выходу триггера, второй вход четвертого элемента И подключен к тактовому входу генератора, выход второго элемента И подключен к последовательному входу первого регистра, выходы третьего и четвертого элементов И подключены соответственно к суммирующему и вычитающему входам реверсивного счетчика, выход которого поразрядно подключен к входам второго элемента ИЛИ, выход которого подключен к первому входу первого элемента ИЛИ, счетный вход второго счетчика подключен к тактовому входу генератора, вход обнуления второго счетчика подключен к выходу второго элемента ИЛИ, выход переполнения второго счетчика подключен к второму входу первого элемента ИЛИ, вход второго формирователя случайной последовательности импульсов подключен к тактовому входу генератора, выход второго формирователя случайной последовательности импульсов подключен к последовательному входу второго регистра, выходы которого подключены к информационным входам первого счетчика, вход разрешения записи которого подключен к выходу второго элемента ИЛИ, введены третий формирователь случайной последовательности импульсов, элемент памяти и второй сумматор по модулю два, причем тактовый вход генератора подключен к входу третьего формирователя случайной последовательности импульсов, выход которого соединен с информационным входом элемента памяти, вход разрешения записи которого подключен к выходу второго элемента ИЛИ, выход элемента памяти подключен к первому входу второго сумматора по модулю два, второй вход которого соединен с выходом первого сумматора по модулю два, выход второго сумматора по модулю два подключен к второму входу первого элемента И.
На чертеже представлена структурная схема стохастического генератора функций Уолша.
Стохастический генератор функций Уолша содержит первый счетчик 1, группу элементов И 2, сумматор 3 по модулю два, триггер 4, элементы И 5 и 6, элемент ИЛИ 7, первый регистр 8, первый формирователь 9 случайной последовательности импульсов, элементы И 10 и 11, реверсивный счетчик 12, элемент ИЛИ 13, второй счетчик 14, второй формирователь 15 случайной последовательности импульсов, второй регистр 16, третий формирователь 17 случайной последовательности импульсов, элемент 18 памяти, второй сумматор 19 по модулю два.
Стохастический генератор функций Уолша работает следующим образом. В исходном состоянии счетчики 14, 12, регистр 16 и триггер 4 обнулены. В момент включения счетчик 1, регистр 8 и элемент 18 памяти устанавливаются в случайное положение.
Тактовые импульсы начинают поступать на счетный вход счетчика 14, на вход формирователей 9, 15 и 17, на вход закрытого элемента И 11 и на счетный вход счетчика 1. Счетчик 1 формирует функции Радемахера, которые через группу элементов И 2 в соответствии с кодом номера функции Уолша, находящимся в регистре 8, поступают на входы сумматора 3 по модулю два. Функции Уолша, сформированные сумматором 3, поступают на второй вход второго сумматора 19 по модулю два. Сигнал, поступающий с выхода элемента 18 памяти, определяет полярность функции Уолша, которая появится на выходе генератора. Если в момент включения генератора элемент 18 памяти установился в состояние "0", то на выходе сумматора 19 по модулю два формируется функция Уолша в прямом виде. Если в момент включения генератора элемент 18 памяти установился в состояние " 1", то на выходе сумматора 19 по модулю два формируется функция Уолша в инвертированном виде. Состояния разрядов счетчика 1 на каждом такте работы генератора представляют собой порядковый номер элемента функции Уолша в двоичном представлении, формируемый на данном такте.
Например, для варианта n=3 число элементов функции Уолша N=8 и состояния разрядов счетчика 1, соответствующие порядковым номерам элемента функции Уолша, представлены в таблице 1.
Таблица 1
Состояния разрядов счетчика 1 (начиная со старшего разряда)
Порядковый номер формируемого элемента функции Уолша
000
0
001
1
010
2
011
3
100
4
101
5
110
6
111
7
Но поскольку в момент включения генератора счетчик 1 устанавливается в случайное положение, то формирование функции Уолша начинается не с 0-го элемента, а с любого случайного.
Например, если в момент включения генератора счетчик 1 установился в состояние "101", то формирование функции Уолша начинается с 5-го элемента, после чего идет формирование 6, 7, 0, 1, 2, 3, 4 элементов, так как счетчик 1 подсчитывает тактовые импульсы, поступающие на его счетный вход. Таким образом, на выходе генератора формируется функция Уолша со случайным фазовым сдвигом и случайной полярностью, в прямом или инвертированном виде.
Случайные импульсы поступают от формирователя 9 на закрытый элемент И 5 и через открытый элемент И 10 на суммирующий вход реверсивного счетчика 12.
После наполнения счетчика 14, т.е. после того, как будут сформированы все N элементов функции Уолша, сигнал с его выхода через элемент ИЛИ 7 опрокидывает триггер 4, закрывая выход генератора элементом И 6 и суммирующий вход реверсивного счетчика 12 элементом И 10 и открывает элементы И 5, И 11.
Таким образом, к моменту переключения триггера на выход генератора выдается функция с номером, заданным кодом на регистре 8, со случайным фазовым сдвигом в соответствии с состоянием разрядов счетчика 1 в момент включения генератора и со случайной полярностью, определяемой состоянием элемента 18 памяти, а на счетчике 12 сформировывается код, определяющий длительность последующей за выданной функцией паузы.
После переключения триггера 4 случайные импульсы начинают поступать на последовательный вход регистра 8 с выхода формирователя 9 через открытый элемент И 5, на последовательный вход регистра 16 с выхода формирователя 15. Случайные импульсы с выхода формирователя 17 поступают на информационный вход элемента 18 памяти. В результате к моменту следующего переключения триггера 4 в регистре 8 окажется записанным в двоичном представлении случайный номер очередной функции Уолша, в регистре 16 окажется записанным в двоичном представлении случайный номер элемента, с которого начнется формирование функции Уолша, а в элементе 18 памяти окажется записанной "1" или "0", определяющие полярность формируемой функции Уолша.
Тактовые импульсы с тактового входа генератора через открытый элемент И 11 начинают уменьшать содержимое реверсивного счетчика 12 и в момент обнуления счетчика 12 через элементы ИЛИ 13 и ИЛИ 7 на управляющий вход параллельной записи счетчика 1, вход обнуления счетчика 14, вход разрешения записи элемента 18 и счетный вход триггера 4 поступает импульс. При этом в разряды счетчика 1 через его параллельный вход с параллельного выхода регистра 16 записывается в двоичном представлении случайный номер элемента, с которого начнется формирование функции Уолша, т.е. функции Уолша, имеющей случайный фазовый сдвиг. Одновременно с этим происходит обнуление счетчика 14, а также в элементе 18 памяти записывается "0" или "1" с выхода третьего формирователя 17 случайной последовательности импульсов. При этом также опрокидывается триггер 4. На этом пауза случайной длительности заканчивается и начинается выдача следующей функции Уолша с номером, определяемым кодом регистра 8, с фазовым сдвигом, определяемым состоянием разрядов счетчика 1, а также с полярностью, определяемой состоянием элемента 18 памяти.
Таким образом, предлагаемый стохастический генератор функций Уолша обладает более широкими функциональными возможностями по сравнению с известным генератором, так как в нем генерируются функции Уолша последовательно друг за другом со случайным номером, случайной паузой между функциями, со случайным фазовым сдвигом генерируемых функций Уолша и со случайной полярностью функций Уолша, в прямом или инвертированном виде, что позволяет использовать предлагаемый стохастический генератор функций Уолша в стохастических преобразователях информации, в устройствах стохастической вычислительной техники для эффективного решения задач вероятностного моделирования и обработки данных, а также в системах и сетях связи, в том числе, использующих технологию LTE.