JP2006293429A - Device and method for random number generation - Google Patents
Device and method for random number generation Download PDFInfo
- Publication number
- JP2006293429A JP2006293429A JP2005109111A JP2005109111A JP2006293429A JP 2006293429 A JP2006293429 A JP 2006293429A JP 2005109111 A JP2005109111 A JP 2005109111A JP 2005109111 A JP2005109111 A JP 2005109111A JP 2006293429 A JP2006293429 A JP 2006293429A
- Authority
- JP
- Japan
- Prior art keywords
- bit
- random number
- cyclic code
- sequence cyclic
- uniform
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
Description
本発明は、乱数生成技術に関し、特に正規分布特性を有する乱数の生成技術に関する。 The present invention relates to a random number generation technique, and more particularly to a random number generation technique having a normal distribution characteristic.
カラー複写機やカラープリンタにおいては、カラーイメージスキャナ等の原稿画像の読取装置やコンピュータから入力された画像信号に対して、Log変換、CMYKへの色空間変換や、プリンタエンジンの特性に合わせた、ガンマ変換が行われた後、誤差拡散処理などの擬似中間処理が行われる。通常、擬似中間処理においては、量子化歪みによるマッハバンドを目立ちにくくするために、意図的に乱数を画像信号に加算する乱数加算処理が行われている。 In color copiers and color printers, image signals input from original image reading devices such as color image scanners and computers are converted to Log conversion, CMYK color space conversion, and printer engine characteristics. After the gamma conversion is performed, pseudo intermediate processing such as error diffusion processing is performed. Normally, in the pseudo-intermediate processing, random number addition processing for intentionally adding a random number to an image signal is performed in order to make the Mach band due to quantization distortion inconspicuous.
上記擬似中間処理はハードウェアで構成され、1サイクル当り1画素の処理が行われる場合、上記乱数加算処理に用いられる正規乱数の生成も1サイクルに1回行う必要がある。 The pseudo intermediate processing is configured by hardware, and when processing of one pixel per cycle is performed, it is necessary to generate a normal random number used for the random number addition processing once per cycle.
上記正規乱数を生成する手法として、主にボックスミューラ法、極座標法、中心極限定理が利用されている。また、一様乱数を生成する手法は、主に線形合同法、M系列巡回符号を利用した手法などがある(下記の非特許文献1参照)。
As a method for generating the normal random numbers, the box mueller method, the polar coordinate method, and the central limit theorem are mainly used. Further, methods for generating uniform random numbers mainly include a linear congruential method and a method using an M-sequence cyclic code (see Non-Patent
正規乱数生成装置の回路規模を増大させないために、一様乱数を生成する手法を用いて生成された長ビットの一様乱数から複数の短ビットの乱数を抽出し、上記複数の短ビットの乱数を用いて正規乱数を生成する方法がある。例えば、M系列巡回符号から長ビットの一様乱数を生成し、上記長ビットの一様乱数から複数の短ビットの乱数を抽出し、上記複数の短ビットの乱数を用いて正規乱数を生成する方法がある。 In order not to increase the circuit size of the normal random number generator, a plurality of short bit random numbers are extracted from the long bit uniform random number generated using a method of generating a uniform random number, and the plurality of short bit random numbers are extracted. There is a method of generating normal random numbers using. For example, a long-bit uniform random number is generated from an M-sequence cyclic code, a plurality of short-bit random numbers are extracted from the long-bit uniform random number, and a normal random number is generated using the plurality of short-bit random numbers. There is a way.
しかし上記の方法では、上記長ビットの一様乱数から抽出した上記複数の短ビットの乱数の相互相関が強くなってしまうため、上記複数の短ビットの乱数を用いて生成された正規乱数の自己相関が強くなってしまう問題がある。 However, in the above method, since the cross-correlation of the plurality of short bit random numbers extracted from the long bit uniform random number becomes strong, the self-regulation of the normal random number generated using the plurality of short bit random numbers. There is a problem that the correlation becomes strong.
以上の問題を解決するためには、例えば、図8で示すように、それぞれシードレジスタ1000〜1011のシードが異なる複数のM系列巡回符号生成器1012〜1023が生成した複数の一様乱数をビット操作部1026〜1037でビット操作し、上記複数の一様乱数を用いて正規乱数生成部1025で正規乱数を生成する手法がある。また、下記の特許文献1に示されるように、一様乱数を生成するためのM系列巡回符号生成器とは別のM系列巡回符号生成器(以下、EXOR生成器と呼ぶ)を用意し、上記M系列巡回符号生成器から生成された乱数とEXOR生成器から生成された乱数をそれぞれのビットごとの排他的論理和を計算し、正規乱数を生成する手法がある。
In order to solve the above problem, for example, as shown in FIG. 8, a plurality of uniform random numbers generated by a plurality of M-sequence
しかし、以上のような自己相関が弱い正規乱数を生成する正規乱数生成装置は複数のM系列巡回符号器、又はEXOR生成器、及び上記M系列巡回符号生成器又は上記EXOR生成器に設定するシードを格納するレジスタを必要とするため、その分回路規模が増大してしまう。また、上記M系列巡回符号生成器又は上記EXOR生成器の数が増えることで、上記M系列巡回符号生成器、又は上記EXOR生成器に対するシード設定が困難になってしまう。 However, the normal random number generator for generating normal random numbers with weak autocorrelation as described above includes a plurality of M-sequence cyclic encoders, or EXOR generators, and seeds set in the M-sequence cyclic code generators or the EXOR generators. Therefore, the circuit scale increases accordingly. In addition, as the number of M-sequence cyclic code generators or EXOR generators increases, seed setting for the M-sequence cyclic code generator or EXOR generator becomes difficult.
本発明は、かかる事情に鑑みてなされたものであり、その目的は、正規乱数を生成する場合に少ないハードウェア規模で良好な正規分布特性を有する乱数を生成する乱数発生装置及び乱数生成方法を提供することにある。 The present invention has been made in view of such circumstances, and an object thereof is to provide a random number generation device and a random number generation method for generating random numbers having good normal distribution characteristics with a small hardware scale when generating normal random numbers. It is to provide.
本発明の乱数生成装置は、所定の周期を有するM系列巡回符号を生成するM系列巡回符号生成手段と、前記M系列巡回符号を基にそれぞれが一様分布特性を有する複数の一様乱数を生成する一様乱数生成手段と、前記複数の一様乱数を用いて正規分布特性を有する正規乱数を生成する正規乱数生成手段とを有することを特徴とする。 The random number generation device of the present invention includes an M-sequence cyclic code generation means for generating an M-sequence cyclic code having a predetermined period, and a plurality of uniform random numbers each having uniform distribution characteristics based on the M-sequence cyclic code. Uniform random number generation means for generating and normal random number generation means for generating normal random numbers having normal distribution characteristics using the plurality of uniform random numbers.
また、本発明の乱数生成装置は、M系列巡回符号を生成してそのM系列巡回符号を基に一様分布特性を有する複数の一様乱数を生成する一様乱数生成手段と、前記複数の一様乱数を加算して正規分布特性を有する正規乱数を生成する正規乱数生成手段とを有することを特徴とする。 Further, the random number generation device of the present invention includes a uniform random number generating means for generating an M-sequence cyclic code and generating a plurality of uniform random numbers having uniform distribution characteristics based on the M-sequence cyclic code; And normal random number generation means for generating normal random numbers having normal distribution characteristics by adding uniform random numbers.
また、本発明の乱数生成方法は、所定の周期を有するM系列巡回符号を生成するM系列巡回符号生成ステップと、前記M系列巡回符号を基にそれぞれが一様分布特性を有する複数の一様乱数を生成する一様乱数生成ステップと、前記複数の一様乱数を用いて正規分布特性を有する正規乱数を生成する正規乱数生成ステップとを有することを特徴とする。 The random number generation method according to the present invention includes an M-sequence cyclic code generation step for generating an M-sequence cyclic code having a predetermined period, and a plurality of uniform distribution characteristics each having uniform distribution characteristics based on the M-sequence cyclic code. A uniform random number generating step for generating a random number; and a normal random number generating step for generating a normal random number having a normal distribution characteristic using the plurality of uniform random numbers.
また、本発明の乱数生成方法は、M系列巡回符号を生成してそのM系列巡回符号を基に一様分布特性を有する複数の一様乱数を生成する一様乱数生成ステップと、前記複数の一様乱数を加算して正規分布特性を有する正規乱数を生成する正規乱数生成ステップとを有することを特徴とする。 Further, the random number generation method of the present invention includes a uniform random number generation step of generating an M-sequence cyclic code and generating a plurality of uniform random numbers having uniform distribution characteristics based on the M-sequence cyclic code, And a normal random number generation step of generating normal random numbers having normal distribution characteristics by adding uniform random numbers.
正規乱数を生成する場合に少ないハードウェア規模で良好な正規分布特性を有する乱数を生成することができる。 When generating normal random numbers, random numbers having good normal distribution characteristics can be generated with a small hardware scale.
(第1の実施形態)
図1は、本発明の第1の実施形態による正規乱数生成装置の一様乱数生成法の概略を示す。100はシードレジスタ、101はM系列巡回符号生成器、102は一様乱数生成部、103は正規乱数生成部、104〜115はビット操作部、116〜127は識別ビットである。以上の構成において、本発明の第1の実施形態を図1を用いて説明する。第1の実施形態は、毎サイクル正規乱数を生成する正規乱数生成装置である。
(First embodiment)
FIG. 1 shows an outline of a uniform random number generation method of a normal random number generation apparatus according to the first embodiment of the present invention. 100 is a seed register, 101 is an M-sequence cyclic code generator, 102 is a uniform random number generation unit, 103 is a normal random number generation unit, 104 to 115 are bit operation units, and 116 to 127 are identification bits. With the above configuration, a first embodiment of the present invention will be described with reference to FIG. The first embodiment is a normal random number generator that generates a normal random number every cycle.
シードレジスタ100について説明する。シードレジスタ100は、後述するM系列巡回符号生成器101に設定するためのシードを格納するレジスタである。
The
M系列巡回符号生成器101について説明する。M系列巡回符号生成器101は、所定の段数のシフトレジスタを構成し、シフトレジスタの所定の出力を排他的論理和による論理演算にてフィードバックすることにより、擬似乱数を生成している。また、上記M系列巡回符号生成器101がN段のシフトレジスタで構成されているとすると、上記M系列巡回符号生成器101が生成する擬似乱数の周期は2N-1である。例えば、28ビットM系列巡回符号生成器を用いた場合、28段のシフトレジスタを構成し、生成する擬似乱数の周期は2*28-1である。M系列巡回符号生成器101は、所定の周期を有するM系列巡回符号を生成する。
The M-sequence
次に、一様乱数生成部102について説明する。上記一様乱数生成部102は上記M系列巡回符号生成器101が生成した擬似乱数を入力とするビット操作部104〜115を備え、またハードウェア固定値で、お互い異なる値の識別ビット116〜127を備えている。これにより、上記ビット操作部104〜115への入力はすべて異なる。例えば、図2で示すように、識別ビット116をハードウェア固定値"0000"としてビット操作部104に入力し、識別ビット117をハードウェア固定値"0001"としてビット操作部105に入力し、識別ビット118をハードウェア固定値"0010"としてビット操作部106に入力し、識別ビット119をハードウェア固定値"0011"としてビット操作部107に入力し、識別ビット120をハードウェア固定値"0100"としてビット操作部108に入力し、識別ビット121をハードウェア固定値"0101"としてビット操作部109に入力し、識別ビット122をハードウェア固定値"0110"としてビット操作部110に入力し、識別ビット123をハードウェア固定値"0111"としてビット操作部111に入力し、識別ビット124をハードウェア固定値"1000"としてビット操作部112に入力し、識別ビット125をハードウェア固定値"1001"としてビット操作部113に入力し、識別ビット126をハードウェア固定値"1010"としてビット操作部114に入力し、識別ビット127をハードウェア固定値"1011"としてビット操作部115に入力することで、上記ビット操作部104〜115はそれぞれ異なる32ビット長の値を入力していることになる。
Next, the uniform random
以上の構成より上記一様乱数生成部102は、一様分布特性を有する相互相関の弱い一様乱数uk(0 <= k <= 11)を生成する。上記ビット操作部104〜115の詳細は後述する。
With the above configuration, the uniform random
上記正規乱数生成部103について説明する。上記正規乱数生成部103は上記一様乱数生成部102で生成する一様乱数uk(0 <= k <= 11)を入力とする。互いに独立ないくつかの乱数の和は正規分布に近づくという中心極限定理に従って正規分布特性を有する正規乱数vn を出力している。例えば一様乱数生成部102が生成する12ビットの一様乱数uk (k = 0,1,・・・11)を用いて中心極限定理に従って正規乱数vnを生成する。正規乱数vnは、式(1)で算出される。正規乱数生成部103は、一様乱数ukを用いて正規分布特性を有する正規乱数vnを生成する。
The normal random
よってvn=-24570〜24570(16 ビット)となる。 Therefore, v n = -24570 to 24570 (16 bits).
次に、図3を使用して、上記ビット操作部104を説明する。101は図1記載のM系列巡回符号生成器、116は図1記載の識別ビット、300はビット抽出回路、301は排他的論理和演算回路、302はビット反転回路である。
Next, the
以上の構成において、M系列巡回符号生成器101のビット長を28ビットにし、識別ビット116を4ビットにした場合の、12ビットの一様乱数u0を生成する上記ビット操作部104について説明する。上記識別ビット116のLSBから数えて、4ビット目をN3、3ビット目をN2、2ビット目をN1、1ビット目をN0とする。
In the above configuration, the
ビット抽出回路300について説明する。上記M系列巡回符号生成器101が生成する上記擬似乱数は自己相関が強いので、ビット抽出回路300は、ビット操作部104が生成する一様乱数u0 の自己相関を軽減するように、上記擬似乱数のビットを任意に抽出する。例えば、一様乱数u0 を生成する際、上記M系列巡回符号生成器101が生成する上記擬似乱数からビットS0〜S13を抽出する必要があるとし、生成する一様乱数u0 のLSBから数えて1ビット目を生成するためにはS0、2ビット目を生成するためにはS1、3ビット目を生成するためにはS2、4ビット目を生成するためにはS3、5ビット目を生成するためにはS4、6ビット目を生成するためにはS5、7ビット目を生成するためにはS6、8ビット目を生成するためにはS7、9ビット目を生成するためにはS8、10ビット目を生成するためにはS9、11ビット目を生成するためにはS10、S11、12ビット目を生成するためにはS12、S13、が必要であるとすると、ビット操作部104は式(2)のように構成される。右辺の値は上記M系列巡回符号101のビット番号である。
The
S13 = 12、S12 = 22、S11 = 1、S10 = 7、S9 = 25、S8 = 2、S7 = 18、S6 = 26、S5 = 3、S4 = 14、S3 = 23、S2 = 6、S1 = 21、S0 = 10 ・・・(2) S13 = 12, S12 = 22, S11 = 1, S10 = 7, S9 = 25, S8 = 2, S7 = 18, S6 = 26, S5 = 3, S4 = 14, S3 = 23, S2 = 6, S1 = 21, S0 = 10 (2)
また、ビット操作部105〜115について図示していないが、S0〜S13を用いてビット操作部105〜115のビット抽出回路を説明すると、ビット操作部105は式(3)のように構成される。右辺の値は上記M系列巡回符号101のビット番号である。
Although the
S13 = 20、S12 = 5、S11 = 0、S10 = 11、S9 = 15、S8 = 4、S7 = 19、S6 = 27、S5 = 9、S4 = 17、S3 = 16、S2 = 24、S1 = 13、S0 = 8 ・・・(3) S13 = 20, S12 = 5, S11 = 0, S10 = 11, S9 = 15, S8 = 4, S7 = 19, S6 = 27, S5 = 9, S4 = 17, S3 = 16, S2 = 24, S1 = 13, S0 = 8 (3)
また、ビット操作部106は式(4)のように構成される。右辺の値は上記M系列巡回符号101のビット番号である。
Further, the
S13 = 26、S12 = 14、S11 = 10、S10 = 2、S9 = 21、S8 = 7、S7 = 18、S6 = 20、S5 = 5、S4 = 12、S3 = 22、S2 = 6、S1 = 0、S0 = 25 ・・・(4) S13 = 26, S12 = 14, S11 = 10, S10 = 2, S9 = 21, S8 = 7, S7 = 18, S6 = 20, S5 = 5, S4 = 12, S3 = 22, S2 = 6, S1 = 0, S0 = 25 (4)
また、ビット操作部107は式(5)のように構成される。右辺の値は上記M系列巡回符号101のビット番号である。
The
S13 = 23、S12 = 4、S11 = 3、S10 = 17、S9 = 13、S8 = 1、S7 = 19、S6 = 27、S5 = 9、S4 = 11、S3 = 16、S2 = 24、S1 = 8、S0 = 15 ・・・(5) S13 = 23, S12 = 4, S11 = 3, S10 = 17, S9 = 13, S8 = 1, S7 = 19, S6 = 27, S5 = 9, S4 = 11, S3 = 16, S2 = 24, S1 = 8, S0 = 15 (5)
また、ビット操作部108は式(6)のように構成される。右辺の値は上記M系列巡回符号101のビット番号である。
Further, the
S13 = 27、S12 = 16、S11 = 9、S10 = 6、S9 = 21、S8 = 7、S7 = 18、S6 = 20、S5 = 5、S4 = 12、S3 = 22、S2 = 2、S1 = 13、S0 = 8 ・・・(6) S13 = 27, S12 = 16, S11 = 9, S10 = 6, S9 = 21, S8 = 7, S7 = 18, S6 = 20, S5 = 5, S4 = 12, S3 = 22, S2 = 2, S1 = 13, S0 = 8 (6)
また、ビット操作部109は式(7)のように構成される。右辺の値は上記M系列巡回符号101のビット番号である。
Further, the
S13 = 13、S12 = 0、S11 = 8、S10 = 19、S9 = 17、S8 = 1、S7 = 26、S6 = 23、S5 = 4、S4 = 11、S3 = 14、S2 = 24、S1 = 10、S0 = 15 ・・・(7) S13 = 13, S12 = 0, S11 = 8, S10 = 19, S9 = 17, S8 = 1, S7 = 26, S6 = 23, S5 = 4, S4 = 11, S3 = 14, S2 = 24, S1 = 10, S0 = 15 (7)
また、ビット操作部110は式(8)のように構成される。右辺の値は上記M系列巡回符号101のビット番号である。
Further, the
S13 = 21、S12 = 15、S11 = 10、S10 = 5、S9 = 19、S8 = 7、S7 = 9、S6 = 20、S5 = 6、S4 = 12、S3 = 26、S2 = 4、S1 = 27、S0 = 13 ・・・(8) S13 = 21, S12 = 15, S11 = 10, S10 = 5, S9 = 19, S8 = 7, S7 = 9, S6 = 20, S5 = 6, S4 = 12, S3 = 26, S2 = 4, S1 = 27, S0 = 13 (8)
また、ビット操作部111は式(9)のように構成される。右辺の値は上記M系列巡回符号101のビット番号である。
Further, the
S13 = 18、S12 = 3、S11 = 1、S10 = 25、S9 = 16、S8 =0、S7 = 22、S6 = 23、S5 = 2、S4 = 11、S3 = 14、S2 = 24、S1 = 17、S0 = 8 ・・・(9) S13 = 18, S12 = 3, S11 = 1, S10 = 25, S9 = 16, S8 = 0, S7 = 22, S6 = 23, S5 = 2, S4 = 11, S3 = 14, S2 = 24, S1 = 17, S0 = 8 (9)
また、ビット操作部112は式(10)のように構成される。右辺の値は上記M系列巡回符号101のビット番号である。
Further, the
S13 = 22、S12 = 24、S11 = 7、S10 = 8、S9 = 19、S8 =1、S7 = 3、S6 = 20、S5 = 6、S4 = 12、S3 = 18、S2 = 10、S1 = 27、S0 = 13 ・・・(10) S13 = 22, S12 = 24, S11 = 7, S10 = 8, S9 = 19, S8 = 1, S7 = 3, S6 = 20, S5 = 6, S4 = 12, S3 = 18, S2 = 10, S1 = 27, S0 = 13 (10)
また、ビット操作部113は式(11)のように構成される。右辺の値は上記M系列巡回符号101のビット番号である。
Further, the
S13 = 11、S12 = 9、S11 = 2、S10 = 16、S9 = 23、S8 =0、S7 = 26、S6 = 5、S5 = 4、S4 = 21、S3 = 14、S2 = 15、S1 = 17、S0 = 25 ・・・(11) S13 = 11, S12 = 9, S11 = 2, S10 = 16, S9 = 23, S8 = 0, S7 = 26, S6 = 5, S5 = 4, S4 = 21, S3 = 14, S2 = 15, S1 = 17, S0 = 25 (11)
また、ビット操作部114は式(12)のように構成される。右辺の値は上記M系列巡回符号101のビット番号である。
Further, the
S13 = 25、S12 = 19、S11 = 10、S10 = 6、S9 = 22、S8 =7、S7 = 24、S6 = 20、S5 = 8、S4 = 12、S3 = 18、S2 = 2、S1 = 27、S0 = 3 ・・・(12) S13 = 25, S12 = 19, S11 = 10, S10 = 6, S9 = 22, S8 = 7, S7 = 24, S6 = 20, S5 = 8, S4 = 12, S3 = 18, S2 = 2, S1 = 27, S0 = 3 (12)
また、ビット操作部115は式(13)のように構成される。右辺の値は上記M系列巡回符号101のビット番号である。
Further, the
S13 = 13、S12 = 4、S11 = 1、S10 = 23、S9 = 15、S8 = 0、S7 = 26、S6 = 16、S5 = 9、S4 = 21、S3 = 14、S2 = 5、S1 = 17、S0 = 11 ・・・(13) S13 = 13, S12 = 4, S11 = 1, S10 = 23, S9 = 15, S8 = 0, S7 = 26, S6 = 16, S5 = 9, S4 = 21, S3 = 14, S2 = 5, S1 = 17, S0 = 11 (13)
次に、排他的論理和演算回路301について説明する。排他的論理和演算回路301は上記ビット抽出回路300で上記M系列巡回符号器101が出力した擬似乱数から抽出したビットS6〜S13と上記識別ビット116の排他的論理和の論理演算を行う。上記排他的論理和演算回路301の構成は、例えば出力が12ビットの乱数列で、上記乱数列をLSBから数えて1ビット目をP0、2ビット目をP1、3ビット目をP2、4ビット目をP3、5ビット目をP4、6ビット目をP5、7ビット目をP6、8ビット目をP7、9ビット目をP8、10ビット目をP9、11ビット目をP10、12ビット目をP11とし、また上記ビット抽出回路300が出力したビットS0〜S13、及び上記識別ビットの各ビットN0〜N3を用いて表すと式(14)で表される。A EXOR BはAとBの排他的論理和の論理演算を意味する。
Next, the exclusive OR
P11 = S13 EXOR S12、P10 = S11 EXOR S10、P9 = S9 EXOR N3、P8 = S8 EXOR N2 、P7 = S7 EXOR N1、 P6 = S6 EXOR N0、 P5 = S5、P4 = S4、P3 = S3、P2 = S2、P1 = S1、P0 = S0 ・・・(14) P11 = S13 EXOR S12, P10 = S11 EXOR S10, P9 = S9 EXOR N3, P8 = S8 EXOR N2, P7 = S7 EXOR N1, P6 = S6 EXOR N0, P5 = S5, P4 = S4, P3 = S3, P2 = S2, P1 = S1, P0 = S0 (14)
また、ビット操作部105〜115の排他的論理和演算回路及び識別ビット117〜127について図示してはいないが、ビット操作部105〜115の排他的論理和演算回路の構成は、ビット操作部104の排他的論理和演算回路301の構成の説明で使用したN0〜N3及びP0〜P11及びS0〜13を用いて表すと式(14)で表される。A EXOR BはAとBの排他的論理和の論理演算を意味する。ただし、それぞれのビット操作部104〜115の記号が同じであっても上記記号に対するビットの値が同じとは限らない。例えば、ビット操作部104の出力ビットP11とビット操作部105の出力ビットP11の値が同じであるとは限らない。
Although the exclusive OR operation circuit and the
以上のように、排他的論理和の論理演算を行うことで、極端な値を持つ一様乱数u0が連続して生成されることを回避できる。 As described above, by performing a logical operation of exclusive OR, it is possible to avoid the generation of a uniform random number u 0 having an extreme value continuously.
次に、ビット反転回路302について説明する。ビット反転回路302は上記排他的論理和演算回路301の出力のビットP0〜P11のうちの任意のビットを反転させ、正規乱数を生成している。例えば、P9、P7、P4、P3、P0をビット反転させ、P11を12ビット目、P10を11ビット目、P9を10ビット目、P8を9ビット目、P7を8ビット目、P6を7ビット目、P5を6ビット目、P4を5ビット目、P3を2ビット目、P2を3ビット目、P1を2ビット目、P0を1ビット目とする12ビット長の一様乱数を生成する。
Next, the
図示してはいないが、ビット操作部105〜115の反転回路について上記P0〜P11を用いて説明すると、上記ビット反転回路302の構成と同じである。ただし、反転するビットはP9、P7、P4、P3、P0に限定するものではない。
Although not shown, when the inverting circuits of the
ビット操作部105〜115は、それぞれが異なる識別ビット116を基にM系列巡回符号をビット操作する。具体的には、ビット操作部105〜115は、M系列巡回符号からビットを抽出するビット抽出回路300と、上記抽出したビット及び識別ビット116の排他的論理和を求める排他的論理和演算回路301と、上記抽出したビット又は上記排他的論理和のビットを反転させるビット反転回路302とを有する。
第1の実施形態では、一様乱数生成部102はビット操作部104〜115を備えることで、例えば相互相関が弱い一様乱数uk(0 <= k <= 11)を生成していたが、一様乱数生成部102が出力した一様乱数uk(0 <= k <= 11)の相互相関が弱ければ、例えば上記ビット生成部104から一様乱数u0、u1を生成するように、上記ビット生成部104〜115が複数の一様乱数uk(0 <= k <= 11)を生成しても特に問題はない。また、一様乱数生成部102が生成した一様乱数uk(0 <= k <= 11)の相互相関が弱ければ、各上記ビット操作部104〜115の構成が同じであるか否かは特に問題ない。例えば、ビット操作部104〜115がハッシュ演算を行うものである場合、ビット操作部104〜115の入力が異なるものであれば、出力する一様乱数uk (0 <= k <= 11)の相互相関が弱いので、上記ビット操作部104〜115の構成がすべて同じであっても特に問題ない。
In the first embodiment, the uniform random
また、一様乱数生成部102はビット操作部104〜115に対してそれぞれ異なる値の記識別ビット116〜127が必要となるため、上記識別ビット116〜127のビット長は4ビットであったが、記識別ビットのビット長は各ビット操作部に対して識別ビットが異なる値を表現できるのであれば特に問題はないことはいうまでもない。また、識別ビット116〜127はハードウェア固定値として説明したが、レジスタ等の記憶媒体であっても特に問題ではない。
In addition, since the uniform random
また、ビット操作部104〜115の反転回路の構成はすべて同じであるが、特に同じである必要はない。
In addition, the configurations of the inverting circuits of the
(第2の実施形態)
図4は、本発明の第2の実施形態による正規乱数生成装置の一様乱数生成法の概略を示す。100は図1記載のシードレジスタ、101は図1記載のM系列巡回符号生成器、104〜109は図1記載のビット操作部、500は一様乱数生成部、501〜506は識別ビット、507は正規乱数生成部、508はカウンタである。以上の構成において、本発明の第2の実施形態を、図4を用いて説明する。
(Second Embodiment)
FIG. 4 shows an outline of the uniform random number generation method of the normal random number generation apparatus according to the second embodiment of the present invention. 100 is a seed register shown in FIG. 1, 101 is an M-sequence cyclic code generator shown in FIG. 1, 104 to 109 are bit operation units shown in FIG. 1, 500 is a uniform random number generator, 501 to 506 are identification bits, 507 Is a normal random number generator, and 508 is a counter. With the above configuration, a second embodiment of the present invention will be described with reference to FIG.
シードレジスタ100、M系列巡回符号生成器101、ビット操作部104〜109は、第1の実施形態と同じ構成なので説明を割愛する。数サイクルに1回正規乱数vnを生成する正規乱数生成装置、例えば、正規乱数vnを生成するために一様乱数uk(0 <= k <= 11)が必要で、2サイクルに1回正規乱数vnを生成する正規乱数生成装置は後述する一様乱数生成部500により回路規模を縮小することができる。
Since the
一様乱数生成部500について説明する。一様乱数生成部500はビット操作部104〜109と後述する識別ビット501〜506を備え、最初のサイクルで一様乱数uk(0 <= k <= 5)を生成し、次のサイクルで一様乱数uk(6 <= k <= 11)を生成する。
The uniform random
次に、識別ビット501〜506について説明する。各上記識別ビット501〜506は3ビットのビット長であり、第1の実施形態と同じ構成である。
Next, the
次に、正規乱数生成部507について説明する。正規乱数生成部507は上記一様乱数生成部が生成した一様乱数uk(0 <= k <= 11)を入力とし、上記一様乱数uk(0 <= k <= 11)を保持する。カウンタ508は1ビットのカウンタであり、正規乱数生成部507はカウンタ508が"1"の時、つまり2サイクルに1回正規乱数vnを生成する。
Next, the normal random
第2の実施形態は正規乱数vnを生成するために一様乱数uk(0 <= k <= 11)が必要で、2サイクルに1回正規乱数vnを生成する場合について説明したが、正規乱数生成部で一様乱数生成部から出力する一様乱数を保持して、正規乱数生成部から正規乱数を生成するタイミングをカウンタで制御していれば、上記構成に限定するものではない。例えば、正規乱数vnを生成するために一様乱数uk(0 <= k <= 11)が必要で、6サイクルに一度だけ正規乱数vnを生成する正規乱数生成装置は、一様乱数生成部がビット操作部を2つ、異なる値を持つ1ビットの識別ビットを2つ備え、また0から5を表すカウンタを備えることで実現できる。
The second embodiment requires a uniform random number u k (0 <= k < = 11) for generating a normal random number v n, has been described to generate a once normal
本実施形態では、上記シードレジスタ100及び上記M系列巡回符号生成器101のビット長を28ビットにし、上記一様乱数生成部102では12ビットの一様乱数を12個生成したが、特に上記ビット長や個数に限定することはないことは言うまでもない。
In this embodiment, the bit length of the
以上のように、第1及び第2の実施形態の正規乱数生成装置によれば、シードレジスタ及びM系列巡回符号生成器101が一組だけの構成であるため、M系列巡回符号に与えるシード設定を容易にし、回路のハードウェアの量を増大させることなく、また極端な値が連続して生成され自己相関が強くなってしまうことを回避した、正規乱数生成装置を提供することができる。また、毎サイクル出力を必要としない場合、カウンタを用いることによって、本実施形態の生成装置の回路規模を縮小することができる。
As described above, according to the normal random number generators of the first and second embodiments, since the seed register and the M-sequence
これにより画像処理において、正規乱数の自己相関による画質劣化を防ぐことができ、良質な画質を得ることができる。図5は本実施形態による正規乱数生成装置が生成した正規乱数の近傍の自己相関を示した図である。また、図6は本実施形態による正規乱数生成装置が生成した正規乱数の28ビットM系列の周期周辺の自己相関を示したグラフである。そして図7は本実施形態による正規乱数生成装置が生成した正規乱数の度数分布表である。標準偏差は127/3である。図5〜図7より相関が弱く、正規分布特性を持った正規乱数を発生することができる正規乱数生成装置であることを証明することができる。 Thereby, in image processing, image quality deterioration due to autocorrelation of normal random numbers can be prevented, and high quality image quality can be obtained. FIG. 5 is a diagram showing the autocorrelation near the normal random number generated by the normal random number generation apparatus according to the present embodiment. FIG. 6 is a graph showing the autocorrelation around the period of a 28-bit M-sequence of normal random numbers generated by the normal random number generation apparatus according to the present embodiment. FIG. 7 is a frequency distribution table of normal random numbers generated by the normal random number generation apparatus according to the present embodiment. The standard deviation is 127/3. It can be proved that the present invention is a normal random number generation device that has a weaker correlation than FIGS. 5 to 7 and can generate normal random numbers having normal distribution characteristics.
(第3の実施形態)
カラー複写機やカラープリンタにおいては、カラーイメージスキャナ等の原稿画像の読取装置やコンピュータから入力された画像信号に対して、Log変換、CMYKへの色空間変換や、プリンタエンジンの特性に合わせた、ガンマ変換が行われた後、誤差拡散処理などの擬似中間処理が行われる。通常、擬似中間処理においては、量子化雑音によるモアレを目立ちにくくするために、故意に一様乱数値や正規乱数値を小雑音として加算する乱数加算処理が行われている。
(Third embodiment)
In color copiers and color printers, image signals input from original image reading devices such as color image scanners and computers are converted to Log conversion, CMYK color space conversion, and printer engine characteristics. After the gamma conversion is performed, pseudo intermediate processing such as error diffusion processing is performed. Normally, in the pseudo-intermediate process, random number addition processing is performed in which a uniform random number value or a normal random number value is intentionally added as small noise in order to make moire due to quantization noise less noticeable.
上記擬似中間処理はハードウェアで構成され、1システムクロック当り1画素の処理が行われる場合、上記乱数加算処理は2画素に一回の処理を行うので正規乱数の生成は2システムクロックに1回行う必要がある。通常ハードウェアを用いて簡略的に正規乱数を生成する方法としては、所望の画素数内で正規乱数の相関が出ないようなビット長で、かつ1システムクロック当り1個の一様乱数を抽出することが可能な複数のM系列巡回符号発生器を用意し、中心極限定理に従って抽出した複数の一様乱数を加算することにより、正規乱数値の生成を行っている。ここで、一様乱数を複数のM系列巡回符号発生器から抽出している理由は、一様乱数間の相関を無くすためである。この時、各M系列巡回符号発生器は同一の原始多項式を基にした構成をとり、夫々のM系列巡回符号発生器に対して異なるシード値を与えることにより、抽出した一様乱数間の相関を無くしている。 The pseudo intermediate processing is configured by hardware, and when one pixel processing is performed per system clock, the random number addition processing is performed once every two pixels, so generation of normal random numbers is performed once every two system clocks. There is a need to do. A simple method of generating normal random numbers using normal hardware is to extract a single random number per system clock with a bit length that does not correlate normal random numbers within the desired number of pixels. A plurality of M-sequence cyclic code generators that can be used are prepared, and normal random values are generated by adding a plurality of uniform random numbers extracted according to the central limit theorem. Here, the reason why uniform random numbers are extracted from a plurality of M-sequence cyclic code generators is to eliminate correlation between uniform random numbers. At this time, each M-sequence cyclic code generator has a configuration based on the same primitive polynomial, and a different seed value is given to each M-sequence cyclic code generator to correlate between the extracted uniform random numbers. Is lost.
例えば、A3 1200DPIの画素数について、相関が出ないように正規乱数を発生する為には、1画素おきに正規乱数を発生したとしても28ビット長のM系列巡回符号発生器が必要である。そして中心極限定理の一様乱数の加算個数を12個とし、28ビット長M系列巡回符号発生器をから12ビットの一様乱数値を2つ抽出する場合、28ビット長M系列巡回符号発生器が6個必要となる。
For example, in order to generate a normal random number so that no correlation occurs for the number of pixels of A3 1200 DPI, an M-sequence cyclic code generator having a 28-bit length is required even if a normal random number is generated every other pixel. If the number of uniform random numbers added to the central limit theorem is 12, and two 12-bit uniform random numbers are extracted from the 28-bit long M-sequence cyclic code generator, the 28-bit long M-sequence
しかし、上記すべての巡回符号に同じ原始多項式を用意し、すべて同じシード値を与えると、1クロックでM系列のデータが1bitしかシフトさせないことから、こうして生成した一様乱数から生成した正規乱数の自己相関は強く出てしまう欠点がある。上記欠点を解消するために異なるシード値を各々のM系列巡回符号に与えることが考えられるが、複数のM系列巡回符号発生器に対して異なるシード値をCPU等から設定する必要があり、それらの設定値を格納するためのレジスタが巡回符号発生器のビット長と同等な分だけ必要となり、ハードウェア規模の増加を招いていた。 However, if the same primitive polynomial is prepared for all of the above cyclic codes and the same seed value is given, the M-sequence data is shifted by only 1 bit in one clock, so the normal random number generated from the uniform random number generated in this way Autocorrelation has a drawback that it appears strongly. In order to eliminate the above drawbacks, it is conceivable to give different seed values to each M-sequence cyclic code, but it is necessary to set different seed values from a CPU or the like for a plurality of M-sequence cyclic code generators. The register for storing the set value is required to be equivalent to the bit length of the cyclic code generator, resulting in an increase in hardware scale.
例えば上記28ビット長M系列巡回符号発生器を6個用いる構成とした場合、シード値設定用のレジスタとしては28x6=168ビット長のレジスタが必要となる。 For example, in the case of using six 28-bit length M-sequence cyclic code generators, a 28 × 6 = 168-bit length register is required as a seed value setting register.
図9は、本発明の第3の実施形態による乱数発生装置の概略を示す。11はCPU等からの設定を格納するレジスタ部、12は他のブロックの動作シーケンス制御を行う制御部、13は一様乱数を生成する一様乱数生成部、14は上記一様乱数生成部13で生成された一様乱数を入力とし、正規乱数を生成する正規乱数生成部、15は上記正規乱数生成部14が生成した正規乱数をスケーリングするスケーリング部である。上記構成において、本発明の第3の実施形態を図9を用いて説明する。
FIG. 9 schematically shows a random number generator according to the third embodiment of the present invention. 11 is a register unit that stores settings from the CPU, 12 is a control unit that controls the operation sequence of other blocks, 13 is a uniform random number generator that generates uniform random numbers, and 14 is the uniform
レジスタ部11はCPU等からの設定値を格納し、他のブロックに供給する。制御部12は他のブロックの動作シーケンス制御を行う。一様乱数生成部13は28ビット長M系列巡回符号発生器6個を備え、12ビットの一様乱数を12個抽出して出力する。ここで、一様乱数のビット長は、後述するスケーリング部15での出力値のビット長は10ビット以上の値が必要であるため、後述するスケーリング部15での演算誤差等を考えて12ビットとしている。正規乱数生成部14は中心極限定理に従って、一様乱数生成部13からの12個の一様乱数を加算して正規乱数を出力する。
The
この手法はXi(i=0,1,・・・11)を区間(0,1)上の一様乱数とすると、これらの乱数の和(X0+X2+・・・+X11)が平均値0、分散が1の正規分布によく近似することを利用する。ここで、出力される一様乱数をuk(k=1〜12)とすると正規乱数xは式(15)で算出される。 In this method, if Xi (i = 0,1, ... 11) is a uniform random number on the interval (0,1), the sum of these random numbers (X 0 + X 2 + ... + X 11 ) Is well approximated to a normal distribution with an average value of 0 and a variance of 1. Here, if the output uniform random number is u k (k = 1 to 12), the normal random number x is calculated by the equation (15).
よってx=-24570〜24570(16ビット)となる。 Therefore, x = -24570 to 24570 (16 bits).
スケーリング部15は上記正規乱数生成部14から出力された16ビットの正規乱数に対して、スケーリングを行い、10ビットの乱数加算値を生成する。図10にスケーリングの一例を示す。3σの値を255にスケーリングすることにより、正規乱数の最大値の6σが510にスケーリングされる。よって符号ビットも含めて10ビットの乱数加算値が生成される。
The scaling
スケーリング部15の出力値の上記乱数加算値は図示していない前段のガンマ変換処理の10ビットの出力濃度値Din(0〜1023の整数値)との加算を行う。以下、図示していない後段のクリッピング処理、誤差拡散処理に出力される。
The above random number addition value of the output value of the
次に図11を用いて一様乱数発生部13の詳細を説明する。31は28bitの共通のシード値(初期値)を格納するシードレジスタ、32はM系列巡回符号を発生させる28ビット長のM系列巡回符号発生器、33は32と原始多項式の異なる28ビット長のM系列巡回符号発生器、34は32、33と原始多項式の異なる28ビット長のM系列巡回符号発生器、35は32、33、34と原始多項式の異なる28ビット長のM系列巡回符号発生器、36は32、33、34、35と原始多項式の異なる28ビット長のM系列巡回符号発生器、37は32、33、34、35、36と原始多項式の異なる28ビット長のM系列巡回符号発生器である。
Next, the details of the uniform
本実施形態において、M系列巡回符号発生部13は、28bit長のM系列巡回符号発生器を6個備える。上記28bit長のM系列巡回符号発生器は各々異なった原始多項式を持つ。例えば、6個の上記28bit長M系列巡回符号発生器各々をMa,Mb・・・Mfとすると、Ma,Mb・・・Mf は式(16)に表される原始多項式を備える。上記原始多項式の組み合わせはなるべく次数が重ならないようにすることで、一様乱数間の相関を抑えることができる。
In this embodiment, the M-sequence
Ma: h(X)=X28+X3
Mb: h(X)=X28+X6+X4+X1
Mc: h(X)=X28+X7+X6+X5
Md: h(X)=X28+X9+X8+X5
Me: h(X)=X28+X10+X3+X1
Mf: h(X)=X28+X11+X7+X3 ・・・(16)
Ma: h (X) = X 28 + X 3
Mb: h (X) = X 28 + X 6 + X 4 + X 1
Mc: h (X) = X 28 + X 7 + X 6 + X 5
Md: h (X) = X 28 + X 9 + X 8 + X 5
Me: h (X) = X 28 + X 10 + X 3 + X 1
Mf: h (X) = X 28 + X 11 + X 7 + X 3 (16)
ここで、Ma,Mb,Mc,Md,Me,Mfは28bit長M系列巡回符号発生器、h(X)は原始多項式である。また、シード値を格納するシードレジスタ31はレジスタ部11内から抜粋して明示している。
Here, Ma, Mb, Mc, Md, Me, and Mf are 28-bit long M-sequence cyclic code generators, and h (X) is a primitive polynomial. The
M系列巡回符号発生器32は28ビット長のM系列巡回符号発生器であり、シードレジスタ31に格納されたシード値を初期値として動作する。28ビット長M系列巡回符号発生器32は、12ビットの一様乱数u0 [11:0]及びu1 [11:0]を出力する。ここで、一様乱数u0 [11:0]及びu1 [11:0]は28ビット長M系列巡回符号発生器32から以下のようにビットを抽出することにより出力される。
The M-sequence
u0 [11:0]=[22,7,11,2,18,1,3,13,23,9,21,10] ・・・(17)
u1 [11:0]=[5,20,8,16,19,0,12,17,4,6,13,15] ・・・(18)
u 0 [11: 0] = [22,7,11,2,18,1,3,13,23,9,21,10] (17)
u 1 [11: 0] = [5,20,8,16,19,0,12,17,4,6,13,15] (18)
式(17)の右辺の数字は、28ビット長M系列巡回符号発生器32のビット番号であり、所望のビットを抽出することにより一様乱数を生成している。またビットの抽出は、乱数としての特性を良くするために連続したビット位置にならないよう不連続なビット位置から抽出する。式(18)で表されるu1 [11:0]についても同様である。ここで、u0 [11:0]とu1 [11:0]はお互いの相関を無くすために28ビット長M系列巡回符号発生器から抽出するビット位置が重ならないようにしている。
The number on the right side of Equation (17) is the bit number of the 28-bit long M-sequence
M系列巡回符号発生器33は28ビット長のM系列巡回符号発生器であり、シードレジスタ31に格納されたシード値を初期値として動作する。28ビット長M系列巡回符号発生器33は、12ビットの一様乱数u2 [11:0]及びu3 [11:0]を出力する。ここで、一様乱数u2 [11:0]及びu3 [11:0]はu0 [11:0]及びu1 [11:0]と同様な方法で28ビット長M系列巡回符号発生器33から以下の様にビットを抽出することにより出力される。
The M-sequence
u2 [11:0]= [7,11,2,18,1,3,13,23,9,21,10,22] ・・・(19)
u3 [11:0]= [20,8,16,19,0,12,17,4,6,13,15,5] ・・・(20)
u 2 [11: 0] = [7,11,2,18,1,3,13,23,9,21,10,22] (19)
u 3 [11: 0] = [20,8,16,19,0,12,17,4,6,13,15,5] (20)
式(19)及び式(20)の表記は、式(17)等と同様である。但し、28ビット長M系列巡回符号発生器33から抽出するビット位置に関して、u2 [11:0]はu0 [11:0]に対してMSB側に1ビットシフトし、u0 [11:0]でMSBだったビット番号'22'をLSBに割り当てている。同様にu3 [11:0]はu1 [11:0]に対してMSB側に1ビットシフトし、u1 [11:0]でMSBだったビット番号'5'をLSBに割り当てている。このように一様乱数間でM系列巡回符号発生器からの抽出位置を変更することにより、抽出位置の依存性による、一様乱数間の相関を少なくしている。
The expressions (19) and (20) are the same as those in expression (17) and the like. However, regarding the bit position extracted from the 28-bit length M-sequence
M系列巡回符号発生器34は28ビット長のM系列巡回符号発生器であり、シードレジスタ31に格納されたシード値を初期値として動作する。28ビット長M系列巡回符号発生器34は、12ビットの一様乱数u4 [11:0]及びu5 [11:0]を出力する。ここで、一様乱数u4[11:0]及びu5[11:0]はu0 [11:0]及びu1 [11:0]と同様な方法で28ビット長M系列巡回符号発生器34から以下の様にビットを抽出することにより出力される。
The M-sequence
u4 [11:0]= [11,2,18,1,3,13,23,9,21,10,22,7] ・・・(21)
u5 [11:0]= [8,16,19,0,12,17,4,6,13,15,5,20] ・・・(22)
u 4 [11: 0] = [11,2,18,1,3,13,23,9,21,10,22,7] (21)
u 5 [11: 0] = [8,16,19,0,12,17,4,6,13,15,5,20] (22)
式(21)及び式(22)の表記は、式(17)等と同様である。但し、28ビット長M系列巡回符号発生器34から抽出するビット位置に関して、u4 [11:0]はu2 [11:0]に対してMSB側に1ビットシフトし、u2 [11:0]でMSBだったビット番号'7'をLSBに割り当てている。同様にu5 [11:0]はu3 [11:0]に対してMSB側に1ビットシフトし、u3 [11:0]でMSBだったビット番号'20'をLSBに割り当てている。
The expressions (21) and (22) are the same as those in expression (17) and the like. However, regarding the bit position extracted from the 28-bit length M-sequence
M系列巡回符号発生器35は28ビット長のM系列巡回符号発生器であり、シードレジスタ31に格納されたシード値を初期値として動作する。28ビット長M系列巡回符号発生器35は、12ビットの一様乱数u6 [11:0]及びu7 [11:0]を出力する。ここで、一様乱数u6 [11:0]及びu7[11:0]はu0 [11:0]及びu1 [11:0]と同様な方法で28ビット長M系列巡回符号発生器35から以下の様にビットを抽出することにより出力される。
The M-sequence
u6 [11:0]= [2,18,1,3,14,23,9,21,10,22,7,11] ・・・(23)
u7 [11:0]= [16,19,0,12,17,4,6,13,15,5,20,8] ・・・(24)
u 6 [11: 0] = [2,18,1,3,14,23,9,21,10,22,7,11] (23)
u 7 [11: 0] = [16,19,0,12,17,4,6,13,15,5,20,8] (24)
式(23)及び式(24)の表記は、式(17)等と同様である。但し、28ビット長M系列巡回符号発生器35から抽出するビット位置に関して、u6 [11:0]はu4[11:0]に対してMSB側に1ビットシフトし、u4[11:0]でMSBだったビット番号'11'をLSBに割り当てている。同様にu7 [11:0]はu5 [11:0]に対してMSB側に1ビットシフトし、u5 [11:0]でMSBだったビット番号'8'をLSBに割り当てている。
The expressions (23) and (24) are the same as those in expression (17) and the like. However, regarding the bit position extracted from the 28-bit length M-sequence
M系列巡回符号発生器36は28ビット長のM系列巡回符号発生器であり、シードレジスタ31に格納されたシード値を初期値として動作する。28ビット長M系列巡回符号発生器36は、12ビットの一様乱数u8 [11:0]及びu9 [11:0]を出力する。ここで、一様乱数u8 [11:0]及びu9[11:0]はu0 [11:0]及びu1 [11:0]と同様な方法で28ビット長M系列巡回符号発生器36から以下の様にビットを抽出することにより出力される。
The M-sequence
u8 [11:0]= [18,1,3,13,23,9,21,10,22,7,11,2] ・・・(25)
u9 [11:0]= [19,0,12,17,4,6,13,15,5,20,8,16] ・・・(26)
u 8 [11: 0] = [18,1,3,13,23,9,21,10,22,7,11,2] (25)
u 9 [11: 0] = [19,0,12,17,4,6,13,15,5,20,8,16] (26)
式(25)及び式(26)の表記は、式(17)等と同様である。但し、28ビット長M系列巡回符号発生器36から抽出するビット位置に関して、u8 [11:0]はu6 [11:0]に対してMSB側に1ビットシフトし、u6 [11:0]でMSBだったビット番号'2'をLSBに割り当てている。同様にu9 [11:0]はu7 [11:0]に対してMSB側に1ビットシフトし、u7 [11:0]でMSBだったビット番号'16'をLSBに割り当てている。
The expressions (25) and (26) are the same as those in expression (17) and the like. However, regarding the bit position extracted from the 28-bit length M-sequence
M系列巡回符号発生器37は28ビット長のM系列巡回符号発生器であり、シードレジスタ31に格納されたシード値を初期値として動作する。28ビット長M系列巡回符号発生器37は、12ビットの一様乱数u10 [11:0]及びu11 [11:0]を出力する。ここで、一様乱数u10 [11:0]及びu11[11:0]はu0 [11:0]及びu1 [11:0]と同様な方法で28ビット長M系列巡回符号発生器37から以下の様にビットを抽出することにより出力される。
The M-sequence
u10 [11:0]= [1,3,14,23,9,21,10,22,7,11,2,18] ・・・(27)
u11 [11:0]= [0,12,17,4,6,13,15,5,20,8,16,19] ・・・(28)
u 10 [11: 0] = [1,3,14,23,9,21,10,22,7,11,2,18] (27)
u 11 [11: 0] = [0,12,17,4,6,13,15,5,20,8,16,19] (28)
式(27)及び式(28)の表記は、式(17)等と同様である。但し、28ビット長M系列巡回符号発生器37から抽出するビット位置に関して、u10 [11:0]はu8 [11:0]に対してMSB側に1ビットシフトし、u8 [11:0]でMSBだったビット番号'18'をLSBに割り当てている。同様にu11 [11:0]はu9 [11:0]に対してMSB側に1ビットシフトし、u9 [11:0]でMSBだったビット番号'19'をLSBに割り当てている。
The expressions (27) and (28) are the same as those in expression (17) and the like. However, regarding the bit position extracted from the 28-bit length M-sequence
本実施形態によれば、上記一様乱数生成手段を用いることで、上記シード値を一つだけ用いたとしても、良質な正規分布特性を持つ乱数を生成することができる。また、シード値を格納するためのレジスタを軽減できるので、ハードウェア規模を縮小させることができる。 According to the present embodiment, by using the uniform random number generating means, it is possible to generate random numbers having good normal distribution characteristics even if only one seed value is used. In addition, since the registers for storing the seed value can be reduced, the hardware scale can be reduced.
(第4の実施形態)
次に、図12を用いて、本発明の第4の実施形態での一様乱数発生部13の詳細を説明する。401は17bitのシード値を格納するシードレジスタ、402は11bitのシード値を格納するシードレジスタ、403はM系列巡回符号を発生させる17ビット長のM系列巡回符号発生器、404はM系列巡回符号を発生させる11ビット長のM系列巡回符号発生器、405は403と原始多項式の異なる17ビット長のM系列巡回符号発生器、406は404と原始多項式の異なる11ビット長のM系列巡回符号発生器、407は403,405と原始多項式の異なる17ビット長のM系列巡回符号発生器、408は404,406と原始多項式の異なる11ビット長のM系列巡回符号発生器、409は403,405,407と原始多項式の異なる17ビット長のM系列巡回符号発生器である。410は404,406,408と原始多項式の異なる11ビット長のM系列巡回符号発生器、411は403,405,407,409と原始多項式の異なる17ビット長のM系列巡回符号発生器、412は404,406,408,410と原始多項式の異なる11ビット長のM系列巡回符号発生器、413は403,405,407,409,411と原始多項式の異なる17ビット長のM系列巡回符号発生器、414は404,406,408,410,412と原始多項式の異なる11ビット長のM系列巡回符号発生器である。
(Fourth embodiment)
Next, details of the uniform random
第3の実施形態ではM系列巡回符号発生器31で28ビット長のM系列巡回符号を一つだけ使用していたが、第4の実施形態では上記M系列巡回符号発生器31で、17bit長のM系列巡回符号発生器、11bit長のM系列巡回符号発生器を各々6個備える。上記17bit長のM系列巡回符号発生器及び上記11bit長のM系列巡回符号発生器は各々異なった原始多項式を持つ。例えば、6個の上記17bit長M系列巡回符号発生器各々をM1a,M1b・・・M1fとすると、M1a,M1b・・・M1f は式(29)に表される原始多項式を備える。また、6個の上記11bit長M系列巡回符号発生器各々をM2a,M2b・・・M2fとすると、M2a,M2b・・・M2f は式(30)に表される原始多項式を備える。上記17bit長のM系列巡回符号発生器及び上記11bit長のM系列巡回符号発生器は、異なる周期を有するM系列巡回符号を生成する。
In the third embodiment, only one 28-bit M-sequence cyclic code is used in the M-sequence
17ビット M系列巡回多項式用原始多項式
M1a: h(X)=X17+X
M1b: h(X)=X17+X5+X3+X2
M1c: h(X)=X17+X6+X4+X2
M1d: h(X)=X17+X7+X5+X
M1e: h(X)=X17+X8+X3+X
M1f: h(X)=X17+X9+X5+X4 ・・・(29)
Primitive polynomial for 17-bit M-sequence cyclic polynomial
M1a: h (X) = X 17 + X
M1b: h (X) = X 17 + X 5 + X 3 + X 2
M1c: h (X) = X 17 + X 6 + X 4 + X 2
M1d: h (X) = X 17 + X 7 + X 5 + X
M1e: h (X) = X 17 + X 8 + X 3 + X
M1f: h (X) = X 17 + X 9 + X 5 + X 4 (29)
11ビットM系列巡回多項式用原始多項式
M2a: h(X)=X11+X2
M2b: h(X)=X11+X4+X2+X
M2c: h(X)=X11+X5+X3+X
M2d: h(X)=X11+X6+X2+X
M2e: h(X)=X11+X7+X5+X3
M2f: h(X)=X11+X8+X3+X2 ・・・(30)
Primitive polynomial for 11-bit M-sequence cyclic polynomial
M2a: h (X) = X 11 + X 2
M2b: h (X) = X 11 + X 4 + X 2 + X
M2c: h (X) = X 11 + X 5 + X 3 + X
M2d: h (X) = X 11 + X 6 + X 2 + X
M2e: h (X) = X 11 + X 7 + X 5 + X 3
M2f: h (X) = X 11 + X 8 + X 3 + X 2 (30)
ここで、M1a,M1b,M1c,M1d,M1e,M1fは17bit長M系列巡回符号発生器、M2a,M2b,M2c,M2d,M2e,M2fは17bit長M系列巡回符号発生器、h(X)は原始多項式である。また、シード値を格納するシードレジスタ401、シードレジスタ402はレジスタ部11内から抜粋して明示している。
Here, M1a, M1b, M1c, M1d, M1e, M1f are 17-bit long M-sequence cyclic code generators, M2a, M2b, M2c, M2d, M2e, M2f are 17-bit long M-sequence cyclic code generators, and h (X) is It is a primitive polynomial. Further, the seed register 401 and the
M系列巡回符号発生器403は17ビット長のM系列巡回符号発生器であり、シードレジスタ401に格納されたシード値を初期値として動作する。また、M系列巡回符号発生器404は11ビット長のM系列巡回符号発生器であり、シードレジスタ402に格納されたシード値を初期値として動作する。17ビット長M系列巡回符号発生器403及び11ビット長M系列巡回符号発生器404は、12ビットの一様乱数u0 [11:0]及びu1 [11:0]を出力する。ここで、一様乱数u0 [11:0]及びu1 [11:0]は17ビット長M系列巡回符号発生器403及び11ビット長M系列巡回符号発生器404から以下のようにビットを抽出することにより出力される。
The M-sequence
u0 [11:0]=[ 11,7',0,2',7,1',3',3,12,9',10,10'] ・・・(31)
u1 [11:0]=[ 5',9,8',5,8,0',1,6,4',6',2,4] ・・・(32)
u 0 [11: 0] = [11,7 ', 0,2', 7,1 ', 3', 3,12,9 ', 10,10'] (31)
u 1 [11: 0] = [5 ', 9,8', 5,8,0 ', 1,6,4', 6 ', 2,4] (32)
式(31)の右辺の数字は、「'」がない数字が17ビット長M系列巡回符号発生器403のビット番号であり、「'」がある数字が11ビット長M系列巡回符号発生器404のビット番号であり、所望のビットを抽出することにより一様乱数を生成している。またビットの抽出は、乱数としての特性を良くするために連続したビット位置にならないよう不連続なビット位置から抽出する。式(32)で表されるu1 [11:0]についても同様である。ここで、u0 [11:0]とu1 [11:0]はお互いの相関を無くすために28ビット長M系列巡回符号発生器から抽出するビット位置が重ならないようにしている。
As for the number on the right side of Expression (31), the number without “′” is the bit number of the 17-bit length M-sequence
M系列巡回符号発生器405は17ビット長のM系列巡回符号発生器であり、シードレジスタ401に格納されたシード値を初期値として動作する。また、M系列巡回符号発生器406は11ビット長のM系列巡回符号発生器であり、シードレジスタ402に格納されたシード値を初期値として動作する。17ビット長M系列巡回符号発生器405及び11ビット長M系列巡回符号発生器406は、12ビットの一様乱数u2 [11:0]及びu3 [11:0]を出力する。ここで、一様乱数u2 [11:0]及びu3 [11:0]はu0 [11:0]及びu1 [11:0]と同様な方法で17ビット長M系列巡回符号発生器405及び11ビット長M系列巡回符号発生器406から以下のようにビットを抽出することにより出力される。
The M-sequence
u2 [11:0]= [7',0,2',7,1',3',3,12,9',10,10',11] ・・・(33)
u3 [11:0]= [9,8',5,8,0',1,6,4',6',2,4,5'] ・・・(34)
u 2 [11: 0] = [7 ', 0,2', 7,1 ', 3', 3,12,9 ', 10,10', 11] (33)
u 3 [11: 0] = [9,8 ', 5,8,0', 1,6,4 ', 6', 2,4,5 '] (34)
式(33)及び式(34)の表記は、式(31)等と同様である。但し、17ビット長M系列巡回符号発生器405及び11ビット長M系列巡回符号発生器406から抽出するビット位置に関して、u2 [11:0]はu0 [11:0]に対してMSB側に1ビットシフトし、u0 [11:0]でMSBだったビット番号「11」をLSBに割り当てている。同様にu3 [11:0]はu1 [11:0]に対してMSB側に1ビットシフトし、u1 [11:0]でMSBだったビット番号「5'」をLSBに割り当てている。このように一様乱数間でM系列巡回符号発生器からの抽出位置を変更することにより、抽出位置の依存性による、一様乱数間の相関を少なくしている。
The expressions of Expression (33) and Expression (34) are the same as Expression (31) and the like. However, regarding the bit positions extracted from the 17-bit length M-sequence
M系列巡回符号発生器407は17ビット長のM系列巡回符号発生器であり、シードレジスタ401に格納されたシード値を初期値として動作する。また、M系列巡回符号発生器408は11ビット長のM系列巡回符号発生器であり、シードレジスタ402に格納されたシード値を初期値として動作する。17ビット長M系列巡回符号発生器407及び11ビット長M系列巡回符号発生器408は、12ビットの一様乱数u4 [11:0]及びu5 [11:0]を出力する。ここで、一様乱数u4 [11:0]及びu5 [11:0]はu0 [11:0]及びu1 [11:0]と同様な方法で17ビット長M系列巡回符号発生器407及び11ビット長M系列巡回符号発生器408から以下のようにビットを抽出することにより出力される。
The M-sequence cyclic code generator 407 is a 17-bit long M-sequence cyclic code generator, and operates using the seed value stored in the seed register 401 as an initial value. The M-sequence
u4[11:0]= [0,2',7,1',3',3,12,9',10,10',11,7'] ・・・(35)
u5[11:0]= [8',5,8,0',1,6,4',6',2,4,5',9] ・・・(36)
u 4 [11: 0] = [0,2 ', 7,1', 3 ', 3,12,9', 10,10 ', 11,7'] (35)
u 5 [11: 0] = [8 ', 5,8,0', 1,6,4 ', 6', 2,4,5 ', 9] (36)
式(35)及び式(36)の表記は、式(31)等と同様である。但し、17ビット長M系列巡回符号発生器407及び11ビット長M系列巡回符号発生器408から抽出するビット位置に関して、u4[11:0]はu2 [11:0]に対してMSB側に1ビットシフトし、u2 [11:0]でMSBだったビット番号「7'」をLSBに割り当てている。同様にu5 [11:0]はu3 [11:0]に対してMSB側に1ビットシフトし、u3 [11:0]でMSBだったビット番号「9」をLSBに割り当てている。このように一様乱数間でM系列巡回符号発生器からの抽出位置を変更することにより、抽出位置の依存性による、一様乱数間の相関を少なくしている。
The expressions (35) and (36) are the same as those in expression (31) and the like. However, regarding the bit positions extracted from the 17-bit length M-sequence cyclic code generator 407 and the 11-bit length M-sequence
M系列巡回符号発生器409は17ビット長のM系列巡回符号発生器であり、シードレジスタ401に格納されたシード値を初期値として動作する。また、M系列巡回符号発生器410は11ビット長のM系列巡回符号発生器であり、シードレジスタ402に格納されたシード値を初期値として動作する。17ビット長M系列巡回符号発生器409及び11ビット長M系列巡回符号発生器410は、12ビットの一様乱数u6 [11:0]及びu7 [11:0]を出力する。ここで、一様乱数u6 [11:0]及びu7 [11:0]はu0 [11:0]及びu1 [11:0]と同様な方法で17ビット長M系列巡回符号発生器409及び11ビット長M系列巡回符号発生器410から以下のようにビットを抽出することにより出力される。
The M-sequence
u6 [11:0]= [7,1',3',3,12,9',10,10',11,7',0,2'] ・・・(37)
u7 [11:0]= [5,8,0',1,6,4',6',2,4,5',9,8'] ・・・(38)
u 6 [11: 0] = [7,1 ', 3', 3,12,9 ', 10,10', 11,7 ', 0,2'] (37)
u 7 [11: 0] = [5,8,0 ', 1,6,4', 6 ', 2,4,5', 9,8 '] (38)
式(37)及び式(38)の表記は、式(31)等と同様である。但し、17ビット長M系列巡回符号発生器409及び11ビット長M系列巡回符号発生器410から抽出するビット位置に関して、u6 [11:0]はu4 [11:0]に対してMSB側に1ビットシフトし、u4 [11:0]でMSBだったビット番号「2'」をLSBに割り当てている。同様にu7 [11:0]はu5 [11:0]に対してMSB側に1ビットシフトし、u5 [11:0]でMSBだったビット番号「8'」をLSBに割り当てている。このように一様乱数間でM系列巡回符号発生器からの抽出位置を変更することにより、抽出位置の依存性による、一様乱数間の相関を少なくしている。
The expressions of Expression (37) and Expression (38) are the same as Expression (31) and the like. However, regarding the bit positions extracted from the 17-bit length M-sequence
M系列巡回符号発生器411は17ビット長のM系列巡回符号発生器であり、シードレジスタ401に格納されたシード値を初期値として動作する。また、M系列巡回符号発生器412は11ビット長のM系列巡回符号発生器であり、シードレジスタ402に格納されたシード値を初期値として動作する。17ビット長M系列巡回符号発生器411及び11ビット長M系列巡回符号発生器412は、12ビットの一様乱数u8 [11:0]及びu9 [11:0]を出力する。ここで、一様乱数u8 [11:0]及びu9 [11:0]はu0 [11:0]及びu1 [11:0]と同様な方法で17ビット長M系列巡回符号発生器411及び11ビット長M系列巡回符号発生器412から以下のようにビットを抽出することにより出力される。
The M-sequence cyclic code generator 411 is a 17-bit long M-sequence cyclic code generator, and operates using the seed value stored in the seed register 401 as an initial value. The M-sequence
u8 [11:0]= [1',3',3,12,9',10,10',11,7',0,2',7] ・・・(39)
u9 [11:0]= [8,0',1,6,4',6',2,4,5',9,8',5] ・・・(40)
u 8 [11: 0] = [1 ', 3', 3,12,9 ', 10,10', 11,7 ', 0,2', 7] (39)
u 9 [11: 0] = [8,0 ', 1,6,4', 6 ', 2,4,5', 9,8 ', 5] (40)
式(39)及び式(40)の表記は、式(31)等と同様である。但し、17ビット長M系列巡回符号発生器411及び11ビット長M系列巡回符号発生器412から抽出するビット位置に関して、u8 [11:0]はu6 [11:0]に対してMSB側に1ビットシフトし、u6 [11:0]でMSBだったビット番号「7」をLSBに割り当てている。同様にu9 [11:0]はu7 [11:0]に対してMSB側に1ビットシフトし、u7 [11:0]でMSBだったビット番号「5」をLSBに割り当てている。このように一様乱数間でM系列巡回符号発生器からの抽出位置を変更することにより、抽出位置の依存性による、一様乱数間の相関を少なくしている。
The expressions (39) and (40) are the same as expressions (31) and the like. However, regarding the bit positions extracted from the 17-bit long M-sequence cyclic code generator 411 and the 11-bit long M-sequence
M系列巡回符号発生器413は17ビット長のM系列巡回符号発生器であり、シードレジスタ401に格納されたシード値を初期値として動作する。また、M系列巡回符号発生器414は11ビット長のM系列巡回符号発生器であり、シードレジスタ402に格納されたシード値を初期値として動作する。17ビット長M系列巡回符号発生器413及び11ビット長M系列巡回符号発生器414は、12ビットの一様乱数u10 [11:0]及びu11 [11:0]を出力する。ここで、一様乱数u10 [11:0]及びu11 [11:0]はu0 [11:0]及びu1 [11:0]と同様な方法で17ビット長M系列巡回符号発生器413及び11ビット長M系列巡回符号発生器414から以下のようにビットを抽出することにより出力される。
The M-sequence
u10 [11:0]= [3',3,12,9',10,10',11,7',0,2',7,1'] ・・・(41)
u11 [11:0]= [0',1,6,4',6',2,4,5',9,8',5,8] ・・・(42)
u 10 [11: 0] = [3 ', 3,12,9', 10,10 ', 11,7', 0,2 ', 7,1'] (41)
u 11 [11: 0] = [0 ', 1,6,4', 6 ', 2,4,5', 9,8 ', 5,8] (42)
式(41)及び式(42)の表記は、式(31)等と同様である。但し、17ビット長M系列巡回符号発生器413及び11ビット長M系列巡回符号発生器414から抽出するビット位置に関して、u10 [11:0]はu8 [11:0]に対してMSB側に1ビットシフトし、u8 [11:0]でMSBだったビット番号「1'」をLSBに割り当てている。同様にu11 [11:0]はu9 [11:0]に対してMSB側に1ビットシフトし、u9 [11:0]でMSBだったビット番号「8」をLSBに割り当てている。このように一様乱数間でM系列巡回符号発生器からの抽出位置を変更することにより、抽出位置の依存性による、一様乱数間の相関を少なくしている。
The expressions (41) and (42) are the same as expressions (31) and the like. However, regarding the bit positions extracted from the 17-bit length M-sequence
図12で説明した複数のM系列巡回符号から1個の一様乱数を生成する場合、生成した一様乱数間の相互相関だけでなく、M系列巡回符号間の相互相関が強く出ないようにシード値を決定する必要があるが、良いシード値を与えることで、28ビット長のM系列巡回符号を一つだけ用いる場合よりも11ビット長のM系列巡回符号と17ビット長のM系列巡回符号各々1個用いる場合の方が、良質な正規分布特性を持つ乱数を生成することができる。 When generating one uniform random number from a plurality of M-sequence cyclic codes described in FIG. 12, not only the cross-correlation between the generated uniform random numbers but also the cross-correlation between M-sequence cyclic codes does not appear strongly. It is necessary to determine the seed value, but by giving a good seed value, the 11-bit M-sequence cyclic code and the 17-bit M-sequence cyclic are used, compared to the case where only one 28-bit M-sequence cyclic code is used. When one code is used, random numbers having good normal distribution characteristics can be generated.
なお、上記実施形態は本発明の一例を示したものであり、本発明はこれに限定されるべきものではないことは言うまでもないことである。 In addition, the said embodiment showed an example of this invention, and it cannot be overemphasized that this invention should not be limited to this.
例えば、式(16)又は式(29)及び式(30)で表した組み合わせの原始多項式をもつM系列巡回符号発生器を使用したが、一様乱数間の相関が出ないような原始多項式であれば、特に限定はない。 For example, an M-sequence cyclic code generator having a primitive polynomial with a combination represented by Equation (16) or Equation (29) and Equation (30) is used. If there is, there is no particular limitation.
また、一様乱数を生成するために28ビット長M系列巡回符号発生器の上記で示したビット位置からビットを抽出したが、乱数としての特性を良くするために連続したビット位置にならないよう不連続なビット位置から抽出していれば、特に限定はない。 In addition, in order to generate uniform random numbers, bits were extracted from the above-mentioned bit positions of the 28-bit long M-sequence cyclic code generator. However, in order to improve the characteristics as random numbers, it is necessary to avoid consecutive bit positions. There is no particular limitation as long as it is extracted from consecutive bit positions.
また、第4の実施形態で11ビット長と17ビット長のM系巡回符号器を使用したが、この組み合わせの合計ビット長が28ビット以上であれば、特に限定はない。 In the fourth embodiment, 11-bit and 17-bit M-type cyclic encoders are used. However, there is no particular limitation as long as the total bit length of this combination is 28 bits or more.
以上説明したように、第3及び第4の実施形態によれば、中心極限定理を用いて正規乱数を生成する場合に、少ないハードウェア規模で良好な正規分布特性をもつ正規乱数発生装置を提供することができる。また、すべてのM系列巡回多項式のシード値を設定する必要がないので、良質な正規分布特性をもつ乱数を生成するシード値を決定しやすい。 As described above, according to the third and fourth embodiments, when generating a normal random number using the central limit theorem, a normal random number generator having a good normal distribution characteristic with a small hardware scale is provided. can do. In addition, since it is not necessary to set seed values for all M-sequence cyclic polynomials, it is easy to determine a seed value for generating random numbers having good normal distribution characteristics.
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。 The above-described embodiments are merely examples of implementation in carrying out the present invention, and the technical scope of the present invention should not be construed in a limited manner. That is, the present invention can be implemented in various forms without departing from the technical idea or the main features thereof.
100 シードレジスタ、
101 M系列巡回符号生成器、
102 一様乱数生成部、
103 正規乱数生成部、
104〜115 ビット操作部、
116〜127 識別ビット、
300 ビット抽出回路、
301 排他的論理和演算回路、
302 ビット反転回路、
500 一様乱数生成部、
501〜506 識別ビット、
507 正規乱数生成部、
508 カウンタ、
1000〜1011 シードレジスタ、
1012〜1023 M系列巡回符号生成器、
1024 一様乱数生成部、
1025 正規乱数生成部、
1026〜1037 ビット操作部
100 seed register,
101 M-sequence cyclic code generator,
102 uniform random number generator,
103 normal random number generator,
104-115 bit operation section,
116-127 identification bits,
300-bit extraction circuit,
301 exclusive OR circuit,
302 bit inversion circuit,
500 uniform random number generator,
501 to 506 identification bits,
507 normal random number generator,
508 counter,
1000-1011 seed register,
1012-1023 M-sequence cyclic code generator,
1024 uniform random number generator,
1025 normal random number generator,
1026 to 1037 Bit operation unit
Claims (12)
前記M系列巡回符号を基にそれぞれが一様分布特性を有する複数の一様乱数を生成する一様乱数生成手段と、
前記複数の一様乱数を用いて正規分布特性を有する正規乱数を生成する正規乱数生成手段と
を有することを特徴とする乱数生成装置。 M-sequence cyclic code generation means for generating an M-sequence cyclic code having a predetermined period;
Uniform random number generating means for generating a plurality of uniform random numbers each having uniform distribution characteristics based on the M-sequence cyclic code;
A random number generation device comprising normal random number generation means for generating normal random numbers having normal distribution characteristics using the plurality of uniform random numbers.
前記複数の一様乱数を加算して正規分布特性を有する正規乱数を生成する正規乱数生成手段と
を有することを特徴とする乱数生成装置。 Uniform random number generating means for generating an M-sequence cyclic code and generating a plurality of uniform random numbers having uniform distribution characteristics based on the M-sequence cyclic code;
A random number generation device comprising normal random number generation means for adding the plurality of uniform random numbers to generate a normal random number having a normal distribution characteristic.
前記M系列巡回符号を基にそれぞれが一様分布特性を有する複数の一様乱数を生成する一様乱数生成ステップと、
前記複数の一様乱数を用いて正規分布特性を有する正規乱数を生成する正規乱数生成ステップと
を有することを特徴とする乱数生成方法。 An M-sequence cyclic code generating step for generating an M-sequence cyclic code having a predetermined period;
A uniform random number generating step for generating a plurality of uniform random numbers each having a uniform distribution characteristic based on the M-sequence cyclic code;
And a normal random number generation step of generating a normal random number having a normal distribution characteristic using the plurality of uniform random numbers.
前記複数の一様乱数を加算して正規分布特性を有する正規乱数を生成する正規乱数生成ステップと
を有することを特徴とする乱数生成方法。 A uniform random number generating step for generating an M-sequence cyclic code and generating a plurality of uniform random numbers having uniform distribution characteristics based on the M-sequence cyclic code;
And a normal random number generating step of generating a normal random number having a normal distribution characteristic by adding the plurality of uniform random numbers.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005109111A JP2006293429A (en) | 2005-04-05 | 2005-04-05 | Device and method for random number generation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005109111A JP2006293429A (en) | 2005-04-05 | 2005-04-05 | Device and method for random number generation |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006293429A true JP2006293429A (en) | 2006-10-26 |
Family
ID=37413978
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005109111A Pending JP2006293429A (en) | 2005-04-05 | 2005-04-05 | Device and method for random number generation |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006293429A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018045501A (en) * | 2016-09-15 | 2018-03-22 | 東芝メモリ株式会社 | Randomizer and semiconductor storage unit |
EP3767456A1 (en) | 2019-07-17 | 2021-01-20 | Fujitsu Limited | Random number generation device and random number generation method |
-
2005
- 2005-04-05 JP JP2005109111A patent/JP2006293429A/en active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018045501A (en) * | 2016-09-15 | 2018-03-22 | 東芝メモリ株式会社 | Randomizer and semiconductor storage unit |
EP3767456A1 (en) | 2019-07-17 | 2021-01-20 | Fujitsu Limited | Random number generation device and random number generation method |
JP2021018455A (en) * | 2019-07-17 | 2021-02-15 | 富士通株式会社 | Random number generator and random number generation method |
US11231908B2 (en) | 2019-07-17 | 2022-01-25 | Fujitsu Limited | Random number generation device and random number generation method |
JP7295413B2 (en) | 2019-07-17 | 2023-06-21 | 富士通株式会社 | RANDOM NUMBER GENERATOR AND RANDOM NUMBER GENERATION METHOD |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8139764B2 (en) | Closed galois field cryptographic system | |
US8180055B2 (en) | Cryptographic system incorporating a digitally generated chaotic numerical sequence | |
JP4954941B2 (en) | Encryption due to non-scale error caused | |
US10171229B2 (en) | Pseudo-random bit generator based on multim-modal maps | |
CN100511331C (en) | Encryption device, encryption method, and computer program thereof | |
JP3696209B2 (en) | Seed generation circuit, random number generation circuit, semiconductor integrated circuit, IC card and information terminal device | |
JP5141910B2 (en) | Encryption and decryption processing method and system for realizing SMS4 encryption algorithm | |
US8401180B2 (en) | Non-linear data converter, encoder and decoder | |
EP1821196A1 (en) | Method and apparatus for seeding a cryptographic random number generator | |
JP4622222B2 (en) | Cryptographic processing apparatus, cryptographic processing method, and computer program | |
Abd-El-Hafiz et al. | Novel permutation measures for image encryption algorithms | |
JP5670849B2 (en) | Pseudorandom number generation device and pseudorandom number generation method | |
US9619206B2 (en) | Pseudo-random bit sequence generator | |
US9015429B2 (en) | Method and apparatus for an efficient hardware implementation of dictionary based lossless compression | |
JP2006293429A (en) | Device and method for random number generation | |
Suneel | Cryptographic pseudo-random sequences from the chaotic Hénon map | |
CN112148661A (en) | Data processing method and electronic equipment | |
JP2008005386A (en) | Solid-state imaging apparatus and signal processing method of the solid-state imaging apparatus | |
US20140289295A1 (en) | Method for generating a random output bit sequence | |
JPH11224183A (en) | Pseudo-random number generating device | |
JP4662367B2 (en) | Information symbol encoding method and apparatus, information symbol decoding method and decoding apparatus | |
KR100756435B1 (en) | Methods and apparatus for keystream generation | |
Falih | A Pseudorandom Binary Generator Based on Chaotic Linear Feedback Shift Register | |
Wang et al. | Thermal noise random number generator based on SHA-2 (512) | |
Fúster-Sabater | Computing classes of cryptographic sequence generators |