摘 要: 介紹了塑料光纖數(shù)字基帶傳輸系統(tǒng)中升余弦滾降FIR成形濾波器的設(shè)計(jì)原理,利用MATLAB確定濾波器系數(shù),并按最小均方誤差準(zhǔn)則優(yōu)化,分析討論了該濾波器基于優(yōu)化的分布式算法和Wallace加法器樹的FPGA實(shí)現(xiàn),并在Quartus II環(huán)境下進(jìn)行了時序仿真。仿真結(jié)果與理論計(jì)算結(jié)果一致,驗(yàn)證了設(shè)計(jì)方法的正確性和高效性。
??? 關(guān)鍵詞: 塑料光纖通信;升余弦濾波器;分布式算法;FPGA
?
?? 塑料光纖(POF)具有柔軟性好、易于連接等優(yōu)點(diǎn),在短距離通信中得到廣泛重視,繼其在汽車內(nèi)部網(wǎng)絡(luò)的成功應(yīng)用之后,室內(nèi)通信網(wǎng)絡(luò)將是塑料光纖通信的下一個巨大市場[1-3]。但塑料光纖由于芯徑粗,模式色散大,造成信號波形經(jīng)傳輸后失真大,高速率傳輸時碼間干擾嚴(yán)重。奈奎斯特(Nyquist) 第一準(zhǔn)則告訴我們:如果信號經(jīng)傳輸后整個波形發(fā)生了變化,但只要其特定點(diǎn)的抽樣值保持不變,那么用再次抽樣的方法,仍然可以準(zhǔn)確無誤地恢復(fù)原始信號。根據(jù)這一準(zhǔn)則,如果在發(fā)送前,采用奈奎斯特FIR濾波器將數(shù)字基帶信號進(jìn)行成形濾波,壓縮旁瓣,就可以大大減小碼間干擾的影響,從而降低誤碼率。因此,濾波器的設(shè)計(jì)在塑料光纖通信系統(tǒng)中占有重要的地位,它的性能將直接影響整個通信系統(tǒng)的性能指標(biāo)。
目前FIR濾波器的實(shí)現(xiàn)方法主要有3種:單片通用數(shù)字濾波器集成電路、DSP器件和可編程邏輯器件。單片通用數(shù)字濾波器使用方便,但由于字長和階數(shù)的規(guī)格較少,不能完全滿足實(shí)際需要。使用DSP器件實(shí)現(xiàn)雖然簡單,但由于程序順序執(zhí)行,執(zhí)行速度較慢,在某些實(shí)時性要求高的場合中受到限制??删幊踢壿嬮T陣列(FPGA)有著規(guī)整的內(nèi)部邏輯陣列和豐富的連線資源,采用的是硬件并行算法,特別適合于實(shí)時通信要求高的場合[4,5]。塑料光纖數(shù)字基帶傳輸系統(tǒng)的目標(biāo)是實(shí)現(xiàn)100 Mb/s以上的傳輸速率,成型濾波器的工作頻率較高,而FPGA的成本不斷降低,所以用FPGA來設(shè)計(jì)塑料光纖通信成型濾波器具有明顯的優(yōu)勢。
1 基帶升余弦滾降數(shù)字濾波器設(shè)計(jì)
滿足奈奎斯特第一準(zhǔn)則的濾波器有無窮多種,最常用的是升余弦滾降濾波器。升余弦滾降濾波器的時域表達(dá)式為:
? 式中,0<α<1為滾降系數(shù),Ts為碼元寬度??梢娚嘞覞L降濾波器是一個無窮階數(shù)的系數(shù)對稱濾波器。為了能夠在硬件電路上實(shí)現(xiàn),必須截取其中一部分階數(shù)。
? 由于實(shí)際設(shè)計(jì)中只能采用有限階數(shù)有限精度濾波器,因而設(shè)計(jì)的濾波器頻率響應(yīng)與理想頻率響應(yīng)之間存在誤差。為了減小誤差,需要對濾波器進(jìn)行優(yōu)化。衡量誤差的標(biāo)準(zhǔn)有兩種:一種是最大誤差最小化準(zhǔn)則,就是使濾波器頻率響應(yīng)在一定的頻率范圍內(nèi)與理論濾波器頻率響應(yīng)相比最大誤差最小;另一種是最小均方誤差準(zhǔn)則,就是使濾波器的頻率響應(yīng)與理論濾波器頻率響應(yīng)相比誤差的均方值最小。本文采用了最小均方誤差優(yōu)化的準(zhǔn)則,對升余弦濾波器的系數(shù)進(jìn)行優(yōu)化。
? Matlab的freqz函數(shù)能夠方便地計(jì)算濾波器的頻譜,可用于濾波器的優(yōu)化。其過程是:選擇一對對稱的系數(shù),增加或減少一個量化的最小單位(8位二進(jìn)制量化最小單位是1/128);如果系數(shù)改變后頻譜誤差減少就采用改變后的系數(shù),否則保持原來的系數(shù);選擇新的一對系數(shù),重復(fù)上面的過程,一直調(diào)整到誤差不能再減小為止。例如取滾降系數(shù)a=0.22,取樣頻率為4,F(xiàn)IR濾波器的有限長度N為23,可以得到其幅度和相位響應(yīng)如圖1(a)所示,相應(yīng)的濾波系數(shù)如圖1(b)所示。
?
2 升余弦滾降數(shù)字濾波器在FPGA上的實(shí)現(xiàn)
??? 分布式算法DA(Distributed Arithmetic)是一種以實(shí)現(xiàn)乘累加為目的的運(yùn)算方法。對于FIR濾波器的輸出y(n)可以看作是濾波系數(shù)(即單位沖擊響應(yīng))與輸入信號x(n)的卷積和,其表達(dá)式為:
???
??? 對于有符號的DA數(shù)值,最高有效位用來區(qū)別正數(shù)和負(fù)數(shù),其x(n)可寫成:
???
??? 式中xb(n-i)表示x(n-i)的第b位,將式(3)代入式(2)中,可得FIR濾波器的分布式算法DA表達(dá)式:
???
式(4)中方括號的乘累加在DA中利用查找表LUT來實(shí)現(xiàn),查找表的地址矢量xb=[xb(K-1)……xb(0)],即查找表的地址有K個輸入信號的同位權(quán)位組成。如果濾波器的系數(shù)為B位,則一個DA查找表規(guī)模為2N×B bit。可以看到抽頭系數(shù)N過多,則DA表的規(guī)模將十分龐大。這是因?yàn)長UT的規(guī)模隨著地址空間的變化(也就是N的增加)而呈指數(shù)增加。
??? 在塑料光纖數(shù)字基帶傳輸系統(tǒng)中,為了減少FPGA邏輯資源的占有量和提高系統(tǒng)的運(yùn)行速度,對升余弦滾降數(shù)據(jù)濾波器需要進(jìn)一步優(yōu)化處理。優(yōu)化包括兩個方面:一是在FPGA實(shí)現(xiàn)中利用特有的查找表進(jìn)行優(yōu)化,一是對表達(dá)式進(jìn)行優(yōu)化。
對查找表的優(yōu)化,可以利用部分表計(jì)算,然后將結(jié)果相加。長度為LM(N=LM)的內(nèi)積為:
這樣就可以將和分配到L個獨(dú)立的M階并行DA查找表之中,表格的規(guī)模從一個2N×B bit降到L×2M×B bit,一般M控制在4個或8個最好。如果再加上流水線寄存器,由于大部分FPGA芯片的每個邏輯單元都有一個寄存器,所以并沒有增加電路規(guī)模,卻能大幅度提高電路的執(zhí)行速度。DA算法的主要特點(diǎn)就是巧妙地利用了ROM查找表將固定系數(shù)的MAC運(yùn)算轉(zhuǎn)化為查表操作,其運(yùn)算速度不隨著系數(shù)和輸入數(shù)據(jù)位數(shù)的增加而降低,而且相對直接實(shí)現(xiàn)乘法器而言在硬件規(guī)模上得到了極大的改善。
對表達(dá)式進(jìn)行優(yōu)化,考慮到升余弦滾降濾波器系數(shù)是奇對稱的,h(i)=h(N-1-i),合并對稱的部分可以減少大約一半的乘法運(yùn)算,即
基于優(yōu)化的分布式算法和利用FIR濾波器的線性相位特性,能夠極大地提高電路的執(zhí)行速度[7]。升余弦滾降濾波器的FPGA實(shí)現(xiàn)電路原理圖如圖2所示。圖2中的加法樹采用樹形結(jié)構(gòu)減少多個數(shù)累加次數(shù)的方法,即Wallace樹結(jié)構(gòu)加法器。Wallace樹充分利用全加器3-2壓縮的特性,隨時將可利用的所有輸入和中間結(jié)果及時并行計(jì)算,因而可以將N個部分積的累加次數(shù)從N-1次減少到logN次,大大節(jié)省了計(jì)算時延。圖3為Wallace樹結(jié)構(gòu)與CSA結(jié)構(gòu)的對照,其結(jié)構(gòu)的關(guān)鍵特性在于利用不規(guī)則的樹形結(jié)構(gòu)對所有準(zhǔn)備好輸入數(shù)據(jù)的運(yùn)算及時并行處理。Wallace樹結(jié)構(gòu)是一種高速加法器,其顯著優(yōu)點(diǎn)是速度快,尤其對處理多個數(shù)相加的情況具有相當(dāng)?shù)膬?yōu)越性。
?
3 優(yōu)化結(jié)果與分析
塑料光纖數(shù)字基帶傳輸系統(tǒng)升余弦滾降數(shù)據(jù)濾波器的設(shè)計(jì)首先采用MATLAB確定濾波器參數(shù),產(chǎn)生一個濾波器的模型對給定的技術(shù)參數(shù)進(jìn)行逼近,根據(jù)逼近結(jié)果得到的濾波器模型、濾波器系數(shù),再用FPGA進(jìn)行最后的硬件實(shí)現(xiàn)。
本FIR升余弦濾波器是在Altera公司Quartus II6.0版本軟件開發(fā)環(huán)境下,并應(yīng)用了該公司的Cyclone系列的FPGA芯片(EP2C5型號),進(jìn)行FPGA程序編譯和時序仿真。VHDL強(qiáng)大的行為描述能力和程序結(jié)構(gòu),使其具有支持對大規(guī)模設(shè)計(jì)進(jìn)行分解,以及對已有的設(shè)計(jì)進(jìn)行再利用的功能。本文采用VHDL語言編寫了實(shí)現(xiàn)FIR升余弦滾降濾波器的FPGA程序代碼,經(jīng)編譯完成后僅僅需要254個LE邏輯單元,節(jié)省了大量的資源,該算法具有極大的優(yōu)勢,可以有效解決在FPGA設(shè)計(jì)中資源緊張的問題,用VHDL語言實(shí)現(xiàn)硬件的流程圖如圖4所示。根據(jù)圖1(b)中在Matlab中仿真計(jì)算出FIR數(shù)字升余弦滾降濾波器的量化系數(shù),按照上面描述的方法在FPGA實(shí)現(xiàn)FIR升余弦濾波器。用VHDL編程并仿真,仿真結(jié)果如圖5所示,實(shí)驗(yàn)仿真的結(jié)果與理論計(jì)算結(jié)果一致。
分布式算法在實(shí)現(xiàn)乘累加功能時,是通過將各輸入數(shù)據(jù)的每一對應(yīng)位產(chǎn)生的部分積預(yù)先進(jìn)行相加形成相應(yīng)的部分積,然后再對各個部分積累加形成最終結(jié)果的。它與傳統(tǒng)算法實(shí)現(xiàn)乘累加的不同在于執(zhí)行部分積運(yùn)算的先后順序不同。與傳統(tǒng)串行算法相比,分布式算法可以利用查找表的方式實(shí)現(xiàn),能極大地減少硬件電路的規(guī)模,提高電路的執(zhí)行速度。本文根據(jù)塑料光纖基帶傳輸系統(tǒng)模式色散大的特點(diǎn),采用分布式算法在FPGA上設(shè)計(jì)了升余弦滾降成型濾波器,實(shí)現(xiàn)了23階FIR升余弦滾降濾波器的實(shí)驗(yàn)仿真,仿真結(jié)果與理論計(jì)算結(jié)果一致,驗(yàn)證了設(shè)計(jì)方法的正確性和高效性,設(shè)計(jì)過程不僅克服了傳統(tǒng)濾波器設(shè)計(jì)帶來的諸多弊端,同時也提高了系統(tǒng)的整體性能。
參考文獻(xiàn)
[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].劉凌,譯.北京:清華大學(xué)出版社,2006.
[5] 潘松,黃繼業(yè).EDA技術(shù)與VHDL[M].北京:清華大學(xué)出版社,2005.
[6] 陳圣儉,郭晶晶.基于FPGA的FIR升余弦滾降濾波器設(shè)計(jì)與實(shí)現(xiàn)[J].通信電源技術(shù),2007,24(2):19-21.
[7] 王心煥.基于FPGA的高速FIR數(shù)字濾波器的設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2007(15):184-187.
[8] 劉樹棠,劉保紅,田惠生.基帶升余弦成形網(wǎng)絡(luò)的優(yōu)化設(shè)計(jì)[J].電子學(xué)報(bào),1994,22(1):90-93.
?