一種基于FPGA的群路信號數(shù)字分路實現(xiàn)結(jié)構(gòu)
由于具有高集成度、高速、可編程等優(yōu)點,現(xiàn)場可編程門陣列(Field Programmable Gate Array,FPGA)已經(jīng)被廣泛應(yīng)用于中高速群路解調(diào)處理領(lǐng)域。數(shù)字分路技術(shù)是全數(shù)字群解調(diào)器的重要組成部分,也是群解調(diào)器實現(xiàn)過程中消耗硬件資源較大的部分,所以設(shè)計合理的分路實現(xiàn)結(jié)構(gòu)將對整個解調(diào)器的處理速度和硬件開銷產(chǎn)生較大影響。目前,采用FPGA實現(xiàn)數(shù)字分路主要存在的問題是FPGA芯片中乘法器資源受限。因此,在已知硬件FPGA芯片乘法器資源約束條件下,設(shè)計更為有效的數(shù)字分路實現(xiàn)結(jié)構(gòu)是目前重要的研究內(nèi)容。
本文引用地址:http://m.butianyuan.cn/article/201610/308361.htm1 算法結(jié)構(gòu)
針對輸入信號各子帶在頻域中是按偶型堆積排列和均勻分割的,如圖1所示,可采用均勻DFT濾波器組實現(xiàn)其有效數(shù)字分路。在圖1中,輸入信號的基本參數(shù)如下:(1)每路載波的符號速率為R=2 Msample·s-1;(2)載波間隔為△f=3.2 MHz;(3)采樣速率為Fs=32 MHz。
圖2給出了單個支路信號處理原理示意圖。輸入信號首先采用復(fù)指數(shù)序列e-jωk進(jìn)行調(diào)制(其中,ωk=,k=0,1,2,…,K-1為第k個子帶的中心頻率,K為分路路數(shù));然后再將調(diào)制后的信號經(jīng)過低通濾波器進(jìn)行濾波;最后將濾波后的信號進(jìn)行降采樣(降采樣率為M),得到第k個子帶信號。該數(shù)學(xué)模型可表示為
其中,x(n)表示輸入信號;h(n)表示分析濾波器;
;K表示分路路數(shù);M表示降采樣率。根據(jù)這一數(shù)學(xué)模型,基于均勻DFT濾波器組數(shù)字分路技術(shù),有基于多相結(jié)構(gòu)和加權(quán)疊接-相加結(jié)構(gòu)兩種實現(xiàn)結(jié)構(gòu)。
由于輸入信號速率為32 MHz,各子帶頻率間隔為3.2 MHz,則分路路數(shù)K=32/3.2=10。又由于每路輸出信號速率為2×4=8 MHz,則降采樣率M=32/8=4,因此邏輯上可以按照K=M(其中,I=2.5)形式的多相結(jié)構(gòu)實現(xiàn)數(shù)字分路。
在式(1)中,通過變量置換n=rK+ρ,ρ=0,1,…,K-1,得到
式(5)的括號中定義了一個I個抽樣的內(nèi)插器,令yρ(m)是內(nèi)插器的輸出,則該項對應(yīng)的數(shù)學(xué)模型如圖3所示。
根據(jù)式(5)所示,則基于均勻DFT濾波器組數(shù)字分路技術(shù)實現(xiàn)結(jié)構(gòu)如圖4所示,具體實現(xiàn)步驟如下
(1)對輸入信號x(n)進(jìn)行10路并行轉(zhuǎn)換,得到10路子信號xρ(r),ρ=0,1,…,9,此時信號速率由fs=32 MHz變?yōu)閒=32 MHz/10=3.2 MHz。
(2)對每一路子信號xρ(r)進(jìn)行5倍速率內(nèi)插,并分別采用對應(yīng)的濾波器*
進(jìn)行濾波,得到10路輸出信號yρ(m),每一路對應(yīng)的濾波器
可以由分析濾波器h(n)按照式(4)得到,此時信號yρ(m)的速率由3.2 MHz變?yōu)?.2 MHz×5=16 MHz。
(3)對10路yρ(m)信號分別進(jìn)行2倍下采樣,變?yōu)閦ρ(m)。
(4)對上述得到的10路并行信號進(jìn)行10點FFT計算,得到分路后的10路信號。
在圖4中,出現(xiàn)了10點FFT計算,為有效節(jié)省乘法器的資源,對10點FFT計算進(jìn)行變換處理,分解為5點FFT的計算。10點FFT變換可表示為式(6)
由式(8)可得,一個10點的FFT運算可等效為一級5點FFT和2點FFT的級聯(lián)運算。具體實現(xiàn)框圖如圖5所示。
5點FFT變換可表示為
將式(9)展開,得
2 FPGA實現(xiàn)及測試結(jié)果
根據(jù)上述算法分析,結(jié)合FPGA資源與速度互換的處理思路,對10路信號的數(shù)字分路FPGA實現(xiàn)結(jié)構(gòu)進(jìn)行設(shè)計,具體處理流程如圖6所示。
在圖6中,整個10路信號數(shù)字分路模塊共分為2大部分,第1部分是多相濾波計算單元,第2部分為10點FFT計算單元,兩個模塊在調(diào)度控制模塊的控制下工作。整個模塊的工作時鐘fclk=96 MHz,原型濾波器選用110階的匹配濾波器,濾波器的幅頻特性曲線如圖7所示。整個10點數(shù)字分路的FPGA處理流程如下。
(1)輸入信號同時進(jìn)入11組并行工作的RAM存儲區(qū),每進(jìn)20個數(shù)據(jù)做一次流水處理,每個流水處理共有60個處理時鐘,共進(jìn)行5次10點FFT計算;也就是說每進(jìn)20個數(shù),輸出50個數(shù),每路5個點。
(2)調(diào)度控制模塊控制11個存儲RAM在每個時鐘周期產(chǎn)生11個不同數(shù)據(jù),同時控制原型濾波器系數(shù)組產(chǎn)生11個多相濾波系數(shù),11個數(shù)據(jù)和11個多相濾波系數(shù)進(jìn)行相乘及累加產(chǎn)生1個FFT計算輸入點;每10個FFT計算輸入點組成1個10點FFT計算組,并用使能信號標(biāo)識,串行送給10點FFT計算單元。
(3)根據(jù)10點FFT拆分為2個5點FFT和5個2點FFT計算流程及式(11)的數(shù)學(xué)計算公式,對多相濾波計算單元串行輸入的10個數(shù)據(jù)復(fù)制成相同的5組,第1組延遲4個時鐘周期輸出,第2~5組在調(diào)度控制模塊的控制下分時乘以不同的FFT計算系數(shù),然后對5組輸出數(shù)據(jù)進(jìn)行時延調(diào)整及累加求和,分別串行輸出2組5點FFT計算結(jié)果;對第1組數(shù)據(jù)在調(diào)度控制模塊的控制下分時乘以不同相位調(diào)整系數(shù),對第2組延遲4個時鐘周期輸出;最后對2組輸出數(shù)據(jù)進(jìn)行時延調(diào)整及累加求和,串行輸出10個FFT計算結(jié)果,并通過使能信號對10個FFT計算結(jié)果進(jìn)行標(biāo)識,使能信號的上升沿代表第1路數(shù)據(jù)。
文中的10路信號數(shù)字分路結(jié)構(gòu)在Xilinx的Vitex-4器件上實現(xiàn),具體型號是xc4vsx55-11ff148,圖8給出了10路信號數(shù)字分路的輸入輸出接口,表1給出了算法的硬件資源占用情況。
3 仿真驗證及實際測試結(jié)果
在ISE9.2.1環(huán)境下,采用VHDL完成了10路信號的數(shù)字分路模塊的開發(fā),并采用ModeMm 6.2b軟件進(jìn)行仿真驗證。同時,為驗證設(shè)計的10路信號的數(shù)字分路模塊的正確性,將10路信號的數(shù)字分路模塊連同解調(diào)模塊在搭建的測試系統(tǒng)中進(jìn)行了實際測試。測試輸入信號源為10路QPSK信號,10路8PSK信號以及10路16APSK信號;測試輸出為10路信號的分路輸出星座圖及解調(diào)位同步后的星座圖。圖9為3種調(diào)制方式的分路輸出星座圖,圖10為3種調(diào)制方式位同步后的星座圖。
4 結(jié)束語
本文介紹了一種基于FPGA的10路信號的數(shù)字分路實現(xiàn)結(jié)構(gòu),在ISE9.2.1環(huán)境下,采用VHDL語言進(jìn)行了實現(xiàn),并在硬件平臺上對分路程序的性能進(jìn)行了測試。該結(jié)構(gòu)能夠有效降低FPGA的硬件資源消耗,尤其是乘法器的資源消耗,在全數(shù)字群解調(diào)器工程實現(xiàn)中有著良好的應(yīng)用前景。
評論