摘要:提出了一種面向硬件的均值、方差的高斯隨機(jī)噪聲生成方法。改進(jìn)了傳統(tǒng)的采用蒙特卡洛方法實(shí)現(xiàn)均勻分布噪聲到同分布噪聲的快速轉(zhuǎn)化,利用映射函數(shù)方法實(shí)現(xiàn)個(gè)轉(zhuǎn)為,最大隨度地降低運(yùn)算量。實(shí)驗(yàn)證明本方法具有快速、高精度等優(yōu)點(diǎn).
高斯隨機(jī)噪聲在信號分析和處理中具有重要的價(jià)值。本文具體討論了一種面向硬件的高斯噪聲快速生成算法。算法原理為通過映射表法將均勻噪聲轉(zhuǎn)化生成高斯隨機(jī)噪聲。本方法占有內(nèi)存小、運(yùn)算速度快、精度高。實(shí)驗(yàn)證明該方法能夠?yàn)?a href="http://www.brongaenegriffin.com/v/" target="_blank">視頻圖像實(shí)時(shí)添加高斯噪聲。
圖1
原理框圖如圖1所示。圖1左半部分為均勻噪聲生成部分,采用模數(shù)取余法,依靠已有的K個(gè)隨機(jī)數(shù)種子,不斷生成新的隨機(jī)數(shù),并將之向外輸出。圖1右半部分采用左半部分的輸出值生成映射表地址,將查表后得到的結(jié)果輸出,即為所要求的高斯噪聲值結(jié)果。
1 生成均勻分布噪聲
設(shè)x(1),…,x(k)是給定的k個(gè)隨機(jī)數(shù),在(-X,X)內(nèi)均勻分布,相互獨(dú)立。第k+1個(gè)隨機(jī)數(shù)由x(1)和x(k)按照模X相加得到:

