《以FPGA为基础的激光陀螺信号解调系统设计过程详解.docx》由会员分享,可在线阅读,更多相关《以FPGA为基础的激光陀螺信号解调系统设计过程详解.docx(6页珍藏版)》请在第一文库网上搜索。
1、以FPGA为基础的激光陀螺信号解调系统设计过程详解利用咏的高度并行性和对时延的准确控制,设计对激光陀螺信号的高速、精确解调系统。该系统以XI11NXFPGA为硬件核心,通过巧妙的时钟设计和高速高阶滤波设计,很好地实现了对陀螺信号精确鉴相、计数和高速滤波,并协调DSP的后续处理和上位机通信。通过对国产某激光陀螺进行测试发现,本系统解调后得到的陀螺角速度IOS.IOOS的方差都明显优于现有系统的测试结果,系统响应时间也得到极大提高。激光陀螺由于具有精度高、动态响应快、寿命长、稳定性好等优点广泛运用于各类战术导弹、军用飞机、航天航海等领域。激光陀螺信号解调常用的实现方法是用DSP实现。由于解调过程中
2、一般需要高阶滤波,虽然DSP运算速度特别快,但是由于滤波是多个串行乘法和加法的组合,当滤波阶数较高时,滤波周期很大。由此造成了基于DSP的激光陀螺解调系统速度慢的问题。如果还需要后续的导航篁法,系统也只能采用多个DSP型t分工的办法来提高系统的工作速度。但这样做也无法克服滤波器滤波周期大的缺点,同时也增加了系统成本和功耗。因此急需一种高速低功耗同时具备高精度的激光陀螺信号解调系统来替代现有系统。基于FPGA的激光陀螺信号解调系统将用于陀螺信号解调的所有模块都集成到FPGA中。由于FPGA的高速并行性和极大的灵活性,解调过程中的各模块间以及模块内部实现了真正的并行性,极大地提高了解调的速度。FP
3、GA程序设计中巧妙的时钟逻辑设计,实现了解调过程中的零丢数。另外FPGA只有在上电配置的过程中有较大电流,而在工作过程中工作电流比DSP小很多,从而此解调系统具有低功耗的优点。因此基于FPGA的激光陀螺信号解调系统将是陀螺解调领域理想的实现方案,而DSP只是配套用来做后续的算法实现。1系统程序结构设计图1是本系统的FPGA程序框图。图中FA、FB是陀螺输出的正余弦信号经过整形后得到的方波信号,两路信号进入FPGA后首先进入鉴相模块,鉴相后得到的两路数据进入计数模块后进行可逆计数。可逆计数得到的计数值每隔一段时间再送到滤波器中进行高阶滤波,滤波后的结果对应滤波采样时间内的陀螺净转动角度。同时FP
4、GA具有脉冲计数、机抖周期计算及控制型读取系统工作参数的功能。FPGA最终将得到的各路数据编帧发送到上位机显示。如果需要对陀螺解调后的信号进行导航计算,则FPGA将解调后的角速度值发送到DSP进行后续处理。am.%BJ-JA1炳x国RIB更什=1.,K)fcCAXNRONICTECIQ1gI?W1hQCh2AETCorfr图1FpGA程序由于本系统设计的滤波器需要占用大量FPGA资源,因此选用XI11NX公司的SPARTAN3E系列的FPGA芯片XC3S300E,在ISE9.1以后的系统中对于这款芯片具有自带的FIR滤波器IP核,能减小滤波器设计的工作量。2系统关键程序设计及分析2.1系统时钟
5、设计激光陀螺解调需要准确读入两路脉冲数,要求不能存在误计数的情况。因此需要完善的系统时钟协调各模块来准确无误地对输入数据进行处理。可灵活设计的时钟系统和对时序的精确控制是FPGA在陀螺解调中的优势之一。鉴相需要将输入的两路方波信号和主时钟同步,陀螺输入两路方波由于机抖的原因,方波的频率随时间成正弦变化。经测量,频率最大处为2MHz左右。因此鉴相电路需要引入的主时钟必须为8MHZ以上,采用15MHZ的主时钟将两路信号同步。同步后的方波频率正好是输入的4倍频,如图2所示。WWW.ChinaJT1岫OFE印刷C沁HNIQUEm2笈相航后信号波CUUUInnnanRnr1nJUmJmrIRm,ri2i
6、:1大从图2可以看出,当S1N超前时,Cw有输出。当COS超前时,CCW有输出。输出信号分别为两路信号的上升和下降沿被同步后的输出,脉冲宽度正好为一个时钟周期。由于鉴相后两路信号输出的交替性,其交替周期便是机抖周期,因此可以据此来计算陀螺机抖频率。2.2计数器设计CW和CCW信号已经与主时钟上升沿同步,脉冲宽度正好是一个主时钟周期。因此当主时钟下降沿到来时,CW、CCW一定没有跳变。据此特性可以利用系统主时钟的下降沿来作为计数器的工作时钟,主时钟下降沿到来时检测到CW、CCW为高电平时,各自的计数器加1。计数值采样时钟为主时钟的分频,和主时钟的上升沿同步,因此当采样时钟上升沿到来时,可以保证C
7、W、CCW没有跳变。这种设计方案使得计数器在计数和取数的过程中都不会发生多一个脉冲或少一个脉冲的现象。图3是以10kHz的采样频率得到的陀螺脉冲计数的波形图。AAI1f1p,|/IyP1CATIWOFE1ECTRONICTECHNIQUE电巾朋E/神VIIi11y,VIi1J/”.(I/PI丁二*图3计数脉冲数波膨/由于陀螺的自转角速度相对机抖转动小很多,1S的时间内也只累加几个脉冲,因此图中不能明显观察出此转速的直流偏置量。由于合理的时钟设计,系统采样时钟到来后便对计数器清零,清零的过程中也可以保证不丢脉冲数。采样清零的方法使得计数器宽度可以较小,且不会有计数器溢出的危险。2.3滤波器设计滤
8、波器定时采样计数器计数值的采样频率可以通过外部拨码开关选择5kHz、10kHz、20kHz50kHz等4个挡。要想设计一个截止频率为100Hz,把计数脉冲高频段(200Hz400HZ机抖频率)衰减-80dB以上的F1R滤波器,经过分析滤波器阶数至少需要200阶才能满足要求。通过实验发现,当用DSP做一个16bit的200阶FIR低通滤波时,用业界最快的浮点DSPTMS320C6713滤波器的采样频率最高也只有10kHz左右,如果再加上其他算法,系统工作的速度会更慢。由于FPGA的高速并行性,使用分布式算法设计高阶滤波器,完成一次滤波只需要简单的几次查表运算,因此滤波周期也就是几次查表运算的时间
9、之和,并且对于阶数增加,查表时间并没有明显变长,实验发现200阶滤波器的采样频率理论上可以到达1MHz以上。此外FIR滤波器的系数可以由MatIabfdatoo1工具生成。由于FPGA不能直接进行浮点运算,因此需要将浮点数整型化,因此整型化的好坏直接影响滤波精度。通过实验,在保证系统较低资源利用率的情况下,原始数据需要扩大224倍。Mat1ab中整型化和系数存储程序如下:COE=NumM194304;INDA=round(COE);fid=fopen(fir200.txt,Svt,);fprintf(fid,4%dn,COE);fc1ose(fid);设计完成的滤波器对计数信号进行滤波,滤波结
10、果传输到上位机进行绘图,波形如图4所示。由于正弦信号的周期特性,任意一段时间内各点的积分和应该小于等于半周期的枳分和。半周期内滤波器输出结果个数N由式(I)计算:=当滤波器采样频率/为K)k1k,机抖频率4为35()HZ时.半个机抖周期时间内滤波器输出N=I4个滤波结果;因此半个周期内的积分最大S1M由卜式计算:i14SUM0.009sin(ri14)/=0.1,2.-,14(2)i-0得SUM=0.0799.因此滤波结果任意时间长度累加值波动一定小于0.0799需要注意的是.从式(1)、式(2)可以看出,当滤波器采样频率增大时.同阶滤波器输出结果波动将变大,因此当滤波器阶数不变时.解调系统的
11、从图中可以看出,滤波结果波动范围正好为式(2)的计算值。其均值便对应1S内一定转速下对应的陀螺输出值。3系统实验结果利用本系统和原有系统对国产某型号陀螺进行多次测试并将测试结果进行对比分析。在本系统以10kHz采样频率滤波,原有系统以5kHz采样频率滤波的测试条件下发现,本系统的测试结果明显优于原有系统,在提高采样频率的情况下反而有更大的解调精度。图6是本系统的测试结果,图7是原有系统的测试结果。hiIItiwnoIBiMigI图6本解调系统测试结果50tt1620*0BaoftTIMDMwI1enoIr,)EY7图7原有解调系统测果从以上测试结果中可以看出,本解调系统在提高系统响应速度的前提下,滤波结果波动性反而更小,能够解调出更微弱的陀螺感知的外界角速度。本文简介了基于FPGA的激光陀螺信号解调系统的设计方法,并着重介绍了FPGA算法和陀螺解调的理论基础。由于FPGA解调系统较现有DSP解调系统解调速度更快,解调精度更高,加之FPGA本身稳定性和抗干扰能力等都优于DSP,因此基于FPGA的陀螺信号解调系统将在弹道导弹.、航天航空等领域具有更大的优势。