1.一种基于维自适应量化的机械振动信号边缘数据无损压缩方法,其特征在于:包括以下步骤:S1:位于网络边缘侧的采集节点通过传感器将采集到的机械振动信号数据以固定长度M进行切块,得到分块总数为L原始时域二维数据矩阵X,原始数据总长度为L*M:S2:在网络边缘侧的采集节点上,对原始时域数据进行重叠正交变换将时域数据转换为频域数据,重叠正交变换的矩阵形式描述如下:Y=T'*X (1)
其中Y是频域矩阵,X为原始二维时域数据,T是正交变换矩阵,T为(L*M)x(L*M)阶的分块对角阵,P1为T的转置矩阵;
与传统的正交变换类似,重叠正交变换将信号划分为L段,但每段长度为M1,满足M
2M,即:相邻两段间则有M1-M长度的信号重叠,重叠正交变换仍旧变化为长度为M的系数向量,使得变化域上的信号长度不变,设LOT的变换矩阵为:其中P0为M1xM阶矩阵,由于信号的起始和末尾两端只有一段信号重叠,因此需要分别定义P1和P2;为保证TL是正交的,要求P0的每一列必须是正交的,即:P'0P0=I
同时,相邻两段的重叠函数必须也满足正交性,即:
P'0WP0=P0WP'0=0
其中转移矩阵W为:
其中I为M1-M阶单位阵,选取M1=2M,因此公式(1)通过正交变化求频域矩阵Y的过程的写成以下形式:S3:经过正交变换后得到的频域矩阵Y表示如下:
S4:为方便数据压缩和处理,将二维矩阵Y中的值都转换成正值,将Y中各值所对应的正负值信息用P矩阵进行存储,P矩阵中1对应为正,-1对应为负,将变换后的正值二维频域矩阵用B表示;
S5:使用单值量化位数q来控制量化程度,L为数据切分块数,M为每块的长度,Q表示分配量化位数总数,Q的计算方式如下:Q=q*M*L (3)
S6:为B矩阵中的每个值分配量化位:
首先找到正值二维频域矩阵B中对应的前三个最大值的位置,分别用max_1,max_2,max_3来代表最大的值,第二大的值,第三大的值;将最大值max_1对应的值除以2后与max_2和max_3比较;若max_1大于max_2,则将max_1对应的在B中位置(i,j)的值进行修改;若max_
1小于max_2大于max_3,则将max_1对应的在B中位置(i,j)的值进行修改,并交换max_1和max_2指向的值以保证max_1始终指向的是最大值;若max_1的小于max_3的值,则对矩阵B中对应的值修改后,将max_1指向max_2,max_2指向max_3,在B矩阵中找到第三大的值用max_3指向它;每次对矩阵中对应(i,j)位置的操作都将总分配位置进行Q减1操作,将量化位数矩阵Z(L*M)中对应(i,j)位置的值增加1,进而得到量化后的矩阵B,量化位数矩阵Z;
max_1=max_1/2 (4)
Q=Q-1 (5)
B(i,j)=B(i,j)/2 (6)
Z(i,j)=Z(i,j)+1 (7)
S7:重复步骤S6直到给分配完所有量化位数,即Q的值变为0,为系数总数共分配了Q个量化位数,得到B(Q)和Z(Q);
S8:将最后一次量化后得到的系数矩阵B(Q)取平均值,并将该值保存作为平均量化步长S;
S9:根据平均量化步长S计算出原始正值二维频域矩阵B中每个值对应的最大量化值,计算方式如下:S10:计算系数矩阵中每个值对应的最大量化位数值bmax,得到最大量化位数矩阵Bmax,计算方式如下:S11:为实现无损压缩,利用最大量化位数矩阵Bmax和平均量化步长S进行逆量化,得到逆量化矩阵,计算方式如下:S12:对逆量化矩阵进行逆正交变换,得到还原后的原始矩阵,计算方式如下:其中P是在步骤S4中表示的正负值信息;
S13:与原始矩阵求误差,误差矩阵用E表示,得到误差矩阵为:
S14:使用二维零编码方法对误差矩阵E和最大量化位矩阵Bmax进行编码,在数据0连续出现时进入零计数编码模式存储零出现的次数,遇到非零数据时退出零计数编码模式,直接进行存储,经过该步骤得到E和Bmax;
S15:考虑到正负值信息矩阵P的特殊性,由于矩阵中只有1和-1两种数据,因此用0来替代-1;采用位编码即0和1的二进制表示法即1bit大小的数据;同时利用步骤S14中提到二维零编码方法对连续的0和1进行统计和存储其出现的次数,进过该步骤得到T和P;
S16:采用范围编码方法对传输数据进行编码,所述范围编码方法首先给定足够大的整数范围,以及符号或数字出现的概率估计,然后,通过将当前范围减小到恰好与要编码的下一个符号相对应的子范围,依次对消息的每个符号进行编码;将E、Bmax、T、P经过范围编码后和S一并放入数据流中作为原始数据进过压缩后的数据进行传输;
S17:数据中心在接收到数据流中的数据之后,首先是对E、Bmax、T、P进行解码的过程,分别按照二维零编码和位编码进行解码得到误差数据E,最大量化位数Bmax,正交变换矩阵T,正负值信息矩阵P;然后将这些数据按照步骤S11、步骤S12的过程进行还原数据,将得到的矩阵和误差矩阵E求和即得到原始数据,实现数据的无损压缩和恢复:
2.根据权利要求1所述的基于维自适应量化的机械振动信号边缘数据无损压缩方法,其特征在于:步骤S5在计算Q量化位数总数时用量化系数q来运算,q值为0.856,以实现数据的无损压缩。
3.根据权利要求1所述的基于维自适应量化的机械振动信号边缘数据无损压缩方法,其特征在于:步骤S8中选择最后一次量化后的系数矩阵的平均值作为量化步长S。
4.根据权利要求1所述的基于维自适应量化的机械振动信号边缘数据无损压缩方法,其特征在于:步骤S11在进行二维零编码和位编码之前先进行逆正交变换,逆量化过程,进行误差计算;将误差数据E、正交变换矩阵T、正负值信息矩阵P和最大量化位Bmax进行零计数和范围编码以及范围编码。