朱鵬 夏際金
摘 要:高斯噪聲的產(chǎn)生作為一個系統(tǒng)的小模塊,需要有速度快、占用資源小、精度高等特殊要求,本文采用FPGA生成高斯噪聲,首先使用m序列發(fā)生器產(chǎn)生均勻的隨機(jī)分布的噪聲,然后利用均勻分布和高斯分布之間的映射函數(shù)關(guān)系,采用線性插值擬合出一次曲線,進(jìn)而產(chǎn)生高斯噪聲。實(shí)驗(yàn)證明該方法完全滿足工程需要。
關(guān)鍵詞:FPGA;均勻分布;高斯噪聲;插值
DOI:10.16640/j.cnki.37-1222/t.2017.23.085
0 引言
在雷達(dá)領(lǐng)域,需產(chǎn)生一個模擬目標(biāo)來進(jìn)行系統(tǒng)仿真驗(yàn)證,為了盡可能模擬真實(shí)目標(biāo),需要在模擬目標(biāo)中添加高斯噪聲。傳統(tǒng)的高斯噪聲在DSP軟件系統(tǒng)中生成,生成的高斯噪聲周期有限,影響系統(tǒng)后處理??紤]到硬件資源少、精度高、速度快等特點(diǎn),本文采用FPGA生成高斯噪聲,可移植性強(qiáng)。
1 算法介紹
高斯噪聲與均勻噪聲有一定的映射關(guān)系,通過映射關(guān)系采用分段線性擬合方式,可以求解出高斯噪聲。由高斯噪聲和均勻噪聲對應(yīng)曲線可知,對應(yīng)曲線在[0,0.5]和[0.5,1]是對稱關(guān)系,且隨著高斯噪聲絕對值增大,對應(yīng)的斜率也逐漸增大。如果按照映射關(guān)系對應(yīng)的函數(shù)進(jìn)行計算,含有超越函數(shù)、運(yùn)算量大且不易工程實(shí)踐。如果對均勻噪聲采用線性擬合,那么高斯噪聲絕對值越高,誤差越大[1]。所以需要對均勻噪聲采用分段線性擬合,在高斯噪聲絕對值高的地方,減少擬合區(qū)間,提高擬合精度。
2 實(shí)現(xiàn)方法
工程實(shí)踐方案是使用m序列發(fā)生器產(chǎn)生均勻的隨機(jī)分布,這里為了減少m序列之間的相關(guān)性,采用多個m序列發(fā)生器并行工作,經(jīng)非相干化處理生成32位的均勻分布噪聲,經(jīng)過比較器,落在相應(yīng)的插值區(qū)間,最后擬合出高斯分布的噪聲[2]。
2.1 均勻分布的噪聲產(chǎn)生
M序列是由帶線性反饋的移位寄存器產(chǎn)生的周期最長的序列。M序列的每一個狀態(tài)可以看成對應(yīng)一個隨機(jī)噪聲。當(dāng)m序列使用n級寄存器時,對應(yīng)的周期最大為2n-1。M序列前后輸出具有較強(qiáng)的相關(guān)性,為了減少均勻噪聲序列的相關(guān)性,可以采取L個m序列產(chǎn)生器并行工作,不同時刻采用不同的m序列產(chǎn)生器產(chǎn)生均勻噪聲[3]。一般取L≥6, n≥20。本文使用的L=6,n=32;理論上產(chǎn)生此序列的長度為232-1。
2.2 高斯噪聲的產(chǎn)生
高斯噪聲與均勻噪聲的映射關(guān)系可以用函數(shù)來表示:
其中x表示均勻分布的隨機(jī)變量,y表示高斯隨機(jī)變量。采用斜率不同的折線來逼近關(guān)系曲線。在[0.5,1]段通過Matlab產(chǎn)生15段的折線,其中對Y軸的高斯分布值進(jìn)行[0,5]區(qū)間等間隔均勻分割,得到的起點(diǎn)折線坐標(biāo)(x1,y1)…(x15,y15)和對應(yīng)的斜率(k1,…k15)。
32階M序列發(fā)生器產(chǎn)生的偽隨機(jī)數(shù)作為高斯噪聲轉(zhuǎn)換的X軸值。該值經(jīng)過量化之后會落在[0,1]區(qū)間內(nèi)??紤]到均勻噪聲和高斯噪聲關(guān)于(0.5,0)對稱。在[0,0.5]區(qū)間內(nèi)的值進(jìn)行取反操作,就可得到[0.5,1]對應(yīng)的區(qū)間值,最后在[0.5,1]擬合出該值。
3 實(shí)驗(yàn)結(jié)果
本文在Altera公司的EP4SGX360芯片上實(shí)現(xiàn)該設(shè)計,高斯取值范圍[-5,5],均值0,方差1 的高斯噪聲。使用Modelsim仿真產(chǎn)生10000個點(diǎn)的噪聲值,并將10000點(diǎn)結(jié)果導(dǎo)入matlab里繪制直方圖如圖1所示,可見生成的噪聲序列密度符合高斯分布,達(dá)到設(shè)計要求。
4 結(jié)束語
基于分段插值的方法產(chǎn)生高斯噪聲精度高,而且占用的FPGA資源比常規(guī)方法少,是FPGA產(chǎn)生高斯噪聲的一種非常有效的方法,并且易于工程實(shí)現(xiàn)。
參考文獻(xiàn):
[1]肖沛,林季資.一種偽隨機(jī)數(shù)組合發(fā)生器的研究.數(shù)理醫(yī)藥學(xué)雜志,2009(02):315-320.
[2]束禮寶,宋克柱,王硯方.偽隨機(jī)數(shù)發(fā)生器的FPGA實(shí)現(xiàn)與研究[J].電路與系統(tǒng)學(xué)報,2003,8(03):121-124.
[3]曾祥能,張永順.基于改進(jìn)M序列的數(shù)字噪聲源設(shè)計及其FPGA實(shí)現(xiàn)[J].電視技術(shù),2008,1(48):3.endprint