文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.181292
中文引用格式: 田晶. 基于FPGA的快速靜態(tài)光譜復原系統(tǒng)研究[J].電子技術應用,2018,44(11):37-40.
英文引用格式: Tian Jing. Design and implementation of high-speed spectrum data processing system based on FPGA[J]. Application of Electronic Technique,2018,44(11):37-40.
0 引言
在各類光譜測試中,對光譜數(shù)據(jù)采集的速度都有不同的要求,故提高光譜數(shù)據(jù)采集速度的技術主要有以下兩大方向:一是通過光學方法實現(xiàn),將傳統(tǒng)時間掃描改成空間成像,由此可大幅提高干涉條紋采集速度[1];二是通過數(shù)據(jù)采集算法實現(xiàn)[2],利用高效算法完成數(shù)據(jù)快速運算。對于靜態(tài)干涉系統(tǒng)而言,靜態(tài)干涉條紋的采集是直接獲取圖像實現(xiàn)的,不需要機械掃描,所以大幅提高了速度。其將待測光以靜態(tài)干涉條紋的方式成像在CCD上,由此空域到頻域完成了光譜分布的計算[3-6]??梢娭萍s干涉系統(tǒng)數(shù)據(jù)處理能力的主要是系統(tǒng)硬件部分和處理算法的優(yōu)劣。
FPGA作為基于硬件編程的數(shù)據(jù)處理芯片,在眾多光譜數(shù)據(jù)處理方面具有顯著的特點與優(yōu)勢[7-10]。因為FPGA處理速度快、功耗低,所以被廣泛用于信號處理等。靜態(tài)光譜數(shù)據(jù)的運算與處理耗時最多的是傅氏變換運算部分,其包括了乘法運算和轉(zhuǎn)移匹配處理,故使用FPGA完成可盡量保障系統(tǒng)的運算實時性。通過FPGA設計完成對芯片資源利用率的最優(yōu)化,這樣可以在不降低運算速度的前提下最大程度地節(jié)約成本。
為了將靜態(tài)干涉條紋的空域信息通過算法轉(zhuǎn)換為頻域信息,本文研究了適用于FPGA的干涉條紋數(shù)據(jù)采集與處理系統(tǒng),該系統(tǒng)速度快、穩(wěn)定性高,具有高效性、穩(wěn)定性的特點[11-12]。相比之下,F(xiàn)PGA比Xilinx更快,資源利用率更高。將本系統(tǒng)與MATLAB仿真結(jié)果進行對比可知,本系統(tǒng)光譜數(shù)據(jù)計算效果更好、誤差更小,具有更好的應用前景。
1 系統(tǒng)設計
光譜數(shù)據(jù)采集與處理系統(tǒng)如圖1所示。首先,光學接收模塊采集入射光,經(jīng)準直后進入靜態(tài)干涉棱鏡中,產(chǎn)生靜態(tài)干涉條紋,再通過CCD傳感器完成對干涉條紋的采集。CCD的采集速度由FPGA決定,保證采集與系統(tǒng)運算的同步性,當干涉條紋數(shù)據(jù)進入FPGA處理模塊后,完成對初始光的光譜重建。由傅氏變換關系可知,入射光的兩束分束光通過準直透鏡以后被分離,從而形成干涉過程需要的兩束光,這兩束光最后匯聚到了一起,因為不同的光程差而形成干涉條紋。FPGA對干涉條紋采集并處理,包括濾波、降噪、FFT、光譜位置標定等,最終實現(xiàn)將頻域信息轉(zhuǎn)換成光譜信息。
FPGA的運算速度快,適合光譜的快速計算,F(xiàn)PGA內(nèi)部邏輯設計十分重要,其決定了系統(tǒng)是否能夠高效地完成數(shù)據(jù)采集與處理。FPGA的運算數(shù)據(jù)處理部分主要對空域信息進行解算,從而實現(xiàn)對頻域信息的計算,是提高其運算處理能力的主要手段。FPGA的數(shù)據(jù)處理需要從控制CCD探測器開始,對數(shù)據(jù)的高效計算包括干涉條紋采集、數(shù)據(jù)傅氏變換、光譜位置標定等,通過以上思路完成了對FPGA硬件模塊結(jié)構的設計,如圖2所示。
整個光譜數(shù)據(jù)采集與處理系統(tǒng)可以分為三個部分:數(shù)據(jù)采集區(qū)、數(shù)據(jù)處理區(qū)和數(shù)據(jù)顯示單元。(1)數(shù)據(jù)采集區(qū),該區(qū)域通過驅(qū)動控制電路使CCD探測器將干涉條紋傳輸給存儲器,存儲器采用雙口RAM設計,以便實現(xiàn)數(shù)據(jù)的高速輸入與輸出,將實部與虛部分開發(fā)送給FFT運算器;(2)數(shù)據(jù)處理區(qū),該區(qū)域?qū)?shù)據(jù)中實部和虛部分別進行數(shù)據(jù)蝶形運算,再對蝶形運算結(jié)果進行乘法混合,為了進一步提高系統(tǒng)處理能力,與雙端口RAM進行更好的配合,采用了并行數(shù)據(jù)輸入輸出的形式完成,光譜位置的標定通過Square root模塊實現(xiàn),大大提升了系統(tǒng)的處理能力;(3)數(shù)據(jù)顯示單元,該單元將處理完成的數(shù)據(jù)通過預先設定的接口完成數(shù)據(jù)的輸出與顯示。
2 采集接口設計及仿真
為了實現(xiàn)快速獲取光頻譜信息,需要干涉條紋的采集速度大于處理速度,同時,還需要將采樣數(shù)據(jù)與處理數(shù)據(jù)進行匹配。可見,在實現(xiàn)FFT過程中,需要提高數(shù)據(jù)的傳輸速率。在本系統(tǒng)中,數(shù)據(jù)處理模塊為了保障FFT運算過程的連續(xù)性,系統(tǒng)數(shù)據(jù)傳輸速率設置為3.0 MHz(讀)和1.5 MHz(寫)。由此可見,讀寫采用異步RAM實現(xiàn),數(shù)據(jù)深度均為10位。輸入采用“addra”和“addrb”、時鐘采用“clka”和“clkb”、數(shù)據(jù)輸出采用“doutb”實現(xiàn)。則其異步存儲模塊的仿真結(jié)果如圖3所示。
在光譜數(shù)據(jù)采集模塊中,采用TOSHIBA公司的TVD-2712型CCD傳感器,位深設置可選8 bit、10 bit、12 bit,位深越深對應的光譜量化誤差越小,但是其數(shù)據(jù)總量越大,所以通過不同位深的仿真計算,可以優(yōu)化位深的選擇,從而確定系統(tǒng)數(shù)據(jù)轉(zhuǎn)換位深設置。當處理系統(tǒng)的位深采用10 bit時,時鐘頻率為150 MHz,則CCD圖像傳感器的最高采集頻率可以達到10 MHz,由此可見,設計20分頻的系統(tǒng)分頻結(jié)構具有較好的匹配效果。首先,利用Verilog觸發(fā)系統(tǒng)控制端,形成驅(qū)動信號控制,然后在Modelsim6.0中仿真,仿真結(jié)果如圖3所示。根據(jù)仿真結(jié)果可知,設計的時序邏輯關系與擬采用的CCD邏輯時序是一致的,系統(tǒng)構成的讀寫異步RAM可完成系統(tǒng)光譜數(shù)據(jù)的采集與處理,對靜態(tài)干涉條紋的采集、傳輸、處理具有高效性。
3 處理模塊設計及仿真
光譜數(shù)據(jù)處理采用Virtex 2-Pro型嵌入式處理芯片實現(xiàn),流水線處理模式,位深選擇10 bit,F(xiàn)FT在FPGA的IP核中實現(xiàn),輸入采用“xn_im”和“xn_re”,起始信號為“start”,輸出信號采用“xk_im”、“xk_re”、“xk_index”、“xk_index”完成實部虛部信息的輸出。運算流程為基-2時間型。FPGA的時序關系仿真結(jié)果如圖4所示。
在該運算器中,通過兩個輔助的RAM可以實現(xiàn)對變換結(jié)果的存儲,利用RAM減小對提高FPGA資源使用效率,進而提升系統(tǒng)的處理能力。系統(tǒng)由兩個硬件乘法器、四個儲存器完成了光譜數(shù)據(jù)的蝶形運算與光譜位置標定,同時,該方法還有效地提高了系統(tǒng)的數(shù)據(jù)處理速率,在100.0 MHz的工作基頻下,實現(xiàn)1 024點FFT僅需33 μs。同時,還在仿真中對不同位深數(shù)據(jù)進行了測試,仿真結(jié)果表明,位深主要影響系統(tǒng)的處理速度,8 bit速度最快,12 bit速度最慢,但8 bit的反演結(jié)果波長振幅降低,信噪比低;10 bit與12 bit的振幅和信噪比相近,但12 bit運算時長明顯增加,為了保證反演的實時性,最終選用10 bit,在下面的實驗中將進行進一步對比。
4 實驗
4.1 實驗條件
整個系統(tǒng)由激光光源、CCD傳感器、干涉棱鏡、高速數(shù)據(jù)采集卡、FPGA開發(fā)板組成,計算機完成在片編譯及仿真分析;激光器的中心波長是980 nm,提供穩(wěn)定的待測激光;干涉棱鏡采用兩個直角棱鏡的組合,其中一個存在等效斜契角0.10°;示波器采集控制信號;TVD2712型CCD傳感器采集靜態(tài)干涉條紋,該CCD的光譜范圍為320~1 100 nm,單個像元尺寸為8 μm×8 μm。系統(tǒng)整體結(jié)構如圖5所示。
4.2 位深對比實驗
在仿真分析后,通過構建硬件測試系統(tǒng)完成對中心波長980 nm激光的光譜復原。在測試前,設定了合適的位深格式數(shù)據(jù),再實現(xiàn)對光譜數(shù)據(jù)的測試。實驗對數(shù)據(jù)的位深是調(diào)試后選定的,針對8 bit、10 bit和12 bit的測試數(shù)據(jù)結(jié)果可知,不同位深測試得到的中心波長處振幅不同,實現(xiàn)時間不同,測試結(jié)果如圖6所示。
位深檔位不同時,從8 bit調(diào)整為12 bit時,經(jīng)傅氏變換后的中心波長處主峰振幅不斷增大,信噪比更高,但變化過程逐漸趨緩;當位深增大時,測試得到的中心波長位置不變,半寬也沒有明顯變化;同時,當位深增大時,運算時間卻明顯提升,系統(tǒng)總體運算時間從約1 200個機器周期增至5 200個機器周期??梢?,單純通過提高位深不會改變中心波長位置和半寬,但其可以使光譜振幅得到提高,從而提升信噪比。但代價是系統(tǒng)的運算時間進一步增長,不利于系統(tǒng)的實時處理。所以位深的設置需要綜合考慮,系統(tǒng)最終采用10 bit的位深,同時保證系統(tǒng)一定的信噪比和處理速度。
4.3 頻譜對比實驗
在位深測試完成的基礎上,分別對兩種不同處理方式同時針對980 nm進行對比分析,分析系統(tǒng)光譜復原處理效果,與傳統(tǒng)的MATLAB軟件光譜反演方法進行對比。系統(tǒng)獲得的靜態(tài)干涉條紋如圖7(a)所示,通過FPGA復原得到的實部與虛部數(shù)據(jù)如圖7(b)所示,通過MATLAB復原得到的實部與虛部數(shù)據(jù)如圖7(c)所示。
如圖7所示,圖7(a)表示由干涉棱鏡獲得的靜態(tài)干涉條紋,該干涉條紋由FPGA采集并傳輸?shù)讲杉?,再通過傳輸接口完成與電腦的數(shù)據(jù)交互。圖7(b)和圖7(c)是對同一組光譜數(shù)據(jù)的復原結(jié)果,F(xiàn)PGA與MATLAB的光譜反演中心波長位置相同,誤差小于0.2 nm;但FPGA獲得的振幅峰峰值要略優(yōu)于MATLAB,因為其疊加效果更為明顯;FPGA獲得的數(shù)據(jù)噪聲均值不如MATLAB的測試數(shù)據(jù);10 bit位深條件下FPGA的整個數(shù)據(jù)處理周期為55 μs,而MATLAB的整個數(shù)據(jù)處理周期為610 μs,可見,采用本系統(tǒng)與傳統(tǒng)處理算法上光譜反演效果基本一致,而在處理速度上得到了大幅提高,說明系統(tǒng)設計符合設計要求。
5 結(jié)論
針對干涉條紋數(shù)據(jù)處理中處理效果與處理速度之間的矛盾問題,設計了一種基于FPGA的快速靜態(tài)光譜復原系統(tǒng)。設計了FPGA的采集與處理硬件模塊,通過FPGA實時控制CCD傳感器快速獲取干涉條紋,再經(jīng)處理模塊完成蝶形運算與光譜位置標定等。通過對采集、處理部分的設計與仿真,通過時序邏輯關系結(jié)果驗證了本系統(tǒng)的可行性。在對比了不同位深對系統(tǒng)復原效果的基礎上,選擇了10 bit的工作模式,并與MATLAB測試數(shù)據(jù)比較驗證了本系統(tǒng)的精度與特性,說明其具有較好的應用前景。
參考文獻
[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采集系統(tǒng)設計[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設計與實現(xiàn)[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] 賀剛,柏鵬,彭衛(wèi)東,等.一種基于IP核通信系統(tǒng)中滑動相關捕獲算法的FPGA實現(xiàn)[J].江西師范大學學報(自然科學版),2011,35(2):151-154.
[8] 陳珂,劉學聰,羅先衛(wèi),等.32通道光纖陣列式高靈敏飛秒激光光譜分析儀[J].光電子·激光,2015,26(1):116-119.
[9] 郭嘉,盧啟鵬,高洪智,等.基于FPGA的無創(chuàng)傷血液成分光譜采集系統(tǒng)設計[J].光譜學與光譜分析,2016,36(9):2991-2996.
[10] 呂默,陳晨,王一丁.用于中紅外痕量氣體檢測的光電信號高速采集系統(tǒng)設計[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] 張多利,沈休壘,宋宇鯤,等.基于異構多核可編程系統(tǒng)的大點FFT卷積設計與實現(xiàn)[J].電子技術應用,2017,43(3):16-20.
作者信息:
田 晶
(長春職業(yè)技術學院,吉林 長春130000)