《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 其他 > 業(yè)界動(dòng)態(tài) > 基于遙測(cè)數(shù)據(jù)的壓縮算法設(shè)計(jì)與實(shí)現(xiàn)

基于遙測(cè)數(shù)據(jù)的壓縮算法設(shè)計(jì)與實(shí)現(xiàn)

2009-04-08
作者:劉 鑫, 任勇峰,, 劉小華,, 李

??? 摘? 要: 介紹了基于多路遙測(cè)數(shù)據(jù)采集系統(tǒng)在數(shù)據(jù)存儲(chǔ)過(guò)程中的特點(diǎn),提出了數(shù)據(jù)包的數(shù)據(jù)結(jié)構(gòu),,并基于該數(shù)據(jù)包結(jié)構(gòu)設(shè)計(jì)了低硬件復(fù)雜度的實(shí)時(shí)壓縮算法,。該數(shù)據(jù)壓縮算法已成功應(yīng)用于某艦船振動(dòng)信號(hào)檢測(cè)中,仿真及實(shí)際測(cè)試結(jié)果表明,,該算法在滿足數(shù)據(jù)處理精度要求的前提下,,可獲得較高的壓縮因子。?

??? 關(guān)鍵詞: 遙測(cè)數(shù)據(jù); 數(shù)據(jù)包; 實(shí)時(shí)壓縮

?

??? 隨著遙感技術(shù)的飛速發(fā)展,,新型航天遙感器,、未來(lái)地球資源探測(cè)平臺(tái)以及用于軍事領(lǐng)域的各種傳感器所獲取的數(shù)據(jù)量急劇增長(zhǎng)。為了有效傳輸和存儲(chǔ)海量遙測(cè)數(shù)據(jù),,遙測(cè)數(shù)據(jù)壓縮已經(jīng)成為遙測(cè)技術(shù)應(yīng)用的一個(gè)重要課題[1],。?

??? 對(duì)于數(shù)據(jù)壓縮,根據(jù)失真率可分為無(wú)失真壓縮和失真壓縮兩大類(lèi),,無(wú)失真壓縮法有霍夫曼編碼,、算數(shù)編碼等。而對(duì)于允許一定失真率的遙測(cè)數(shù)據(jù)而言,,采用游程編碼可獲得較好的壓縮效果,。同時(shí)數(shù)據(jù)的結(jié)構(gòu)、數(shù)據(jù)的信息熵也直接影響數(shù)據(jù)傳輸速度,、記錄器的容量以及邏輯的布局。為了對(duì)遙測(cè)數(shù)據(jù)進(jìn)行有效壓縮,,本文提出了數(shù)據(jù)包的數(shù)據(jù)結(jié)構(gòu),,并在數(shù)據(jù)包的基礎(chǔ)上提出了基于改進(jìn)游程編碼、低硬件復(fù)雜度的實(shí)時(shí)數(shù)據(jù)壓縮方法,。通過(guò)仿真實(shí)驗(yàn),,證明了該算法在處理特定遙測(cè)數(shù)據(jù)過(guò)程中具有良好的可靠性和有效性。?

1 多路遙測(cè)數(shù)據(jù)編幀結(jié)構(gòu)?

??? 彈上遙測(cè)系統(tǒng)將反映各分系統(tǒng)工作情況以及工作環(huán)境的各種電量,、非電量信號(hào)都轉(zhuǎn)化成在規(guī)定范圍內(nèi)變化的電信號(hào),,然后由彈上遙測(cè)系統(tǒng)采集、編碼,、調(diào)制后傳輸?shù)玫竭b測(cè)數(shù)據(jù),。遙測(cè)系統(tǒng)的幀格式是典型的PCM幀格式。每幀以一個(gè)特定的幀同步碼組開(kāi)始,,幀同步碼組之后排列著固定碼長(zhǎng)的各路數(shù)據(jù),,幀長(zhǎng)和幀結(jié)構(gòu)在飛行中是固定的。遙測(cè)系統(tǒng)以固定的采樣率對(duì)每路模擬量進(jìn)行采樣,并依次對(duì)每路信號(hào)進(jìn)行編碼,。為了既不丟失信號(hào)的信息又能合理利用信道,對(duì)于不同速率的參數(shù),應(yīng)在主幀基礎(chǔ)上用不同的副幀來(lái)實(shí)現(xiàn)[2],。一個(gè)主幀由若干個(gè)副幀構(gòu)成, 副幀分成多個(gè)波道, 存儲(chǔ)不同信息。?

