基于FPGA的多通道頻率檢測
0 引言
在數字接收機的各種參數中,頻率是最重要的參數之一,它能反映接收機的功能和用途、以及頻譜寬度等重要指標。傳統的順序測頻技術(shù)一般通過(guò)對接收機頻帶的掃描,對頻域進(jìn)行連續取樣。該方法原理簡(jiǎn)單,技術(shù)成熟,但是,其頻率截獲概率與分辨力的矛盾難以解決,無(wú)法實(shí)現全概率信號截獲。而多信道化的頻率檢測技術(shù)屬于瞬時(shí)測頻,其架構是采用多個(gè)頻率窗口(多個(gè)信道彼此銜接相鄰)來(lái)覆蓋接收機的整個(gè)頻段,這樣,當信號進(jìn)入任一個(gè)窗口時(shí),該窗口的頻率值即可被檢測出。因此,該方法可解決頻率截獲概率與頻率分辨力的矛盾,同時(shí)也為實(shí)現全概率頻率捕獲提供了一種參考方案。
1 多信道模型
當一個(gè)實(shí)信號經(jīng)過(guò)A/D采樣之后,再進(jìn)行正交下變頻處理,即可得到I、Q兩路相位正交信號,它們所構成的是一個(gè)復信號。該復信號的信道化示意圖如圖1所示。
圖1所示的信道是一種相互交疊的信道,它們涵蓋了整個(gè)零中頻信號的頻率范圍。一般情況下,多信道往往采用數字濾波器組來(lái)實(shí)現,但該方法需要設計M(M為信道數)個(gè)中心頻率不同,而其它性質(zhì)完全相同的帶通濾波器。這種結構設計過(guò)于復雜,同時(shí)還加大了后續信號處理的運算速度,對實(shí)時(shí)處理極為不利。而數字濾波器組的低通型實(shí)現方法則是先將每個(gè)通道乘以一變換因子,就相當于將實(shí)際信號搬移到零中頻,然后再通過(guò)LPF得到該頻率信號。該方法可對帶通信號的頻段進(jìn)行信道化分離,但是帶來(lái)的新問(wèn)題是當LPF用FIR濾波器實(shí)現M個(gè)濾波運算時(shí),將占用較大的硬件資源,而且系統工作效率較低。目前,該結構已被高效DFT多相濾波器組結構所代替。
圖2所示是一種具有普遍性的基于DFT多相濾波器組的信道化高效結構,從圖2中可以看出,在濾波之前,先對數據進(jìn)行D倍抽取可降低濾波過(guò)程的運算量,gn(m)是低通原型濾波器hLP(n)的多相分量,其階數可減小到原來(lái)的1/D,因而DFT可以用FFT實(shí)現。事實(shí)上,在此結構中,系統的復雜度和數據速率大大降低,實(shí)時(shí)處理能力得到了提高。
2 濾波器的設計及仿真
低通型濾波器結構中的每個(gè)通道都是由原型低通濾波器乘以旋轉因子形成的。根據要求,圖3所示是由256階原型低通濾波器形成的濾波器組及其信號輸出仿真波形。該信號的有效帶寬為300MHz,共分為32通道,每通道帶寬為9.375MHz.如給此濾波器組送入頻率?=28.1MHz的單頻信號,那么,通過(guò)理論計算可知,信號應在第3號通道有輸出。圖3 (b)所示就是第2、3、4通道的輸出仿真結果,可以看出,僅第3個(gè)通道有比較強的信號輸出,這與理論上的計算結果是一致的。
3 實(shí)現方案
本設計選用的FPGA芯片是Xilinx公司的Virtex-4SX55,該芯片時(shí)鐘資源豐富,算術(shù)運算單元和專(zhuān)用存儲模塊以及可配置邏輯的使用都很靈活,非常適合當前信號處理系統的功能實(shí)現。因此,根據圖2所示的結構,就可以得到一種基于DFT多相濾波器組的信道化解決方案,其具體實(shí)現結構如圖4所示。
圖4所示結構由延時(shí)器、系數存儲器、乘加器和FFT組成。其中延遲器可實(shí)現對輸入數據32個(gè)周期的延時(shí),存儲器用于存儲濾波器系數。下面對該結構中幾個(gè)主要組成模塊的實(shí)現及仿真結果進(jìn)行介紹。
3.1 延時(shí)器的實(shí)現
本延時(shí)器采用FPGA提供的專(zhuān)用存取模塊FIFO來(lái)實(shí)現32周期延時(shí),其架構體系如圖5所示。圖中,每個(gè)延遲單元即是一個(gè)FIFO模塊,FIFO的數據輸出特點(diǎn)為先入先出。在本設計中,第一級延遲器的輸出數據將作為下一個(gè)延遲器的輸入數據,就相當于第一級FIFO的數據按先進(jìn)先出的順序依次向第二級FIFO壓入,相鄰兩級的將滿(mǎn)標志與讀使能信號進(jìn)行握手協(xié)議,從而實(shí)現數據的延遲輸出。這樣,設計8個(gè)同樣結構的FIFO并進(jìn)行串行級聯(lián),即可滿(mǎn)足該結構的設計要求。
3.2 系數存儲模塊
對于256階原型低通濾波器,可以將h(0),h(1),…,h(255)這256個(gè)系數分成八組,每組32個(gè),分別存儲到八個(gè)存儲器當中,存儲器0存儲的系數為:h(0),h(1),…,h(31);存儲器1存儲的系數為:h(32),h(33),…,h(63);以此類(lèi)推。存儲器可使用邏輯(LUT)實(shí)現,也可使用專(zhuān)用存儲模塊Block RAM來(lái)實(shí)現。FIFO中的目標數據和存儲器中系數做乘法運算時(shí),兩者的對應關(guān)系如圖6所示(以7號存儲器為例)。
當8個(gè)數據存儲器的最后一個(gè)單元數據被讀出時(shí),8個(gè)系數存儲器的0號地址單元的系數也將同時(shí)被讀出,然后分別作乘累加,最后作為y(0)輸出。同理,當8個(gè)數據存儲器的第二個(gè)數據被讀出時(shí),8個(gè)系數存儲器的1號地址單元的系數也同時(shí)被讀出,然后分別作乘累加,最后的結果作為y(1)輸出,以此類(lèi)推,得出全部y(2)~y(31)的輸出。最后將y(0)~y(31)作為FFT的輸入數據進(jìn)行32點(diǎn)FFT運算。
3.3 FFT的實(shí)現
設計中的FFT變換可通過(guò)調用Xilinx的IP核來(lái)實(shí)現。FFT采用流水型結構,該結構能夠對連續數據流進(jìn)行處理,只是結果上有若干周期的延遲。FFT核的輸入輸出的引腳關(guān)系如圖7所示。
3.4 仿真結果
FPGA的設計軟件可采用ALDEC公司的Active_HDL8.2,并可用Testbench文件對所設計模塊進(jìn)行仿真。Testbench文件讀取時(shí),可由Matlab產(chǎn)生的信號數據作為FPGA仿真的激勵信號,信號形式采用28.1MHz的單頻信號:
將信號數據送入圖4所構建的系統后,即可在A(yíng)LDEC下得到圖8所示的仿真波形。
由圖8可以看到,該仿真結果在第3號通道上有信號輸出,這與圖3中用Matlab仿真的結果一致,從而驗證該模塊設計的正確性。
4 結束語(yǔ)
本文針對多信道頻率檢測技術(shù)進(jìn)行了研究,并在傳統檢測方法的基礎上,結合FPGA的特點(diǎn),構建了一種基于DFT多相濾波器組信道化的高效結構。該結構可解決頻率截獲概率與頻率分辨力的矛盾,同時(shí)也為實(shí)現全概率頻率捕獲提供一種參考方案。經(jīng)過(guò)仿真及測試驗證,該方案能滿(mǎn)足檢測指標要求,從而為多信道頻率檢測技術(shù)提供一種設計參考。
評論