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