段义隆 刘媛媛
(1.威胜集团有限公司,湖南 长沙 410205;2.湖南工业职业技术学院电气工程系,湖南 长沙 410082)
一种简便的无损录波数据压缩方法
段义隆1,2刘媛媛2
(1.威胜集团有限公司,湖南 长沙 410205;2.湖南工业职业技术学院电气工程系,湖南 长沙 410082)
利用电力系统大多数波形数据的变化率不大的特点,使用波形的变化率代替实时波形进行存储,缩小数据的表示范围,从而能够以更小的数据表示位数保存原信息,达到数据压缩的效果。由于所有的操作都只是对数据进行重新编码,所以本方法除了有无损数据压缩的特点外,整个压缩和解压的过程也都非常简单,特别适用于嵌入式系统使用。最后的现场数据分析表明,该方法也能够达到不错的数据压缩效果。
录波,数据压缩,位数缩小,可变位数
随着电力系统的不断发展,人们对电力系统故障的监测水平要求也越来越高,各种类型的录波仪和监测仪在提供了精度更高[1],实时性更好的数据的同时,录波数据的大小也随之以几何指数在增长,由此带来的数据传输和数据存储的一系列问题,严重制约着后续的发展。除了提供更大的数据存储空间,提供更快的数据传输通道之外,如何能够将巨量的信息压缩,也是当前的一个亟待解决且非常有意义的课题。
现在常见的数据压缩方法有很多[2],如自适应哈夫曼编码、傅立叶变换编码、LZSS编码、小波变换、Mallat算法和提升算法等,按照压缩原理主要可以分为两类:
一类是利用数据变换算法将时域信号转换为频域信号,利用录波数据频率空间相对集中的特点将大量非重要数据去掉,达到数据压缩的效果,比如傅立叶,小波变换等。这类压缩方法优点是数据压缩比大,缺点是由于要丢失数据,所以是有损压缩,且由于需要对数据进行频域变换,需要进行大量数据计算。
另一类是利用数据重复特点进行数据压缩,比如LZ77,LZW等。这类压缩优点是当数据中有大量重复数据时,压缩率很大,且压缩是无损压缩。缺点是对波形数据压缩时效果不好且在压缩时需要占用大量资源。
本文结合电能质量监测仪器开发及使用上的经验,提出了一种无损故障录波数据的压缩方法,由于它的算法简单,非常适合于资源受限的嵌入式系统使用,并且在实际运行时能达到不错的压缩率。
1.算法原理(Algorithm Principle)
由于电力系统的实时波形绝大多数情况都是连续变化的[3,4],不会出现点的大幅突变,所以当使用实时点数据的变化幅度来描述波形时,大多数数据就会集中在比较小的范围内,例如正弦函数
其中ω为角频率,θ为相位偏移量。它的n阶导数为
2.数据变换及范围调整(Data Conversion and Adjustment Range)
首先要对原始数据进行偏差值变化记录,假设实时数据数列为X,变化量序列为P,需压缩数据大小为N,则按照下式计算出变化量序列,同时保存实时数据第一个值X1作为解压缩记录。
在数列P中找出变化量最大值Pmax和变化量最小值Pmin,并求出数据变化范围W1。
设原有波形的峰峰值既数据的变化范围为W0,此时可以比较W1是否小于W0,如果小于W0,则变化后的数据范围比原波形数据小,可以通过减小数据表示位数的方法减少数据量,该次数据变化是有效的;反之,则变化是无效的。
按照上述步骤的数据变换可以多此进行,理论上次数越多,数据的变化范围就会越小,压缩效果越好,但由于实际工程中有噪声的影响,到一定程度上述变化反而会使范围增大,所以需要找到最小范围的那一批数据。
由于电力系统波形数据的对称性特点,数据都是按照中轴对称分布的,所以当找到最小范围的数列后,需要根据数列的中值对数据再进行调整。
求出变化量中值
使用Pmid作为坐标零点对变化量数列P进行重新定位。
3.可变位数记录(Recording Variable Digits)
虽然实时数据经过上述整理后已经大部分集中于坐标轴零点周围,但依然有一部分点偏离比较大。这里采用了可变位数,对不同范围的数据进行分别存储,这样既能够保证大部分数据能够以比较小的位数进行记录,那些较大的数据也能够被正确记录。
由于数据记录不是按照一种格式记录,则区别不同数据标记就非常重要了。如果标记太少,则不能够区分各个记录造成无法恢复数据,标记太多,则会占用大量空间,导致压缩效果不明显或大小反而比原来更大。根据电力系统录波数据的特点,这里选取的方案是将数据类型控制在2种以下,一种作为主格式,大多数数据采用此格式记录,另一种作为辅助格式,记录那些超出范围特殊的点数据。在数据头中将两种数据格式定义后,转换时,使用主格式位数的最大数据作为切换标志,下一个数据使用辅助格式读取,然后,再接着使用主格式读取后面的数据。具体标记方法为:
其中len1为主格式数据位长,num1为主格式数据总数,len2为辅助格式数据位长,num2为辅助格式数据总数。当num1=10num2,len1=len2-1时,标记所占总数据量的比例R为
有上式可得,当len1足够大时,标记大小占总数据量的1/12,即 8.3%。
4.确定数据转换位数(Ascertain the Data Change Digit)
在数据存储之前,还需要确定主格式和辅助格式具体的位数定义。为了使空间能够被充分利用,需要对整个被压缩数据队列的数据分布情况进行了扫描,统计出各个位数占有的数据比例。信号变化曲线如下图1所示,数据所对应的显示范围如表1所示。
图1 信号变化量曲线
表1 数据对应显示范围
由于大多数的点的绝对值都小于62,所以可以用7bits作为主格式的位数。剩下的92个点绝对值都小于127,所以辅助格式的位数可以定义为8bits。
这里将数据分类的标准,依据是这样分割,既可以使大部分的数据使用较小的位数保存,又可以保证切换标志不会带来过多的无效数据影响压缩比。这里使用的是90%的标准,具体数值需要根据实际情况调整。
当数据位数确定后,就可以开始对数据进行位操作,将数据进行存储。当需要读取数据时,只需要按照文件头中对应的参数设置数据窗口就可以正常读取,无须其他操作。
1.算法验证(Algorithm Verifies)
这里选取了3个典型的录波数据进行压缩处理,所有的数据都是从电能质量监测仪WPQ1010提取出来的实时数据,采样AD精度16位,采样频率12800Hz。
图2 正常波形和变化量曲线
1.正常波形数据,图2(a)为原始波形,图2(b)为按照变化量调整后的数据。
2.谐波比较严重的波形数据,图3(a)为原始波形,图3(b)为按照变化量调整后的数据。
图3 谐波波形和变化曲线
3.电压骤降波形数据,图3(a)为原始波形,图3(b)为按照变化量调整后的数据。
图4 电压骤降波形和变化曲线
表2 波形数据压缩结果
2.数据分析(Data Analysis)
在实际测试的时候,发现数据的压缩效果和实际信号通道的信噪比(SNR)联系紧密。如果信噪比能够达到很高的水平,实际压缩率可以提高到接近10%。由于成本的原因,提高信号通道的硬件水平不太可行,但如果按照要求适当降低对精度的要求,对数据作一些截尾处理,同样也可以达到提高信号信噪比,提高数据压缩率的目的。
由于本压缩算法只是在数据的位数表示上进行了优化,并没有做其他的处理,所以在该基础上对数据进行第二次压缩也是有效率的,特别是如果使用Lzw、LZSS这类根据数据重复性进行的压缩方法,可以达到更好的压缩效果。
利用电力系统波形数据特点,通过压缩数据表示位数的方法对数据进行压缩,拥有不错的压缩比,数据精度不减小,算法简单,CPU资源占用率轻,特别适用于系统资源有限的嵌入式系统使用。通过将本压缩方法和其他压缩方法结合使用,可以收到更好的压缩效果。
[1]中华人民共和国电力工业部220~500kV电力系统故障动态记录技术准则[S].1994.
[2]David Salomon,Data Compression,The Complete Reference,2/e,Springer Verlag,2000.
[3]张超,房若季.改进的LZSS压缩算法在故障信息文件远传中的应用[J]. 电网技术.2003,6:42-44.
[4]谈健,赵渊,练波.故障录波波形数据文件的改进压缩算法研究[J]. 电力情报.2000,2:30-33.
A Simple Data Compression Method of No Loss of RecordingHT〛
DUAN Yi-long1,LIU Yuan-yuan2
(1.Department of Electrical Engineering,HuNan Industry Polytechnic,Changsha 410082 Hunan;2.Wasion Group Limited,Changsha 410205,Hunan)
Most of data wave’s variable ratio is not big in power system,the wave’s variable ratio has been stored instead of real time wave in this thesis.It can reduce the data expression range,so as to compress data by a fewer digits.Because of data is only recoded,so the method in this thesis lossless recording data compression,and also has a simple process for compress and recompress,especially can be used in embedded system.Finally the live data shows that it can obtain better compressing result by this method.
recording;data compression;less bites;changeable digit
TN81
A
1671-5004(2010)03-0018-03
2010-05-01
段义隆 (1981-),男,湖南武汉人,湖南工业职业技术学院硬件工程师,研究方向:电能质量算法研究。