《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于北斗通信的工業(yè)過程數(shù)據(jù)壓縮方法
基于北斗通信的工業(yè)過程數(shù)據(jù)壓縮方法
2017年電子技術(shù)應(yīng)用第10期
陳 勇,,黃茹楠,劉 青,李建坡,,李 鑫
燕山大學(xué) 電氣工程學(xué)院,,河北 秦皇島066004
摘要: 短報文通信是我國北斗衛(wèi)星導(dǎo)航系統(tǒng)特有的一個功能,,可用于公網(wǎng)通信覆蓋盲區(qū)位置的數(shù)據(jù)傳輸,。而通信頻度和報文長度的限制,,降低了北斗短報文通信的效率,,為此,,提出了一種用于北斗通信數(shù)據(jù)的壓縮方法。該壓縮方法分兩步,,第一步為有損壓縮,,以工業(yè)數(shù)據(jù)庫壓縮技術(shù)中的旋轉(zhuǎn)門算法為基礎(chǔ),同時為了實(shí)現(xiàn)有損壓縮的精度可調(diào),,用改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)PID控制器對旋轉(zhuǎn)門算法的參數(shù)進(jìn)行在線調(diào)整,;第二步為無損壓縮,提出了前置特殊字節(jié)配合差值傳遞的無損壓縮策略,。實(shí)驗表明經(jīng)過此方法兩步壓縮后,,對工業(yè)過程數(shù)據(jù)完成了較高的壓縮,同時,,壓縮精度也可在壓縮過程中準(zhǔn)確調(diào)整,。
中圖分類號: TN911.23;TP13
文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.170127
中文引用格式: 陳勇,,黃茹楠,,劉青,等. 基于北斗通信的工業(yè)過程數(shù)據(jù)壓縮方法[J].電子技術(shù)應(yīng)用,,2017,,43(10):106-110,115.
英文引用格式: Chen Yong,,Huang Ru′nan,,Liu Qing,et al. Industrial data compression method based on Beidou′s short-message communication[J].Application of Electronic Technique,,2017,,43(10):106-110,115.
Industrial data compression method based on Beidou′s short-message communication
Chen Yong,Huang Ru′nan,,Liu Qing,,Li Jianpo,Li Xin
College of Electrical Engineering,,Yanshan University,,Qinhuangdao 066004,China
Abstract: Beidou′s short-message communication, which is a special feature of Beidou satellite navigation and positioning system, is especially used in the area which is beyond the coverage of general public communication. However, because of the limit in frequency of communication and the length of packet, the efficiency of Beidou′s short-message is not very high. To solve this, a compression method based on Beidou short-message is presented. This compression method includes two steps. The first step is called lossy compression. In this step, Spinning Door Transformation(SDT), which is a common compression algorithm in database field, is as a core algorithm for the stage of lossy compression. In addition, a revised BP Neural network PID controller is designed to adjust some parameters used in SDT. The second step is called lossless compression. A method called front extra byte lossless compression is presented in this paper. After a series of experiments, it can be concluded that the original industrial data has finished compressed successfully. In addition, variable precision of compression could be available during the compression.
Key words : Beidou′s short-message,;Spinning Door Transformation(SDT),;industrial data

