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