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