白勇博,陳自力,祁棟升
(軍械工程學(xué)院,河北石家莊050003)
在高速數(shù)字通信系統(tǒng)中,由于信道多徑衰落效應(yīng)的影響,會造成傳輸數(shù)據(jù)之間的符號間干擾(ISI)。嚴(yán)重的符號間干擾會使接收端誤碼率增大,甚至導(dǎo)致系統(tǒng)不能正常工作。為了克服ISI引起的失真,需要在通信系統(tǒng)中使用信道均衡處理技術(shù),即在接收端添加均衡器。信道均衡器的實質(zhì)是信道的逆濾波器,通過對一個未知脈沖響應(yīng)的信道使用自適應(yīng)濾波器操作信道輸出,使得信道與自適應(yīng)濾波器的級聯(lián)提供理想傳輸媒介的良好逼近。
信道均衡器由濾波器結(jié)構(gòu)和均衡算法組成,信道均衡的目的就是把接收序列y(n)恢復(fù)成原始數(shù)據(jù)In。均衡器通過跟蹤信道C(n),使得均衡器的輸出結(jié)果和原始數(shù)據(jù)之間達到匹配。理想的均衡器應(yīng)該能實現(xiàn)F(z)=1/C(z),故均衡器又稱為逆信道濾波器[2]。
目前常用的均衡器結(jié)構(gòu)分為線性均衡器和非線性均衡器。線性均衡器的常見結(jié)構(gòu)是線性橫向濾波結(jié)構(gòu)(LTE),而非線性均衡器常用的是判決反饋結(jié)構(gòu)(DFE)。線性均衡器的結(jié)構(gòu)簡單,實現(xiàn)較容易,沒有誤碼擴散的影響,因而在硬件實現(xiàn)中更為常用[3]。線性均衡器通過橫向濾波器對輸入信號進行乘加運算后與期望的信號或者是判決后的信號做差,用誤差并結(jié)合對應(yīng)的均衡算法去調(diào)整橫向濾波器的抽頭系數(shù),進而實現(xiàn)處理后的信號與原始傳輸信號良好的逼近。這里實現(xiàn)的均衡器是線性橫向濾波結(jié)構(gòu)。
均衡算法的選擇是均衡器性能得以實現(xiàn)的關(guān)鍵。隨著均衡技術(shù)的發(fā)展,有多種均衡算法可以使用,如LMS算法、遞歸最小二乘(RLS)算法、盲均衡的判決引導(dǎo)算法(Decision Directed)和CMA算法等。在諸多算法中,LMS算法以其計算量小和易于實現(xiàn)等優(yōu)點而在實踐中被廣泛采用,這里實現(xiàn)的均衡器采用了判決引導(dǎo)算法與LMS算法的結(jié)合。DDLMS算法與LMS算法的不同點是誤差信號的獲取方式,LMS算法的誤差來自訓(xùn)練序列d(n)與均衡器輸出y(n)的差,而DDLMS算法的誤差來自判決器輸出^d(n)與均衡器輸出y(n)的差。其中,核心的LMS算法[4]是利用梯度估計值來代替梯度向量的一種快速搜索算法,基本思想是調(diào)整濾波器的權(quán)值參數(shù),使濾波器的輸出信號與期望信號之間的均方誤差(MSE)最小。其迭代更新過程如下:
①初始化W(0)=0;n=0;μ=const;
②更新n=n+1;
誤差:e(n)=d(n)-WT(n-1)X(n);在DDLMS算法中,d(n)由判決器對均衡器輸出信號進行判決產(chǎn)生。
更新抽頭系數(shù):W(n+1)=W(n)+μX(n)e(n)。其中,X(n)為輸入信號;W(n)為抽頭系數(shù)。
利用Xilinx公司的軟件(System Generator)實現(xiàn)的基于DDLMS算法的基帶信道均衡器,硬件實現(xiàn)主要分為橫向濾波器模塊、均衡算法模塊和誤差計算模塊3個部分。
濾波器是均衡器的核心單元,它決定均衡器的工作效果。設(shè)計中采用了一個8階抽頭系數(shù)可變的橫向濾波器。橫向濾波器的實現(xiàn)主要用到延遲單元、乘法器和加法器3個單元。其中最關(guān)鍵的模塊是乘法器和加法器。乘法器完成抽頭系數(shù)與輸入信號的乘積,在設(shè)計中使用System Generator中的Mult模塊來實現(xiàn),Mult中可以根據(jù)自己設(shè)計的要求設(shè)定合適的延遲;加法器實現(xiàn)最后的濾波信號輸出。在實現(xiàn)過程中,使用軟件(Xilinx System Generator)中的乘法器和加法器構(gòu)建橫向濾波器的結(jié)構(gòu),加法部分采用了加法器樹結(jié)構(gòu)。4抽頭橫向濾波器結(jié)構(gòu)如圖1所示。圖1中,X_in為待均衡的信號輸入端口,Coeff為抽頭系數(shù)輸入端口。
圖1 濾波器模塊結(jié)構(gòu)
DDLMS算法的核心是基于LMS算法的系數(shù)更新方程:W(n+1)=W(n)+μX(n)e(n),它利用收斂誤差以及迭代步長來控制抽頭系數(shù)的更新。如圖2所示,每一個抽頭的系數(shù)的更新用到2個乘法單元和1個加法器,其中的迭代步長 μ取的是0.002 5。要實現(xiàn)均衡誤差收斂,除了按照更新方程構(gòu)建好算法實現(xiàn)模塊外,還有2個關(guān)鍵點:①為保持輸入信號X(n)和誤差信號e(n)的一致性,要將輸入信號X(n)進行合理的延遲以對齊誤差信號e(n);②為了實現(xiàn)均衡器的收斂,濾波器主抽頭的位置要確定好,并要對主抽頭的系數(shù)設(shè)定一個合理的初始值。在該設(shè)計中,設(shè)定第3個抽頭為主抽頭,初始系數(shù)設(shè)定為1[5]。
圖2 系數(shù)更新模塊
判決器的實現(xiàn)是此模塊的核心。判決流程如圖3所示。均衡后的信號送到判決模塊,首先提取首位判斷其是否大于零,然后再進一步判定其絕對值是接近0.3還是接近1,根據(jù)這2個條件判決均衡后信號。再利用一個減法器將判決后的信號與濾波器輸出信號做差,結(jié)果就是需要的收斂誤差。此模塊正常工作的關(guān)鍵是:①保證判決模塊能得到正確的判決結(jié)果;②保持判決后的信號和濾波器輸出信號的對應(yīng)性,使誤差e(n)對應(yīng)正確的時刻。
圖3 判決流程
均衡器仿真測試?yán)密浖?Matlab/Simulink)實現(xiàn),首先使用工具(Xilinx Blockset)中的Gatewayin和Gatewayout模塊界定好要在FPGA內(nèi)部實現(xiàn)的模塊后,再利用matlab構(gòu)建相關(guān)的測試信源和觀測模塊。
利用Matlab中的隨機信號源構(gòu)建一個能隨機產(chǎn)生(-1,-0.3,0.3,1)隨機序列的數(shù)據(jù)源模塊,把它作為輸入信號。在數(shù)據(jù)源后端加入一個系數(shù)可調(diào)的數(shù)字濾波器來模擬多徑信道,通過更改系數(shù)值來模擬不同的信道狀況,此模型中濾波器的系數(shù)分別是0.9,0.36,0.25,0.107。最后將設(shè)計的信道均衡器加入系統(tǒng)中,構(gòu)成如圖4所示測試模型。
圖4 信道均衡器測試模型
輸入信號在均衡前后的信號分布如圖5所示。
圖5 均衡前后信號分布圖對比
收斂誤差隨輸入數(shù)據(jù)點數(shù)的增加的變化情況如圖6所示。從測試結(jié)果來看,均衡后的信號能夠很好地逼近原始信號,收斂誤差在剛開始階段較大,隨著均衡的進行,誤差最終能收斂在一個要求的范圍內(nèi),并且比較穩(wěn)定。測試結(jié)果表明,設(shè)計的信道均衡器達到了要求的效果。
圖6 收斂誤差圖
設(shè)計實現(xiàn)了一個基于DDLMS算法的信道均衡器,利用Matlab和Xilinx的System Generator進行仿真驗證,結(jié)果表明所設(shè)計的信道均衡器達到了理想的效果。設(shè)計基于Xilinx的System Generator實現(xiàn),相對于傳統(tǒng)的基于HDL的FPGA開發(fā)模式,這是一種比較快捷的實現(xiàn)方法,并且其與Matlab之間的無縫連接使得仿真測試更為方便。此外在該設(shè)計的基礎(chǔ)上,可以嘗試研究基于CMA等其他均衡算法的信道均衡器的開發(fā)。另外,該設(shè)計重點是功能實現(xiàn),沒有過多的考慮器件的資源利用率以及與通信系統(tǒng)其他模塊之間的接口等問題,進一步的工作可以此設(shè)計為參考,使用硬件描述語言實現(xiàn)資源利用率高和結(jié)構(gòu)更為優(yōu)化的信道均衡器的設(shè)計。
[1]紀(jì)志成,高春能.FPGA數(shù)字信號處理設(shè)計教程——System Generator入門及提高[M].西安:西安電子科技大學(xué)出版社,2008.
[2]PROAKIS J G,SALEHI M,BAUCH G.現(xiàn)代通信系統(tǒng)(MATLAB)[M].北京:電子工業(yè)出版社,2008.
[3]TREICHLER J R,FIJALKOW I,JOHNSON C R.Fractionally Spaced Equalizers[J].IEEE Signal Processing Magazine,1996(5):65-81.
[4]張賢達.現(xiàn)代信號處理[M].北京:清華大學(xué)出版社,2002:188-213.
[5]張 建.短波數(shù)字通信中的均衡技術(shù)研究[D].成都:電子科技大學(xué),2005:37-51.