韩亚秋, 贾云飞
(南京理工大学, 机械工程学院, 江苏 南京 210094)
结合CPLD测时的改进互相关算法在红外测速系统中的应用
韩亚秋, 贾云飞
(南京理工大学, 机械工程学院, 江苏 南京 210094)
为了解决直接采用传统互相关算法计算炮弹过靶时间差计算量大而不利于实时测量的问题, 提出了一种结合CPLD的改进的互相关算法计算炮弹穿过两靶的时间差的方法. 在分析炮弹穿过光幕时信号变化过程的基础上, 设计CPLD测时模块测出弹丸过靶的时间差的估计值, 根据CPLD测时结果筛选出参与互相关测时的相应时间段的信号, 再进行互相关分析从而得出炮弹过靶时间差, 计算出速度. 最后通过MATLAB对仿真信号进行分析, 表明采用改进的互相关算法不仅具有较少的计算量且有较高的精度.
CPLD测时; 互相关算法; MATLAB仿真; 红外测速系统; 实时测量
传统的测试弹丸飞行速度的方法是将区截装置和测时仪结合起来, 其原理为测得两个区截装置的间距, 利用测时仪得到弹丸穿过两个区截装置的时间差, 从而计算出弹丸穿过两区截装置中间位置的平均速度[1].
对于一般轻武器的子弹速度测量, 区截装置能很好地捕捉弹丸过靶信号并触发测试仪测时, 目前已经达到0.1%的精度, 但是对于炮弹大直径的弹丸测量, 由于发射过程中有弹头波的影响产生测时仪的误触发, 从而得不到弹丸的实际值, 因此提出了使用互相关算法进行弹丸穿过两个区截装置时间差的计算. 目前而言该方法多采用采集仪采集数据, 然后将数据在MATLAB中进行互相关分析, 但该方法直接将采集到的数据进行互相关算法计算时间差, 需要参与运算的数据量较大, 无法实现实时测量. 因此, 提出了结合CPLD实现一种改进的互相关算法计算, 先利用硬件编程语言设计CPLD测时功能, 由CPLD测时先估计弹丸过靶信号的时间差, 再由CPLD测时结果截取参与互相关运算的数据时间段, 该方法使参与互相关运算的数据量减少从而使计算量大大减少[2].
图 1 基于改进的互相关算法红外测速系统原理示意图Fig.1 Schematic diagram of infrared velocity measurement system based on improved cross-correlation algorithm
基于改进的互相关算法的红外测速系统是双区截装置测速系统的一种实现方式, 我们也常将它称为红外测速靶, 测试原理如图 1 所示. 光幕是由多个红外二极管排成队列形成的, 该光幕具有一定的宽度. 测出其两靶之间的长度L和两个触发信号的时间差Δt, 利用式(1)确定弹丸在BC距离上弹丸的平均速度, 也可以认为是两光幕中间测量点D的瞬时飞行速度[3].
当子弹穿过两靶的红外光幕时, 引起光通量的变化, 光电接收器件感受光通量变化并将其转换为电信号, 分别产生两个触发信号. 信号调理电路实现滤波和放大功能, CPLD测出其弹丸穿过两靶大致时间, 数据采集系统采集弹丸过靶的模拟信号并按照略大于CPLD的测时结果保存采集数据, 最后由主控模块完成采集数据的互相关分析得到最终精确的测时结果.
为了减少互相关算法的计算量, 设计了结合CPLD测时和互相关算法测时相结合的方法. CPLD测时是基于硬件编程语言实现的, 当第一个靶的模拟信号电压达到一定阈值(固定阈值)即触发CPLD计时器开始计时, 第二个靶的信号电压达到固定阈值即停止计时, 然后将测时结果发送给数据分析模块.
理想情况下,设红外测速靶的原理参数基本一致,则当子弹飞过两光幕时引起的波形完全相似, 因此可以通过采用互相关算法得到两个波形之间的关系, 从而得到弹丸过靶时的时间差. 设弹丸穿过Ⅰ靶和Ⅱ靶的信号波形分别为x1(t),x2(t), 则它们的互相关函数为
式中:τ代表相关函数自变量;T为两个信号的脉宽. 通常模拟信号采集下来就成了数字离散信号[4-5]. 则式(2)的离散形式为
(3)
根据相关函数的定义可知, 当τ取不同的值时,Rx1x2(τ)也取不同的值与之对应[6], 而Rx1x2(τ)的最大值时的τ值便是弹丸穿过两靶的时间间隔.
图 2 弹丸穿过两光幕靶的信号示意图Fig.2 Schematic diagram of projectile signal through the two light screens
如图 2 所示为弹丸穿过两靶的信号波形图, 图中第一条为弹丸穿过光幕靶的信号波形, 第二条为穿过光幕靶的信号波形, 假设采集的信号时间长度为0~T0, CPLD测得时间为T1, 那么在CPLD测得时间结果基础上对信号长度进行截取, 保留第一个靶信号对应时间为0~(T0-T1)的信号长度, 第二个靶信号对应T1~T0的信号长度, 将保留相应时间长度的信号作为新的时间序列的信号数据.
由改进的互相关算法可知, 参与运算的数据点大大减少, 使互相关算法计算量减少, 但是它的可靠性, 精度和稳定性需要进一步分析. 采用MATLAB仿真改进的互相关算法的计算结果可以反映其精度.
图 3 较大直径的弹丸过靶信号图Fig.3 The signal of thelarger diameter projectile over the target
图 3 为示波器采集的直径相对较大的弹丸的过靶信号, 从图3中可以看出弹丸过靶时前端有个明显的较小幅值的尖峰, 尖峰常常是弹丸飞行时的弹头波产生的, 由于弹头波会使传统的触发测时仪的光幕靶所测的数据与弹丸的速度有较大差距. 下面通过MATLAB仿真弹丸过靶的信号并运用互相关算法进行计算.
CPLD测时原理为: 当第一通道信号超过一定的幅值就触发计时模块, 第二通道信号超过幅值时停止计时. 在MATLAB仿真时采用固定阈值方法模拟CPLD测时, 取一定的时间差T1, 即当第一通道的仿真波形超过固定阈值(如2 V)后记录该点的时间点; 第二通道的信号也按此方法记录时间点, 二者之差为第一次时间测量的T1; 由于实际两个通道的信号幅值范围不同, 为方便数据处理, 对信号幅值做进一步处理, 设两个通道的最大幅值分别为xmax,ymax, 则每个通道信号随时间变化的幅值x(n),y(n)分别为
图 4 弹丸过靶信号仿真波形及互相关函数结果Fig.4 Simulation waveforms and cross correlation function results of projectile.
从图 4 互相关函数离散图大致看出为300左右的时间单位, 由MARLAB峰值检测得出互相关函数最大值为300. 对比采用改进的互相关算法的仿真结果, 由固定阈值方法得到T1=299, 图 5 所示为采用固定阈值读出时间后截取有效信号的波形图及互相关算法计算结果.
图 5 中截取后的信号波形的数据点为100, 而原始的信号点为1 000, 将参与互相关计算的数据降低了1/10, 其互相关计算的结果在0值附近; 将改进后互相关计算的结果采用二次峰值检索方式检索其峰值点对应的时间点, 第一次检索采用隔点检索, 即检索0,2,4……等偶数序列的数据值, 检索到最大值后前后各取互相关函数离散序列10个数, 进行二次检索, 二次检索逐个检索, 最后检索到最大值, 其检索的结果如图 6 所示, 图6显示二次检索的结果时间差为1, 则总时间差为300, 与理论值相同.
图 5 截取后的波形及互相关函数离散图Fig.5 Waveform after interception and cross correlation function
图 6 互相关二次峰值检索的结果Fig.6 The results of the second peak search
基于MATLAB的仿真结果与理论值如表 1、 表 2 所示, 时间长度以单位时间个数来算, 从仿真结果将二次计算的测时结果与理论值对比发现, 二次计算的结果与理论值结果吻合, 且误差在正负1个时间单位.
表 1 1 000个时间单位的仿真结果对比
表 2 2 000个时间单位的仿真结果对比
结合CPLD测时与互相关算法计算时差的方法经过仿真计算可以看出: 该方法从减少计算点数出发, 能大幅度减少参与互相关运算的数据量, 且仿真结果与理论值吻合, 具有较高的精度; 从实现该方法的角度看, CPLD测时模块实现起来简单, 互相关算法计算量的减少会更利于实现实时测量, 因此该方法对于红外测速系统实现互相关实时测量有重要意义.
[1] 智小军, 倪晋平, 田会, 等. 相关分析技术在光幕靶速度测量中的应用[J]. 探测与控制学报, 2005, 27(1): 44-46. Zhi Xiaojun, Ni Jinping, Tian Hui, et al. Application of cross-correlation analysis techniques in velocity measurement of light screen[J]. Journal of Detection & Control, 2005, 27(1): 44-46. (in Chinese)
[2] 范磊. 基于S3C6410的粒子图像测速技术研究[D]. 南京: 南京理工大学, 2014.
[3] 刘继平. 无线式高精度红外测速系统研究[D]. 南京: 南京理工大学, 2015.
[4] 胡广书. 数字信号处理理论、 算法与实现[M] . 北京: 清华大学出版社, 1997.
[5] 董涛, 倪晋平, 宋玉贵, 等. 高射频武器弹丸连发速度测量系统[J]. 弹道学报, 2010, 22(1): 33-36. Dongtao, Ni JinPing, Song Yugui, et al. Velocity measurement system of high-frequ-ency string-firing bullet[J]. 2010, 22(1): 33-36. (in Chinese)
[6] 陈兴旺. 大口径弹丸光幕靶测速技术[J]. 四川兵工学报, 2012, 33(12): 7-10. Chen Xingwang. Light screen of velocity measurement technology of large caliber projectile[J]. Journal of Sichuan Ordnance, 2012, 33(12): 7-10. (in Chinese)
[7] 赵萍, 刘洪利. 一种基于速度检测的快速互相关算法[J]. 信息技术, 2010, 10(3): 5-7-10. Zhao Ping, Liu Hongli. A fast algorithm for cross-correlation based on velocity measureing[J]. Information Technology, 2010, 10(3): 5-7-10. (in Chinese)
Research on the Application of Improved Cross Correlation Algorithm in Combined with CPLD Time Measurement in Infrared Velocity Measurement System
HAN Yaqiu, JIA Yunfei
(College of Mechanical Engineering, Nanjing University of Science and Technology, Jiangsu 210094, China)
Thetraditional cross-correlation algorithm has a large amount of computation in calculating time difference of projectile passing through two targets,it is not conducive to real-time measurement.In order to solve the problem, an improved cross correlation algorithm combinedwith CPLD time measurement was proposed to calculate the time difference.Based on the analysis of thesignal changes of the projectile passing through the targets,the estimated value of the time difference was measured by the CPLD test module.It was proposed that the cross correlation analysis the effective signals after screening based on the the estimated valueto obtain the time difference of the projectile, and then calculating speed.Finally, through the analysis of the MATLAB simulation signal, it shows that the improved algorithm has less computation and higher precision.
CPLD measurement; cross correlation algorithm; MATLAB simulation; infrared velocity measurement system; real-time measurement
1671-7449(2017)01-0029-05
2016-10-15
韩亚秋(1990-), 女, 硕士生, 主要从事嵌入式智能仪器设备开发, 武器外弹道测试技术等研究.
TH89
A
10.3969/j.issn.1671-7449.2017.01.005