秦雪陳
(河海大學(xué) 計算機(jī)與信息學(xué)院,江蘇 南京 211100)
電子戰(zhàn)是戰(zhàn)場敵對雙方保護(hù)電磁譜為己所用同時防止被敵所用的科學(xué)藝術(shù)。電子戰(zhàn)包括電子支持措施(ESM)、電子對抗措施(ECM)、電子反對抗措施(ECCM)。電子干擾是電子對抗的重要組成部分之一,而有源壓制式干擾是電子干擾中的一種常用手段。有源壓制式干擾一般采用噪聲調(diào)制,目的是盡可能大地降低被干擾雷達(dá)接收機(jī)中的信噪比,從而降低雷達(dá)的發(fā)現(xiàn)概率[1]。在壓制式噪聲干擾中,噪聲干擾都是采用隨機(jī)噪聲信號對VCO進(jìn)行調(diào)制的干擾。因此在電子對抗領(lǐng)域里,噪聲始終是最基本、最常用的干擾源之一[2]。如何產(chǎn)生穩(wěn)定和精確的噪聲信號已經(jīng)成為一個重要的研究領(lǐng)域。
隨著FPGA技術(shù)的高速發(fā)展,數(shù)字噪聲發(fā)生器的性能也得到了快速的發(fā)展。相對于傳統(tǒng)的物理噪聲發(fā)生器,基于FPGA的硬件電路噪聲發(fā)生器具有實現(xiàn)簡單方便靈活,易于擴(kuò)展的優(yōu)勢。文獻(xiàn)[3]提出了一種基于M序列的高斯白噪聲產(chǎn)生方法,該設(shè)計選取3個線性反饋移位寄存電路(LFSR),每個時鐘生成一個32bit的均勻分布的隨機(jī)數(shù),序列具有的周期大約為288,足以滿足實際工程需要[3]。但是在該設(shè)計中1片F(xiàn)PGA內(nèi)集成了均勻分布白噪聲模塊,F(xiàn)IR數(shù)字低通濾波器,均值和方差控制電路,耗費(fèi)FPGA資源較多,結(jié)構(gòu)較為復(fù)雜。
文獻(xiàn)[4]介紹了混合同余法和中心極限定理,論證了在此方法上可以產(chǎn)生服從正態(tài)分布統(tǒng)計特性的隨機(jī)數(shù)。本文在此基礎(chǔ)上,提出了一種基于混合同余法的FPGA隨機(jī)噪聲發(fā)生電路設(shè)計。設(shè)計通過主控端控制FPGA從直接波形ROM中讀取數(shù)據(jù),節(jié)省了FPGA片內(nèi)的加法器和乘法器資源,結(jié)構(gòu)簡單,可靠性高。
通過同余運(yùn)算生成偽隨機(jī)數(shù)的方法稱為同余法,常用的同余法包括加同余法、乘同余法、混合同余法、除同余法[5]。其中乘同余法和混合同余法的性能更好,有速度快、內(nèi)存省、周期長、統(tǒng)計特性好等優(yōu)點(diǎn)[6]。混合同余法是Lehmer在1951年提出的,混合同余法是加同余法和乘同余法的混合形式,其迭代式如下:
式(1)中a為乘子,x0為種子,b為常數(shù),M為模?;旌贤喾ㄊ且环N遞歸算法,即先提供一個種子x0,逐次遞歸即得到一個不超過模M的整數(shù)數(shù)列。集合{xn}是由0到M-1的全部整數(shù)重新排列而成[7]。當(dāng)b=0時,稱此算法為乘同余法;若b≠0,則稱算法為混合同余法。xn是在(0,M)內(nèi)服從均勻分布的隨機(jī)變量,Rn則是在(0,1)內(nèi)服從均勻分布的隨機(jī)變量。式中x0,a,b,M的取值并不是隨意的,模M大小是發(fā)生器周期長短的主要標(biāo)志,常見的M為素數(shù),取b為M的原根,則周期T=M-1。試驗統(tǒng)計表明,用以下參數(shù)進(jìn)行混合同余法產(chǎn)生的隨機(jī)序列的統(tǒng)計特性較好:
在式(2)~(12)中,T=231-2,16 807、32 719、1 220 703 125都是231-1的原根。
混合同余法產(chǎn)生的隨機(jī)序列具有以下特點(diǎn):
1)xn重復(fù)周期較小,由于 xn取值在(0,M)內(nèi),其周期,T≤M,T 受 x0,a,b,M 值的影響。 另外,在編程時,浮點(diǎn)運(yùn)算也會對T產(chǎn)生影響。
2)用此方法產(chǎn)生的隨機(jī)序列,在一個周期內(nèi)任意兩個隨機(jī)數(shù)不可能相等,這往往與實際情況不相符。
經(jīng)Hull和 Dobell證明, 只有 x0,a,b,M滿足以下一些關(guān)系才能實現(xiàn)周期最大化,即T=M,條件如下[8]:
1)b與M互質(zhì)(或互素,即它們的最大公約數(shù)為1)
2)設(shè)q為某一質(zhì)數(shù),M分別能被q和4整除,且a-1能被q和4整除
產(chǎn)生具有最大周期的偽隨機(jī)序列的混合同余法算法為:
由于M=2k,k≥2時,M只有一個素數(shù)因子2,且4也是M的因子,此時a=4n+1,正好滿足了T=M的第二個條件;而此時b=2m+1,剛好與M互質(zhì),即滿足T=M的第一個條件[9]。
可以看出,混合同余法產(chǎn)生的隨機(jī)序列最多只能有M個不同的取值。為了獲得長周期的隨機(jī)數(shù)序列,應(yīng)盡可能取大的M值,并合理選擇其它參數(shù)[7]。
利用混合同余法產(chǎn)生的是在(a,b)區(qū)間上均勻分布的隨機(jī)序列,再根據(jù)中心極限定理,就可以得到服從正態(tài)分布的隨機(jī)序列。由獨(dú)立同分布中心極限定理有:設(shè)隨機(jī)變量X1,X2…Xn相互獨(dú)立,服從同一分布,且具有數(shù)學(xué)期望和方差:
近似服從 N(0,1)分布。
如果 Xn服從(0, 1)均勻分布,則式(16)中 μ=0.5,σ2=
近似服 N(0,1)從分布[10]。
本文設(shè)計的高斯白噪聲發(fā)生器的系統(tǒng)結(jié)構(gòu)框圖如圖1所示,首先在PC控制端根據(jù)式(17),應(yīng)用 MATLAB產(chǎn)生需要的高斯白噪聲數(shù)據(jù)[11],并存入ROM表,計數(shù)器模塊在FPGA的控制下從ROM表中讀出數(shù)據(jù)送往DAC,通過數(shù)模轉(zhuǎn)換就可以得到高斯白噪聲。
圖1 噪聲發(fā)生器的系統(tǒng)設(shè)計框圖Fig.1 System design diagram of the noise generator
下面對噪聲發(fā)生器設(shè)計的各個部分進(jìn)行分析,并在FPGA中仿真實現(xiàn)。
在PC主控端,利用MATLAB工具基于混合同余法產(chǎn)生高斯白噪聲數(shù)據(jù)。圖2是MATLAB仿真結(jié)果圖,分別繪出了利用混合同余法時產(chǎn)生的均勻分布序列和在均勻序列基礎(chǔ)上產(chǎn)生的正態(tài)分布序列,以及它們的頻率分布情況。從仿真結(jié)果可以看出,仿真生成的隨機(jī)序列的統(tǒng)計特性和單位正態(tài)分布十分吻合。產(chǎn)生的高斯白噪聲滿足噪聲隨機(jī)性和統(tǒng)計特性的要求,在PC主控端可以通過改變均值,方差和種子值,從而得到不同的服從正態(tài)分布統(tǒng)計特性樣本,從而產(chǎn)生滿足各種需要的高斯白噪聲。將MATLAB仿真生成的隨機(jī)信號數(shù)據(jù)保存成mif文件,存入ROM表中供FPGA讀取使用。
圖2 MATLAB仿真結(jié)果圖Fig.2 MATLAB simulation results
本文中的FPGA設(shè)計平臺選用Altera公司的StratixⅣ芯片EP4SGX230KF40C4ES,開發(fā)工具使用 QuartusⅡ和Modelsim對其進(jìn)行功能仿真并觀察仿真結(jié)果。
圖3所示為該設(shè)計的RTL級電路,從圖中可以看出,電路共有3個輸入信號:使能信號en,復(fù)位信號rst_n,時鐘信號clk。該電路的核心是計數(shù)器模塊和ROM表模塊。ROM表模塊的實現(xiàn)使用Altera內(nèi)部的LPM_ROM IP核。電路工作時,由計數(shù)器cnt產(chǎn)生地址信號,送給ROM表中進(jìn)行尋址,在輸出端就可以產(chǎn)生數(shù)字高斯白噪聲序列。
圖3 RTL級電路示意圖Fig.3 RTL level circuit schematic
利用Modelsim仿真工具進(jìn)行仿真,可以觀察到輸出的高斯白噪聲序列,仿真結(jié)果如圖4所示。
將輸出序列改成模擬形式,可以看到產(chǎn)生的數(shù)字高斯白噪聲的波形,如圖5所示。
圖5 仿真產(chǎn)生的高斯白噪聲波形Fig.5 Gaussian white noise waveform
本設(shè)計實現(xiàn)的高斯白噪聲發(fā)生器電路,工作穩(wěn)定,并且在PC主控端可以根據(jù)不同要求,通過改變均值方差和種子值,從而得到服從正態(tài)分布統(tǒng)計特性的不同樣本,進(jìn)而得到不同種類和滿足不同特性的噪聲。實驗結(jié)果產(chǎn)生的高斯白噪聲符合噪聲隨機(jī)性和統(tǒng)計特性的要求,本設(shè)計可以應(yīng)用在有源干擾機(jī)的工程實踐中,有比較好的實用特性。
[1]張永順,童寧寧,趙國慶.雷達(dá)電子戰(zhàn)原理[M].北京:國防工業(yè)出版社,2006.
[2]Vasilescu G.Electronic Noise and Interfering Signals:Principles and Applications[M].Berlin Springer-Verlag,2005
[3]李成.一種基于FPGA帶限數(shù)字噪聲發(fā)生電路的設(shè)計[J].電子質(zhì)量,2009(5):68-70.LI Cheng.The design of bandwidth limited digital noise generator based on FPGA[J].Electronics Quality,2009(5):68-70.
[4]萬衛(wèi)華,顏波濤.混合同余法產(chǎn)生隨機(jī)噪聲技術(shù)分析[J].中國科技信息,2012(7):123.WAN Wei-hua,YAN Bo-tao.Use blend congruent algorithms to generate random noise and analytical[J].China Science and Technology Information,2012(7):123.
[5]楊振海,張國志.隨機(jī)數(shù)生成[J].數(shù)理統(tǒng)計與管理,2006,25(2):224-252.YANG Zhen-hai,ZHANG Guo-zhi.Generating random variables[J].Application of Statistics and Management,2006,25(2):224-252.
[6]徐鐘濟(jì).蒙特卡羅方法[M].上海:上海科學(xué)技術(shù)出版社,1985.
[7]吳飛.產(chǎn)生隨機(jī)數(shù)的幾種方法及其應(yīng)用[J].數(shù)值計算與計算機(jī)應(yīng)用,2006(1):48-51.WU Fei.Several methods of creating stochastic number and applications[J].Journal of Numerical Methods and Computer Applications,2006(1):48-51.
[8]郭鳳鳴.一種生成大周期偽隨機(jī)數(shù)的新算法——改進(jìn)的混合同余法[J].地球科學(xué),1992(6):733-738.GUO Feng-ming.A new algorithm in generating pseudo random number-improved mixing congruential method[J].Earth Science,1992,(06):733-738.
[9]張永偉.一種新型雷達(dá)模擬器的設(shè)計[J].艦船電子對抗,2008(2):56-59.ZHANGYong-wei.Design of a kind of new radar simulator[J].Shipboard Electronic Countermeasure,2008(2):56-59.
[10]盛驟,謝式千.概率論與數(shù)理統(tǒng)計及應(yīng)用[M].北京.高等教育出版社,2004.
[11]楊丹,趙海濱.MATLAB 7.0從入門到精通[M].北京.人民郵電出版社,2006.