|
電模數(shù)轉(zhuǎn)換的性能很大程度上受限于電時鐘的抖動水平,但光子學(xué)技術(shù)具有寬帶寬、高精度等特點,目前超短光脈沖的抖動已達到10fs左右,具有顯著提高模數(shù)轉(zhuǎn)換性能的潛力。因此,光模數(shù)轉(zhuǎn)換具有巨大的應(yīng)用前景。但由于通道的不一致性,以及光采樣的非線性等,需要一定的算法進行校正和恢復(fù)。光模數(shù)轉(zhuǎn)換系統(tǒng)在對各個通道信號進行數(shù)據(jù)采樣時不可避免地帶有隨機誤差,有時甚至帶有顯著誤差。數(shù)據(jù)校正技術(shù)利用數(shù)據(jù)的冗余性,剔除原始數(shù)據(jù)中的顯著誤差,對數(shù)據(jù)進行校正以降低隨機誤差對測量值的影響并提取通道特征值,根據(jù)信號相關(guān)性推導(dǎo)得出的信號重構(gòu)表達式進行失配校正,保證了數(shù)據(jù)的有效性。為滿足實時性應(yīng)用的需求,需要實時完成后端數(shù)據(jù)的校正處理。由于高速PADC后端采集的是高速大容量的多通道并行數(shù)據(jù)流,如何提高后端數(shù)據(jù)校正算法實現(xiàn)的實時性成為其關(guān)鍵之一。 FPGA具有強大的計算能力,能夠高速并實時處理大規(guī)模的數(shù)據(jù)量,本文研究在FPGA上實現(xiàn)數(shù)據(jù)校正恢復(fù)算法、提高后端處理性能的方案,其中包括獲取各個信號通道之間的失配量,進而修正通道間的不一致性,完成光模數(shù)轉(zhuǎn)換中光采樣系統(tǒng)后端數(shù)據(jù)處理模塊。 1 數(shù)據(jù)校正的原理及方法 相位編碼的光模數(shù)轉(zhuǎn)換系統(tǒng)結(jié)構(gòu)如圖1所示。鎖模激光器(Mode-Locked Laser,MLL)經(jīng)過時間波長交織采樣時鐘生成模塊,產(chǎn)生高速的光采樣時鐘。信號通過波分復(fù)用(WDM)模塊馬赫-曾德(MACH-ZENHNDER)調(diào)制器輸出到由兩個WDM端口(A端口和B端口)組成的雙端口信號輸入源。光采樣時鐘通過電光調(diào)制器(EOM)對RF信號進行采樣。采樣之后的光脈沖再通過WDM解復(fù)用成多路單波長光信號,每一路經(jīng)過光電探測器(PD),轉(zhuǎn)化為電信號,再由電子模數(shù)轉(zhuǎn)換器(ADC)轉(zhuǎn)換成數(shù)字信號。多路數(shù)字信號在信號重構(gòu)模塊進行數(shù)據(jù)校正、復(fù)合和儲存。 圖1 光模數(shù)轉(zhuǎn)換系統(tǒng)結(jié)構(gòu)圖 校正時,系統(tǒng)中輸入幅度為A、頻率為ω、相位為φ的正弦信號,端口A、B第i個通道的采樣信號輸出可表示為式(1)及式(2)。 其中,O為偏置,G為增益,Pi為第i通道的光功率,C為與調(diào)制器相關(guān)的一個參數(shù)。 對A、B端口做頻域變換處理,由于輸入信號為已知正弦信號,因此利用快速傅立葉變換可以提取出偏置O以及增益G,根據(jù)此特征參數(shù),可以去除第i個通道采樣信號中的偏置、增益和時延差,得到信號表達式如式(3)及式(4)所示。 進而通過差分運算可得: 使用搜索法,當(dāng)差分后的信號Souti的SFDR(無雜散動態(tài)范圍)最大時找到最優(yōu)的處理參數(shù)C。 在獲取到校正所需的偏置、增益以及調(diào)制器相關(guān)參數(shù)C之后,在后續(xù)的測試中,用其對各個通道的數(shù)據(jù)進行校正,就可以恢復(fù)出被采樣的信號。 根據(jù)上述原理,校正具體流程,如圖2所示:給予系統(tǒng)一個已知頻率正弦信號;對同一波長的差分信號對進行FFT(快速傅立葉變換)提取并校正增益、偏置和相位失配量;利用校正后的差分信號進行差分運算,并找到最優(yōu)的反余弦運算參數(shù);根據(jù)得到的失配量還原出各通道的原始采樣信號;步驟2-4得到了所有通道的失配參數(shù),在接下來的實時信號重構(gòu)時用來校正。 圖2 信號校正流程 2 信號重構(gòu)模塊設(shè)計與實現(xiàn) 在數(shù)據(jù)校正算法中,存在著大量浮點數(shù)的運算,這導(dǎo)致了通過Verilog語言直接在FPGA上實現(xiàn)算法存在許多障礙和困難。因此使用Xilinx提供的System Generator中間層作為算法到FPGA工程的轉(zhuǎn)換。首先,使用System Generator提供的Simulink模塊搭建起Simulink工程,將由MATLAB實現(xiàn)的數(shù)據(jù)校正算法在Simulink上加以實現(xiàn)。直接通過System Generator編譯生成Xilinx的FPGA工程。從而實現(xiàn)可在FPGA上運行的數(shù)據(jù)校正算法,算法實現(xiàn)的過程如圖3所示。 圖3 算法實現(xiàn)架構(gòu)圖 實驗采用MATLAB配合Xilinx System Generator for DSP進行了算法實現(xiàn)與測試。在實驗測試中,以式(1)和(2)作為模型,產(chǎn)生測試信號作為數(shù)據(jù)源。首先使用System Generator中的RAM模塊存儲輸入數(shù)據(jù)。使用數(shù)學(xué)運算模塊(AddSub Block、Multi Block、Divide Block等)構(gòu)建特征參數(shù)提取表達式,由于其中加減乘除不同模塊的運算時延不同,在實際實現(xiàn)中,需要將中間計算數(shù)據(jù)存儲在RAM中,實現(xiàn)數(shù)據(jù)同步。由于需要獲得偏置O及增益G,通過System Generator中提供的快速傅立葉變換FFT模塊對信號進行頻域變換處理,分別提取出信號在指定頻率處的偏置和增益。根據(jù)獲得的特征參數(shù),搭建System Generator處理模塊,包括數(shù)學(xué)運算模塊、存儲模塊、時延模塊和流程控制模塊,通過迭代去除A、B端口的偏置、增益和時延差。再將校正后的信號進行差分運算,進而使用搜索法尋找最優(yōu)的反余弦處理參數(shù)。其中反余弦處理是通過查表法構(gòu)造反余弦鍵值映射表得到。根據(jù)得到的三個失配量,搭建數(shù)據(jù)恢復(fù)模塊,最終得到校正恢復(fù)后的信號數(shù)據(jù)。 3 結(jié)果與討論 在Xilinx FPGA Virtex-ML605的開發(fā)板上進行了實驗測試。測試中,輸入標(biāo)準(zhǔn)正弦信號的頻率為250MHz,SystemGenerator仿真設(shè)定的時鐘周期也為250MHz。圖4是幅度、偏置和相位特征參數(shù)提取的實驗結(jié)果。由圖可見,五次實驗運算中,MATLAB和System Generator的算法仿真提取的三個特征參數(shù)的平均誤差率均在1%以內(nèi)。 圖4 幅度、偏置和相位特征參數(shù)提取的實驗結(jié)果仿真數(shù)據(jù) 圖5 System Generator和MATLAB恢復(fù)的數(shù)據(jù)與原始信號的比較 圖5給出了采用MATLAB與SystemGenerator仿真恢復(fù)校正后的信號與原始被采樣信號的比較。由實驗結(jié)果比較可以看出,使用MATLAB進行校正處理恢復(fù)的信號與原信號的偏差均值小于2%,而使用SystemGenerator數(shù)據(jù)校正后的信號與原信號的偏差均值小于2.5%。二種實現(xiàn)方案的偏差相差很小。偏差主要來源于以下因素: (1)在整個Simulink數(shù)據(jù)流中存有大量的數(shù)據(jù)截取和補長,并且各條路的時延不同,其中同步問題也帶來一定的誤差,從而導(dǎo)致數(shù)據(jù)精度的流失。 (2)Xilinx提供的FFT模塊中數(shù)據(jù)的輸出數(shù)據(jù)包含了一定數(shù)據(jù)精度的誤差。 通過System Generator將Simulink搭建的算法模塊進行翻譯,生成ISE工程文件,并將其進行編譯燒入到FPGA開發(fā)板中,進行協(xié)仿真,在30ms后算法達到收斂,經(jīng)驗證FPGA最后的恢復(fù)數(shù)據(jù)與System Generator中的仿真數(shù)據(jù)結(jié)果相一致。 4 結(jié)語 本文給出了一種基于FPGA實現(xiàn)光模數(shù)轉(zhuǎn)換系統(tǒng)數(shù)據(jù)校正處理算法的方案。在方案中,由于數(shù)據(jù)校正算法的復(fù)雜性,提出了應(yīng)用Xilinx的System Generator中間層,將大量的浮點數(shù)的數(shù)學(xué)運算轉(zhuǎn)化成FPGA可運行的邏輯電路,并將算法在FPGA上進行仿真和實現(xiàn)。測試結(jié)果表明:用在FPGA上實現(xiàn)的算法恢復(fù)的信號與原被采樣信號偏差均值小于2.5%,論證了該基于FPGA的實現(xiàn)方案的可行性。 |