摘 要: 介紹了塑料光纖數字基帶傳輸系統中升余弦滾降FIR成形濾波器的設計原理,利用MATLAB確定濾波器系數,并按最小均方誤差準則優化,分析討論了該濾波器基于優化的分布式算法和Wallace加法器樹的FPGA實現,并在Quartus II環境下進行了時序仿真。仿真結果與理論計算結果一致,驗證了設計方法的正確性和高效性。
??? 關鍵詞: 塑料光纖通信;升余弦濾波器;分布式算法;FPGA
?
?? 塑料光纖(POF)具有柔軟性好、易于連接等優點,在短距離通信中得到廣泛重視,繼其在汽車內部網絡的成功應用之后,室內通信網絡將是塑料光纖通信的下一個巨大市場[1-3]。但塑料光纖由于芯徑粗,模式色散大,造成信號波形經傳輸后失真大,高速率傳輸時碼間干擾嚴重。奈奎斯特(Nyquist) 第一準則告訴我們:如果信號經傳輸后整個波形發生了變化,但只要其特定點的抽樣值保持不變,那么用再次抽樣的方法,仍然可以準確無誤地恢復原始信號。根據這一準則,如果在發送前,采用奈奎斯特FIR濾波器將數字基帶信號進行成形濾波,壓縮旁瓣,就可以大大減小碼間干擾的影響,從而降低誤碼率。因此,濾波器的設計在塑料光纖通信系統中占有重要的地位,它的性能將直接影響整個通信系統的性能指標。
目前FIR濾波器的實現方法主要有3種:單片通用數字濾波器集成電路、DSP器件和可編程邏輯器件。單片通用數字濾波器使用方便,但由于字長和階數的規格較少,不能完全滿足實際需要。使用DSP器件實現雖然簡單,但由于程序順序執行,執行速度較慢,在某些實時性要求高的場合中受到限制。可編程邏輯門陣列(FPGA)有著規整的內部邏輯陣列和豐富的連線資源,采用的是硬件并行算法,特別適合于實時通信要求高的場合[4,5]。塑料光纖數字基帶傳輸系統的目標是實現100 Mb/s以上的傳輸速率,成型濾波器的工作頻率較高,而FPGA的成本不斷降低,所以用FPGA來設計塑料光纖通信成型濾波器具有明顯的優勢。
1 基帶升余弦滾降數字濾波器設計
滿足奈奎斯特第一準則的濾波器有無窮多種,最常用的是升余弦滾降濾波器。升余弦滾降濾波器的時域表達式為:
? 式中,0<α<1為滾降系數,Ts為碼元寬度。可見升余弦滾降濾波器是一個無窮階數的系數對稱濾波器。為了能夠在硬件電路上實現,必須截取其中一部分階數。
? 由于實際設計中只能采用有限階數有限精度濾波器,因而設計的濾波器頻率響應與理想頻率響應之間存在誤差。為了減小誤差,需要對濾波器進行優化。衡量誤差的標準有兩種:一種是最大誤差最小化準則,就是使濾波器頻率響應在一定的頻率范圍內與理論濾波器頻率響應相比最大誤差最小;另一種是最小均方誤差準則,就是使濾波器的頻率響應與理論濾波器頻率響應相比誤差的均方值最小。本文采用了最小均方誤差優化的準則,對升余弦濾波器的系數進行優化。
? Matlab的freqz函數能夠方便地計算濾波器的頻譜,可用于濾波器的優化。其過程是:選擇一對對稱的系數,增加或減少一個量化的最小單位(8位二進制量化最小單位是1/128);如果系數改變后頻譜誤差減少就采用改變后的系數,否則保持原來的系數;選擇新的一對系數,重復上面的過程,一直調整到誤差不能再減小為止。例如取滾降系數a=0.22,取樣頻率為4,FIR濾波器的有限長度N為23,可以得到其幅度和相位響應如圖1(a)所示,相應的濾波系數如圖1(b)所示。
?
2 升余弦滾降數字濾波器在FPGA上的實現
??? 分布式算法DA(Distributed Arithmetic)是一種以實現乘累加為目的的運算方法。對于FIR濾波器的輸出y(n)可以看作是濾波系數(即單位沖擊響應)與輸入信號x(n)的卷積和,其表達式為:
???
??? 對于有符號的DA數值,最高有效位用來區別正數和負數,其x(n)可寫成:
???
??? 式中xb(n-i)表示x(n-i)的第b位,將式(3)代入式(2)中,可得FIR濾波器的分布式算法DA表達式:
???
式(4)中方括號的乘累加在DA中利用查找表LUT來實現,查找表的地址矢量xb=[xb(K-1)……xb(0)],即查找表的地址有K個輸入信號的同位權位組成。如果濾波器的系數為B位,則一個DA查找表規模為2N×B bit。可以看到抽頭系數N過多,則DA表的規模將十分龐大。這是因為LUT的規模隨著地址空間的變化(也就是N的增加)而呈指數增加。
??? 在塑料光纖數字基帶傳輸系統中,為了減少FPGA邏輯資源的占有量和提高系統的運行速度,對升余弦滾降數據濾波器需要進一步優化處理。優化包括兩個方面:一是在FPGA實現中利用特有的查找表進行優化,一是對表達式進行優化。
對查找表的優化,可以利用部分表計算,然后將結果相加。長度為LM(N=LM)的內積為:
這樣就可以將和分配到L個獨立的M階并行DA查找表之中,表格的規模從一個2N×B bit降到L×2M×B bit,一般M控制在4個或8個最好。如果再加上流水線寄存器,由于大部分FPGA芯片的每個邏輯單元都有一個寄存器,所以并沒有增加電路規模,卻能大幅度提高電路的執行速度。DA算法的主要特點就是巧妙地利用了ROM查找表將固定系數的MAC運算轉化為查表操作,其運算速度不隨著系數和輸入數據位數的增加而降低,而且相對直接實現乘法器而言在硬件規模上得到了極大的改善。
對表達式進行優化,考慮到升余弦滾降濾波器系數是奇對稱的,h(i)=h(N-1-i),合并對稱的部分可以減少大約一半的乘法運算,即
基于優化的分布式算法和利用FIR濾波器的線性相位特性,能夠極大地提高電路的執行速度[7]。升余弦滾降濾波器的FPGA實現電路原理圖如圖2所示。圖2中的加法樹采用樹形結構減少多個數累加次數的方法,即Wallace樹結構加法器。Wallace樹充分利用全加器3-2壓縮的特性,隨時將可利用的所有輸入和中間結果及時并行計算,因而可以將N個部分積的累加次數從N-1次減少到logN次,大大節省了計算時延。圖3為Wallace樹結構與CSA結構的對照,其結構的關鍵特性在于利用不規則的樹形結構對所有準備好輸入數據的運算及時并行處理。Wallace樹結構是一種高速加法器,其顯著優點是速度快,尤其對處理多個數相加的情況具有相當的優越性。
?
3 優化結果與分析
塑料光纖數字基帶傳輸系統升余弦滾降數據濾波器的設計首先采用MATLAB確定濾波器參數,產生一個濾波器的模型對給定的技術參數進行逼近,根據逼近結果得到的濾波器模型、濾波器系數,再用FPGA進行最后的硬件實現。
本FIR升余弦濾波器是在Altera公司Quartus II6.0版本軟件開發環境下,并應用了該公司的Cyclone系列的FPGA芯片(EP2C5型號),進行FPGA程序編譯和時序仿真。VHDL強大的行為描述能力和程序結構,使其具有支持對大規模設計進行分解,以及對已有的設計進行再利用的功能。本文采用VHDL語言編寫了實現FIR升余弦滾降濾波器的FPGA程序代碼,經編譯完成后僅僅需要254個LE邏輯單元,節省了大量的資源,該算法具有極大的優勢,可以有效解決在FPGA設計中資源緊張的問題,用VHDL語言實現硬件的流程圖如圖4所示。根據圖1(b)中在Matlab中仿真計算出FIR數字升余弦滾降濾波器的量化系數,按照上面描述的方法在FPGA實現FIR升余弦濾波器。用VHDL編程并仿真,仿真結果如圖5所示,實驗仿真的結果與理論計算結果一致。
分布式算法在實現乘累加功能時,是通過將各輸入數據的每一對應位產生的部分積預先進行相加形成相應的部分積,然后再對各個部分積累加形成最終結果的。它與傳統算法實現乘累加的不同在于執行部分積運算的先后順序不同。與傳統串行算法相比,分布式算法可以利用查找表的方式實現,能極大地減少硬件電路的規模,提高電路的執行速度。本文根據塑料光纖基帶傳輸系統模式色散大的特點,采用分布式算法在FPGA上設計了升余弦滾降成型濾波器,實現了23階FIR升余弦滾降濾波器的實驗仿真,仿真結果與理論計算結果一致,驗證了設計方法的正確性和高效性,設計過程不僅克服了傳統濾波器設計帶來的諸多弊端,同時也提高了系統的整體性能。
參考文獻
[1] ZIEMANN O, POISEL H, VINOGRADOV J. Potential of high speed, short distance optical data communication on large diameter optical fibers[J]. ESTC 2006-1st Electronics Systemintegration Technology Conference,v 1, 2007:409-414.
[2] HAUPT M, FISCHER U H P. WDM over POF-The inexpensive way to break through the limitation of bandwidth of standard POF communication[J]. Proceedings of SPIE, v 6478, Photonics Packaging, Integration, and Interconnects VII, 2007,64780I.
[3] ZIEMANN O, POISEL H,RANDEL S, et al. Polymer optical fibers for short, shorter and shortest data links Source: OFC/NFOEC 2008,4528665.
[4] Uwe Meyer-Baese. Digital signal processing with field programmable gate array[M].劉凌,譯.北京:清華大學出版社,2006.
[5] 潘松,黃繼業.EDA技術與VHDL[M].北京:清華大學出版社,2005.
[6] 陳圣儉,郭晶晶.基于FPGA的FIR升余弦滾降濾波器設計與實現[J].通信電源技術,2007,24(2):19-21.
[7] 王心煥.基于FPGA的高速FIR數字濾波器的設計[J].現代電子技術,2007(15):184-187.
[8] 劉樹棠,劉保紅,田惠生.基帶升余弦成形網絡的優化設計[J].電子學報,1994,22(1):90-93.
?