惠騰飛,楊 磊,龔險峰
(空間電子信息技術研究院通信技術研究室,陜西西安 710000)
由于具有高集成度、高速、可編程等優(yōu)點,現(xiàn)場可編程門陣列(Field Programmable Gate Array,F(xiàn)PGA)已經被廣泛應用于中高速群路解調處理領域。數字分路技術是全數字群解調器的重要組成部分[1],也是群解調器實現(xiàn)過程中消耗硬件資源較大的部分,所以設計合理的分路實現(xiàn)結構將對整個解調器的處理速度和硬件開銷產生較大影響。目前,采用FPGA實現(xiàn)數字分路主要存在的問題是FPGA芯片中乘法器資源受限。因此,在已知硬件FPGA芯片乘法器資源約束條件下,設計更為有效的數字分路實現(xiàn)結構是目前重要的研究內容。32 MHz。
圖1 輸入信號各子帶頻譜分布示意圖
針對輸入信號各子帶在頻域中是按偶型堆積排列和均勻分割的,如圖1所示,可采用均勻DFT濾波器組實現(xiàn)其有效數字分路[2]。在圖1中,輸入信號的基本參數如下:(1)每路載波的符號速率為R=2 Msample·s-1;(2)載波間隔為Δf=3.2 MHz;(3)采樣速率為Fs=為第 k個子帶的中心頻率,K為分路路數);然后再將調制后的信號經過低通濾波器進行濾波;最后將濾波后的信號進行降采樣(降采樣率為M),得到第k個子帶信號。該數學模型可表示為
圖2給出了單個支路信號處理原理示意圖。輸入信號首先采用復指數序列 e-jωk進行調制(其中,ωk=
圖2 DFT濾波器組分析器(分路)模型
由于輸入信號速率為32 MHz,各子帶頻率間隔為3.2 MHz,則分路路數K=32/3.2=10。又由于每路輸出信號速率為2×4=8 MHz,則降采樣率M=32/8=4,因此邏輯上可以按照K=MI(其中,I=2.5)形式的多相結構實現(xiàn)數字分路。
在式(1)中,通過變量置換 n=rK+ ρ,ρ=0,1,…,K -1,得到
式(5)的括號中定義了一個I個抽樣的內插器,令yρ(m)是內插器的輸出,則該項對應的數學模型如圖3所示[3]。
圖3 I個抽樣的內插器
根據式(5)所示,則基于均勻DFT濾波器組數字分路技術實現(xiàn)結構如圖4所示,具體實現(xiàn)步驟如下[4-5]
(1)對輸入信號x(n)進行10路并行轉換,得到10 路子信號 xρ(r),ρ=0,1,…,9,此時信號速率由 fs=32 MHz變?yōu)?f=32 MHz/10=3.2 MHz。
圖4 基于均勻DFT濾波器組數字分路技術的多相結構實現(xiàn)示意圖
(2)對每一路子信號xρ(r)進行5倍速率內插,并分別采用對應的濾波器pρ(m)進行濾波,得到 10 路輸出信號yρ(m),每一路對應的濾波器pρ(m)可以由分析濾波器h(n)按照式(4)得到,此時信號yρ(m)的速率由3.2 MHz變?yōu)?.2 MHz×5=16 MHz。
(3)對10路yρ(m)信號分別進行2倍下采樣,變?yōu)?zρ(m)。
(4)對上述得到的10路并行信號進行10點FFT計算,得到分路后的10路信號。
在圖4中,出現(xiàn)了10點FFT計算,為有效節(jié)省乘法器的資源,對10點FFT計算進行變換處理,分解為5點FFT的計算[6]。10點FFT變換可表示為式(6)
由式(8)可得,一個10點的FFT運算可等效為一級5點FFT和2點FFT的級聯(lián)運算。具體實現(xiàn)框圖如圖5所示。
圖5 10點FFT等效實現(xiàn)結構
5點FFT變換可表示為
將式(9)展開,得
根據上述算法分析,結合FPGA資源與速度互換的處理思路[7],對10路信號的數字分路FPGA實現(xiàn)結構進行設計,具體處理流程如圖6所示。
圖6 10路信號數字分路的FPGA實現(xiàn)流程圖
在圖6中,整個10路信號數字分路模塊共分為2大部分,第1部分是多相濾波計算單元,第2部分為10點FFT計算單元,兩個模塊在調度控制模塊的控制下工作。整個模塊的工作時鐘fclk=96 MHz,原型濾波器選用110階的匹配濾波器,濾波器的幅頻特性曲線如圖7所示。整個10點數字分路的FPGA處理流程如下。
(1)輸入信號同時進入11組并行工作的RAM存儲區(qū),每進20個數據做一次流水處理,每個流水處理共有60個處理時鐘,共進行5次10點FFT計算;也就是說每進20個數,輸出50個數,每路5個點。
圖7 原型濾波器的幅頻特性曲線
(2)調度控制模塊控制11個存儲RAM在每個時鐘周期產生11個不同數據,同時控制原型濾波器系數組產生11個多相濾波系數,11個數據和11個多相濾波系數進行相乘及累加產生1個FFT計算輸入點;每10個FFT計算輸入點組成1個10點FFT計算組,并用使能信號標識,串行送給10點FFT計算單元。
(3)根據10點FFT拆分為2個5點FFT和5個2點FFT計算流程及式(11)的數學計算公式,對多相濾波計算單元串行輸入的10個數據復制成相同的5組,第1組延遲4個時鐘周期輸出,第2~5組在調度控制模塊的控制下分時乘以不同的FFT計算系數,然后對5組輸出數據進行時延調整及累加求和,分別串行輸出2組5點FFT計算結果;對第1組數據在調度控制模塊的控制下分時乘以不同相位調整系數,對第2組延遲4個時鐘周期輸出;最后對2組輸出數據進行時延調整及累加求和,串行輸出10個FFT計算結果,并通過使能信號對10個FFT計算結果進行標識,使能信號的上升沿代表第1路數據。
文中的10路信號數字分路結構在Xilinx的Vitex-4器件上實現(xiàn),具體型號是xc4vsx55-11ff1148,圖8給出了10路信號數字分路的輸入輸出接口,表1給出了算法的硬件資源占用情況[8]。
圖8 10路信號數字分路結構的輸入輸出接口
表1 10路信號數字分路硬件實現(xiàn)占用資源情況
在ISE9.2.1環(huán)境下,采用VHDL完成了10路信號的數字分路模塊的開發(fā),并采用ModeMm 6.2 b軟件進行仿真驗證。同時,為驗證設計的10路信號的數字分路模塊的正確性,將10路信號的數字分路模塊連同解調模塊在搭建的測試系統(tǒng)中進行了實際測試。測試輸入信號源為10路QPSK信號,10路8PSK信號以及10路16APSK信號;測試輸出為10路信號的分路輸出星座圖及解調位同步后的星座圖。圖9為3種調制方式的分路輸出星座圖,圖10為3種調制方式位同步后的星座圖[9]。
圖10 位同步輸出的單路信號不同調制方式下的星座圖
本文介紹了一種基于FPGA的10路信號的數字分路實現(xiàn)結構,在ISE9.2.1環(huán)境下,采用VHDL語言進行了實現(xiàn),并在硬件平臺上對分路程序的性能進行了測試。該結構能夠有效降低FPGA的硬件資源消耗,尤其是乘法器的資源消耗,在全數字群解調器工程實現(xiàn)中有著良好的應用前景。
[1] HARRIS F J,DICK C,RICE M.Digital receivers and transmitters using polyphase filter banks for wireless communications[J].IEEE Transactions on Communication,2003(4):1395-1412.
[2] 文增譯.多抽樣數字信號處理[M].北京:人民郵電出版社,1986.
[3] VAIDYANATHAN P P.Multirate systems and filter banks[M].NJ:Prentice Hall Englewood Cliffs,1993.
[4] 任紅建.基于FPGA的 FIR數字濾波器的設計[D].南京:東南大學,2009.
[5] R E克勞切,L R拉賓納.多抽樣率數字信號處理[M].酆廣增,譯.北京:人民郵電出版社,1988.
[6] 孫重磊.基于FPGA的24點離散傅里葉變換結構設計[J].電子科技,2012,25(9):132 -135.
[7] 朱明程,董爾令.可編程邏輯器件及應用[M].西安:西安電子科技大學出版社,2004.
[8] 林敏,方穎立.VHDL數字系統(tǒng)設計與高層次綜合[M].北京:電子工業(yè)出版社,2002.
[9] 樊昌信.通信原理[M].北京:國防工業(yè)出版社,2001.