韓亞秋, 賈云飛
(南京理工大學(xué), 機(jī)械工程學(xué)院, 江蘇 南京 210094)
結(jié)合CPLD測(cè)時(shí)的改進(jìn)互相關(guān)算法在紅外測(cè)速系統(tǒng)中的應(yīng)用
韓亞秋, 賈云飛
(南京理工大學(xué), 機(jī)械工程學(xué)院, 江蘇 南京 210094)
為了解決直接采用傳統(tǒng)互相關(guān)算法計(jì)算炮彈過靶時(shí)間差計(jì)算量大而不利于實(shí)時(shí)測(cè)量的問題, 提出了一種結(jié)合CPLD的改進(jìn)的互相關(guān)算法計(jì)算炮彈穿過兩靶的時(shí)間差的方法. 在分析炮彈穿過光幕時(shí)信號(hào)變化過程的基礎(chǔ)上, 設(shè)計(jì)CPLD測(cè)時(shí)模塊測(cè)出彈丸過靶的時(shí)間差的估計(jì)值, 根據(jù)CPLD測(cè)時(shí)結(jié)果篩選出參與互相關(guān)測(cè)時(shí)的相應(yīng)時(shí)間段的信號(hào), 再進(jìn)行互相關(guān)分析從而得出炮彈過靶時(shí)間差, 計(jì)算出速度. 最后通過MATLAB對(duì)仿真信號(hào)進(jìn)行分析, 表明采用改進(jìn)的互相關(guān)算法不僅具有較少的計(jì)算量且有較高的精度.
CPLD測(cè)時(shí); 互相關(guān)算法; MATLAB仿真; 紅外測(cè)速系統(tǒng); 實(shí)時(shí)測(cè)量
傳統(tǒng)的測(cè)試彈丸飛行速度的方法是將區(qū)截裝置和測(cè)時(shí)儀結(jié)合起來, 其原理為測(cè)得兩個(gè)區(qū)截裝置的間距, 利用測(cè)時(shí)儀得到彈丸穿過兩個(gè)區(qū)截裝置的時(shí)間差, 從而計(jì)算出彈丸穿過兩區(qū)截裝置中間位置的平均速度[1].
對(duì)于一般輕武器的子彈速度測(cè)量, 區(qū)截裝置能很好地捕捉彈丸過靶信號(hào)并觸發(fā)測(cè)試儀測(cè)時(shí), 目前已經(jīng)達(dá)到0.1%的精度, 但是對(duì)于炮彈大直徑的彈丸測(cè)量, 由于發(fā)射過程中有彈頭波的影響產(chǎn)生測(cè)時(shí)儀的誤觸發(fā), 從而得不到彈丸的實(shí)際值, 因此提出了使用互相關(guān)算法進(jìn)行彈丸穿過兩個(gè)區(qū)截裝置時(shí)間差的計(jì)算. 目前而言該方法多采用采集儀采集數(shù)據(jù), 然后將數(shù)據(jù)在MATLAB中進(jìn)行互相關(guān)分析, 但該方法直接將采集到的數(shù)據(jù)進(jìn)行互相關(guān)算法計(jì)算時(shí)間差, 需要參與運(yùn)算的數(shù)據(jù)量較大, 無法實(shí)現(xiàn)實(shí)時(shí)測(cè)量. 因此, 提出了結(jié)合CPLD實(shí)現(xiàn)一種改進(jìn)的互相關(guān)算法計(jì)算, 先利用硬件編程語(yǔ)言設(shè)計(jì)CPLD測(cè)時(shí)功能, 由CPLD測(cè)時(shí)先估計(jì)彈丸過靶信號(hào)的時(shí)間差, 再由CPLD測(cè)時(shí)結(jié)果截取參與互相關(guān)運(yùn)算的數(shù)據(jù)時(shí)間段, 該方法使參與互相關(guān)運(yùn)算的數(shù)據(jù)量減少?gòu)亩褂?jì)算量大大減少[2].
圖 1 基于改進(jìn)的互相關(guān)算法紅外測(cè)速系統(tǒng)原理示意圖Fig.1 Schematic diagram of infrared velocity measurement system based on improved cross-correlation algorithm
基于改進(jìn)的互相關(guān)算法的紅外測(cè)速系統(tǒng)是雙區(qū)截裝置測(cè)速系統(tǒng)的一種實(shí)現(xiàn)方式, 我們也常將它稱為紅外測(cè)速靶, 測(cè)試原理如圖 1 所示. 光幕是由多個(gè)紅外二極管排成隊(duì)列形成的, 該光幕具有一定的寬度. 測(cè)出其兩靶之間的長(zhǎng)度L和兩個(gè)觸發(fā)信號(hào)的時(shí)間差Δt, 利用式(1)確定彈丸在BC距離上彈丸的平均速度, 也可以認(rèn)為是兩光幕中間測(cè)量點(diǎn)D的瞬時(shí)飛行速度[3].
當(dāng)子彈穿過兩靶的紅外光幕時(shí), 引起光通量的變化, 光電接收器件感受光通量變化并將其轉(zhuǎn)換為電信號(hào), 分別產(chǎn)生兩個(gè)觸發(fā)信號(hào). 信號(hào)調(diào)理電路實(shí)現(xiàn)濾波和放大功能, CPLD測(cè)出其彈丸穿過兩靶大致時(shí)間, 數(shù)據(jù)采集系統(tǒng)采集彈丸過靶的模擬信號(hào)并按照略大于CPLD的測(cè)時(shí)結(jié)果保存采集數(shù)據(jù), 最后由主控模塊完成采集數(shù)據(jù)的互相關(guān)分析得到最終精確的測(cè)時(shí)結(jié)果.
為了減少互相關(guān)算法的計(jì)算量, 設(shè)計(jì)了結(jié)合CPLD測(cè)時(shí)和互相關(guān)算法測(cè)時(shí)相結(jié)合的方法. CPLD測(cè)時(shí)是基于硬件編程語(yǔ)言實(shí)現(xiàn)的, 當(dāng)?shù)谝粋€(gè)靶的模擬信號(hào)電壓達(dá)到一定閾值(固定閾值)即觸發(fā)CPLD計(jì)時(shí)器開始計(jì)時(shí), 第二個(gè)靶的信號(hào)電壓達(dá)到固定閾值即停止計(jì)時(shí), 然后將測(cè)時(shí)結(jié)果發(fā)送給數(shù)據(jù)分析模塊.
理想情況下,設(shè)紅外測(cè)速靶的原理參數(shù)基本一致,則當(dāng)子彈飛過兩光幕時(shí)引起的波形完全相似, 因此可以通過采用互相關(guān)算法得到兩個(gè)波形之間的關(guān)系, 從而得到彈丸過靶時(shí)的時(shí)間差. 設(shè)彈丸穿過Ⅰ靶和Ⅱ靶的信號(hào)波形分別為x1(t),x2(t), 則它們的互相關(guān)函數(shù)為
式中:τ代表相關(guān)函數(shù)自變量;T為兩個(gè)信號(hào)的脈寬. 通常模擬信號(hào)采集下來就成了數(shù)字離散信號(hào)[4-5]. 則式(2)的離散形式為
(3)
根據(jù)相關(guān)函數(shù)的定義可知, 當(dāng)τ取不同的值時(shí),Rx1x2(τ)也取不同的值與之對(duì)應(yīng)[6], 而Rx1x2(τ)的最大值時(shí)的τ值便是彈丸穿過兩靶的時(shí)間間隔.
圖 2 彈丸穿過兩光幕靶的信號(hào)示意圖Fig.2 Schematic diagram of projectile signal through the two light screens
如圖 2 所示為彈丸穿過兩靶的信號(hào)波形圖, 圖中第一條為彈丸穿過光幕靶的信號(hào)波形, 第二條為穿過光幕靶的信號(hào)波形, 假設(shè)采集的信號(hào)時(shí)間長(zhǎng)度為0~T0, CPLD測(cè)得時(shí)間為T1, 那么在CPLD測(cè)得時(shí)間結(jié)果基礎(chǔ)上對(duì)信號(hào)長(zhǎng)度進(jìn)行截取, 保留第一個(gè)靶信號(hào)對(duì)應(yīng)時(shí)間為0~(T0-T1)的信號(hào)長(zhǎng)度, 第二個(gè)靶信號(hào)對(duì)應(yīng)T1~T0的信號(hào)長(zhǎng)度, 將保留相應(yīng)時(shí)間長(zhǎng)度的信號(hào)作為新的時(shí)間序列的信號(hào)數(shù)據(jù).
由改進(jìn)的互相關(guān)算法可知, 參與運(yùn)算的數(shù)據(jù)點(diǎn)大大減少, 使互相關(guān)算法計(jì)算量減少, 但是它的可靠性, 精度和穩(wěn)定性需要進(jìn)一步分析. 采用MATLAB仿真改進(jìn)的互相關(guān)算法的計(jì)算結(jié)果可以反映其精度.
圖 3 較大直徑的彈丸過靶信號(hào)圖Fig.3 The signal of thelarger diameter projectile over the target
圖 3 為示波器采集的直徑相對(duì)較大的彈丸的過靶信號(hào), 從圖3中可以看出彈丸過靶時(shí)前端有個(gè)明顯的較小幅值的尖峰, 尖峰常常是彈丸飛行時(shí)的彈頭波產(chǎn)生的, 由于彈頭波會(huì)使傳統(tǒng)的觸發(fā)測(cè)時(shí)儀的光幕靶所測(cè)的數(shù)據(jù)與彈丸的速度有較大差距. 下面通過MATLAB仿真彈丸過靶的信號(hào)并運(yùn)用互相關(guān)算法進(jìn)行計(jì)算.
CPLD測(cè)時(shí)原理為: 當(dāng)?shù)谝煌ǖ佬盘?hào)超過一定的幅值就觸發(fā)計(jì)時(shí)模塊, 第二通道信號(hào)超過幅值時(shí)停止計(jì)時(shí). 在MATLAB仿真時(shí)采用固定閾值方法模擬CPLD測(cè)時(shí), 取一定的時(shí)間差T1, 即當(dāng)?shù)谝煌ǖ赖姆抡娌ㄐ纬^固定閾值(如2 V)后記錄該點(diǎn)的時(shí)間點(diǎn); 第二通道的信號(hào)也按此方法記錄時(shí)間點(diǎn), 二者之差為第一次時(shí)間測(cè)量的T1; 由于實(shí)際兩個(gè)通道的信號(hào)幅值范圍不同, 為方便數(shù)據(jù)處理, 對(duì)信號(hào)幅值做進(jìn)一步處理, 設(shè)兩個(gè)通道的最大幅值分別為xmax,ymax, 則每個(gè)通道信號(hào)隨時(shí)間變化的幅值x(n),y(n)分別為
圖 4 彈丸過靶信號(hào)仿真波形及互相關(guān)函數(shù)結(jié)果Fig.4 Simulation waveforms and cross correlation function results of projectile.
從圖 4 互相關(guān)函數(shù)離散圖大致看出為300左右的時(shí)間單位, 由MARLAB峰值檢測(cè)得出互相關(guān)函數(shù)最大值為300. 對(duì)比采用改進(jìn)的互相關(guān)算法的仿真結(jié)果, 由固定閾值方法得到T1=299, 圖 5 所示為采用固定閾值讀出時(shí)間后截取有效信號(hào)的波形圖及互相關(guān)算法計(jì)算結(jié)果.
圖 5 中截取后的信號(hào)波形的數(shù)據(jù)點(diǎn)為100, 而原始的信號(hào)點(diǎn)為1 000, 將參與互相關(guān)計(jì)算的數(shù)據(jù)降低了1/10, 其互相關(guān)計(jì)算的結(jié)果在0值附近; 將改進(jìn)后互相關(guān)計(jì)算的結(jié)果采用二次峰值檢索方式檢索其峰值點(diǎn)對(duì)應(yīng)的時(shí)間點(diǎn), 第一次檢索采用隔點(diǎn)檢索, 即檢索0,2,4……等偶數(shù)序列的數(shù)據(jù)值, 檢索到最大值后前后各取互相關(guān)函數(shù)離散序列10個(gè)數(shù), 進(jìn)行二次檢索, 二次檢索逐個(gè)檢索, 最后檢索到最大值, 其檢索的結(jié)果如圖 6 所示, 圖6顯示二次檢索的結(jié)果時(shí)間差為1, 則總時(shí)間差為300, 與理論值相同.
圖 5 截取后的波形及互相關(guān)函數(shù)離散圖Fig.5 Waveform after interception and cross correlation function
圖 6 互相關(guān)二次峰值檢索的結(jié)果Fig.6 The results of the second peak search
基于MATLAB的仿真結(jié)果與理論值如表 1、 表 2 所示, 時(shí)間長(zhǎng)度以單位時(shí)間個(gè)數(shù)來算, 從仿真結(jié)果將二次計(jì)算的測(cè)時(shí)結(jié)果與理論值對(duì)比發(fā)現(xiàn), 二次計(jì)算的結(jié)果與理論值結(jié)果吻合, 且誤差在正負(fù)1個(gè)時(shí)間單位.
表 1 1 000個(gè)時(shí)間單位的仿真結(jié)果對(duì)比
表 2 2 000個(gè)時(shí)間單位的仿真結(jié)果對(duì)比
結(jié)合CPLD測(cè)時(shí)與互相關(guān)算法計(jì)算時(shí)差的方法經(jīng)過仿真計(jì)算可以看出: 該方法從減少計(jì)算點(diǎn)數(shù)出發(fā), 能大幅度減少參與互相關(guān)運(yùn)算的數(shù)據(jù)量, 且仿真結(jié)果與理論值吻合, 具有較高的精度; 從實(shí)現(xiàn)該方法的角度看, CPLD測(cè)時(shí)模塊實(shí)現(xiàn)起來簡(jiǎn)單, 互相關(guān)算法計(jì)算量的減少會(huì)更利于實(shí)現(xiàn)實(shí)時(shí)測(cè)量, 因此該方法對(duì)于紅外測(cè)速系統(tǒng)實(shí)現(xiàn)互相關(guān)實(shí)時(shí)測(cè)量有重要意義.
[1] 智小軍, 倪晉平, 田會(huì), 等. 相關(guān)分析技術(shù)在光幕靶速度測(cè)量中的應(yīng)用[J]. 探測(cè)與控制學(xué)報(bào), 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的粒子圖像測(cè)速技術(shù)研究[D]. 南京: 南京理工大學(xué), 2014.
[3] 劉繼平. 無線式高精度紅外測(cè)速系統(tǒng)研究[D]. 南京: 南京理工大學(xué), 2015.
[4] 胡廣書. 數(shù)字信號(hào)處理理論、 算法與實(shí)現(xiàn)[M] . 北京: 清華大學(xué)出版社, 1997.
[5] 董濤, 倪晉平, 宋玉貴, 等. 高射頻武器彈丸連發(fā)速度測(cè)量系統(tǒng)[J]. 彈道學(xué)報(bào), 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] 陳興旺. 大口徑彈丸光幕靶測(cè)速技術(shù)[J]. 四川兵工學(xué)報(bào), 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] 趙萍, 劉洪利. 一種基于速度檢測(cè)的快速互相關(guān)算法[J]. 信息技術(shù), 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-), 女, 碩士生, 主要從事嵌入式智能儀器設(shè)備開發(fā), 武器外彈道測(cè)試技術(shù)等研究.
TH89
A
10.3969/j.issn.1671-7449.2017.01.005