JP3425163B2 - 乱数生成装置 - Google Patents

乱数生成装置

Info

Publication number
JP3425163B2
JP3425163B2 JP20101992A JP20101992A JP3425163B2 JP 3425163 B2 JP3425163 B2 JP 3425163B2 JP 20101992 A JP20101992 A JP 20101992A JP 20101992 A JP20101992 A JP 20101992A JP 3425163 B2 JP3425163 B2 JP 3425163B2
Authority
JP
Japan
Prior art keywords
random number
register
generation device
number generation
switching
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.)
Expired - Fee Related
Application number
JP20101992A
Other languages
English (en)
Other versions
JPH05315905A (ja
Inventor
伸一 鈴木
博庸 三船
貴史 北口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP20101992A priority Critical patent/JP3425163B2/ja
Publication of JPH05315905A publication Critical patent/JPH05315905A/ja
Application granted granted Critical
Publication of JP3425163B2 publication Critical patent/JP3425163B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、パルス密度型のニュー
ラルネットワークなどに利用される数生成装置に関す
るものである。
【0002】
【従来の技術】従来、乱数生成装置としては電磁ノイズ
などを利用して乱数を生成することが行なわれていた
が、これは再現性が無い等の課題を有するため、現在で
はリニアフィードバックシフトレジスタであるLFSR
(Linear Feedback Shift Register)が出力する長周期の
ビット列を疑似的な乱数として利用することが一般的と
なっている。ここで、このような乱数生成装置を形成す
るLFSRは、リニアに順次接続された複数個のレジス
タの所定の複数の出力部が排他的論理和回路を介して先
頭の入力部にフィードバック接続された構造となってお
り、レジスタに設定された二値信号であるビットを二個
所からフィードバックする際に排他的論理和回路で合成
することで、極めて長周期のビット列で疑似的な乱数を
生成するようになっている。そして、このようなLFS
Rからなる乱数生成装置は、そのレジスタの個数やフィ
ードバック接続の位置及び設定された初期値が同一なら
ば出力するビット列も同一となるので、再現性を有する
乱数を生成することができる。
【0003】例えば、図15に例示するように、七段の
LFSRで乱数生成装置11 〜14を形成する場合、こ
れはリニアに順次接続された七個のレジスタ21 〜27
の所定の中間の出力部3と末端の出力部4とを排他的論
理和回路5を介して先頭の入力部6にフィードバック接
続し、各レジスタ2に同一の基準クロック7を並列に接
続した構造として実施される。
【0004】このような構成において、この乱数生成装
置1では、時刻tにおけるレジスタ21 内に格納された
ビットをAt と表現するならば、時刻(t+j)におけ
るレジスタ2(1+i) 内には、i時間以前にレジスタ21
内に格納されていたビットA(t-i+j) が移動しているこ
とになり、時刻(t−1)におけるレジスタ2(1+i)
に格納されたビットはA(t-i-1) となる。例えば、同図
(c)に例示したように、中間の出力部3を四段目のレ
ジスタ24 に設けた乱数生成装置13 では、一段目のレ
ジスタ21 内のビットAt は、時刻(t−1)における
四段目と七段目とのレジスタ24 ,27 内のビットA
(t-4) ,A(t-7)を排他的論理和回路5で合成した値とな
っている。ここで、排他的論理和回路5によるビットの
合成は“modulo2”での加算に等しいので、一段目のレ
ジスタ21 内のビットAt は、 At =A(t-4) +A(t-7) (mod2) …(1) となる。
【0005】ここで、上述のような七段のLFSRから
なる乱数生成装置1の各レジスタ2に所定のビットが入
力された状態である設定値は、各レジスタ2内のビット
が“0”か“1”の一方となるので27 =128 通りとな
るが、七つの設定値が全て“0”の場合は、ビットの回
送を繰返しても設定値の全てが“0”のままであり、七
つの設定値に一つでも“1”が内包される場合は、ビッ
トの回送を繰返すと設定値は上記組合わせの一つに所定
周期で変化する。ここで、乱数生成装置1の所定のレジ
スタ2内のビットAt が上記数式(1)で規定される場
合、At のビット列は周期(27 −1)の疑似的なラン
ダム系列となることが判明している。つまり、図示した
LFSRからなる乱数生成装置1は、一周期中に(27
−1)のビット列を生成することができるので、このビ
ット列を七桁の二進数として読取ることで乱数生成装置
1は“1〜127”の整数値を出力することになる。な
お、このようなLFSRからなる乱数生成装置1の設定
値を二進数の数値として読取る場合、先頭を最下位とす
る方法と末端を最下位とする方法との両方が実施されて
いるが、ここでは先頭を最下位として説明を行なうもの
とする。ただし、本発明は乱数生成装置の先頭と末端と
の何れを最下位とする方法でも成り立つようになってい
る。
【0006】ここで、ci (=1,2,…p)を“0”
か“1”の整数(ただしcp =1)とすると、このci
によってAt を示す漸化式は、 At =c1(t-1) +c2(t-2) …+cp(t-p) (mod2) …(2) となり、この漸化式の特性多項式は、
【0007】
【数1】
【0008】となる。ここで、上述のような漸化式
(2)によって生成される乱数列は、長さ“2のp乗−
1”以下の周期を有するが、この範囲内で最大周期を生
じる特性多項式を特に原始多項式と呼称している。そし
て、このような原始多項式によって生成される“2のp
乗−1”の周期のAt のビット列を、p次の線形最大周
期列(Maximum-Length Linearly Recurring Sequence)と
してM系列と呼称している。例えば、数式(1)から生
成されるAt のビット列は、原始多項式 f(x)=1+x4 +x7 に対応する七次のM系列である。なお、七段のLFSR
からなる乱数生成装置1の場合、七次のM系列のビット
列を生成するものは図15に例示した四種類に限定され
ているので、これらの乱数生成装置1の原始多項式や漸
化式等を以下に例示する。
【0009】 .図15(a)に例示した乱数生成装置11 原始多項式 f(x)=1+x+x7 漸化式 At =A(t-1) +A(t-7) (mod2) M系列のビット列 図16(a)に例示 生成される乱数列 図17(a)に例示 .図15(b)に例示した乱数生成装置12 原始多項式 f(x)=1+x3 +x7 漸化式 At =A(t-3) +A(t-7) (mod2) M系列のビット列 図16(b)に例示 生成される乱数列 図17(b)に例示 .図15(c)に例示した乱数生成装置13 原始多項式 f(x)=1+x4 +x7 漸化式 At =A(t-4) +A(t-7) (mod2) M系列のビット列 図16(c)に例示 生成される乱数列 図17(c)に例示 .図15(d)に例示した乱数生成装置14 原始多項式 f(x)=1+x6 +x7 漸化式 At =A(t-6) +A(t-7) (mod2) M系列のビット列 図16(d)に例示 生成される乱数列 図17(d)に例示 つまり、このようなLFSRからなる乱数生成装置1
は、M系列のビット列で生成する乱数の周期が最大であ
るので、発生する乱数の不規則性が極めて良好である。
ここで、このようなM系列の乱数生成装置1では、出力
するビット列の周期が最大であることが予め判明してい
るので、これをパルス密度やパルス数で変調することで
パルス位置が不規則な信号を生成することも可能であ
る。
【0010】
【発明が解決しようとする課題】上述のような乱数生成
装置1では、M系列のビット列を生成するので疑似的な
乱数の発生周期を最大にすることができる。
【0011】ここで、上述のような乱数生成装置1で
は、前述したように初期値が“0”の場合は出力される
乱数は恒常的に“0”となってしまうので、乱数を生成
するためには初期値を“0”以外の数値に設定する必要
がある。このため、従来の乱数生成装置1では、リセッ
トによって全てのレジスタ2に“0”が設定されるとパ
ーソナルコンピュータ等で“1”などの初期値を設定し
てから乱数を生成させるなどしているが、これでは作業
が煩雑で能率が低下すると共に、初期値を設定する専用
の装置を要するなどして好ましくない。
【0012】また、上述のような乱数生成装置1が生成
する乱数は各種機器に利用されるが、このような乱数に
“0”が内包されることが要望される場合がある。この
ような場合、例えば、乱数生成装置1が生成する乱数か
ら“1”を減算することで実現可能であるが、これでは
作業が煩雑で能率が低下すると共に、減算を実行する専
用の装置を要するなどして好ましくない。
【0013】さらに、上述のような乱数生成装置1は、
生成する乱数は周期を有する疑似的なもので再現性を有
している。つまり、上述のような乱数生成装置1を連続
的に駆動すると、出力される乱数が一周期に到達すると
同一の乱数が再度出力されるので、結果的に乱数の不規
則性が低下することになって好ましくない。
【0014】
【課題を解決するための手段】請求項記載の発明は、
リニアに順次接続されたn個のレジスタの二つの出力部
が排他的論理和回路を介して先頭の入力部にフィードバ
ック接続されたn段のリニアフィードバックシフトレジ
スタからなる乱数生成装置において、n個の前記レジス
タを入出力が共に正論理のレジスタと負論理のレジスタ
とで混成した。
【0015】請求項記載の発明は、リニアに順次接続
されたn個のレジスタの二つの出力部が排他的論理和回
路を介して先頭の入力部にフィードバック接続されたn
段のリニアフィードバックシフトレジスタからなる乱数
生成装置において、n個の前記レジスタを入出力が共に
正論理のレジスタと負論理のレジスタとで混成し、二つ
の前記出力部から一つの前記入力部に至るフィードバッ
ク接続中に一個の否定回路を設けた。
【0016】請求項記載の発明は、請求項1又は2
載の発明において、n個のレジスタの複数の出力部から
二つを選定して排他的論理和回路に接続するレジスタ切
替手段を設けた。
【0017】請求項記載の発明は、リニアに順次接続
されたn個のレジスタの二つの出力部が排他的論理和回
路を介して先頭の入力部にフィードバック接続されたn
段のリニアフィードバックシフトレジスタからなる乱数
生成装置において、入力される制御信号に従って否定動
作の有無が選択的に切替わる切替否定手段を少なくとも
一個の前記レジスタの入力部と出力部との少なくとも一
方に設け、前記切替否定手段に個々に制御信号を出力し
て否定動作の有無を切替える切替制御手段を設けた。
【0018】請求項記載の発明は、請求項記載の発
明において、レジスタの入力部と出力部とに設けられた
一対の切替否定手段に同一の制御信号を出力する切替制
御手段を設けた。
【0019】請求項記載の発明は、請求項4又は5
載の発明において、制御信号を更新自在に記憶する切替
制御手段を設けた。
【0020】請求項記載の発明は、請求項記載の発
明において、リニアフィードバックシフトレジスタのシ
フトタイミングに同期して制御信号を更新する切替制御
手段を設けた。
【0021】請求項記載の発明は、請求項記載の発
明において、リニアフィードバックシフトレジスタのリ
セットタイミングに同期して制御信号を更新する切替制
御手段を設けた。
【0022】請求項記載の発明は、請求項記載の発
明において、リニアフィードバックシフトレジスタのシ
フトタイミングとリセットタイミングとの両方に同期し
て制御信号を更新する切替制御手段を設けた。
【0023】請求項10記載の発明は、請求項4,5,
6,7,8又は9記載の発明において、先頭のレジスタ
の入力部と出力部とに設けられた一対の切替否定手段に
は相反する制御信号を出力する切替制御手段を設けた。
【0024】
【作用】請求項記載の発明は、リセット等によって全
てのレジスタに“0”が設定された状態で駆動を開始し
ても、レジスタ間をシフトされる“0”を所定の切替否
定手段が“1”に変換するので乱数を生成することがで
き、リセットの後にパーソナルコンピュータ等の装置で
“0”以外の初期値を設定する必要がないので、乱数を
生成する作業が極めて容易で能率向上に寄与することが
でき、さらに、生成した乱数から“1”を減算するよう
なことを要することなく“0”を内包する乱数を生成す
ることができる。
【0025】請求項記載の発明は、リセット等によっ
て全てのレジスタに“0”が設定された状態で駆動を開
始しても、入出力が負論理のレジスタから正論理のレジ
スタにシフトされる“0”は“1”に変換されるので乱
数を生成することができ、リセットの後にパーソナルコ
ンピュータ等の装置で“0”以外の初期値を設定する必
要がないので、乱数を生成する作業が極めて容易で能率
向上に寄与することができる。
【0026】請求項記載の発明は、リセット等によっ
て全てのレジスタに“0”が設定された状態で駆動を開
始しても、排他的論理和回路が出力する“0”を否定回
路が“1”に変換して一番目のレジスタに設定すると共
に、入出力が負論理のレジスタから正論理のレジスタに
シフトされる“0”は“1”に変換されるので乱数を生
成することができ、リセットの後にパーソナルコンピュ
ータ等の装置で“0”以外の初期値を設定する必要がな
いので、乱数を生成する作業が極めて容易で能率向上に
寄与することができる。
【0027】請求項記載の発明は、生成する乱数が一
周期に到達するとレジスタ切替手段で排他的論理和回路
に接続する出力部を変更するなどすることで、順番が異
なる乱数を継続的に生成することができ、簡易な構造で
乱数の周期性を解消して不規則性を向上させることがで
きる。
【0028】請求項記載の発明は、切替制御手段が二
個の切替否定手段を制御することができるので、極めて
簡易な構造で乱数を生成することができ、さらに、この
ような制御信号の内容を乱数の生成中に変更すること
で、生成される乱数は途中で所定数の数列が省略される
ので、制御信号を変更しない場合とは途中から周期が異
なる乱数を生成することができる。
【0029】請求項記載の発明は、切替制御手段が制
御信号を保持することができるので、所望により設定し
た初期値で乱数の生成を繰返すようなことができる。
【0030】請求項記載の発明は、乱数の生成を所望
により設定した初期値で繰返すようなことができる。
【0031】請求項記載の発明は、常に最長周期の乱
数を生成することができ、このような乱数を再現可能な
状態で毎回異なる初期値で生成することができる。
【0032】請求項記載の発明は、乱数を再現可能な
状態で毎回異なる初期値で生成することができる。
【0033】請求項10記載の発明は、生成した乱数か
ら“1”を減算するようなことを要することなく“0”
を内包した乱数を生成することができる。
【0034】
【実施例】本発明の参考例を図1に基づいて説明する。
なお、従来例として例示した乱数生成装置1と同一の部
分は同一の名称及び符号を用いて説明も省略する。ま
ず、このLFSRからなる乱数生成装置8は、順次接続
された七個のレジスタ21 〜27 の三番目の出力部3と
末端の出力部4とを排他的論理和回路5を介して先頭の
入力部6にフィードバック接続し、この入力部6と排他
的論理和回路5との間に否定回路であるインバータ9を
設けた構造となっている。
【0035】このような構成において、この乱数生成装
置8の乱数生成方法では、時刻tにおけるレジスタ21
内に格納されたビットをAt と表現するならば、時刻
(t+j)におけるレジスタ2(1+i) 内には、i時間以
前にレジスタ21 内に格納されていたビットA(t-i+j)
が移動していることになり、時刻(t−1)におけるレ
ジスタ2(1+i) 内に格納されたビットはA(t-i-1) とな
る。そして、この乱数生成装置8の乱数生成方法では、
時刻(t−1)における三段目と七段目とのレジスタ2
4 ,27 内のビットを排他的論理和回路5で合成し、こ
の合成された二値信号であるビットをインバータ9で否
定してから一段目のレジスタ21 内のビットAt として
設定するようになっている。
【0036】このようにすることで、この乱数生成装置
8では、例えば、リセット等によって全てのレジスタ2
に“0”が設定された場合でも、このまま駆動を開始す
ると“0〜126”の乱数を生成するようになってい
る。つまり、この乱数生成装置8では、上述のように全
てのレジスタ2に“0”が設定されると二つの“0”が
入力される排他的論理和回路5は“0”を出力するが、
この“0”が入力されるインバータ9は“1”を出力し
て一番目のレジスタ21 に設定することになる。従っ
て、この乱数生成装置8では、全てのレジスタ2に
“0”が設定された状態から駆動を開始すると“0,
1,3,7,14,28,…”となる乱数を生成するこ
とができ、リセットの後にパーソナルコンピュータ等で
“0”以外の初期値を設定する必要がないので、乱数を
生成する作業が極めて容易で能率向上に寄与することが
できると共に初期値を設定する専用の装置を要しない。
しかも、この乱数生成装置8では、上述のように生成す
る乱数は“0〜126”となって“0”を内包するの
で、乱数内に“0”を要する場合に特に好適であり、従
来の乱数生成装置1のように専用の装置で乱数から
“1”を減算して“0”を内包する乱数を生成するよう
なことは要しない。
【0037】なお、本参考例の乱数生成装置8では、レ
ジスタ2や排他的論理和回路5及び否定回路9をハード
ウェアで形成することを想定したが、このような装置を
ソフトウェアで形成することや、ハードウェアとソフト
ウェアとを混成させた装置で形成することや、ファーム
ウェアで形成することも実施可能である。また、本実施
例の乱数生成装置8では、出力部3,4から入力部6に
至るフィードバック接続中に設けるインバータ9を排他
的論理和回路5と入力部6との間に配置することを例示
したが、このようなインバータ9を出力部3,4と排他
的論理和回路5との間に配置することも実施可能であ
る。さらに、本参考例の乱数生成装置8では、七個のレ
ジスタ2からなるLFSRの三番目と末端部との出力部
3,4を入力部6にフィードバック接続する構造を例示
したが、このようなレジスタ2の個数や出力部3,4の
位置は各種に変更可能である。
【0038】つぎに、請求項記載の発明の実施例を図
2に基づいて説明する。まず、本実施例のLFSRから
なる乱数生成装置10では、順次接続された七個のレジ
スタ21 〜27 の三番目の出力部3と末端の出力部4と
を排他的論理和回路5を介して先頭の入力部6にフィー
ドバック接続し、一番目、三番目、四番目、五番目、六
番目のレジスタ2の入出力部にインバータ11を設けた
構造となっている。
【0039】このような構成において、この乱数生成装
置10は従来の乱数生成装置1と略同様にして乱数を生
成するが、入出力部にインバータ11が設けられたレジ
スタ2は入出力が負論理となっているので、入出力する
二値信号を反転させるようになっている。このため、こ
の乱数生成装置10では、リセット等によって全てのレ
ジスタ2に“0”が設定された場合でも、各レジスタ2
内の“0”が次のレジスタ2にシフトされる際に一個の
インバータ11を通過すると“1”に変換されるので、
“0”が設定された状態から駆動を開始して“1〜12
7”の乱数を生成することができる。より具体的には、
この乱数生成装置10では、七個のレジスタ2に設定さ
れた“0”を一つシフトすると二番目と七番目とのレジ
スタに“1”が設定されて乱数は“61”となるので、
“61,123,119,110,92,56,11
2,…”となる乱数を順次生成することができる。つま
り、この乱数生成装置10は、リセットの後に専用の装
置で“0”以外の初期値を設定する必要がないので、乱
数を生成する作業が極めて容易で能率向上に寄与するこ
とができる。
【0040】なお、本実施例の乱数生成装置10では、
入出力部にインバータ11を設けることで所定のレジス
タ2の正論理の入出力を負論理にすることを例示した
が、本発明は上記形式に限定されるものではなく、所定
のレジスタの入出力を負論理に形成することや、全ての
レジスタの入出力を負論理に形成して所定のレジスタの
入出力部に否定回路を設けること(共に図示せず)など
も実施可能である。
【0041】ここで、本発明の参考例として例示した乱
数生成装置8では、排他的論理和回路5と入力部6との
間に否定回路としてインバータ9を設けた構造となって
おり、請求項記載の発明の実施例として例示した乱数
生成装置10では、所定のレジスタ2の入出力部にイン
バータ11を設けて負論理とした構造となっているが、
図3に例示する請求項記載の発明の実施例のように、
排他的論理和回路5と入力部6との間に否定回路として
インバータ9を設けると共に、所定のレジスタ2の入出
力部にインバータ11を設けて負論理とした乱数生成装
置12なども実施可能である。この場合、このLFSR
からなる乱数生成装置12では、リセットによって全て
のレジスタ2に“0”が設定されても“61,122,
116,105,82,36,72,…”となる乱数を
生成することができ、これは“0〜126”の乱数とな
る。つまり、この乱数生成装置12も、リセットの後に
専用の装置で“0”以外の初期値を設定する必要がない
ので、乱数を生成する作業が極めて容易で能率向上に寄
与することができる。
【0042】つぎに、請求項記載の発明の実施例を図
4に基づいて説明する。まず、本実施例のLFSRから
なる乱数生成装置13では、請求項記載の発明の実施
例として例示した乱数生成装置10の一番目から六番目
のレジスタ21 〜26 の出力部31 〜36 を一個のレジ
スタ切替手段であるセレクタ回路14の六つの入力部に
接続し、このセレクタ回路14の一つの出力部を排他的
論理和回路5に接続した構造となっている。
【0043】このような構成において、この乱数生成装
置13では、通常はセレクタ回路14が六つの出力部3
1 〜36 の一つを設定して排他的論理和回路5に接続し
ており、この状態で前述した乱数生成装置10と同様に
乱数を生成するようになっている。そして、この乱数生
成装置13では、例えば、上述のようにして生成する乱
数が一周期に到達するとセレクタ回路14で排他的論理
和回路5に接続する出力部3を変更することで、順番が
異なる乱数を継続的に生成するようになっている。この
ようにすることで、この乱数生成装置13では、生成す
る乱数が一周期に到達しても同一内容の乱数が出力され
ないので、乱数の周期性を解消して不規則性を向上させ
ることができる。
【0044】なお、本実施例の乱数生成装置13では、
請求項記載の発明の実施例として例示した乱数生成装
置10にレジスタ切替手段としてセレクタ回路14を設
けることを例示したが、本発明は上記形式に限定される
ものではなく、本発明の参考例や請求項2記載の発明の
実施例として例示した乱数生成装置8,12にレジスタ
切替手段を設けることも実施可能である。また、本実施
例の乱数生成装置13では、末端の出力部4は排他的論
理和回路5に固定的に接続して他の出力部3を可変自在
に変更することを例示したが、本発明は上記構造に限定
されるものでもなく、例えば、排他的論理和回路5に接
続される二つの出力部の両方を可変自在に変更するよう
なことも実施可能である。
【0045】つぎに、請求項記載の発明の実施例を図
5及び図6に基づいて説明する。まず、このLFSRか
らなる乱数生成装置15は、図5に例示するように、順
次接続された七個のレジスタ21 〜27 の三番目の出力
部3と末端の出力部4とを排他的論理和回路5を介して
先頭の入力部6にフィードバック接続し、各レジスタ2
1 〜27 の入力部と出力部とに各々設けた切替否定手段
である排他的論理和回路161 〜167 ,171 〜17
7 に切替制御手段である制御回路181 〜187 ,19
1 〜197 に各々接続した構造となっている。より詳細
には、これらの制御回路18,19は、二値の制御信号
を所定タイミングで出力するようになっており、前記排
他的論理和回路16,17の二つの入力端子の一方に各
々接続されている。
【0046】このような構成において、この乱数生成装
置15の乱数生成方法では、制御信号を出力する制御回
路18,19が各々接続された排他的論理和回路16,
17が各レジスタ2の入出力端子に設けられているの
で、例えば、制御回路18,19の少なくとも一個が排
他的論理和回路16,17に制御信号として“1”を出
力することで、リセット等によって全てのレジスタ2に
“0”が設定された場合でも乱数を生成することができ
る。
【0047】つまり、この乱数生成装置15では、例え
ば、レジスタ2の入力部の排他的論理和回路161 〜1
7 に制御回路181 ,182 …187 が“0,0,
1,0,0,0,0”となる制御信号を出力し、レジス
タ2の出力部の排他的論理和回路171 〜177 に制御
回路191 ,192 …197 が“0,0,1,1,0,
0,0”となる制御信号を出力しているならば、全ての
レジスタ21 〜27 に“0”が設定されていても出力さ
れる二値信号は“0,0,1,1,0,0,0”とな
り、この二進数を十進数に換算すると“12”である。
そこで、上述のような制御回路18,19の制御信号を
固定した状態で乱数生成装置15のレジスタ2内のビッ
トを順次シフトすると、図6に例示するように、これは
“0〜127”の乱数を生成することになり、リセット
の後にパーソナルコンピュータ等で“0”以外の初期値
を設定する必要がないので、乱数を生成する作業が極め
て容易で能率向上に寄与することができると共に初期値
を設定する専用の装置を要しない。
【0048】なお、この乱数生成装置15では、上記条
件において乱数の更新が不能となる数値が、ここでは
“7”として存在しているので、実際には生成される乱
数は“7”を内包しない“0〜127”となっている。
より具体的には、十進数で“7”となる乱数生成装置1
5の出力値は“1,1,1,0,0,0,0”なので、
この際のレジスタ21 〜27 内の設定値は“1,0,
1,1,0,0,0”で十進数では“11”である。そ
こで、この乱数生成装置15では、上述のような生成不
能な数値が乱数内に必要な場合は、制御回路18,19
が出力する制御信号の内容を変更することで対応可能で
ある。
【0049】また、本実施例の乱数生成装置15では、
全てのレジスタ21 〜27 の入力部と出力部との各々に
排他的論理和回路16,17を設けることを例示した
が、本発明は上記構造に限定されるものではなく、この
ような排他的論理和回路を一個だけ設けた乱数生成装置
(図示せず)なども実施可能である。さらに、本実施例
の乱数生成装置15では、否定動作の有無が選択的に切
替わる切替否定手段を排他的論理和回路16,17で形
成することを例示したが、本発明は上記構造に限定され
るものでもなく、このような切替否定手段を他のハード
ウェアやソフトウェアやファームウェア等で形成するこ
とも実施可能である。
【0050】つぎに、請求項記載の発明の実施例を図
7及び図8に基づいて説明する。まず、この乱数生成装
置20では、図7に例示するように、レジスタ21 〜2
7 の入力部と出力部とに設けられた一対の排他的論理和
回路161 〜167 ,171〜177 の各々が制御回路
181 〜187 に共通に接続されている。なお、この他
の構造は請求項記載の発明の実施例として前述した乱
数生成装置15と同様になっている。
【0051】このような構成において、この乱数生成装
置20の乱数生成方法では、制御信号を出力する制御回
路18が共通に接続された排他的論理和回路16,17
が各レジスタ2の入出力端子に設けられているので、例
えば、制御回路18の少なくとも一個が排他的論理和回
路16,17に制御信号として“1”を出力すること
で、リセット等によって全てのレジスタ2に“0”が設
定された場合でも乱数を生成することができる。
【0052】つまり、この乱数生成装置20では、例え
ば、一対の排他的論理和回路161〜167 ,171
177 に制御回路181 〜187 が“0,1,1,0,
0,0,0”となる制御信号を出力しているならば、全
てのレジスタ21 〜27 に“0”が設定されていても出
力される二値信号は“0,1,1,0,0,0,0”と
なり、この二進数を十進数に換算すると“6”である。
そこで、上述のような制御回路18の制御信号を固定し
た状態で乱数生成装置20のレジスタ2内のビットを順
次シフトすると、図8(a)に例示するように、やはり
“0〜127”の乱数を生成することになるが、この場
合も上記条件においてレジスタ21 〜27 内の設定値が
“0,1,1,0,0,0,0”となると乱数の更新が
不能となる。この時、この乱数生成装置20が出力する
乱数は十進数では“0”となるので、これは実際には
“0”を内包しない“1〜127”の乱数を生成するこ
とになる。
【0053】そこで、この乱数生成装置20では、制御
回路18が出力する制御信号の内容を乱数の生成中に変
更することも可能であり、例えば、最初は制御回路18
1 〜187 の制御信号を“0,1,1,0,0,0,
0”として乱数生成装置20に18個まで乱数を生成さ
せた際のレジスタ21 〜27 内の設定値は“0,1,
0,1,0,0,0”となっているので、この時点で制
御回路181 〜187 の制御信号を“0,0,1,0,
1,0,0”に変更すると乱数生成装置20の出力値は
“0,1,1,1,1,0,0”となる。そこで、この
ような状態で乱数生成装置20が駆動されると、同図
(b)に例示するように、生成される乱数は途中で所定
数の数列が省略されるので、制御回路18の制御信号を
変更しない場合とは周期が途中から異なることになる。
【0054】なお、この乱数生成装置20では、制御回
路18が各々二個の排他的論理和回路16,17を制御
するようになっているので、前述した乱数生成装置15
等に比較して構造が簡略化されている。
【0055】つぎに、請求項記載の発明の実施例を図
9に基づいて説明する。まず、このLFSRからなる乱
数生成装置21,22は、同図(a),(b)に各々例
示するように、制御信号を更新自在に記憶する切替制御
手段をレジスタ23,24で設けた他は、前述した乱数
生成装置15,20と各々同様になっている。
【0056】このような構成において、これらの乱数生
成装置21,22は、レジスタ23,24が制御信号を
更新自在に記憶した状態で前述した乱数生成装置15,
20と同様に乱数を生成するようになっており、レジス
タ23,24が制御信号を保持することができるので、
所望により設定した初期値で乱数の生成を繰返すような
ことができる。
【0057】つぎに、請求項記載の発明の実施例を図
10に基づいて説明する。まず、このLFSRからなる
乱数生成装置25は、シフトタイミングの制御用の基準
クロック7を切替制御手段であるレジスタ24に接続し
た他は、前述した乱数生成装置22等と同様になってい
る。
【0058】このような構成において、この乱数生成装
置25は、基準クロック7のクロックタイミングに従っ
てレジスタ2,24が格納したビットをシフトするの
で、レジスタ2が乱数となるビットをシフトする毎に排
他的論理和回路16,17の制御信号も更新されること
になる。この時、このような制御信号の更新タイミング
が不規則であると乱数の再現性が阻害されるので、この
乱数生成装置25では、レジスタ2,24のシフトタイ
ミングを同期させることで、乱数の生成を所望により設
定した初期値で再現できるようになっている。
【0059】つぎに、請求項記載の発明の実施例を図
11に基づいて説明する。まず、このLFSRからなる
乱数生成装置26は、各レジスタ2に並列に接続された
リセット回路27を切替制御手段であるレジスタ24に
接続した他は、前述した乱数生成装置22等と同様にな
っている。
【0060】このような構成において、この乱数生成装
置26は、リセット回路27がレジスタ2をリセットす
る毎にレジスタ24が格納したビットをシフトして排他
的論理和回路16,17の制御信号が更新されるので、
生成される乱数は常に最長周期となり、このような乱数
が再現可能な状態で毎回異なる初期値で生成されること
になる。この時、上述のような制御信号の更新タイミン
グが不規則であると乱数の再現性が阻害されるので、こ
の乱数生成装置26では、リセット回路27のリセット
とレジスタ24のシフトとのタイミングを同期させるこ
とで、乱数の生成を所望により設定した初期値で再現で
きるようになっている。
【0061】つぎに、請求項記載の発明の実施例を図
12に基づいて説明する。まず、このLFSRからなる
乱数生成装置28は、基準クロック7とリセット回路2
7との両方を切替制御手段であるレジスタ24に接続し
た他は、前述した乱数生成装置22等と同様になってい
る。
【0062】このような構成において、この乱数生成装
置28は、基準クロック7のクロックタイミングに従っ
てレジスタ2,24が格納したビットをシフトするの
で、レジスタ2が乱数となるビットをシフトする毎に排
他的論理和回路16,17の制御信号が更新されること
になる。この時、このような制御信号の更新タイミング
が不規則であると乱数の再現性が阻害されるので、この
乱数生成装置28では、レジスタ2,24のシフトタイ
ミングを同期させることで、乱数の生成を所望により設
定した初期値で再現できるようになっている。しかも、
この乱数生成装置28では、リセット回路27がレジス
タ2をリセットする毎にレジスタ24が格納したビット
をシフトして排他的論理和回路16,17の制御信号が
更新されるので、乱数が再現可能な状態で毎回異なる初
期値で生成されることになる。
【0063】さらに、請求項10記載の発明の実施例を
図13及び図14に基づいて説明する。まず、このLF
SRからなる乱数生成装置29は、図13に例示するよ
うに、基準クロック7とリセット回路27との両方を切
替制御手段であるレジスタ24に接続し、このレジスタ
24と先頭の排他的論理和回路161 との間に切替制御
手段の一部であるインバータ30を設けた他は、前述し
た乱数生成装置22等と同様になっている。
【0064】このような構成において、この乱数生成装
置29は、基準クロック7のクロックタイミングに従っ
てレジスタ2,24が格納したビットをシフトするの
で、レジスタ2が乱数となるビットをシフトする毎に排
他的論理和回路16,17の制御信号が更新されること
になり、乱数の不規則性を向上させることが可能であ
り、しかも、リセット回路27がレジスタ2をリセット
する毎にレジスタ24が格納したビットをシフトして排
他的論理和回路16,17の制御信号が更新されるの
で、乱数が再現可能な状態で毎回異なる初期値で生成さ
れることになる。
【0065】ここで、この乱数生成装置29では、制御
回路181 〜187 が一対の排他的論理和回路161
167 ,171 〜177 に制御信号を出力するようにな
っているが、先頭の排他的論理和回路161 に入力され
る制御信号はインバータ30で反転する。そこで、例え
ば、制御回路181 〜187 が“0,1,1,0,0,
0,0”となる制御信号を出力した場合は先頭の排他的
論理和回路161 に“1”が出力され、全てのレジスタ
1 〜27 に“0”が設定されていても出力される二値
信号は“0,1,1,0,0,0,0”となり、この二
進数を十進数に換算すると“6”である。そこで、この
乱数生成装置29のレジスタ2,24内のビットを順次
シフトすると、図14に例示するように、“0〜12
7”の乱数を生成することになるが、この場合はレジス
タ21 〜27 内の設定値が“1,0,0,1,1,1,
1”となると乱数の更新が不能となる。この時、この乱
数生成装置29が出力する乱数は十進数では“127”
なので、これは実際には“127”を内包しない“0〜
126”の乱数を生成することになる。
【0066】つまり、この乱数生成装置29では、上述
のように生成する乱数は“0〜126”となって“0”
を内包するので、乱数内に“0”を要する場合に特に好
適であり、従来の乱数生成装置1のように専用の装置で
乱数から“1”を減算して“0”を内包する乱数を生成
するようなことは要しない。
【0067】
【発明の効果】請求項記載の発明は、リニアに順次接
続されたn個のレジスタの二つの出力部が排他的論理和
回路を介して先頭の入力部にフィードバック接続された
n段のリニアフィードバックシフトレジスタからなる乱
数生成装置において、n個の前記レジスタを入出力が共
に正論理のレジスタと負論理のレジスタとで混成したこ
とにより、リセット等によって全てのレジスタに“0”
が設定された状態で駆動を開始しても、入出力が負論理
のレジスタから正論理のレジスタにシフトされる“0”
は“1”に変換されるので乱数を生成することができ、
リセットの後にパーソナルコンピュータ等の装置で
“0”以外の初期値を設定する必要がないので、乱数を
生成する作業が極めて容易で能率向上に寄与することが
できる等の効果を有するものである。
【0068】請求項記載の発明は、リニアに順次接続
されたn個のレジスタの二つの出力部が排他的論理和回
路を介して先頭の入力部にフィードバック接続されたn
段のリニアフィードバックシフトレジスタからなる乱数
生成装置において、n個の前記レジスタを入出力が共に
正論理のレジスタと負論理のレジスタとで混成し、二つ
の前記出力部から一つの前記入力部に至るフィードバッ
ク接続中に一個の否定回路を設けたことにより、リセッ
ト等によって全てのレジスタに“0”が設定された状態
で駆動を開始しても、排他的論理和回路が出力する
“0”を否定回路が“1”に変換して一番目のレジスタ
に設定すると共に、入出力が負論理のレジスタから正論
理のレジスタにシフトされる“0”は“1”に変換され
るので乱数を生成することができ、リセットの後にパー
ソナルコンピュータ等の装置で“0”以外の初期値を設
定する必要がないので、乱数を生成する作業が極めて容
易で能率向上に寄与することができる等の効果を有する
ものである。
【0069】請求項記載の発明は、請求項1又は2
載の発明において、n個のレジスタの複数の出力部から
二つを選定して排他的論理和回路に接続するレジスタ切
替手段を設けたことにより、例えば、生成する乱数が一
周期に到達するとレジスタ切替手段で排他的論理和回路
に接続する出力部を変更するなどすることで、順番が異
なる乱数を継続的に生成することができ、簡易な構造で
乱数の周期性を解消して不規則性を向上させることがで
きる等の効果を有するものである。
【0070】請求項記載の発明は、リニアに順次接続
されたn個のレジスタの二つの出力部が排他的論理和回
路を介して先頭の入力部にフィードバック接続されたn
段のリニアフィードバックシフトレジスタからなる乱数
生成装置において、入力される制御信号に従って否定動
作の有無が選択的に切替わる切替否定手段を少なくとも
一個の前記レジスタの入力部と出力部との少なくとも一
方に設け、前記切替否定手段に個々に制御信号を出力し
て否定動作の有無を切替える切替制御手段を設けたこと
により、リセット等によって全てのレジスタに“0”が
設定された状態で駆動を開始しても、レジスタ間をシフ
トされる“0”を所定の切替否定手段が“1”に変換す
るので乱数を生成することができ、リセットの後にパー
ソナルコンピュータ等の装置で“0”以外の初期値を設
定する必要がないので、乱数を生成する作業が極めて容
易で能率向上に寄与することができ、さらに、生成した
乱数から“1”を減算するようなことを要することなく
“0”を内包する乱数を生成することができる等の効果
を有するものである。
【0071】請求項記載の発明は、請求項記載の発
明において、レジスタの入力部と出力部とに設けられた
一対の切替否定手段に同一の制御信号を出力する切替制
御手段を設けたことにより、この切替制御手段は二個の
切替否定手段を制御することができるので、極めて簡易
な構造で乱数を生成することができ、さらに、このよう
な制御信号の内容を乱数の生成中に変更することで、生
成される乱数は途中で所定数の数列が省略されるので、
制御信号を変更しない場合とは途中から周期が異なる乱
数を生成することができる等の効果を有するものであ
る。
【0072】請求項記載の発明は、請求項4又は5
載の発明において、制御信号を更新自在に記憶する切替
制御手段を設けたことにより、この切替制御手段は制御
信号を保持することができるので、所望により設定した
初期値で乱数の生成を繰返すようなことができる等の効
果を有するものである。
【0073】請求項記載の発明は、請求項記載の発
明において、リニアフィードバックシフトレジスタのシ
フトタイミングに同期して制御信号を更新する切替制御
手段を設けたことにより、乱数の生成を所望により設定
した初期値で繰返すようなことができる等の効果を有す
るものである。
【0074】請求項記載の発明は、請求項記載の発
明において、リニアフィードバックシフトレジスタのリ
セットタイミングに同期して制御信号を更新する切替制
御手段を設けたことにより、常に最長周期の乱数を生成
することができ、このような乱数を再現可能な状態で毎
回異なる初期値で生成することができる等の効果を有す
るものである。
【0075】請求項記載の発明は、請求項記載の発
明において、リニアフィードバックシフトレジスタのシ
フトタイミングとリセットタイミングとの両方に同期し
て制御信号を更新する切替制御手段を設けたことによ
り、乱数を再現可能な状態で毎回異なる初期値で生成す
ることができる等の効果を有するものである。
【0076】請求項10記載の発明は、請求項4,5,
6,7,8又は9記載の発明において、先頭のレジスタ
の入力部と出力部とに設けられた一対の切替否定手段に
は相反する制御信号を出力する切替制御手段を設けたこ
とにより、生成した乱数から“1”を減算するようなこ
とを要することなく“0”を内包した乱数を生成するこ
とができる等の効果を有するものである。
【図面の簡単な説明】
【図1】本発明の参考例を示すブロック図である。
【図2】請求項記載の発明の実施例を示すブロック図
である。
【図3】請求項記載の発明の実施例を示すブロック図
である。
【図4】請求項記載の発明の実施例を示すブロック図
である。
【図5】請求項記載の発明の実施例を示すブロック図
である。
【図6】M系列の乱数を示す概念説明図である。
【図7】請求項記載の発明の実施例を示すブロック図
である。
【図8】M系列の乱数を示す概念説明図である。
【図9】請求項記載の発明の実施例を示すブロック図
である。
【図10】請求項記載の発明の実施例を示すブロック
図である。
【図11】請求項記載の発明の実施例を示すブロック
図である。
【図12】請求項記載の発明の実施例を示すブロック
図である。
【図13】請求項10記載の発明の実施例を示すブロッ
ク図である。
【図14】M系列の乱数を示す概念説明図である。
【図15】従来例を示すブロック図である。
【図16】M系列の乱数を示す概念説明図である。
【図17】乱数生成装置の初期値の設定状態を示す概念
説明図である。
【符号の説明】 2
レジスタ 3,4
出力部 5
排他的論理和回路 6
入力部 8,10,12,13,15,20〜22,25,2
6,28,29 乱数生成装置 9
否定回路 14
レジスタ切替手段 16,17
切替否定手段 18,19,23,24
切替制御手段
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平1−258130(JP,A) 特開 平2−170070(JP,A) 特開 平4−158646(JP,A) 特開 平3−121613(JP,A) 特開 昭63−204919(JP,A) 実開 昭59−166546(JP,U) (58)調査した分野(Int.Cl.7,DB名) G06F 7/58 H03K 3/84

Claims (10)

    (57)【特許請求の範囲】
  1. 【請求項1】 リニアに順次接続されたn個のレジスタ
    の二つの出力部が排他的論理和回路を介して先頭の入力
    部にフィードバック接続されたn段のリニアフィードバ
    ックシフトレジスタからなる乱数生成装置において、n
    個の前記レジスタを入出力が共に正論理のレジスタと負
    論理のレジスタとで混成したことを特徴とする乱数生成
    装置。
  2. 【請求項2】 リニアに順次接続されたn個のレジスタ
    の二つの出力部が排他的論理和回路を介して先頭の入力
    部にフィードバック接続されたn段のリニアフィードバ
    ックシフトレジスタからなる乱数生成装置において、n
    個の前記レジスタを入出力が共に正論理のレジスタと負
    論理のレジスタとで混成し、二つの前記出力部から一つ
    の前記入力部に至るフィードバック接続中に一個の否定
    回路を設けたことを特徴とする乱数生成装置。
  3. 【請求項3】 n個のレジスタの複数の出力部から二つ
    を選定して排他的論理和回路に接続するレジスタ切替手
    段を設けたことを特徴とする請求項1又は2記載の乱数
    生成装置。
  4. 【請求項4】 リニアに順次接続されたn個のレジスタ
    の二つの出力部が排他的論理和回路を介して先頭の入力
    部にフィードバック接続されたn段のリニアフィードバ
    ックシフトレジスタからなる乱数生成装置において、入
    力される制御信号に従って否定動作の有無が選択的に切
    替わる切替否定手段を少なくとも一個の前記レジスタの
    入力部と出力部との少なくとも一方に設け、前記切替否
    定手段に個々に制御信号を出力して否定動作の有無を切
    替える切替制御手段を設けたことを特徴とする乱数生成
    装置。
  5. 【請求項5】 レジスタの入力部と出力部とに設けられ
    た一対の切替否定手段に同一の制御信号を出力する切替
    制御手段を設けたことを特徴とする請求項記載の乱数
    生成装置。
  6. 【請求項6】 制御信号を更新自在に記憶する切替制御
    手段を設けたことを特徴とする請求項4又は5記載の乱
    数生成装置。
  7. 【請求項7】 リニアフィードバックシフトレジスタの
    シフトタイミングに同期して制御信号を更新する切替制
    御手段を設けたことを特徴とする請求項記載の乱数生
    成装置。
  8. 【請求項8】 リニアフィードバックシフトレジスタの
    リセットタイミングに同期して制御信号を更新する切替
    制御手段を設けたことを特徴とする請求項記載の乱数
    生成装置。
  9. 【請求項9】 リニアフィードバックシフトレジスタの
    シフトタイミングとリセットタイミングとの両方に同期
    して制御信号を更新する切替制御手段を設けたことを特
    徴とする請求項記載の乱数生成装置。
  10. 【請求項10】 先頭のレジスタの入力部と出力部とに
    設けられた一対の切替否定手段には相反する制御信号を
    出力する切替制御手段を設けたことを特徴とする請求項
    4,5,6,7,8又は9記載の乱数生成装置。
JP20101992A 1992-03-12 1992-07-28 乱数生成装置 Expired - Fee Related JP3425163B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP20101992A JP3425163B2 (ja) 1992-03-12 1992-07-28 乱数生成装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP5320592 1992-03-12
JP4-53205 1992-03-12
JP20101992A JP3425163B2 (ja) 1992-03-12 1992-07-28 乱数生成装置

Publications (2)

Publication Number Publication Date
JPH05315905A JPH05315905A (ja) 1993-11-26
JP3425163B2 true JP3425163B2 (ja) 2003-07-07

Family

ID=26393916

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20101992A Expired - Fee Related JP3425163B2 (ja) 1992-03-12 1992-07-28 乱数生成装置

Country Status (1)

Country Link
JP (1) JP3425163B2 (ja)

Also Published As

Publication number Publication date
JPH05315905A (ja) 1993-11-26

Similar Documents

Publication Publication Date Title
EP0497618B1 (en) Noise generating device
JP3425163B2 (ja) 乱数生成装置
JP3466774B2 (ja) 半導体試験装置における周期発生回路
KR100327856B1 (ko) M계열을 임의로 쉬프트하는 회로 및 방법
JPH11224183A (ja) 擬似乱数発生装置
JPH0651957A (ja) 乱数発生装置
JP3536426B2 (ja) 波形発生器
JP3425175B2 (ja) ランダムパルス生成装置及びランダムパルス生成方法
JPH1185474A (ja) 乱数発生装置およびそれを用いたノイズ発生装置
JPS63253714A (ja) トリガ信号発生器
SU1529218A1 (ru) Генератор псевдослучайных чисел
JPH10117128A (ja) 疑似雑音系列符号位相制御装置
JPH07225630A (ja) シーケンス機能付き任意波形発生器
RU2120179C1 (ru) Генератор белого шума (варианты)
SU924706A1 (ru) Генератор псевдослучайных чисел
JP2002342072A (ja) ランダムデータ生成装置、データランダム化装置、ランダムデータ生成方法及びプログラム
JP3514020B2 (ja) レート発生器
KR100247925B1 (ko) 곱셈기 및 그의 동작방법
SU1672445A1 (ru) Генератор равномерно распределенных случайных чисел
SU1001097A1 (ru) Генератор псевдослучайных чисел
BE1006678A3 (nl) Schakeling voor het opwekken van m-sequentie pseudowillekeurig patroon.
SU1200286A1 (ru) Генератор случайных равномерно распределенных двоичных цифр
JPS60229107A (ja) シーケンス制御装置
JPH1185475A (ja) 乱数発生装置
KR940023099A (ko) 데이타의 직/병렬변환방법 및 장치

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080502

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090502

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100502

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110502

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120502

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees