根升余弦脈沖成形濾波器FPGA實現(xiàn)
摘要:提出了基于電路分割技術實現(xiàn)通信系統(tǒng)發(fā)送端根升余弦波形成形濾波器查表法的FPGA結(jié)構(gòu),節(jié)省了ROM單元,討論了其ROM初始化時形波數(shù)據(jù)的組織方法,完成了該結(jié)構(gòu)的VHDL實現(xiàn),給出了該設計在Modelsim環(huán)境下的時序仿真結(jié)果。通過對仿真結(jié)果分析,表明所述的設計方法是可行的。該設計方案不隨波形樣本數(shù)目的增多而使電路系統(tǒng)變得更為復雜,它所實現(xiàn)的成形濾波器滿足于高速成形的應用需求。
關鍵詞:根升余弦;成形濾波器;查找表;FPGA
0 引言
數(shù)字通信系統(tǒng)中,基帶信號的頻譜一般較寬,因此傳遞前需對信號進行成形處理,以改善其頻譜特性,使得在消除碼間干擾與達到最佳檢測接收的前提下,提高信道的頻帶利用率。目前,數(shù)字系統(tǒng)中常使用的波形成形濾波器有平方根升余弦濾波器、高斯濾波器等。設計方法有卷積法或查表法,其中:卷積法的實現(xiàn),需要消耗大量的乘法器與加法器,以構(gòu)成具有一定延時的流水線結(jié)構(gòu)。為降低硬件消耗,文獻提出了一種分布式算法(Distributed Arithmetic,DA)的濾波器設計結(jié)構(gòu)。它將傳統(tǒng)的乘、累加運算轉(zhuǎn)化為移位、累加運算,當運算數(shù)據(jù)的字寬較小時,極大地降低了硬件電路的復雜度,提高了響應速度;當運算數(shù)據(jù)的字長較長時,因其需要更多的移位迭代運算而不適合高速處理的需求。為此,文獻提出了采用濾波器的多相結(jié)構(gòu)與改進DA算法相結(jié)合的一種設計方法。當考慮ISI碼元數(shù)目較多時,該設計所需要的ROM表個數(shù)就會增多,同時訪問ROM所需的地址的產(chǎn)生電路就會變得更為復雜。文獻提出了采用存儲器分割技術,可以降低ROM單元的數(shù)量,但是它是以增加系統(tǒng)的復雜性與響應時延、信號毛刺為代價的。文獻在濾波器設計時采用了CSD編碼,雖然減少了乘法運算,但是需要設計CSD編解碼電路。
文中論述的是二進制基帶信號的連續(xù)查表法平方根升余弦波形成形濾波器(SRRC)的FPGA實現(xiàn)(滾降系數(shù)取0.22),取沖擊響應截斷時間為8T,每T內(nèi)樣點數(shù)為8個,所用ROM單元數(shù)為2(8+3),每單元數(shù)據(jù)為16 b有符號整型數(shù)。查找ROM表所需11 b的地址由一個長8 b的數(shù)據(jù)移位寄存器與一個模8的采樣時鐘計數(shù)器鏈接而成。給出了設計在Modelsim 6.3下的時域仿真波形,經(jīng)與理論相比較,文中的設計方法是可行的,且當二進制碼元的碼間干擾數(shù)增多(碼間樣點增加)時,地址電路簡單增長即可(不影響響應時間),便于FPGA的實現(xiàn)。
1 二進制基帶信號平方根升余弦成形原理
實際系統(tǒng)中,廣義信道傳遞函數(shù)H(f)由發(fā)送濾波器HT(f)、信道HC(f)、接收濾波器HR(f)三部分共同構(gòu)成,即:
根據(jù)乃奎斯特第一準則,當H(f)幅頻特性滿足的滾降系數(shù)為α升余弦濾波器特征時,可以實現(xiàn)無ISI傳輸時刻降低對采樣時鐘精度的要求,當信道噪聲可以忽略時,取HC(f)≈1,按照接收濾渡器的輸出信噪比最大準則,有:
式中:T為輸入碼元的周期;α為滾降系數(shù)。記f0=1/(2T),由式(2)可推出滾降系數(shù)為α平方根升余弦沖擊響應為:
其時域響應如圖1所示。在數(shù)字化波形成形時,為確保h(t)采樣后的h[n]保持第一類線性相位,舍去h(t)|t=0樣點,同時對N(偶數(shù))點h[n]右移N/2。文中采用的h(t)中t∈[-4T,4T],采樣間隔為T/8,于是,采樣后根升余弦成形濾波器的64個歸一化h[n]如表1 所示。
設發(fā)送端傳遞的二進制數(shù)據(jù)是{…,a-4,a-3,a-2,a-1,a0,a1,a2,a3,a4,a5,…},則發(fā)送濾波器的輸出如圖2所示,該波形函數(shù)可表示為:
可以看出,當前傳遞信息{a0}時刻對應的波形信號的上升沿y[1..8]分別由h-4[57..64],h-3[49..56],h-2[41..48],h-1[33..40],h0[25..32], h1[17..24],h2[9..16]與h3[1..8]線性表示,如式(5)所示:
2 二進制基帶信號平方根升余弦成形濾波器的FPGA實現(xiàn)
在分析文獻的基礎上,文中波形成形濾波器的實現(xiàn)采用的查表法結(jié)構(gòu)如圖3所示。其中,ROM單元存儲待成形的數(shù)據(jù)與成形濾波器的沖擊響應的卷積結(jié)果。模8計數(shù)器的工作時鐘速率是待成形數(shù)據(jù)速率的8倍。待成形數(shù)據(jù)從8位移位寄存器的低位移入后,選擇ROM表中的數(shù)據(jù)塊da-ta i,同時模8計數(shù)器C從(000)2~(111)2計數(shù),并用該計數(shù)結(jié)果C(j)選擇輸出data i中的y[j]。當計數(shù)器C計數(shù)歸零時,新的待成形數(shù)據(jù)從低位移入8位移位寄存器。該設計的一個優(yōu)點是:ROM表中的數(shù)據(jù)在計算時,ai可采用雙極性碼,而查找表地址產(chǎn)生電路使用單極性碼。文中設計時,波形數(shù)據(jù)的計算采用了反邏輯、雙極性、不歸零碼,即輸入信息符號序列{0,1)映射為{+1,-1),持續(xù)時間不變。
2.1 連續(xù)查找表法的一種改進實現(xiàn)
由圖3不難實現(xiàn)采用本文的波形成形設計方案,共需要的ROM單元數(shù)目達2 048個。為此,可采用電路分割技術,將圖3所示的8位移位寄存器輸出的高8位地址同時給一個11位的中間寄存器,該中間寄存器的高8位又分為高4位與低4位,分別用于查找兩個各具有16個單元的ROM表,之后再將各自的輸出相加,此時消耗的ROM單元數(shù)共為256個。采用分割技術時,模8計數(shù)器、中間寄存器、ROM表三個部分的工作時鐘相同。
2.2 根升余弦成形濾波器的VHDL實現(xiàn)
文中所述濾波器是在Modelsim 6.3d環(huán)境下采用VHDL實現(xiàn)的。Quarts環(huán)境中以文本方式調(diào)用LPM_ROM宏功能模塊,定制ROM元件data_ rom_16,元件的地址寬度分別是4 b,輸出數(shù)據(jù)字寬同為15 b。加法器的輸出字寬16 b。實現(xiàn)的部分VHDL代碼如下:
2.3 Modelsim時序仿真結(jié)果
Modelsim環(huán)境不能直接對mif格式的ROM初始化數(shù)據(jù)進行仿真,應在QuartsⅡ環(huán)境下先打開mif文件,再另存為hex格式,然后在Modelsim環(huán)境下編譯后即可仿真。同時,如此操作又可將負值數(shù)據(jù)轉(zhuǎn)為補碼表示。Modelsim仿真結(jié)果如圖4所示,其中clk的周期為160 ns,正好是一個din碼元的寬度T,系統(tǒng)中地址產(chǎn)生電路的時鐘周期是20 ns,以確保在一個碼元持續(xù)時間內(nèi)系統(tǒng)有8個樣點輸出。從圖4中發(fā)現(xiàn),一個碼元成形后波形值延遲6T。
3 結(jié)論
文中所述的基于電路分割技術的查表法,實現(xiàn)通信系統(tǒng)發(fā)送端根升余弦滾降成形濾波器的FPGA實現(xiàn)方法簡單可行,且當截斷碼元數(shù)目增多時或碼內(nèi)樣點數(shù)目增加時,僅通過改變地址移位寄存器的長度或計數(shù)器的長度與ROM的長度即可,不至于使電路的復雜度成倍增加。