0 引言
在各類光譜測試中,對光譜數據采集的速度都有不同的要求,故提高光譜數據采集速度的技術主要有以下兩大方向:一是通過光學方法實現,將傳統時間掃描改成空間成像,由此可大幅提高干涉條紋采集速度[1];二是通過數據采集算法實現[2],利用高效算法完成數據快速運算。對于靜態干涉系統而言,靜態干涉條紋的采集是直接獲取圖像實現的,不需要機械掃描,所以大幅提高了速度。其將待測光以靜態干涉條紋的方式成像在CCD上,由此空域到頻域完成了光譜分布的計算[3-6]。可見制約干涉系統數據處理能力的主要是系統硬件部分和處理算法的優劣。
FPGA作為基于硬件編程的數據處理芯片,在眾多光譜數據處理方面具有顯著的特點與優勢[7-10]。因為FPGA處理速度快、功耗低,所以被廣泛用于信號處理等。靜態光譜數據的運算與處理耗時最多的是傅氏變換運算部分,其包括了乘法運算和轉移匹配處理,故使用FPGA完成可盡量保障系統的運算實時性。通過FPGA設計完成對芯片資源利用率的最優化,這樣可以在不降低運算速度的前提下最大程度地節約成本。
為了將靜態干涉條紋的空域信息通過算法轉換為頻域信息,本文研究了適用于FPGA的干涉條紋數據采集與處理系統,該系統速度快、穩定性高,具有高效性、穩定性的特點[11-12]。相比之下,FPGA比Xilinx更快,資源利用率更高。將本系統與MATLAB仿真結果進行對比可知,本系統光譜數據計算效果更好、誤差更小,具有更好的應用前景。
1 系統設計
光譜數據采集與處理系統如圖1所示。首先,光學接收模塊采集入射光,經準直后進入靜態干涉棱鏡中,產生靜態干涉條紋,再通過CCD傳感器完成對干涉條紋的采集。CCD的采集速度由FPGA決定,保證采集與系統運算的同步性,當干涉條紋數據進入FPGA處理模塊后,完成對初始光的光譜重建。由傅氏變換關系可知,入射光的兩束分束光通過準直透鏡以后被分離,從而形成干涉過程需要的兩束光,這兩束光最后匯聚到了一起,因為不同的光程差而形成干涉條紋。FPGA對干涉條紋采集并處理,包括濾波、降噪、FFT、光譜位置標定等,最終實現將頻域信息轉換成光譜信息。
FPGA的運算速度快,適合光譜的快速計算,FPGA內部邏輯設計十分重要,其決定了系統是否能夠高效地完成數據采集與處理。FPGA的運算數據處理部分主要對空域信息進行解算,從而實現對頻域信息的計算,是提高其運算處理能力的主要手段。FPGA的數據處理需要從控制CCD探測器開始,對數據的高效計算包括干涉條紋采集、數據傅氏變換、光譜位置標定等,通過以上思路完成了對FPGA硬件模塊結構的設計,如圖2所示。
整個光譜數據采集與處理系統可以分為三個部分:數據采集區、數據處理區和數據顯示單元。(1)數據采集區,該區域通過驅動控制電路使CCD探測器將干涉條紋傳輸給存儲器,存儲器采用雙口RAM設計,以便實現數據的高速輸入與輸出,將實部與虛部分開發送給FFT運算器;(2)數據處理區,該區域將數據中實部和虛部分別進行數據蝶形運算,再對蝶形運算結果進行乘法混合,為了進一步提高系統處理能力,與雙端口RAM進行更好的配合,采用了并行數據輸入輸出的形式完成,光譜位置的標定通過Square root模塊實現,大大提升了系統的處理能力;(3)數據顯示單元,該單元將處理完成的數據通過預先設定的接口完成數據的輸出與顯示。
2 采集接口設計及仿真
為了實現快速獲取光頻譜信息,需要干涉條紋的采集速度大于處理速度,同時,還需要將采樣數據與處理數據進行匹配。可見,在實現FFT過程中,需要提高數據的傳輸速率。在本系統中,數據處理模塊為了保障FFT運算過程的連續性,系統數據傳輸速率設置為3.0 MHz(讀)和1.5 MHz(寫)。由此可見,讀寫采用異步RAM實現,數據深度均為10位。輸入采用“addra”和“addrb”、時鐘采用“clka”和“clkb”、數據輸出采用“doutb”實現。則其異步存儲模塊的仿真結果如圖3所示。
在光譜數據采集模塊中,采用TOSHIBA公司的TVD-2712型CCD傳感器,位深設置可選8 bit、10 bit、12 bit,位深越深對應的光譜量化誤差越小,但是其數據總量越大,所以通過不同位深的仿真計算,可以優化位深的選擇,從而確定系統數據轉換位深設置。當處理系統的位深采用10 bit時,時鐘頻率為150 MHz,則CCD圖像傳感器的最高采集頻率可以達到10 MHz,由此可見,設計20分頻的系統分頻結構具有較好的匹配效果。首先,利用Verilog觸發系統控制端,形成驅動信號控制,然后在Modelsim6.0中仿真,仿真結果如圖3所示。根據仿真結果可知,設計的時序邏輯關系與擬采用的CCD邏輯時序是一致的,系統構成的讀寫異步RAM可完成系統光譜數據的采集與處理,對靜態干涉條紋的采集、傳輸、處理具有高效性。
3 處理模塊設計及仿真
光譜數據處理采用Virtex 2-Pro型嵌入式處理芯片實現,流水線處理模式,位深選擇10 bit,FFT在FPGA的IP核中實現,輸入采用“xn_im”和“xn_re”,起始信號為“start”,輸出信號采用“xk_im”、“xk_re”、“xk_index”、“xk_index”完成實部虛部信息的輸出。運算流程為基-2時間型。FPGA的時序關系仿真結果如圖4所示。
在該運算器中,通過兩個輔助的RAM可以實現對變換結果的存儲,利用RAM減小對提高FPGA資源使用效率,進而提升系統的處理能力。系統由兩個硬件乘法器、四個儲存器完成了光譜數據的蝶形運算與光譜位置標定,同時,該方法還有效地提高了系統的數據處理速率,在100.0 MHz的工作基頻下,實現1 024點FFT僅需33 μs。同時,還在仿真中對不同位深數據進行了測試,仿真結果表明,位深主要影響系統的處理速度,8 bit速度最快,12 bit速度最慢,但8 bit的反演結果波長振幅降低,信噪比低;10 bit與12 bit的振幅和信噪比相近,但12 bit運算時長明顯增加,為了保證反演的實時性,最終選用10 bit,在下面的實驗中將進行進一步對比。
4 實驗
4.1 實驗條件
整個系統由激光光源、CCD傳感器、干涉棱鏡、高速數據采集卡、FPGA開發板組成,計算機完成在片編譯及仿真分析;激光器的中心波長是980 nm,提供穩定的待測激光;干涉棱鏡采用兩個直角棱鏡的組合,其中一個存在等效斜契角0.10°;示波器采集控制信號;TVD2712型CCD傳感器采集靜態干涉條紋,該CCD的光譜范圍為320~1 100 nm,單個像元尺寸為8 μm×8 μm。系統整體結構如圖5所示。
4.2 位深對比實驗
在仿真分析后,通過構建硬件測試系統完成對中心波長980 nm激光的光譜復原。在測試前,設定了合適的位深格式數據,再實現對光譜數據的測試。實驗對數據的位深是調試后選定的,針對8 bit、10 bit和12 bit的測試數據結果可知,不同位深測試得到的中心波長處振幅不同,實現時間不同,測試結果如圖6所示。
位深檔位不同時,從8 bit調整為12 bit時,經傅氏變換后的中心波長處主峰振幅不斷增大,信噪比更高,但變化過程逐漸趨緩;當位深增大時,測試得到的中心波長位置不變,半寬也沒有明顯變化;同時,當位深增大時,運算時間卻明顯提升,系統總體運算時間從約1 200個機器周期增至5 200個機器周期。可見,單純通過提高位深不會改變中心波長位置和半寬,但其可以使光譜振幅得到提高,從而提升信噪比。但代價是系統的運算時間進一步增長,不利于系統的實時處理。所以位深的設置需要綜合考慮,系統最終采用10 bit的位深,同時保證系統一定的信噪比和處理速度。
4.3 頻譜對比實驗
在位深測試完成的基礎上,分別對兩種不同處理方式同時針對980 nm進行對比分析,分析系統光譜復原處理效果,與傳統的MATLAB軟件光譜反演方法進行對比。系統獲得的靜態干涉條紋如圖7(a)所示,通過FPGA復原得到的實部與虛部數據如圖7(b)所示,通過MATLAB復原得到的實部與虛部數據如圖7(c)所示。
如圖7所示,圖7(a)表示由干涉棱鏡獲得的靜態干涉條紋,該干涉條紋由FPGA采集并傳輸到采集卡,再通過傳輸接口完成與電腦的數據交互。圖7(b)和圖7(c)是對同一組光譜數據的復原結果,FPGA與MATLAB的光譜反演中心波長位置相同,誤差小于0.2 nm;但FPGA獲得的振幅峰峰值要略優于MATLAB,因為其疊加效果更為明顯;FPGA獲得的數據噪聲均值不如MATLAB的測試數據;10 bit位深條件下FPGA的整個數據處理周期為55 μs,而MATLAB的整個數據處理周期為610 μs,可見,采用本系統與傳統處理算法上光譜反演效果基本一致,而在處理速度上得到了大幅提高,說明系統設計符合設計要求。
5 結論
針對干涉條紋數據處理中處理效果與處理速度之間的矛盾問題,設計了一種基于FPGA的快速靜態光譜復原系統。設計了FPGA的采集與處理硬件模塊,通過FPGA實時控制CCD傳感器快速獲取干涉條紋,再經處理模塊完成蝶形運算與光譜位置標定等。通過對采集、處理部分的設計與仿真,通過時序邏輯關系結果驗證了本系統的可行性。在對比了不同位深對系統復原效果的基礎上,選擇了10 bit的工作模式,并與MATLAB測試數據比較驗證了本系統的精度與特性,說明其具有較好的應用前景。
參考文獻
[1] MANZARDO O,HERZIG H P,CULDIMANN B,et al.New design for an integrated Fourier transform spectrometer[C].Proceeding of SPIE,2000,4178:310-319.
[2] 周志娟,張玉貴,樊奔。基于FPGA的干涉信號雙ADC采集系統設計[J]。電子測量技術,2016,12(4):123-128.
[3] KAZUMASA T,HIROTAKA A,KATSUNARI O.Correction for phase-shift deviation in a complex Fourier transform integrated-optic spatial heterodyne spectrometer with an active phase-shift scheme[J].Optics Letters,2011,36(7):1044-1046.
[4] 李巖,徐金甫。基于新型FPGA的FFT設計與實現[J]。計算機工程與應用,2007,43(14):102-104.
[5] Li Xiao,Zhang Jilong,Tian Erming.Passive laser spectrum detection technology based on static interferometer[C].2008 International Conference of Optical Instrument and Technology,Proceedings.of SPIE,2008,7160:11-15.
[6] ALESSANDRO R,MARCO D,GIOVANNI C.Bilateral filter-based adaptive non-uniformity correction for infrared focal-plane array systems[J].Optical Engineering,2010,49(5):057003.
[7] 賀剛,柏鵬,彭衛東,等。一種基于IP核通信系統中滑動相關捕獲算法的FPGA實現[J]。江西師范大學學報(自然科學版),2011,35(2):151-154.
[8] 陳珂,劉學聰,羅先衛,等.32通道光纖陣列式高靈敏飛秒激光光譜分析儀[J]。光電子·激光,2015,26(1):116-119.
[9] 郭嘉,盧啟鵬,高洪智,等。基于FPGA的無創傷血液成分光譜采集系統設計[J]。光譜學與光譜分析,2016,36(9):2991-2996.
[10] 呂默,陳晨,王一丁。用于中紅外痕量氣體檢測的光電信號高速采集系統設計[J]。激光雜志,2016,37(2):26-29.
[11] MILES A J,WIEN F,LEES J G.Calibration and stand-ardization of synchrotron radiation and conventional circular dichroism spectrometers.Part 2:Factors affecting magnitude and wavelength[J].Spectroscopy-AN International Journal,2005,19(1):43-51.
[12] 張多利,沈休壘,宋宇鯤,等。基于異構多核可編程系統的大點FFT卷積設計與實現[J]。電子技術應用,2017,43(3):16-20.
評論