利用样条函数进行有损压缩的方法和系统与流程

文档序号:11234204阅读:461来源:国知局

本发明属于空间环境监测领域,具体涉及一种利用样条函数进行时间序列有损压缩的方法和系统。



背景技术:

随着空间电子科技水平提高,使得在空间数百兆级高速数据采集和测量成为可能,但是宝贵的卫星电子存储空间和有限的星地通讯链路带宽无法完成如此大数据量的存储和传输。

为了减少数据传输量,可以对数据进行压缩。但是现有的压缩方案运算资源消耗量太大,压缩结果也不够小,不适用于数百兆级高速数据的压缩处理。



技术实现要素:

有鉴于此,本发明提供一种利用样条函数进行时间序列有损压缩的方法和系统,能够有效减少压缩算法消耗的资源,最大程度上减小压缩文件的体积,适用于空间瞬态在轨监测信号的压缩和下传。该方案也用于其他类似特征信号的采集处理。

为解决上述技术问题,本发明具体实现方案如下:

一种利用样条函数进行有损压缩的方法,包括:

步骤一、压缩时,利用样条函数对待压缩信号中的p个数据进行拟合,获得当前拟合参数,p为样条函数的阶数;以变换前后的差值在允许范围之内为条件,获得当前拟合参数能够表达的待压缩信号段a,记录将该信号段a在时间序列中的位置和当前拟合参数,作为信号段a的压缩结果;然后按照相同的方式继续对后续待压缩信号进行压缩,直到完成所有待压缩信号;

步骤二、解压缩时,利用拟合参数解压缩信号,利用信号段的位置拼接解压缩信号。

优选地,所述步骤一包括:

步骤11、待压缩信号为长度为n的输入序列x(n),n=1,2,…,n,设参数初始值n0=1,n1=p+1,m=n0;

步骤12、从待压缩信号的序列中提取数组序列x(n0),x(n0+1),…,x(n1)进行p阶多项式拟合,获得当前拟合参数c0、c1、…、cp;

步骤13、采用变换公式y(n)=c0+c1n+...+cpn2计算y(m);

步骤14、如果|y(m)-x(m)|<ε,ε为设定的误差范围,则令m自加1,返回步骤13;否则,保存n0,c0,c1,...,cp作为压缩算法的输出;然后,令n0=n1,n1=n0+p,m=n0,返回步骤12;

当上述步骤11~步骤14将序列处理到最后一个数据点时,则通过补零的方式将用于拟合的序列长度延长至n1,然后进行p阶多项式拟合,获得当前拟合参数c0、c1…cp后,保存n0,c0,c1,...,cp和n1值。

优选地,所述步骤二包括:读取存储的每一组n0,c0,c1,...,cp及n1的值,其中n1取下一组的n0;对于n=n0,n0+1,…,n1-1采用公式x(n)=c0+c1n+...+cpn2还原x(n);还原到达n1的值时读取下一组n0,c0,c1,...,cp和n1继续还原x(n),直到最后一个点x(n)。

本发明所提供的利用样条函数进行有损压缩的系统,包括压缩模块和解压缩模块;

所述压缩模块,用于利用样条函数对待压缩信号中的p个数据进行拟合,获得当前拟合参数,p为样条函数的阶数;以变换前后的差值在允许范围之内为条件,获得当前拟合参数能够表达的待压缩信号段a,记录将该信号段a在时间序列中的位置和当前拟合参数,作为信号段a的压缩结果;然后按照相同的方式继续对后续待压缩信号进行压缩,直到完成所有待压缩信号;

所述解压缩模块,用于利用拟合参数解压缩信号,利用信号段的位置拼接解压缩信号。

其中,所述压缩模块的压缩流程为:

待压缩信号为长度为n的输入序列x(n),n=1,2,…,n,设参数初始值n0=1,n1=p+1,m=n0;

从待压缩信号的序列中提取数组序列x(n0),x(n0+1),…,x(n1)进行p阶多项式拟合,获得当前拟合参数c0、c1、…、cp;

采用变换公式y(n)=c0+c1n+...+cpn2计算y(m);

如果|y(m)-x(m)|<ε,ε为设定的误差范围,则令m自加1,继续利用变换公式计算y(m)并判断;否则,保存n0,c0,c1,...,cp作为压缩算法的输出;然后,令n0=n1,n1=n0+p,m=n0,重新从待压缩信号的序列中提取数组序列,并进行后续的拟合、变换和判断;当处理到序列的最后一个数据点时,则通过补零的方式将用于拟合的序列长度延长至n1,然后进行p阶多项式拟合,获得当前拟合参数c0、c1…cp后,保存n0,c0,c1,...,cp和n1值。

其中,所述解压缩模块的解压缩流程为:读取存储的每一组n0,c0,c1,...,cp及n1的值,其中n1取下一组的n0;对于n=n0,n0+1,…,n1-1采用公式x(n)=c0+c1n+...+cpn2还原x(n);还原到达n1的值时读取下一组n0,c0,c1,...,cp和n1继续还原x(n),直到最后一个点x(n)。

优选地,所述待压缩信号为在轨偶发监测信号。

有益效果:

本发明针对在轨监测信号具备大多数时间内特征稳定,偶发瞬间变化显著,变化发生频率较低的特征,利用样条函数进行时间序列有损压缩,对信号平稳的信号段存储一组数据即可,对于信号变化显著的区域存储该段区域的一组或多组数据,能够大大减少存储量,而且样条函数的计算量也不大。

通过对监测信号的数据有效的压缩,可以有效的提高空间瞬态信号可容许的监测采样率,使其能够方便存储且通过有限的星地通讯带宽下传、在地面解压还原获取信号原始波形。

具体实施方式

