数据压缩方法、装置、计算机设备和存储介质
技术领域
本发明涉及移动通信网络技术领域,尤其涉及一种数据压缩方法、装置、计算机设备和存储介质。
背景技术
随着智能手机的普及应用,移动终端用户对于无线带宽的要求越来越高,使无线通信对光纤传输能力提出了更高的要求,这就需要更高速率的无线电收发设备、更先进的可编程门阵列器件(Field-Programmable Gate Array,FPGA)、性能更优的光模块,因此,导致设备成本显著增加,且对硬件的设计诸如印制电路板(Printed Circuit Board,PCB)的布线、功耗等提出更大的挑战。
目前在现有的基带数据传输系统中,涉及到的对于传输数据的压缩方法主要有:一种方法是将数据先进行分组再进行压缩,导致数据压缩和解压缩处理时延较大,从而减少了系统信号所覆盖的范围;而且,当采用FPGA实现数据压缩时,利用诸如A律压缩算法的非线性压缩方法,使器件实现起来难度较大,且所消耗的资源较大,提高了器件本身的制造成本;另一种方法是将待压缩数据取绝对值后的取值范围划分为个2N数值区间,若该压缩方法应用在射频耦合拉远系统中,压缩后的数据位宽有时需要9Bits,此时数据划分需要为256个数值区间,这就使后期数据处理起来比较复杂,很不灵活,且造成了数据信号传输的较大时延。
因此,如何简化基带数据传输系统中对于传输数据的压缩方法,减少时延,从而扩大基带数据传输系统的信号覆盖范围,成为了当前技术人员亟待解决的技术问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够有效简化传输数据的压缩方法,从而扩大基带数据传输系统的信号覆盖范围的方法、装置、计算机设备和存储介质。
第一方面,一种数据压缩方法,所述方法包括:
获取待压缩基带I/Q数据,并计算所述待压缩基带I/Q数据的幅度值;
根据所述待压缩基带I/Q数据确定多段幅度值范围;
根据所述待压缩基带I/Q数据所对应的幅度值范围,对所述待压缩基带I/Q数据的幅度值进行压缩处理,得到压缩后的幅度值;
根据所述压缩后的幅度值,查找压缩表中与所述幅度值对应的数据,得到压缩后的数据。
在其中一个实施例中,所述获取待压缩基带I/Q数据之前,还包括:
接收原始基带I/Q数据;所述原始基带I/Q数据为带符号位的基带I/Q数据;
从所述原始基带I/Q数据中去除符号位,得到所述待压缩基带I/Q数据;
在所述得到压缩后的数据,还包括:
对所述压缩后的数据进行符号处理,得到带符号位的压缩数据。
在其中一个实施例中,所述根据所述待压缩基带I/Q数据确定多段幅度值范围,包括:
根据所述待压缩基带I/Q数据的位宽,确定所述位宽对应的最大幅度值;
将所述位宽对应的最大幅度值划分为至少四段,得到至少四段幅度值范围。
在其中一个实施例中,所述根据所述待压缩基带I/Q数据所对应的幅度值范围,对所述待压缩基带I/Q数据的幅度值进行压缩处理,得到压缩后的幅度值,包括:
根据所述待压缩基带I/Q数据所对应的幅度值范围,提取所述待压缩基带I/Q数据的幅度值中指定长度的位数,对提取了指定长度的位数的待压缩基带I/Q数据的幅度值进行补位处理,得到压缩后的幅度值。
在其中一个实施例中,所述待压缩基带I/Q数据的位数为14位,所述根据所述待压缩基带I/Q数据所对应的幅度值范围,提取所述待压缩基带I/Q数据的幅度值中指定长度的位数,对提取了指定长度的位数的待压缩基带I/Q数据的幅度值进行补位处理,得到压缩后的幅度值,包括:
当所述待压缩基带I/Q数据的幅度值小于2048,取所述待压缩基带I/Q数据的幅度值的低11位,高二位补“00”,得到压缩后的幅度值;
当所述待压缩基带I/Q数据的幅度值大于等于2048且小于4096,取所述待压缩基带I/Q数据的幅度值的第1位到第10位,高三位补“010”,得到压缩后的幅度值;
当所述待压缩基带I/Q数据的幅度值大于等于4096且小于8192,取所述待压缩基带I/Q数据的幅度值的第2位到第11位,高三位补“011”,得到压缩后的幅度值;
当所述待压缩基带I/Q数据的幅度值大于等于8192且小于16384,取所述待压缩基带I/Q数据的幅度值的第3位到第12位,高三位补“100”,得到压缩后的幅度值。
第二方面,一种数据解压缩方法,所述方法包括:
获取压缩后的数据;并计算所述压缩后的数据的幅度值;所述压缩后的数据是根据权利要求1-5任一项所述的方法得到的数据;
根据所述压缩后的数据的幅度值,查找解压缩表中与所述幅度值对应的数据,得到解压后的数据。
在其中一个实施例中,所述获取压缩后的数据之前,还包括:
接收原始压缩数据;所述原始压缩数据为带符号位的压缩数据;
从所述原始压缩数据中去除符号位,得到所述压缩后的数据;
在所述得到解压后的数据,还包括:
对所述解压后的数据进行符号处理,得到带符号位的解压数据。
在其中一个实施例中,所述解压缩表中的内容为:在同一段幅度值范围内的多个待压缩基带I/Q数据的幅度值的平均值。
第三方面,一种数据压缩装置,所述装置包括:
第一获取模块,用于获取待压缩基带I/Q数据,并计算所述待压缩基带I/Q数据的幅度值;
确定模块,用于根据所述待压缩基带I/Q数据确定多段幅度值范围;
压缩处理模块,用于根据所述待压缩基带I/Q数据所对应的幅度值范围,对所述待压缩基带I/Q数据的幅度值进行压缩处理,得到压缩后的幅度值;
第一查表模块,用于根据所述压缩后的幅度值,查找压缩表中与所述压缩后的幅度值对应的数据,得到压缩后的数据。
第四方面,一种数据解压缩装置,所述装置包括:
第二获取模块,用于获取压缩后的数据;并计算所述压缩后的数据的幅度值;所述数据是根据权利要求1-5任一项所述的方法得到的数据;
第二查表模块模块,用于根据所述压缩后的数据的幅度值,查找解压缩表中与所述幅度值对应的数据,得到解压后的数据。
第五方面,一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取待压缩基带I/Q数据,并计算所述待压缩基带I/Q数据的幅度值;
根据所述待压缩基带I/Q数据确定多段幅度值范围;
根据所述待压缩基带I/Q数据所对应的幅度值范围,对所述待压缩基带I/Q数据的幅度值进行压缩处理,得到压缩后的幅度值;
根据所述压缩后的幅度值,查找压缩表中与所述压缩后的幅度值对应的数据,得到压缩后的数据。
第六方面,一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取压缩后的数据;并计算所述压缩后的数据的幅度值;所述压缩后的数据是根据权利要求1-5任一项所述的方法得到的数据;
根据所述压缩后的数据的幅度值,查找解压缩表中与所述幅度值对应的数据,得到解压后的数据。
第七方面,一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取待压缩基带I/Q数据,并计算所述待压缩基带I/Q数据的幅度值;
根据所述待压缩基带I/Q数据确定多段幅度值范围;
根据所述待压缩基带I/Q数据所对应的幅度值范围,对所述待压缩基带I/Q数据的幅度值进行压缩处理,得到压缩后的幅度值;
根据所述压缩后的幅度值,查找压缩表中与所述压缩后的幅度值对应的数据,得到压缩后的数据。
第八方面,一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取压缩后的数据;并计算所述压缩后的数据的幅度值;所述压缩后的数据是根据权利要求1-5任一项所述的方法得到的数据;
根据所述压缩后的数据的幅度值,查找解压缩表中与所述幅度值对应的数据,得到解压后的数据。
上述实施例中,终端获取待压缩基带I/Q数据,并计算待压缩基带I/Q数据的幅度值;再根据待压缩基带I/Q数据确定多段幅度值范围;并根据待压缩基带I/Q数据所对应的幅度值范围,对待压缩基带I/Q数据的幅度值进行压缩处理,得到压缩后的幅度值;最后根据压缩后的幅度值,查找压缩表中与幅度值对应的数据,得到压缩后的数据。在上述数据压缩的过程中,将待压缩基带I/Q数据的幅度值进行查表前的压缩处理,再根据压缩处理后的幅度值查找压缩表中的数据,对压缩后的幅度值做进一步的压缩处理,这种压缩方法相比于传统的单一查表压缩方法,大大减少了压缩表的复杂度,所以是一种简化的压缩方法,同时减少了数据压缩所消耗的时间,因此,当应用于基带数据传输系统中,尤其涉及包含多个远端射频拉远系统的应用场景时,本申请提出的数据压缩方法将大大降低传统技术中因压缩数据造成的时延,进一步的扩大了基带数据传输系统的信号覆盖范围。
附图说明
图1为一个实施例提供的一种射频拉远系统框图;
图2为一个实施例提供的一种数据压缩方法的流程示意图;
图3为一个实施例提供的一种数据压缩方法的流程示意图;
图4为图2实施例中S102的一种实现方式;
图5为图2实施例中S103的一种实现方式;
图6为一个实施例提供的一种数据解压缩方法的流程示意图;
图7为一个实施例提供的一种数据解压缩方法的流程示意图;
图8为一个实施例提供的一种数据压缩过程的系统框图;
图9为一个实施例提供的一种数据解压缩过程的系统框图;
图10为一个实施例提供的数据压缩装置的示意图;
图11为一个实施例提供的数据解压缩装置的示意图;
图12为一个实施例提供的计算机设备内部结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的数据压缩方法,可适用于如图1所示的射频拉远系统。该系统包括:基站、数据近端接入单元和远端数字射频拉远单元。从数据传输的方向分类,该系统可以包括:射频信号传输的下行链路101和射频信号传输的上行链路102。该系统的工作原理为:射频信号传输的下行链路101接收基站发送的基带I/Q射频信号,经射频下变频单元、模数转换器、数字下变频单元、基带数据压缩模块将基带I/Q射频信号经过数字化处理后,通过发送机将经过数字化处理后的基带I/Q射频信号发送到远端数字射频拉远单元的接收机上,接收机再将接收到的数字化基带I/Q射频信号经基带数据解压缩模块、数字上变频单元、数模转换器、射频上变频及放大单元,然后由天线把基带I/Q射频信号发送到空中。射频信号传输的上行链路与射频信号传输的下行链路相反,由远端数字射频拉远单元接收空中基带I/Q射频信号,经射频下变频单元、模数转换器、数字下变频单元、基带数据压缩模块、通过发送机将经过数字化处理后的信号发送给数字近端接入单元的接收机、基带数据解压缩模块、数字上变频单元、数模转换器、射频上变频及放大单元,然后经馈线或天线发送给基站。
针对传统的基带数据传输系统中存在的数据压缩复杂、时延较大、信号覆盖范围窄的问题,本发明实施例提出了一种数据压缩方法、装置、计算机设备和存储介质,可将15bit的基带I/Q数据压缩为8bit进行传输,且简化了数据压缩的过程,减少了I/Q数据信号传输的时延,从而进一步的扩大了基带数据传输系统的信号覆盖范围。本发明实施例提供的数据压缩方法可以在FPGA或其它可编程的集成电路或者终端上实现。
下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
图2为一个实施例提供的一种数据压缩方法的流程示意图,该方法适用于如图1所示的应用场景,本实施例涉及的是在射频信号传输的下行链路101的发送侧,或是射频信号传输的上行链路102的接收侧,终端对获取到的基带I/Q数据进行压缩处理的过程。该方法的执行主体是终端。如图2所示,该方法包括以下步骤:
S101、获取待压缩基带I/Q数据,并计算待压缩基带I/Q数据的幅度值。
可选的,结合如图1所示的应用场景,基带I/Q数据可以是基站发送的I/Q射频信号,经过射频下变频单元、模数转换器、数字下变频单元处理后,输出的数字中频I/Q数据,可选的,也可以是由其它应用系统中的相关器件将I/Q射频信号经过处理后,输出的数字中频I/Q数据。本实施例对此不做限制。这里的待压缩I/Q数据可以是指不带符号位的I/Q数据,可选的,也可以是带符号位的I/Q数据经过去除符号处理后的I/Q数据。
本实施例中,当终端接收到待压缩基带I/Q数据时,可以作进一步的幅度值计算。具体的幅度值计算方法可以采用计算二进制数据的绝对值的方式,即待压缩I/Q数据的幅度值为该数据对应的二进制数据的绝对值。
S102、根据待压缩I/Q数据确定多段幅度值范围。
可选的,终端在获取到待压缩I/Q数据时,可以根据与该待压缩I/Q数据相关的参数,例如,待压缩I/Q数据的幅度值、待压缩I/Q数据的位宽等参数,确定多段幅度值范围,例如,假设根据一个待压缩I/Q数据的幅度值(16383)确定多段幅度值范围,该多段幅度值范围可以分别是0~2047、2048~4095、4096~8191和8192~16383。可选的,关于幅度值范围的数量可以是四段、六段、或八段。而且每段幅度值范围可以大小不同,也可以大小相同。接下来的实施例以四段为例进行说明。
S103、根据待压缩基带I/Q数据所对应的幅度值范围,对待压缩基带I/Q数据的幅度值进行压缩处理,得到压缩后的幅度值。
在本实施例中,将待压缩基带I/Q数据的幅度值与预先分段好的幅度值范围进行比较,以确定待压缩基带I/Q数据的幅度值对应的幅度值范围,然后根据每段幅度值范围对应的压缩方法,对待压缩基带I/Q数据的幅度值进行压缩处理,以得到压缩后的幅度值。压缩后的幅度值的宽度相对于压缩前的幅度值的宽度变小了,例如,压缩前的幅度值的宽度若为14位,则对该幅度值进行压缩后,得到的压缩后的幅度值的宽度可以为13位。这里需要说明的是,不同的幅度值范围对应不同的压缩方法。
S104、根据压缩后的幅度值,查找压缩表中与压缩后的幅度值对应的数据,得到压缩后的数据。
其中,压缩表和压缩表中的内容可以预先由用户设置好存储在终端上,压缩表中的内容可以包括压缩表中的多个压缩数据,以及与该多个压缩数据相对应的压缩表地址。压缩表的长度可以由用户根据需要压缩的数据的长度预先定义,压缩表的宽度由压缩后数据的宽度确定。例如,终端需要将一个14bit的不带符号位的待压缩基带I/Q数据压缩成8bit不带符号位的I/Q数据,则根据上述实施例对待压缩基带I/Q数据的压缩方法,将待压缩基带I/Q数据的幅度值按照划分的四段幅度值范围进行查表前的压缩,则对应的压缩表的长度可以采用如下关系式(1)得到:
Lb=L+(L/2)*3 (1);
其中,Lb为压缩表的长度,L为四段幅度值范围中最小的范围对应的范围值(本实施例为2048),由关系式(1)可以计算得到压缩表的长度为5120,压缩表的宽度为8。本申请提出的压缩方法对应的压缩表所包含的数据量,相比于传统的压缩方法中的压缩表中所包含的数据量,要少很多,因此,本申请提出的压缩方法简化了对数据的压缩过程,且大大减少了对数据的压缩时间。可选的,关于压缩表内容中的压缩数据可以采用预设的压缩算法得到,
例如,当采用μ率压缩算法时,看可以采用如下公式(2)计算压缩数据:
其中,AR_2为对待压缩基带I/Q数据进行幅度值压缩后的幅度值,DR_4为压缩表输出的压缩数据,μ为压缩参数,本实施例采用μ=255。
可选的,压缩表内容中的压缩数据还可以采用A率压缩算法等其它的压缩算法,本实施例对此不做限制。关于压缩表中的压缩数据可以根据实际应用需求随时更新,以便保证压缩数据的准确性。
本实施例中,根据上述实施例所述的压缩处理过程,终端将待压缩基带I/Q数据的幅度值进行了第一次压缩,得到了一定数据宽度的幅度值,在这之后,可选的,可以将该幅度值进行第二次压缩,这里就可以通过查表法对该幅度值进行第二次压缩,具体的方法为,将经过第一次压缩后的幅度值直接作为查表地址,从压缩表中查找与该查找地址对应的数据,就可以直接得到压缩后的数据,该压缩后的数据就为第二次压缩后的数据。
上述实施例中,终端获取待压缩I/Q数据,并计算取待压缩I/Q数据的幅度值;再根据取待压缩I/Q数据确定多段幅度值范围;以及根据取待压缩I/Q数据所对应的幅度值范围,对取待压缩I/Q数据的幅度值进行压缩处理,得到压缩后的幅度值;然后再根据压缩后的幅度值,查找压缩表中与所述幅度值对应的数据,得到压缩后的数据。在上述数据压缩的过程中,将待压缩I/Q数据的幅度值进行查表前的压缩处理,再根据压缩处理后的幅度值查找压缩表中的数据,对压缩后的幅度值做进一步的压缩处理,这种压缩方法相比于传统的单一查表压缩方法,大大减少了压缩表的复杂度,所以是一种简化的压缩方法,同时减少了数据压缩所消耗的时间,因此,当应用于基带数据传输系统中,尤其涉及包含多个远端射频拉远系统的应用场景时,本申请提出的数据压缩方法将大大降低传统技术中因压缩数据造成的时延,进一步的扩大了基带数据传输系统的信号覆盖范围。
图3为一个实施例提供的一种数据压缩方法的流程示意图,该实施例涉及的是终端对带符号位的原始基带I/Q数据进行压缩处理的过程,如图3所示,所述方法包括:
S201、接收原始基带I/Q数据;原始基带I/Q数据为带符号位的基带I/Q数据。
其中,原始基带I/Q数据可以是带符号位的基带I/Q数据,也可以是不带符号位的基带I/Q数据。本实施例中的原始基带I/Q数据为带符号位的基带I/Q数据。原始基带I/Q数据可以是如图1所示的数字下变频单元输出的数据,也可以是其它应用系统中传输的基带I/Q数据。本实施例中,终端可以直接接收原始基带I/Q数据,再对该原始基带I/Q数据作进一步的处理。
S202、从原始基带I/Q数据中去除符号位,得到待压缩基带I/Q数据。
当终端接收到原始基带I/Q数据时,若该原始基带I/Q数据为带符号位的基带I/Q数据,则本申请提出的压缩方法还包括了对原始基带I/Q数据去除符号位的处理过程,实际的操作过程为:查找到原始基带I/Q数据中的符号位,再将查找到的符号位直接从原始数据中去除,并将去除的符号位保存在相应的寄存器或别的存储器中,以便之后使用。
S203、在得到压缩后的数据后,对压缩后的数据进行符号处理,得到带符号位的压缩数据。
其中,符号处理是指对数据进行符号位的添加、去除、取反等处理操作。
本实施例涉及的是当原始基带I/Q数据为带符号位的数据时,终端采用上述图2实施例中所述的方法,对该原始基带I/Q数据进行压缩后得到的数据做进一步符号处理的过程。具体可以包括:若原始基带I/Q数据的符号位为0,说明经过压缩后的数据对应的压缩前的数据为正数,则压缩后的数据与压缩前的数据的符号位一致,此时终端就可以直接用该压缩后的数据与之前去除的符号位进行组合,得到正确的压缩后的数据。相应的,若原始基带I/Q数据的符号位为1,则将压缩后的数据做取反处理,再进行加1处理,得到处理后的数据,将处理后的数据与之前去除的符号位进行组合,得到带符号位的压缩数据。
图4为图2实施例中S102的一种实现方式。该实施例涉及的是在终端对待压缩基带I/Q数据的幅度值进行压缩之前确定多段幅度值范围的具体过程,在上述实施例的基础上,如图4所示,上述S102“根据待压缩基带I/Q数据确定多段幅度值范围”,可以包括如下步骤:
S301、根据待压缩基带I/Q数据的位宽,确定位宽对应的最大幅度值。
S302、将位宽对应的最大幅度值划分为至少四段,得到至少四段幅度值范围。
终端执行步骤S301和步骤S302时,作以下处理。示例性说明,假设本实施例中的待压缩基带I/Q数据的位宽为14bit,则该位宽对应的最大幅度值可以通过计算得到,具体为2^14-1=16383。则终端可以将16383从小到大划分为四段,分别是0~2047、2048~4095、4096~8191和8192~16383。这四段数值范围就为本实施例划分的幅度值范围。可选的,将这四段幅度值范围进行归一化处理,得到对应的归一化后的幅度值范围为0~1/8、1/8~1/4、1/4~1/2、1/2~1。
图5为图2实施例中S103的一种实现方式。该实施例涉及的是终端对待压缩基带I/Q数据的幅度值进行压缩处理的过程。在上述实施例的基础上,如图5所示,上述S103“根据待压缩基带I/Q数据所对应的幅度值范围,对待压缩基带I/Q数据的幅度值进行压缩处理,得到压缩后的幅度值”,可以包括如下步骤:
S401、根据待压缩基带I/Q数据所对应的幅度值范围,提取待压缩基带I/Q数据的幅度值中指定长度的位数。
其中,待压缩基带I/Q数据的幅度值中指定长度的位数是指在一个幅度值中第几位到第几位之间的数据宽度。例如,一个14位的幅度值,则指定长度的位数就可以为第0位到第10位、第1位到第10位、第2位到第11位、第3位到第12位等。
本实施例中,从I/Q数据的幅度值中提取指定长度的位数,与待压缩基带I/Q数据所对应的幅度值范围一一对应,不同的待压缩基带I/Q数据所对应的幅度值范围对应不同的指定长度的位数。例如,当幅度值范围为0~2047时,对应的指定长度的位数为第0位到第10位;当幅度值范围为2048~4095时,对应的指定长度的位数为第1位到第10位;当幅度值范围为4096~8191时,对应的指定长度的位数为第2位到第11位;当幅度值范围为8192~16383时,对应的指定长度的位数为第3位到第12位。
S402、对提取了指定长度的位数的待压缩基带I/Q数据的幅度值进行补位处理,得到压缩后的幅度值。
本实施例中,补位处理的方法与待压缩基带I/Q数据所对应的幅度值范围一一对应,不同的待压缩基带I/Q数据所对应的幅度值范围对应不同的补位处理的方法。具体的补位处理过程为:在上述指定长度的位数外添加相应位数的数据,可以是“00”、“010”、“011”、“100”等。
在一种可选的方案中,当待压缩基带I/Q数据的位数为14位时,上述实施例可以用如下具体的方法实现,该方法包括:
当待压缩基带I/Q数据的幅度值小于2048,取该幅度值的低11位,高二位补“00”,得到压缩后的幅度值;
当待压缩基带I/Q数据的幅度值大于等于2048且小于4096,取该幅度值的第1位到第10位,高三位补“010”,得到压缩后的幅度值;
当待压缩基带I/Q数据的幅度值大于等于4096且小于8192,取该幅度值的第2位到第11位,高三位补“011”,得到压缩后的幅度值;
当待压缩基带I/Q数据的幅度值大于等于8192且小于16384,取该幅度值的第3位到第12位,高三位补“100”,得到压缩后的幅度值。
图6为一个实施例提供的一种数据解压缩方法的流程示意图,该方法适用于如图1所示的应用场景,本实施例涉及的是在射频信号传输的下行链路101的接收侧,或是射频信号传输的上行链路102的发送侧,终端对获取到的压缩后的数据进行解压缩处理的过程。该方法的执行主体是终端。如图6所示,该方法包括以下步骤:
S501、获取压缩后的数据;并计算压缩后的数据的幅度值;所述压缩后的数据是根据上述图2-图5实施例所述的任一方法得到的数据。
可选的,在本实施例中,压缩后的数据具体的为上述图2实施例执行步骤S104得到的数据,即为待解压的数据。关于该步骤中计算压缩后的数据的幅度值的方法,可参见步骤S101,与上述图2实施例中的步骤S101描述的内容一致,在此不做累赘说明。
S502、根据压缩后的数据的幅度值,查找解压缩表中与幅度值对应的数据,得到解压后的数据。
关于该步骤的内容,可参见步骤S104,与上述图2实施例中的步骤S104描述的内容一致,在此不做累赘说明。
需要说明的是,这个步骤中的解压缩表中的内容与图2实施例提供的压缩表中的内容不一致,关于解压缩表中的内容,可选的,可以具体为:在同一段幅度值范围内的多个待压缩基带I/Q数据的幅度值的平均值。
在本实施例中,解压缩表和解压缩表中的内容可以预先由用户设置好存储在终端上,解压缩表中的内容可以包括解压缩表中的多个解压缩数据,以及与该多个解压缩数据相对应的解压缩表地址。解压缩表的长度可以由用户根据需要解压的数据的长度预先定义,解压缩表的宽度由解压缩后数据的宽度确定。例如,终端需要将一个8bit的不带符号位的基带I/Q数据进行解压,生成14bit的不带符号位的基带I/Q数据,则可以得到对应的解压缩表的长度为256,压缩表的宽度为14。可选的,解压缩表内容中的解压缩数据可以预先定义,具体的可以由终端计算在同一段幅度值范围内的多个待压缩基带I/Q数据的幅度值的平均值,然后再将该平均值编辑写入到解压缩表中,以便待压缩基带I/Q数据在进行解压缩时查找使用。关于解压缩表中的解压缩数据可以根据实际应用需求随时更新,以便保证解压缩数据的准确性。
图7为一个实施例提供的一种数据解压缩方法的流程示意图,该实施例涉及的是终端对带符号位的压缩后的数据进行解压缩处理的过程,如图7所示,所述方法包括:
S601、接收原始压缩数据;原始压缩数据为带符号位的压缩数据。
关于该步骤的内容,可参见步骤S201,与上述图3实施例中的步骤S201描述的内容雷同,在此不做累赘说明。
S602、从原始压缩数据中去除符号位,得到压缩数据。
该实施例中涉及到去除原始压缩数据中的符号位的方法,具体方法可参见步骤S202所述的去除符号位的方法,与上述图3实施例中的步骤S202描述的内容雷同,在此不做累赘说明。
S603、在得到解压后的数据后,还对解压后的数据进行符号处理,得到带符号位的解压数据。
该实施例中涉及到对解压后的数据进行符号处理的方法,具体方法可参见步骤S203,与上述图3实施例中的步骤S203描述的内容雷同,在此不做累赘说明。
综合上述实施例所述的所有方法,可选的,本申请应用如图1所示系统,提供了一种对15bit的基带I/Q数据进行压缩和解压缩的过程,具体过程可参见图8所示的压缩过程示意图,和图9所示的解压缩过程示意图。图8所示的压缩方法实现了将输入的15bit的基带I/Q数据压缩生成9bit的基带I/Q数据;图9所示的解压缩方法实现了将输入的9bit的基带I/Q数据解压缩生成15bit的基带I/Q数据。接下来介绍这两种方法的具体实现过程。
在图8所示的压缩过程中,一个15bit的基带I/Q数据在输入到该系统的输入端时,采用Pipeline寄存器流水打一拍,延迟一个cycle,进行数据采样一次,再进行接下来的数据压缩处理。之后,15bit的基带I/Q数据AR_0在进行数据压缩之前,先提取该15bit的基带I/Q数据的符号位SIGN_R1,将其输入到相应的寄存器中以供之后的数据处理使用,再将剩余的14bit的基带I/Q数据,通过ABS幅度值计算装置计算得到14bit的基带I/Q数据的幅度值AR_1,并输入到相应的幅度值压缩装置中进行压缩处理,其中压缩处理的过程为:先设定四段幅度值范围,0~2047、2048~4095、4096~8191和8192~16383,将幅度值AR_1与这四段幅度值范围进行比较,确定幅度值AR_1所在的幅度值范围,再根据幅度值AR_1所对应的幅度值范围,对幅度值AR_1进行压缩处理,生成压缩后的幅度值AR_2。关于其中对幅度值AR_1的具体压缩处理过程可参见图5实施例。当该系统得到幅度值AR_2后,可以获取预先设置好的压缩表,同时可以将幅度值AR_2作为查找表地址,再根据该查找表地址在压缩表中查找到与该地址对应的压缩数据,并输出,得到压缩后的结果D_R4,之后在具体输出该数据前,可以利用Pipeline寄存器流水打拍器对符号位SIGN_R1进行多次打拍得到SIGN_R2、SIGN_R3、SIGN_R4、SIGN_R5,同样对D_R4进行打拍,得到D_R5,以保持D_R5和SIGN_R5的同步输出,然后判断符号位SIGN_R5,根据不同的符号位SIGN_R5,采用不同的方法对D_R5进行处理,处理过程的具体实现可采用图中的二进制补码器实现,对应的具体方法可参见图2实施例。经过上述的压缩过程后,该系统的末端可以生成9bit的压缩后的数据,即9bit的基带I/Q数据。需要说明的是,图中的Wr_en表示数据写操作,用于向压缩表中写入数据;图中的Wr_addr表示压缩表的地址写操作,用于编辑压缩表中的地址;图中的Wr_data表示压缩表中需要写入的数据。该系统中的压缩表可以根据实际需求进行更新,以保证压缩表中内容的准确性,以提高压缩数据的精度。
在图9所示的解压缩过程中,一个9bit的基带I/Q数据在输入到该系统的输入端时,采用Pipeline寄存器流水打一拍,延迟一个cycle,进行数据采样一次,再进行接下来的数据解压缩处理。之后,9bit的基带I/Q数据A_R00在进行数据解压缩之前,先提取该9bit的基带I/Q数据的符号位SIGN_R11,将其输入到相应的寄存器中以供之后的数据处理使用,再将剩余的8bit的基带I/Q数据,通过ABS幅度值计算装置计算得到8bit的基带I/Q数据的幅度值AR_11。当该系统得到幅度值AR_11后,可以获取预先设置好的解压缩表,同时可以将幅度值AR_11作为查找表地址,再根据该查找表地址在解压缩表中查找到与该地址对应的解压缩数据,并输出,得到解压缩后的结果D_R33,之后在具体输出该数据前,可以利用Pipeline寄存器流水打拍器对符号位SIGN_R11进行多次打拍得到SIGN_R22、SIGN_R33、SIGN_R44,同样对D_R33进行打拍,得到D_R44,以保持D_R44和SIGN_R44的同步输出,然后判断符号位SIGN_R44,根据不同的符号位SIGN_R44,采用不同的方法对D_R44进行处理,处理过程的具体实现可采用图中的二进制补码器实现,对应的具体方法可参见图7实施例。经过上述的解压过程后,该系统的末端生成15bit的解压缩后的数据,即15bit的基带I/Q数据。图中的Wr_en、Wr_addr、Wr_data具有的功能与图8中的描述一致,在此不做重复说明。
应该理解的是,虽然图2-7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-7中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行。
图10为一个实施例提供的数据压缩装置的示意图,如图10所示,所述装置包括:第一获取模块11、确定模块12、压缩处理模块13、第一查表模块14,其中:
第一获取模块11,用于获取待压缩基带I/Q数据,并计算所述待压缩基带I/Q数据的幅度值;
确定模块12,用于根据所述待压缩基带I/Q数据确定多段幅度值范围;
压缩处理模块13,用于根据所述待压缩基带I/Q数据所对应的幅度值范围,对所述待压缩基带I/Q数据的幅度值进行压缩处理,得到压缩后的幅度值;
第一查表14,用于根据所述压缩后的幅度值,查找压缩表中与所述压缩后的幅度值对应的数据,得到压缩后的数据。
上述实施例提供的一种数据压缩装置,其实现原理和技术效果与上述方法实施例类似,在此不在累赘。
上述数据压缩装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
图11为一个实施例提供的数据解压缩装置的示意图,如图11所示,所述装置包括:第二获取模块21和第二查表模块22,其中:
第二获取模块21,用于获取压缩后的数据;并计算所述压缩后的数据的幅度值;所述数据是根据上述数据压缩装置所述的方法得到的数据;
第二查表模块22,用于根据所述压缩后的数据的幅度值,查找解压缩表中与所述幅度值对应的数据,得到解压后的数据。
上述实施例提供的一种数据解压缩装置,其实现原理和技术效果与上述方法实施例类似,在此不在累赘。
上述数据解压缩装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图12所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储基带I/Q数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据压缩方法。
本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供一种计算机设备,该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现如上述各实施例中的任意一种数据压缩方法。
该计算机设备,其处理器执行程序时,通过实现如上述各实施例中的任意一种数据压缩方法,从而可以简化数据压缩的过程。
在一个实施例中,还提供一种存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现如上述各实施例中的任意一种数据压缩方法。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。该计算机存储介质,其存储的计算机程序,通过实现包括如上述各数据压缩方法的实施例的流程,从而可以简化数据压缩的过程。
此外,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双倍数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。