一种基于第二代小波的原始信号重构方法与流程

文档序号:12739123阅读:319来源:国知局

本发明属于数据压缩领域,尤其涉及一种基于第二代小波的原始信号重构方法,适用于传统压缩感知对非结构化海量网络数据的重构。



背景技术:

压缩感知作为一个新兴的采样理论,通过利用数据的稀疏特性,可以在远低于奈奎斯特采样率的条件下,获取数据量远小于原始信号的数据样本,然后通过非线性算法重构原始信号。

传统的压缩感知技术是开发以用于应用于图像压缩领域的,由于图像数据可用点阵的形式进行表示,用第一代小波作为稀疏基可以很好地对其进行稀疏表示。而对于非结构化海量网络数据,由于其明显的非结构化特性,以第一代小波作为稀疏基难以很好的对其进行稀疏表示,这将导致压缩感知对非结构化海量网络数据的质量显著下降。

第二代小波方法相对于传统小波算法,是一种更为快速有效的小波变换实现方法,不依赖Fourier变换,完全在时域完成了对双正交小波滤波器的构造。这种构造方法在结构化设计和自适应构造方面突出优点弥补了传统频域构造方法的不足。在压缩感知技术应用中,通过第二代小波作为稀疏基对原始信号进行稀疏表示,使得非结构化海量数据能够被很好的稀疏表示。



技术实现要素:

本发明的目的在于提出一种基于第二代小波的原始信号重构方法,以解决传统压缩感知对于非结构化海量网络数据的不适用性问题,以实现尽可能大的压缩比和尽可能小的失真。

为实现上述目的,本发明的技术方案包括如下:

一种基于第二代小波的原始信号重构方法,包括以下步骤:

步骤1:对原始信号进行稀疏表示,通过稀疏基和原始信号得到稀疏系数;

步骤2:对原始信号进行采样,由测量矩阵和原始信号得到测量值;

步骤3:对稀疏基、测量值及随机数种子进行存储;

步骤4:通过迭代得到稀疏系数,利用稀疏基对原始信号进行重构。

进一步根据所述基于第二代小波的原始信号重构方法,步骤1中所述对原始信号进行稀疏表示,通过稀疏基和原始信号得到稀疏系数:

对于给定的点集S={x1,x2,…,xn},有x1<x2<…<xn,n=k×2l,其中n,k,l均为正整数;

对于任意一个2k×2k的矩阵V,则VL表取矩阵V的下边的k×2k半部分,VU表示取矩阵V的上边的k×2k半部分,有

通过第二代小波作为稀疏基对原始信号x进行稀疏表示,使得非结构化海量数据能够被很好的稀疏表示,对原始信号x进行稀疏表示,按如下步骤进行:

(1-1)构造2k×2k的矩阵M1,i,其中i=1,…,n/2k,si=(i-1)2k;

矩阵M1,i的正交基U1,i,U1,i=[Orth(M1,i)]T,Orth表示求正交基运算;由U1,i得到U1

由U1得到第一个基矩阵Ψ1,第一个基矩阵Ψ1是构造稀疏基Ψ时所必须的中间运算结果,Ψ1=U1

(1-2)构造一个2k×2k的矩阵M2,i,其中i=1,…,n/2k,由M2,i得到U2,i,U2,i=[Orth(M2,i)]T;再通过U2,i得到U2′:

其中n2=n/4k,由U2′得到U2,其中In/2为(n/2)×(n/2)的单位矩阵;

由U2和U1,得到第二个基矩阵ψ2,ψ2=U1U2

按照构造矩阵M1,i的方法构造M1,2i和M1,2i-1

(1-3)得到第j个基矩阵ψj,其中j=2,…,log2(n/k),构造2k×2k的矩阵Mj,i,其中i=1,…,n/2k,由Mj,i可以得到Uj,i,Uj,i=[Orth(Mj,i)]T,由Uj,i可以得到Uj′:

由Uj′可以得到Uj

对于j=2,…,log2(n/k)所得的Uj和U1,可以得到第j个基矩阵ψj,ψj=U1U2…Uj

(1-4)当j取得最大值log2(n/k)时,所得第j个基矩阵ψj即为稀疏基ψ,即

(1-5)通过稀疏基ψ和原始信号x得到稀疏系数s,具体的s=ψ-1x,其中ψ-1表示求稀疏基ψ的逆矩阵;

所述稀疏系数s就是原始信号x在稀疏基ψ上稀疏表示的结果。

进一步根据所述基于第二代小波的原始信号重构方法,步骤2中所述对原始信号进行采样,由测量矩阵和原始信号得到测量值;

