SU1226450A1 - Generator of random numbers with gaussian distribution - Google Patents
Generator of random numbers with gaussian distribution Download PDFInfo
- Publication number
- SU1226450A1 SU1226450A1 SU843762756A SU3762756A SU1226450A1 SU 1226450 A1 SU1226450 A1 SU 1226450A1 SU 843762756 A SU843762756 A SU 843762756A SU 3762756 A SU3762756 A SU 3762756A SU 1226450 A1 SU1226450 A1 SU 1226450A1
- Authority
- SU
- USSR - Soviet Union
- Prior art keywords
- input
- output
- memory
- group
- inputs
- Prior art date
Links
Landscapes
- Complex Calculations (AREA)
Abstract
Изобретение относитс к области вычислительной техники и может быть использовано дл определени импульсных переходных характеристик различных динамических систем в задачах идентификации. Цель изобретени - повьшение быстродействи за . счет использовани быстрого алгоритма формировани ординат нормально распределенного случайного процесса. Генератор содержит датчик равномерно распределенных случайных величин, сумматор, группу мультиплексоров, блок пам ти, группу элементов ИСКЛЮЧАЮЩЕЕ ИЛИ, первый и второй регистры пам ти, блок синхронизации, узел управлени блоком пам ти случайного процесса. На первом этапе происходит запись ординат равномерно распределенного процесса в блок пам ти. После заполнени блока пам ти устройство реализует п шагов быстрой процедуры преобразовани .Под действием тактовых импульсов,поступающих в узел управлени блоком пам ти , блок пам ти, первый и второй регистр пам ти, сумматор, группу элементов ИСКЛЮЧАЮЩЕЕ ИЛИ из блока синхронизации, формируютс ординаты нормально распределенного случайного процесса. 4 ил. с (Л ГчЭ N3 О 4ii. СЛThe invention relates to the field of computer technology and can be used to determine the impulse transient characteristics of various dynamic systems in identification tasks. The purpose of the invention is to increase the speed for. by using the fast ordinate formation algorithm of a normally distributed random process. The generator contains a sensor of uniformly distributed random variables, an adder, a group of multiplexers, a memory unit, a group of elements EXCLUSIVE OR, the first and second memory registers, a synchronization unit, a control unit of a random process memory unit. At the first stage, the ordinates of a uniformly distributed process are recorded in the memory block. After filling the memory block, the device implements n steps of the fast conversion procedure. Under the action of clock pulses entering the memory control node, memory block, first and second memory registers, adder, group of EXCLUSIVE OR elements, the ordinates are formed normally distributed random process. 4 il. c (L GcHE N3 O 4ii. SL
Description
1one
Изобретение относитс к области вычислительной техники и может быть использовано дл определени импульных переходных характеристик различных динамических систем.The invention relates to the field of computer technology and can be used to determine the impulse transient characteristics of various dynamic systems.
Цель изобретени - повышение быстродействи устройства.The purpose of the invention is to increase the speed of the device.
На фиг.1 представлена функциональна схема генератора нормально распределенных случайных чисел; на фиг.2 - функциональна схема блока синхронизации; на фиг. 3 - функцио- нальна схема узла управлени блоком пам ти; на фиг.4 - временные диаграммы работы блока синхронизациFigure 1 shows the functional diagram of a generator of normally distributed random numbers; figure 2 is a functional diagram of the synchronization unit; in fig. 3 is a functional diagram of the memory management unit; 4 shows timing charts of the synchronization unit.
Генератор содержит датчик 1 равномерно распределенных случайных величин, группу мультиплексоров 2, блок 3 пам ти, регистры 4 .и 5 пам ти , группу элементов ИСКЛЮЧАЮЩЕЕ ИЛИ 6, сумматор 7, блок 8 синхронкзации , узел 9 управлени блоком пам ти.The generator contains a sensor 1 of uniformly distributed random variables, a group of multiplexers 2, a memory block 3, registers 4 and 5 memory, a group of EXCLUSIVE OR elements 6, an adder 7, a synchronization block 8, a node 9 of the control of the memory block.
Блок 8 синхронизации содержит два однотактных Т-триггера 10 и 11 элемент ИСКЛЮЧАЮЩЕЕ ИЛИ 12, элемент ИЖ-НЕ 13, элемент НЕ 14, элементы И 15.-18, элементы НЕ 19 и 20.The synchronization unit 8 contains two one-stroke T-flip-flops 10 and 11, the EXCLUSIVE OR 12 element, the IL-NOT 13 element, the HE element 14, AND 15-15 elements, the HE elements 19 and 20.
Узел 9 управлени блоком пам ти содержит элемент ИЛИ 21, кольцевой регистр 22 сдвига, группу элементов ИСКЛЮЧАЮЩЕЕ ИЛИ 23, умножитель 24, сумматоры 25 и 26, двоичные счетчики 27-29, триггер 30, элементы И 31-35, мультиплексор 36, элемент ИСКЛЮЧАЮЩЕЕ ИЛИ 37, элемент НЕ 38, элемент ИЛИ-НЕ 39.The memory unit control node 9 contains an OR element 21, a circular shift register 22, a group of EXCLUSIVE OR 23 elements, a multiplier 24, adders 25 and 26, binary counters 27-29, trigger 30, elements AND 31-35, multiplexer 36, an EXCLUSIVE element OR 37, the element is NOT 38, the element is OR-NOT 39.
Узел управлени пам тью работает следуюищм образом.The memory management node works as follows.
В исходном состо нии во всех двоичных счетчиках узла 9 записан нулевой код, в старшем разр де X кольцевого регистра 22 сдвига записана 1, триггер 30 установлен в О. Кодом 00 на управл ющих входах мультиплексора 36 выходы двоичного счетчика 27 и элемента ИСКЛЮЧАЮЩЕЕ ИЛИ 37 подключаютс к адресному входу блока пам ти. Ноль на первом входе элемента ИЛИ 21 разрешает прохождение импульсов с второго выхода блока синхронизации на тактовом входе двоичного счетчика 27. На выходах двоичного счетчика 27 и элемента ИСКЛЮЧАЮЩЕЕ ИЛИ 37 формируютс адреса записи нулевого перестановочного шага вычислительной процедуры. Вс реализаци разбиваетс на блоки по четыре отсчета, среди которых необходимо сделать перестановки . Если номер отсчета и адрес , по которому он будет записан в блок пам ти, представить в двоичном коде, то перестановки сведутс к перекодировке двух младших битов согласно следующей схеме;In the initial state, in all binary counters of node 9 a zero code is written, in the higher bit X of the ring shift register 22 is written 1, the trigger 30 is set to O. With the code 00 on the control inputs of multiplexer 36, the outputs of the binary counter 27 and the EXCLUSIVE OR 37 element are connected to the address input of the memory unit. Zero at the first input of the element OR 21 permits the passage of pulses from the second output of the synchronization unit at the clock input of the binary counter 27. At the outputs of the binary counter 27 and the EXCLUSIVE OR 37 element, the addresses of the zero permutation step of the computational procedure are written. All implementations are divided into blocks of four samples, among which permutations must be made. If the reference number and the address at which it will be written to the memory block are represented in binary code, the permutations will be reduced to recoding the two least significant bits according to the following scheme;
Номер отсчета ХХОО 001 ХХ10 ХХ11Reference number ХХОО 001 ХХ10 ХХ11
Адрес операнда ХХОО 0010 XXI 1 ХХ01Address operand XXOO 0010 XXI 1 ХХ01
5five
00
5five
где XX - старшие биты код.where XX is the high bit code.
После заполнени информацией блока пам ти на выходе старшего разр да двоичного счетчика 27 формируетс 1, устанавливающа триггер 30 в 1. Лри этом элемент ИЛИ 21 запрещает прохождение импульсов на тактовый вход двоичного счетчика 27, элемент И 33 разрешает прохождение тактовых импульсов с первого выхода блока синхронизации на тактовый -вход счетчика 28, элемент И 31 разрешает прохождение импульсов с третьего выхода блока синхронизации на управ- л юш;ий вход мультитшексора 36. 1 на управл ющем входе старшего разр да мультиплексора 36 разрешает подключение к входу блока пам ти сумматоров 25 и 26. Счетчик 28 формирует текущее значение переменной j согласно рекурентным соотношени мAfter filling the information of the memory block at the output of the high bit of the binary counter 27, a trigger sets 30 to 1. Where element OR 21 prohibits the passage of pulses to the clock input of the binary counter 27, and element 33 allows the clock to pass from the first output of the synchronization unit The clock input of the counter 28, AND 31 permits the passage of pulses from the third output of the synchronization unit to the control; i, the input of the multisexor 36. 1 at the control input of the higher bit of the multiplexer 36 permits Connection to the input of the memory block of adders 25 and 26. Counter 28 generates the current value of the variable j according to the recurrent relations
b-X{J+,2 ). к +1,b-X {J +, 2). to +1
Х(;,,,Л,.,. ..1 П-К,X (; ,,, Л,.,. ..1 PK,
00
5five
-- X {л + ; (( л +, 2- X {l +; ((l +, 2
-- X (J- X (J
где X - п - k 1 where X - n - k 1
J 1J 1
п - к t 1.n - to t 1.
t 2t 2
h-Kh-k
- X (j+ i 2 K+ 1- X (j + i 2 K + 1
K. K.
00
причем к 0,.and to 0 ,.
адрес операнда, п fogjN; число двоичных разр дов, номер шага вычислительной процедуры,address operand, p fogjN; the number of binary bits, the step number of the computational procedure,
номер интервала разбиени дли- нь1 реализации на К-ом шаге, номер отсчета на интервале разбиени i,the number of the split interval is the length1 of the implementation on the Kth step, the reference number on the split interval i,
ir; i о, j ir; i oh j
Верхн граница изменени j задаетс кодом на выходе регистра 22 сдвига. Счетчик 29 формирует теку- 55 ЩУю переменную i, котора перемно- л аетса с кодом поступающим с выхода регистра 22 сдвига. Полученный код поступает на первый входThe upper limit of the change j is given by the code at the output of the shift register 22. The counter 29 forms the current 55 ALTERNATIVE variable i, which alternates with the code coming from the output of the shift register 22. The received code goes to the first input.
33
сумматора 25, на второй вход которого поступает код переменной j, при этом на выходе сумматора 25 формируетс адрес первого операнда, который поступает на первые входы мультиплексора 36 и сумматора 26,на вторые входы которого поступает код 2 На выходе сумматора 26 формируетс адрес второго операнда. Адреса операндов поступают на выход мультиплексора 36 в соответствии с временными диаграммами (фиг.4). При низком уровне сигнала- на втором входе элемента И 31 на адресный вход блока пам ти поступает код первого операнда, а при высоком уровне - код второго после формировани последнего адреса любого шага (кроме нулевого ) вычислительной процедуры,на выходе элемента И 34 будет сформирован импульс, по которому счетчик 29 установитс в О, произойдет сдвиг содержимого кольцевого регистра 22 вправо на один разр д. После завершени последнего п-го шага вычислительной процедуры при наличии 1 в разр де Х регистра 22 сдвига произойдет установка в О триггера 30. Таким образом, узел управлени блоком пам ти вновь готов к работе.adder 25, the second input of which receives the variable j code, while the output of the adder 25 forms the address of the first operand, which goes to the first inputs of the multiplexer 36 and the adder 26, the second inputs of which receives code 2 At the output of the adder 26, the address of the second operand is formed. The addresses of the operands arrive at the output of the multiplexer 36 in accordance with the timing diagrams (figure 4). At a low signal level, at the second input of the And 31 element, the code of the first operand arrives at the address input of the memory block, and at a high level, the code of the second after generating the last address of any step (except zero) of the computational procedure, the output of the And 34 element will generate a pulse the counter 29 is set to O will shift the contents of the ring register 22 to the right by one bit. After the last n-th step of the computational procedure is completed, if 1 is present in bit X of the shift register 22, it will be set to O three ger 30. Thus, the control unit memory node is again ready for operation.
Генератор работает следующим-образом .The generator works as follows.
На нулевом шаге по тактовым импульсам , поступающим с второго выхода блока синхронизации, происходит запись ординат равномерно распределенного процесса в блок 3 пам ти. После заполнени блока пам ти высоким уровнем сигнала на управл ющем входе группы мультиплексоров 2 выход сумматора 7 подключаетс к и нформа- ционному входу блока пам ти и устройство реализует К шагов быстрой процедуры преобразовани согласно временным диаграммам (фиг.4). Узел 9 формирует адрес первой ординаты, котора по первому тактовому импульсу записываетс в регистр 4. По второму тактовому импульсу в регистр 5 записываетс втора ордината, код которой группы элементов ИСКЛЮЧАЮЩЕЕ Р1ЛИ 6 инвертируетс , а в разр д рд переноса из младшего разр да сумматора 7 добавл етс 1, тем самым на выходе сумматора 7 формируетс разность ординат, котора по третьему тактовому импульсу записываетс блок пам ти по адресу второй орди-- наты. Далее при низком уровне сиг26450 At the zero step, the clock pulses from the second output of the synchronization block are written to the ordinates of the uniformly distributed process in the memory block 3. After the memory block is filled with a high level at the control input of the group of multiplexers 2, the output of the adder 7 is connected to the information input of the memory block and the device implements the K steps of the fast conversion procedure according to the time diagrams (Fig. 4). The node 9 generates the address of the first ordinate, which is written to the register 4 by the first clock pulse. By the second clock pulse, the second ordinate is written to the register 5, the code of which groups of elements EXCLUSIVE P1LI 6 is inverted and added to the transfer bit from the lower digit of the adder 7 1, thus, at the output of the adder 7, the difference of the ordinates is formed, which is recorded at the third clock pulse by the memory block at the address of the second ordinate. Further, when sig26450 is low
нала на третьем выходе блока синхронизации на выходе сумматора 7 формируетс сумма ординат и записываетс по адресу первой ординаты. Фор- J мирование следующих ординат произойдет аналогично, т.е. за каждые четыре такта будет сформировано две ординаты соответствующего шага процедуры . На последнем шаге вычислило тельной процедуры на выходе сумматора 7 последовательно через два такта будут формироватьс ординаты нормально распределенного случайного процесса.At the third output of the synchronization unit, the sum of the ordinates is formed at the output of the adder 7 and recorded at the address of the first ordinate. The formation of the following ordinates will occur in a similar way, i.e. for every four cycles, two ordinates of the corresponding procedure step will be formed. At the last step of the computational procedure, the ordinates of a normally distributed random process will be formed at the output of adder 7 sequentially after two cycles.
1515
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU843762756A SU1226450A1 (en) | 1984-06-28 | 1984-06-28 | Generator of random numbers with gaussian distribution |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU843762756A SU1226450A1 (en) | 1984-06-28 | 1984-06-28 | Generator of random numbers with gaussian distribution |
Publications (1)
Publication Number | Publication Date |
---|---|
SU1226450A1 true SU1226450A1 (en) | 1986-04-23 |
Family
ID=21127518
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
SU843762756A SU1226450A1 (en) | 1984-06-28 | 1984-06-28 | Generator of random numbers with gaussian distribution |
Country Status (1)
Country | Link |
---|---|
SU (1) | SU1226450A1 (en) |
-
1984
- 1984-06-28 SU SU843762756A patent/SU1226450A1/en active
Non-Patent Citations (1)
Title |
---|
Авторское свидетельство СССР № 378854, кл. G 06 F 7/58, 1970. Авторское свидетельство СССР № 959074, кл. G 06 F 7/58, 1981. * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4161041A (en) | Pseudo random number generator apparatus | |
US4047008A (en) | Pseudo-random number sequence generator | |
US4142240A (en) | Agile code generator | |
SU1226450A1 (en) | Generator of random numbers with gaussian distribution | |
RU1826128C (en) | Pseudorandom sequence generator | |
SU1506594A1 (en) | Information scrambler | |
SU1689940A1 (en) | Device for driving system of discrete orthogonal functions | |
SU1672445A1 (en) | Equally distributed random numbers generator | |
SU1388994A1 (en) | Quadruple-coded sequence generator | |
SU1269128A1 (en) | Device for random generation of permutations | |
SU625222A1 (en) | Pseudorandom number generator | |
SU1024918A1 (en) | Pseudorandom sequence generator | |
SU1309021A1 (en) | Random process generator | |
SU1249512A1 (en) | Random sequence generator | |
SU1262470A1 (en) | Walsh function generator | |
SU1709305A1 (en) | Evenly distributed pseudorandom binary digit generator | |
SU1315997A1 (en) | Device for generating coordinates of net area | |
SU1661810A1 (en) | Contour inclination evaluator | |
SU1499340A1 (en) | Pseudorandom number generator | |
SU1550501A1 (en) | Generator of n-bound markovian sequence | |
SU1177910A1 (en) | Device for generating quaternary-coded sequences | |
SU1170454A1 (en) | Random number generator | |
SU1091227A1 (en) | Device for checking primary storage | |
SU1280619A1 (en) | Pseudorandom number generator | |
SU1182523A1 (en) | Parallel signature analyser |