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