构造一个大小为M×N的Bernoulli随机矩阵作为测量矩阵Φ,其中每一个元素独立服从Bernoulli分布,第i行、第j列个元素用Φi,j表示:

由测量矩阵Φ和原始信号x得到测量值y,y=Φx=Φψs=As。

进一步根据所述基于第二代小波的原始信号重构方法,步骤3中所述对稀疏基、测量值及随机数种子进行存储:

将稀疏基ψ、测量值y和用作测量矩阵Φ的Bernoulli随机矩阵的随机数种子进行存储,待需要对原始信号重构时进行调用;

所述随机数种子是指计算机用于生成随机矩阵的真随机数,矩阵中的每一个元素都是通过一个来源于计算机系统时间的真随机数经算法计算得到,所述真随机数即随机数种子;在种子一定,算法一定的情况下,获得的随机矩阵是相同的;在存储时,不需要存储传输整个测量矩阵Φ,只存储随机数种子;

进一步根据所述基于第二代小波的原始信号重构方法,步骤4中所述通过迭代得到稀疏系数,利用稀疏基对原始信号进行重构,按如下步骤进行:

(4-1)获取测量值y、随机数种子以及稀疏基ψ,生成测量矩阵Φ,并由测量矩阵Φ和稀疏基ψ得到传感矩阵A,A=Φψ;

(4-2)未开始迭代时的残差r0=y,未开始迭代时的索引集合迭代次数t的初始值1,其中t为迭代次数,最大迭代次数为tmax

(4-3)由上次迭代得到的残差rt-1和传感矩阵A的行数M,得到门限Th,||·||2表示求矩阵的2范数,其中ts为门限参数ts,rt表示第t次迭代时的残差;

由传感矩阵A和残差rt-1得到一个长为N的向量u,有u=abs(ATrt-1),abs(·)表示求模值;

对于1≤j≤N,依次计算<rt-1,aj>,<·,·>表示求向量内积,将得到的N个数值构成向量u,选择u中大于门限Th的值,将对应传感矩阵A的列序号j构成集合J0,所述集合为列序号集合,J0表示每次迭代找到的索引;

(4-4)索引集合Λt=Λt-1∪J0,列集合At=At-1∪aj,求y=Atst的最小二乘解,得st的估计值更新残差t=t+1;

其中aj表示矩阵传感矩阵A的第j列,At表示按索引Λt选出的传感矩阵A的列集合;

若Λt=Λt-1,或t>tmax,或rt=0,则停止迭代;

重构所得在Λt处有非零项,其值为最后一次迭代所得稀疏系数st,为迭代结束时对稀疏系数s的最终估计值,st为第t次迭代时对稀疏系数s的估计值;

(4-5)迭代结束时,得到稀疏系数利用稀疏基ψ可重构原始信号,即得到原始信号x的估计值

所述估计值即为重构的原始信号。

本发明与现有技术相比,具有如下优点:

1.本发明由于使用第二代小波作为稀疏基对原始信号x进行稀疏表示,使得非结构化海量数据能够被很好的稀疏表示,解决了传统的基于第一代小波的压缩感知技术对非结构化海量数据的不适用性问题,获得了较大的压缩比,第二代小波是多项式,所以具有计算速度快的优点。

2.本发明由于使用了分段正交匹配追踪进行数据的重构,使得能够通过测量值y,即原始信号x压缩后的结果,在允许的失真范围内恢复出原始信号x,对提高压缩比提供了有力的保障。

附图说明

图1为本发明所述一种基于第二代小波的原始信号重构方法实现流程图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明所述方案和效果作进一步详细描述。

如图1所示,本发明对所述一种基于第二代小波的原始信号重构方法,具体步骤如下所述。

步骤1:对原始信号进行稀疏表示,通过稀疏基和原始信号得到稀疏系数。

对于给定的点集S={x1,x2,…,xn},其中x1<x2<…<xn,n=k×2l,n,k,l均为正整数。

对于任意一个2k×2k的矩阵V,则VL表取矩阵V的下边的k×2k半部分,VU表示取矩阵V的上边的k×2k半部分,有

通过第二代小波作为稀疏基对原始信号x进行稀疏表示,使得非结构化海量数据能够被很好的稀疏表示,对原始信号x进行稀疏表示,按如下步骤进行:

(1-1)构造2k×2k的矩阵M1,i如下:

其中i=1,…,n/2k,si=(i-1)2k。

矩阵M1,i的正交基U1,i,U1,i=[Orth(M1,i)]T,Orth表示求正交基运算,由U1,i得到U1

