對基于FPGA的高斯白噪聲發(fā)生器的研究與設(shè)計
其典型的功率譜密度如圖2所示。
由圖2可以看出,m序列的功率譜密度的包絡(luò)是[(sin x)/x]2形的,它約在偽隨機(jī)序列基本時鐘頻率的45%帶寬內(nèi)具有均勻功率譜密度,所以用濾波器濾除該頻帶內(nèi)的信號就可以近似看作帶限白噪聲。m序列的均衡性、游程分布、自相關(guān)特性和功率譜與隨機(jī)序列的基本性質(zhì)很相似,所以m序列屬于偽噪聲的序列或偽隨機(jī)序列。
2.2 FIR數(shù)字濾波算法
m序列的功率譜是固定的,要生成帶寬可調(diào)的數(shù)字噪聲序列需要對m序列進(jìn)行低通數(shù)字濾波,本文采用的是FIR數(shù)字濾波器。
由Lindeberg定理可知,設(shè)有獨立隨機(jī)變量序列
該定理證明了由大量微小且獨立的隨機(jī)因素引起,并積累而成的變量,必是一個正態(tài)隨機(jī)變量。FIR濾波器的單位沖激響應(yīng)為h(n),0≤n≤N一1,輸入函數(shù)為x(i),則輸出函數(shù)y(i)可以寫為:
該算法需要N次相乘,N-1次累加。為了產(chǎn)生帶寬小于5 MHz高質(zhì)量的數(shù)字噪聲序列,需要構(gòu)建窄通帶、通帶阻帶轉(zhuǎn)換迅速的低通濾波器,對此僅僅增加單級FIR濾波的沖激相應(yīng)長度n是不夠的,對此本文采用了多級FIR數(shù)字濾波的方法。為了使得多路多級FIR濾波器能夠在常用FPGA平臺上實現(xiàn),對FIR數(shù)字濾波模型進(jìn)行算法優(yōu)化,以節(jié)約所需邏輯單元資源是很有必要的。
采用單位沖激相應(yīng)h(n)為偶函數(shù)的FIR濾波器,并取階數(shù)N為奇數(shù),則式(6)可以化簡為:
采用該方法可以將FIR算法中乘的次數(shù)減半,總計算量減為(N+1)/2次相乘,N-2次累加,極大地節(jié)省了FPGA的邏輯單元資源。FIR的濾波過程實質(zhì)上就是一個延遲后加權(quán)相加的過程,即濾波輸出y(i)是輸入x(i)以及它的前N一1個狀態(tài)的加權(quán)疊加。
評論