專利名稱:一種電力波形記錄數(shù)據(jù)的壓縮方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于電力系統(tǒng)波形數(shù)據(jù)記錄裝置的實(shí)時(shí)數(shù)據(jù)壓縮方法,尤其是涉及一種基于小波變換的電力波形記錄數(shù)據(jù)的壓縮方法。
背景技術(shù):
電力系統(tǒng)故障診斷、電能質(zhì)量分析和電網(wǎng)運(yùn)行狀態(tài)的研究都依賴于電力波形記錄數(shù)據(jù)。但目前的電力系統(tǒng)波形記錄裝置都沒有采用壓縮技術(shù),只能記錄故障時(shí)刻的短期數(shù)據(jù)或降低采樣率記錄時(shí)間小于24小時(shí)的數(shù)據(jù),不能用電子硬盤存儲(chǔ)長(zhǎng)時(shí)間連續(xù)電力波形數(shù)據(jù),只能記錄故障發(fā)生時(shí)刻的暫態(tài)數(shù)據(jù)。
傅里葉變換(Fourier變換)在電能質(zhì)量問題的分析中很重要,但因其不具有時(shí)域分析能力,對(duì)含有短時(shí)高頻分量和長(zhǎng)時(shí)間低頻分量的電能質(zhì)量信號(hào)進(jìn)行分析時(shí)具有局限性。而窗口傅里葉變換的時(shí)—頻窗口沒有自適應(yīng)性,不適于分析信號(hào)的突變過程,且其離散形式?jīng)]有正交展開,難以實(shí)現(xiàn)高效算法。近年來(lái)發(fā)展起來(lái)的小波變換(WaveletTransform,簡(jiǎn)稱WT)分析法,與傅里葉變換、視窗傅里葉變換(Gabor變換)相比,它具有良好的時(shí)間和頻率的局網(wǎng)域變換特性,能有效的從信號(hào)中提取資訊,通過伸縮和平移等運(yùn)算功能對(duì)函數(shù)或信號(hào)進(jìn)行多尺度細(xì)化分析,解決了傅里葉變換不能解決的許多困難問題,被譽(yù)為“數(shù)學(xué)顯微鏡”,能很好地處理微弱或突變信號(hào),特別適合于對(duì)非穩(wěn)態(tài)畸變波形問題進(jìn)行分析。小波變換的特點(diǎn)是壓縮比高,壓縮速度快,壓縮后能保持信號(hào)與影像的特征不變,且在傳遞中可以抗干擾。基於小波變換的壓縮方法很多,比較成功的有小波包最好基方法,小波網(wǎng)域紋理模型方法,小波變換零樹壓縮,小波變換向量壓縮,基于提升格式的小波變換壓縮等。但是,這些方法的應(yīng)用研究仍然處于初始階段,有必要作出進(jìn)一步的改進(jìn)。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是彌補(bǔ)上述現(xiàn)有技術(shù)的缺陷,提出一種基于提升格式的小波變換的電力波形記錄數(shù)據(jù)的壓縮方法,以便有效地對(duì)電力信號(hào)進(jìn)行多分辨率分析。
本發(fā)明的技術(shù)問題通過以下技術(shù)方案予以實(shí)現(xiàn)。
這種基于小波變換的電力波形記錄數(shù)據(jù)的壓縮方法,采用包括信號(hào)調(diào)理單元、信號(hào)采集單元、數(shù)據(jù)分析計(jì)算單元、數(shù)據(jù)存儲(chǔ)單元和通信接口單元的電力波形記錄裝置;壓縮流程包括讀入數(shù)據(jù)分析計(jì)算單元的數(shù)據(jù)、讀取相關(guān)的配置信息、將同一通道的連續(xù)采樣點(diǎn)數(shù)據(jù)在內(nèi)存中按連續(xù)地址存放的數(shù)據(jù)預(yù)處理,以及最后的將碼值輸出、存儲(chǔ),得到壓縮數(shù)據(jù);解壓縮流程包括讀入壓縮數(shù)據(jù)、讀取相關(guān)的配置信息信息,以及最后的將數(shù)據(jù)存放順序還原成原始數(shù)據(jù)包中的格式的數(shù)據(jù)后處理,再將碼值輸出、存儲(chǔ),得到解壓縮數(shù)據(jù);
這種電力波形記錄數(shù)據(jù)的壓縮方法的特點(diǎn)是壓縮流程還依次包括以下步驟將讀入的數(shù)據(jù)進(jìn)行基于提升格式的整數(shù)小波變換,再對(duì)小波變換的所有數(shù)據(jù)進(jìn)行哈夫曼編碼;解壓縮流程還依次包括以下步驟按位讀取每一位壓縮數(shù)據(jù)進(jìn)行哈夫曼解碼,再將解碼后的進(jìn)行基于提升格式的整數(shù)逆小波變換。
本發(fā)明的技術(shù)問題通過以下進(jìn)一步的技術(shù)方案予以實(shí)現(xiàn)。
所述基于提升格式的整數(shù)小波變換是,在時(shí)域直接實(shí)現(xiàn)小波的構(gòu)造,采用內(nèi)插細(xì)分的整數(shù)小波變換進(jìn)行計(jì)算。
所述內(nèi)插細(xì)分的整數(shù)小波變換,采用Deslauriers-Dubuc(m,n)公式得到。
所述哈夫曼編碼的流程依次有以下步驟(1)按順序依次讀取輸入數(shù)據(jù);(2)統(tǒng)計(jì)每個(gè)數(shù)據(jù)或字符出現(xiàn)的頻率,計(jì)算一共出現(xiàn)的不同數(shù)據(jù)的種數(shù)并記為n;(3)記錄n個(gè)不同數(shù)據(jù)的值;(4)構(gòu)造一個(gè)2n長(zhǎng)的數(shù)組A來(lái)表示編碼器,它把n個(gè)數(shù)據(jù)或者符號(hào)的出現(xiàn)頻率放在從A[n+1]到A[2n]的高半段,而把最小堆放在從A[1]到A[n]的低半段,堆中的數(shù)據(jù)項(xiàng)是指向數(shù)組高半段頻率的指針;按數(shù)據(jù)出現(xiàn)頻率從小到大的順序?qū)?shù)組的前半部分進(jìn)行排序,在每次迭代中用堆來(lái)找出兩個(gè)頻率最小的數(shù)據(jù)項(xiàng),并用其和來(lái)替代它們;把和保存在前一個(gè)堆的位置A[h]中,這樣堆就可以收縮一個(gè)位置;重復(fù)循環(huán),直到堆中只剩下一個(gè)指針;(5)計(jì)算每個(gè)不同數(shù)據(jù)的碼長(zhǎng);(6)根據(jù)范式哈夫曼編碼規(guī)則構(gòu)造碼表和碼表索引;(7)根據(jù)碼表對(duì)每一個(gè)輸入數(shù)據(jù)進(jìn)行編碼并輸出存儲(chǔ);(8)存儲(chǔ)n種不同數(shù)據(jù)的值、碼表索引、n的值、輸入的總數(shù)據(jù)個(gè)數(shù)。
所述哈夫曼解碼的流程依次有以下步驟(1)讀入數(shù)據(jù)配置信息,包括總數(shù)據(jù)個(gè)數(shù)、出現(xiàn)的不同數(shù)據(jù)的種數(shù)n、碼表索引、n種不同編碼對(duì)應(yīng)的原始數(shù)據(jù);(2)按位依次讀取壓縮后數(shù)據(jù)的每一位;(3)讀取壓縮后的位數(shù)記為L(zhǎng),將這L位碼的十進(jìn)制數(shù)D同碼表索引中碼長(zhǎng)為L(zhǎng)的最小值碼F進(jìn)行比較;若D<L,執(zhí)行步驟(4-1);若D>=L,執(zhí)行步驟(5-2);(4-1)碼長(zhǎng)L加1;是否為壓縮數(shù)據(jù)最后一位是,執(zhí)行步驟(2);否,執(zhí)行步驟(5);(4-2)壓縮后的編碼為F+(D-L),根據(jù)碼表索引找到與F+(D-L)對(duì)應(yīng)的原始數(shù)據(jù),將L置為1、D置為0,輸出該原始數(shù)據(jù)并存儲(chǔ);是否為壓縮數(shù)據(jù)最后一位是,執(zhí)行步驟(5);否,執(zhí)行步驟(2);(5)結(jié)束循環(huán)。
所述提升格式的整數(shù)逆小波變換采用分裂、預(yù)測(cè)和更新三個(gè)步驟實(shí)現(xiàn)數(shù)據(jù)還原。
本發(fā)明與現(xiàn)有技術(shù)對(duì)比的有益效果是本發(fā)明結(jié)合了小波變換和哈夫曼編碼數(shù)據(jù)壓縮的優(yōu)點(diǎn),具有計(jì)算量小、壓縮率高、失真度小、壓縮速度快、占用計(jì)算機(jī)資源少、可以在嵌入式系統(tǒng)上實(shí)現(xiàn)等特點(diǎn),且其壓縮率和失真度可根據(jù)需要調(diào)節(jié),增加了軟件實(shí)現(xiàn)的靈活性。當(dāng)電力系統(tǒng)暫態(tài)故障錄波、穩(wěn)態(tài)記錄和電網(wǎng)動(dòng)態(tài)監(jiān)測(cè)的數(shù)據(jù)量較大時(shí),數(shù)據(jù)的本地存儲(chǔ)和遠(yuǎn)程傳遞非常困難,采用本發(fā)明的數(shù)據(jù)壓縮方法先將記錄到的波形數(shù)據(jù)進(jìn)行壓縮,再存儲(chǔ)到本地或者傳給調(diào)度中心,可以大大減少存儲(chǔ)數(shù)據(jù)所占的磁盤空間和通信時(shí)間。本發(fā)明還可以根據(jù)精度要求,對(duì)細(xì)節(jié)信息設(shè)立門限值,從而得到較高的可調(diào)節(jié)壓縮率,其調(diào)節(jié)參數(shù)可以分別實(shí)現(xiàn)無(wú)損壓縮和有損壓縮。采用本發(fā)明的電力系統(tǒng)波形記錄裝置可以在每通道高于1000HZ的高采樣率、大于16路的大容量情況下結(jié)合電子硬盤技術(shù)實(shí)現(xiàn)長(zhǎng)時(shí)間連續(xù)記錄波形,并通過通信接口可靠快速的傳輸?shù)竭h(yuǎn)方,以便及時(shí)分析和處理故障。
下面對(duì)照附圖并結(jié)合具體實(shí)施方式
對(duì)本發(fā)明作出進(jìn)一步說明。
圖1是采用本發(fā)明的電力波形記錄裝置的組成方框圖;圖2是本發(fā)明的數(shù)據(jù)壓縮程序流程圖;圖3是本發(fā)明的數(shù)據(jù)解壓縮程序流程圖;圖4是本發(fā)明的哈夫曼編碼和解碼程序流程圖。
具體實(shí)施例方式
如圖1所示的電力波形記錄裝置包括信號(hào)調(diào)理單元1、信號(hào)采集單元2、數(shù)據(jù)分析計(jì)算單元3、數(shù)據(jù)存儲(chǔ)單元4和通信接口單元5。
信號(hào)調(diào)理單元1將輸入的各種電力信號(hào)隔離,再轉(zhuǎn)化為標(biāo)準(zhǔn)的弱電壓信號(hào),輸入至信號(hào)采集單元2;信號(hào)采集單元2將輸入的連續(xù)變化的電壓信號(hào)通過A/D轉(zhuǎn)化為離散的數(shù)據(jù)信號(hào),輸入至數(shù)據(jù)分析計(jì)算單元3進(jìn)行運(yùn)算;數(shù)據(jù)分析計(jì)算單元3包括采用高速浮點(diǎn)DSP的運(yùn)算CPU,將離散的數(shù)據(jù)通過計(jì)算,判斷是否故障,提取計(jì)算的特征量,將需要記錄的波形數(shù)據(jù)、故障數(shù)據(jù)用小波變換壓縮技術(shù)壓縮;數(shù)據(jù)存儲(chǔ)單元4包括普通存儲(chǔ)設(shè)備,按一定的格式分別存儲(chǔ)用小波變換壓縮技術(shù)壓縮的波形數(shù)據(jù)、故障數(shù)據(jù);通信接口單元5將數(shù)據(jù)記錄單元記錄的數(shù)據(jù)按一定的通訊協(xié)議,通過RS232/RS485、電話線、Ethernet傳輸?shù)狡渌?jì)算機(jī)分析故障。
其壓縮流程如圖2所示,依次有以下步驟(1)讀入需要壓縮的數(shù)據(jù);(2)讀取相關(guān)的配置信息;(3)將同一通道的連續(xù)采樣點(diǎn)數(shù)據(jù)在內(nèi)存中按連續(xù)地址存放的數(shù)據(jù)預(yù)處理;(4)將讀入的數(shù)據(jù)進(jìn)行基于提升格式的整數(shù)小波變換;(5)對(duì)小波變換的所有數(shù)據(jù)進(jìn)行哈夫曼編碼;(6)將碼值輸出、存儲(chǔ),得到壓縮數(shù)據(jù);其解壓縮流程如圖2所示,依次有以下步驟(1)讀入壓縮數(shù)據(jù);
(2)讀取相關(guān)的配置信息;(3)按位讀取每一位壓縮數(shù)據(jù)進(jìn)行哈夫曼解碼(4)將解碼后的進(jìn)行基于提升格式的整數(shù)逆小波變換;(5)將數(shù)據(jù)存放順序還原成原始數(shù)據(jù)包中的格式的數(shù)據(jù)后處理;(6)將碼值輸出、存儲(chǔ),得到解壓縮數(shù)據(jù)。
所述基于提升格式的整數(shù)小波變換的典型算法過程包括三個(gè)步驟分裂、預(yù)測(cè)和更新。
所述分裂步驟是將原始數(shù)據(jù)sj={skj,k∈Z},]]>分裂成偶樣本sj-1={skj-1,k∈Z}]]>和奇樣本dj-1={dkj-1,k∈Z}]]>2個(gè)子集0,即skj-1=s2kj,]]>dkj-1=s2k+1j,]]>ssplit(sj):=(sj-1,dj-1),其中j∈Z+,dj也稱為小波集。
所述預(yù)測(cè)步驟是用所述分裂成的偶樣本預(yù)測(cè)奇樣本。
這種預(yù)測(cè)基于這樣的事實(shí)奇數(shù)集中的每個(gè)值s2k+1j與對(duì)應(yīng)偶數(shù)集中的s2kj相鄰,因此相關(guān),可以相互預(yù)測(cè)。定義預(yù)測(cè)算子P,預(yù)測(cè)過程可以表述為dj-1=s2k+1j-P(s2kj),]]>預(yù)測(cè)算子系數(shù)可通過內(nèi)插細(xì)分法得到。
所述更新步驟是尋找合適的子集sj-1來(lái)表述原始數(shù)據(jù)sj包括均值、能量、消失矩的特性。定義更新算子U,利用預(yù)測(cè)誤差dj-1疊加到sj-1,即可得到近似信號(hào)sj-1=sj-1+U(dj-1)。
所述提升格式的整數(shù)逆小波變換采用重構(gòu)算法,表述為sj-1=sj-1-U(dj-1)dj-1=dj-1+P(sj-1)sj=merge(sj-1,dj-1)
所述基于提升格式的整數(shù)小波變換是,在時(shí)域直接實(shí)現(xiàn)小波的構(gòu)造,具體實(shí)現(xiàn)同計(jì)算時(shí)采用內(nèi)插細(xì)分的整數(shù)小波變換。
所述內(nèi)插細(xì)分的整數(shù)小波變換,采用Deslauriers-Dubuc(m,n)公式得到j(luò)尺度下公式為(4,2)插值小波變換dkj-1=s2k+1j-[9(s2kj+s2k+2j)-(s2k-2j+s2k+4j)+816]]]>skj-1=s2kj+[dk-1j-1+dkj-1+24]]]>其中[]表示對(duì)數(shù)據(jù)取整,[]內(nèi)的常數(shù)是對(duì)運(yùn)算結(jié)果的四舍五入。[]對(duì)運(yùn)算結(jié)果進(jìn)行了截?cái)啵斐闪诵畔⒌膩G失,但是在重構(gòu)過程中也利用了截?cái)?,可恢?fù)丟失的信息,達(dá)到精確重構(gòu)原始數(shù)據(jù)。
所述壓縮率的調(diào)節(jié)和設(shè)置是,在完成小波變換后,可設(shè)置每一級(jí)小波變換的閾值,對(duì)變換后的細(xì)節(jié)信息,采用硬閾值去噪壓縮,即將高頻信息中在閾值范圍以內(nèi)的值強(qiáng)制為零。
不同的閾值設(shè)置可達(dá)到不同的壓縮比和壓縮精度,閾值越大,壓縮比越高,同時(shí)失真會(huì)相應(yīng)增大,當(dāng)閾值設(shè)置為零時(shí)為無(wú)損壓縮。
所述哈夫曼編碼的流程依次有以下步驟(1)按順序依次讀取輸入數(shù)據(jù);(2)統(tǒng)計(jì)每個(gè)數(shù)據(jù)或字符出現(xiàn)的頻率,計(jì)算一共出現(xiàn)的不同數(shù)據(jù)的種數(shù)并記為n;(3)記錄n個(gè)不同數(shù)據(jù)的值;(4)構(gòu)造一個(gè)2n長(zhǎng)的數(shù)組A來(lái)表示編碼器,它把n個(gè)數(shù)據(jù)或者符號(hào)的出現(xiàn)頻率放在從A[n+1]到A[2n]的高半段,而把最小堆放在從A[1]到A[n]的低半段,堆中的數(shù)據(jù)項(xiàng)是指向數(shù)組高半段頻率的指針;(5)按數(shù)據(jù)出現(xiàn)頻率從小到大的順序?qū)?shù)組的前半部分進(jìn)行排序,在每次迭代中用堆來(lái)找出兩個(gè)頻率最小的數(shù)據(jù)項(xiàng),并用其和來(lái)替代它們;把和保存在前一個(gè)堆的位置A[h]中,這樣堆就可以收縮一個(gè)位置;重復(fù)循環(huán),直到堆中只剩下一個(gè)指針;(6)計(jì)算每個(gè)不同數(shù)據(jù)的碼長(zhǎng);(7)根據(jù)范式哈夫曼編碼規(guī)則構(gòu)造碼表和碼表索引;(8)根據(jù)碼表對(duì)每一個(gè)輸入數(shù)據(jù)進(jìn)行編碼并輸出存儲(chǔ);(9)存儲(chǔ)n種不同數(shù)據(jù)的值、碼表索引、n的值、輸入的總數(shù)據(jù)個(gè)數(shù)。
所述哈夫曼解碼的流程依次有以下步驟(1)讀入數(shù)據(jù)配置信息,包括總數(shù)據(jù)個(gè)數(shù)、出現(xiàn)的不同數(shù)據(jù)的種數(shù)n、碼表索引、n種不同編碼對(duì)應(yīng)的原始數(shù)據(jù);(2)按位依次讀取壓縮后數(shù)據(jù)的每一位;(3)讀取壓縮后的位數(shù)記為L(zhǎng),將這L位碼的十進(jìn)制數(shù)D同碼表索引中碼長(zhǎng)為L(zhǎng)的最小值碼F進(jìn)行比較;若D<L,執(zhí)行步驟(4-1);若D>=L,執(zhí)行步驟(5-2);(4-1)碼長(zhǎng)L加1;是否為壓縮數(shù)據(jù)最后一位是,執(zhí)行步驟(2);否,執(zhí)行步驟(5);(4-2)壓縮后的編碼為F+(D-L),根據(jù)碼表索引找到與F+(D-L)對(duì)應(yīng)的原始數(shù)據(jù),將L置為1、D置為0,輸出該原始數(shù)據(jù)并存儲(chǔ);是否為壓縮數(shù)據(jù)最后一位是,執(zhí)行步驟(5);否,執(zhí)行步驟(2);
(5)結(jié)束循環(huán)。
驗(yàn)證結(jié)果本具體實(shí)施方式
采用5級(jí)(4,2)插值小波變換,對(duì)變換后的數(shù)據(jù)不丟棄任何細(xì)節(jié)信息,進(jìn)行熵編碼。
19個(gè)文件的平均壓縮率為32.01%,平均壓縮1M數(shù)據(jù)用時(shí)63.66015ms。對(duì)壓縮前后的文件利用MD5碼生成指紋碼,可見壓縮前后文件沒有變化。電力系統(tǒng)暫態(tài)過程一般僅為幾個(gè)通道波形變化,因此,在多通道數(shù)據(jù)記錄過程中,對(duì)壓縮影響不大,暫態(tài)記錄文件壓縮率略大于穩(wěn)態(tài)文件壓縮率。
其中無(wú)損壓縮數(shù)據(jù)統(tǒng)計(jì)列表如表1表1.
采用5級(jí)(4,2)小波變換,對(duì)變換后的細(xì)節(jié)信息,采用硬閾值去噪壓縮。由于前端采用的整數(shù)變換對(duì)變換結(jié)果有截?cái)?,后面又采用硬閾值,因此?huì)對(duì)信號(hào)產(chǎn)生輕微震蕩。實(shí)驗(yàn)平均壓縮率為22.46%,平均壓縮1M數(shù)據(jù)用時(shí)66.099ms。采用本發(fā)明的運(yùn)行壓縮和解壓縮程序并經(jīng)過計(jì)算后的試驗(yàn)統(tǒng)計(jì)數(shù)據(jù)穩(wěn)態(tài)有損壓縮A相幅值如表2、穩(wěn)態(tài)有損壓縮A相相角如表3、穩(wěn)態(tài)有損壓縮A相頻率如表4、穩(wěn)態(tài)有損壓縮A相諧波如表5表2.
表3.
表4.
表5.
采用本發(fā)明的運(yùn)行壓縮和解壓縮程序并經(jīng)過計(jì)算后的試驗(yàn)統(tǒng)計(jì)數(shù)據(jù)暫態(tài)有損壓縮A相幅值如表6、暫態(tài)有損壓縮A相相角如表7、暫態(tài)有損壓縮A相頻率如表8、暫態(tài)有損壓縮A相諧波如表9表6.
表7.
表8.
表9.
通過試驗(yàn)數(shù)據(jù)結(jié)果分析,該有損壓縮對(duì)穩(wěn)態(tài)暫態(tài)數(shù)據(jù)的影響可忽略不計(jì)。如考慮進(jìn)一步提高壓縮率,可丟棄部分小波細(xì)節(jié)信息。
本具體實(shí)施方式
在實(shí)驗(yàn)環(huán)境下,平均壓縮1M數(shù)據(jù)用時(shí),有損壓縮大于無(wú)損壓縮2.439ms。壓縮1M數(shù)據(jù)用時(shí)66ms。以96路模擬量通道波形記錄裝置為例,采樣率在10KHz條件下,1s產(chǎn)生的數(shù)據(jù)量為1.831M,壓縮用時(shí)為121ms,完全可以在數(shù)據(jù)處理過程中完成壓縮,不影響后續(xù)錄波。對(duì)比小波變換和數(shù)據(jù)編碼兩個(gè)過程,哈夫曼編碼用時(shí)為小波變換用時(shí)的2.566倍。
以上內(nèi)容是結(jié)合具體的優(yōu)選實(shí)施方式對(duì)本發(fā)明作出的進(jìn)一步詳細(xì)說明,不能認(rèn)定本發(fā)明的具體實(shí)施,只是限于這些說明。對(duì)于本發(fā)明所屬技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干簡(jiǎn)單推演或替換,都應(yīng)視為屬于本發(fā)明由所提交的權(quán)利要求書確定的專利保護(hù)范圍。
權(quán)利要求
1.一種電力波形記錄數(shù)據(jù)的壓縮方法,采用包括信號(hào)調(diào)理單元、信號(hào)采集單元、數(shù)據(jù)分析計(jì)算單元、數(shù)據(jù)存儲(chǔ)單元和通信接口單元的電力波形記錄裝置;壓縮流程包括讀入數(shù)據(jù)分析計(jì)算單元的數(shù)據(jù)、讀取相關(guān)通道的配置信息、將同一通道的連續(xù)采樣點(diǎn)數(shù)據(jù)在內(nèi)存中按連續(xù)地址存放的數(shù)據(jù)預(yù)處理,以及最后的將碼值輸出、存儲(chǔ),得到壓縮數(shù)據(jù);解壓縮流程包括讀入壓縮數(shù)據(jù)、讀取相關(guān)通道的配置信息,以及最后的將數(shù)據(jù)存放順序還原成原始數(shù)據(jù)包中的格式的數(shù)據(jù)后處理,再將碼值輸出、存儲(chǔ),得到解壓縮數(shù)據(jù);其特征在于壓縮流程還依次包括以下步驟將采集的數(shù)據(jù)進(jìn)行基于提升格式的整數(shù)小波變換,再對(duì)小波變換的所有數(shù)據(jù)進(jìn)行哈夫曼編碼;解壓縮流程還依次包括以下步驟按位讀取每一位壓縮數(shù)據(jù)進(jìn)行哈夫曼解碼,再將解碼后的進(jìn)行基于提升格式的整數(shù)逆小波變換。
2.如權(quán)利要求1所述的電力波形記錄數(shù)據(jù)的壓縮方法,其特征在于所述基于提升格式的整數(shù)小波變換是,在時(shí)域直接實(shí)現(xiàn)小波的構(gòu)造,采用內(nèi)插細(xì)分的整數(shù)小波變換進(jìn)行計(jì)算。
3.如權(quán)利要求1或2所述的電力波形記錄數(shù)據(jù)的壓縮方法,其特征在于所述提升格式的整數(shù)逆小波變換采用分裂(split)、預(yù)測(cè)(predict)和更新(update)三個(gè)步驟實(shí)現(xiàn)數(shù)據(jù)還原。
4.如權(quán)利要求3所述的電力波形記錄數(shù)據(jù)的壓縮方法,其特征在于所述內(nèi)插細(xì)分的整數(shù)小波變換,采用Deslauriers-Dubuc(m,n)公式得到。
5.如權(quán)利要求4所述的電力波形記錄數(shù)據(jù)的壓縮方法,其特征在于所述哈夫曼編碼的流程依次有以下步驟(1)按順序依次讀取輸入數(shù)據(jù);(2)統(tǒng)計(jì)每個(gè)數(shù)據(jù)或字符出現(xiàn)的頻率,計(jì)算一共出現(xiàn)的不同數(shù)據(jù)的種數(shù)并記為n;(3)記錄n個(gè)不同數(shù)據(jù)的值;(4)構(gòu)造一個(gè)2n長(zhǎng)的數(shù)組A來(lái)表示編碼器,它把n個(gè)數(shù)據(jù)或者符號(hào)的出現(xiàn)頻率放在從A[n+1]到A[2n]的高半段,而把最小堆放在從A[1]到A[n]的低半段,堆中的數(shù)據(jù)項(xiàng)是指向數(shù)組高半段頻率的指針;按數(shù)據(jù)出現(xiàn)頻率從小到大的順序?qū)?shù)組的前半部分進(jìn)行排序,在每次迭代中用堆來(lái)找出兩個(gè)頻率最小的數(shù)據(jù)項(xiàng),并用其和來(lái)替代它們;把和保存在前一個(gè)堆的位置A[h]中,這樣堆就可以收縮一個(gè)位置;重復(fù)循環(huán),直到堆中只剩下一個(gè)指針;(5)計(jì)算每個(gè)不同數(shù)據(jù)的碼長(zhǎng);(6)根據(jù)范式哈夫曼編碼規(guī)則構(gòu)造碼表和碼表索引;(7)根據(jù)碼表對(duì)每一個(gè)輸入數(shù)據(jù)進(jìn)行編碼并輸出存儲(chǔ);(8)存儲(chǔ)n種不同數(shù)據(jù)的值、碼表索引、n的值、輸入的總數(shù)據(jù)個(gè)數(shù)。
6.如權(quán)利要求5所述的電力波形記錄數(shù)據(jù)的壓縮方法,其特征在于所述哈夫曼解碼的流程依次有以下步驟(1)讀入數(shù)據(jù)配置信息,包括總數(shù)據(jù)個(gè)數(shù)、出現(xiàn)的不同數(shù)據(jù)的種數(shù)n、碼表索引、n種不同編碼對(duì)應(yīng)的原始數(shù)據(jù);(2)按位依次讀取壓縮后數(shù)據(jù)的每一位;(3)讀取壓縮后的位數(shù)記為L(zhǎng),將這L位碼的十進(jìn)制數(shù)D同碼表索引中碼長(zhǎng)為L(zhǎng)的最小值碼F進(jìn)行比較;若D<L,執(zhí)行步驟(4-1);若D>=L,執(zhí)行步驟(5-2);(4-1)碼長(zhǎng)L加1;是否為壓縮數(shù)據(jù)最后一位是,執(zhí)行步驟(2);否,執(zhí)行步驟(5);(4-2)壓縮后的編碼為F+(D-L),根據(jù)碼表索引找到與F+(D-L)對(duì)應(yīng)的原始數(shù)據(jù),將L置為1、D置為0,輸出該原始數(shù)據(jù)并存儲(chǔ);是否為壓縮數(shù)據(jù)最后一位是,執(zhí)行步驟(5);否,執(zhí)行步驟(2);(5)結(jié)束循環(huán)。
全文摘要
本發(fā)明公開了一種電力波形記錄數(shù)據(jù)的壓縮方法,壓縮流程包括以下步驟將采集的數(shù)據(jù)進(jìn)行基于提升格式的整數(shù)小波變換,再對(duì)小波變換的所有數(shù)據(jù)進(jìn)行哈夫曼編碼;解壓縮流程包括以下步驟按位讀取每一位壓縮數(shù)據(jù)進(jìn)行哈夫曼解碼,再將解碼后的進(jìn)行基于提升格式的整數(shù)逆小波變換。具有計(jì)算量小、壓縮率高、失真度小、壓縮速度快、占用計(jì)算機(jī)資源少、可以在嵌入式系統(tǒng)上實(shí)現(xiàn)等特點(diǎn),其壓縮率和失真度可根據(jù)需要調(diào)節(jié),增加了軟件實(shí)現(xiàn)的靈活性。本發(fā)明還可以對(duì)細(xì)節(jié)信息設(shè)立門限值,實(shí)現(xiàn)無(wú)損壓縮和有損壓縮。采用本發(fā)明的電力系統(tǒng)波形記錄裝置可以在高采樣率、大容量情況下結(jié)合電子硬盤技術(shù)實(shí)現(xiàn)長(zhǎng)時(shí)間連續(xù)記錄波形,并通過通信接口可靠快速的傳輸?shù)竭h(yuǎn)方。
文檔編號(hào)G01R13/00GK101038303SQ20071007329
公開日2007年9月19日 申請(qǐng)日期2007年2月7日 優(yōu)先權(quán)日2007年2月7日
發(fā)明者古雄文 申請(qǐng)人:深圳市雙合電腦系統(tǒng)股份有限公司