0 引言

    北斗衛(wèi)星導(dǎo)航系統(tǒng)是我國自主建設(shè),、獨(dú)立運(yùn)行、集導(dǎo)航定位,、授時,、用戶監(jiān)測、短報文通信于一體的導(dǎo)航系統(tǒng)[1],。短報文通信是北斗系統(tǒng)特有的一個功能,,其不受地形條件和環(huán)境氣候等影響,可用于解決偏遠(yuǎn)地區(qū)數(shù)據(jù)實(shí)時通信問題,,特別適用于常規(guī)通信手段存在盲區(qū)多,、基建投入大的場合使用,例如野外的石油,、天然氣的閥站和門站,,以及遠(yuǎn)離移動網(wǎng)絡(luò)覆蓋地區(qū)或者通信不穩(wěn)定地區(qū)工廠的數(shù)據(jù)傳輸。

    北斗衛(wèi)星的主要任務(wù)是定位導(dǎo)航,,通信的信道資源少,,民用北斗短報文通信存在單次報文長度和通信頻度受限的問題。對于工業(yè)遠(yuǎn)程監(jiān)測控制和數(shù)據(jù)采集(Supervisory Control and Data Acquisition,,SCADA)項目中的數(shù)據(jù)而言,,數(shù)據(jù)采集頻率高,數(shù)據(jù)量大,。若對數(shù)據(jù)作分包處理,,可實(shí)現(xiàn)大量數(shù)據(jù)傳輸。但谷軍霞[2]等在2015年進(jìn)行的北斗短報文丟包測試中表明,,隨著報文分包數(shù)的增加,,報文的傳輸成功率逐步降低。若減少對原始工業(yè)數(shù)據(jù)的采樣頻率,,則可降低數(shù)據(jù)量,。但對于企業(yè)來說,歷史數(shù)據(jù)是工業(yè)現(xiàn)場寶貴的財富,,是為后續(xù)工程技術(shù)人員提供分析和故障處理的基礎(chǔ)資料,,是不能因為傳輸?shù)南拗凭碗S意減少和丟棄的。因此就需要有一種方法,,既可完成實(shí)時數(shù)據(jù)的傳輸,,又不會產(chǎn)生太大的數(shù)據(jù)量。

    目前已發(fā)表的關(guān)于北斗短報文通信的論文中,,于龍海提出先建立運(yùn)動目標(biāo)的數(shù)學(xué)模型,,通過參數(shù)簡化和差分編碼實(shí)現(xiàn)北斗定位數(shù)據(jù)的壓縮[3]。陳海生提出的固定長度的索引碼表用于漁獲數(shù)據(jù)的傳輸,,可以解決數(shù)據(jù)無損壓縮傳輸,但是不具有通用性[4],。彭浩提出了中文智能分詞和無損壓縮編碼的聯(lián)合壓縮算法,,進(jìn)而實(shí)現(xiàn)通信數(shù)據(jù)擴(kuò)容[5],但是工業(yè)過程數(shù)據(jù)中,,主要傳輸?shù)氖菍?shí)數(shù)信息,。目前,對于北斗短報文通信的工業(yè)過程數(shù)據(jù)的傳輸,,還沒有較實(shí)用的數(shù)據(jù)壓縮和傳輸?shù)慕鉀Q辦法,。因此本文提出了一種分別從有損和無損壓縮兩個方面,對數(shù)據(jù)分步進(jìn)行壓縮處理的解決方案,。實(shí)驗證明,,該方法可有效對短報文數(shù)據(jù)進(jìn)行壓縮處理,從而提高工業(yè)過程數(shù)據(jù)傳輸?shù)男屎涂煽啃浴?/p>

1 北斗通信壓縮第一步:有損壓縮

    有損壓縮是在壓縮工程中損失一定的信息以獲得較高的壓縮比[6],。為后文評價有損壓縮過程,,本文采用曲奕霖[7]在其論文中提出的評價標(biāo)準(zhǔn),如下:

tx5-gs1-2.gif

    CR用于衡量算法對一組數(shù)據(jù)的壓縮能力,,而δ用于衡量一組數(shù)據(jù)的平均失真度,。

    旋轉(zhuǎn)門算法是一種常見的過程數(shù)據(jù)壓縮算法。本文提出的北斗通信壓縮算法中的有損壓縮階段就基于旋轉(zhuǎn)門算法,。下面先介紹旋轉(zhuǎn)門算法,,再介紹本文提出的基于改進(jìn)BP神經(jīng)網(wǎng)絡(luò)PID的自控精度SDT有損壓縮算法(后文簡稱為自控精度有損壓縮算法)。