??? 圖1所示為具體數(shù)據(jù)結(jié)構(gòu),,其中包括N路速變信號(hào)和N+M路緩變信號(hào),,本實(shí)驗(yàn)采用16位的AD7667進(jìn)行采樣,其最高采樣率為1MS/s,信號(hào)采樣率遠(yuǎn)高于實(shí)際變化頻率,,從而使數(shù)據(jù)變化較為緩慢,,為數(shù)據(jù)壓縮提供了可行性。而一些緩變信號(hào),,當(dāng)沒(méi)有信號(hào)時(shí),,一般以固定值表示,這也為信息壓縮提供了方便,。?

?

?

2 多路遙測(cè)數(shù)據(jù)包結(jié)構(gòu)?

??? 遙測(cè)系統(tǒng)中相鄰幀之間即每通道間相鄰數(shù)據(jù)具有很強(qiáng)的相關(guān)性,,故設(shè)計(jì)了數(shù)據(jù)包結(jié)構(gòu)來(lái)實(shí)現(xiàn)多路數(shù)據(jù)采集系統(tǒng)的數(shù)據(jù)壓縮。打包法是將每通道數(shù)據(jù)單獨(dú)打包,。與編幀法相比,,數(shù)據(jù)包結(jié)構(gòu)的采集控制過(guò)程相同,但數(shù)據(jù)的組織方法不同[3],。?

??? 各個(gè)通道的輸入信號(hào)選用多選一電子開(kāi)關(guān)按時(shí)分方式依次采樣,,即相應(yīng)通道被選中,經(jīng)過(guò)模數(shù)轉(zhuǎn)換器,,形成PCM輸出,。在采編器中開(kāi)設(shè)n個(gè)緩存區(qū)(一級(jí)緩存),每個(gè)通道的緩存區(qū)為k字節(jié),,依次編號(hào)且與通道號(hào)對(duì)應(yīng),,對(duì)應(yīng)通道采集的數(shù)據(jù)對(duì)應(yīng)存放到對(duì)應(yīng)的緩存區(qū)。當(dāng)緩存區(qū)滿后,,將數(shù)據(jù)轉(zhuǎn)移到下一級(jí)存儲(chǔ)器(二級(jí)緩存),,二級(jí)緩存采用FIFO結(jié)構(gòu)。每組緩存區(qū)存儲(chǔ)的數(shù)據(jù)在轉(zhuǎn)移時(shí),,都冠以通道號(hào)標(biāo)記和同步標(biāo)記,。當(dāng)二級(jí)緩存FIFO達(dá)到一定的深度時(shí),將二級(jí)緩存中的數(shù)據(jù)轉(zhuǎn)移到下一級(jí)存儲(chǔ)器(主存儲(chǔ)器),。類(lèi)似于一級(jí)緩存到二級(jí)緩存的打包過(guò)程,,每組二級(jí)緩存的數(shù)據(jù)在轉(zhuǎn)移時(shí),也要冠以時(shí)間標(biāo)記,、卡標(biāo)記和同步標(biāo)記,。數(shù)據(jù)包結(jié)構(gòu)的具體實(shí)現(xiàn)方式如圖2所示,。?

?

?

??? 除了壓縮效率,數(shù)據(jù)壓縮所要考慮的另一個(gè)重要方面是算法執(zhí)行的復(fù)雜度,。通過(guò)上述分析可知,該硬件電路易于實(shí)現(xiàn)打包數(shù)據(jù)的存儲(chǔ)和轉(zhuǎn)移,為打包壓縮算法的可行性提供了條件,。?

3 實(shí)驗(yàn)結(jié)果分析?

3.1壓縮/解壓算法設(shè)計(jì)?

??? 游程編碼的原理十分簡(jiǎn)單:將一行數(shù)據(jù)中數(shù)值相同或相近的相鄰點(diǎn)用一個(gè)計(jì)數(shù)字節(jié)和一個(gè)表示該數(shù)據(jù)值的數(shù)據(jù)字節(jié)來(lái)代替。然而該算法存在一個(gè)致命弱點(diǎn):如果數(shù)據(jù)中每?jī)蓚€(gè)相鄰點(diǎn)的數(shù)值都不同,,用這種算法不但不能壓縮,,數(shù)據(jù)量反而增加一倍。為了避免上述病態(tài)數(shù)據(jù)的出現(xiàn),,在算法上對(duì)計(jì)數(shù)字節(jié)和數(shù)據(jù)字節(jié)進(jìn)行了區(qū)分,,本實(shí)驗(yàn)是以16位ADC數(shù)據(jù)為例,對(duì)進(jìn)入FPGA的數(shù)據(jù)進(jìn)行預(yù)處理,。先將數(shù)據(jù)除以2,,然后加上8 000H,確保數(shù)據(jù)的最高位為1,而計(jì)數(shù)字節(jié)的最高位為0,。具體的壓縮編碼與解碼恢復(fù)的算法流程圖分別如圖3和圖4所示,。?

?

?

?

