RU2634233C1 - Method of generating pseudo-random binary sequence - Google Patents
Method of generating pseudo-random binary sequence Download PDFInfo
- Publication number
- RU2634233C1 RU2634233C1 RU2017100670A RU2017100670A RU2634233C1 RU 2634233 C1 RU2634233 C1 RU 2634233C1 RU 2017100670 A RU2017100670 A RU 2017100670A RU 2017100670 A RU2017100670 A RU 2017100670A RU 2634233 C1 RU2634233 C1 RU 2634233C1
- Authority
- RU
- Russia
- Prior art keywords
- chain
- generator
- code
- psdp
- chains
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C19/00—Digital stores in which the information is moved stepwise, e.g. shift registers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
Landscapes
- Error Detection And Correction (AREA)
Abstract
Description
Изобретение относится к областям информатики и вычислительной техники и может быть использовано для построения генераторов псевдослучайной двоичной последовательности (ГПСДП) с большим кодовым циклом.The invention relates to the field of computer science and computer technology and can be used to build pseudo-random binary sequence generators (GPSPS) with a large code cycle.
Известен способ хранения и использования информации, описанный в изобретении «Запоминающее устройство» (см. патент на изобретение №1805500, МПК G11C 19/00, 06.04.1990 г.), характеризующийся применением комбинаторного устройства, базирующегося на n-разрядном двоичном генераторе из сдвигового регистра (CP) и сумматора по модулю два (См2), охваченных управляемыми обратными связями (ОС), каждый вариант которых (ВОС) генерирует свою, отличную от других вариантов, цепочку кодов.A known method of storing and using information described in the invention "Storage device" (see patent for invention No. 1805500, IPC G11C 19/00, 04/06/1990), characterized by the use of a combinatorial device based on an n-bit binary generator from a shear register (CP) and adder modulo two (Cm2), covered by controlled feedbacks (OS), each version of which (BOC) generates its own, different from other options, a chain of codes.
Наиболее близким по технической сущности к заявляемому изобретению является способ, описанный в брошюре [1] - Б.И. Крыжановский. «Электронное колесо», М.: «Знание», «Радиоэлектроника и связь», №5, 1991 г., рис. 6, стр. 18-20], характеризующийся применением комбинаторного устройства, базирующегося на n-разрядном электронном колесе (ЭК) - двоичном генераторе из CP и См2, охваченных управляемыми ОС, обеспечивающем генерацию при различных ВОС и одновременно при сдвигах информации влево или вправо и при четном или нечетном суммировании - в соответствующих различных режимах, для каждого из которых генерируют свою, отличную от других режимов, цепочку кодов (в прототипе - пакет), причем для получения генерации, состоящей из нескольких цепочек, по завершении генерации каждой цепочки переключают режим работы генератора.The closest in technical essence to the claimed invention is the method described in the brochure [1] - B.I. Kryzhanovsky. "Electronic Wheel", M .: "Knowledge", "Radioelectronics and Communication", No. 5, 1991, fig. 6, p. 18-20], characterized by the use of a combinatorial device based on an n-bit electronic wheel (EC) - a binary generator of CP and Sm2, covered by controlled OS, providing generation at different OSI and at the same time when shifting information left or right and in case of even or odd summation - in the corresponding different modes, for each of which generate their own, different from other modes, code chain (in the prototype - a packet), and to obtain a generation consisting of several chains, upon completion of the gene The operations of each chain switch the operating mode of the generator.
Недостатком известного способа является то, что момент переключения режимов (из текущего в очередной) определяют путем отсчета числа синхротактов (СТ) генерации, равного 2n и соответствующего самой длинной цепочке кодов (один цикл или один пакет) для не вырождающейся генерации. Между тем, для многих режимов имеет место вырождающаяся генерация с более короткой цепочкой кодов, в результате чего на последних синхротактах начнется повтор начальной части цепочки кодов, что снижает качество генерируемой ПСДП в целом. Качественная ПСДП (в том числе и составная) должна иметь как можно более длинную цепочку кодов одного цикла и без их макроповторов, т.е. когда для любой части кодов больше n внутри одного цикла ее первая половина не равна второй.The disadvantage of this method is that the moment of switching modes (from the current to the next) is determined by counting the number of synchronization (ST) generation equal to 2 n and corresponding to the longest chain of codes (one cycle or one packet) for non-degenerate generation. Meanwhile, for many modes, degenerate generation takes place with a shorter code chain, as a result of which the last part of the code chain repeats at the last synchro-clocks, which reduces the quality of the generated PSDP as a whole. A high-quality PSDP (including a composite one) should have the longest possible chain of codes of one cycle and without their macro repeats, i.e. when for any part of the codes more than n inside one cycle its first half is not equal to the second.
Другим недостатком прототипа является то, что в нем ставилась задача получения многопакетной генерации для тестовых наборов технической диагностики или команд управления и т.п. (при этом увеличение длины генерации является отрицательным критерием), но не ставилась задача получения ПСДП максимальной длины на данном n-разрядном генераторе без макроповторов, что важно для использования в задачах со случайными процессами, игровых и т.п.Another disadvantage of the prototype is that it set the task of obtaining multi-packet generation for test sets of technical diagnostics or control commands, etc. (in this case, an increase in the generation length is a negative criterion), but the task was not to obtain the maximum length PSDP on a given n-bit generator without macro repeats, which is important for use in problems with random processes, gaming, etc.
Техническим результатом способа является получение на n-разрядном двоичном генераторе в виде ЭК максимально длинной ПСДП без макроповторов путем составления ее из кодовых цепочек, получаемых во всех возможных режимах работы этого генератора.The technical result of the method is to obtain on an n-bit binary generator in the form of an EC as long as possible PSDP without macro repeats by compiling it from code chains obtained in all possible modes of operation of this generator.
Указанный технический результат достигается тем, что способ генерации псевдослучайной двоичной последовательности, характеризующийся применением комбинаторного устройства, базирующегося на n-разрядном электронном колесе (ЭК) - двоичном генераторе из сдвигового регистра (CP) и сумматоре по модулю два (См2), охваченных управляемыми обратными связями (ОС), обеспечивающем генерацию из любого исходного состояния при различных вариантах ОС (ВОС) и одновременно при сдвигах информации влево или вправо и при четном или нечетном суммировании - в соответствующих различных режимах, для каждого из которых генерируют свою, отличную от других режимов, цепочку кодов, причем для получения генерации, состоящей из нескольких цепочек, по завершении генерации каждой цепочки переключают режим работы генератора, отличается тем, что получают псевдослучайную двоичную последовательность (ПСДП) максимально возможной длины для данного генератора без макроповторов, для чего генерируют составную ПСДП - составную цепочку кодов из соответствующих частных ПСДП - частных цепочек кодов, генерируемых поочередно в каждом из возможных режимов работы данного генератора, при этом момент переключения режимов из текущего в очередной определяют для каждой частной цепочки кодов при первом повторе кода соответствующей цепочки, причем повторившиеся коды не включают в составную цепочку кодов, процесс генерации одного цикла ПСДП завершается генерацией соответствующей частной кодовой цепочки в последнем из возможных режимов работы генератора.The indicated technical result is achieved in that a method for generating a pseudo-random binary sequence, characterized by the use of a combinatorial device based on an n-bit electronic wheel (EC) - a binary generator from a shift register (CP) and an adder modulo two (Cm2), covered by controlled feedback (OS), which provides generation from any initial state for various OS variants (OSI) and at the same time when the information is shifted left or right and with even or odd summation - in corresponding to different modes, for each of which generate their own, different from other modes, code chain, and to obtain generation consisting of several chains, at the end of each chain generation, the generator operation mode is switched, differs in that they receive a pseudorandom binary sequence (PSDP) the maximum possible length for this generator without macro repeats, for which they generate a composite PSDP - a composite chain of codes from the corresponding private PSDP - private chains of codes generated by once in each of the possible modes of operation of this generator, while the moment of switching modes from the current to the next is determined for each private code chain at the first code repeat of the corresponding chain, and the repeated codes are not included in the composite code chain, the process of generating one cycle of the PSDP is completed by generating the corresponding private code chain in the last of the possible modes of operation of the generator.
На фиг. 1, 2, 3 и 4 соответственно для пояснения способа представлены блок-схема 3-разрядного генератора на основе ЭК и графы генерируемых им кодовых цепочек для ВОС=1,3 рр, лев, нечет, исх. состояние нулевое, для ВОС=1,3 рр, прав., нечет исх. состояние нулевое и для ВОС=3 р, лев, чет, исх. состояние нулевое. Первые две - не вырожденные, т.к. присутствуют все возможные коды, а третья - вырожденная, т.к. отсутствуют коды 010 и 101.In FIG. 1, 2, 3 and 4, respectively, to explain the method, a block diagram of a 3-bit generator based on EC and graphs of the code chains generated by it for BOC = 1.3 pp, lion, odd, ref are presented. zero state, for BOC = 1.3 pp, right., odd ref. the state is zero and for BOC = 3 r, lion, even, ref. state is zero. The first two are not degenerate, because all possible codes are present, and the third is degenerate, because
На фиг. 1 показаны CP 1, управляемый коммутатор 2 (См 2) 3, выход 4 генерируемых кодов, ОС 5, вход 6 установки исходного состояния и вход 7 управления коммутатором. Все элементы широкого применения.In FIG. 1 shows CP 1, managed switch 2 (Cm 2) 3,
Способ осуществляется следующим образом.The method is as follows.
Для простоты и ясности пояснений будем оперировать малым значением n. Пусть в соответствии с фиг. 1 используется 3-разрядный генератор на базе ЭК [1] - двоичном генераторе из сдвигового регистра (CP) 1 и сумматора по модулю два (См2) 3, охваченных управляемыми обратными связями (ОС) 5, обеспечивающий генерацию при различных вариантах ОС 5 (ВОС) и одновременно при сдвигах информации влево (на фиг. 1 лев) или вправо и при четном (условно постоянная лог. 1 на дополнительном входе (См2) 3) или нечетном (условно лог. 1 только на 1-м такте на дополнительном входе (См2) 3) суммировании - в соответствующих различных режимах, для каждого из которых генерируют свою, отличную от других режимов, цепочку кодов. Причем для получения генерации, состоящей из нескольких цепочек, по завершении генерации каждой цепочки переключают (с помощью управляемого коммутатора 2) режим работы генератора. При этом получают псевдослучайную двоичную последовательность (ПСДП) максимально возможной длины для данного генератора без макроповторов, для чего генерируют составную ПСДП - составную цепочку кодов из соответствующих частных ПСДП - частных цепочек кодов (фиг. 2, 3, 4), генерируемых поочередно в каждом из возможных режимов работы данного генератора (путем автоматического переключения коммутатора 2 через вход 7 от устройства управления - не показано на фиг. 1 в связи с непринципиальностью в рамках настоящей заявки), при этом момент переключения режимов из текущего в очередной определяют для каждой частной цепочки кодов при первом повторе первого значащего - не нулевого кода соответствующей цепочки, причем повторившийся код не включают в составную цепочку кодов. Процесс генерации одного цикла ПСДП завершается генерацией соответствующей частной кодовой цепочки в последнем из возможных режимов работы генератора.For simplicity and clarity of explanation, we will operate with a small value of n. Let in accordance with FIG. 1, a 3-bit generator based on EC [1] is used - a binary generator from a shift register (CP) 1 and an adder modulo two (cm2) 3, covered by controlled feedback (OS) 5, which provides generation for various versions of OS 5 (OSI) ) and at the same time when the information is shifted to the left (lion in Fig. 1) or to the right and even (conditionally constant log. 1 at the additional input (Sm2) 3) or odd (conditionally log. 1 only at the 1st step at the additional input ( Cm2) 3) summation - in the corresponding different modes, for each of which they generate their own, about different from other modes, a chain of codes. Moreover, to obtain generation consisting of several chains, upon completion of generation of each chain, the generator operation mode is switched (using the controlled switch 2). In this case, a pseudo-random binary sequence (PSDP) of the maximum possible length for this generator without macro repeats is obtained, for which a composite PSDP is generated - a composite chain of codes from the corresponding private PSDP - private code chains (Figs. 2, 3, 4), generated alternately in each of possible modes of operation of this generator (by automatically switching the
Пусть, например, очередность режимов генерации осуществляется в порядке генерируемых цепочек кодов, представленных на фиг. 2, 3, 4. Тогда при завершении генерации первой из этих цепочек (фиг. 2), после кода 100 на выходе 4 происходит первый повтор значащего - не нулевого кода 001, который определяют для данной цепочки кодов (например, способом элементарного сравнения), исключают этот код из составной цепочки (например, стирают в CP 1) и переключают генератор в очередной режим работы, генерирующий соответствующую кодовую цепочку (фиг. 3), затем - аналогично - (фиг. 4) и т.д., получая составную кодовую цепочку, используя все 32=4 (2n) возможных режима генерации данного простейшего генератора.Let, for example, the sequence of generation modes be carried out in the order of the generated code chains shown in FIG. 2, 3, 4. Then, when the generation of the first of these chains is completed (Fig. 2), after
Совершенно очевидно, что практический интерес имеют генераторы ПСДП с несколько большей разрядностью. Пусть, например, n=16. Тогда число различных вариантов ВОС будет 2n=65536, а всего различных режимов работы такого генератора на основе ЭК будет: 4 (65536)=262144. Один из этих режимов работы генератора с ВОС=16, 12, 9 и 7 разряды, реализованный фирмой Хьюлетт-Паккард в своем сигнатурном анализаторе HP 5004А, генерирует в одном цикле не вырожденную кодовую цепочку из 65536 различных (ни одного повтора!) 16-разрядных кодов. В 262143 других режимах работы этого генератора генерируются и другие не вырожденные кодовые цепочки такой же большой длины, а также вырожденные кодовые цепочки меньшей длины. В соответствии с [1] размещение кодов в каждой из кодовых цепочек отличается от всех других. Поэтому составная кодовая цепочка в пределах одного цикла не имеет макроповторов. Поясним это для того же 16-разрядного генератора, все генерируемые цепочки которого на условном микроуровне состоят из одних и тех же 16-разрядных кодов - букв соответствующего алфавита, а каждая генерируемая цепочка имеет неповторимый текст, составленный из одних и тех же букв. Теперь, если анализировать всю составную цепочку (условно - макроуровень), то самыми большими ее частями будут две половины. Они не совпадают, т.к. состоят из разных не равных кодовых цепочек. Разделим пситолам каждую половину и получим не совпадающие четвертинки по той же причине. И т.д. до самого микроуровня. Условно про такую составную цепочку можно сказать, что она не имеет макроповторов, что важно для ПСДП.It is obvious that the PSDP generators with a slightly higher capacity are of practical interest. Let, for example, n = 16. Then the number of different options for OSI will be 2 n = 65536, and in total the various modes of operation of such a generator based on EC will be: 4 (65536) = 262144. One of these operating modes of the generator with BOC = 16, 12, 9, and 7 bits, implemented by Hewlett-Packard in its signature analyzer HP 5004A, generates in one cycle a non-degenerate code chain of 65,536 different (not a single repeat!) 16-bit codes. In 262143 other operating modes of this generator, other non-degenerate code chains of the same long length are also generated, as well as degenerate code chains of a shorter length. According to [1], the placement of codes in each of the code chains is different from all others. Therefore, a composite code chain within one cycle does not have macro repeats. Let us explain this for the same 16-bit generator, all the generated chains of which at the conditional micro level consist of the same 16-bit codes - letters of the corresponding alphabet, and each generated chain has a unique text composed of the same letters. Now, if we analyze the entire compound chain (conditionally, the macro level), then its two largest parts will be the two halves. They do not match, because consist of different unequal code chains. Divide the psitolam each half and get mismatched quarters for the same reason. Etc. to the very micro level. Conventionally, we can say about such a compound chain that it does not have macro repeats, which is important for PSDP.
Имеется две возможности увеличить длину ПСДП.There are two options to increase the length of the PSDP.
Первая возможность связана с использованием в составной кодовой цепочке дополнительных частных кодовых цепочек, получаемых на генераторе при записи в него через вход 6 (фиг. 1) ненулевого исходного состояния перед каждой генерацией каждой частной кодовой цепочки. Число возможных исходных состояний генератора равно 2n, а всего различных кодовых цепочек с учетом сделанного дополнения будет: 4 (22n).The first possibility is associated with the use in the composite code chain of additional private code chains obtained on the generator when writing to it through input 6 (Fig. 1) a non-zero initial state before each generation of each private code chain. The number of possible initial states of the generator is equal to 2 n , and in total various code chains, taking into account the additions made, will be: 4 (2 2n ).
Для 3-разрядного генератора общее число частных кодовых цепочек станет: 4 (22n)=256. Соответственно увеличится длина ПСДП.For a 3-bit generator, the total number of private code chains will be: 4 (2 2n ) = 256. Accordingly, the length of the PSDP will increase.
Вторая возможность увеличения длины ПСДП связана с вариациями составной кодовой цепочкой путем перестановок в ней частных кодовых цепочек, т.е. путем соответствующего изменения очередности режимов работы генератора. Для рассматриваемого в качестве примера 3-разрядного генератора вместо указанной выше очередности кодовых цепочек по фигурам 2-3-4-…, например, изменить очередность кодовых цепочек по фигурам 3-2-4 и т.д. Как известно, число возможных перестановок подчиняется факториальному (!) закону. Даже для 3-разрядного генератора это огромное число - факториал от числа всех частных кодовых цепочек: 256! Для генераторов с большей разрядностью число вариантов различных составных кодовых цепочек становится астрономическим, а длина ПСДП - квазибесконечной.The second possibility of increasing the length of the PSDP is associated with variations of the composite code chain by permuting private code chains in it, i.e. by correspondingly changing the order of the generator operating modes. For a 3-bit generator considered as an example, instead of the above sequence of code chains in figures 2-3-4- ..., for example, change the sequence of code chains in figures 3-2-4, etc. As you know, the number of possible permutations obeys the factorial (!) Law. Even for a 3-bit generator, this is a huge number - the factorial of the number of all private code chains: 256! For generators with a higher bit depth, the number of variants of various composite code chains becomes astronomical, and the length of the PSDP becomes quasi-infinite.
Claims (3)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2017100670A RU2634233C1 (en) | 2017-01-12 | 2017-01-12 | Method of generating pseudo-random binary sequence |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2017100670A RU2634233C1 (en) | 2017-01-12 | 2017-01-12 | Method of generating pseudo-random binary sequence |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2634233C1 true RU2634233C1 (en) | 2017-10-24 |
Family
ID=60153969
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2017100670A RU2634233C1 (en) | 2017-01-12 | 2017-01-12 | Method of generating pseudo-random binary sequence |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2634233C1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SU1691839A2 (en) * | 1989-11-04 | 1991-11-15 | Киевский Политехнический Институт Им.50-Летия Великой Октябрьской Социалистической Революции | Generator of pseudorandom numbers |
EP1422612B1 (en) * | 2002-11-21 | 2006-06-28 | IP-First LLC | Random number generator bit string filter |
RU2355103C1 (en) * | 2007-11-01 | 2009-05-10 | ВОЕННАЯ АКАДЕМИЯ СВЯЗИ имени С.М. Буденного Министерство Обороны Российской Федерации | Pseudorandom sequence generator |
-
2017
- 2017-01-12 RU RU2017100670A patent/RU2634233C1/en active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SU1691839A2 (en) * | 1989-11-04 | 1991-11-15 | Киевский Политехнический Институт Им.50-Летия Великой Октябрьской Социалистической Революции | Generator of pseudorandom numbers |
EP1422612B1 (en) * | 2002-11-21 | 2006-06-28 | IP-First LLC | Random number generator bit string filter |
RU2355103C1 (en) * | 2007-11-01 | 2009-05-10 | ВОЕННАЯ АКАДЕМИЯ СВЯЗИ имени С.М. Буденного Министерство Обороны Российской Федерации | Pseudorandom sequence generator |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100970645B1 (en) | Channel Coding Method of Variable Length Information Using Block Code | |
US20210026603A1 (en) | Random Number Generator and Method of Generating Output Random Number | |
US20120278372A1 (en) | Cryptographic Random Number Generator Using Finite Field Operations | |
Camtepe et al. | Compcrypt–lightweight ans-based compression and encryption | |
Sinha et al. | Parallel computing with extended dynamical systems | |
JP2010531018A5 (en) | ||
US20080170632A1 (en) | Apparatus and Method for Generating Ranging Pseudo Noise Code | |
RU2634233C1 (en) | Method of generating pseudo-random binary sequence | |
US20050044119A1 (en) | Pseudo-random number generator | |
EP3770750A1 (en) | Entropy generator and method of generating enhanced entropy using truly random static entropy | |
Holm et al. | Random k-out subgraph leaves only O (n/k) inter-component edges | |
Peinado et al. | Improving the period and linear span of the sequences generated by DLFSRs | |
US6552588B1 (en) | Method and apparatus to generate pseudo-random non-periodic digital sequences | |
WO2016128463A1 (en) | Method to generate high quality random mask from small entropy source | |
Schilling et al. | Solving compressed right hand side equation systems with linear absorption | |
RU2712827C1 (en) | Method of forming a pseudorandom binary sequence for single-coordinate displacement sensors | |
KR100625247B1 (en) | Apparatus and method for generating ranging pseudo noise code | |
RU2296427C1 (en) | Method for stream encoding of discontinuous information | |
US6691142B2 (en) | Pseudo random address generator for 0.75M cache | |
RU2427885C1 (en) | Quick-acting generator of random shifts and combinations | |
RU2699259C1 (en) | Pseudorandom sequence generator | |
US9645793B2 (en) | Random permutation generator and method for generating a random permutation sequence | |
RU2699589C1 (en) | Method of dynamic data conversion during storage and transmission | |
CN110830047B (en) | Method and system for generating quasi-cyclic low-density parity check code | |
RU2231220C1 (en) | Method for digital data transfer over radio link with pseudorandom operating frequency control |