1.1 標(biāo)準(zhǔn)旋轉(zhuǎn)門算法(SDT)分析

    旋轉(zhuǎn)門壓縮算法由美國OSI軟件公司研發(fā),,此算法主要針對的是浮點(diǎn)型的數(shù)據(jù),。SDT作為線性擬合的一種簡便算法,具有效率高,、壓縮比高,、實(shí)現(xiàn)簡單、誤差可控制的優(yōu)點(diǎn),?;舅惴ㄔ砣鐖D1所示。

tx5-t1.gif

    設(shè)ΔE為SDT算法的壓縮精度參數(shù),,圖1中A點(diǎn)為起始點(diǎn),,以距離A點(diǎn)為ΔE的上下兩點(diǎn)為支點(diǎn)(類似兩扇門的門軸,,故得名旋轉(zhuǎn)門),。壓縮開始時,兩扇門是關(guān)閉的,,且在算法執(zhí)行過程中,,門只能往外開啟,不能往內(nèi)關(guān)閉,。隨著數(shù)據(jù)點(diǎn)的增加,,門就會旋轉(zhuǎn)打開,,兩扇門的內(nèi)角和等于180°,就停止操作,,存儲前一個數(shù)據(jù)點(diǎn),,并由該點(diǎn)開始新一段壓縮。經(jīng)過旋轉(zhuǎn)門壓縮后,,由A到B點(diǎn)的直線代替A到B的數(shù)據(jù)點(diǎn),。

    解壓過程:根據(jù)每段直線保存的起始點(diǎn)和終止點(diǎn)可以求出線段的公式,然后根據(jù)某點(diǎn)橫軸坐標(biāo)求出其對應(yīng)的縱坐標(biāo)數(shù)據(jù)值,。

1.2 自控精度有損壓縮算法算法設(shè)計

    對于SDT算法有兩方面需要注意:(1)ΔE是決定SDT算法解壓平均誤差δ的關(guān)鍵,。如果ΔE選擇較小,δ也小,,壓縮比CR低,;反之ΔE選擇較大,CR高,,δ卻也變大,。即使是有經(jīng)驗的工程師,也需要長時間調(diào)整ΔE才能找到合適的值,,且當(dāng)數(shù)據(jù)范圍和特征改變時,,為滿足壓縮比和精度的要求,還需重新設(shè)置,。(2)δ通常是作為評價壓縮過程好壞的標(biāo)準(zhǔn),,如果δ不符合要求,較高的CR沒有任何意義,。

    基于以上兩點(diǎn),,將關(guān)注集中在δ的控制上。通過給定理想的δ,,用算法自適應(yīng)調(diào)整ΔE,。本文將工程中的反饋控制思想引入,用PID算法對ΔE在線調(diào)整,,同時用神經(jīng)網(wǎng)絡(luò)算法動態(tài)調(diào)整PID參數(shù),,并通過其強(qiáng)大的學(xué)習(xí)和網(wǎng)絡(luò)記憶功能,實(shí)現(xiàn)相似數(shù)據(jù)快速壓縮,。

    該算法包括兩方面內(nèi)容:改進(jìn)BP神經(jīng)網(wǎng)絡(luò)PID控制器(后文簡稱為:NBP-PID)和標(biāo)準(zhǔn)SDT壓縮及解壓算法,。數(shù)據(jù)通過SDT壓縮及解壓過程視為被控對象,期望的解壓平均誤差δs作為給定輸入,,實(shí)際解壓平均誤差δ作為系統(tǒng)的輸出,。NBP-PID控制器不斷調(diào)整ΔE的輸出,進(jìn)而控制δ輸出,直到偏差值小于算法停止運(yùn)行的門限值Th為止,,這樣便完成了第一組數(shù)據(jù)的壓縮,。門限值計算公式為:

    tx5-gs3.gif

    當(dāng)首組數(shù)據(jù)壓縮完成后,保留此時控制器各個參數(shù),,用做下一組數(shù)據(jù)壓縮時控制器參數(shù)的初始值,,完成第二組數(shù)據(jù)的壓縮,以此類推,。同時將壓縮好的首組數(shù)據(jù)用北斗無損壓縮算法繼續(xù)壓縮,。圖2為首組數(shù)據(jù)壓縮算法的反饋控制系統(tǒng)模型。