??? 將16位ADC數(shù)據(jù)進(jìn)行有損壓縮后的數(shù)據(jù)格式如表1所示。用該壓縮算法,,數(shù)據(jù)結(jié)構(gòu)同編幀法相比,由于各通道物理過(guò)程不盡相同,壓縮因子較大的通道在大包中出現(xiàn)的概率較小,,各通道壓縮因子介于[1,16 384]之間,。?

?

?

3.2仿真結(jié)果?

??? 壓縮率與誤差參數(shù)△的關(guān)系仿真曲線如圖5所示,。

?

?

3.3 實(shí)際測(cè)試結(jié)果?

??? 在硬件電路設(shè)計(jì)中采用16位的AD7667進(jìn)行采樣,則系統(tǒng)理論上的最高分辨率為2.5/216,。從上述流程中可知:AD連續(xù)兩次采樣的差值小于△時(shí),,便認(rèn)為這兩次的值是一致的,取前一個(gè)值,,因此△的不同,,使得AD的分辨率也跟著變化?!髋cAD分辨率的關(guān)系如表2所示。?

?

?

??? 由表2得出:△值越小,,經(jīng)壓縮后其分辨率越高,;反之,△值越大,,經(jīng)壓縮后其分辨率越低,。?

??? 在艦船振動(dòng)的檢測(cè)過(guò)程中,要求艦船振動(dòng)加速度超過(guò)100g,,記錄器就能識(shí)別出來(lái),。振動(dòng)傳感器的靈敏度約為0.5pc/g,。?

??? 最小輸入電荷量為:?

??? Q=100g×0.5pc/g=50pc?

??? 電荷經(jīng)過(guò)放大器,輸出電壓Vo為:?

???   ?

??? AD7667的采集電壓范圍為0~2.5V,,所以AD的最小分辨率為0.005V,。當(dāng)△=64,其數(shù)據(jù)壓縮以后的分辨率為其數(shù)據(jù)壓縮以后的分辨率為通過(guò)以上分析,,將△值確定在{0,,64}。?

??? 設(shè)計(jì)人員可以根據(jù)實(shí)際需要改變△來(lái)改變算法的壓縮比,,△值越小,,壓縮比越低,波形失真越??;△值越大,壓縮比越高,,波形失真越嚴(yán)重,。因此,在保證精度的條件下,,△值越大壓縮比越高,。?

??? 根據(jù)以上的分析,此算法屬于有損壓縮算法,,在應(yīng)用中,,設(shè)定不同的△值 ,對(duì)于差值小于△時(shí)的冗余數(shù)據(jù),,都認(rèn)為是同一個(gè)數(shù)據(jù)壓縮后的數(shù)據(jù)如圖6所示,。?

?

?

??? 由于采集系統(tǒng)會(huì)受到系統(tǒng)、外界和本身的紋波干擾,,若△選得太小,,則壓縮效果不明顯,如上表中的△為64的壓縮數(shù)據(jù)所示:AD的編碼值為1000 0000 0100 110X(80 4X),,經(jīng)過(guò)移位以后,,編碼變?yōu)?100 0000 0001 0011(40 13),緊接著為計(jì)數(shù)器1111 1111 1111 1111(FFFF),,最高位“1”代表計(jì)數(shù)器,,其余15位代表計(jì)數(shù)值(7FFF),每隔一秒鐘寫(xiě)入一個(gè)幀標(biāo)志XX XX XX EB 90,;已知AD的采樣率為200KS/s,,綜上,在無(wú)突變信號(hào)的情況下本算法的壓縮比為:?

?????

??? 通過(guò)以上理論分析,、仿真結(jié)果及硬件實(shí)驗(yàn)測(cè)試結(jié)果可知,,采用數(shù)據(jù)壓縮技術(shù)可以減少多余數(shù)據(jù),,從而在有限的存儲(chǔ)容量下獲得盡可能多的非多余數(shù)據(jù)。算法硬件實(shí)現(xiàn)簡(jiǎn)單,,采用低功耗的FPGA實(shí)現(xiàn)硬件壓縮,,對(duì)所采集數(shù)據(jù)的壓縮和解壓時(shí)間短,在符合系統(tǒng)精度要求的前提下,,采用該壓縮算法,,可以獲得較高的壓縮比。?

參考文獻(xiàn)?

[1] 王崛.遙測(cè)數(shù)據(jù)壓縮算法的設(shè)計(jì)與實(shí)現(xiàn). 遙測(cè)遙控,2002,,23(2):16-22.?

[2] 馬寧,,朱福蔭,尹志軍,,等.改進(jìn)游程編碼在天氣雷達(dá)數(shù)據(jù)壓縮中的應(yīng)用.解放軍理工大學(xué)學(xué)報(bào),2004,,5(6):88-90.?

[3] 賈緯敏.一種可編程PCM遙測(cè)編碼器的設(shè)計(jì).電子工程師,2004,30(5):71-73.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章,、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容,、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。