0 引 言
現(xiàn)代通訊電子設備的抗干擾測試已經(jīng)成為必須的測試項目,主要的干擾類型為噪聲干擾。在通信信道測試和電子對抗領域里,噪聲始終是最基本、最常用的干擾源之一。如何產(chǎn)生穩(wěn)定和精確的噪聲信號已經(jīng)成為一個重要的研究領域。其中,帶限白噪聲信號時間相關性小,目前應用最廣泛?,F(xiàn)有的硬件高斯白噪聲發(fā)生器通常分為物理噪聲發(fā)生器和數(shù)字噪聲發(fā)生器兩類,數(shù)字噪聲發(fā)生器雖然沒有物理噪聲發(fā)生器的精度高,但是實現(xiàn)電路較為簡單,易于應用。
FPGA技術的發(fā)展,提高了硬件噪聲發(fā)生器的速度和性能,相比基于軟件實現(xiàn)的噪聲發(fā)生器,展現(xiàn)出更大的優(yōu)勢。本文設計的高斯白噪聲發(fā)生器采用FPGA的方式實現(xiàn),輸出的基帶白噪聲帶寬可調(diào),范圍為1~66 MHz,步進3 MHz,幅度8位可調(diào),同時可產(chǎn)生正弦波、三角波、鋸齒波、方波等函數(shù)波,通過更改現(xiàn)場可編程器件的配置波形數(shù)據(jù)也可產(chǎn)生其他復雜函數(shù)波形。
l 高斯白噪聲發(fā)生器原理
本文所述的高斯白噪聲發(fā)生器如圖1所示。
首先,在現(xiàn)場可編程門陣列(Field Programmable Gate Array,F(xiàn)PGA)平臺上以一個統(tǒng)一的時鐘速度(以后稱之為噪聲發(fā)生速度,即f0)生成高速m序列偽隨機碼流,對該序列進行有限沖擊響應(Finite Impulse Response,F(xiàn)IR)數(shù)字濾波處理,得到帶限白噪聲數(shù)字序列,同時在FPGA中實現(xiàn)直接數(shù)字綜合(Direct Digital Synthesizer,DDS)算法,產(chǎn)生正弦數(shù)字序列,并與噪聲序列合成;其次,將以上得到的數(shù)字序列通過高速數(shù)/模轉(zhuǎn)換器(Digital Analog Converter,DAC)轉(zhuǎn)換為模擬噪聲信號;再次,通過LC低通濾波器以及放大器轉(zhuǎn)換為模擬帶限白噪聲和正弦信號,該信號即為基帶白噪聲信號。下面對涉及的基本算法進行分析和仿真。
高斯白噪聲發(fā)生方法中涉及偽隨機碼發(fā)生算法、數(shù)字濾波算法和正弦波發(fā)生算法。本文詳細論述這幾種算法,及其在FPGA上的實現(xiàn)方法,分析了各種算法在頻域上的頻譜特性。
2 高斯白噪聲發(fā)生器算法分析
2.1 偽隨機碼發(fā)生算法
偽隨機碼(Pseudo-random Sequence,PS)的性能指標直接影響產(chǎn)生白噪聲的隨機性,是系統(tǒng)設汁的關鍵。通常產(chǎn)生偽隨機碼的電路為一反饋移存器,分為線性和非線性兩類。前者產(chǎn)生周期最長的二進制數(shù)字序列為最大長度線性反饋移存器序列,簡稱m序列。本文采用的就是m序列偽隨機碼。
產(chǎn)生m序列的反饋移存器的遞推方程可以寫為:
它給出了移位輸入an與移位前各級狀態(tài)的關系。
特征多項式寫為:
它決定了移位寄存器的反饋連接和序列的結構。
m序列的自相關函數(shù)可表示為:
式(3)為一個周期(m=2n-1)內(nèi)的函數(shù),其中Tn為偽隨機噪聲碼元的寬度。整個時域的自相關函數(shù)的周期為m=2n-1。信號的自相關函數(shù)與功率譜密度構成一對傅里葉變換,因此m序列的自相關函數(shù)經(jīng)過傅里葉變換,其功率譜密度為:
其典型的功率譜密度如圖2所示。
由圖2可以看出,m序列的功率譜密度的包絡是[(sin x)/x]2形的,它約在偽隨機序列基本時鐘頻率的45%帶寬內(nèi)具有均勻功率譜密度,所以用濾波器濾除該頻帶內(nèi)的信號就可以近似看作帶限白噪聲。m序列的均衡性、游程分布、自相關特性和功率譜與隨機序列的基本性質(zhì)很相似,所以m序列屬于偽噪聲的序列或偽隨機序列。
2.2 FIR數(shù)字濾波算法
m序列的功率譜是固定的,要生成帶寬可調(diào)的數(shù)字噪聲序列需要對m序列進行低通數(shù)字濾波,本文采用的是FIR數(shù)字濾波器。
由Lindeberg定理可知,設有獨立隨機變量序列
該定理證明了由大量微小且獨立的隨機因素引起,并積累而成的變量,必是一個正態(tài)隨機變量。FIR濾波器的單位沖激響應為h(n),0≤n≤N一1,輸入函數(shù)為x(i),則輸出函數(shù)y(i)可以寫為:
該算法需要N次相乘,N-1次累加。為了產(chǎn)生帶寬小于5 MHz高質(zhì)量的數(shù)字噪聲序列,需要構建窄通帶、通帶阻帶轉(zhuǎn)換迅速的低通濾波器,對此僅僅增加單級FIR濾波的沖激相應長度n是不夠的,對此本文采用了多級FIR數(shù)字濾波的方法。為了使得多路多級FIR濾波器能夠在常用FPGA平臺上實現(xiàn),對FIR數(shù)字濾波模型進行算法優(yōu)化,以節(jié)約所需邏輯單元資源是很有必要的。
采用單位沖激相應h(n)為偶函數(shù)的FIR濾波器,并取階數(shù)N為奇數(shù),則式(6)可以化簡為:
采用該方法可以將FIR算法中乘的次數(shù)減半,總計算量減為(N+1)/2次相乘,N-2次累加,極大地節(jié)省了FPGA的邏輯單元資源。FIR的濾波過程實質(zhì)上就是一個延遲后加權相加的過程,即濾波輸出y(i)是輸入x(i)以及它的前N一1個狀態(tài)的加權疊加。
2.3 DDS算法
隨著數(shù)字集成電路和微電子技術的發(fā)展,直接數(shù)字頻率合成器(Direct Digital Synthesizer,DDS)逐漸體現(xiàn)出其具有相對帶寬寬,頻率轉(zhuǎn)換時間短,頻率分辨率高,輸出相位連續(xù),可編程及全數(shù)字化結構等優(yōu)點。
DDS的基本工作原理是根據(jù)正弦函數(shù)的產(chǎn)生,從相位出發(fā),用不同的相位給出不同的電壓幅度,最后濾波平滑出所需要的頻率。圖3是DDS的原理方框圖。
參考頻率源又稱參考時鐘源,它是一個穩(wěn)定的晶體振蕩器,用來同步DDS的各組成部分。相位累加器類似于一個計數(shù)器,它由多個級聯(lián)的加法器和寄存器組成,在每一個參考時鐘脈沖輸入時,它的輸出就增加一個步長的相位增量值,這樣相位累加器把頻率控制字K的數(shù)字變換成相位抽樣來確定輸出合成頻率的大小。相位增量的大小隨外指令頻率控制字K的不同而不同,一旦給定了相位增量,輸出頻率也就確定了。當用這樣的數(shù)據(jù)尋址時,正弦查表就把存儲在相位累加器中的抽樣數(shù)字值轉(zhuǎn)換成近似正弦波幅度的數(shù)字量函數(shù)。以上的算法都可在FPGA內(nèi)部實現(xiàn)。
3 實驗結果
本文的FPGA平臺選用Altera公司的EP2C8現(xiàn)場可編程邏輯器件,完成所有m序列、FIR數(shù)字濾波和DDS算法,需要FPGA 86%的邏輯單元資源和1%的RAM資源;時鐘采用50MHz、穩(wěn)定度為50 ppm的有源晶振,通過EP2C8內(nèi)部PLL(Phase Locked Loop,鎖相環(huán))3倍頻到150 MHz作為系統(tǒng)全局時鐘;采用ADI公司的AD9731進行D/A轉(zhuǎn)換,采樣速度150 MSPS,10位;對AD9731輸出的電流信號進行7階LC低通濾波,然后進行放大,使得噪聲信號的滿幅輸出都達到峰峰值3V。圖4是頻率為195 kHz最大輸出幅度的四種函數(shù)波測試結果。
從圖4可以看出,采用DDS模塊,得到了正弦波、三角波、鋸齒波和方波的波形。圖5為該噪聲和函數(shù)波發(fā)生器產(chǎn)生的5 MHz噪聲的實驗結果,圖6是輸出帶寬為5 MHz的高斯白噪聲統(tǒng)計直方圖。
從圖5和圖6可以看出,基于FPGA的m序列發(fā)生算法,F(xiàn)IR濾波算法和DDS算法,通過數(shù)/模轉(zhuǎn)換和低通放大后,本文設計的噪聲發(fā)生器產(chǎn)生的5 MHz噪聲的3 dB,帶寬為4.8 MHz,帶內(nèi)平坦度為±1.5 dB,輸出噪聲的統(tǒng)計特性服從高斯分布,滿足了設計需要。
4 結 語
設計了一種基于FPGA高斯白噪聲發(fā)生器,分析了該種噪聲發(fā)生器所用的m序列發(fā)生算法,F(xiàn)IR數(shù)字濾波算法和DDS算法,可產(chǎn)生帶寬為3~66 MHz,步進3 MHz,幅度8位可調(diào)的高斯白噪聲;采用現(xiàn)場可編程門陣列(FPGA)實現(xiàn)噪聲發(fā)生器的設計,在Altera公司的QuartusⅡ軟件環(huán)境下,實現(xiàn)了基于FPGA的m序列產(chǎn)生模塊、FIR數(shù)字濾波器模塊、DDS模塊和合成模塊,通過數(shù)/模轉(zhuǎn)換器和低通放大,得到了可用于雷達系統(tǒng)和通信信道測試的高斯白噪聲信號。實驗結果驗證了本文設計的有效性。