摘 要:提出了數字信道模擬器中一種高精度的高斯分布誤碼插入方法,該方法結合了改進型混和同余算法和中心極限定理,并采用FPGA+ARM實現了數字基帶信號的高斯誤碼插入,具有精度高、容易實現的優點。Matlab仿真結果和測試數據驗證了算法的可行性。
關鍵詞:信道模擬器;高斯分布誤碼;混和同余法;中心極限定理
中圖分類號:TN911.4 文獻標識碼:B
文章編號:1004373X(2008)0100403
Design and Implementation of Gaussian[CD*2]distribution Error Code Insertion
ZHANG Huping,YAO Yuancheng,FENG Li
(School of Information Engineering,Southwest University of Science Technology,Mianyang,621010,China)
Abstract:This paper presents a method for designing a high accuracy Gaussian[CD*2]distribution error code insertion suitable for digital channel simulator.The proposed solution is based on the combined use of the improved mixing congruent method and the central limit theorem.The resulting architecture provides a high accuracy Gaussian[CD*2]distribution error code insertion with low complexity architecture for a digital implementation in FPGA and ARM.The performance is studied by means of Matlab simulations and test data.
Keywords:channel simulator;Gaussian[CD*2]distribution error code;mixing congruent method;central limit theorem
1 引 言
數字信道模擬器中,需要對輸入的數字信號插入一定的誤碼和延時。而插入的誤碼一般有隨機誤碼和突發誤碼,其中信號隨機誤碼插入一般是具有高斯分布特性誤碼的插入,是模擬器設計中的難點。相對于傳統的軟件方法,硬件實現方法具有速度快的優點。在文獻\\[1\\]中提出了實現隨機誤碼插入的軟硬相結合的方法,結合了軟件產生偽隨機數長和硬件速度快的優點,但需要占用大量的存儲空間。針對信道模擬器的噪聲發生器設計,在文獻\\[2\\]中將Box[CD*2]Muller算法和中心極限定理應用在FPGA中產生加性高斯白噪聲。
本文將改進型混和同余法和中心極限定理應用在數字信道模擬器的高斯誤碼插入設計中,采用FPGA+ARM全數字硬件架構,具有精度高、硬件實現容易、節約硬件邏輯資源的優點,可廣泛應用于高速無線和有線通信信道模擬器。
2 設計原理
數字模擬器的高斯分布誤碼插入的性能指標為:插入具有高斯白噪聲下的誤比特特性,誤比特率為0,1.0×10-8 ~9.9×10-3 可調,每量級上步進均為0.1,且每個信道每個方向上可獨立仿真隨機誤比特。
數字信道中接收信號的誤碼特性可以用誤碼分布和誤碼率來描述。因此,對數字信道器中誤碼的插入,實質上是要解決誤碼分布的產生及誤碼數量的控制問題。隨機誤碼插入的過程如圖1所示。
首先,根據誤碼分布特性,隨機數發生器產生與隨機誤碼分布特性相一致的隨機數序列,同時借鑒真實數字信道中誤碼數量與判決電平選取相關,模擬器誤碼數量的控制通過設置與誤比特率和誤碼分布相關的閾值TH來實現。接著,比較器將閾值TH和隨機數發生器產生的隨機數R相比較,若R≤TH則輸出誤碼標記1,否則輸出0,這樣就產生了0和1誤碼圖案數據流。顯然誤碼圖案數據流中的誤碼標記1的分布與誤碼分布一致,且其個數與誤碼數量一致。最后,將具有誤碼分布特性和數量特性誤碼圖案數據流與模擬器輸入的無誤碼的數據作模二和運算,完成隨機誤碼的插入。
由上面的論述可知隨機誤碼的插入有4個關鍵點:
(1) 具有誤碼分布特性的隨機數的產生;
(2) 由誤碼分布特性和誤比特率求取閾值;
(3) 將產生的隨機數和閾值作比較獲取誤碼圖案數據流;
(4) 將誤碼圖案數據流疊加到輸入的無誤碼數據,完成隨機誤碼插入。
其中產生具有誤碼分布特性的隨機數和計算閾值是隨機誤碼插入中的難點,下面將對這兩個步驟進行分析。
2.1 具有誤碼分布特性的隨機數的產生
受高斯白噪聲的影響的傳輸信號其誤比特的分布也服從高斯分布,所以設計中產生的隨機數應具有高斯分布特性。
高斯分布的隨機數可由(0,1)區間均勻分布的隨機數近似得到[3],因此這里先討論均勻分布隨機數的產生。
2.1.1 均勻分布隨機數的產生
均勻分布隨機數是產生其他分布隨機數的基礎,如高斯分布、指數分布等,因此產生獨立的、均勻的且具有大周期的均勻隨機數至關重要。
常用的均勻隨機數的產生方法主要有線性同余法、反饋位移寄存法和組合同余法。其中線性同余法實現簡單、占用存儲單元少,是目前應用最廣泛的方法之一,他包括同余與線性同余法,混和同余法,乘同余法和素數乘同余法。但用線性同余法產生的隨機數的周期與處理器的數據位數有關,不易得到大周期的隨機數,而且每個隨機數僅能出現1次而不能重復。
在文獻\\[4\\]中提出的一種生產大周期隨機數的新算法——改進的混和同余法,他克服了一般生產的隨機數周期小,每個隨機數僅能出現1次而不能重復的缺點。這種改進的混和同余法迭代公式為:
其中a,x0和M是正整數,i是迭代次數,ri是(0,1)區間均勻分布的隨機數。
2.1.2 高斯分布隨機數的產生
用均勻分布隨機數產生高斯分布隨機數常用的方法有:直接抽樣、變化抽樣、舍選抽樣和近似抽樣[2]。其中,近似抽樣中基于中心極限定理的方法硬件實現簡單且精度適中[3,5]。
由中心極限定理可知,獨立同分布且具有相同的均值μ和方差σ2(σ2≠0)的隨機變量,X1,
2.1.3 仿真結果
應用式(1),取a=75、初值x0=51,并考慮到系統要求的最小誤比特率為1.0×10-81.0×10-25,因此取M=226-1,通過Matlab仿真得到(0,M)區間分布的隨機數xi,其樣本均值為3.367 5×107,方差為3.757 5×1014。而其標準均值為M/2=3.355 4×107,方差為M2/12=3.753 0×1014。
采用32路(0,226-1)區間均勻分布的隨機數合成一路(0,231-1)區間的高斯分布隨機數。
圖2給出了Matlab仿真產生的10 000個高斯分布隨機數。圖3,圖4分別給出了Matlab 中hist函數和normplot函數繪制的圖2中隨機數的直方圖和正態校驗圖。
用Matlab中的mean函數和var函數計算出圖2中10 000個隨機數的樣本均值和方差分別為1.073 8×109,1.296 1×1016。
從圖3所示直方圖可以看出,這10 000個隨機數的分布與高斯分布相一致。此外,從圖4中的分布情況看,基本上所有的隨機數都落在虛線上,滿足高斯分布。所以可以得出結論:采用32路改進型混和同余法產生的均勻分布的隨機數求和合成的隨機數完全符合高斯分布隨機數的統計特性。
2.2 閾值的求取
根據設置的誤比特率Pe和誤碼分布的概率密度函數(如高斯分布),可以通過式(3)求出閾值TH。
該積分函數可以通過分位數的概念來求,需要查表。因此采用該方法雖然理論上比較嚴謹,但是實際中求取閾值TH是比較困難的,并且求出來的閾值不一定使錯誤概率等于Pe,會存在一定的誤差。文中直接采用正態分布的分布函數來求解,正態分布的分布函數為:
其中erf(x)=2π∫x0e-t2dt,在Matlab中可識別這個函數,因此可以通過仿真求得一個特定值(誤比特率)所對應的x即TH值。表1給出了均值為1.073 8×109,方差為1.296 1×1016高斯分布誤碼率Pe和閾值TH對應典型值。
3 誤碼插入的實現
圖5給出了數字信道模擬器的誤碼插入實現框圖。其中,ARM作為模擬器主控器,提供PC機配置接口、液晶顯示和鍵盤操作、存儲器接口以及ARM與FPGA間協議轉換;FPGA作為信號實時處理器,實現信號的輸入/輸出以及隨機誤碼的實時插入。
設計中,主控器ARM采用了ARM公司的32位ARM7TDMI處理器,FPGA采用了Xilinx公司的Spartan III系列150萬門的XC3S1500 FPGA。ARM7TDMI具有高的指令吞吐量、出色的實時中斷響應等優異的性能,但功耗缺很低,使用門的數量也很少。XC3S1500封裝為FG456,兼容同系統的40、100萬門FPGA,支持MicroBlaze32位微處理器IP和Chipscope片內邏輯分析儀,具有資源豐富、功耗低調試方便的優點。
這種方案的優點是:采用ARM作為主控器可以利用其豐富的硬件資源實現多種人機交互接口;采用FPGA作為實時信號處理器可以利用其強大的實時信號處理能力完成高速的數據流的誤碼實時插入,且FPGA具有無限次可編程的優點使得系統的擴展和升級變得非常容易。此外利用配置PC機通過ARM將閾值存儲到存儲器中,使得更新閾值庫變得非常方便;同時利用FPGA產生隨機數,不需要額外的存儲空間或器件充分利用FPGA,節約了成本,降低了設計難度。
4 測 試
所研制的數字信道模擬器具多種信號協議接口,利用電子工業部第41研究所制造的AV5223B誤碼測試儀,搭建測試環境測試了數字信道模擬器的E1接口下信號的誤比特率。
AV5223B誤碼測試儀具有E1接口,可以測試2 M、8 M和34 M數據流的誤碼。 所以,只需直接將數字信道模擬器E1接口和AV5223B誤碼儀直接連接便可測試。
測試時,通過數字信號模擬器的人機交互接口設置了不同隨機誤比特率值進行了測試,測試結果見表2。
5 結 語
本文提出了一種高斯誤碼插入方法,通過實際測試數據表明該方法能較好地模擬各種數字通信信道,用以檢測數字設備的抗干擾能力。與已有的誤碼插入方法相比,本文方法具有以下優點:首先,通過采用改進型混和同余法和中心極限定理來產生高斯分布隨機數,從而保證了誤碼具有足夠的隨機性,Matlab仿真實驗表明該方法產生的高斯分布隨機數完全符合高斯分布隨機數的統計特性;其次,本文采用FPGA實現了多種誤碼圖案,使得數字信道模擬器可根據需要模擬不同誤碼特性的數字信道;最后,通過ARM主控器提供了友好的人機交互窗口,使得誤碼率和傳輸速率可調,從而增加了系統的靈活性。
參 考 文 獻
[1]成曉雄,余松煜.數字通信系統中實時誤碼發生器的一種設計方法[J].通信技術,1997(3):58-63.
[2]Boutillon E,Danger J L,Gazel A.Design of High Speed AWGN Communication Channel Emulator[J].Analog Integrated Circuits and Signal Processing,2003,34(2):133-142.
[3]張傳林,林立東.偽[CD*2]隨機數發生器及其應用[J].數值計算與計算機應用,2002,9(3):188-196.
[4]郭鳳鳴.一種生成大周期偽隨機數的新算法——改進型的混和同余法[J].中國地質大學學報,1992,17(6):733-738.
[5]Lee D,Luk W,Villasenor J D,et al.A Hardware Gaussian Noise Generator Using the Wallace Method[J].IEEE Transactions on Very Large Integration(VLSI) Systems,2005,13( 8): 911-920.
作者簡介 張胡平 女,1980年出生,四川成都人,碩士在讀。主要從事數字通信和信號處理的研究。
姚遠程 男,1962年出生,四川閬中人,教授。主要從事通信系統設計與信號處理的研究。
馮 立 男,1981年出生,四川內江人,碩士在讀。主要從事信息處理和數字通信的研究。
注:“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文?!?/p>
`