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