高斯白噪聲

高斯白噪聲

所謂高斯白噪聲(White Gaussian Noise)中的高斯是指機率分布是正態函式,而白噪聲是指它的二階矩不相關,一階矩為常數,是指先後信號在時間上的相關性。這是考查一個信號的兩個不同方面的問題。高斯白噪聲:如果一個噪聲,它的幅度分布服從高斯分布,而它的功率譜密度又是均勻分布的,則稱它為高斯白噪聲。該方案根據均勻分布和高斯分布之間的映射關係,採用適合在 FPGA 中實現的折線逼近法。 m 序列就是一種常用的偽隨機序列,該序列又被稱作最長線性反饋移存序列。

基本介紹

高斯白噪聲高斯白噪聲

高斯白噪聲:如果一個噪聲,它的幅度分布服從高斯分布,而它的功率譜密度又是均勻分布的,則稱它為高斯白噪聲。 熱噪聲和散粒噪聲是高斯白噪聲。 短波信道存在多徑時延、都卜勒頻移和擴散、高斯白噪聲干擾等複雜現象。為了測試短波通信設備的性能,通常需要進行大量的外場實驗。相比之下,信道模擬器能夠在實驗室環境下進行類似的性能測試,而且測試費用少、可重複性強,可以縮短設備的研製周期。所以自行研製信道模擬器十分必要。 信道模擬器可選用比較有代表性的 Watterson 信道模型 ( 即高斯散射增益抽頭延遲線模型 ) ,其中一個重要環節就是快速產生高斯白噪聲序列,便於在添加都卜勒擴展和高斯白噪聲影響時使用。傳統的高斯白噪聲發生器是在微處理器和 DSP 軟體系統上實現的,其仿真速度比硬體仿真器慢的多。因此,選取 FPGA 硬體平台設計高斯白噪聲發生器可以實現全數位化處理,同時測試費用少、可重複性強、實時性好、速度快,能較好地滿足實驗需求。 本文提出了一種基於 FPGA 的高斯白噪聲序列的快速產生方案。該方案根據均勻分布和高斯分布之間的映射關係,採用適合在 FPGA 中實現的折線逼近法。該方法實現簡單,快速且占用的硬體資源少,而且採用 VHDL 語言編寫,可移植性強,並可靈活地嵌入數據機中使用。 1 均勻分布隨機數發生 1.1 m 序列發生器 偽隨機噪聲具有類似隨機噪聲的一些統計特性,且便於重複產生和處理,因此獲得了廣泛的套用。 m 序列就是一種常用的偽隨機序列,該序列又被稱作最長線性反饋移存序列。 m 序列是由線性反饋移位暫存器產生的周期最長的一種序列。如果選用 n 級線性反饋移位暫存器,則 m 序列的周期為 (2n-1) 。對於 m 序列來說,將 n 級線性反饋移位暫存器狀態看成無符號整數,則狀態的取值範圍為 1 ~ (2n-1) ,並且在 m 序列的一個周期內,移位暫存器的每種狀態都會出現且只出現一次,但要注意線性反饋移位暫存器的初始狀態設定為非零值,並且在給定任意非零初始狀態時, m 序列的周期都不變。顯然,移位暫存器的狀態值是服從均勻分布隨機數。製作 m 序列發生器時,線性反饋移位暫存器的反饋線連線情況可通過查找本原多項式來得到 ( 係數為 1 表示對應位有反饋線連線,為 0 表示對應位無反饋線連線 ) 。所以,線性反饋移位暫存器反饋線的數目以及模 2 加法器的數目直接決定於本原多項式的項數。為降低硬體資源的消耗,設計時可選取項數少的本原多項式。為了使偽隨機序列的周期足夠長以滿足設計要求,採用的本原多項式為: x18+x7+1 ,即用一個 18 級線性反饋移位暫存器就可產生周期為 (218-1) 的 m 序列。其連線如圖 1 所示。 1.2 降低相關性模組 高斯白噪聲信號是一個隨機過程,每個樣值點都是一個高斯變數,其雙邊功率譜密度為常數 N0 / 2 ,即: 由 (2) 式可見,高斯白噪聲在任意兩個不同時刻的採樣信號是統計獨立的。但是,從 m 序列的產生過程可見,每個時鐘周期中,線性反饋移位暫存器只移出一個最高位,並反饋一個值給最低位,所以,相鄰的幾個狀態之間不是完全獨立的。這必然影響高斯白噪聲任意兩個不同時刻採樣信號之間的獨立性。所以要進行非相關性操作。為了減小相關性,通常的方法是產生高斯序列後再接一個交織器,把高斯序列出現的前後順序打亂。但建交織器要占用 FPGA 的硬體資源,所以,本設計不採用交織器。 考慮到 m 序列的周期為 (2n-1) ,第 2n 個值往後都是不斷重複第 1 個到第 (2n-1) 個狀態。所以只要線性反饋移位暫存器每隔 r 個同步時鐘 ( 其中 r=2i , i 為整數 ) 輸出一個狀態值 ( 即線性反饋移位暫存器每變換 r 個狀態輸出一次狀態值 ) ,就能在不改變 m 序列原有周期的情況下減小相關性,且不增加硬體資源的消耗。但要注意: r 一定要是 2 的冪,這樣才能保證 m 序列的周期不變。 2 均勻分布向高斯分布的轉換 2.1 均勻分布和高斯分布之間的映射關係 設 X 服從 [1 , 218-1] 區間內的均勻分布; Y 服從均值為 0 、方差為 1 的標準常態分配,那么,考慮到高斯分布的實際情況, Y 僅在 [-4 , 4] 之間取值即可。 Y 的機率密度函式為: 2.2 折線逼近法 如果直接套用上述映射關係進行均勻分布向高斯分布的轉換,則需開闢 (218-1) 個物理空間來建立查找表,這幾乎不可能實現。但由圖 2 可見,其關係曲線在很大區間上表現出線性關係,所以,可以以斜率不同的直線段分段逼近關係曲線。在一定精度要求下,該方法簡單易行,占用硬體資源少,適合在 FPGA 中實現,從而實現由服從均勻分布向服從高斯分布的快速轉換。圖 3 是關係曲線 ( 實線 ) 和 15 段折線逼近法 ( 虛線 ) 的擬合圖,由圖可見,其實線和虛線擬合得很好,從而證明了折線逼近法能較好的反映映射關係。 利用 m 序列的周期特性可降低高斯白噪聲任意兩個不同時刻的採樣信號的相關性。線上性反饋移位暫存器中每隔 r 個同步時鐘 ( 其中 r=2i , i 為整數 ) 輸出一個狀態值作為均勻分布的隨機數輸入可實現均勻分布向高斯分布的轉化。為了選擇合適的 r 值,圖 4 分別給出了 r 為 0 、 2 、 8 時所生成的 10000 點高斯序列的功率譜。由圖 4 可見, r=8 時的功率譜基本水平,即系統產生的高斯白噪聲任意兩個不同時刻的採樣信號可看成統計獨立的,這與理論上對高斯白噪聲的定義相一致。同時也證明了降低相關性模組是可行和有效的。 3 硬體實現 在 ISE8.1i 開發環境中使用 VHDL 語言可實現上述高斯白噪聲發生器的功能。本設計選用 Xil-inx 的 xc3s1200e-4fg320 作為目標器件。其硬體實現框圖如圖 5 所示。 產生高斯白噪聲先後通過兩個模組來實現。一是均勻隨機數發生模組;二是均勻分布向高斯分布轉化模組。其中均勻隨機數發生模組包括 m 序列發生器和非相關化處理 ( 降低相關性操作 ) ;均勻分布向高斯分布轉化模組包括比較選擇器、相應的延時操作以及算術計算模組。 在 ISE8.1i 開發環境中得到的系統功能仿真圖如圖 6 所示。實驗中,系統的輸入時鐘為 60MHz 。圖 6 中的 regl_value 表示線性反饋的移位暫存器在時鐘 clk1 上升沿觸發的狀態值。 reg2_value 表示在同步時鐘 clk2 上升沿採樣 reg_value1 的值, clk2 是 clk1 的 8 倍分頻。仿真證明,本系統可以實現線性反饋移位暫存器每轉 8 次取出一個狀態值,並可減小不同時刻隨機變數之間的相關性 ( 非相關化處理 ) 。根據 reg2_value 並通過比較選擇器輸出對應直線段的 slope( 斜率 ) 、 point( 起點的橫坐標 ) 、 point_value( 起點的縱坐標 ) 可見, reg2_value_delay 比 reg2_value 可延時半個 clk2 ,因而可保證輸入算術計算模組的數據的同步。這樣,再經算式: gauss_output=(reg2_value_delay-point)*slope+point_value ,就可得到高斯白噪聲序列。為了確保採得穩定的信號值,操作時應在信號持續時間的中間位置進行採樣。由於高斯白噪聲序列 gauss_output 是 reg2_value_delay ,、 point 、 slope 、 point_value 之間的加、減、乘運算所得到的,所以, gauss_output 有相應延時。 本設計用 Xilinx 的 xc3s1200e-4fg320 為目標器件來對代碼進行綜合,所用的 FPGA 資源如下: 可見,該方案占用硬體資源較少。 為了驗證硬體實現的正確性,還可將其下載到開發板,並採用 ChipScope Pro 8.1i 將硬體產生的高斯白噪聲序列通過並口回傳,同時將數據導入到 Matlab 。由於 ChipScope 要利用 FPGA 的片記憶體儲空間暫存採樣值,所以,一次採集的信號數目有限且與 FPGA 型號有關。筆者將一次採集到的 16384 個樣值導入 Maflab 後,再將數據小數化 ( 因為 FPGA 中處理的是定點數 ) ,然後調用 Matlab 中的 psd 函式估計出了其功率譜圖。實際結果證明,本系統產生的高斯白噪聲與理論值非常接近,也就是說,該方案可行。 由於本系統採用 VHDL 語言編寫,故其可移植性較強。當在通信工程中需要帶限高斯白噪聲時,就可在高斯白噪聲後接一個帶通濾波器 ( 在 FPGA 中套用自帶 IP 核可輕鬆實現 ) 。由於濾波後的噪聲能量會有損失,所以要做相應的能量補償。之後,再將產生的帶限高斯白噪聲序列 ( 約 50000 點 ) 導入 Matlab 中,然後調用 hist 函式就可得到圖 7 所示的序列直方圖,而調用 psd 函式即可得到圖 8 所示的序列功率譜圖。從直方圖可見帶限高斯白噪聲的機率密度函式是高斯型的,而從功率譜可見,在通帶內,功率譜密度近似為常數,這些都與理論一致。 4 結束語 本文提出了一種在 FPGA 中快速產生高斯白噪聲序列的實現方案。同時基於均勻分布和高斯分布之間的映射關係曲線,提出並套用了適合在 FPGA 中實現的折線逼近法。本文採用了 15 條首尾連線的直線段去逼近映射關係曲線 ( 按不同的工程精度要求,可選擇個數不同的直線段去逼近 ) 。顯然,所用的折線拐角越多 ( 直線段個數越多 ) ,精度越高,但所消耗的 FPGA 資源也越多。該方案具有簡單易行,運算量小等優點。而且實現速度快,可源源不斷的產生高斯白噪聲序列,同時占用的硬體資源較少。由於軟體採用 VHDL 語言編寫,可移植性強,故可靈活用於 Watterson 信道模擬器或嵌入數據機等其它系統。

相關搜尋

熱門詞條

聯絡我們