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