应用于信道估计的数据压缩方法及相关装置、存储介质与流程

文档序号:31928144发布日期:2022-10-25 23:26阅读:168来源:国知局
应用于信道估计的数据压缩方法及相关装置、存储介质与流程

1.本技术实施例涉及通信技术领域,尤其涉及一种应用于信道估计的数据压缩方法及相关装置、存储介质。


背景技术:

2.在通信系统中,往往存在需要传输和存储大量的随机信号,如语音信号、接收信号、信道估计结果等等。随机信号通常具有很大的动态范围,譬如对于频域信道估计结果,在不同子载波上、不同符号上、不同天线上的信道估计结果的差异可能会很大。如果用一定比特的定点数去量化,为了避免峰值信号的溢出,同时对小信号保留较高的精度,往往需要占用非常多的比特数,进一步会占据大量的传输资源和存储资源。
3.从lte到nr,信道带宽由20mhz增加到了50mhz到100mhz,这意味着单位时间内更多的信道估计结果,而目前的数据压缩方案,例如,块浮点压缩方案所压缩的数据量较少,因此,仍然需要占用大量的存储资源进行数据存储,存储资源开销较大。


技术实现要素:

4.本技术实施例提供一种应用于信道估计的数据压缩方法及相关装置、存储介质,降低了压缩的数据量,减少了数据存储所占用的存储资源。
5.本技术实施例的技术方案是这样实现的:
6.本技术实施例提供了一种应用于信道估计的数据压缩方法,包括:
7.从多个信道估计结果中确定多个待压缩数据,并从所述多个待压缩数据中确定第一公共浮点指数和公共锚点;
8.根据所述第一公共浮点指数和所述公共锚点,确定与所述多个待压缩数据一一对应的多个数据余量;每个数据余量为采用所述第一公共浮点指数和所述公共锚点处理一个待压缩数据得到的数据;
9.对所述多个数据余量进行块浮点压缩处理,得到第二公共浮点指数和多个余量浮点尾数;每个余量浮点尾数为一个数据余量与所述第二公共浮点指数对应的浮点尾数;
10.将所述第一公共浮点指数、所述第二公共浮点指数和所述公共锚点确定为所述多个待压缩数据的数据压缩参数,并将所述多个余量浮点尾数确定为所述多个待压缩数据的数据压缩结果。
11.在上述方法中,所述从所述多个待压缩数据中确定第一公共浮点指数和公共锚点,包括:
12.对所述多个待压缩数据进行块浮点压缩处理,得到所述第一公共浮点指数和多个原始浮点尾数;每个原始浮点尾数为一个待压缩数据与所述第一公共浮点指数对应的浮点尾数;
13.从所述多个原始浮点尾数中,确定待量化的第一锚点数据;
14.将预设原始尾数位宽与预设锚点位宽之差作为移位值,对所述第一锚点数据进行
移位处理,得到第一移位数据;所述预设原始尾数位宽为每个原始浮点尾数的数据位宽;
15.将所述第一移位数据,量化成位宽为所述预设锚点位宽的所述公共锚点。
16.在上述方法中,所述对所述多个待压缩数据进行块浮点压缩处理,得到所述第一公共浮点指数和多个原始浮点尾数,包括:
17.查找所述多个待压缩数据的最高有效比特位的位置,确定为第一比特位;
18.基于所述第一比特位和所述预设原始尾数位宽之差,确定所述第一公共浮点指数;
19.将所述第一公共浮点指数作为移位值,分别对所述多个待压缩数据中每个待压缩数据进行移位处理,得到与所述多个待压缩数据一一对应的多个移位数据;
20.将所述多个移位数据中每个移位数据,量化成一个位宽为所述预设原始尾数位宽的原始浮点尾数,得到所述多个原始浮点尾数。
21.在上述方法中,所述从所述多个原始浮点尾数中,确定待量化的第一锚点数据,包括:
22.将所述多个原始浮点尾数的均值确定为所述第一锚点数据;
23.或者,从所述多个原始浮点尾数中,获取最大原始浮点尾数和最小原始浮点尾数;
24.将所述最大原始浮点尾数和所述最小原始浮点尾数的均值确定为所述第一锚点数据。
25.在上述方法中,所述根据所述第一公共浮点指数和所述公共锚点,确定与所述多个待压缩数据一一对应的多个数据余量,包括:
26.将所述预设原始尾数位宽与所述预设锚点位宽之差作为移位值,对所述公共锚点进行移位处理,得到第一移位锚点;
27.将所述多个原始浮点尾数中每个原始浮点尾数与所述第一移位锚点之差,确定为一个数据余量,得到所述多个数据余量。
28.在上述方法中,所述从所述多个待压缩数据中确定第一公共浮点指数和公共锚点,包括:
29.从所述多个待压缩数据中,确定待量化的第二锚点数据;
30.查找所述第二锚点数据的最高有效比特位的位置,确定为第二比特位;
31.基于所述第二比特位和预设锚点位宽之差,确定所述第一公共浮点指数;
32.将所述第一公共浮点指数作为移位值,对所述第二锚点数据进行移位处理,得到第二移位数据;
33.将所述第二移位数据,量化成位宽为所述预设锚点位宽的所述公共锚点。
34.在上述方法中,所述从所述多个待压缩数据中,确定待量化的第二锚点数据,包括:
35.将所述多个待压缩数据的均值确定为所述第二锚点数据;
36.或者,从所述多个待压缩数据中,获取最大待压缩数据和最小待压缩数据;
37.将所述最大待压缩数据和所述最小待压缩数据的均值确定为所述第二锚点数据。
38.在上述方法中,所述根据所述第一公共浮点指数和所述公共锚点,确定与所述多个待压缩数据一一对应的多个数据余量,包括:
39.将所述第一公共浮点指数作为移位值,对所述公共锚点进行移位处理,得到第二
移位锚点;
40.将所述多个待压缩数据中每个待压缩数据与所述第二移位锚点之差,确定为一个数据余量,得到所述多个数据余量。
41.在上述方法中,所述对所述多个数据余量进行块浮点压缩处理,得到第二公共浮点指数,以及与所述多个数据余量一一对应的多个余量浮点尾数,包括:
42.查找所述多个数据余量的最高有效比特位的位置,确定为第三比特位;
43.基于所述第三比特位和预设余量尾数位宽之差,确定所述第二公共浮点指数;
44.将所述第二公共浮点指数作为移位值,对所述多个数据余量中每个数据余量进行移位处理,得到与所述多个数据余量一一对应的多个余量移位数据;
45.将所述多个余量移位数据中每个余量移位数据,量化成一个位宽为所述预设余量尾数位宽的余量浮点尾数,得到所述多个余量浮点尾数。
46.本技术实施例提供了一种应用于信道估计的数据压缩装置,包括:
47.第一压缩模块,用于从多个信道估计结果中确定多个待压缩数据,并从所述多个待压缩数据中确定第一公共浮点指数和公共锚点;根据所述第一公共浮点指数和所述公共锚点,确定与所述多个待压缩数据一一对应的多个数据余量;每个数据余量为采用所述第一公共浮点指数和所述公共锚点处理一个待压缩数据得到的数据;
48.第二压缩模块,用于对所述多个数据余量进行块浮点压缩处理,得到第二公共浮点指数和多个余量浮点尾数;每个余量浮点尾数为一个数据余量与所述第二公共浮点指数对应的浮点尾数;
49.确定模块,用于将所述第一公共浮点指数、所述第二公共浮点指数和所述公共锚点确定为所述多个待压缩数据的数据压缩参数,并将所述多个余量浮点尾数确定为所述多个待压缩数据的数据压缩结果。
50.本技术实施例提供了一种终端,包括:处理器、存储器和通信总线;
51.所述通信总线,用于实现所述处理器和所述存储器之间的通信连接;
52.所述处理器,用于执行所述存储器中存储的计算机程序,以实现上述应用于信道估计的数据压缩方法。
53.一种芯片,包括处理器和接口,所述处理器通过所述接口获取计算机程序,所述处理器用于运行所述计算机程序,以实现上述应用于信道估计的数据压缩方法。
54.本技术实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述应用于信道估计的数据压缩方法。
55.本技术实施例提供了一种应用于信道估计的数据压缩方法及相关装置、存储介质,方法包括:从多个信道估计结果中确定多个待压缩数据,并从多个待压缩数据中确定第一公共浮点指数和公共锚点;根据第一公共浮点指数和公共锚点的数据余量,确定与多个待压缩数据一一对应的多个数据余量;每个数据余量为采用第一公共浮点指数和所述公共锚点处理一个待压缩数据得到的数据;对多个数据余量进行块浮点压缩处理,得到第二公共浮点指数和多个余量浮点尾数;每个余量浮点尾数为一个数据余量与第二公共浮点指数对应的浮点尾数;将第一公共浮点指数、第二公共浮点指数和公共锚点确定为多个待压缩数据的数据压缩参数,并将多个余量浮点尾数确定为多个待压缩数据的数据压缩结果。本技术实施例提供的技术方案,利用数据之间的互相关特性,在块浮点压缩技术的基础上引
入公共锚点,从而结合将公共锚点作为基准进行压缩数据的确定,可以在压缩过程中以较小的精度损失,进一步降低压缩的数据量,减少数据存储所占用的存储资源。
附图说明
56.图1为本技术实施例提供的一种应用于信道估计的数据压缩方法的流程示意图;
57.图2为本技术实施例提供的一种示例性的一阶块浮点压缩的压缩结果示意图;
58.图3为本技术实施例提供的一种示例性的二阶块浮点压缩的压缩结果示意图;
59.图4为本技术实施例提供的一种应用于信道估计的数据压缩装置的结构示意图;
60.图5为本技术实施例提供的一种终端的结构示意图。
具体实施方式
61.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
62.下面将通过实施例并结合附图具体地对本技术的技术方案以及本技术的技术方案如何解决上述技术问题进行详细说明。下面的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
63.另外,本技术实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
64.本技术实施例提供了一种应用于信道估计的数据压缩方法,通过应用于信道估计的数据压缩装置实现,该数据压缩装置可以是手机、平板电脑等电子设备,本技术实施例不作限定。
65.图1为本技术提供的一种应用于信道估计的数据压缩方法的流程示意图。如图1所示,在本技术的实施例中,应用于信道估计的数据压缩方法包括:
66.s101、从多个信道估计结果中确定多个待压缩数据,并从多个待压缩数据中确定第一公共浮点指数和公共锚点。
67.在本技术的实施例中,数据压缩装置可以获取到多个信道估计结果,从多个信道估计结果中确定多个待压缩数据,并从多个待压缩数据中确定第一公共浮点指数和公共锚点。
68.需要说明的是,在本技术的实施例中,可以在对频域上的多个子载波进行信道估计,得到与多个子载波一一对应的多个信道估计结果的情况下,对多个信道估计结果进行数据压缩。多个子载波可以为相邻子载波,多个信道估计结果之间具有互相关特性。
69.需要说明的是,在本技术的实施例中,信道估计结果为复数,包括实部和虚部,数据压缩装置在进行数据压缩时,可以将相邻子载波上信道估计结果的实部和虚部作为一个数据块进行处理,也可以将相邻子载波上信道估计结果的实部或虚部作为一个数据块进行处理。数据压缩装置从多个信道估计结果中确定多个待压缩数据,具体可以是将每个信道估计结果确定为一个待压缩数据,也可以是将每个信道估计结果中的实部确定为一个待压缩数据,还可以是将每个信道估计结果中的虚部确定为一个待压缩数据。具体的压缩方式和数据块大小可以根据实际和应用场景进行设置,本技术实施例不作限定。
70.需要说明的是,在本技术的实施例中,数据在计算机或电路中一般以二进制比特
形式存储,多个信道估计结果中每个信道估计结果具体为二进制比特形式的数据。
71.需要说明的是,在本技术的实施例中,数据压缩装置可以针对多个待压缩数据确定公共浮点指数,此外,还针对多个待压缩数据确定公共锚点。
72.需要说明的是,在本技术的实施例中,可以采用不同的方式确定第一公共浮点指数和公共锚点,以下进行两种确定方式的详述。
73.在本技术的实施例中,数据压缩装置从多个待压缩数据中确定第一公共浮点指数和公共锚点,包括:对多个待压缩数据进行块浮点压缩处理,得到第一公共浮点指数和多个原始浮点尾数;每个原始浮点尾数为一个待压缩数据与第一公共浮点指数对应的浮点尾数;从多个原始浮点尾数中,确定待量化的第一锚点数据;将预设原始尾数位宽与预设锚点位宽之差作为移位值,对第一锚点数据进行移位处理,得到第一移位数据;预设原始尾数位宽为每个原始浮点尾数的数据位宽;将第一移位数据,量化成位宽为预设锚点位宽的公共锚点。
74.需要说明的是,在本技术的实施例中,数据压缩装置可以先对多个待压缩数据进行块浮点压缩处理,这样,多个待压缩数据可以被压缩成一个公共浮点指数,即第一公共浮点指数,以及每个待压缩数据与第一公共浮点指数对应的浮点尾数。其中,每个待压缩数据与第一公共浮点指数对应的浮点尾数,就是一个原始浮点尾数。
75.需要说明的是,在本技术的实施例中,数据压缩装置将预设原始尾数位宽与预设锚点位宽之差作为移位值,对第一锚点数据进行移位处理,实际上就是将预设原始尾数位宽与预设锚点位宽之差作为移位值,对第一锚点数据向低位方向进行移位,得到第一移位数据。
76.在本技术的实施例中,数据压缩装置对多个待压缩数据进行块浮点压缩处理,得到第一公共浮点指数和多个原始浮点尾数,包括:查找多个待压缩数据的最高有效比特位的位置,确定为第一比特位;基于第一比特位和预设原始尾数位宽之差,确定第一公共浮点指数;将第一公共浮点指数作为移位值,分别对多个待压缩数据中每个待压缩数据进行移位处理,得到与多个待压缩数据一一对应的多个移位数据;将多个移位数据中每个移位数据,量化成一个位宽为预设原始尾数位宽的原始浮点尾数,得到多个原始浮点尾数。
77.需要说明的是,在本技术的实施例中,数据压缩装置首先找到多个待压缩数据的最高有效比特位(most significant bit,msb)的位置,具体的,对于正数而言最高有效比特位为第一个1的位置,对于负数而言最高有效比特位为第一个0的位置。
78.需要说明的是,在本技术的实施例中,数据压缩装置将第一公共浮点指数作为移位值,分别对多个待压缩数据中每个待压缩数据进行移位处理,实际上就是将第一公共浮点指数作为移位值,分别对多个待压缩数据中每个待压缩数据向低位方向进行移位。
79.需要说明的是,在本技术的实施例中,数据压缩装置具体可以按照以下公式(1)确定第一公共浮点指数e1:
80.e1=max(msb
1-b1+1,0)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
81.其中,msb1表示第一比特位,b1表示预设原始尾数位宽。数据压缩装置在得到e1的情况下,即可分别将每个待压缩数据统一向低位方向移位第一公共浮点指数e1比特,得到每个待压缩数据对应的移位数据,然后四舍五入保留至预先设定的预设原始尾数位宽b1,从而得到每个待压缩数据与第一公共浮点指数e1对应的原始浮点尾数。
82.在本技术的实施例中,数据压缩装置得到多个原始浮点尾数的情况下,可以按照以下步骤从多个原始浮点尾数中,确定待量化的第一锚点数据:将多个原始浮点尾数的均值确定为第一锚点数据;或者,从多个原始浮点尾数中,获取最大原始浮点尾数和最小原始浮点尾数;将最大原始浮点尾数和最小原始浮点尾数的均值确定为第一锚点数据。
83.需要说明的是,在本技术的实施例中,数据压缩装置可以从多个原始浮点尾数中确定一个待量化的第一锚点数据,之后,计算预设原始尾数位宽与预设锚点位宽之差,然后将第一锚点数据向低位方向移位该差值大小,再四舍五入保留至预设锚点位宽,得到公共锚点。公共锚点为有符号的二级制数值。
84.需要说明的是,在本技术的实施例中,预设原始尾数位宽与预设锚点位宽,可以根据实际需求和应用场景设定,本技术实施例不作限定。
85.在本技术的实施例中,上述为确定第一公共浮点指数和公共锚点的方式为第一种可选的实现方式,此外,数据压缩装置还可以以另一种方式确定第一公共浮点指数和公共锚点。以下针对第二种方式进行详述。
86.在本技术的实施例中,数据压缩装置从多个待压缩数据中确定第一公共浮点指数和公共锚点,包括:从多个待压缩数据中,确定待量化的第二锚点数据;查找第二锚点数据的最高有效比特位的位置,确定为第二比特位;基于第二比特位和预设锚点位宽之差,确定第一公共浮点指数;将第一公共浮点指数作为移位值,对第二锚点数据进行移位处理,得到第二移位数据;将第二移位数据,量化成位宽为预设锚点位宽的公共锚点。
87.需要说明的是,在本技术的实施例中,与确定第一锚点数据类似,数据压缩装置可以将多个待压缩数据的均值确定为第二锚点数据;或者,从多个待压缩数据中,获取最大待压缩数据和最小待压缩数据;将最大待压缩数据和最小待压缩数据的均值确定为第二锚点数据。
88.需要说明的是,在本技术的实施例中,数据压缩装置具体可以按照以下公式(2)确定第一公共浮点指数e1:
89.e1=max(msb
2-a+1,0)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
90.其中,msb2表示第二比特位,a表示预设锚点位宽。数据压缩装置在得到第一公共浮点指数e1的情况下,即可将第二锚点数据向低位方向移位e1比特,四舍五入保留至预先设定的预设锚点位宽a,从而得到公共锚点。
91.需要说明的是,在本技术的实施例中,上述两种第一公共浮点指数和公共锚点的方式,为两种可实现的具体方式,可以根据实际需求和应用场景选择使用,本技术实施例不作限定。
92.s102、根据第一公共浮点指数和公共锚点,确定与多个待压缩数据一一对应的多个数据余量;每个数据余量为采用第一公共浮点指数和公共锚点处理一个待压缩数据得到的数据。
93.在本技术的实施例中,数据压缩装置在得到第一公共浮点指数和公共锚点的情况下,根据第一公共浮点指数和公共锚点,确定与多个待压缩数据一一对应的多个数据余量。
94.在本技术的实施例中,针对于上述步骤s101中第一种方式确定出的第一公共浮点指数和公共锚点,数据压缩装置分根据第一公共浮点指数和公共锚点,确定与多个待压缩数据一一对应的多个数据余量,包括:将预设原始尾数位宽与预设锚点位宽之差作为移位
值,对公共锚点进行移位处理,得到第一移位锚点;将多个原始浮点尾数中每个原始浮点尾数与第一移位锚点之差,确定为一个数据余量,得到多个数据余量。
95.需要说明的是,在本技术的实施例中,数据压缩装置将预设原始尾数位宽与预设锚点位宽之差作为移位值,对公共锚点进行移位处理,实际上就是将预设原始尾数位宽与预设锚点位宽之差作为移位值,对公共锚点向高位方向进行移位。
96.需要说明的是,在本技术的实施例中,针对于上述步骤s101中第一种方式确定出的第一公共浮点指数和公共锚点,数据压缩装置可以直接从每个待压缩数据对应的第一公共浮点指数的浮点尾数,即每个原始浮点尾数中,减去anchor<<(b
1-a)得到数据余量。其中,anchor表示公共锚点,b1表示预设原始尾数位宽,a表示预设锚点位宽,<<表示算数左移,即向高位方向移位。
97.在本技术的实施例中,针对于上述步骤s101中第二种方式确定出的第一公共浮点指数和公共锚点,数据压缩装置根据第一公共浮点指数和公共锚点,确定与多个待压缩数据一一对应的多个数据余量,包括:将第一公共浮点指数作为移位值,对公共锚点进行移位处理,得到第二移位锚点;将多个待压缩数据中每个待压缩数据与第二移位锚点之差,确定为一个数据余量,得到多个数据余量。
98.需要说明的是,在本技术的实施例中,数据压缩装置将第一公共浮点指数作为移位值,对公共锚点进行移位处理,实际上就是将第一公共浮点指数作为移位值,对公共锚点向高位方向进行移位。
99.需要说明的是,在本技术的实施例中,针对于上述步骤s101中第二种方式确定出的第一公共浮点指数和公共锚点,数据压缩装置可以直接从每个待压缩数据中减去anchor<<e1得到数据余量。其中,anchor表示公共锚点,e1表示第一公共浮点指数,<<表示算数左移,即向高位方向移位。
100.需要说明的是,在本技术的实施例中,第一公共浮点指数实际上表示了不同数据共同的表示范围,公共锚点实际上表示了不同数据之间的基准数据。数据压缩装置针对每个待压缩数据,根据第一公共浮点指数和公共锚点确定对应的数据余量,可以在保证精度的前提下,有效的减少压缩数据量。
101.s103、对多个数据余量进行块浮点压缩处理,得到第二公共浮点指数和多个余量浮点尾数;每个余量浮点尾数为一个数据余量与第二公共浮点指数对应的浮点尾数。
102.在本技术的实施例中,数据压缩装置在得到多个数据余量的情况下,即可对多个数据余量进行块浮点压缩处理,得到第二公共浮点指数和多个余量浮点尾数;每个余量浮点尾数为一个数据余量与第二公共浮点指数对应的浮点尾数。
103.在本技术的实施例中,数据压缩装置对多个数据余量进行块浮点压缩处理,得到第二公共浮点指数,以及与多个数据余量一一对应的多个余量浮点尾数,包括:查找多个数据余量的最高有效比特位的位置,确定为第三比特位;基于第三比特位和预设余量尾数位宽之差,确定第二公共浮点指数;将第二公共浮点指数作为移位值,对多个数据余量中每个数据余量进行移位处理,得到与多个数据余量一一对应的多个余量移位数据;将多个余量移位数据中每个余量移位数据,量化成一个位宽为预设余量尾数位宽的余量浮点尾数,得到多个余量浮点尾数。
104.需要说明的是,在本技术的实施例中,数据压缩装置将第二公共浮点指数作为移
位值,对多个数据余量中每个数据余量进行移位处理,实际上就是将第二公共浮点指数作为移位值,对多个数据余量中每个数据余量向低位方向进行移位。
105.需要说明的是,在本技术的实施例中,与上述步骤s101中第一种确定第一公共浮点指数的方式类似,数据压缩装置对多个数据余量进行块浮点压缩处理,可以首先找到多个数据余量的msb的位置,确定为第三比特位msb3,之后,数据压缩装置具体可以按照以下公式(3)确定第二公共浮点指数e2:
106.e2=max(msb
3-b2+1,0)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
107.其中,msb2表示第三比特位,b2表示预设余量尾数位宽。数据压缩装置在得到e2的情况下,即可分别将每个数据余量统一向低位方向移位第二公共浮点指数e2比特,得到每个数据余量对应的余量移位数据,然后四舍五入保留至预先设定的预设余量尾数位宽b2,从而得到每个数据余量与第二公共浮点指数e2对应的余量浮点尾数。
108.需要说明的是,在本技术的实施例中,上述在对数据块浮点压缩中,浮点尾数、公共锚点为有符号数,公共浮点指数为无符号正数,区别在于数据的最高比特位是否作为符号位。
109.s104、将第一公共浮点指数、第二公共浮点指数和公共锚点确定为多个待压缩数据的数据压缩参数,并将多个余量浮点尾数确定为多个待压缩数据的数据压缩结果。
110.在本技术的实施例中,数据压缩装置在得到第一公共浮点指数、第二公共浮点指数、公共锚点,以及多个余量浮点尾数的情况下,即可将第一公共浮点指数、第二公共浮点指数和公共锚点确定为多个待压缩数据的数据压缩参数,将多个余量浮点尾数确定为多个待压缩数据的数据压缩结果。
111.需要说明的是,在本技术的实施例中,数据压缩装置可以存储第一公共浮点指数、第二公共浮点指数、公共锚点,以及多个余量浮点尾数,每个余量浮点尾数,与第一公共浮点指数、第二公共浮点指数和公共锚点进行反向运算,用于恢复一个待压缩数据。其中,针对上述步骤s101中第一种第一公共浮点指数和公共锚点的确定方式和步骤s102中对应的数据余量确定方式,待压缩数据可以被恢复为(x<<e2+anchor<<(b
1-a))<<e1,针对上述步骤s101中第二种第一公共浮点指数和公共锚点的确定方式和步骤s102中对应的数据余量确定方式,待压缩数据可以被恢复为x<<e2+anchor<<e1。
112.需要说明的是,在本技术的实施例中,针对上述步骤s101中第二种第一公共浮点指数和公共锚点的确定方式和步骤s102中对应的数据余量确定方式,确定出的第一公共浮点指数和第二公共浮点指数都需要较大的位宽,在此情况下,进行数据压缩结果存储时,可以存储第二公共浮点指数,以及第一公共浮点指数与第二公共浮点指数的差值,相应的,待压缩数据可以被恢复为x<<e2+anchor<<(e2+e
1-e2)=(x+anchor<<(e
1-e2))<<e2。
113.结合上述步骤s101至s104,以下进行两种具体的数据压缩步骤的说明。
114.在本技术的实施例中,数据压缩装置具体可以执行以下数据压缩步骤:step1:根据数据块中n个m比特的待压缩数据的msb的位置msb1,确定出位宽为e1的第一公共浮点指数e1=max(msb
1-b1+1,0),将n个待压缩数据统一向低位方向移位e1比特并量化为b1比特,得到第一级尾数,即n个原始浮点尾数。step2:根据n个原始浮点尾数确定一个公共锚点anchor并将其量化至a比特,并从每个原始浮点尾数中减去anchor<<(b
1-a)得到数据余量。step3:根据n个数据余量的msb的位置msb3,确定出位宽为e2的第二公共浮点指数e2=max
(msb
3-b2+1,0),将n个数据余量统一向低位方向移位e2比特并量化为b2比特,得到第二级尾数x,即n个余量浮点尾数x。step4:存储n个b2比特的余量浮点尾数x,公共浮点指数e1和e2,公共锚点anchor。
115.示例性的,以n=6,m=15,b1=8,e1=3为例给出对n个待压缩数据进行块浮点压缩前后的数据,即执行步骤step1得到的数据,最高位为符号位,参见以下表1。
116.表1
117.量化前待压缩数据原始浮点尾数解压数据000010001110110010001110000100011100000000100100100010100100100001001001000000001001010001101001010000010010100000000010011000100010011000000100110000000000100111001100100111000001001110000000001010000110001010001000010100010000第一公共浮点指数e1100(4) 118.其中,这n个待压缩数据经过块浮点压缩后,即执行步骤step1后总比特数为n*b1+e1。
119.示例性的,以b2=6,e2=2a=3为例给出n个数据余量块浮点的压缩前后的数据,即执行步骤step3得到的数据,参见以下表2。
120.表2
[0121][0122][0123]
如表2所示,需要存储的数据包括n个b2比特的余量浮点尾数x,一个e1比特的第一公共浮点指数e1,一个e2比特的第二公共浮点指数e2,一个a比特的公共锚点anchor,最终需要存储的总比特数为n*b2+e1+e2+a=44比特。
[0124]
在本技术的实施例中,数据压缩装置具体还可以执行以下数据压缩步骤:step1:
根据n个m比特的待压缩数据确定一个待量化的锚点数据,即上述步骤的第二锚点数据,根据该数据的msb的位置msb2确定第一公共浮点指数e1=max(msb
2-a+1,0),将该数据向低位方向移位e1比特并量化至a比特,作为公共锚点anchor,然后从n个待压缩数据中减去anchor<<e1得到数据余量。step2:根据n个数据余量的msb的位置msb3,确定公共指数e2=max(msb
3-b2+1,0),将n个数据余量统一向低位方向移位e2比特并量化为b2比特,得到余量浮点尾数x。step3:存储n个b2比特的余量浮点尾数x,公共浮点指数e1和e2,公共锚点anchor。
[0125]
可以理解的是,在本技术的实施例中,实际上针对多个待压缩数据进行了二阶块浮点压缩,其中,在生成多个余量数据之前所执行的步骤,实际上为一阶块浮点的构建,而在生成余量数据,并针对多个余量数据执行块浮点压缩,实际上为二阶块浮点的构建。
[0126]
图2为本技术实施例提供的一种示例性的一阶块浮点压缩的压缩结果示意图。如图2所示,在现有技术中,对于6个待压缩数据中每个待压缩数据可以以8比特浮点尾数、3比特浮点指数表示,共计66比特,一阶块浮点方案可以将所需的66比特降低到51比特,所需的存储资源降低了23%。图3为本技术实施例提供的一种示例性的二阶块浮点压缩的压缩结果示意图。如图3所示,对于同样的数据,相比于图2所示的压缩结果,所需存储的比特数进一步降低到44比特。对于图2和图3中所示的各个数据的第一个填充的方框,表示数据的符号位。
[0127]
需要说明的是,在本技术的实施例中,多个待压缩数据可以均为信道估计结果,当信道相关性较佳时,e2=0时,由一阶块浮点向二阶块浮点的压缩是没有精度损失的,本技术的数据压缩方案可以以很小的精度损失进一步降低存储资源开销。
[0128]
本技术实施例提供了一种应用于信道估计的数据压缩方法,包括:从多个信道估计结果中确定多个待压缩数据,并从多个待压缩数据中确定第一公共浮点指数和公共锚点;根据第一公共浮点指数和公共锚点的数据余量,确定与多个待压缩数据一一对应的多个数据余量;每个数据余量为所述第一公共浮点指数和公共锚点处理一个待压缩数据得到的数据;对多个数据余量进行块浮点压缩处理,得到第二公共浮点指数和多个余量浮点尾数;每个余量浮点尾数为一个数据余量与第二公共浮点指数对应的浮点尾数;将第一公共浮点指数、第二公共浮点指数和公共锚点确定为多个待压缩数据的数据压缩参数,并将多个余量浮点尾数确定为多个待压缩数据的数据压缩结果。本技术实施例提供的数据压缩方法,利用数据之间的互相关特性,在块浮点压缩技术的基础上引入公共锚点,从而结合将公共锚点作为基准进行压缩数据的确定,可以在压缩过程中以较小的精度损失,进一步降低压缩的数据量,减少数据存储所占用的存储资源。
[0129]
本技术实施例还提供了一种应用于信道估计的数据压缩装置。图4为本技术实施例提供的一种应用于信道估计的数据压缩装置的结构示意图。如图4所示,在本技术的实施例中,应用于信道估计的数据压缩装置包括:
[0130]
第一压缩模块401,用于从多个信道估计结果中确定多个待压缩数据,并从所述多个待压缩数据中确定第一公共浮点指数和公共锚点;根据所述第一公共浮点指数和所述公共锚点,确定与所述多个待压缩数据一一对应的多个数据余量;每个数据余量为采用所述第一公共浮点指数和所述公共锚点处理一个待压缩数据得到的数据;
[0131]
第二压缩模块402,用于对所述多个数据余量进行块浮点压缩处理,得到第二公共
浮点指数和多个余量浮点尾数;每个余量浮点尾数为一个数据余量与所述第二公共浮点指数对应的浮点尾数;
[0132]
确定模块403,用于将所述第一公共浮点指数、所述第二公共浮点指数和所述公共锚点确定为所述多个待压缩数据的数据压缩参数,并将所述多个余量浮点尾数确定为所述多个待压缩数据的数据压缩结果。
[0133]
在本技术一实施例中,所述第一压缩模块401,还用于对所述多个待压缩数据进行块浮点压缩处理,得到所述第一公共浮点指数和多个原始浮点尾数;每个原始浮点尾数为一个待压缩数据与所述第一公共浮点指数对应的浮点尾数;从所述多个原始浮点尾数中,确定待量化的第一锚点数据;将预设原始尾数位宽与预设锚点位宽之差作为移位值,对所述第一锚点数据进行移位处理,得到第一移位数据;所述预设原始尾数位宽为每个原始浮点尾数的数据位宽;将所述第一移位数据,量化成位宽为所述预设锚点位宽的所述公共锚点。
[0134]
在本技术一实施例中,所述第一压缩模块401,还用于查找所述多个待压缩数据的最高有效比特位的位置,确定为第一比特位;基于所述第一比特位和所述预设原始尾数位宽之差,确定所述第一公共浮点指数;将所述第一公共浮点指数作为移位值,分别对所述多个待压缩数据中每个待压缩数据进行移位处理,得到与所述多个待压缩数据一一对应的多个移位数据;将所述多个移位数据中每个移位数据,量化成一个位宽为所述预设原始尾数位宽的原始浮点尾数,得到所述多个原始浮点尾数。
[0135]
在本技术一实施例中,所述第一压缩模块401,还用于将所述多个原始浮点尾数的均值确定为所述第一锚点数据;或者,从所述多个原始浮点尾数中,获取最大原始浮点尾数和最小原始浮点尾数;将所述最大原始浮点尾数和所述最小原始浮点尾数的均值确定为所述第一锚点数据。
[0136]
在本技术一实施例中,所述第一压缩模块401,还用于将所述预设原始尾数位宽与所述预设锚点位宽之差作为移位值,对所述公共锚点进行移位处理,得到第一移位锚点;将所述多个原始浮点尾数中每个原始浮点尾数与所述第一移位锚点之差,确定为一个数据余量,得到所述多个数据余量。
[0137]
在本技术一实施例中,所述第一压缩模块401,还用于从所述多个待压缩数据中,确定待量化的第二锚点数据;查找所述第二锚点数据的最高有效比特位的位置,确定为第二比特位;基于所述第二比特位和预设锚点位宽之差,确定所述第一公共浮点指数;将所述第一公共浮点指数作为移位值,对所述第二锚点数据进行移位处理,得到第二移位数据;将所述第二移位数据,量化成位宽为所述预设锚点位宽的所述公共锚点。
[0138]
在本技术一实施例中,所述第一压缩模块401,还用于将所述多个待压缩数据的均值确定为所述第二锚点数据;或者,从所述多个待压缩数据中,获取最大待压缩数据和最小待压缩数据;将所述最大待压缩数据和所述最小待压缩数据的均值确定为所述第二锚点数据。
[0139]
在本技术一实施例中,所述第一压缩模块401,还用于将所述第一公共浮点指数作为移位值,对所述公共锚点进行移位处理,得到第二移位锚点;将所述多个待压缩数据中每个待压缩数据与所述第二移位锚点之差,确定为一个数据余量,得到所述多个数据余量。
[0140]
在本技术一实施例中,所述第二压缩模块402,还用于查找所述多个数据余量的最
高有效比特位的位置,确定为第三比特位;基于所述第三比特位和预设余量尾数位宽之差,确定所述第二公共浮点指数;将所述第二公共浮点指数作为移位值,对所述多个数据余量中每个数据余量进行移位处理,得到与所述多个数据余量一一对应的多个余量移位数据;将所述多个余量移位数据中每个余量移位数据,量化成一个位宽为所述预设余量尾数位宽的余量浮点尾数,得到所述多个余量浮点尾数。
[0141]
图5为本技术实施例提供的一种终端的结构示意图。如图5所示,在本技术的实施例中,终端包括:处理器501、存储器502和通信总线503;
[0142]
所述通信总线503,用于实现所述处理器501和所述存储器502之间的通信连接;
[0143]
所述处理器501,用于执行所述存储器502中存储的计算机程序,以实现上述应用于信道估计的数据压缩方法。
[0144]
本技术实施例还提供了一种芯片,包括处理器和接口,所述处理器通过所述接口获取计算机程序,所述处理器用于运行所述计算机程序,以实现上述应用于信道估计的数据压缩方法。
[0145]
本技术实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述应用于信道估计的数据压缩方法。计算机可读存储介质可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,ram);或者非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,rom),快闪存储器(flash memory),硬盘(hard disk drive,hdd)或固态硬盘(solid-state drive,ssd);也可以是包括上述存储器之一或任意组合的各自设备,如移动电话、计算机、平板设备、个人数字助理等。
[0146]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
[0147]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的实现流程示意图和/或方框图来描述的。应理解可由计算机程序指令实现流程示意图和/或方框图中的每一流程和/或方框、以及实现流程示意图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0148]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0149]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0150]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本实用申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1