由U1得到第一个基矩阵Ψ1,第一个基矩阵Ψ1是构造稀疏基Ψ时所必须的中间运算结果,Ψ1=U1

(1-2)构造一个2k×2k的矩阵M2,i,其中i=1,…,n/2k,由M2,i得到U2,i,U2,i=[Orth(M2,i)]T,再通过U2,i得到U2′:

其中n2=n/4k,由U2′得到U2,其中In/2为(n/2)×(n/2)的单位矩阵。

由U2和U1,得到第二个基矩阵ψ2,ψ2=U1U2

按照构造矩阵M1,i的方法构造M1,2i和M1,2i-1

(1-3)得到第j个基矩阵ψj,其中j=2,…,log2(n/k),构造2k×2k的矩阵Mj,i,其中i=1,…,n/2k,由Mj,i可以得到Uj,i,Uj,i=[Orth(Mj,i)]T,由Uj,i可以得到Uj′:

由Uj′可以得到Uj

对于j=2,…,log2(n/k)所得的Uj和U1,可以得到第j个基矩阵Ψj,ψj=U1U2…Uj

(1-4)当j取得最大值log2(n/k)时,所得第j个基矩阵ψj即为稀疏基ψ,即

(1-5)通过稀疏基ψ和原始信号x得到稀疏系数s,具体的s=ψ-1x。其中ψ-1表示求稀疏基ψ的逆矩阵。

所述稀疏系数s就是原始信号x在稀疏基ψ上稀疏表示的结果。

步骤2:对原始信号进行采样,由测量矩阵和原始信号得到测量值。

构造一个大小为M×N的Bernoulli随机矩阵作为测量矩阵Φ,其中每一个元素独立服从Bernoulli分布,第i行、第j列个元素用Φi,j表示:

由测量矩阵Φ和原始信号x得到测量值y,y=Φx=Φψs=As。

步骤3:对稀疏基、测量值及随机数种子进行存储。

将稀疏基ψ、测量值y和用作测量矩阵Φ的Bernoulli随机矩阵的随机数种子进行存储,待需要对原始信号重构时进行调用。

所述随机数种子是指计算机用于生成随机矩阵的真随机数,矩阵中的每一个元素都是通过一个来源于计算机系统时间的真随机数经算法计算得到,所述真随机数即随机数种子。在种子一定,算法一定的情况下,获得的随机矩阵是相同的。在存储时,不需要存储传输整个测量矩阵Φ,只存储随机数种子。

步骤4:通过迭代得到稀疏系数,利用稀疏基对原始信号进行重构。

按如下步骤进行:

(4-1)获取测量值y、随机数种子以及稀疏基ψ,生成测量矩阵Φ,并由测量矩阵Φ和稀疏基ψ得到传感矩阵A,A=Φψ;

(4-2)未开始迭代时的残差r0=y,未开始迭代时的索引集合迭代次数t的初始值1,其中t为迭代次数,最大迭代次数为tmax

(4-3)由上次迭代得到的残差rt-1和传感矩阵A的行数M,得到门限Th,||·||2表示求矩阵的2范数,其中ts为门限参数ts,rt表示第t次迭代时的残差;

由传感矩阵A和残差rt-1得到一个长为N的向量u,u=abs(ATrt-1),abs(·)表示求模值;

对于1≤j≤N,依次计算<rt-1,aj>,<,·>表示求向量内积,将得到的N个数值构成向量u,选择u中大于门限Th的值,将对应传感矩阵A的列序号j构成集合J0,所述集合为列序号集合,J0表示每次迭代找到的索引;

(4-4)索引集合Λt=Λt-1∪J0,列集合At=At-1∪aj,求y=Atst的最小二乘解,得st的估计值更新残差t=t+1;

其中aj表示矩阵传感矩阵A的第j列,At表示按索引Λt选出的传感矩阵A的列集合;

若ΛΛ=Λt-1,或t>tmax,或rt=0,则停止迭代;

重构所得在Λt处有非零项,其值为最后一次迭代所得稀疏系数st,为迭代结束时对稀疏系数s的最终估计值,st为第t次迭代时对稀疏系数s的估计值;

(4-5)迭代结束时,得到稀疏系数利用稀疏基ψ可重构原始信号,即得到原始信号x的估计值

所述估计值即为重构的原始信号。

以上仅是对本发明的优选实施方式进行了描述,并不将本发明的技术方案限制于此,本领域技术人员在本发明的主要技术构思的基础上所作的任何公知变形都属于本发明所要保护的技术范畴,本发明具体的保护范围以权利要求书的记载为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1