文獻標識碼: A
文章編號: 0258-7998(2013)03-0074-03
激光陀螺由于具有精度高、動態響應快、壽命長、穩定性好等優點廣泛運用于各類戰術導彈、軍用飛機、航天航海等領域[1]。
激光陀螺信號解調常用的實現方法是用DSP實現。由于解調過程中一般需要高階濾波,雖然DSP運算速度特別快,但是由于濾波是多個串行乘法和加法的組合,當濾波階數較高時,濾波周期很大。由此造成了基于DSP的激光陀螺解調系統速度慢的問題。如果還需要后續的導航算法,系統也只能采用多個DSP芯片分工的辦法來提高系統的工作速度。但這樣做也無法克服濾波器濾波周期大的缺點,同時也增加了系統成本和功耗。因此急需一種高速低功耗同時具備高精度的激光陀螺信號解調系統來替代現有系統。
基于FPGA的激光陀螺信號解調系統將用于陀螺信號解調的所有模塊都集成到FPGA中。由于FPGA的高速并行性和極大的靈活性,解調過程中的各模塊間以及模塊內部實現了真正的并行性,極大地提高了解調的速度。FPGA程序設計中巧妙的時鐘邏輯設計,實現了解調過程中的零丟數。另外FPGA只有在上電配置的過程中有較大電流,而在工作過程中工作電流比DSP小很多,從而此解調系統具有低功耗的優點。因此基于FPGA的激光陀螺信號解調系統將是陀螺解調領域理想的實現方案,而DSP只是配套用來做后續的算法實現。
1 系統程序結構設計
圖1是本系統的FPGA程序框圖。圖中FA、FB是陀螺輸出的正余弦信號經過整形后得到的方波信號,兩路信號進入FPGA后首先進入鑒相模塊,鑒相后得到的兩路數據進入計數模塊后進行可逆計數。可逆計數得到的計數值每隔一段時間再送到濾波器中進行高階濾波,濾波后的結果對應濾波采樣時間內的陀螺凈轉動角度[2]。同時FPGA具有脈沖計數、機抖周期計算及控制AD讀取系統工作參數的功能。FPGA最終將得到的各路數據編幀發送到上位機顯示。如果需要對陀螺解調后的信號進行導航計算,則FPGA將解調后的角速度值發送到DSP進行后續處理。
由于本系統設計的濾波器需要占用大量FPGA資源,因此選用XILINX 公司的 SPARTAN 3E系列的FPGA芯片 XC3S300E,在ISE9.1以后的系統中對于這款芯片具有自帶的FIR濾波器IP核,能減小濾波器設計的工作量。
2 系統關鍵程序設計及分析
2.1 系統時鐘設計
激光陀螺解調需要準確讀入兩路脈沖數,要求不能存在誤計數的情況。因此需要完善的系統時鐘協調各模塊來準確無誤地對輸入數據進行處理。可靈活設計的時鐘系統和對時序的精確控制是FPGA在陀螺解調中的優勢之一。
鑒相需要將輸入的兩路方波信號和主時鐘同步,陀螺輸入兩路方波由于機抖的原因,方波的頻率隨時間成正弦變化[3]。經測量,頻率最大處為2 MHz左右。因此鑒相電路需要引入的主時鐘必須為8 MHz以上,采用15 MHz的主時鐘將兩路信號同步。同步后的方波頻率正好是輸入的4倍頻,如圖2所示。
從圖2可以看出,當SIN超前時,CW有輸出。當COS超前時,CCW有輸出。輸出信號分別為兩路信號的上升和下降沿被同步后的輸出,脈沖寬度正好為一個時鐘周期[4]。由于鑒相后兩路信號輸出的交替性,其交替周期便是機抖周期,因此可以據此來計算陀螺機抖頻率。
2.2 計數器設計
CW和CCW信號已經與主時鐘上升沿同步,脈沖寬度正好是一個主時鐘周期。因此當主時鐘下降沿到來時,CW、CCW一定沒有跳變。據此特性可以利用系統主時鐘的下降沿來作為計數器的工作時鐘,主時鐘下降沿到來時檢測到CW、CCW為高電平時,各自的計數器加1。計數值采樣時鐘為主時鐘的分頻,和主時鐘的上升沿同步,因此當采樣時鐘上升沿到來時,可以保證CW、CCW沒有跳變。這種設計方案使得計數器在計數和取數的過程中都不會發生多一個脈沖或少一個脈沖的現象。圖3是以10 kHz的采樣頻率得到的陀螺脈沖計數的波形圖。
由于陀螺的自轉角速度相對機抖轉動小很多,1 s的時間內也只累加幾個脈沖,因此圖中不能明顯觀察出此轉速的直流偏置量。由于合理的時鐘設計,系統采樣時鐘到來后便對計數器清零,清零的過程中也可以保證不丟脈沖數。采樣清零的方法使得計數器寬度可以較小,且不會有計數器溢出的危險。
2.3 濾波器設計
濾波器定時采樣計數器計數值的采樣頻率可以通過外部撥碼開關選擇5 kHz、10 kHz、20 kHz、50 kHz等4個擋。要想設計一個截止頻率為100 Hz,把計數脈沖高頻段(200 Hz~400 Hz機抖頻率)衰減-80 dB以上的FIR濾波器,經過分析濾波器階數至少需要200階才能滿足要求[5]。通過實驗發現,當用DSP做一個16 bit的200階FIR低通濾波時,用業界最快的浮點DSP TMS320C6713濾波器的采樣頻率最高也只有10 kHz左右,如果再加上其他算法,系統工作的速度會更慢。由于FPGA的高速并行性,使用分布式算法設計高階濾波器,完成一次濾波只需要簡單的幾次查表運算,因此濾波周期也就是幾次查表運算的時間之和,并且對于階數增加,查表時間并沒有明顯變長,實驗發現200階濾波器的采樣頻率理論上可以到達1 MHz以上[6]。此外FIR濾波器的系數可以由Matlab fdatool工具生成[7]。由于FPGA不能直接進行浮點運算,因此需要將浮點數整型化,因此整型化的好壞直接影響濾波精度。通過實驗,在保證系統較低資源利用率的情況下,原始數據需要擴大224倍。Matlab中整型化和系數存儲程序如下:
COE=Num*4194304;
INDA=round(COE);
fid=fopen('fir200.txt','wt');
fprintf(fid,'%d\n',COE);
fclose(fid);
設計完成的濾波器對計數信號進行濾波,濾波結果傳輸到上位機進行繪圖,波形如圖4所示。
從圖中可以看出,濾波結果波動范圍正好為式(2)的計算值。其均值便對應1 s內一定轉速下對應的陀螺輸出值。
3 系統實驗結果
利用本系統和原有系統對國產某型號陀螺進行多次測試并將測試結果進行對比分析。在本系統以10 kHz采樣頻率濾波,原有系統以5 kHz采樣頻率濾波的測試條件下發現,本系統的測試結果明顯優于原有系統,在提高采樣頻率的情況下反而有更大的解調精度。圖6是本系統的測試結果,圖7是原有系統的測試結果。
從以上測試結果中可以看出,本解調系統在提高系統響應速度的前提下,濾波結果波動性反而更小,能夠解調出更微弱的陀螺感知的外界角速度。
本文簡介了基于FPGA的激光陀螺信號解調系統的設計方法,并著重介紹了FPGA算法和陀螺解調的理論基礎。
由于FPGA解調系統較現有DSP解調系統解調速度更快,解調精度更高,加之FPGA本身穩定性和抗干擾能力等都優于DSP,因此基于FPGA的陀螺信號解調系統將在彈道導彈、航天航空等領域具有更大的優勢。
參考文獻
[1] 樊振方,王天武,羅暉.基于軟核處理器的二頻機抖陀螺信號處理系統[J].電子設計工程,2009,17(9):14-16.
[2] 張慶華,謝元平,胡紹民.基于相關濾波技術實現激光陀螺信號抖動的剝除[J].傳感技術學報,2009,22(9):1289-1292.
[3] 高伯龍,李樹棠.激光陀螺[M].長沙:國防科技大學出版社,1984.
[4] 謝元平. 機械抖動激光陀螺鑒相解調與穩頻技術的研究[D].長沙:國防科技大學,2000.
[5] 劉凌.數字信號處理的FPGA實現[M].北京:清華大學出版社,2011.
[6] XILINX.FIR Compiler v3.2.2007.
[7] 孫耀奇,高火濤,熊超,等.基于MATLAB和FPGA的FIR數字濾波器設計與實現[J].現代電子技術,2008(11):89-92.