田 晶
(長春職業(yè)技術(shù)學(xué)院信息技術(shù)學(xué)院,長春130000)
光譜儀是用于光譜分析的重要測試設(shè)備,其中,傅里葉變換光譜儀由于能夠同時對多波段光譜進(jìn)行測試而被廣泛應(yīng)用[1]。在傅里葉變換光譜儀中,最常見的處理方式是對干涉條紋進(jìn)行快速傅里葉變換(fast Fourier transform,F(xiàn)FT)[2-4],再光譜復(fù)原最終獲得待測光的光譜信息。這個過程中需要對干涉條紋進(jìn)行均勻采樣,同時,針對多光譜的同時獲取也需要均勻采樣。這樣就存在一定的弊端,因為對于某些光程調(diào)制具有非線性,采用均勻采樣會造成誤差。
國內(nèi)外對非均勻FFT算法的研究一直很關(guān)注,非均勻FFT算法最早是由BROUW在1975年提出的,當(dāng)時主要用于解決非均勻頻域采樣形成直角坐標(biāo)網(wǎng)格的問題[5]。1993年,DUTT首次將非均勻插值技術(shù)應(yīng)用于離散傅里葉變換(discrete Fourier transform,DFT)算法從而形成了非均勻離散傅里葉變換(non-uniform discrete Fourier transform,NUDFT)算法,由此實現(xiàn)了對加權(quán)復(fù)指數(shù)函數(shù)的近似表達(dá)[6]。2010年,ROSSI等人通過奇異值分解的方式對非均勻FFT算法進(jìn)行了二次劃分,提高了數(shù)據(jù)反演的穩(wěn)定性[7]。2012年,LI等人將自回歸模型算法引入光譜復(fù)原,并與傳統(tǒng)FFT算法比較,獲得了更高的光譜分辨率[8]。2016年,南京理工大學(xué)學(xué)者提出了一種矩陣反演算法,并通過非均勻采樣的形式完成了對光譜數(shù)據(jù)的復(fù)原[9]。
對于多光譜獲取而言,不同波段需要的采樣密度也是由實際需求所決定的,采用傳統(tǒng)的FFT只能有一個均勻的采樣率,采集過密會導(dǎo)致數(shù)據(jù)量大,影響實時性,采集過稀則導(dǎo)致部分光譜波段反演精度下降。為了克服此問題,本文中提出了將非均勻FFT算法引入多光譜數(shù)據(jù)復(fù)原的計算中,提高系統(tǒng)針對多光譜譜段實時采集與處理的能力。系統(tǒng)利用非均勻快速傅里葉變換(non-uniform fast Fourier transform,NUFFT)算法[10-12]對具有目標(biāo)特征波段進(jìn)行分類采樣,從而在保證采樣精度的條件下提高系統(tǒng)工作速率。
多光譜數(shù)據(jù)同步采集與處理系統(tǒng)如圖1所示。系統(tǒng)由光學(xué)接收與干涉模塊、光電探測器、模數(shù)轉(zhuǎn)換器(analog-to-digital converter,ADC)、現(xiàn)場可編程門陣列(field-programmable gate array,F(xiàn)PGA)控制模塊、數(shù)據(jù)信號處理器(digital signal processor,DSP)模塊及顯示單元構(gòu)成。
Fig.1 Multispectral data synchronous acquisition and processing system
首先,光學(xué)接收完成對入射光的整形與準(zhǔn)直,干涉模塊完成對入射光的相干處理,從而形成干涉條紋。然后,干涉條紋由電荷耦合器件(charge coupled device,CCD)采集,進(jìn)入FPGA數(shù)據(jù)存儲單元。FPGA控制模塊完成對多光譜數(shù)據(jù)的同步匹配,其與DSP數(shù)據(jù)處理模塊進(jìn)行數(shù)據(jù)交互。DSP數(shù)據(jù)處理模塊完成NUFFT算法對多光譜譜段進(jìn)行分段采樣提取,并將處理數(shù)據(jù)傳輸給顯示單元。顯示單元的輸出速率與數(shù)據(jù)量由FPGA控制[13-18]。因為多光譜數(shù)據(jù)量大,需要同時控制數(shù)據(jù)時序邏輯順序與完成相應(yīng)的運算需要較高得數(shù)據(jù)處理能力,所以在本系統(tǒng)中,多光譜數(shù)據(jù)的控制由FPGA實現(xiàn),NUFFT算法由 DSP實現(xiàn),從而形成FPGA+DSP架構(gòu)。通過FPGA和DSP的聯(lián)用,可以更大地發(fā)揮不同數(shù)字處理芯片對數(shù)據(jù)的處理能效,從而提高系統(tǒng)的整體工作效率。系統(tǒng)采用FPGA+DSP架構(gòu),通過FPGA完成ADC數(shù)據(jù)轉(zhuǎn)換與采集,再由DSP的外部存儲器接口(external memory interface,EMIF)完成導(dǎo)入,最終,在DSP中通過NUFFT算法對多光譜數(shù)據(jù)進(jìn)行反演。
為了實現(xiàn)多光譜數(shù)據(jù)同步快速處理的功能,設(shè)計了利用FPGA完成同步控制,利用DSP完成NUFFT數(shù)據(jù)處理的FPGA+DSP混合架構(gòu),該架構(gòu)的組成如圖2所示。
Fig.2 Data processingmodule based on FPGA+DSP hybrid architecture
系統(tǒng)核心處理部分由FPGA+DSP組成,ADC采集得到的光譜數(shù)據(jù)通過FPGA的先入先出接口(first input first output,F(xiàn)IFO)采集進(jìn)入同步動態(tài)隨機(jī)存取內(nèi)存 (synchronous dynamic random-access memory,SDRAM)、雙倍速率(double data rate,DDR)、閃存(flash memory,F(xiàn)LASH),其中,WFIFO表示寫入接口;RFIFO表示讀出接口。再通過同步時鐘的讀FIFO進(jìn)入DSP,由DSP完成光譜數(shù)據(jù)反演的數(shù)據(jù)處理。因為采集獲得的光譜數(shù)據(jù)為浮點型數(shù)據(jù),所以選用了TMS320C6748型 DSP。該款 DSP主頻456MHz,是一款高性能浮點型信息處理器,包括8組32位并行處理單元,非常適合多光譜數(shù)據(jù)高速并行處理。其主控芯片采用哈佛結(jié)構(gòu),支持單周期多指令功能,并且其包括了豐富的外設(shè),如外EMIF、通用型之輸入輸出(general-purpose input/output,GPIO)、通用定時器、主機(jī)并行接口(host port interface,HPI)等。
由于多光譜數(shù)據(jù)中的中心波長位置及干涉條紋周期均不同,而經(jīng)典FFT算法[19-20]只能對等間隔采樣數(shù)據(jù)進(jìn)行處理,所以采用NUFFT實現(xiàn)非均勻采樣,可減小由于輸入數(shù)據(jù)插值造成的誤差,并且可大幅縮短系統(tǒng)運算時間。非均勻干涉數(shù)據(jù)反演也可以理解成采用一組均勻傅里葉變換系數(shù)組合做近似的方式實現(xiàn)。尋求 xk-q/2(k=0,…,q)滿足:
式中,m≥2,ω=exp[-i2π/(mN)],[mc]為與 mc最接近的整數(shù),c為采樣點采集得到的數(shù)值,q為正偶數(shù),v為非均勻采樣點,Sj(j=-N/2,-N/2+1,…,N/2-1)為窗函數(shù)。在本系統(tǒng)中,針對多光譜數(shù)據(jù)進(jìn)行采集與分析,數(shù)據(jù)在頻域中表現(xiàn)為具有緊支撐性。故采用高斯窗函數(shù),有:
式中,b為常數(shù)參量,μ為窗函數(shù)調(diào)節(jié)參量,μ∈(0,1),將(1)式以矩陣形式表達(dá):
式中,A為等效(1)式的相應(yīng)矩陣,x(c)為干涉信號數(shù)據(jù),ν(c)為干涉條紋數(shù)據(jù)矩陣。由于(1)式是超定方程組,不存在精確解,所以采用最小二乘法計算,獲得x(c)的最小二乘解有:
式中,a(c)=AHν(c),F(xiàn)(m,N,q)=AHA(H代表共軛轉(zhuǎn)置)。由上式推導(dǎo)可知,NUFFT的步驟為:(1)利用(3)式計算每個ωk(第k個ω,與(1)式中ω為同一變量)的展開系數(shù)xj(ωk);(2)計算傅里葉系數(shù)xj(ωk);(3)通過FFT計算將以上兩步的值乘以比例系數(shù),從而近似的非均勻FFT有:=。
根據(jù)NUFFT的實現(xiàn)步驟,再結(jié)合FPGA控制獲取的光譜數(shù)據(jù),F(xiàn)PGA通過產(chǎn)生同步驅(qū)動時鐘對多光譜數(shù)據(jù)進(jìn)行同步采集。在模塊中設(shè)計了只讀存儲器(read-onlymemory,ROM)與計數(shù)器,ROM用于保存時鐘管理芯片對應(yīng)額匹配碼,在上電復(fù)位后由計數(shù)器完成對時間段的讀取,數(shù)據(jù)處理采用NUFFT算法實現(xiàn)。若 CCD獲取的 N點干涉信號是 x(t),x′(t)是 x(t)被插值以后的新數(shù)據(jù)組,f(c)是核函數(shù),t表示時間,則對光譜反演的算法流程如圖3所示。
Fig.3 Flow chart of NUFFT algorithm
FPGA控制AD7492完車對干涉條紋數(shù)據(jù)進(jìn)行采集,在CONVST(AD7492芯片上的轉(zhuǎn)換開始控制端)信號下降沿時轉(zhuǎn)換,BUSY(AD7492芯片上的忙信號輸出端)信號置高,再通過 CS(chip select,AD7492芯片上的片選引腳)和RD(讀取)信號完成AD數(shù)據(jù)的輸出。系統(tǒng)通過CONVST的下降沿信號觸發(fā)轉(zhuǎn)換,轉(zhuǎn)換結(jié)束后將數(shù)據(jù)保存到隨機(jī)存取存儲器(random accessmemory,RAM)中,然后進(jìn)行下一個數(shù)據(jù)的采集?;贛odelsim的仿真結(jié)果如圖4所示。
Fig.4 Simulation results of high-speed acquisition drive based on AD7492
FPGA的控制主要是針對“寫”信號控制(即引腳SLWR)和FIFO數(shù)據(jù)信號而言的,令其滿足異步讀寫時序關(guān)系,在每個周期內(nèi)需將SLWR信號翻轉(zhuǎn)一次。數(shù)據(jù)通過雙口RAM讀取,讀地址隨時鐘增加自加一,然后在該信號的上升沿和下降沿均進(jìn)行翻轉(zhuǎn)處理,從而保證異步傳輸時序邏輯關(guān)系,其Modelsim中的仿真結(jié)果如圖5所示。
Fig.5 FPGA control signal simulation results
由圖4和圖5中的仿真分析結(jié)果可知,由FPGA控制AD7492完成干涉條紋數(shù)據(jù)的高速采集以及對數(shù)據(jù)異步傳輸實現(xiàn)了控制。
完成時序邏輯控制的干涉條紋數(shù)字信號可以通過EMIF接口進(jìn)入DSP,然后進(jìn)行光譜復(fù)原的數(shù)據(jù)處理。在代碼調(diào)試器(code composer studio,CCS)環(huán)境中,632nm激光的干涉條紋與復(fù)原光譜的仿真結(jié)果如圖6所示。
Fig.6 Spectrum recovery operation simulation resultsa—interference fringes b—recovery spectra
由圖6a和圖6b可知,干涉條紋經(jīng)FPGA采集傳輸給DSP后,光譜復(fù)原由DSP實現(xiàn),仿真分析過程采用的是單特征波長的復(fù)現(xiàn),當(dāng)針對多特征波長時,需要引入NUFFT算法。
Fig.7 Experimental system physicalmap
實驗裝置由含多特征光譜的寬帶光源、干涉模塊、TVD3724型CCD、高速ADC采集模塊、FPGA+DSP處理模塊組成(Virtex-2型 FPGA與 TMS320C6748型DSP配合)。多特征激光器波長分別為632nm,880nm和980nm,整體實物如圖7所示。
為了實現(xiàn)多光譜數(shù)據(jù)同步采集與處理的要求,實驗中針對3個激光同時入射形成的混合干涉條紋進(jìn)行解析處理?;贒SP的光譜處理結(jié)果如圖8a所示,針對同一混合光源采集得到的光譜數(shù)據(jù)采用Advantest公司的Q8344A型光譜儀進(jìn)行對比,結(jié)果如圖8b所示。
Fig.8 FPGA+DSPmodule and spectrometer recurring spectrum comparison a—recurrence results of the system b—spectrometer reproduction results
本系統(tǒng)與光譜儀復(fù)現(xiàn)結(jié)果對比可知,本系統(tǒng)中由于采用了NUFFT算法,對于不同特征光譜的干涉條紋實施了分區(qū)采樣與插值,所以復(fù)現(xiàn)后的特征光譜分布更清晰,旁瓣抑制效果十分明顯,并且中心波長位置處信噪比更大。復(fù)現(xiàn)光譜的主要參量對比見表1。
Table1 Comparison ofmain parameters
通過表1中光譜復(fù)現(xiàn)主要參量可知,兩種方式的中心波長準(zhǔn)確度相近,光譜儀略優(yōu)于本系統(tǒng)。而對于信噪比而言,本系統(tǒng)在3個特征波長位置上均明顯優(yōu)于對比用的光譜儀。由此可見,針對多光譜數(shù)據(jù)進(jìn)行分段插值,再進(jìn)行NUFFT處理,可以有效地提高光譜復(fù)現(xiàn)的精度。
針對多光譜數(shù)據(jù)處理時,同步采集與控制和非均勻采樣對復(fù)現(xiàn)光譜造成的影響進(jìn)行了深入地分析與研究,并在此基礎(chǔ)上設(shè)計了干涉條紋數(shù)據(jù)處理中處理效果與處理速度之間的矛盾問題,設(shè)計了一種基于FPGA+DSP的同步采集與處理系統(tǒng)。該系統(tǒng)通過FPGA完成對高速ADC的同步控制,再由EMIF接口將數(shù)據(jù)導(dǎo)入DSP處理模塊,在DSP中利用NUFFT算法將不同特征波長的干涉條紋數(shù)據(jù)進(jìn)行分段采樣與插值,通過標(biāo)準(zhǔn)化初始輸入信號抑制噪聲干擾,通過流水線工作方式提高光譜復(fù)原效率,最后,通過仿真與實驗驗證了系統(tǒng)的可行性,證明了其在多光譜快速處理方面具有一定的應(yīng)用價值。