劉東亮, John Ford, Glen Langston, 南仁東
(1.中國科學院國家天文臺, 北京 100012;2.美國國立射電天文臺(NRAO))
現(xiàn)有的射電天文儀器是高度專業(yè)化的,是按照個人應(yīng)用的需求而被定制、綜合而專門研制的。因此儀器一般都需要3~5年的設(shè)計、施工與調(diào)試周期,在可以被交付使用時,按照電子業(yè)的摩爾定律儀器已處于被淘汰的階段。針對這些弊端,以美國加州大學伯克利分校為主的CASPER項目組通過結(jié)合現(xiàn)代工業(yè)界硬件的發(fā)展與開發(fā)通用的天文信號處理程序庫,大大縮短了射電天文儀器的研發(fā)周期,提高了使用效率,從而更好地滿足新一代射電天文對高性能實時數(shù)字信號處理的要求。在國外,如GBT,Arecibo,艾倫望遠鏡陣列(ATA)[1],毫米波天線陣(CARMA),ERO陣列和SKA陣等都已經(jīng)采用和計劃采用CASPER項目的IBOB與BEE2[2]以及下一代數(shù)字后端系統(tǒng);在國內(nèi),香港大學[3]和烏魯木齊天文站[4]等也已經(jīng)廣泛開展基于通用平臺的射電望遠鏡數(shù)字頻譜儀系統(tǒng)的研究工作。
IBOB是一種基于Xilinx Virtex-Ⅱ Pro 2VP50 FPGA的數(shù)字信號處理系統(tǒng)[5]。它擁有兩個Z-DOK接口,可以接駁多種I/O板(包括雙路1GSa/s的采樣卡或者四路250MSa/s的模數(shù),數(shù)模轉(zhuǎn)換卡)。在射電天文學方面的應(yīng)用主要為高速采樣量化信號,頻帶調(diào)制,多相濾波,傅里葉變換和對數(shù)字信號的高速傳輸(通過兩個10Gb網(wǎng)絡(luò)端口(CX4)將數(shù)據(jù)以UDP包形式輸出),輸出端可接駁BEE2系統(tǒng)、交換機和高速網(wǎng)卡等[6]。綜合以上特點,采用IBOB平臺設(shè)計寬帶數(shù)字頻譜儀系統(tǒng)。
1.1 數(shù)字頻譜儀系統(tǒng)的基本原理
數(shù)字頻譜儀系統(tǒng)的主要任務(wù)是將天線接收并已調(diào)制到基頻的寬帶信號采樣、量化(編碼)之后通過多相濾波器組將寬帶信號分解為一定時頻分辨率的窄帶信號,重新排序后將這些信號傳輸給數(shù)據(jù)處理和記錄系統(tǒng)。基于IBOB平臺的數(shù)字頻譜儀系統(tǒng)如圖1,系統(tǒng)由3部分構(gòu)成:采樣,濾波,數(shù)據(jù)封裝和傳輸子系統(tǒng)。采樣系統(tǒng)采用Atmel/e2v(AT84AD001B)的雙路1Gsps模數(shù)轉(zhuǎn)換芯片,在interleave模式下可以實現(xiàn)單路2Gsps采樣速率。濾波系統(tǒng)主要由多相FIR和FFT構(gòu)成,F(xiàn)FT變換后的子通道數(shù)據(jù)依次按8bit實部和虛部排列構(gòu)成64bit數(shù)據(jù)帶寬,經(jīng)過數(shù)據(jù)流調(diào)整后傳輸?shù)?個10Gb傳輸端口進行交替UDP數(shù)據(jù)封裝。在高速采樣模式下(interleave模式),由于傳輸系統(tǒng)需要2個全局時鐘周期來完成一次UDP封裝(參考Xilinx手冊),所以在輸入帶寬大于400MHz且單個10Gb傳輸端口輸出,或輸入帶寬大于800MHz且使用雙傳輸端口輸出時,需要引入累加器壓縮數(shù)據(jù)后再傳輸。2個10Gb網(wǎng)絡(luò)端口可以依次傳輸按照不同目標IP地址發(fā)送UDP包,通過交換機或者直接連接10Gb網(wǎng)卡,實現(xiàn)數(shù)據(jù)的傳輸。
1.2 雙路400MHz,2028通道,16IP輸出數(shù)字頻譜儀系統(tǒng)的具體設(shè)計
在Simulink平臺下,調(diào)用Xilinx System Generator函數(shù)庫和CASPER與BEE2函數(shù)庫[7],依次連接ADC、PFB和FFT模塊,ADC模塊的時鐘頻率為800MHz(400MHz的奈奎斯特帶寬),ADC 4路同步輸出,因此全局時鐘為1/4的ADC頻率,200MHz;PFB和FFT模塊中設(shè)置大小為211=2048通道輸出,之后連接實部虛部的分離模塊和系數(shù)量化模塊(圖2),將FFT輸出的無符號18bit按比特位選擇其中的8bit(圖3),并將輸出合并為64bit的總數(shù)據(jù)鏈路[8]。
圖2 FFT系數(shù)量化模塊Fig.2 Module for quantifying FFT coefficients
圖3 比特選擇模塊Fig.3 Module for bit-value selection
如果直接將64bit總數(shù)據(jù)鏈路輸入到傳輸模塊,則無法控制每個IP數(shù)據(jù)包中對應(yīng)的頻譜信息,因此引入數(shù)據(jù)流調(diào)整模塊(Corner Turner),此模塊的功能為順序輸入數(shù)據(jù),按預(yù)存次序輸出。將2048通道對應(yīng)分配到16個IP中,每個IP接收對應(yīng)的128個通道,具體的數(shù)據(jù)流信息如表1。通過數(shù)據(jù)流調(diào)整模塊和IP數(shù)量的對應(yīng)控制,可以實現(xiàn)對信號頻譜的任意目標分配,非常靈活。
將排好序的數(shù)據(jù)傳輸?shù)?0Gb網(wǎng)絡(luò)接口模塊進行UDP封裝與傳輸。10Gb傳輸端口的工作方式為64bit數(shù)據(jù)鏈路,200MHz全局時鐘下,每隔一個周期傳輸一次數(shù)據(jù)包,最大封裝值為1100×64bit。設(shè)計中使用2個10Gb傳輸端口交替工作,將tx_Valid設(shè)置為每32個時鐘周期置高,并且在tx_Valid最后一個時鐘周期tx_end_of_frame置高,從而完成一次UDP封裝和傳輸。
對應(yīng)的IP選擇可以有兩種方式。其一如圖4所示為依次選擇16個寄存器,需要在系統(tǒng)配置時在TinyShell配置目標IP地址;另一種方式可以選擇用BRAM來存儲目標地址,然后按照時鐘依次選擇目標地址。第二種方式在FPGA寄存器使用上比第一種降低2%[7]。
表1 數(shù)據(jù)流調(diào)整模塊Table 1 Corner turner block module
圖4 10GbE模塊與比特選擇模塊Fig.4 Modules of 10GbE and bit-value selection
為了得到精確的時間標記,使用ARM和1PPS來設(shè)置和控制全局時鐘,這部分模塊提供了重置計數(shù)功能,精度為1個時鐘周期。在數(shù)據(jù)記錄端,為方便后續(xù)處理,嵌入了計數(shù)單位的UDP數(shù)據(jù)包給出精確數(shù)據(jù)時間標識。在硬件連接上,根據(jù)要求選擇不同精度的時鐘來同步系統(tǒng),設(shè)計中使用NTP (網(wǎng)絡(luò)時鐘協(xié)議)來同步,精度為毫秒單位,通過觸發(fā)reg_arm寄存器來同步IBOB。
1.3 數(shù)字頻譜儀系統(tǒng)的軟件配置
數(shù)字頻譜儀系統(tǒng)的軟件配置主要有兩類:(1)濾波器數(shù)據(jù)設(shè)置;(2)鏈接設(shè)置。
這個設(shè)計的所有配置在基于Linux的片上系統(tǒng)—TinyShell下完成,TinyShell作為一個簡單的telnet終端,在系統(tǒng)編譯的過程中以C代碼形式嵌入到IBOB的FPGA中。在濾波器數(shù)據(jù)設(shè)置中,需要設(shè)置同步脈沖(SyncPulse)的初始化周期, FFT位移,F(xiàn)FT輸出系數(shù),比特位選擇。在鏈接設(shè)置中,需要設(shè)置10GbE接口,包括UDP端口,目的IP與MAC地址,IBOB的源IP和MAC地址[8]。
在計算機端,連接并設(shè)置好1Gb網(wǎng)卡與交換機后,開始接收和記錄數(shù)據(jù)。接收軟件可以使用GULP(一個將數(shù)據(jù)接受并存儲的通用網(wǎng)絡(luò)接口程序),在實驗階段使用基于python的網(wǎng)絡(luò)接口程序來接收解包數(shù)據(jù)。
表2 設(shè)計總表Table 2 Design summary
為了驗證設(shè)計方案的可行性, 對寬帶數(shù)字頻譜儀系統(tǒng)的性能進行實際測試。
2.1 測試結(jié)果
設(shè)計中為了減少FFT處理過程的頻譜泄漏, 添加了窗函數(shù)對信號進行截斷處理,使用基于漢寧窗的多相濾波器組實現(xiàn)。
圖5所示分別為128階的矩形窗、漢寧窗和海明窗的比較。漢寧窗的主瓣要比同階的矩形窗寬,與海明窗相當,旁瓣最大泄漏為-42dB,矩形窗為-23db,漢寧窗為-52db。漢寧窗旁瓣隨其階數(shù)的增加以-5.5dB/個的速度衰減,為最快;海明窗與矩形窗則都以-1.5dB/個的速度下降。除此之外還測試了凱澤窗和布萊克曼窗,從各種窗函數(shù)的特性看,布萊克曼窗旁瓣的衰減最大,但計算最為復(fù)雜。海明窗的旁瓣衰減略比漢寧窗大,但是隨旁瓣增加其衰減很慢。因此實際信號分析中常常選用漢寧窗,只要選擇恰當?shù)碾A數(shù),使用漢寧窗截斷的時候,頻譜泄漏可以更小,這樣就可以有效改善FFT輸出的頻率響應(yīng),抑制頻譜泄露。
加入多相濾波器組后的FFT輸出旁瓣抑制達到近-70db較之FFT輸出的-30db旁瓣[10],使得旁帶干擾大大降低。
測試部分采用虛擬脈沖輸入,在經(jīng)過寬帶數(shù)字頻譜儀系統(tǒng)后,由計算機中記錄原始數(shù)據(jù)。圖6為原疊加信號在ADC量化后的數(shù)據(jù)值,圖中顯示為加入了窄帶脈沖信號的白噪聲能量譜。圖7為寬帶數(shù)字頻譜儀系統(tǒng)后的數(shù)據(jù)值,使用Matlab對原始數(shù)據(jù)下采樣后繪制頻譜圖。從圖7中可以看出經(jīng)過寬帶數(shù)字頻譜儀器后,頻譜圖出現(xiàn)了明顯的窄帶脈沖,其他為信號發(fā)生器的噪聲,說明頻譜儀工作良好。
圖5 漢寧窗,海明窗,矩形窗函數(shù)響應(yīng)比較Fig.5 Comparisons of the response functions of the Hann,Hamming,and Rectangular windows
圖6 ADC采樣序列Fig.6 A sampling sequence of the ADC
圖7 寬帶數(shù)字濾波器輸出頻譜圖Fig.7 Output spectrum of the spectrometer
2.2 數(shù)字頻譜儀器設(shè)備穩(wěn)定性以及對后端系統(tǒng)的影響
作為接收機后端系統(tǒng)的前端設(shè)備,寬帶濾波器主要工作是將信號做初步處理后傳送到計算機集群、磁盤陣列等設(shè)備上,因此高速實時地處理寬帶信號不僅是對濾波器設(shè)備的要求與挑戰(zhàn),也是對整個后端系統(tǒng)更高效更經(jīng)濟的要求。同時由于天文觀測經(jīng)常需要設(shè)備持續(xù)工作短至幾分鐘,長達幾天,因此數(shù)字頻譜儀器的抗干擾和穩(wěn)定性也影響后端設(shè)備的運作。
出于實時性考慮,IBOB板載的FPGA最大可以運行在200MHz,可以實時處理單路帶寬為1G(2Gsps采樣率,8bit精度)的寬帶信號,使用IBOB陣列則可以累加更大帶寬。出于穩(wěn)定性考慮,IBOB系統(tǒng)采用低噪供電系統(tǒng)與封閉式設(shè)計,有效避免了干擾,在試驗階段,連續(xù)運行系統(tǒng)24小時后,系統(tǒng)沒有報錯中斷與重啟動作,對系統(tǒng)做第二次性能測試,對照兩次圖譜顯示誤差率低于量化精度,因此該系統(tǒng)可以保證觀測在一定時間內(nèi)持續(xù)運行。
通過對基于IBOB的射電望遠鏡寬帶數(shù)字頻譜儀系統(tǒng)的分析和測試,達到了在實際應(yīng)用中需要的設(shè)計要求; 對比驗證了加窗后的FFT處理有效降低了通道間的頻譜泄露,初步討論和測試了數(shù)字頻譜儀對后端系統(tǒng)的影響,穩(wěn)定高速的實時寬帶數(shù)字頻譜儀系統(tǒng)可以提高整個數(shù)據(jù)接收系統(tǒng)的信號傳輸性能;最后對系統(tǒng)進行了上電測試,驗證了設(shè)計方案的可行性和可靠性。要在射電望遠鏡系統(tǒng)中實際應(yīng)用,還需要在現(xiàn)有初步研究的基礎(chǔ)上進行更進一步的系統(tǒng)分析和測試,尤其是特殊環(huán)境的可靠性測試。
[1] Aaron Pavsons,Don Backer,Don werthimer,et al.A New Approach to Radio Astronomy Signal Processing[C]//General Assembly of the International Union of Radio Science,October 2005.
[2] C Chang, J Wawrzynek, R Brodersen.BEE2: A high-end reconfigurable computing system[J]. IEEE Design and Test of Comput,2005,22(2):114-125.
[3] Hayden kwok-Hoy So,Artem Tkachenko,Robert Brodersen.A Unified Hardware/Software Runtime Environment for FPGA-Based Reconfigurable Computers using BORPH[J]. ACM Transactions on Embedded Computing Systems, 2008,7(2): 567-570.
[4] 劉立勇,艾力·伊沙木丁,張晉.烏魯木齊天文站建立脈沖星相干消色散觀測系統(tǒng)[J].天文研究與技術(shù)-國家天文臺臺刊, 2007, 4(1):72-78.
[5] Parsons A,Backer D,Siemion A,et al.A Scalable Correlator Architecture Based on Modular FPGA Hardware and Data Packetization[J]. PASP , 120(873): 1207-1221.
[6] A Parsons,D Backer,C Chang,et.al.PetaOp/Second FPGA Signal Processing for SETI and Radio Astronomy[J]. Proc, 10th Asilomar Conference on Signals,Systems and Computers,Paci_c Grove, CA, November 2006.
[7] http://casper.berkeley.edu/wiki/index.php/Libraries
[8] P L McMahon. Adventures in Radio Astronomy Instrumentation and Signal Processing. M.D. Thesis, University of Cape Town. July 2008.
[9] http://casper.berkeley.edu/wiki/ADC2x1000-8
[10] http://seti.ssl.berkeley.edu/galfa/signalproc/pfb.html