李路路,靜大海
(河海大學(xué) 計(jì)算機(jī)與信息學(xué)院,江蘇 南京 210000)
信道均衡技術(shù)(Channel equalization)是指為了提高衰落信道中的通信系統(tǒng)的傳輸性能而采取的一種抗衰落措施。它主要是減小信道的多徑時(shí)延帶來(lái)的碼間串?dāng)_(ISI)問(wèn)題。其原理是對(duì)信道或整個(gè)傳輸系統(tǒng)特性進(jìn)行補(bǔ)償,從而達(dá)到系統(tǒng)傳輸?shù)囊骩1]。在實(shí)際的通信系統(tǒng)中,信道的特性是未知的并且是不理想的,傳統(tǒng)的均衡器無(wú)法滿足系統(tǒng)的要求,自適應(yīng)均衡器直接從傳輸?shù)男盘?hào)中,根據(jù)某種算法不斷調(diào)整系統(tǒng)中濾波器的增益,來(lái)適應(yīng)信道的隨機(jī)變化,從而有更好的失真補(bǔ)償性能,使均衡器總是保持最佳的工作狀態(tài)。FPGA以其處理速度快、開(kāi)發(fā)周期短、可重復(fù)修改、開(kāi)發(fā)工具智能、支持并行處理等優(yōu)點(diǎn)成為現(xiàn)代通信領(lǐng)域硬件設(shè)計(jì)的首選方式之一?;贔PGA實(shí)現(xiàn)的自適應(yīng)均衡器能夠更好地適應(yīng)當(dāng)前通信的發(fā)展要求,具有更廣闊的應(yīng)用前景。
最小均方誤差算法(LMS)是較常用的一種實(shí)現(xiàn)自適應(yīng)均衡器的算法,也是FPGA實(shí)現(xiàn)自適應(yīng)均衡器的最理想的算法,所以本文選擇使用LMS算法設(shè)計(jì)均衡器。本文所設(shè)計(jì)的自適應(yīng)均衡器是寬帶數(shù)字接收機(jī)的一部分,為了滿足寬帶系統(tǒng)的高速率,實(shí)時(shí)性的特點(diǎn),在算法設(shè)計(jì),對(duì)LMS算法進(jìn)行一定的改進(jìn)。
d(n)為期望輸入信號(hào),e(n)為誤差,其中μ為步長(zhǎng)因子,用以控制收斂速度與穩(wěn)定性,LMS算法收斂的條件為:0<u<1/λmax, λmax是輸入信號(hào)自相關(guān)矩陣的最大特征值。式(3)是抽頭系數(shù)的更新公式,由本式可見(jiàn),LMS算法是通過(guò)誤差e(n)來(lái)自動(dòng)調(diào)整抽頭系數(shù)來(lái)適應(yīng)信道的變化。
LMS算法的基本步驟如下:
步驟1,初始化w(0)=0,n=0;選擇μ;
步驟2,根據(jù)式(2)(3)計(jì)算誤差 e(n)和w(n+1);
步驟3,若誤差不滿足要求,更新n=n+1,重復(fù)步驟2,若滿足要求則停止迭代。
下圖為最小均方誤差算法的原理框圖。
圖1 LMS算法的原理框圖Fig. 1 Block diagram of the LMS algorithm
LMS算法是基于最小均方差準(zhǔn)則的維納濾波器和最速下降法(method of steepest descent)提出的[2],其公式如下:
在寬帶系統(tǒng)中,數(shù)據(jù)量大,速率快,因此對(duì)均衡器的處理速度要求高,簽于此本文把變步長(zhǎng)LMS算法和符號(hào)LMS算法結(jié)合在一起,以滿足上述要求。
步長(zhǎng)因子μ控制著算法的收斂速度和穩(wěn)定性,當(dāng)μ較大時(shí)收斂速度快,穩(wěn)定性較差,μ較小,穩(wěn)定性好,收斂速度慢。變步長(zhǎng)LMS算法可以兼顧收斂速度和穩(wěn)定性兩個(gè)方面[3]。一種變步長(zhǎng)算法的公式為:
α、β為參數(shù)。由上式看到隨著誤差的減小,步長(zhǎng)因子也在減小,穩(wěn)定性增加。
公式(3)中,我們看到,每次迭代都會(huì)使用乘法器,運(yùn)算量較大。符號(hào)LMS算法[4]對(duì)公式(3)中的誤差e(n)進(jìn)行縮放,每次迭代可減少使用一次乘法器,公式如下:
由公式(5)可以看出,符號(hào)LMS算法會(huì)損失一定的精度。
變步長(zhǎng)LMS算法可以改變步長(zhǎng)以獲得快的收斂速度,結(jié)合符號(hào)LMS算法,可以大量減少運(yùn)算量,提高系統(tǒng)的效率。本文對(duì)兩種算法的混合算法進(jìn)行matlab仿真,選取64階均衡器,數(shù)據(jù)的訓(xùn)練長(zhǎng)度為1 000,跟蹤變步長(zhǎng)計(jì)算的參數(shù)選擇α=4,β=1/128。下面對(duì)兩種方法混合算法用matlab仿真,并和傳統(tǒng)算法比較,如圖2所示。
圖2 傳統(tǒng)LMS和混合算法仿真圖Fig. 2 Simulation diagrams of Traditional LMS and Hybrid algorithm
為了便于FPGA實(shí)現(xiàn),按照變步長(zhǎng)LMS算法思想,本文不在對(duì)變步長(zhǎng)LMS算法中步長(zhǎng)μ進(jìn)行跟蹤計(jì)算,而是指定步長(zhǎng)收斂之前為0.02,收斂之后步長(zhǎng)0.15,其他參數(shù)不變,使用Matlab 仿真,如圖3所示。
圖3 指定步長(zhǎng)的混合算法仿真圖Fig. 3 Specifies the step size hybrid algorithm simulation diagram
從圖中我們看到混合算法的誤差比傳統(tǒng)算法有所增大,但是在迭代300次后趨于穩(wěn)定,比傳統(tǒng)算法減少200次,因此混合算法更能滿足實(shí)時(shí)性的要求。
圖3中,由于收斂之前步長(zhǎng)且不隨誤差的減小而減小(迭代次數(shù)為200),所以收斂速度更快;收斂之后步長(zhǎng)較小,平均的穩(wěn)態(tài)誤差比混合算法有所減小。
由仿真可知,我們提出的混合算法可以滿足設(shè)計(jì)自適應(yīng)均衡器的要求。本章將基于此算法的用FPGA實(shí)現(xiàn)自適應(yīng)均衡器。
采用FPGA設(shè)計(jì)LMS自適應(yīng)均衡器的結(jié)構(gòu)圖如圖4所示。它主要分為FIR濾波器模塊、誤差計(jì)算模塊、權(quán)值更新模塊和狀態(tài)分配模塊4個(gè)單元。
圖4 自適應(yīng)均衡器的結(jié)構(gòu)圖Fig. 4 Structure diagram of the hardware system
文中為了方便實(shí)現(xiàn),F(xiàn)IR濾波器模塊實(shí)現(xiàn)18階的FIR濾波。誤差計(jì)算模塊中的基準(zhǔn)信號(hào)d(k)事先可存在ROM里。權(quán)值更新部分實(shí)現(xiàn)FIR濾波器系數(shù)的計(jì)算與調(diào)整,設(shè)定收斂之前 μ=2-4,收斂之后 μ=2-6。
狀態(tài)分配模塊功能包括初始化各模塊,它產(chǎn)生控制信號(hào)、控制實(shí)現(xiàn)各個(gè)模塊完成特定功能;協(xié)調(diào)各個(gè)模塊間的操作。
由于FPGA不支持浮點(diǎn)數(shù)運(yùn)算,而自適應(yīng)濾波器必然要涉及到小數(shù)的計(jì)算,因此我們將所有小數(shù)化為二進(jìn)制處理。本文設(shè)計(jì)采用4..4格式,第一位為符號(hào)位[5-6]。
根據(jù)以上參數(shù),按照LMS原理以及結(jié)構(gòu)圖,我們即可編寫(xiě)程序,主程序流程圖如圖5所示。
圖5 均衡器的verilog 程序流程圖Fig. 5 Flow chart the software design of verilog
文中選用xilinx公司的ISE12.4為開(kāi)發(fā)工具,Modelsim為仿真工具。為了便于比較,我們將輸出信號(hào)和期望信號(hào)進(jìn)行判決[7]。仿真結(jié)果如下。
圖6(a)中信道無(wú)干擾,可以看出輸出信號(hào)和期望信號(hào)一致;若信道發(fā)生突變,如圖6(b)所示,在經(jīng)歷一段時(shí)間后均很器可以消除碼間干擾。通過(guò)仿真,可以得到:基于混合算法的自適應(yīng)均衡器可以消除碼間串?dāng)_,能夠快速地從多徑信號(hào)中恢復(fù)出發(fā)送信號(hào),減少誤碼。
文中改進(jìn)了LMS算法原理,利用FPGA實(shí)現(xiàn)了自適應(yīng)均衡器,從仿真結(jié)果來(lái)看,采用FPGA實(shí)現(xiàn)自適應(yīng)均衡器完全可滿足設(shè)計(jì)要求,基于改進(jìn)型算法可獲得較高的數(shù)據(jù)處理速度。鑒于時(shí)間和本文篇幅較小,設(shè)計(jì)中FIR濾波器的階數(shù)選取相對(duì)較小,而且引入符號(hào)LMS算法,因而對(duì)白適應(yīng)均衡器的收斂精度會(huì)帶來(lái)一定的影響,但可以通過(guò)增加FIR濾波器的階數(shù)和數(shù)據(jù)的位數(shù)來(lái)提高精度。
圖6 verilog 程序仿真波形圖Fig. 6 Waveform diagram of verilog
[1] 樊昌信,曹麗娜,通信原理[M].北京:國(guó)防工業(yè)出版社,2009.2.
[2] 金健,陳濤.采用FPGA實(shí)現(xiàn)基于LMS算法的自適應(yīng)均衡器的設(shè)計(jì)研究[J].航空電子技術(shù),2007(129):12-15.JIN Jian,CHEN Tao,Design and research of LMS algorithm-based adaptive equalizer with FPGA[J].Electronics for Aeronautics and Astronautics ,2007(129):12-15.
[3] 高鷹,謝勝利.一種變步長(zhǎng)LMS自適應(yīng)濾波算法及分析[J].電子學(xué)報(bào),2001(8):1094-1097.GAO Ying, XIE Sheng-li.A variable step size LMS adaptive filtering algorithm and its analysis[J].Chinese Journal of Electronics,2001(8):1094-1097.
[4] 王周舟,自適應(yīng)均衡算法的研究[D].大連:大連海事大學(xué),2007.
[5] Besslich P W,Larsen G.A digitally controlled adaptive equalizer for baseband data communication[J].International Journal of Electronics,2010(8):299-306.
[6] GUO Ye-cai,HE Long-qing,ZHANG Yan-ping,Design and implementation of adaptive equalizer based on FPGA[J].Chinese Institute of Electronics(CIE),2007(8):790-794.
[7] 藺永朋.基于FPGA自適應(yīng)均衡器的研究與實(shí)現(xiàn)[D].大連:大連海事大學(xué),2011.