下面对本发明的具体实施例进行详细描述。

在轨监测信号具备大多数时间内特征稳定,偶发瞬间变化显著,变化发生频率较低的特征,因此可以利用只需要对时间信号进行定性分析的特点进行有损压缩。本发明利用样条函数进行时间序列有损压缩,方便其在轨存储,使其可以通过有限的星地通讯带宽下传、在地面解压还原,供地面分析研究,用于空间环境效应的研究。本发明尤其适合信号长时间稳定,突发信号明显的情况。由于存储量小,因此适用于长时间采集的领域。

本发明提供的利用样条函数进行有损压缩的方法,其基本思路是:压缩时,利用p阶样条函数对待压缩信号中的p个数据进行拟合,获得当前拟合参数;以变换前后的差值在允许范围之内为条件,获得当前拟合参数能够表达的待压缩信号段a,记录将该信号段a在时间序列中的位置和当前拟合参数,作为信号段a的压缩结果;然后按照相同的方式继续对后续待压缩信号进行压缩,直到完成所有待压缩信号。解压缩时,利用拟合参数解压缩信号,利用信号段的位置拼接解压缩信号。

下面以p=2阶样条函数为例说明具体步骤。实际应用中,可根据需要采用其他阶样条函数。

压缩过程:

步骤1、给定输入序列x(n),n=1,2,…,n(即监测采集到的信号序列),以及允许的误差范围ε(即压缩容许误差,决定压缩效果)。首先设定参数初始值n0=1,n1=3(3*3矩阵进行2阶拟合),自变量m=1。

步骤2、从待压缩信号的序列中提取数组序列x(n0),x(n0+1),…,x(n1)进行2阶多项式拟合。具体做法如下:

以及

矩阵m包含一个范德蒙(vandermonde)子矩阵,所以秩等于3,因此矩阵mtm可逆。

从而获得了当前拟合参数c0、c1、c2。

步骤3、采用变化公式y(n)=c0+c1n+c2n2计算y(m),当前m=1。

步骤4、判断是否|y(m)-x(m)|<ε,则令m自加1,返回步骤3,继续计算下一个变换后的序列值;否则,变换前后的数据差超出了ε,则说明当前拟合参数只能表达当前数据段的数据,则保存n0,c0,c1,c2作为压缩算法的输出;然后,令n0=n1,n1=n0+p,m=n0,返回步骤12,对下一段数据进行拟合、变换和判断处理。

当上述步骤1~步骤4将序列处理到最后一个数据点时,则通过补零的方式将用于拟合的序列长度延长至n1,然后进行p阶多项式拟合,获得当前拟合参数c0、c1、c2后,保存n0,c0,c1,c2和n1值。

通过上述变换,只有在变换的误差在容许范围之外的情况需要存储一组数据,变换的误差在容许范围之内则无需存储,从而实现了原始时间序列信号的压缩。

还原过程:

在上述数据被压缩进行存储和传输后需要还原时,依次读取存储的每一组n0,c0,c1,c2及n1的值(即下一组的n0)还原x(n),即对于n=n0,n0+1,…,n1-1,恢复

x(n)=c0+c1n+c2n2

还原到达n1的值时读取下一组n0,c0,c1,c2和n1继续还原x(n)。

当出现n1=n,则还需要利用上式计算最后一个点x(n)。

通过上述变换,实现了数据的还原。

本发明利用样条函数进行时间序列有损压缩的方法,能够减少压缩算法消耗的资源,对在轨监测数据进行压缩,方便其在轨存储,使其可能通过有限的星地通讯带宽下传、在地面解压还原,供地面分析研究,用于空间环境效应的研究。

为实现上述方法,本发明还提供了利用样条函数进行有损压缩的系统,包括压缩模块和解压缩模块;

所述压缩模块,用于利用样条函数对待压缩信号中的p个数据进行拟合,获得当前拟合参数,p为样条函数的阶数;以变换前后的差值在允许范围之内为条件,获得当前拟合参数能够表达的待压缩信号段a,记录将该信号段a在时间序列中的位置和当前拟合参数,作为信号段a的压缩结果;然后按照相同的方式继续对后续待压缩信号进行压缩,直到完成所有待压缩信号;

所述解压缩模块,用于利用拟合参数解压缩信号,利用信号段的位置拼接解压缩信号。

其中,所述压缩模块的压缩流程为:

待压缩信号为长度为n的输入序列x(n),n=1,2,…,n,设参数初始值n0=1,n1=p+1,m=n0;

从待压缩信号的序列中提取数组序列x(n0),x(n0+1),…,x(n1)进行p阶多项式拟合,获得当前拟合参数c0、c1、…、cp;

采用变换公式y(n)=c0+c1n+...+cpn2计算y(m);

如果|y(m)-x(m)|<ε,ε为设定的误差范围,则令m自加1,继续利用变换公式计算y(m)并判断;否则,保存n0,c0,c1,...,cp作为压缩算法的输出;然后,令n0=n1,n1=n0+p,m=n0,重新从待压缩信号的序列中提取数组序列,并进行后续的拟合、变换和判断;当处理到序列的最后一个数据点时,则通过补零的方式将用于拟合的序列长度延长至n1,然后进行p阶多项式拟合,获得当前拟合参数c0、c1…cp后,保存n0,c0,c1,...,cp和n1值。

其中,所述解压缩模块的解压缩流程为:读取存储的每一组n0,c0,c1,...,cp及n1的值,其中n1取下一组的n0;对于n=n0,n0+1,…,n1-1采用公式x(n)=c0+c1n+...+cpn2还原x(n);还原到达n1的值时读取下一组n0,c0,c1,...,cp和n1继续还原x(n),直到最后一个点x(n)。

综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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