即x(k+1)仍然是(-X,X)之間的隨機(jī)數(shù)。在下一次運(yùn)算時(shí),將x(k+1)移到x(k)的位置,xk)移到x(k-1),……,x(2)移到x{1},然后再做模X運(yùn)算,相加得到x(k+2),如此循環(huán),產(chǎn)生序列{xn}。
首先討論上面的模X運(yùn)算。對于采用補(bǔ)碼運(yùn)算的處理器而言,只要取X為處理器字長,則在不考慮進(jìn)位的情況下,通常的加法就是模加運(yùn)算。
然后采用數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)上面的循環(huán)機(jī)制。設(shè)兩個(gè)指針:頭指針head和尾指針tail。每計(jì)算完一次噪聲值后,兩個(gè)指針都要向下移動一個(gè)位置。已到序列尾部,則重新指到序列的頭部,即按照加1模K運(yùn)算:
為了計(jì)算方便,選K為256。若用head和lnil指針做相對偏移地址,則可以采用1個(gè)字節(jié)存儲。加1運(yùn)算之后若不考慮溢出,就等價(jià)于加1模256操作。
2 映射高斯噪聲
為了由均勻噪聲快速產(chǎn)生高斯噪聲,采用了映射函數(shù)法。其算法原理如圖2所示。
將正態(tài)分布函數(shù)的自變量y進(jìn)行合理的離散化,得到一系列函數(shù)值,構(gòu)成一個(gè)數(shù)列。再將此數(shù)列中的任一個(gè)數(shù)yi映射到數(shù)軸x上的某個(gè)小區(qū)間段[xi0,xi1],其中‖xi1-xi0‖=yi。取遍數(shù)列中所有的數(shù)值,得到一系列的小區(qū)間。將所有的小區(qū)間依次連接起來,中點(diǎn)置于數(shù)軸的零點(diǎn),則構(gòu)成變量x的取值區(qū)間[-x,x]。將數(shù)軸x上的各個(gè)小區(qū)間與y序列建立映射關(guān)系,則可以證明,如果采樣間隔足夠小,那么x域中的隨機(jī)分布將對應(yīng)于y域中的高斯分布。
這個(gè)映射關(guān)系可以函數(shù)表示為y=f(x)。
其中x服從(-X,X)區(qū)間內(nèi)均勻分布,而y服從均值為u、方差為σ的高斯分布。f函數(shù)曲線如圖3所示。
在算法實(shí)現(xiàn)時(shí),對y對應(yīng)的高斯分布值進(jìn)行量化處理,并為x分配一塊連續(xù)的內(nèi)存區(qū)域[0,2X],每個(gè)內(nèi)存單元的(偏移地址-X)值代表了x值大小,單元內(nèi)容存放了該單元對應(yīng)的丁值。這片內(nèi)存區(qū)域就是所需要的映射查找表。這個(gè)表具有通用性,可以預(yù)先計(jì)算好,在需要時(shí)可¨直接使用,不必再計(jì)算。
對于(0,1)正態(tài)分布,圖4中的zi都小于1,沒有實(shí)際意義,所以將其放大了200倍;
則原始映射表描述為:
原始映射表比較大,實(shí)際使用時(shí)對其做了粗采樣。對y對應(yīng)的高斯分布值進(jìn)行的量化也沒有采用圖4中均標(biāo)準(zhǔn)階梯形式,而是采用了如下粗采樣形式:
結(jié)果映射表[k]=原始映射表[k·d+d/2] (2)
其中:采樣間隔d=∑yi/M.,量化處理曲線如圖5所示。
從圖5可以發(fā)現(xiàn),兩邊較小處并沒有像階梯圖那樣截止為0,而是允許以小的概率出現(xiàn)非零值。試驗(yàn)證明這種方式更好一些。
考慮高斯分布的實(shí)際情況,并經(jīng)過試驗(yàn)驗(yàn)證y僅在[-4,4]之間取值,就能夠達(dá)到令人滿意的精度。圖6給出了X大小對噪聲精度的影響曲線,縱軸為平均誤差。
可以看出,當(dāng)2X大于5500時(shí),誤差達(dá)到了極小穩(wěn)定狀態(tài)。為了方便計(jì)算,選擇2X=213=8192,即X=212=4096。
圖7給出了實(shí)驗(yàn)結(jié)果(均值為120,方差為40):虛線部分為標(biāo)準(zhǔn)高斯分布的曲線,實(shí)線部分為噪聲直方圖,驗(yàn)證了本方法的有效性。
3 精度討論
該方法主要利用兩個(gè)表:一個(gè)是循環(huán)產(chǎn)生均勻噪聲的表;另一個(gè)是映射表。這兩個(gè)表的數(shù)值都可以由前面介紹的方法計(jì)算,下面只討論它們的精度取舍。
循環(huán)表中256個(gè)種子的精度要求與映射表的大小有直接關(guān)系,對映射表采用了8192(8K)個(gè)單元。因此循環(huán)表的任務(wù)就是要在區(qū)間[-4096,4096]內(nèi)產(chǎn)生均勻分布的隨機(jī)數(shù)。所以循環(huán)表中的種子序列x(1),…,x(256)在[-4096,4096]內(nèi)均勻分布。為了方便計(jì)算,將種子序列的分布調(diào)整到[-(2115-1),(215-1)]之間,即X=215=32767。所以可以采用包含1位符號位共計(jì)16位來存儲種子數(shù)的補(bǔ)碼,這樣可以通過丟掉進(jìn)位的補(bǔ)碼加法來實(shí)現(xiàn)模X加運(yùn)算。補(bǔ)碼運(yùn)算結(jié)果的高13位或右移3位,可以直接作映射表的偏名地址進(jìn)行后續(xù)查表操作,并且滿足在[-4096,4096]內(nèi)均勻分布。
考慮實(shí)際情況下,待求的高斯噪聲分布的方差一般介于(0,100)之間,均值一般介于[-255,255]之間。而實(shí)際圖像灰度值是以整數(shù)[0,255]形式存在,
所以噪聲的精度只要控制在整數(shù)范圍內(nèi)即可,映射表的精度只要達(dá)到0.0l就足夠了。而映射表中數(shù)據(jù)的分布介于[-4.00,4.00]之間,若以整數(shù)形式存儲,將原始數(shù)據(jù)乘以128后就完全可以存放在16位長度單元中。
也可以在此基礎(chǔ)上對表進(jìn)行修改,使得經(jīng)過映射后高斯分布的均值和方差直接等于用戶給定的均值u和方差σ。修改比較簡單,將映射表中的每一個(gè)單元值y做如下替換:
y=(y*σ)>>7+u
此表中數(shù)據(jù)可以是原碼形式也可以是補(bǔ)碼形式具體需要而定。
- 高斯隨機(jī)(7236)
- 方法研究(7777)
相關(guān)推薦
如何使用PRBS和CMOS器件生成偽隨機(jī)噪聲和二進(jìn)制序列
7668
萬用表測量隨機(jī)噪聲信號的方案解析
2420隨機(jī)信號分析
高斯過程回歸GPR和多任務(wù)高斯過程MTGP
AGILENT回收81160A函數(shù)發(fā)生器
Agilent回收81160A二手示波器
MATLAB中計(jì)算方式生成隨機(jī)序列
Python和Keras在訓(xùn)練期間如何將高斯噪聲添加到輸入數(shù)據(jù)中呢?
【TL6748 DSP申請】噪聲實(shí)時(shí)分析系統(tǒng)
【assingle分享】labview隨機(jī)數(shù)發(fā)生器
【總結(jié)】LabVIEW隨機(jī)數(shù)發(fā)生器
一文了解高斯濾波器,附原理及實(shí)現(xiàn)過程
什么是電阻的固有噪聲?
單片機(jī)生成隨機(jī)數(shù)的方法
回收81160A-二手81160A脈沖函數(shù)任意噪聲發(fā)生器
在 Linux上生成隨機(jī)密碼的方法
基于級聯(lián)PLL的超低噪聲精密時(shí)鐘抖動濾除技術(shù)仿真和研究設(shè)計(jì)
如何用C語言生成高斯粗糙面
如何自定義高斯白噪聲功率和帶寬?
急求大神!怎么將Labview中的高斯白噪聲進(jìn)行信噪比分析?
急求教:LabVIEW圖像處理怎么給圖片加高斯白噪聲和椒鹽噪聲
求大神幫忙,labview如何不斷產(chǎn)生高斯脈沖對信號?
求程序,matlab圖像處理添加椒鹽噪聲,高斯噪聲,乘性噪聲然后用sobel,roberts,prewitt濾波去噪。
流式細(xì)胞儀是怎么實(shí)現(xiàn)信號的實(shí)時(shí)處理的?
相位噪聲的涵義
高斯濾波器在實(shí)時(shí)系統(tǒng)中的快速實(shí)現(xiàn)
38基于多高斯分布的背景生成算法
24基于高斯矩的NoisyICA研究
10抑制微光波前傳感器隨機(jī)噪聲的方法研究
11利用Vondrak方法處理GPs CV觀測數(shù)據(jù)的隨機(jī)噪聲
14圖像中的高斯和脈沖混合噪聲處理
14Galileo系統(tǒng)偽隨機(jī)序列生成及其FPGA實(shí)現(xiàn)
7基于隨機(jī)變量相似度的ICA方法
5隨機(jī)調(diào)頻信號旁瓣抑制及成像
9非高斯脈沖噪聲下Turbo均衡性能分析的改進(jìn)EXIT圖方法
14隨機(jī)共振方法在弱信號檢測中的應(yīng)用
58基于動態(tài)糾錯編碼的實(shí)時(shí)視頻通信研究
14一種窄帶非高斯建模方法
9一種改進(jìn)的各向異性高斯濾波算法
19高斯噪聲和白噪聲
0多區(qū)域視頻監(jiān)控入侵檢測報(bào)警方法的研究
16隨機(jī)噪聲對時(shí)序抖動的影響—理論與實(shí)踐
660高斯濾波器在實(shí)時(shí)系統(tǒng)中的快速實(shí)現(xiàn)
911
基于FPGA的高斯白噪聲發(fā)生器設(shè)計(jì)
3456
鋁基板輸出紋波噪聲的測試方法
503周期性信號中隨機(jī)噪聲的延時(shí)消除技術(shù)
31GPS信號及其測量原理(河南理工大學(xué)教程)
0偽隨機(jī)信號系統(tǒng)應(yīng)用
48CMOS數(shù)字?jǐn)z像機(jī)及成像噪聲分析
77加速度信號隨機(jī)噪聲及趨勢項(xiàng)實(shí)時(shí)消除方法研究
29基于多新息隨機(jī)梯度算法的網(wǎng)側(cè)變流器參數(shù)辨識方法研究
20一種工作流技術(shù)實(shí)現(xiàn)的應(yīng)急預(yù)案生成方法研究_胡飛虎
0隨機(jī)信號分析
0基于超混沌的自適應(yīng)異步抗噪聲保密通信方案
0基于蒙特卡羅模擬修正的隨機(jī)矩陣去噪方法
0一種隨機(jī)化的軟件模型生成方法
0用于NMR-SAR的波數(shù)域成像算法
2零相關(guān)區(qū)高斯整數(shù)序列集構(gòu)造法
0風(fēng)電并網(wǎng)中非線性和隨機(jī)噪聲擾動的同步控制
0神經(jīng)網(wǎng)絡(luò)的偽隨機(jī)數(shù)生成方法
0閾值陣列模型下的超閾值隨機(jī)共振信噪比增益
0偽隨機(jī)數(shù)生成算法
6以人為主體目標(biāo)的圖像理解與編輯任務(wù)
3809在實(shí)時(shí)嵌入式平臺上信號處理的實(shí)現(xiàn)方法與應(yīng)用
3452
基于熱噪聲的TRNG電路設(shè)計(jì)方法
7560
FPGA 實(shí)現(xiàn) 高斯濾波
4000
高斯濾波器的原理和實(shí)現(xiàn)
8337
實(shí)現(xiàn)運(yùn)動目標(biāo)檢測的方法詳細(xì)說明
14如何實(shí)現(xiàn)微弱信號檢測的隨機(jī)共振詳細(xì)方法與應(yīng)用研究
25一種整數(shù)上離散高斯取樣的常數(shù)時(shí)間實(shí)現(xiàn)方法
6基于k近鄰與高斯噪聲的虛擬困難樣本增強(qiáng)方法
815什么是高斯過程 神經(jīng)網(wǎng)絡(luò)高斯過程解析
3744如何在200 smart中生成偽隨機(jī)數(shù)
4283
聯(lián)合空譜信息的高光譜圖像噪聲估計(jì)
505
高斯如何得到他理論的結(jié)果?聊聊高斯概率分布的數(shù)學(xué)公式
511
LM2931-5.0隨機(jī)噪聲發(fā)生器電路原理圖講解
871
閃爍噪聲代碼實(shí)現(xiàn)方法
389如何使用雪花算法生成真正的隨機(jī)數(shù)
664基于FPGA圖像處理的高斯模糊實(shí)現(xiàn)
296
PD放大電路主要的噪聲源是哪些?如何降低PD放大電路噪聲?
330噪聲分析、誤差分析中,什么類型的噪聲、誤差可以用均方根計(jì)算?
700講一下有關(guān)運(yùn)算放大器的隨機(jī)噪聲 它是怎么產(chǎn)生的?
260
電子發(fā)燒友App



評論