[发明专利]基于斜率分布的离散波形数据压缩方法有效
申请号: | 201711044322.6 | 申请日: | 2017-10-31 |
公开(公告)号: | CN108055042B | 公开(公告)日: | 2021-03-16 |
发明(设计)人: | 黄建才 | 申请(专利权)人: | 华北电力大学(保定) |
主分类号: | H03M7/30 | 分类号: | H03M7/30 |
代理公司: | 北京知联天下知识产权代理事务所(普通合伙) 11594 | 代理人: | 王冲;吴鑫 |
地址: | 071003 河北省保定*** | 国省代码: | 河北;13 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 斜率 分布 离散 波形 数据压缩 方法 | ||
1.一种基于斜率分布的离散波形数据压缩方法,其特征在于,所述方法包括如下步骤:
步骤1:将原始离散波形数据转换为斜率序列;步骤1具体包括,步骤11:采集待分析的离散波形数据,设其长度为N,并令i=1;步骤12:若i≤N-1,转步骤13,否则转步骤16;步骤13:取波形上的相邻数据点(xi,yi)和(xi+1,yi+1),两点构成一条线段,令该线段所在的直线为Li;步骤14:计算直线Li的斜率步骤15:i=i+1,转步骤12;步骤16:构造集合S={k1,k2,…,kN}表示斜率序列;
步骤2:根据斜率序列的分布,选择M个类别中心;步骤2具体包括,步骤21:根据压缩的要求选择类别数,记为M;步骤22:采用Kmeans聚类算法,将集合S中的元素分为M类,计算每类的平均值,并将其设为类别中心,记为Cj,j=1,2,…,M,并令集合C={C1,C2,…,CM};
步骤3:以各类的类别中心为斜率值,逼近原始离散波形中各相邻点之间的线段,所有线段连接在一起,实现逼近整个离散波形的目的,从而实现原始离散波形的稀疏表示;步骤3具体包括,步骤31:令斜率序列组成的集合为R={},令逼近原始离散波形的新坐标集合V={},取原始离散波形的坐标值(xi,yi),此处i=1,并取V=V∪{(xi,yi)};步骤32:令j=1;步骤33:若j≤M,转步骤34,否则转步骤36;步骤34:计算截距bj=yi-Cj×xi和逼近之后的纵坐标yji+1=Cj×xi+1+b;步骤35:j=j+1,转步骤33;步骤36:取MIN(ABS(yji+1-yi+1)),其中,j=1,2,...,M,并记此时对应的斜率为Ck,将yji+1赋值给yi+1;步骤37:更新集合R=R∪{Ck},V=V∪{(xi+1,yi+1)};步骤38:令i=2,若i<N,则转步骤32,否则转步骤39;步骤39:求得的R为逼近原始离散波形所用的斜率序列,求得的V为新波形的坐标序列;
步骤4:采用哈夫曼方法对原始离散波形的稀疏表示进行压缩编码,实现信号的最终压缩处理;步骤4具体包括,步骤41:统计集合C中各个元素在集合R中出现的次数Wj(j=1,2,…,M),并令集合W={W1,W2,…,WM};步骤42:为集合中W构造哈夫曼树T;步骤42具体包括,步骤421:根据集合W构造哈夫曼树的初始集合T={T1,T2,…,TM},其中,每棵二叉树Ti中包含斜率值Ci及其权值Wi的根节点,它的左右子树均为空;步骤422:如果集合T中只有一个元素,则转步骤425,否则转步骤423;步骤423:在集合T中选取两个根节点权值最小的树作为新构造的二叉树的左右子树,新二叉树的根节点的权值为其左右子树的根节点的权值之和;步骤424:从集合T中删除上述两个根节点权值最小的树,并把新二叉树的根节点权值加入集合T中,并转步骤422;步骤425:令集合A={},并取A=A∪T;步骤426:若A≠{},则转步骤427,否则转步骤4212;步骤427:从A中取元素Ti,若该节点的左子树不为空则转步骤428,否则转步骤429;步骤428:令Ti的左子树为Tj,则在集合T中将Ti指向Tj的连线上设置标号0,并计算A=A∪{Tj};步骤429:若节点Ti的右子树不为空,则转步骤4210,否则转步骤4211;步骤4210:令Ti的右子树为Tk,则在集合T中将Ti指向Tk的连线上设置标号1,并计算A=A∪{Tk};步骤4211:计算A=A-{Ti},并转步骤426;步骤4212:得到最终的哈夫曼树,其中,每个叶子节点包含一个斜率值及其权值,从根节点到该叶子节点的所有连线上的标号序列即为该叶子节点的编码;步骤43具体包括,步骤43:根据哈夫曼树T,为集合R构造压缩编码;步骤431:令编码串步骤432:若集合R≠{},则转步骤433,否则转步骤435;步骤433:从R中取一个元素,并在哈夫曼树T中查找对应该元素的叶子节点,并得到该元素的编码zi,并令Z=Z+zi(此处的“+”表示连接);步骤434:从集合中删除该元素,并转步骤432;步骤435:编码串Z即为压缩编码,结束;
步骤5:对信号进行分析时,对压缩编码进行解压,并恢复用于逼近原始离散波形的数据;步骤5具体包括,步骤51:求解解压后的斜率序列;步骤51具体包括,步骤511:令集合R={};步骤512:若LENGTH(Z)≠0,转步骤513,否则转步骤515,其中,函数LENGTH表示取长度;步骤513:从编码串Z的起始位置开始,查找第一个能和哈夫曼树中某个叶子节点一致的编码,并取该节点对应的斜率值Cj;步骤514:计算R=RU{Cj},并将Z中已识别的编码去掉,转步骤52;步骤515:最终得到的集合R就是解压后的斜率序列,结束;步骤52:利用原始离散波形的第一个数据点和解压后的斜率序列,构造用于逼近原始离散波形的数据;步骤52具体包括,步骤521:取原始离散波形的第一个数据点,将其坐标赋给(xi,yi),并令i=1,集合X=X∪{(xi,yi)};步骤522:若R≠{},转步骤523,否则转步骤527;步骤523:取R中第一个元素对应的斜率值Cj,并计算R=R-{Cj};步骤524:计算截距b=yi-Cj×xi;步骤525:计算下一个相邻数据点的坐标,设等间隔采样,并令采样间隔为d,则下一个数据点的横坐标xi+1=xi+1,纵坐标yi+1=Cj×xi+1+b;步骤526:计算X=X∪{(xi+1,yi+1)},计算i=i+1,转步骤522;步骤527:最终得到的集合X就是解压后的数据集合,结束。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华北电力大学(保定),未经华北电力大学(保定)许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711044322.6/1.html,转载请声明来源钻瓜专利网。