• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于改進(jìn)LZW壓縮算法的發(fā)動(dòng)機(jī)參數(shù)采集系統(tǒng)研究

      2017-09-05 20:37:21葉潤(rùn)武胡潔劉委孫旭高亞紅
      軟件導(dǎo)刊 2017年7期
      關(guān)鍵詞:車聯(lián)網(wǎng)

      葉潤(rùn)武+胡潔+劉委+孫旭+高亞紅

      摘 要:隨著車聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,海量數(shù)據(jù)傳輸和存儲(chǔ)成為關(guān)鍵問(wèn)題,普通壓縮算法壓縮效率難以滿足需要。根據(jù)LZW算法原理,結(jié)合車聯(lián)網(wǎng)系統(tǒng)中發(fā)動(dòng)機(jī)參數(shù)數(shù)據(jù)傳輸特點(diǎn),對(duì)LZW算法的字典初始化、字典查找方式、字典大小進(jìn)行改進(jìn),并應(yīng)用于車聯(lián)網(wǎng)系統(tǒng)?,F(xiàn)場(chǎng)測(cè)試結(jié)果表明,當(dāng)數(shù)據(jù)達(dá)到一定量后,改進(jìn)的LZW壓縮算法性能趨于穩(wěn)定,壓縮率較普通LZW壓縮算法提高了30%,滿足了發(fā)動(dòng)機(jī)系統(tǒng)數(shù)據(jù)壓縮的應(yīng)用需求。

      關(guān)鍵詞:LZW算法;車聯(lián)網(wǎng);數(shù)據(jù)壓縮;字典編碼

      DOIDOI:10.11907/rjdk.171195

      中圖分類號(hào):TP319

      文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-7800(2017)007-0152-03

      0 引言

      隨著電子技術(shù)的不斷進(jìn)步,發(fā)動(dòng)機(jī)監(jiān)測(cè)技術(shù)已從簡(jiǎn)單控制發(fā)展到現(xiàn)代電子控制。為了減少線束、提高信號(hào)利用率、共享和傳輸大批量發(fā)動(dòng)機(jī)運(yùn)行狀態(tài)參數(shù),車聯(lián)網(wǎng)成為汽車電子化發(fā)展的重要環(huán)節(jié)[1]。為了準(zhǔn)確采集與分析發(fā)動(dòng)機(jī)運(yùn)行狀態(tài)參數(shù),需對(duì)發(fā)動(dòng)機(jī)運(yùn)行狀態(tài)參數(shù)實(shí)時(shí)采集,傳輸給上位機(jī)。由于采集頻率較高,龐大的數(shù)據(jù)量不僅給網(wǎng)絡(luò)傳輸帶來(lái)?yè)砣医o數(shù)據(jù)庫(kù)存儲(chǔ)帶來(lái)巨大壓力[2]。對(duì)此,除了優(yōu)化數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)外,數(shù)據(jù)壓縮尤為重要。LZW算法以其獨(dú)特的優(yōu)點(diǎn)廣泛應(yīng)用于數(shù)據(jù)壓縮領(lǐng)域。LZW算法可以有效利用字符出現(xiàn)次數(shù)的冗余度進(jìn)行壓縮,自適應(yīng)產(chǎn)生字典,對(duì)數(shù)據(jù)流中重復(fù)出現(xiàn)的字節(jié)和字串,LZW壓縮技術(shù)具有很高的壓縮比[3]。

      1 發(fā)動(dòng)機(jī)參數(shù)采集系統(tǒng)組成

      發(fā)動(dòng)機(jī)參數(shù)采集系統(tǒng)主要由兩大部分組成:①無(wú)線數(shù)據(jù)模塊(發(fā)動(dòng)機(jī)參數(shù)采集模塊),由主控制器芯片MC9S08DZ60組成數(shù)據(jù)采集單元。電子控制單元通過(guò)CAN總線采集ECU節(jié)點(diǎn)數(shù)據(jù),CAN模塊接口電路作為通信橋梁。根據(jù)TCP/IP協(xié)議,通過(guò)GPRS與上位機(jī)實(shí)現(xiàn)多機(jī)串口通信;②基于客戶/服務(wù)器(C/S)結(jié)構(gòu),以數(shù)據(jù)庫(kù)技術(shù)為核心,編寫數(shù)據(jù)采集管理系統(tǒng)并通過(guò)多線程技術(shù)開(kāi)發(fā)基于TCP協(xié)議的多客戶機(jī)/服務(wù)器通信程序[4],采用Web 技術(shù),開(kāi)發(fā)一個(gè)基于 B/S 模式的遠(yuǎn)程查詢和分析系統(tǒng)。本文主要研究第①部分,如圖1所示。

      系統(tǒng)由無(wú)線數(shù)據(jù)模塊、服務(wù)器軟件和用戶終端3個(gè)模塊組成。本文研究的是無(wú)線數(shù)據(jù)模塊和數(shù)據(jù)壓縮。

      1.1 無(wú)線數(shù)據(jù)模塊設(shè)計(jì)

      無(wú)線數(shù)據(jù)模塊包含硬件和軟件兩部分。軟件按照分層架構(gòu),分為接口層和應(yīng)用層,接口設(shè)計(jì)成函數(shù)調(diào)用型底層軟件,應(yīng)用層實(shí)現(xiàn)通信與控制功能。對(duì)于不同的應(yīng)用對(duì)象和功能需求,可修改和添加功能以滿足需要。系統(tǒng)組成如圖2所示。

      1.2 數(shù)據(jù)處理模塊設(shè)計(jì)

      數(shù)據(jù)采集完后需要進(jìn)行一系列處理,使其更好地傳輸,主要包括數(shù)據(jù)分類、轉(zhuǎn)化。之后,為了方便傳輸,減少帶寬,緩解數(shù)據(jù)庫(kù)存儲(chǔ)壓力,對(duì)轉(zhuǎn)化后的數(shù)據(jù)進(jìn)行預(yù)處理和壓縮。上下位機(jī)的通信按照已經(jīng)定義好的通信協(xié)議進(jìn)行。

      每幀數(shù)據(jù)中的ID號(hào)代表數(shù)據(jù)類型,首先根據(jù)ID對(duì)數(shù)據(jù)進(jìn)行分類,之后讀取參數(shù)值,流程如圖3所示。

      2 數(shù)據(jù)壓縮

      2.1 LZW編碼原理

      LZW編碼器是一種貪婪分析算法,每次對(duì)字符的編碼都要順序檢查輸入的數(shù)據(jù)流,從字典中找出已經(jīng)出現(xiàn)過(guò)的最長(zhǎng)字符串,并輸出對(duì)應(yīng)的索引值[5]。LZW編碼算法實(shí)現(xiàn)步驟:①將字典中的0-255項(xiàng)初始化,當(dāng)前前綴P為空;②將字符流中第一個(gè)字符存入當(dāng)前字符串P中;③輸入下一個(gè)字符串x,然后判斷P+x是否在字典中。若是,P=P+x,若否,輸出代表當(dāng)前前綴P的碼字,并把字符串P+x添加到字典,再令P=x;④判斷當(dāng)前碼字流中是否還有碼字要編碼。若有,返回步驟②,若沒(méi)有,將當(dāng)前字符串的編碼輸出即可,程序結(jié)束。

      2.2 數(shù)據(jù)預(yù)處理模塊

      無(wú)線數(shù)據(jù)模塊采集完參數(shù)后,存入芯片的RAM區(qū),在進(jìn)行LZW壓縮前,需要對(duì)采集的參數(shù)作預(yù)處理,數(shù)據(jù)結(jié)構(gòu)如圖4所示。

      無(wú)線數(shù)據(jù)模塊主要采集心跳信息、發(fā)動(dòng)機(jī)參數(shù)信息和GPS位置信息3種數(shù)據(jù),如圖5所示。

      在通信協(xié)議中,定義了不同的端口號(hào)和標(biāo)識(shí)符對(duì)其進(jìn)行接收。這3種數(shù)據(jù)的端口號(hào)和標(biāo)識(shí)符是對(duì)應(yīng)的,處理步驟:①去掉端口號(hào)和標(biāo)識(shí)符,用m,n和h代替;②因?yàn)橄到y(tǒng)采集的發(fā)動(dòng)機(jī)參數(shù)有96種之多,為了方便后續(xù)字典查找,本系統(tǒng)對(duì)96種發(fā)動(dòng)機(jī)參數(shù)設(shè)置索引,參數(shù)索引值加入LZW編碼的前綴直接存儲(chǔ)在字典中[6]。

      2.3 字典初始化改進(jìn)

      在LZW算法中,首先按碼表初始化256個(gè)字符,這就是字典的初始項(xiàng),實(shí)際是用典型16位指針表示。數(shù)據(jù)壓縮算法的主要改進(jìn)思想是利用變字長(zhǎng)的碼字進(jìn)行編碼,通過(guò)編碼過(guò)程設(shè)置步驟號(hào)來(lái)改進(jìn)編碼的存儲(chǔ)字節(jié)數(shù)[5]。假設(shè)現(xiàn)在的位號(hào)為1,要輸出其編碼的位數(shù),其位數(shù)為整數(shù),壓縮過(guò)程和解碼過(guò)程一一對(duì)應(yīng),則可以通過(guò)步驟號(hào)來(lái)準(zhǔn)確判斷編碼位數(shù),從而得到正確的解碼。發(fā)動(dòng)機(jī)參數(shù)的內(nèi)容多為發(fā)動(dòng)機(jī)運(yùn)行狀態(tài)參數(shù)信息、故障代碼等,以十六進(jìn)制進(jìn)行存儲(chǔ)發(fā)送,發(fā)動(dòng)機(jī)參數(shù)為0,1,3,4,5,6,7,8,9,A,B,C,D,E,F(xiàn)這16種字符格式。首先初始化前16項(xiàng),初始化編碼位數(shù)采用8位,大大減少了編碼位數(shù),很大程度上提高了發(fā)動(dòng)機(jī)參數(shù)的壓縮效率和質(zhì)量[7]。

      字典初始項(xiàng)只有19個(gè),除了十六進(jìn)制的0~F,還要將替代后的標(biāo)識(shí)符和端口號(hào)一起寫入字典,相對(duì)應(yīng)的索引值就是16,17,18,這樣大大減少了字典的初始項(xiàng)。

      2.4 字典查找方式改進(jìn)

      LZW算法的字典查找方式是順序查找,當(dāng)字典很大時(shí),查找速度大大降低。本系統(tǒng)中發(fā)動(dòng)機(jī)參數(shù)有96種之多,順序查找時(shí)間過(guò)長(zhǎng)。因此,對(duì)字典的查找方式進(jìn)行改進(jìn),改進(jìn)方式如下:在數(shù)據(jù)預(yù)處理模塊,對(duì)發(fā)動(dòng)機(jī)的96種參數(shù)加索引值,在LZW壓縮過(guò)程中,索引值作為L(zhǎng)ZW編碼前綴的一部分。這里分別引入二叉樹(shù)查找和哈希查找兩種方式,通過(guò)對(duì)比,得出當(dāng)數(shù)據(jù)量逐漸增大時(shí),哈希查找的速度明顯高于二叉樹(shù)查找,所以在字典的查找方式中,結(jié)合哈希查找,大大提高了數(shù)據(jù)的壓縮速度[8]。endprint

      2.5 字典大小改進(jìn)

      數(shù)據(jù)存儲(chǔ)在ROM區(qū),MC9S08DZ60芯片的ROM區(qū)大小是4K。發(fā)動(dòng)機(jī)運(yùn)行狀態(tài)參數(shù)具有多樣化和較高的采集頻率,隨著壓縮的不斷進(jìn)行,字典一定會(huì)溢出。為了防止字典溢出,在字典初始化時(shí)設(shè)置溢出標(biāo)識(shí)符T,在壓縮過(guò)程中,時(shí)刻檢測(cè)T值。當(dāng)T=1時(shí),代表字典溢出,這時(shí),自動(dòng)清空字典,重新開(kāi)始字典初始化。

      3 系統(tǒng)實(shí)驗(yàn)

      本文主要對(duì)無(wú)線數(shù)據(jù)模塊進(jìn)行測(cè)試。測(cè)試包括兩部分:①對(duì)無(wú)線數(shù)據(jù)模塊數(shù)據(jù)接收進(jìn)行測(cè)試,驗(yàn)證發(fā)動(dòng)機(jī)參數(shù)采集的正確性,以此作為本系統(tǒng)是否有效及可靠的依據(jù),為后面的數(shù)據(jù)壓縮提供數(shù)據(jù);②對(duì)數(shù)據(jù)壓縮模塊進(jìn)行測(cè)試,通過(guò)對(duì)改進(jìn)的LZW壓縮算法和普通LZW壓縮算法對(duì)比,驗(yàn)證算法的壓縮比。

      發(fā)動(dòng)機(jī)主要參數(shù)如表1所示。

      3.1 測(cè)試

      發(fā)動(dòng)機(jī)參數(shù)采集準(zhǔn)確性測(cè)試,上位機(jī)數(shù)據(jù)接收界面如圖6所示。

      通過(guò)和預(yù)設(shè)值對(duì)比,驗(yàn)證了發(fā)動(dòng)機(jī)參數(shù)采集系統(tǒng)的正確完整性。對(duì)100組發(fā)動(dòng)機(jī)參數(shù)的采集,誤差均在精度范圍內(nèi),證明發(fā)動(dòng)機(jī)采集系統(tǒng)安全可靠。

      3.2 改進(jìn)的LZW壓縮算法對(duì)比實(shí)驗(yàn)

      經(jīng)典的LZW壓縮算法壓縮率如表2所示。

      改進(jìn)的LZW壓縮算法結(jié)果如表3所示。

      通過(guò)對(duì)多組數(shù)據(jù)壓縮比計(jì)算,發(fā)現(xiàn)壓縮比越來(lái)越低,剛開(kāi)始?jí)嚎s比較高的原因是發(fā)動(dòng)機(jī)運(yùn)行狀態(tài)參數(shù)之間的相關(guān)性較低。隨著壓縮數(shù)據(jù)的逐漸增多,字典越來(lái)越適應(yīng)于數(shù)據(jù),壓縮率逐漸提高。

      4 結(jié)語(yǔ)

      發(fā)動(dòng)機(jī)采集實(shí)驗(yàn)表明系統(tǒng)具有正確性、完整性以及安全性。隨著數(shù)據(jù)量的不斷增大,壓縮效果越來(lái)越好,改進(jìn)的LZW壓縮算法壓縮率也越來(lái)越好。當(dāng)壓縮數(shù)據(jù)量達(dá)到380k時(shí),壓縮效率趨于穩(wěn)定,壓縮比優(yōu)于普通的LZW算法30%,大量節(jié)約了發(fā)動(dòng)機(jī)數(shù)據(jù)采集系統(tǒng)內(nèi)存,提高了壓縮效率與系統(tǒng)性能。

      參考文獻(xiàn):

      [1]趙楠. 航電數(shù)據(jù)壓縮及傳輸算法研究[D]. 西安:西安電子科技大學(xué), 2011.

      [2]劉委.基于LZW算法的發(fā)動(dòng)機(jī)參數(shù)實(shí)時(shí)采集系統(tǒng)的實(shí)現(xiàn)[D].鎮(zhèn)江:江蘇大學(xué),2016.

      [3]曾玲, 饒志宏. 幾種數(shù)據(jù)壓縮算法的比較[J]. 通信技術(shù), 2002(9):12-15.

      [4]鄭翠芳. 幾種常用無(wú)損數(shù)據(jù)壓縮算法研究[J]. 計(jì)算機(jī)技術(shù)與發(fā)展, 2011, 21(9):73-76.

      [5]楊燕姣. 基于LZW算法的遙測(cè)數(shù)據(jù)實(shí)時(shí)采集壓縮系統(tǒng)的研究[D]. 太原:中北大學(xué), 2014.

      [6]王軍選, 田小平, 曹紅梅. 信息論基礎(chǔ)與編碼[M]. 北京:人民郵電出版社, 2011.

      [7]李小遐, 高楊. 一種基于字典的無(wú)損壓縮改進(jìn)算法研究[J]. 自動(dòng)化與儀器儀表, 2016(2):125-129..

      [8]楊長(zhǎng)生, 宋廣華, 卓越. HLZ:一種采用混合字典的自適應(yīng)無(wú)損編碼算法[J]. 浙江大學(xué)學(xué)報(bào):工學(xué)版, 2002, 36(1):40-43.endprint

      猜你喜歡
      車聯(lián)網(wǎng)
      整合廣播資源,凝聚聲音優(yōu)勢(shì)
      汽車生產(chǎn)企業(yè)發(fā)展車聯(lián)網(wǎng)的優(yōu)勢(shì)與劣勢(shì)
      淺析車聯(lián)網(wǎng)中的無(wú)線通信技術(shù)應(yīng)用
      基于車聯(lián)網(wǎng)的交通信息采集與應(yīng)用研究
      一種基于車聯(lián)網(wǎng)的智能監(jiān)控調(diào)度系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
      中國(guó)車聯(lián)網(wǎng)產(chǎn)業(yè)鏈與商業(yè)模式研究
      商(2016年8期)2016-04-08 18:33:23
      基于車聯(lián)網(wǎng)技術(shù)的智慧物流的發(fā)展前景
      商(2016年4期)2016-03-24 21:20:38
      MP2P在車聯(lián)網(wǎng)資源共享策略中的應(yīng)用
      車聯(lián)網(wǎng)移動(dòng)云安全與隱私保護(hù)技術(shù)研究
      基于AV890車載機(jī)的車聯(lián)網(wǎng)智能終端
      沂水县| 岑溪市| 陆丰市| 建昌县| 来安县| 南丰县| 常宁市| 贺兰县| 饶阳县| 杨浦区| 如皋市| 姜堰市| 金坛市| 玛纳斯县| 泰来县| 白山市| 曲沃县| 灵石县| 秦皇岛市| 苗栗县| 宣武区| 莆田市| 岐山县| 延寿县| 贵德县| 庄河市| 县级市| 治多县| 全椒县| 会东县| 眉山市| 富平县| 台江县| 镇远县| 皮山县| 唐河县| 武邑县| 常熟市| 闸北区| 龙岩市| 安岳县|