基于FPGA的高斯白噪聲發(fā)生器設計
其典型的功率譜密度如圖2所示。本文引用地址:http://dyxdggzs.com/article/191829.htm
由圖2可以看出,m序列的功率譜密度的包絡(luò )是[(sin x)/x]2形的,它約在偽隨機序列基本時(shí)鐘頻率的45%帶寬內具有均勻功率譜密度,所以用濾波器濾除該頻帶內的信號就可以近似看作帶限白噪聲。m序列的均衡性、游程分布、自相關(guān)特性和功率譜與隨機序列的基本性質(zhì)很相似,所以m序列屬于偽噪聲的序列或偽隨機序列。
2.2 FIR數字濾波算法
m序列的功率譜是固定的,要生成帶寬可調的數字噪聲序列需要對m序列進(jìn)行低通數字濾波,本文采用的是FIR數字濾波器。
由Lindeberg定理可知,設有獨立隨機變量序列
該定理證明了由大量微小且獨立的隨機因素引起,并積累而成的變量,必是一個(gè)正態(tài)隨機變量。FIR濾波器的單位沖激響應為h(n),0≤n≤N一1,輸入函數為x(i),則輸出函數y(i)可以寫(xiě)為:
該算法需要N次相乘,N-1次累加。為了產(chǎn)生帶寬小于5 MHz高質(zhì)量的數字噪聲序列,需要構建窄通帶、通帶阻帶轉換迅速的低通濾波器,對此僅僅增加單級FIR濾波的沖激相應長(cháng)度n是不夠的,對此本文采用了多級FIR數字濾波的方法。為了使得多路多級FIR濾波器能夠在常用FPGA平臺上實(shí)現,對FIR數字濾波模型進(jìn)行算法優(yōu)化,以節約所需邏輯單元資源是很有必要的。
采用單位沖激相應h(n)為偶函數的FIR濾波器,并取階數N為奇數,則式(6)可以化簡(jiǎn)為:
采用該方法可以將FIR算法中乘的次數減半,總計算量減為(N+1)/2次相乘,N-2次累加,極大地節省了FPGA的邏輯單元資源。FIR的濾波過(guò)程實(shí)質(zhì)上就是一個(gè)延遲后加權相加的過(guò)程,即濾波輸出y(i)是輸入x(i)以及它的前N一1個(gè)狀態(tài)的加權疊加。
2.3 DDS算法
隨著(zhù)數字集成電路和微電子技術(shù)的發(fā)展,直接數字頻率合成器(Direct Digital Synthesizer,DDS)逐漸體現出其具有相對帶寬寬,頻率轉換時(shí)間短,頻率分辨率高,輸出相位連續,可編程及全數字化結構等優(yōu)點(diǎn)。
DDS的基本工作原理是根據正弦函數的產(chǎn)生,從相位出發(fā),用不同的相位給出不同的電壓幅度,最后濾波平滑出所需要的頻率。圖3是DDS的原理方框圖。
參考頻率源又稱(chēng)參考時(shí)鐘源,它是一個(gè)穩定的晶體振蕩器,用來(lái)同步DDS的各組成部分。相位累加器類(lèi)似于一個(gè)計數器,它由多個(gè)級聯(lián)的加法器和寄存器組成,在每一個(gè)參考時(shí)鐘脈沖輸入時(shí),它的輸出就增加一個(gè)步長(cháng)的相位增量值,這樣相位累加器把頻率控制字K的數字變換成相位抽樣來(lái)確定輸出合成頻率的大小。相位增量的大小隨外指令頻率控制字K的不同而不同,一旦給定了相位增量,輸出頻率也就確定了。當用這樣的數據尋址時(shí),正弦查表就把存儲在相位累加器中的抽樣數字值轉換成近似正弦波幅度的數字量函數。以上的算法都可在FPGA內部實(shí)現。
評論