專利名稱:輸電線路故障行波數(shù)據(jù)壓縮方法
技術領域:
本發(fā)明涉及對大量數(shù)據(jù)進行編碼處理以達到數(shù)據(jù)壓縮存儲的技術領域,尤其涉及利用曲線的連續(xù)特性對其16進制數(shù)據(jù)文本進行差分和變長編碼的數(shù)據(jù)壓縮方法。
背景技術:
隨著計算機技術的快速發(fā)展,各種系統(tǒng)數(shù)據(jù)量越來越大,給信息存儲特別是網(wǎng)絡傳輸帶來諸多的困難,已成為有效獲取和使用信息的瓶頸。為了節(jié)省信息的存儲空間和提高信息的傳輸效率,必須對大量的實際數(shù)據(jù)進行壓縮。數(shù)據(jù)壓縮是通過減少計算機中所存儲數(shù)據(jù)或者通信傳播中數(shù)據(jù)的冗余度,達到增大數(shù)據(jù)密度,最終使數(shù)據(jù)的存儲空間減少的技術。數(shù)據(jù)壓縮就是將字符串的一種表示方式轉換為另一種表示方式,新的表示方式包含相同的信息量,但是長度比原來的方式盡可能的短。壓縮的理論基礎是信息論,從信息的角度來看,壓縮就是去除掉信息中的冗余,即去除掉確定的或可推知的信息,而保留不確定的信息,也就是用一種更接近信息本質的描述來代替原有的冗余的描述,這個本質的東西就是信息量。數(shù)據(jù)壓縮跟編碼技術聯(lián)系緊密,壓縮的實質就是根據(jù)數(shù)據(jù)的內(nèi)在聯(lián)系將數(shù)據(jù)從一種編碼映射為另一種編碼。數(shù)據(jù)壓縮按壓縮的失真度分為無損壓縮與有損壓縮。無損壓縮技術主要有哈夫曼(Huffman)編碼、算術(Arithmetiic)編碼、游程編碼(RLE)、LZ編碼。數(shù)據(jù)壓縮主要應用于兩個方面(1)傳輸。通過壓縮發(fā)送端的原始數(shù)據(jù),并在接受端將壓縮數(shù)據(jù)解碼恢復,這樣可有效地減少傳輸時間,增加信道帶寬。( 存儲。在存儲時壓縮原始數(shù)據(jù),而在使用時解壓,這將大量減小存儲介質的存儲量。
發(fā)明內(nèi)容
本發(fā)明要解決的技術問題是對連續(xù)曲線的16進制數(shù)據(jù)文本進行編碼壓縮,能夠實現(xiàn)無損壓縮,獲得的壓縮比小于0. 25,達到顯著減小存儲介質存儲量的目的。為解決上述技術問題,本發(fā)明提供一種輸電線路故障行波數(shù)據(jù)壓縮方法,所述方法利用曲線的連續(xù)特性對16進制數(shù)據(jù)文本進行連續(xù)差分獲得用補碼的16進制表示的差分序列,將差分序列中的符號串分成8類分別用3位前綴碼標識,然后對各類符號串進行變長編碼以減少數(shù)據(jù)存儲量。一種輸電線路故障行波數(shù)據(jù)壓縮方法,包括以下步驟獲取原始數(shù)據(jù)序列相鄰數(shù)據(jù)間的差分序列,保存差值補碼的16進制形式;根據(jù)差分序列的特性分成8類符號串,得到它們的概率值;對數(shù)據(jù)使用前綴碼的方式按類進行變長編碼把符號串的特征信息表現(xiàn)在編碼的最前面;獲得壓縮比的計算公式。進一步地,利用曲線的連續(xù)特性獲得的差分序列數(shù)值集中在-2、_1、0、1、2之間,而用差值補碼的16進制表示的數(shù)據(jù)主要含有000X,F(xiàn)FFX,0000,0001,0002,F(xiàn)FFE, FFFFjg容易的將所有數(shù)據(jù)分成8類進行編碼,不用窮舉數(shù)據(jù)中所有可能的信號避免了多次遍歷數(shù)據(jù)文本,與現(xiàn)有的文本壓縮算法相比簡單易于實現(xiàn)。在存儲和傳輸過程中若中間某一位發(fā)生誤碼至多影響一個數(shù)據(jù)的解碼,對后續(xù)數(shù)據(jù)的解碼沒有影響可靠性高。在源數(shù)據(jù)中出現(xiàn)概率越高的符號即0000,0001,0002,F(xiàn)FFE, FFFF,相應碼字長度越短共3位;出現(xiàn)概率越小的符號即XXXX型,相應碼子長度越長共19位,從而達到用盡可能少的碼符號來表示源數(shù)據(jù),達到壓縮的效果,提高壓縮率。
圖ι是本發(fā)明輸電線路故障行波i(據(jù)壓纟宿方法的步驟流程圖2是本發(fā)明的分類編碼圖_D
具體實施步驟
請參閱圖1,圖1是本發(fā)明一種輸電線路故障行波數(shù)據(jù)壓自官方法的步驟流程圖。
所述壓縮方法包括以下步驟
步驟S-I,獲取原始數(shù)據(jù)序列相鄰_數(shù)據(jù)間的差分序列,保存差值補碼的16進制形工、。
在本步驟中,截取一條曲線上連續(xù)的150個點,組成一個:數(shù)據(jù)序列S⑴,i=1,2,......,150,數(shù)據(jù)序列為
s(150) = 003D 003E 0040 003E 003D 003E 003E 003D 0040 0040 (3042 0042
004100410043004300430047004700460049004B004A00490048004A
004C004E004E004F00500051004F0050005000530050005100520052
005200520050005100540051005000520051005100520050004F004F
00510050004F004E004A004B004C004B004E004A004B004B004C004B
0049004A004A004A004A0049004B004B004B004B004C004B004D004B
004C004E004D004B004E004E004E004E004D004E004F0050004F0051
004F0050004F005100510050004E004F004D0051005200510050004F
004E004E004E004B004F004C004F004F004D004D004D004B004C004D
004B004C004A004C004C004E004E004C004E004D004D004E004E004F
005000510050005100520052005300530053005400550056
求相鄰數(shù)據(jù)間的差值序列,默認最初的i(據(jù)s(0)為0,那么第一個數(shù)據(jù)S(I)便是第一個差值
d(l)=S⑴,d⑵=s(2)-s(l),d(3)==s (3)-S (2),..d(150)=s(150)-s(N149),保存差值補碼的16進制形式,差分序列為
d(150) = 003D 0001 0002 FFFE FFFF 0001 0000 FFFF 0003 0000 (3002 0000
FFFF000000020000000000040000FFFF00030002FFFFFFFFFFFF0002
000200020000000100010001FFFE000100000003FFFD000100010000
00000000FFFE00010003FFFDFFFF0002FFFF00000001FFFEFFFF0000
0002FFFFFFFFFFFFFFFC00010001FFFF0003FFFC000100000001FFFF
FFFE0001000000000000FFFF00020000000000000001FFFF0002FFFE
00010002FFFFFFFE0003000000000000FFFF000100010001FFFF0002
FFFE0001FFFF00020000FFFFFFFE0001FFFE00040001FFFFFFFFFFFF
FFFF00000000FFFD0004FFFD00030000FFFE00000000FFFE00010001
FFFE 0001 FFFE 0002 0000 0002 0000 FFFE 0002 FFFF 0000 0001 0000 00010001 0001 FFFF 0001 0001 0000 0001 0000 0000 0001 0001 0001獲得差分序列d(i)后僅通過加法計算就可以恢復原來的數(shù)據(jù),差值的數(shù)據(jù)與原始數(shù)據(jù)的位數(shù)相同,則每個s (i)和d(i)的建立和恢復都是可逆的,那么s(l) = d(l),s(2) = d(2)+s(l) , s (3) = d(3)+s(2) ,......,s(150)=
d(150)+s(149)。步驟S-2,根據(jù)差分序列的特性分成8類符號串,得到它們的概率值即冗余數(shù)據(jù)量。在本步驟中,由于曲線的連續(xù)特性,選取的連續(xù)150個點的16進制數(shù)據(jù)中99. 3%的相鄰數(shù)據(jù)間的差值集中在-2、_1、0、1、2之間。對這樣的用補碼的16進制形式保存的差分序列,可以將其符號串分成8類。符號串中主要含有000X,F(xiàn)FFX, 0000,0001,0002,FFFE,
FFFF,它們的概率分別為
1717ι <28P0000 = — ,P0001 = — /0002 二 — ,PFFFE =—,PFFFF = ~
150150150150150Ρ000Χ = — ,PFFFX = — ,PXXXX =—。
150150150步驟S-3,確定各類16進制符號串對應的前綴碼。在本步驟中,8種情況可以用3位二進制數(shù)表示,則0000,0001,0002,F(xiàn)FFE, FFFF,000X,FFFX的前綴碼分別為000,001,010,011,100,101,110,符號串XXXX的前綴碼為111。把這些前綴碼統(tǒng)稱為TAG段。步驟S-4,對數(shù)據(jù)按類進行變長編碼,請參閱圖2。把符號串的特征信息表現(xiàn)在編碼的最前面,盡可能的避免保存冗余信息。在本步驟中,編碼包含TAG段和數(shù)據(jù)段
TAG段I數(shù)據(jù)段對8類符號串進行分類編碼第1類,0000編碼為000僅包含TAG段共3位;
000代表0000,不用發(fā)送I女據(jù)位
第2類,0001編碼為001僅包含TAG段共3位;001代表0001,不用發(fā)送I女據(jù)位
第3類,0002編碼為010僅包含TAG段共3位;010代表0002,不用發(fā)送I女據(jù)位第4類,F(xiàn)FFE編碼為011僅包含TAG段共3位7 ;
權利要求
1.一種輸電線路故障行波數(shù)據(jù)壓縮方法,其特征在于,包括以下步驟步驟s-l,獲取原始數(shù)據(jù)序列相鄰數(shù)據(jù)間的差分序列,保存差值補碼的16進制形式;步驟S-2,根據(jù)差分序列的特性分成8類符號串,得到它們的概率值即冗余數(shù)據(jù)量;步驟S-3,確定各類16進制符號串對應的前綴碼;步驟S-4,對數(shù)據(jù)按類進行變長編碼把符號串的特征信息表現(xiàn)在編碼的最前面,盡可能的避免保存冗余信息;步驟S-5,獲得壓縮比的計算公式。
2.如權利要求1所述的輸電線路故障行波數(shù)據(jù)壓縮方法,其特征在于獲取原始數(shù)據(jù)的差值序列一個數(shù)據(jù)序列s(i),i = 1,2,......,N可以用相鄰數(shù)據(jù)間的差值序列表達出來,默認最初的數(shù)據(jù)S(O)為0,那么第一個數(shù)據(jù)S(I)便是第一個差值d (1) =s (1), d(2) =s (2) -S (1),d (3) = s(3)~s(2),......,d (N) = s (N) _s (N-I)。
3.如權利要求2所述的輸電線路故障行波數(shù)據(jù)壓縮方法,其特征在于獲得差分序列d(i)后僅通過加法計算就可以恢復原來的數(shù)據(jù),差值的數(shù)據(jù)與原始數(shù)據(jù)的位數(shù)相同,則每個s(i)和d(i)的建立和恢復都是可逆的,令s(O) = 0那么:s (1) = d(l), s(2) = d (2) +s (1),s (3) = d(3)+s(2),......,s (N) = d (N) +s (N-I)。
4.如權利要求1所述的輸電線路故障行波數(shù)據(jù)壓縮方法,其特征在于根據(jù)差分序列的特性分成8類符號串,得到它們的概率值由于曲線的連續(xù)特性,95%以上的相鄰數(shù)據(jù)間的差值集中在-2、-1、0、1、2之間,對這樣的用補碼的16進制形式保存的差分序列,95%以上的符號串為 000X, FFFX,0000,0001,0002,F(xiàn)FFE, FFFF,它們的概率分別為:p000X,pFFFX,pOOOO, pOOOl, p0002, pFFFE,pFFFF,而不符合以上7種情況的符號串記為XXXX,概率為PXXXXo
5.如權利要求1所述的輸電線路故障行波數(shù)據(jù)壓縮方法,其特征在于對8類16進制符號串設計它們對應的前綴碼8種情況可以用3位二進制數(shù)表示,則0000,0001,0002,F(xiàn)FFE,F(xiàn)FFF,000X,F(xiàn)FFX 的前綴碼分別為 000,001,010,011,100,101,110,符號串 XXXX 的前綴碼為111,把這些前綴碼統(tǒng)稱為TAG段。
6.如權利要求1所述的輸電線路故障行波數(shù)據(jù)壓縮方法,其特征在于對差分序列中的所有數(shù)據(jù)按類進行變長編碼編碼包含TAG段和數(shù)據(jù),符號串000X,F(xiàn)FFX編碼為TAG段和剩下的4位二進制編碼共7位;符號串0002,0001,0000,F(xiàn)FFF, FFFE編碼僅為TAG段共3位;符號串XXXX其編碼為TAG段和本身的16位二進制編碼共19位。
7.如權利要求1所述的輸電線路故障行波數(shù)據(jù)壓縮方法,其特征在于對差分序列中的所有數(shù)據(jù)按類進行變長編碼在變長編碼中,若碼字長度嚴格按照所對應符號出現(xiàn)概率的大小逆序排列,則其平均長度為最小,數(shù)據(jù)中0002,0001,0000,F(xiàn)FFF, FFFE占的比例最大而碼字長度最短;其次是000X,F(xiàn)FFX ;XXXX型符號串在所有數(shù)據(jù)中占的比例最小碼字長度最長,所以上述編碼方式碼子平均長度最小,達到了最大壓縮效率。
8.如權利要求1所述的輸電線路故障行波數(shù)據(jù)壓縮方法,其特征在于簡單快速的獲得壓縮比的計算公式根據(jù)各類符號串的概率和編碼長度計算壓縮比P,P= [{pQOQX + pFFFX) * 7 + (pOOOO + ^0001 + p0002 + pFFFE + pFFFF) * 3 + pelse * 19]/16 。
全文摘要
本發(fā)明提供一種輸電線路故障行波數(shù)據(jù)壓縮方法。所述方法包括獲取原始數(shù)據(jù)序列相鄰數(shù)據(jù)間的差分序列,保存差值補碼的16進制形式;根據(jù)差分序列的特性分成8類符號串,得到它們的概率值即冗余數(shù)據(jù)量;對數(shù)據(jù)使用前綴碼的方式按類進行變長編碼把符號串的特征信息表現(xiàn)在編碼的最前面,盡可能避免保存冗余信息;獲得壓縮比的計算公式。本發(fā)明提供的對連續(xù)曲線的數(shù)據(jù)利用差分和前綴碼方式進行變長壓縮的方法可實現(xiàn)對用16進制表示的大型數(shù)據(jù)文本的無損壓縮,提高壓縮效率,節(jié)省大量的存儲資源,而且算法簡單易于實現(xiàn)。
文檔編號H03M7/30GK102571101SQ20111041594
公開日2012年7月11日 申請日期2011年12月12日 優(yōu)先權日2011年12月12日
發(fā)明者余陽, 全業(yè)生, 姚冬, 孔武, 張國清, 王思捷, 邢鈾, 錢冠軍, 陳欽柱, 黃松 申請人:武漢三相電力科技有限公司, 海南電力技術研究院