tx5-t2.gif

1.2.1 NBP-PID控制器設(shè)計

    在工業(yè)控制中,,對PID控制器比例,、積分、微分3個系數(shù)的調(diào)整一般很難,。根據(jù)神經(jīng)網(wǎng)絡(luò)理論,,三層BP神經(jīng)網(wǎng)絡(luò)可逼近任意線性和非線性函數(shù),通過神經(jīng)網(wǎng)絡(luò)的自身學(xué)習(xí),,加權(quán)系數(shù)調(diào)整可以使其穩(wěn)定狀態(tài)對應(yīng)某種最有規(guī)律下的PID控制器參數(shù)[8],。于是本文采用三層BP神經(jīng)網(wǎng)絡(luò)(4-5-3結(jié)構(gòu))來調(diào)整PID的參數(shù)。

    輸入層神經(jīng)元為4個,,分別是輸入rin,、輸出yout、誤差error和常數(shù)1,;隱含層選擇5個即可滿足要求,,3個輸出神經(jīng)元對參數(shù)Kp、Ki,、Kd進(jìn)行在線調(diào)整,。輸入層的輸入為:

tx5-gs4-12.gif

1.2.2 自控精度有損壓縮算法實(shí)現(xiàn)步驟

    (1)第一次進(jìn)行壓縮時,對相應(yīng)的參數(shù)初始化,。令u,、u_1、u_2,、u_3,、u_4、u_5,,即控制器的輸出零時刻和各歷史時刻初始值都為0,,同時誤差error、輸出值yout零時刻和各歷史時刻也都初始化為0,。隱含層的加權(quán)系數(shù)初始值和和輸出層加權(quán)系數(shù)的初始值為-0.5~0.5之間的隨機(jī)數(shù),。選定學(xué)習(xí)速率η,、慣性系數(shù)α和β,,以及門限值Th,;

    (2)采樣得到rin(k);將前一時刻控制器的輸出u(k-1),,即ΔE傳入代表被控對象模型的壓縮解壓函數(shù)中計算,,得到此時的輸出yout值,再計算該時刻的系統(tǒng)誤差error(k)=rin(k)-yout(k),;

    (3)計算神經(jīng)網(wǎng)絡(luò)各層神經(jīng)元的輸入,、輸出,輸出層的輸出即對應(yīng)PID控制器的3個可調(diào)參數(shù)Kp,、Ki,、Kd,據(jù)此計算控制器當(dāng)前時刻的輸出u(k),;

    (4)進(jìn)行神經(jīng)網(wǎng)絡(luò)學(xué)習(xí),,在線調(diào)整輸出層和隱含層加權(quán)系數(shù)值,然后將各狀態(tài)參數(shù)更新,;

    (5)根據(jù)式(3),,計算系統(tǒng)此時的Th值,如果小于預(yù)先設(shè)置的門限值,,則表明此組數(shù)據(jù)已達(dá)到給定誤差壓縮要求,,進(jìn)入步驟(6),否則進(jìn)入步驟(2),,再次循環(huán),;

    (6)將此時刻以及前3個時刻的輸出層及隱含層加權(quán)系數(shù)值保存,作為下組數(shù)據(jù)壓縮時零時刻及歷史時刻的初始值,,保存u及前5個時刻的值,,作為下組數(shù)據(jù)壓縮各時刻u的初始值。同時,,此組壓縮后的數(shù)據(jù)進(jìn)入后續(xù)北斗無損壓縮算法中繼續(xù)壓縮,;

    (7)利用前一組保存的控制器各參數(shù)開始下一組數(shù)據(jù)的壓縮,即又一次進(jìn)入步驟(2),,直到所有組別的數(shù)據(jù)都壓縮完畢,,算法結(jié)束。

2 北斗通信壓縮第二步——無損壓縮

    相對于有損壓縮來說,,無損壓縮占用空間大,,壓縮比不高,但它 100%地保存了原始信息,,沒有任何信號丟失,,不受信號源影響[9]。 一般的工業(yè)過程數(shù)據(jù)都有明確的物理含義,以項目中某能源公司提供的天然氣閥站數(shù)據(jù)為例,,包含了溫度,、流量、壓力,、阻力等模擬量信息,,也有閥門啟停、報警等狀態(tài)量信息,。

    本文以過程數(shù)據(jù)中最常見的流量/壓力/阻力為例,,對北斗無損壓縮算法作介紹。

2.1 數(shù)據(jù)預(yù)處理

    假設(shè)待壓縮實(shí)數(shù)數(shù)據(jù)精度為兩位小數(shù),,數(shù)據(jù)大小為0.00~999 999.00,。且以一個float  fRevBuf[500] 類型數(shù)組保存,若將此數(shù)組每個元素都乘以100,,則其小數(shù)部分全部轉(zhuǎn)化成了整數(shù),,再用強(qiáng)制類型轉(zhuǎn)化得到4 B的無符號整形數(shù)組 iPlc[500]。不同類型的整數(shù)可表示的數(shù)據(jù)范圍如表1前3行所示,,且根據(jù)整數(shù)在計算機(jī)中的保存方式[10],,可推得后面的4種情況。

tx5-b1.gif

2.2 北斗短報文通信無損壓縮算法

    過程數(shù)據(jù)一般是按時間的先后順序采集的數(shù)據(jù),,數(shù)據(jù)中帶有時間特性,,大多數(shù)工業(yè)現(xiàn)場采集數(shù)據(jù)都是過程數(shù)據(jù)[11]。因此,,數(shù)據(jù)之間在數(shù)值上是有關(guān)聯(lián)的,,所以根據(jù)相鄰數(shù)組元素的差值,而不是元素值本身,,對其分配存儲空間更為合理,。下面為具體步驟:

    (1)新建數(shù)組 int iSub[500],用于保存數(shù)組iPlc中相鄰元素的差值,,即:iSub[i+1]=iPlc[i]-iPlc[i+1]; 并將iPlc數(shù)組中的首元素賦值給iSub數(shù)組中的首元素,。

    (2)根據(jù)差值數(shù)組iSub中的每個元素的值大小,對照表1,,給每個元素分配一個從1~4不等的字節(jié)長度標(biāo)記,,并用另一個數(shù)組iLethByte作出記錄。如表2中,,差值元素為100,,iLethByte數(shù)組相同下標(biāo)元素值為1。

    (3)iLethByte數(shù)組中每一個元素記錄了相同下標(biāo)位置的差值數(shù)組iSub每一個元素所需存儲空間的最小字節(jié)長度,,為了在北斗接收端作解壓縮,,除了傳遞iSub數(shù)組外也需要傳遞長度標(biāo)記數(shù)組iLethByte,,但這樣需要傳遞的數(shù)據(jù)量過大。根據(jù)表1可知,,以不同字節(jié)長度可表示的不同的數(shù)值范圍為依據(jù),,可分為7種類型,但現(xiàn)實(shí)中不需要每次都分成7種類型,,因為過程數(shù)據(jù)數(shù)值大小具有一定的連續(xù)性,,并不是平均分布的,,于是每次壓縮時根據(jù)過程數(shù)據(jù)本身的分布規(guī)律選擇其中的4種(選擇的原則后面會補(bǔ)充)類型作為本次傳輸?shù)臉?biāo)準(zhǔn)類型,,包含在其余類型里的數(shù)據(jù)最終會歸類到這4種標(biāo)準(zhǔn)類型中,然后用兩位二進(jìn)制數(shù)代碼來代指此次選出的4個標(biāo)準(zhǔn)類型,。例如,,此次的4個標(biāo)準(zhǔn)類型字節(jié)長度為1、2,、2.5,、3,則它們的二進(jìn)制數(shù)代碼可依次為:00 01 10 11,。然后每個元素按照所在的標(biāo)準(zhǔn)類型的字節(jié)長度壓縮數(shù)據(jù),,變成一個個存儲長度不等的數(shù)據(jù),再將每4個變換之后的iSub數(shù)組元素組成一組,,在每組前面添加一個記錄字節(jié)bt4Record,,bt4Record為8位,每兩個二進(jìn)制位可表示一個iSub元素所在的標(biāo)準(zhǔn)類型的代碼,,且iSub元素在前面的對應(yīng)bt4Record的高位,,在后面的對應(yīng)bt4Record的低位,如表2所示,。至此,,表2中這4個iSub元素前面的bt4Record字節(jié)二進(jìn)制表示為:01100011。

tx5-b2.gif

    (4)標(biāo)準(zhǔn)類型的選擇組合共tx5-b2-x1.gif為讓接收端確定是哪種組合,,需要額外傳遞當(dāng)前組合的編號,。且單次需要壓縮的數(shù)據(jù)個數(shù)如不是4的倍數(shù),則使最后一個bt4Record字節(jié)不夠8位,,此時對于不足的字節(jié)先補(bǔ)零,,然后額外傳遞本組壓縮數(shù)據(jù)的總數(shù)值,便可使北斗接收端解壓無誤,。在每組報文的開頭,,取兩個字節(jié)(16個bit位),其中10個bit位記錄本次壓縮的數(shù)據(jù)元素總數(shù)值(10位可表示:210=1 024個數(shù),,足夠),,剩余6個bit位(26=64>35)表示標(biāo)準(zhǔn)類型組合編號,。

    至此,一次北斗短報文的數(shù)據(jù)報文打包完成,。

    (5)將經(jīng)過步驟處理后的數(shù)據(jù)通過北斗設(shè)備發(fā)送到接收端,。接收端解壓時,先取出前兩個字節(jié),,根據(jù)6個比特位的分類編號確定此組數(shù)據(jù)中的四種標(biāo)準(zhǔn)類型,;根據(jù)10個比特位的數(shù)據(jù)個數(shù),確定此組原始數(shù)據(jù)的總個數(shù),。然后依次先取bt4Record,,再按照此字節(jié)的記錄長度對每個差值元素取數(shù),分別保存成整數(shù),,再依次取下一個bt4Record字節(jié),。對于接收到數(shù)據(jù)字節(jié)長度為1、2,、4類型的,,可根據(jù)表1直接強(qiáng)制類型轉(zhuǎn)化變回4個字節(jié)的整數(shù);對于其余自定義類型,,則需要提取符號位,,再根據(jù)正數(shù)的補(bǔ)碼與原碼相同,負(fù)數(shù)的補(bǔ)碼為原碼取反加一原則處理轉(zhuǎn)化成4個字節(jié)的整數(shù),。

    (6)將步驟(5)保存的整數(shù)縮小100倍,,再保存成實(shí)數(shù)類型,至此完成北斗無損壓縮的解壓縮過程,。

    補(bǔ)充:一組數(shù)據(jù)中最大值所在的類型必須是本次選取的標(biāo)準(zhǔn)類型之一,。例如iSub[4]元素最大值為8 000 000,則字節(jié)為3的標(biāo)準(zhǔn)類型必須取,,后再取其他可包含元素值最多的3個類型作為標(biāo)準(zhǔn)類型,。

3 試驗結(jié)果與對比分析

    實(shí)驗數(shù)據(jù)源于一滾鉚實(shí)驗機(jī)床,其作用是用滾鉚工具碾壓軸承外環(huán)邊緣的環(huán)形槽,,使環(huán)形槽的一側(cè)邊緣向座圈孔或軸承的變形,,進(jìn)而實(shí)現(xiàn)軸向固定。數(shù)據(jù)源自機(jī)床中的壓力傳感器,,一組數(shù)據(jù)表示一次壓緊過程,,原始壓力曲線如圖3所示。(原始數(shù)據(jù)共18組,,編號:S1~S18)圖中曲線下降階段是因為電機(jī)停轉(zhuǎn),,壓力逐步除去引起的,停機(jī)時間人為控制,,故為排除人為干擾,,每組只取前20 s的數(shù)據(jù)(200個),。

tx5-t3.gif

    后續(xù)實(shí)驗中都選定rin(k)為1,學(xué)習(xí)速率η為1.4,,慣性系數(shù)α為0.3,,β為0.5,門限值Th為0.1,。且后續(xù)段落中,,“第一階段”指的是北斗通信壓縮中的有損壓縮階段,“第二階段”為無損壓縮階段,。

3.1 NBP-PID與標(biāo)準(zhǔn)BP神經(jīng)網(wǎng)絡(luò)PID控制器性能對比

    圖4為在第一階段中,,NBP-PID算法較標(biāo)準(zhǔn)BP神經(jīng)網(wǎng)絡(luò)PID算法(簡稱為BP-PID),6組數(shù)據(jù)單獨(dú)壓縮時各自達(dá)到門限值所需壓縮訓(xùn)練次數(shù)對比,。

tx5-t4.gif

    分析圖4可知,,在修改網(wǎng)絡(luò)權(quán)值時,,增加一個k-2時刻的慣性項和“階梯慣性項”系數(shù)的NBP-PID算法,,可以減少重復(fù)壓縮的次數(shù),從而更快達(dá)到門限值,。

    圖5為第一組(S1)數(shù)據(jù)分別采用兩種算法解壓誤差和訓(xùn)練次數(shù)的曲線圖,,采用NBP-PID可在訓(xùn)練11次時達(dá)到門限值,即達(dá)到給定值的90%以上而結(jié)束訓(xùn)練,,而BP-PID在最大訓(xùn)練次數(shù)(20)內(nèi)無法達(dá)到給定值的90%,。綜上,NBP-PID的確可以有效加快訓(xùn)練過程,,減少重復(fù)壓縮的次數(shù),,從而提升算法的實(shí)用性。

tx5-t5.gif

3.2 采用NBP-PID算法壓縮多組數(shù)據(jù)

    表3給出當(dāng)首組數(shù)據(jù)壓縮完成后,,后續(xù)組別依次繼續(xù)壓縮,,達(dá)到門限值的壓縮次數(shù)的測試數(shù)據(jù)。

tx5-b3.gif

    根據(jù)表3知,,首次壓縮數(shù)據(jù)在10次左右,,后續(xù)組別重復(fù)壓縮次數(shù)除了個別組別達(dá)到最大訓(xùn)練次數(shù),其余數(shù)據(jù)組別基本可在一兩次之內(nèi)完成壓縮,。因此通過NBP-PID網(wǎng)絡(luò)權(quán)值記憶功能,,當(dāng)類似數(shù)據(jù)出現(xiàn)時,可一定程度上加快后續(xù)組的壓縮,,提升整體壓縮效率,。

3.3 北斗通信壓縮算法整體壓縮分析

    表4描述了兩個階段壓縮過程中具體壓縮信息。為排除偶然性,,這里用的數(shù)據(jù)與前面實(shí)驗的數(shù)據(jù)不同,,采用S10~S14的5組數(shù)據(jù)作為實(shí)驗數(shù)據(jù),。

tx5-b4.gif

    這5組數(shù)據(jù)的平均解壓誤差δ在1.0附近,滿足給定值上下波動10%以內(nèi)的要求,。有損壓縮階段的壓縮比平均為4.452,,實(shí)現(xiàn)了用戶自定義壓縮誤差的同時還能擁有不錯的壓縮比。無損壓縮階段中,,壓縮后的存儲空間是壓縮后的數(shù)組元素所占空間之和,,加上記錄字節(jié)所占空間之和,再加上處在報文開頭的兩個字節(jié)的總和,。

    總壓縮率是無損壓縮之后所占存儲空間與原始數(shù)據(jù)所占存儲空間(800=4×200)之比,。可以看到,,經(jīng)過兩個階段的壓縮之后,,數(shù)據(jù)被壓縮到了原始數(shù)據(jù)的10.5% 左右。由此可見北斗壓縮算法的壓縮效果良好,。

4 結(jié)論

    本文提出的有損壓縮算法已經(jīng)在實(shí)驗室環(huán)境中完成測試,,無損壓縮算法在某天然氣管線監(jiān)測項目中實(shí)際完成測試部署,效果良好,?;诒倍吠ㄐ诺墓I(yè)數(shù)據(jù)壓縮算法一方面解決了SDT壓縮精度不可控、參數(shù)設(shè)置困難等問題,;另一方面,,數(shù)據(jù)經(jīng)過兩個階段的壓縮,獲得了較高的壓縮比,。此外,,該算法不僅可用于北斗短報文通信,也可用于其他通信頻度和報文長度受限的場合下,,因此該算法具有工程實(shí)用價值,。

參考文獻(xiàn)

[1] 楊元喜.北斗衛(wèi)星導(dǎo)航系統(tǒng)的進(jìn)展、貢獻(xiàn)與挑戰(zhàn)[J].測繪學(xué)報,,2010,,39(1):1-6.

[2] 谷軍霞,王春芳,,宋之光.北斗短報文通信信道性能測試與統(tǒng)計分析[J].氣象科技,,2015,43(3):458-463.

[3] 于龍洋,,王鑫,,李署堅,等.基于北斗短報文的定位數(shù)據(jù)壓縮和可靠傳輸[J].電子技術(shù)應(yīng)用,,2012,,38(11):108-111.

[4] 陳海生,,郭曉云,王峰,,等.基于北斗短報文的漁獲信息壓縮傳輸方法[J].農(nóng)業(yè)工程學(xué)報,,2015,31(22):155-160.

[5] 彭皓.北斗系統(tǒng)用戶通信數(shù)據(jù)擴(kuò)容技術(shù)研究[D].西安:西安電子科技大學(xué),,2013.

[6] 徐慧.實(shí)時數(shù)據(jù)庫中數(shù)據(jù)壓縮算法的研究[D].杭州:浙江大學(xué),,2006.

[7] 曲奕霖,王文海.用于過程數(shù)據(jù)壓縮的自控精度SDT算法[J].計算機(jī)工程,,2010,,36(22):40-42.

[8] 譚永紅.基于BP神經(jīng)網(wǎng)絡(luò)的自適應(yīng)控制[J].控制理論與應(yīng)用,1994,,11(1):84-87.

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

[10] 張德偉,,沈培鋒,,張德珍,等.計算機(jī)補(bǔ)碼概念剖析[J].微計算機(jī)信息,,2005,,21(20):177-178.

[11] 沈春鋒,,黃松鑫,,張冬,等.基于參數(shù)估計的通用工業(yè)數(shù)據(jù)在線壓縮方法[J].控制工程,,2011(s1):142-145.



作者信息:

陳  勇,,黃茹楠,劉  青,,李建坡,,李  鑫

(燕山大學(xué) 電氣工程學(xué)院,河北 秦皇島066004)

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。