何軍,馬鐵華,崔敏,楊磊
(中北大學 電子測試技術國防科技重點實驗室,山西太原030051)
在軍工生產和新型武器研制過程中離不開先進的測試技術。對各項動態參數的測試是武器測試過程中的重要指標[9]。研究彈箭在發射、飛行、著靶侵徹各個過程中的動態參數對武器系統的改進,防止彈箭在受到高沖擊而損傷影響彈箭對目標的打擊等方面都具有重要的意義。同時各種新型武器的技術復雜程度及成本不斷提高,對動態測試技術的要求也越來越高[3]。
針對高速運動的彈箭加速度的測試,提出了采用DSP來設計數據采集與處理系統的方案。該測試系統能對傳感器的輸出信號進行采集,并對采集后的數據進行壓縮存儲。在詳細研究了新概念動態測試中的數據參數特征的基礎上,提出了將采集到的16位數據的高低字節差分,分別采用不同的壓縮算法進行壓縮,即高字節采用游程壓縮,低字節采用LZW壓縮。這是因為相鄰采樣具有時間相關性,通常變化不會太大。在一段時間內,高字節變化很小或者沒有變化,非常適合用游程壓縮。低字節采用LZW壓縮,隨著字典的建立,以及重復數據的出現,壓縮效果會越來越好[1,10]。
系統設計的總體思路是:通過DSP內部的事件管理器觸發DSP2812內部的AD轉換器對輸入的模擬信號進行模數轉換。對AD轉換的結果進行差分,把16位數據分為高8位和低8位,高8位采用游程壓縮,低8位采用LZW壓縮,然后將壓縮完的數據存儲到外部的SRAM存儲器中。采集完后通過異步串行接口把數據讀取到計算機進行分析[8]。
數據采集系統采用TMS320F2812片內集成的AD轉換器進行數據采集。本數據采集系統采用合眾達科技發展有限責任公司提供TDSS10USB2.0仿真器。
程序首先對系統初始化,然后調用ADC初始化子程序,在ADC初始化完畢后,使能事件管理器EVA的定時器,定時器周期中斷觸發ADC模塊,ADC轉換完畢后產生AD中斷,在AD 中斷中讀取AD 轉換結果,對結果進行數據處理后,并再次啟動AD轉換通道如此循環往復,從而實現了系統對輸入模擬信號的實時采集。
硬件原理框圖如圖1所示。

圖1 硬件原理框圖
在對多組測試數據進行分析后,歸納出2種典型測試數據(圖中縱坐標單位為bit值,橫坐標為取樣點)進行比較分析:分別為某侵徹彈侵徹過程加速度時間曲線(見圖2),某彈發射過程加速度時間曲線(見圖3)。

圖2 某彈侵徹過程加速度時間曲線

圖3 某彈發射過程加速度時間曲線
從數據圖形可以看出,測試數據都具有下面兩個特征:
(1)測試數據比較連續,相鄰數據差值較小,具有很強的相關性;
(2)大部分數據在基線附近微小波動,只有一少部分數據變化幅度較大。
針對測試數據的第二種特征,以某彈發射過程測試數據為例(用的是12位的AD轉換器),可以看出90%的數據在基線附近(比特值為2780),可見采樣數據的高4位數據在變化幅度不大的地方基本保持不變即大部分數據的高4位是基本保持不變的,這樣高位數據非常適合游程壓縮。對于低位數據來說,雖然相鄰時刻的值不可能完全相同,但某一個值會周期性的出現多次(以某侵徹彈放大后的數據為例),隨著LZW字典的建立,和越來越多重復數據的出現,壓縮效果會越來越好,非常適合用LZW壓縮算法[4]。
基本的游程長度壓縮方法最初出現在IBM3780BISYNC(BinarySynchronous Communication)通信協議中,就是在數據流中直接用3個字符來給出上述3種信息(見表4)。

表4 基本的RLC數據結構
表中X代表數據字符;Sc是一個在數據集合{X}中不用的字符,即Sc?{X}表示有一個字符串在此位置,其 “異字頭” 作用;RL則代表串(游程)的長度,也即字符重復出現的次數。由此結構可知,只有當RL>3,才有數據壓縮效益。于是編碼時要先判斷RL值,再決定其下一個字的含義[7]。
為簡便起見,通常做如下的規定:“異字頭”Sc一般不用,直接表示為XRL形式。舉個簡單的例子加以說明。設有這樣一組十六進制數:1、1、1、2、2、4、4、2、4、5,則按照上述的壓縮原理,其對應的壓縮結果為:1(3)2(2)4(2)2(1)4(1)5(1)。
RLC的壓縮效能取決于整個數據流的重復字符出現次數、平均游程長度及所采用的編碼結構[5]。
LZW壓縮算法是一種新穎的壓縮方法,由Lemple-Ziv-Welch 3人共同創造,用他們的名字命名。
其基本原理是:編碼器逐個輸入字符并累積成一個字符串I。每輸入一個字符就被串接在I后面,然后在字典中查找I,只要在字典中找到I,該過程就繼續進行。直到在某一點。添加下一個字符X導致搜索失敗;字符串I在字典中,而IX(字符X串接在I后面)卻不在,這時編碼器:第一步,輸出指向字符串I的字典指針;第二步,在下一個可用的字典詞條中,存儲字符串IX;第三步,把字符串I預置為X[6]。
基于DSP的微型動態測試系統采用TMS320F2812。它的體系結構專為實時控制及實時信號處理而設計,所配置的片內外設為控制系統應用提供了一個理想的解決方案,減小了測試系統的體積。考慮到DSP的數據處理能力和需要對采集到的數據進行實時壓縮的特點,提出了采樣數據的高8位采用游程壓縮,低8位采用LZW字典壓縮,LZW壓縮采用哈希表查找技術,字典大小取為1021字,既能滿足良好的數據壓縮效果又能滿足實時處理的要求。實驗證明該混合壓縮算法能極大地提高實時數據壓縮速率,實時壓縮速率為200k word/s,微型測試系統已在彈載測試中得到應用。
[1] 王寧,李冰.高速數據壓縮與緩存的FPGA實現[J].微計算機信息,2008(8):213-214。
[2] 蘇奎峰,呂強,耿慶鋒,陳圣.TMS320F2812原理與開發[M].北京:電子工業出版社,2005.
[3] 祖靜,馬鐵華.新概念動態測試[J].測試技術學報,2004(18):20-23.
[4] Philips, Dwayne.LZW Data Compression[J].The Computer Application Journal Circuit Cellar Inc. 1992(7):109-113.
[5] 趙耀,袁保宗.數據壓縮的概念及現狀[J].中國數據通信網絡,2000(11):41-43.
[6] Hidetoshi Yokoo .Improved Variations Relating the Ziv-Lempel and Welch-Type Algorithms for Sequential Data Compression[J].IEEE Transactions on Information Theory, 1992(1):89-92.
[7] 裴文強,吳堅.一種新的數據壓縮算法[J].無線電通信技術,2001(3): 26-28.
[8] 張倫武,王學華,肖敏.軍用環境測試的發展和趨勢[J].環境技術,2003(4):11-13.
[9] 王平.LZW無損算法的實現與研究[J].計算機工程,2002(7):22-25.