TWI387921B - 利用中央極限定理之常態分佈亂數產生器及其亂數產生方法 - Google Patents
利用中央極限定理之常態分佈亂數產生器及其亂數產生方法 Download PDFInfo
- Publication number
- TWI387921B TWI387921B TW98112668A TW98112668A TWI387921B TW I387921 B TWI387921 B TW I387921B TW 98112668 A TW98112668 A TW 98112668A TW 98112668 A TW98112668 A TW 98112668A TW I387921 B TWI387921 B TW I387921B
- Authority
- TW
- Taiwan
- Prior art keywords
- random number
- adder
- normal distribution
- central limit
- limit theorem
- Prior art date
Links
Landscapes
- Logic Circuits (AREA)
Description
本發明是有關於一種亂數產生器,且特別是有關於一種常態分佈亂數產生器。
一般的亂數產生器,所採用之亂數產生方法,可以區分為物理參數產生法與數學虛擬亂數產生法。
其中,物理參數產生法是利用諸如光、熱、雜訊、抖動與亞穩態等不可預測之物理量來產生亂數,其缺點至少有三:
第一、物理參數產生法的機率分佈情形無法明確得知是否恰當。
第二、大部分利用光、熱等裝置所實現之亂數產生器,需要特殊的物理元件,很難於積體電路製程中實施。
第三、採用亞穩態方式的物理參數產生法時,有機率會造成很長的時間延遲,亦即在不穩定平衡狀態中持續一段時間;因此,不適用於需要高速立即反應的同步應用系統中。
另一方面,數學虛擬亂數產生法之優點在於其所對應的硬體實現裝置,較易於規則設計之。而其缺點則在於所產生的亂數,可由其所選用的數學方法與初始值來加以預測。
數學虛擬亂數產生法一般可分為均勻分佈亂數產生法與特殊分佈亂數產生法。其中,均勻分佈亂數產生法常用線性移位暫存器(Linear Feedback Shift Register,LFSR)、巢式陣列(Cellular Array,CA)與模數(Modulo)等方式為之。
而特殊分佈亂數產生法則可分為直接計算法與篩選計算法(Screening/Selective,Reject/Accept Method)。篩選計算法往往可以降低平均計算時間與硬體需求,但篩選時淘汰(Rejection)的機率使亂數產生器有機率會延遲很長的時間,亦不適於需要高速立即反應的同步應用系統。
在特殊分佈亂數產生法之中,較常被使用的是常態分佈(Normal or Gaussian Distribution)亂數產生法。一般的常態分佈亂數產生法包括:Box Muller Algorithm,查表法(Table Lookup)、廟塔亂數產生法(Ziggurat Algorithm)與中央極限定理(Central Limit Theory,CLT)式產生法。
其中,Box Muller Algorithm常態分佈亂數產生法為常態亂數產生器常用的計算法。基本上,它係由兩個介於(0,1)且各自獨立的均勻分佈的亂數u1
和亂數u2
利用下列第一式Equations(1)來計算出獨立的常態分佈亂數z0
和常態分佈亂數z1
:
由第一式可知,它必須計算弦波函數、對數、平方根函數和數次乘法,即便以泰勒展開式(Taylor Expansion)逼近,也要計算很多級乘除法。因此,以電路來實現時,其額外面積極高;就算它可以用篩選法來降低額外面積,但仍是內建亂數產生器所無法負擔的高成本。
請一併參考第1圖及第2圖,其係繪示查表法之常態分佈曲線圖及弦波分佈曲線圖,一般的查表法係以獨立的均勻分佈的亂數x,查出存在記憶體(通常為ROM)表格中的反累積分佈函數(Anti-Cumulative Distribution Function,Anti-CDF)z=cdf-1
(x)。其優點為可用以設計任意分佈函數之亂數產生器,而其缺點則為對於足夠的解析度,其表格將使額外面積遽增。
一般的廟塔式查表法(Ziggurat Algorithm),係一種折衷於查表法與篩選法的方式,它可用以提昇查表法的解析度(Resolution)與降低篩選法的淘汰率(Rejection Ratio)。因此,對於機率密度函數(Probability Density Function,PDF)平滑而無奇異(Singularity)的分佈狀態來說,常是很好的折衷(Tradeoff)選擇。但是,其以電路實現時,所需的額外面積仍然稍大。而且,此方法畢竟仍是篩選法,其即時性與速度亦有待改進。
一般的中央極限定理(Central Limit Theory,CLT)法係根據獨立的分佈變數,來求和得出;亦即以ui
(i=1,2,..,n)之和來逼近常態分佈的定理設計,當上式之n值很大時,其平均值(Mean Value)為μ=n/2,而有的標準偏差(Standard Deviation)存在。目前文獻中係以電晶體陣列之次門檻電流和,來產生常態分佈亂數,此類常態分佈亂數的來源不易獨立,而容易受到溫度與雜訊影響,使得分佈吻合度不佳且不易於內建式的數位積體電路中實施。
請參考第3圖,第3圖是習知之中央極限定理法亂數產生器的結構示意圖。第3圖中,此亂數產生器套用於數位電路時,係以多個線性移位暫存器110來產生各自獨立之均勻分佈亂數。然後,這些均勻分佈亂數再統一輸入一個平行加法器120以進行運算。以n個線性移位暫存器110為例,其位址排列係由0到n-1,且每個線性移位暫存器110係產生m-bit的均勻分佈亂數;則平行加法器120即為一個具有n個位址,且每個位址可容納m-bit,的平行加法器120;而此平行加法器120的輸出結果即為N(n/2,)。
請繼續參考第4圖,第4圖是第3圖之第一型線性移位暫存器110的結構示意圖。由第4圖可知,每個第一型線性移位暫存器110都是由多個D型正反器210、多個常數開關220與多個互斥或邏輯閘230所構成。請一併參考第5圖,第5圖是第3圖之平行加法器120的結構示意圖。從第3圖可知,平行加法器120係由多個加法器陣列310所組成,而且每個加法器陣列310又包含了多個加法器320。因此,其面積相當可觀。
具體而言,當n=12時,此中央極限定理法亂數產生器的面積比上述各種方法小,但是其亂度(Randomness)與吻合度(Distribution Fitness)仍然過於粗糙;而當n=48時,雖然其亂度與吻合度已可接受,但是它的面積卻已略微超過上述Ziggurat廟塔法,且產生向量的速度也因此倍增。另外,其關鍵缺點為要實現快速即時的通訊線路終端(Communication Line Terminator,CLT)亂數產生器時,必須採用O(n)的平行加法器。
本發明之一技術態樣在於提供一種利用中央極限定理之常態分佈亂數產生器,此利用中央極限定理之常態分佈亂數產生器利用加法器與移位電路取代了習知之平行加法器,因而大幅減少了電路所需的面積。
根據本發明之一技術態樣,提供一種中央極限定理之常態分佈亂數產生器,包括多個第一型線性移位暫存器、一平行計數器、一加法器以及一移位電路。上述多個第一型線性移位暫存器係用以產生多筆個相對應之均勻亂數。平行計數器係用以接收這些均勻亂數,並藉以產生一亂數和值。加法器具有一第一輸入端、一第二輸入端及一第一輸出端,且第一輸入端係用以接收亂數和值。移位電路則具有一第三輸入端及一第二輸出端,第三輸入端係訊號連接第一輸出端,且第二輸出端係訊號連接第二輸入端。藉此,加法器與移位電路利用亂數和值產生一常態分佈亂數結果。
本發明之另一技術態樣在於提供一種利用中央極限定理之常態分佈亂數產生方法,此利用中央極限定理之常態分佈亂數產生方法可以產生與習知之中央極限定理之常態分佈亂數產生方法相近似的結果,但卻具有較高的電路實現優勢。
根據本發明之一技術態樣,提供一種利用中央極限定理之常態分佈亂數產生方法,包括下列步驟:首先,利用多個第一型線性移位暫存器,產生多個相應之均勻亂數。接下來,利用一平行計數器,來加總這些均勻亂數,以產生一亂數和值。最後,利用一加法器及一移位電路,來平移此亂數和值。藉此,本發明之利用中央極限定理之常態分佈亂數產生方法可以利用較具電路優勢之電路元件,來取得與習知之中央極限定理之常態分佈亂數產生方法相近似之結果。
請參考第6圖,第6圖係為本發明一實施例之利用中央極限定理之常態分佈亂數產生器的結構示意圖。第6圖中,本實施例之利用中央極限定理之常態分佈亂數產生器,包括多個第一型線性移位暫存器410、一平行計數器420、一加法器430以及一移位電路440。上述多個第一型線性移位暫存器410係用以產生多筆個相對應之均勻亂數。而且,這些均勻亂數只要提供1-bit的數值即可。
平行計數器420係用以接收這些均勻亂數,並藉以產生一亂數和值log2
n。加法器430具有一第一輸入端、一第二輸入端及一第一輸出端,且第一輸入端係用以接收亂數和值log2
n。移位電路440則具有一第三輸入端及一第二輸出端,第三輸入端係訊號連接第一輸出端,且第二輸出端係訊號連接第二輸入端。具體而言,加法器430上的第一輸入端傳入亂數和值log2
n給加法器430,而加法器430則從第一輸出端輸出訊號log2
n+1給移位電路440。
移位電路440從第三輸入端取得訊號log2
n+1後,再透過回授訊號線450,回傳訊號給加法器430上的第二輸入端;因此,加法器430又再進行累加的動作,而產生輸出訊號log2
n+2給移位電路440。依此類推,移位電路440在一個完整的運算周期內,將輸出訊號m+log2
n。藉此,加法器430與移位電路440利用亂數和值產生一常態分佈亂數結果。
其中,加法器430可利用半加器、全加器、漣波進位加法器或先行進位加法器來實現之。移位電路440則可利用D型正反器移位暫存電路或JK正反器移位暫存電路來實現之。
本實施例之具體原理與達成功效茲解釋如下:
本實施例之原理係基於當各自獨立之均勻分佈亂數係由第一型線性移位暫存器410所產生時,其移位特性可用以降低第1圖之平行加法器120的面積。舉例而言,設第3圖的一個第一型線性移位暫存器,在整數時間t內,被詮釋為如下列第2式Equation(2)介於0和1之間的定點小數:
若時間t+1時,第j筆亂數為Qj(t+1),則n筆亂數的和Sum為:
因為第一型線性移位暫存器有如下列第4式Equation(4)的移位特性:
則第3式Equation(3)將會推得下列第五式:
因為移位後的Truncated Error可忽略不計,因此最後,第五式可以推得如下第6式的結果:
簡言之,即移位後相加的運算順序可化簡為相加再移位的運算順序。因此,本實施例之利用中央極限定理之常態分佈亂數產生器,如第6圖所示,便具有相當節省之面積。值得注意的是,n個第一型線性移位暫存器410係分別對應到獨立不同的本因多項式(Primitive Polynomials),且亂數種子群(Seeds)也應先隨機取樣相異的數目。
本實施例之達成功效在於原本的平行加法器有面積大且傳播時間長的缺點,在改成如第6圖內的平行計數器420後,加法器430面積較習知節省了95%以上,而電路全部面積亦節省了35%以上;而且,電路運算速度加快了40%以上。
另外,通常求得的亂數分佈會調整為單位常態分佈,也就是調成μ=0和σ=1。為了方便利用移位方式來代替除法方式,以調整為σ=1,n值通常取為n
=122 b
,其中b為一整數,則最後只要移位b位元即可。請參考第7圖,第7圖為n=12即b=1時,經實驗所得的採樣分佈長條圖,跟據我們的推算和經驗,n=48即b=2時的速度、面積和亂度會有較好的折衷性。
因此,本實施例之利用中央極限定理之常態分佈亂數產生器,具有下列優點:
1.本實施例可應用於通訊測試、蒙地卡羅分析、加密、編碼、可靠性分析與各種需要常態分佈亂數之應用等等;應用於通訊測試時,可以內建於高速串列傳輸介面用以測試與監控,大幅降低以往測試時必需使用昂貴儀器的成本。
2.本實施例主要將用以將常態分佈亂數產生器中所需的運算、邏輯閘數、連帶整個面積成本大幅降低,而不失亂度、分佈吻合度,同時也降低可觀的功耗。本實施例首創於中央極限定理之常態分佈亂數產生器中,利用移位特性以降低平行加法器之面積。
3.本實施例設計容易,在亂度與分怖吻合度可以接受的情況下,具有低面積、低成本與快速運算的優勢。
接下來,請參考第8圖。第8圖是本發明一實施例之利用中央極限定理之常態分佈亂數產生方法的步驟流程圖。本實施例包括下列步驟:首先,利用多個第一型線性移位暫存器,產生多個相應之均勻亂數。接下來,利用一平行計數器,來加總這些均勻亂數,以產生一亂數和值。最後,利用一加法器及一移位電路,來平移此亂數和值。藉此,本實施例之利用中央極限定理之常態分佈亂數產生方法可以利用較具電路優勢之電路元件,來取得與習知之中央極限定理之常態分佈亂數產生方法相近似之結果。
雖然本發明已以實施方式揭露如上,然其並非用以限定本發明,任何熟習此技藝者,在不脫離本發明之精神和範圍內,當可作各種之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
110、410...第一型線性移位暫存器
120...平行加法器
210...D型正反器
220...常數開關
230...互斥或邏輯閘
310...加法器陣列
320...加法器
420...平行計數器
430...加法器
440...移位電路
450...回授訊號線
510~530...步驟
為讓本發明之上述和其他目的、特徵、優點與實施例能更明顯易懂,所附圖式之說明如下:
第1圖是習知之查表法的常態分佈曲線圖。
第2圖是習知之查表法的弦波分佈曲線圖。
第3圖是習知之中央極限定理法亂數產生器的結構示意圖。
第4圖是第3圖之第一型線性移位暫存器110的結構示意圖。
第5圖是第3圖之平行加法器120的結構示意圖。
第6圖是本發明一實施例之利用中央極限定理之常態分佈亂數產生器的結構示意圖。
第7圖是第6圖之第一型線性移位暫存器410移位1位元時的採樣分佈長條圖。
第8圖是本發明一實施例之利用中央極限定理之常態分佈亂數產生方法的步驟流程圖。
410...第一型線性移位暫存器
420...平行計數器
430...加法器
440...移位電路
450...回授訊號線
Claims (10)
- 一種利用中央極限定理之常態分佈亂數產生器,包括:複數個第一型線性移位暫存器,係用以產生複數個相應之均勻亂數;一平行計數器,係用以接收該複數個均勻亂數,以產生一亂數和值;一加法器,具有一第一輸入端、一第二輸入端及一第一輸出端,該第一輸入端係接收該亂數和值;以及一移位電路,具有一第三輸入端及一第二輸出端,該第三輸入端係訊號連接該加法器之該第一輸出端,且該第二輸出端係訊號連接該加法器之該第二輸入端;其中,該加法器與該移位電路係利用該亂數和值產生一常態分佈亂數結果。
- 如請求項1所述之利用中央極限定理之常態分佈亂數產生器,其中該加法器可為一漣波進位加法器。
- 如請求項1所述之利用中央極限定理之常態分佈亂數產生器,其中該加法器可為一先行進位加法器。
- 如請求項1所述之利用中央極限定理之常態分佈亂數產生器,其中該移位電路可為一D型正反器移位暫存電路。
- 如請求項1所述之利用中央極限定理之常態分佈亂數產生器,其中該移位電路可為一JK正反器移位暫存電路。
- 一種利用中央極限定理之常態分佈亂數產生方法,包括下列步驟:利用複數個第一型線性移位暫存器,產生複數個相應之均勻亂數;利用一平行計數器,來加總該複數個均勻亂數,以產生一亂數和值;以及利用一加法器及一移位電路,來平移該亂數和值,以產生一常態分佈亂數結果;其中該加法器,具有一第一輸入端、一第二輸入端及一第一輸出端,該第一輸入端係接收該亂數和值,該移位電路具有一第三輸入端及一第二輸出端,該第三輸入端係訊號連接該加法器之該第一輸出端,且該第二輸出端係訊號連接該加法器之該第二輸入端。
- 如請求項6所述之利用中央極限定理之常態分佈亂數產生方法,該加法器可為一漣波進位加法器。
- 如請求項6所述之利用中央極限定理之常態分佈亂數產生方法,該加法器可為一先行進位加法器。
- 如請求項6所述之利用中央極限定理之常態分佈亂數產生方法,該移位電路可為一D型正反器移位暫存電路。
- 如請求項6所述之利用中央極限定理之常態分佈亂數產生方法,該移位電路可為一JK正反器移位暫存電路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW98112668A TWI387921B (zh) | 2009-04-16 | 2009-04-16 | 利用中央極限定理之常態分佈亂數產生器及其亂數產生方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW98112668A TWI387921B (zh) | 2009-04-16 | 2009-04-16 | 利用中央極限定理之常態分佈亂數產生器及其亂數產生方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201039231A TW201039231A (en) | 2010-11-01 |
TWI387921B true TWI387921B (zh) | 2013-03-01 |
Family
ID=44995391
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW98112668A TWI387921B (zh) | 2009-04-16 | 2009-04-16 | 利用中央極限定理之常態分佈亂數產生器及其亂數產生方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI387921B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI567637B (zh) * | 2015-01-15 | 2017-01-21 | Mitsubishi Electric Corp | Random number expansion device, the number of ways to expand the number of random and expand the program products |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102083271B1 (ko) * | 2012-07-31 | 2020-03-02 | 삼성전자주식회사 | 플래시 메모리의 물리적 특성을 이용하여 난수를 생성하는 플래시 메모리 시스템 및 그것의 난수 생성 방법 |
TWI506541B (zh) * | 2013-10-18 | 2015-11-01 | Storart Technology Co Ltd | 自回授亂數產生器及其自回授亂數產生方法 |
-
2009
- 2009-04-16 TW TW98112668A patent/TWI387921B/zh not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI567637B (zh) * | 2015-01-15 | 2017-01-21 | Mitsubishi Electric Corp | Random number expansion device, the number of ways to expand the number of random and expand the program products |
Also Published As
Publication number | Publication date |
---|---|
TW201039231A (en) | 2010-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Panda et al. | Modified dual-CLCG method and its VLSI architecture for pseudorandom bit generation | |
Panda et al. | A coupled variable input LCG method and its VLSI architecture for pseudorandom bit generation | |
Dastgheib et al. | A digital pseudo-random number generator based on sawtooth chaotic map with a guaranteed enhanced period | |
Masoodi et al. | An analysis of linear feedback shift registers in stream ciphers | |
Xiao et al. | 2-Adic complexity of two classes of generalized cyclotomic binary sequences | |
Rachwalik et al. | Generation of nonlinear feedback shift registers with special-purpose hardware | |
Gupta et al. | Coupled variable‐input LCG and clock divider‐based large period pseudo‐random bit generator on FPGA | |
JP2010531018A5 (zh) | ||
Panda et al. | Design and FPGA prototype of 1024-bit Blum-Blum-Shub PRBG architecture | |
Wang et al. | Analysis of the Time Series Generated by a New High‐Dimensional Discrete Chaotic System | |
TWI387921B (zh) | 利用中央極限定理之常態分佈亂數產生器及其亂數產生方法 | |
Panda et al. | FPGA prototype of low latency BBS PRNG | |
Güneysu | True random number generation in block memories of reconfigurable devices | |
Fan et al. | Effects of limited computational precision on the discrete chaotic sequences and the design of related solutions | |
CN111966329B (zh) | 一种基于物理不可克隆函数puf的真随机数发生器 | |
Mita et al. | A novel pseudo random bit generator for cryptography applications | |
Souza et al. | Pseudo-chaotic sequences generated by the discrete Arnold’s map over Z 2 m: Period analysis and FPGA implementation | |
Wijesinghe et al. | Hardware implementation of random number generators | |
Mita et al. | Pseudo-random sequence generators with improved inviolability performance | |
Al-Haija et al. | Implementing variable length Pseudo Random Number Generator (PRNG) with fixed high frequency (1.44 GHZ) via Vertix-7 FPGA family | |
Lu et al. | The research and efficient FPGA implementation of Ghash core for GMAC | |
Hussain et al. | An Approach to Measure Transition Density of Binary Sequences for X-Filling based Test Pattern Generator in Scan based Design | |
Merah et al. | Coupling two chaotic systems in order to increasing the security of a communication system-study and real time FPGA implementation | |
Jonatan et al. | Gaussian Pseudo-Random Number Generator using LFSR's Rotation and Split | |
Guo et al. | Parallel and real-time post-processing for quantum random number generators |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |