JPH0883167A - 乱数発生回路 - Google Patents

乱数発生回路

Info

Publication number
JPH0883167A
JPH0883167A JP6216977A JP21697794A JPH0883167A JP H0883167 A JPH0883167 A JP H0883167A JP 6216977 A JP6216977 A JP 6216977A JP 21697794 A JP21697794 A JP 21697794A JP H0883167 A JPH0883167 A JP H0883167A
Authority
JP
Japan
Prior art keywords
random number
value
selection
output
threshold value
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.)
Withdrawn
Application number
JP6216977A
Other languages
English (en)
Inventor
Atsushi Yamashita
敦 山下
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP6216977A priority Critical patent/JPH0883167A/ja
Publication of JPH0883167A publication Critical patent/JPH0883167A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Small-Scale Networks (AREA)

Abstract

(57)【要約】 【目的】本発明は比較的簡単な回路構成で、乱数の出現
頻度の一様性が良好な任意の数値範囲の乱数系列を発生
させることができる乱数発生回路を提供することを目的
とする。 【構成】原乱数発生手段62の出力乱数R2を一旦保持
手段63に保持し、この保持され出力された乱数R1
が、比較手段64で最終的に得る所望の数値範囲の乱数
RLの最大値であるしきい値S9以下の場合は、第2選
択手段67で「0」の第3選択値Eを選択し、減算手段
68で乱数R1から「0」を減算し、この減算結果を乱
数RLとして出力する。乱数R1がしきい値S9よりも
大きい場合、第2選択手段67で、第1選択手段66が
原乱数発生手段62の出力乱数R2に応じて選択した第
1及び第2選択値C,Dの何れかを先の減算値として選
択するように構成する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は任意の数値範囲の疑似乱
数系列を発生する乱数発生回路に関する。乱数発生回路
は、電子装置、通信装置等を構成するディジタル回路に
広く適用されている。例えば、アロハ通信方式において
データの衝突が起きて再送する際に送信タイミングをず
らすための回路に用いられたりする。近年の装置小型
化、信号処理速度の高速化に伴って、小型で且つ高速に
乱数を発生することのできる乱数発生回路が要望されて
いる。
【0002】
【従来の技術】ディジタル回路或いはソフトウエアを用
いて任意の数値範囲の疑似乱数系列を発生させる場合、
通常の疑似乱数発生器は特定の数値範囲の乱数系列しか
発生できないため、疑似乱数発生器から出力される乱数
系列に適当な変換を施して希望する数値範囲の乱数系列
に変換する必要がある。
【0003】例えば、原乱数発生器として良く使用され
るM系列発生器は、次数=nの場合、「1」〜「2n
1」の範囲の数値の疑似乱数系列を出力する。また、M
系列発生器の内、適当なMビットを取り出すことで、ほ
ぼ一様な、「0」〜「2M −1」の数値範囲の乱数系列
発生器を構成することができる。
【0004】しかし、それ以外の数値範囲、例えば
「0」〜「K」の乱数系列を発生させたい場合は、M系
列発生器から出力される乱数系列(ここでは「0」〜
「2M −1」とする)に対して適当な変換を行う必要が
ある。
【0005】その変換を行って所望の乱数系列を得る従
来の乱数発生回路の例を、代表的なもの4種類を図9〜
図12に示し、その説明を行う。図9は第1の従来例に
よる乱数発生回路のブロック構成図である。
【0006】図9において、50はM系列の乱数Rを発
生する原乱数発生器、51〜53は複数の比較器であ
り、最終的に乱数発生回路から出力される乱数系列RL
の数値範囲「0」〜「K」の数値個数に対応する数が原
乱数発生器50に並列に接続されており、また下限のし
きい値と上限のしきい値が設定されている。
【0007】比較器51には、下限のしきい値S1と上
限のしきい値S2とが設定されており、入力される乱数
Rがしきい値S1以上かつS2より小であれば比較器5
1の出力が「1」となり、その範囲以外であれば「0」
となる。比較器52には、下限のしきい値S2と上限の
しきい値S3とが設定されており、入力される乱数Rが
しきい値S2よりも大きく且つS3より小であればその
出力が「1」となり、その範囲以外であれば「0」とな
る。最終段の比較器53には、下限のしきい値S4と上
限のしきい値S5とが設定されており、入力される乱数
Rがしきい値S4よりも大きく且つS5より小であれば
その出力が「1」となり、その範囲以外であれば「0」
となる。
【0008】54は符号化器であり、比較器51〜53
から出力される「0」又は「1」を符号化して乱数系列
RLの各乱数とするものである。乱数系列RLにおける
乱数「0」を出力するための比較器51から「1」が出
力された場合は乱数「0」を出力し、乱数「1」を出力
するための比較器52から「1」が出力された場合は乱
数「1」を出力し、……、乱数「K」を出力するための
比較器53から「1」が出力された場合は乱数「K」を
出力するようになっている。
【0009】なお、図9に破線枠で示す構成を、ROM
テーブルを用いて実現したり、ソフトウエア構成とする
ことも可能である。この場合、乱数Rに応じた乱数系列
RLの数値を出力するようにする。
【0010】このような構成の乱数発生回路において、
例えば乱数Rの数値範囲が「0」〜「511」(M=
9)、乱数系列RLの数値範囲が「0」〜「9」である
とする。また、各しきい値S1〜S5は、S1が
「0」、S2が「51」、S3が「102」、S4が
「461」、S5が「512」であるとする。
【0011】この場合に、原乱数発生器50から乱数R
として「80」が出力されたとすると、比較器52の出
力データのみが「1」となる。この「1」が符号化器5
4で符号化されることにより乱数系列RLの乱数として
「1」が出力される。また、乱数Rとして「470」が
出力されたとすると、比較器53の出力データのみが
「1」となる。この「1」が符号化器54で符号化され
ることにより乱数「9」が出力される。
【0012】このような図9に示した乱数発生回路は、
各しきい値を任意に設定することによって、乱数系列R
Lの乱数値の出現頻度を比較的任意に設定でき、ほぼ一
様分布にすることができる。
【0013】次に、図10を参照して第2の従来例によ
る乱数発生回路の説明を行う。但し、図10に示す回路
において図9に示した回路の各部に対応する部分には同
一符号を付し、その説明を省略する。
【0014】図10において、54aは比較器、55は
スイッチである。比較器54aには、下限のしきい値S
6と上限のしきい値S7とが設定されており、入力され
る乱数Rがしきい値S6以上かつS7以下であれば比較
器54aの出力が「1」となり、その範囲以外であれば
「0」となるようになっている。
【0015】スイッチ55は、比較器54aの出力デー
タが「1」の場合にのみオンとなり、この時に乱数Rを
乱数系列RLとして出力する。また、比較器54aのし
きい値S6,7として、乱数系列RLの数値範囲「0」
〜「K」の最小値「0」及び最大値「K」が設定される
ようになっている。
【0016】なお、原乱数発生器50以降の回路をソフ
トウエアにより実現することも可能である。このような
構成において、例えば乱数系列RLの数値範囲が「0」
〜「9」であるとし、しきい値S6が「0」、S7が
「9」であるとする。
【0017】この場合に、原乱数発生器50から乱数R
として「11」が出力されたとすると、「11」はしき
い値S6,S7の範囲以外であるので比較器54aの出
力データが「0」となり、スイッチ55がオフとなって
乱数は出力されない。乱数Rとして「8」が出力された
とすると、「8」はしきい値S6,S7の範囲内である
ので比較器54aの出力データが「1」となり、スイッ
チ55がオンとなり、乱数Rの「8」が乱数系列RLと
して出力される。
【0018】このような図10に示した乱数発生回路に
おいては、乱数系列RLの乱数値の出現頻度を一様分布
にすることができる。次に、図11を参照して第3の従
来例による乱数発生回路の説明を行う。但し、図11に
示す回路において図9に示した回路の各部に対応する部
分には同一符号を付し、その説明を省略する。
【0019】図11において、56は減算器、57は超
過検出用比較器、58はセレクタである。超過検出用比
較器57にはしきい値S8が設定され、入力される乱数
Rがしきい値S8よりも大きい場合に「1」を出力し、
しきい値S8以下の場合に「0」を出力するようになっ
ている。しきい値S8としては乱数系列RLの最大値
「K」が設定されるようになっている。
【0020】セレクタ58は、比較器57の出力データ
が「1」の場合に選択値Aを選択し減算器56の減算用
データとして出力し、「0」の場合に選択値Bを選択し
減算用データとして出力する。減算器56は乱数Rから
セレクタ58の出力選択値A又はBを減算し、この結果
を乱数系列RLの数値として出力する。
【0021】また、セレクタ58の選択値Bとしては
「0」が設定される。選択値Aとしては、減算器56に
おいて選択値Aを乱数Rから差し引いた場合に、この結
果得られる数値が乱数系列RLの数値範囲「0」〜
「K」となる値が設定される。ここでは例えば「K+
1」が設定されるものとする。
【0022】なお、原乱数発生器50以降の回路をソフ
トウエアにより実現することも可能である。このような
構成において、例えば、原乱数発生器50から出力され
るM系列の乱数Rの「0」〜「2M −1」においてM=
4であり、得たい乱数系列RLの数値範囲の「0」〜
「K」においてK=9であるとする。この場合、原乱数
発生器50からは、「0」〜「15」の数値範囲の乱数
Rが出力され、また最終的には「0」〜「9」の数値範
囲の乱数系列RLが出力されることになる。更に選択値
Aは「10」となる。
【0023】乱数発生回路50から「0」〜「9」の範
囲の乱数Rが発生された場合は、比較器57の出力デー
タは「0」となるので、セレクタ58は選択値Bの
「0」を選択して減算器56へ出力する。
【0024】この結果、減算器56においては「0」〜
「9」の何れかの値から「0」を引く演算が行われるの
で、減算器56からは、「0」〜「9」の乱数系列RL
が出力される。
【0025】一方、乱数発生回路50から「10」〜
「15」の範囲の乱数Rが発生された場合は、比較器5
7の出力データは「1」となるので、セレクタ58は選
択値Aの「10」を選択して減算器56へ出力する。
【0026】この結果、減算器56においては「10」
〜「15」の何れかの値から「10」を引く演算が行わ
れるので、減算器56からは、「0」〜「5」の乱数系
列RLが出力される。
【0027】このような図11に示した乱数発生回路に
おいては、回路規模を小型にすることができ、またソフ
トウエアで実現した場合、処理量が少なくて済む。次
に、図12を参照して第4の従来例による乱数発生回路
の説明を行う。但し、図12に示す回路において図9に
示した回路の各部に対応する部分には同一符号を付し、
その説明を省略する。
【0028】図12において、59は乗算器、60は整
数化器である。乗算器59は入力される乱数Rに、乱数
系列RLの最大値Kに「1」を加算した係数「K+1」
を乗じ、この結果を「2M 」で割る演算を行い、この結
果を出力する。整数化器60は乗算器59から出力され
る値の小数点以下を切り捨てて、整数にする演算を行っ
て出力する。
【0029】なお、原乱数発生器50以降の回路をソフ
トウエアにより実現することも可能である。このような
構成において、例えば、M=4、K=9であるとする
と、原乱数発生器50からは「0」〜「15」の数値範
囲の乱数Rが出力され、また最終的には「0」〜「9」
の数値範囲の乱数系列RLが出力されることになる。
【0030】更に乗算器59では「10/16」を、乱
数Rの「0」〜「15」に乗算する演算が行われること
になる。この結果、例えば乱数Rが「4」の場合は、4
×(10/16)=2.5、「15」の場合は、15×
(10/16)=9.375が得られる。これら得られ
た数値2.5と9.375との小数点以下の数値が整数
化器60で切り捨てられ、この結果「2」と「9」が乱
数系列RLの乱数として出力される。
【0031】このような図12に示した乱数発生回路に
おいては、原乱数Rの数値範囲が十分大きければ乱数系
列RLの乱数値の出現頻度を一様分布にすることができ
る。
【0032】
【発明が解決しようとする課題】ところで、上述した図
9に示す乱数発生回路においては、出力乱数系列RLの
数値範囲が広くなると多数の比較器を必要とするため回
路規模が大きくなり、ROMテーブルを用いた場合でも
ROMの容量が極めて大きくなる問題点がある。ソフト
ウエアにて実現した場合でも処理量が多くなる問題があ
る。
【0033】図10に示す乱数発生回路においては、乱
数系列RLを出力するための処理時間が一定でなくな
り、場合によっては処理量が極めて多くなる問題があ
る。図11に示す乱数発生回路においては、乱数系列R
Lにおける乱数の出現頻度が一定とならない問題があ
る。これは、図13の出現頻度分布表に示すように、符
号RLで示す、減算器56から出力される乱数系列RL
の各数値「0」〜「9」が、符号RL1で示す、原乱数
発生器50から出力される乱数Rの「0」〜「15」か
ら選択値Bの「0」が減算された場合に得られる「0」
〜「9」の場合と、符号RL2で示す、乱数Rの「0」
〜「15」から選択値Aの「10」が減算された場合に
得られる「0」〜「5」の場合とに分けられ、「0」〜
「5」の出現頻度が0.125、「6」〜「9」の出現
頻度が0.063であり、各出現頻度に約2倍の差が生
じることになるからである。
【0034】図12に示す乱数発生回路においては、乗
算器59及び整数化器60の回路規模が大きくなり、ま
たソフトウエアにて実現した場合、処理量が多くなる問
題がある。
【0035】本発明は、このような点に鑑みてなされた
ものであり、比較的簡単な回路構成で、乱数の出現頻度
の一様性が良好な任意の数値範囲の乱数系列を発生させ
ることができる乱数発生回路を提供することを目的とし
ている。
【0036】
【課題を解決するための手段】図1に本発明の乱数発生
回路の原理図を示す。この図に示す乱数発生回路は、任
意の数値範囲の第1の乱数RLを発生するものである。
【0037】図中、62は第2の乱数R2を発生する第
1原乱数発生手段である。63は保持手段であり、第2
の乱数2を保持し、この保持された乱数を第3の乱数R
1として出力するものである。
【0038】66は第1選択手段であり、第1及び第2
選択値C,Dの何れかを第2の乱数R1に応じて選択す
るものである。但し、第1及び第2選択値C,Dは、各
々が異なる数値で、第1の乱数RLの最大値よりも大き
い第2の乱数R1から第1及び第2選択値C,Dを各々
減算して得られる各々の減算結果の値が第1の乱数RL
の数値範囲内にあり、且つ各々の減算結果の値が極力一
致しない数値を得るものである。
【0039】64は第1比較手段であり、第1の乱数R
Lの最大値であるしきい値S9と第3の乱数R1とを比
較し、第3の乱数R1がしきい値S9よりも大きいこと
を示すと共に、第3の乱数R1がしきい値S9以下であ
れることを示す第1選択信号を出力するものである。
【0040】67は第2選択手段であり、第1選択信号
が、第3の乱数R1がしきい値S9よりも大きいことを
示す場合に第1選択手段66で選択された選択値を選択
し、第3の乱数R1がしきい値S9以下であることを示
す場合に「0」である第3選択値Eを選択するものであ
る。
【0041】68は減算手段であり、第3の乱数R1か
ら第2選択手段67で選択された選択値を減算し、この
減算結果を第1の乱数RLとして出力するものである。
また、前記した第1選択手段66は、第2の乱数R2が
偶数の場合に第1選択値Cを選択し、奇数の場合に第2
選択値Dを選択する第1のケース、第2の乱数R2が奇
数の場合に第1選択値Cを選択し、偶数の場合に第2選
択値Dを選択する第2のケースの何れかのケースを実行
するのが好ましいが、もちろんこれのみに限らず、例え
ばR2を2進数表現した場合の最上位ビットが”0”
か”1”かに応じてCとDを選択するようにしても良
い。
【0042】
【作用】上述した本発明において、例えば「0」〜
「9」の数値範囲の乱数RLを得たい場合に、原乱数発
生手段62から「0」〜「15」の乱数R2が発生され
るものとする。この際、しきい値S9は乱数RLの最大
値なので「9」である。また、第1及び第2選択値C,
Dは、各々が異なる数値で、乱数RLの最大値よりも大
きい乱数R1から第1及び第2選択値C,Dを各々減算
して得られる各々の減算結果の値が乱数RLの数値範囲
内にあり、且つ各々の減算結果の値が極力一致しない数
値であるので、例えば第1選択値Cが「10」、第2選
択値Dが「6」であるとする。第3選択値Eは「0」で
ある。
【0043】この条件の場合に、保持手段63から出力
される乱数R1が「0」〜「9」であれば、比較手段6
4でその乱数R1がしきい値S9の「9」以下であるこ
とが検出され、この検出結果を示す第1選択信号が第2
選択手段67へ出力され、第2選択手段67は第3選択
値Eの「0」を選択して減算手段68へ出力する。
【0044】減算手段68においては、「0」〜「9」
から「0」が減算されるので、「0」〜「9」が乱数R
Lとして出力される。一方、乱数R1が「10」〜「1
5」であれば、比較手段64でその乱数R1がしきい値
S9の「9」よりも大きいことが検出され、この検出結
果を示す第1選択信号が第2選択手段67へ出力され、
第2選択手段67が、第1選択手段66で選択された選
択値を選択して減算手段68へ出力する。
【0045】この時、第1選択手段66に原乱数発生手
段62から出力された例えば偶数の乱数R2が供給され
ているとすると、選択手段66は例えば第1選択値Cの
「10」を選択する。
【0046】減算手段68へその「10」が入力される
ことになるので、減算手段68において、「10」〜
「15」から「10」が減算され、この減算結果の
「0」〜「5」が乱数RLとして出力される。
【0047】第1選択手段66で第2選択値Dの「6」
が選択され、この「6」が減算手段68へ入力された場
合は、「10」〜「15」から「6」が減算され、この
減算結果の「4」〜「9」が乱数RLとして出力され
る。
【0048】ところで、原乱数発生手段62から出力さ
れる乱数R2の奇数/偶数の割合はほぼ同じと考えられ
るので、第1選択手段66においては、第1及び第2選
択値C及びDがほぼ同じ割合で減算値として選択され
る。
【0049】従って、原乱数発生手段62から「10」
〜「15」の乱数R2が出力された場合に、その乱数R
2が処理され、最終的に得られる乱数RLとして、
「0」〜「5」と「4」〜「9」とが出力される頻度は
ほぼ同じである。「0」〜「5」と「4」〜「9」との
比較から分かるように、「4」と「5」の2つが一致し
ている。このことに原乱数発生手段62からの「0」〜
「9」が乱数RLとして出力されることを加味すると、
出現頻度が「4」と「5」でやや高くなるものの全体的
(「0」〜「9」)な出現頻度はほぼ一様となる。
【0050】
【実施例】以下、図面を参照して本発明の実施例につい
て説明する。図2は本発明の第1実施例による乱数発生
回路のブロック構成図である。
【0051】図2に示す乱数発生回路は、原乱数発生器
62と、データフリップフロップ(DFF)63と、超
過検出用比較器64と、選択信号発生回路65と、セレ
クタ66及び67と、減算器68とを具備して構成され
ている。
【0052】原乱数発生器62は、従来例で説明したも
のと同じものであり、数値範囲が「0」〜「2M −1」
のM系列の乱数を発生するものである。DFF63は、
原乱数発生器62と同様にシステムクロック信号で作動
し、原乱数発生器62から出力される乱数R2を保持
し、これをR1として出力する。DFF63に供給され
る乱数、即ち原乱数発生器62から出力される乱数と、
DFF63に保持され出力される乱数とは別のものなの
で、各々別の符号R2とR1を付した。
【0053】超過検出用比較器64は、DFF63から
出力される乱数R1が、しきい値S9よりも大きい場合
に「1」を、しきい値S9以下の場合に「0」をセレク
タ67の選択信号として出力するものである。しきい値
S9としては最終的に出力される数値範囲が「0」〜
「K」の乱数系列RLの最大値「K」が設定される。
【0054】選択信号発生回路65は、原乱数発生器6
2から出力される乱数R2(2進数)の1ビット目の
「0」又は「1」を検出し、セレクタ66の選択信号と
して出力するものである。例えば「13」の2進数、即
ち「1101」の1ビット目の「1」が検出され選択信
号として出力される。
【0055】セレクタ66は、選択信号発生回路65か
ら出力される選択信号が「1」の場合に選択値Cを選択
してセレクタ67の一方の選択値として出力し、「0」
の場合に選択値Dを選択して一方の選択値として出力す
るものである。
【0056】選択値Cとしては、乱数系列RLの最大値
「K」に「1」を加算した値が設定される。選択値Dと
しては、原乱数発生器62から出力される乱数の最大値
「2M −1」から乱数系列RLの最大値「K」を減算し
た値が設定される。
【0057】セレクタ67は、超過検出用比較器64か
ら出力される選択信号が「0」の場合に選択値Eを選択
して減算器68の減算用データとして出力し、「1」の
場合にセレクタ66で選択された選択値C又はDを減算
用データとして出力するものである。選択値Eとしては
「0」が設定される。
【0058】減算器68は、乱数R1からセレクタ67
で選択された減算用データを差し引いて乱数系列RLの
数値として出力するものである。このような構成におい
て、例えばM=4、K=9とする。この場合、原乱数発
生器62からは「0」〜「15」の数値範囲の乱数R2
が出力され、減算器68からは「0」〜「9」の数値範
囲の乱数系列RLが出力されることになる。またしきい
値S9は「9」、選択値Cは「10」、選択値Dは
「6」となる。
【0059】原乱数発生器62の出力乱数に応じてDF
F63から出力される乱数R1が「0」〜「9」の場
合、比較器64の出力データは「0」となるので、セレ
クタ67は選択値Eの「0」を選択して減算器68へ出
力する。この結果、減算器68においては「0」〜
「9」の何れかの値から「0」を引く演算が行われ,減
算器68から「0」〜「9」の乱数系列RLが出力され
る。
【0060】次に、DFF63器62から「10」〜
「15」の範囲の乱数R2が出力された場合について説
明する。例えば乱数R1が「11」、乱数R2が「1
4」となっているものとする。
【0061】この場合、超過検出用比較器64において
は、乱数R1の「11」がしきい値S9の「9」よりも
大きいことが検出され、この検出によって「1」の選択
信号がセレクタ67へ出力され、セレクタ67で、セレ
クタ66から出力される選択値が選択される。
【0062】選択信号発生回路65においては、乱数R
2の「14」、即ち2進数で「1110」の1ビット目
の「0」が検出され、この検出によって「0」の選択信
号がセレクタ66へ出力されるので、セレクタ66にお
いては、選択値Dの「6」が選択される。
【0063】即ち、セレクタ67は、セレクタ66から
出力された「6」を選択し、これを減算器68へ出力す
る。減算器68は、乱数R1の「11」から「6」を差
し引き、この結果の「5」を乱数系列RLの数値として
出力する。
【0064】このようにDFF63から「10」〜「1
5」の範囲の乱数R1が発生された場合に、セレクタ6
6で選択値Dの「6」が減算用データとして選択される
と、減算器68で「10」〜「15」から「6」が減算
され、この結果得られる「4」〜「9」が乱数系列RL
として出力される。
【0065】一方、選択値Cの「10」が減算用データ
として選択されると、減算器68で「10」〜「15」
の何れかより「10」が減算され、この結果得られる
「0」〜「5」が乱数系列RLとして出力される。
【0066】このように選択値Dの「10」が減算用デ
ータとして用いられた場合に「0」〜「5」が乱数系列
RLとして現れる頻度と、選択値Cの「6」が減算用デ
ータとして用いられた場合に「4」〜「9」が乱数系列
RLとして現れる頻度とは同じとなるが、「4」と
「5」は双方に共通するため、他の「0」〜「3」と
「6」〜「9」よりも高頻度で出現することになる。
【0067】この選択値C,Dに選択値Eが選択される
場合を加味した全体の乱数の出現頻度分布を図3に示
す。図3において、符号RL3で示す行の「0」〜
「9」は、選択値Eが減算用データとして用いられた場
合に減算器68から出力される乱数系列RLの数値であ
り、符号RL4で示す行の「0」〜「5」は、選択値C
が減算用データとして用いられた場合に減算器68から
出力される乱数系列RLの数値であり、符号RL5で示
す行の「4」〜「9」は、選択値Dが減算用データとし
て用いられた場合に減算器68から出力される乱数系列
RLの数値である。
【0068】この表の数値の重なり部分から分かるよう
に、各数値の出現頻度は「4」と「5」が多くなる。各
数値「0」〜「9」の出現頻度は、「0」〜「3」が
0.094、「4」と「5」が0.125、「6」〜
「9」が0.094となる。また、出現頻度の標準偏差
は1.25×10-2となる。
【0069】これを、図11を参照して説明した第3の
従来例回路により得られる図13に示した乱数系列RL
の各数値「0」〜「9」の出現頻度と、その標準偏差:
3.06×10-2と比較してみると、図2に示す第1実
施例回路においては、乱数系列RLの各数値「0」〜
「9」の出現頻度の一様性が大幅に改善されていること
が分かる。
【0070】従って、第1実施例によれば、比較的簡単
な回路構成で、乱数の出現頻度の一様性が良好な任意の
数値範囲の乱数系列を発生させることができる。次に、
第2実施例を図4を参照して説明する。但し、図4に示
す第2実施例において図2に示した第1実施例の各部に
対応する部分には同一符号を付し、その説明を省略す
る。
【0071】図4に示す第2実施例が図2に示した第1
実施例と異なる点は、原乱数発生器62に乱数R2を発
生させる制御を行う制御回路69を設け、また、超過検
出用比較器64に、DFF63から出力される乱数R1
がしきい値S9を越えた場合、破線矢印で示すように制
御回路69に乱数発生制御を行う指示を与える機能を付
加した点にある。その指示を与える信号を指示信号と呼
ぶ。
【0072】また、制御回路69はその指示信号か、或
いは外部から乱数発生命令信号COが入力された際に、
原乱数発生器62に対して乱数R2を1つ発生させる制
御を行うものとする。
【0073】このような構成において、第1実施例と同
様に、M=4、K=9であり、原乱数発生器62から
「0」〜「15」の数値範囲の乱数R2が出力され、減
算器68から「0」〜「9」の数値範囲の乱数系列RL
が出力され、また、しきい値S9が「9」、選択値Cが
「10」、選択値Dが「6」、選択値Eが「0」である
とする。
【0074】原乱数発生器62の出力乱数に応じてDF
F63から出力される乱数R1が「0」〜「9」の場
合、比較器64の出力データは「0」となるので、セレ
クタ67は選択値Eの「0」を選択して減算器68へ出
力する。この結果、減算器68においては「0」〜
「9」の何れかの値から「0」を引く演算が行われ,減
算器68から「0」〜「9」の乱数系列RLが出力され
る。
【0075】次に、DFF63器62から「10」〜
「15」の範囲の乱数R2が出力された場合について説
明する。例えばDFF63の出力乱数R1が「13」と
なっているものとする。
【0076】この場合、超過検出用比較器64におい
て、乱数R1の「13」がしきい値S9の「9」よりも
大きいことが検出され、この検出によって指示信号が制
御回路69へ出力されると共に、「1」の選択信号がセ
レクタ67へ出力される。これによってセレクタ67は
セレクタ66の出力選択値を選択するように動作する。
【0077】また、指示信号が入力された制御回路69
は、原乱数発生器62から乱数R2が発生されるように
制御する。この制御によって「10」が発生されたとす
ると、選択信号発生回路65においては、その「1
0」、即ち2進数で「1010」の1ビット目の「0」
が検出される。この検出によって「0」の選択信号がセ
レクタ66へ出力されるので、セレクタ66において
は、選択値Dの「6」が選択される。
【0078】即ち、セレクタ67は、セレクタ66から
出力された「6」を選択し、これを減算器68へ出力す
る。減算器68は、乱数R1の「11」から「6」を差
し引き、この結果の「5」を乱数系列RLの数値として
出力する。
【0079】このようにDFF63から「10」〜「1
5」の範囲の乱数R1が発生された場合は、再度、原乱
数発生器62から乱数R2を発生させ、この発生された
乱数R2に応じて定まる選択値Cの「10」又はDの
「6」を、減算器68で「10」〜「15」から減算
し、この結果得られる「0」〜「5」又は「4」〜
「9」を乱数系列RLとして出力する。従って、第2実
施例においても第1実施例と同様な効果を得ることがで
き、また所望とする乱数を任意のタイミングで発生させ
ることができる。
【0080】次に、第3実施例を図5を参照して説明す
る。但し、図5に示す第3実施例において図2に示した
第1実施例の各部に対応する部分には同一符号を付し、
その説明を省略する。
【0081】図5に示す第3実施例が図2に示した第1
実施例と異なる点は、原乱数発生器62から出力される
乱数R2が、しきい値S10よりも大きい場合に「1」
を、しきい値S10以下の場合に「0」をセレクタ72
の選択信号として出力する超過検出用比較器71と、こ
の比較器71から出力される選択信号が「1」の場合に
減算器68の減算結果を選択して乱数系列RLの数値と
して出力し、「0」の場合に原乱数発生器62から出力
される乱数R2を選択して乱数系列RLの数値として出
力するセレクタ72を設けた点にある。
【0082】即ち、原乱数発生器62から出力される乱
数R2が、最終段から出力される乱数系列RLの最大値
「K」を越えているか否かを判断し、越えてない場合に
原乱数発生器62から出力される乱数R2をそのまま乱
数系列RLの数値として出力するようにし、越えている
場合に、第1実施例で説明した動作によって減算器68
から出力される乱数を乱数系列RLの数値として出力す
るようにした。
【0083】このように構成することによって、「0」
〜「9」が原乱数発生器62からそのまま乱数系列RL
として出力されるようになり、第1実施例で図3を参照
して説明した乱数系列RLの数値の出現頻度が、図6に
示すようにより均衡となる。この図6における出現頻度
の標準偏差:4.69×10-3からも分かるように、乱
数系列RLの各数値「0」〜「9」の出現頻度の一様性
が大幅に改善されている。
【0084】この第3実施例によれば、比較的簡単な回
路構成で、第1実施例以上に乱数の出現頻度の一様性が
良好な任意の数値範囲の乱数系列を発生させることがで
きる。
【0085】次に、第4実施例を図7を参照して説明す
る。但し、図7に示す第4実施例において図5に示した
第3実施例の各部に対応する部分には同一符号を付し、
その説明を省略する。
【0086】図7に示す第4実施例が図5に示した第3
実施例と異なる点は、第3実施例回路構成に図4を参照
して第2実施例で説明した制御回路69を設けると共
に、その制御回路69に指示信号を出力する機能を超過
検出用比較器64に第2実施例同様付加した点にある。
【0087】この第4実施例においても第3実施例同様
な効果を得ることができ、また所望とする乱数を任意の
タイミングで発生させることができる。次に、第5実施
例を図8を参照して説明する。但し、図8に示す第5実
施例において図5に示した第3実施例の各部に対応する
部分には同一符号を付し、その説明を省略する。
【0088】図8に示す第5実施例が図5に示した第3
実施例と異なる点は、原乱数発生器62と同タイミング
で乱数を発生する原乱数発生器62′を設け、この原乱
数発生器62′から出力される乱数を選択信号発生回路
65及び超過検出用比較器71に入力されるようにした
点にある。但し、各原乱数発生器62から出力される乱
数は数値が極まれに同じ場合もあるが大半は異なるの
で、R1、R2と異なる符号を付した。
【0089】このような構成の第5実施例によれば、第
3実施例同様な効果が得れる他、DFF63等の乱数保
持手段で乱数R1を一旦保持することによって生成しな
くともよいので処理時間を短縮することができる。
【0090】この第5実施例のように原乱数発生器を2
つ用いる構成は図2に示した第1実施例においても同様
に適用することができる。
【0091】
【発明の効果】以上説明したように、本発明によれば、
比較的簡単な回路構成で、乱数の出現頻度の一様性が良
好な任意の数値範囲の乱数系列を発生させることができ
る効果がある。
【図面の簡単な説明】
【図1】本発明の原理図である。
【図2】本発明の第1実施例による乱数発生回路のブロ
ック構成図である。
【図3】図2に示す乱数発生回路から出力される任意数
値範囲の乱数の出現頻度分布を表す図である。
【図4】本発明の第2実施例による乱数発生回路のブロ
ック構成図である。
【図5】本発明の第3実施例による乱数発生回路のブロ
ック構成図である。
【図6】図5に示す乱数発生回路から出力される任意数
値範囲の乱数の出現頻度分布を表す図である。
【図7】本発明の第4実施例による乱数発生回路のブロ
ック構成図である。
【図8】本発明の第5実施例による乱数発生回路のブロ
ック構成図である。
【図9】第1の従来例による乱数発生回路のブロック構
成図である。
【図10】第2の従来例による乱数発生回路のブロック
構成図である。
【図11】第3の従来例による乱数発生回路のブロック
構成図である。
【図12】第4の従来例による乱数発生回路のブロック
構成図である。
【図13】図11に示す乱数発生回路から出力される任
意数値範囲の乱数の出現頻度分布を表す図である。
【符号の説明】
62 第1原乱数発生手段 63 保持手段 64 第1比較手段 66 第1選択手段 67 第2選択手段 68 減算手段 R1 第3の乱数 R2 第2の乱数 RL 第1の乱数 S9 しきい値 C 第1選択値 D 第2選択値 E 第3選択値

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 任意の数値範囲の第1の乱数を発生する
    乱数発生回路において、 第2の乱数を発生する第1原乱数発生手段と、 該第2の乱数を保持し、この保持された乱数を第3の乱
    数として出力する保持手段と、 第1及び第2選択値が、各々が異なる数値で、前記第1
    の乱数の最大値よりも大きい該第2の乱数から該第1及
    び第2選択値を各々減算して得られる各々の減算結果の
    値が該第1の乱数の数値範囲内にあり、且つ該各々の減
    算結果の値が極力一致しない数値を得る第1及び第2選
    択値の何れかを、前記第2の乱数に応じて選択する第1
    選択手段と、 該第1の乱数の最大値であるしきい値と該第3の乱数と
    を比較し、該第3の乱数が該しきい値よりも大きいこと
    を示すと共に、該第3の乱数が該しきい値以下であるこ
    とを示す第1選択信号を出力する第1比較手段と、 該第1選択信号が、該第3の乱数が該しきい値よりも大
    きいことを示す場合に該第1選択手段で選択された選択
    値を選択し、該第3の乱数が該しきい値以下であること
    を示す場合に「0」である第3選択値を選択する第2選
    択手段と、 該第3の乱数から該第2選択手段で選択された選択値を
    減算し、この減算結果を前記第1の乱数として出力する
    減算手段とを具備したことを特徴とする乱数発生回路。
  2. 【請求項2】 前記第1選択値を、前記第1の乱数の最
    大値に「1」を加算した数値とし、前記第2選択値を、
    前記第2の乱数の最大値から該第1の乱数の最大値を減
    算した数値としたことを特徴とする請求項1記載の乱数
    発生回路。
  3. 【請求項3】 前記第1選択手段が、前記第2の乱数が
    愚数の場合に前記第1選択値を選択し、奇数の場合に前
    記第2選択値を選択する第1のケース、該第2の乱数が
    奇数の場合に該第1選択値を選択し、偶数の場合に該第
    2選択値を選択する第2のケースの何れかのケースを実
    行するようにしたことを特徴とする請求項1又は2記載
    の乱数発生回路。
  4. 【請求項4】 前記しきい値と前記第2の乱数とを比較
    し、該第2の乱数が該しきい値よりも大きいことを示す
    と共に、該第2の乱数が該しきい値以下であれることを
    示す第2選択信号を出力する第2比較手段と、該第2選
    択信号が、該第2の乱数が該しきい値よりも大きいこと
    を示す場合に前記減算手段から出力される乱数を選択
    し、該第2の乱数が該しきい値以下であることを示す場
    合に該第2の乱数を選択して前記第1の乱数として出力
    する第3選択手段を設けたことを特徴とする請求項1〜
    3の何れかに記載の乱数発生回路。
  5. 【請求項5】 前記第1原乱数発生手段から前記第2の
    乱数を1つ発生させる制御を行う制御手段を設け、前記
    第1比較手段に、前記第3の乱数が前記しきい値よりも
    大きい場合に該制御手段に該第2の乱数を1つ発生させ
    る制御を行う指示を与える機能を設けたことを特徴とす
    る請求項1〜5の何れかに記載の乱数発生回路。
  6. 【請求項6】 前記第1原乱数発生手段と同タイミング
    で第4の乱数を発生する第2原乱数発生手段を設け、前
    記第1選択手段が前記第2の乱数の代わりに該第4の乱
    数に応じて前記第1及び第2選択値の何れかを選択する
    ようにしたことを特徴とする請求項1〜3の何れかに記
    載の乱数発生回路。
JP6216977A 1994-09-12 1994-09-12 乱数発生回路 Withdrawn JPH0883167A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6216977A JPH0883167A (ja) 1994-09-12 1994-09-12 乱数発生回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6216977A JPH0883167A (ja) 1994-09-12 1994-09-12 乱数発生回路

Publications (1)

Publication Number Publication Date
JPH0883167A true JPH0883167A (ja) 1996-03-26

Family

ID=16696885

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6216977A Withdrawn JPH0883167A (ja) 1994-09-12 1994-09-12 乱数発生回路

Country Status (1)

Country Link
JP (1) JPH0883167A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002278749A (ja) * 2001-03-15 2002-09-27 Le Tec:Kk 乱数発生装置
JP2007167373A (ja) * 2005-12-22 2007-07-05 Olympia:Kk 遊技機、プログラム及び情報記憶媒体

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002278749A (ja) * 2001-03-15 2002-09-27 Le Tec:Kk 乱数発生装置
JP2007167373A (ja) * 2005-12-22 2007-07-05 Olympia:Kk 遊技機、プログラム及び情報記憶媒体

Similar Documents

Publication Publication Date Title
JP2842389B2 (ja) 乱数発生装置
JPH05314165A (ja) 擬似移動平均回路
EP0162499A2 (en) Fading circuit for video signals
US4241410A (en) Binary number generation
JPH03235553A (ja) π/4シフトQPSK変調器及びそれを用いた通信装置
JPH0883167A (ja) 乱数発生回路
US20010050777A1 (en) Realization of an arbitrary transfer function
US5724277A (en) Background noise generating apparatus
KR950014573B1 (ko) 디지탈 리미터
KR100204564B1 (ko) 업/다운 계수기를 이용한 고속 상관기
JPH06230991A (ja) 有限体での任意元素の逆数算出方法及び装置
FI92778B (fi) Digitaalisignaalin amplitudinsäätöjärjestelmä digitaalisignaalien muuttamiseksi jokseenkin tasaisin dB-askelin
KR0149323B1 (ko) 디지탈 방식의 오디오 음량 조절장치
JP3895887B2 (ja) デシベルレベル調整装置
JP2001127618A (ja) クロック信号発生回路
JP3261729B2 (ja) 直線補間方法及びその回路
JPH09312549A (ja) レート変換回路
KR0182169B1 (ko) 로그값 계산회로
KR100292067B1 (ko) 이산시간셀룰러신경회로망용셀
JP2940373B2 (ja) 情報信号処理方法及び情報信号処理装置
JPH01213019A (ja) ディジタル・フェーダ装置
JPH07212233A (ja) ディジタルフィルタ付d/a変換装置
JPH05150951A (ja) 除算処理方式
JPH04237217A (ja) 信号処理回路
JPH05284025A (ja) アナログ/デジタル変換回路

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20011120