一种有损的数据压缩、解压缩方法及其系统与流程

文档序号:23425692发布日期:2020-12-25 11:55阅读:194来源:国知局
一种有损的数据压缩、解压缩方法及其系统与流程
本发明属于移动通信领域,具体地说,涉及一种有损的数据压缩、解压缩方法及其系统。
背景技术
:随着移动通信技术的快速发展,对信号传输带宽的需求越来越大,而载波聚合等技术也会导致基带处理单元与射频拉远单元之间的传输数据量增大。这对光纤传输能力提出了更高的要求。在目前以光纤传输为主的通信系统中,传输速率为10gb/s的光模块应用已经普及,在5g的应用中甚至需要采用40g或者100g的光模块,以满足不断增加的应用需求。现有的技术中,有以下几种:现有文件1cn201010267555.4“有损数据压缩方法及基于有损数据压缩的数字通信系统”记载的技术:首先通过抽取对基带信号进行处理,降低发送信号有效带宽的数据速率,从而减少传输的数据量;现有文件2cn201210298915.6“数据压缩发送及解压缩方法和设备”记载的技术:在进行数据压缩时,发送端与接收端对分组长度n进行统一,每个分组的移位因子分解到该组压缩信号的开销比特位中进行传输,不需要进行额外传输;现有文件3201811005196.8“一种数据压缩、解压缩方法”记载的技术:为了方便解压缩端进行数据恢复,在链路中如果出现连续编号一致的移位信息编码时,则每隔一个编码产生一个同步编码,这样接收端就可以根据同步码识别同步位置。但是上述现有技术具有以下缺点:针对现有技文件1:需要对数据的能量进行统计,然后根据门限范围确定标记位进行截位处理,其标记位随cpri帧的控制字进行传输。该方法需要额外的能量门限,且标记位不随数据进行传输,这就需要额外的配对工作。本发明中只针对分组块中绝对值最大的数值进行判断移位方式,移位因子随改组压缩信号进行传输;针对现有文件2:确定移位因子后,对分组数据进行移位,然后再进行量化。该方法在确定移位因子的时候并不是考虑数据绝对值,只对比去掉符号位后的数据,这样容易造成对负数大小的误判断,造成大信号精度的丢失。例如4bit的2进制有符号数,1000表示8,但在该文献算法中,去掉符号为后为000,则在量化时并不以该数据为标准,而是采取分组中的其余数据确定位移因子;针对现有文件3:需要额外传输压缩因子与每个压缩数据的标志位。增加了压缩的开销,增大了压缩、解压缩及传输的负担。技术实现要素:本发明针对上述现有技术的缺点,提出了一种有损的数据压缩、解压缩方法及其系统,通过抽取单元对基带信号进行处理,降低发送信号有效带宽的数据速率,从而减少传输的数据量,发送端与接收端对分组长度h进行统一,每个分组的移位因子分解到该组压缩信号的开销比特位中进行传输,不需要进行额外传输;截位码的链路中如果出现连续编号一致的移位信息编码时,则使用同步编码进行部分替换,这样接收端就可以根据同步码识别同步位置,且截位码等随着压缩数据传输,不需要额外的开销。本发明具体实现内容如下:本发明提出了一种有损的数据压缩、解压缩方法,首先将定点的iq数据进行分组,对分组后的每组iq数据分别确定绝对值的最大值,然后将得到的绝对值的最大值与定标满量程时的最大功率进行比较,确定每组对应的压缩比k;根据每组的压缩比k,对每组iq数据的i数据和q数据分别进行移位和截位,完成压缩,得到压缩数据;将压缩数据根据分组长度h和压缩比k进行解压缩;所述压缩数据包括三个部分,分别为:位于最高位的符号位、位于中部位的的数据位、位于最低位的开销位;对于截位码进行编码,同时生成同步编码;当截位码的链路中出现连续的编号一致的截位码时,则使用同步编码替换连续的编号一致的截位码中的部分截位码;所述截位码存储于各组压缩数据的开销位中。为了更好地实现本发明,进一步地,所述完成压缩,得到压缩数据的具体步骤为:步骤一:确定每组iq数据的输入位宽m;步骤二:确定压缩比k;步骤三:根据输入位宽m和压缩比k确定分组长度h;步骤四:将每组iq数据分为i数据和q数据,按组为单位分别进行移位和截位;所述移位的移位信息产生的公式为:其中,i为当前分组的序号,datai为当前分组内的数据;步骤五:确定移位信息位宽n,然后根据压缩比k、输入位宽m、和移位信息位宽n,确定截位位宽bit_cut,进行截位;所述移位信息位宽n为开销位的位宽;步骤六:完成数据压缩。为了更好地实现本发明,进一步地,所述对于截位码进行编码,同时生成同步编码包括以下划分:根据步骤四中计算的wi与移位信息位宽的差值对截位码进行编码:当差值为0时,对输入数据最高位的符号位进行截位,保留低位数据位,并编码出一号编码作为截位码;当差值为1时,截位输入数据的bit0位和多余最高位的符号位,并编码出二号编码作为截位码;当差值为2时,截位输入数据的bit0~bit1位和多余最高位的符号位,并编码出三号编码作为截位码;当差值为3时,截位输入数据的bit0~bit2位和多余最高位的符号位,并编码出四号编码作为截位码;当差值为4时,截位输入数据的bit0~bit3位和多余最高位的符号位,并编码出五号编码作为截位码;当差值为5时,截位输入数据的bit0~bit4位和多余最高位的符号位,并编码出六号编码作为截位码;当差值为6时,截位输入数据的bit0~bit5位和多余最高位的符号位,并编码出七号编码作为截位码;当差值为7时,截位输入数据的bit0~bit6位和多余最高位的符号位,并编码出八号编码作为截位码;同时编码出同步编码,当所有分组数据对应的截位码生成的截位码的链路中出现了连续的编号一致的截位码时,使用同步编码对连续的编号一致的截位码中的部分截位码进行替换。为了更好地实现本发明,进一步地,所述使用同步编码替换连续的编号一致的截位码中的部分截位码过程中,对于连续的编号一致的截位码,每隔一个截位码使用同步编码进行替换。为了更好地实现本发明,进一步地,在对压缩数据进行解压缩时,对于输入的压缩数据中的bit0位进行提取,即对压缩数据的开销位进行提取,并作为解压缩的控制位;设置idle状态为失步/空闲状态,设置pre_flag_wait状态为同步测试状态,设置suc_comp_flag状态为同步状态;当检测到开销位中的同步编码后,记录当前同步编码的位置,并进入pre_flag_wait状态,测试同步的状态是否正常;当重新检测到同步编码时,如果测试到同步的状态异常,则跳回到idle状态重新进行同步;如果同步的状态为连续同步,则视为同步成功,跳到suc_comp_flag状态;若同步成功后连续测试的同步的状态异常的次数达到预先设置的门限,则跳转到idle状态重新进行同步。为了更好地实现本发明,进一步地,在解压缩过程中,对控制位即开销位中的截位码赋予以下处理定义,并根据截位码对应的处理定义进行解压缩处理:一号编码:对输入的压缩数据的最高位的符号位进行填充;二号编码:对输入的压缩数据的bit0位填充0,对最高位的符号位进行填充;三号编码:对输入的压缩数据的bit0~bit1位填充0,对最高位的符号位进行填充;四号编码:对输入的压缩数据的bit0~bit2位填充0,对最高位的符号位进行填充;五号编码:对输入的压缩数据的bit0~bit3位填充0,对最高位的符号位进行填充;六号编码:对输入的压缩数据的bit0~bit4位填充0,对最高位的符号位进行填充;七号编码:对输入的压缩数据的bit0~bit5位填充0,对最高位的符号位进行填充;八号编码:对输入的压缩数据的bit0~bit6位填充0,对最高位的符号位进行填充;同步编码:恢复上一组数据控制位。本发明还提出了一种有损的数据压缩、解压缩系统,所述系统包括对iq数据进行压缩生成压缩数据并进行发送的发送端,及接收压缩数据并对压缩数据进行解压缩的接收端;所述发送端包括依次连接的adc单元、ddc单元、抽取单元、数据压缩单元、cpri组帧单元;所述接收端包括依次连接的cpri解帧单元、数据解压缩单元、插值单元、duc单元、dac单元;所述cpri组帧单元与cpri解帧单元连接,用于传输压缩数据。本发明与现有技术相比,具有以下优点及有益效果:(1)移位因子随着数据进行传输,不需要额外的开销,且设置同步编码,保证解压缩和压缩过程中同步的准确性;(2)在进行数据压缩时,发送端与接收端对分组长度n进行统一,每个分组的移位因子分解到该组压缩信号的开销比特位中进行传输,不需要进行额外传输;(3)通过抽取对基带信号进行处理,降低发送信号有效带宽的数据速率,从而减少传输的数据量。附图说明图1为数据压缩前后的示意图;图2为同步编码进行替换的示意图;图3为数据压缩的处理流程示意图;图4为接收端的同步信号处理流程示意图;图5为本发明系统结构示意图。具体实施方式为了更清楚地说明本发明实施例的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,应当理解,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例,因此不应被看作是对保护范围的限定。基于本发明中的实施例,本领域普通技术工作人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“设置”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;也可以是直接相连,也可以是通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。实施例1:本实施例提出了一种有损的数据压缩、解压缩方法,如图1、图3所示,首先将定点的iq数据进行分组,对分组后的每组iq数据分别确定绝对值的最大值,然后将得到的绝对值的最大值与定标满量程时的最大功率进行比较,确定每组对应的压缩比k;根据每组的压缩比k,对每组iq数据的i数据和q数据分别进行移位和截位,完成压缩,得到压缩数据;将压缩数据根据分组长度h和压缩比k进行解压缩;所述压缩数据包括三个部分,分别为:位于最高位的符号位、位于中部位的的数据位、位于最低位的开销位。以实际设计情况举例:数据位宽14位,压缩后变为10位,分组组长为4,步骤如下:步骤一:确定输入位宽m=14;步骤二:确定压缩比k=14:10;步骤三:确定分组长度h=4;步骤四:将每组iq数据分别分为i数据和q数据,按组为单位分别进行移位和截位;计算得到移位信息wi如下:例如:4个14bit的2进制有符号数,分别为:11101011010110(对应10进制-1322)00011010011011(对应10进制1691)11110110110100(对应10进制-588)00010100101001(对应10进制1321);移位信息wi为2,则代表去掉2bit符号位:得到101011010110011010011011110110110100010100101001;步骤五:确定移位信息位宽n,然后根据压缩比k、输入位宽m、和移位信息位宽n,确定截位位宽bit_cut,进行截位;所述移位信息位宽n为开销位的位宽;设置移位信息位宽n为1,因为需要压缩到10bit,则得到截位位宽bit_cut:、bit_cut=m-m/k+n=14-14/(14/10)+1;=5因为已经去掉了2bit的符号位,则还需要去掉3bit的输入数据,则截掉bit0~bit2的输入数据;截位后的数据为:101011011011010011110110110010100101;然后再加上附加移位编码的开销位:1010110110011010011111011011010101001010;步骤六:完成数据压缩。工作原理:注:压缩比k可根据压缩处理的要求而定,如2:1、3:2等。压缩后的数据中最高位仍为符号位,随后是压缩后的数据的数据位部分,尾部是开销位,比如移位信息等,以便解压缩端收到压缩后的数据后能够正确地解压缩。假定待压缩数据的输入位宽m=12,压缩比k=14:10,则压缩后的数据位宽为10,若开销位为1位,则压缩后的数据最高位为符号位,随后的8位为压缩后的数据位,最低1位为开销位;本压缩模块设计采用对数据有效数据进行截位的方式进行压缩,为有损压缩。当数据有效位宽小于压缩后的位宽时,对高位符号位进行截位。当数据有效位宽多于压缩后位宽时,为了确保数据的线性,只保留数据中的一个符号位,再通过四舍五入截去多余的低位数据位。在输出数据中保留最低位。数据从14位压缩到10位的示意图如图1所示。本设计的关键在于对数据进行分组,然后寻找出每一组数据绝对值的最大值,并判断表示该最大值所需要的最大位宽,然后分别对数据进行截位,并把截位码分散存放于改组各数据的开销位上,从而节省了开销,增加了效率,同时,将截位码进行编码,并存储到开销位上,每个分组的移位因子分解到该组压缩信号的开销比特位中进行传输,不需要进行额外传输。并设置同步编码对截位码进行替换,确保了同步的精度。实施例2:本实施例在上述实施例1的基础上,为了更好地实现本发明,进一步地,所述对于截位码进行编码,同时生成同步编码包括以下划分:根据步骤四中计算的wi与移位信息位宽的差值对截位码进行编码:当差值为0时,对输入数据最高位的符号位进行截位,保留低位数据位,并编码出一号编码作为截位码;当差值为1时,截位输入数据的bit0位和多余最高位的符号位,并编码出二号编码作为截位码;当差值为2时,截位输入数据的bit0~bit1位和多余最高位的符号位,并编码出三号编码作为截位码;当差值为3时,截位输入数据的bit0~bit2位和多余最高位的符号位,并编码出四号编码作为截位码;当差值为4时,截位输入数据的bit0~bit3位和多余最高位的符号位,并编码出五号编码作为截位码;当差值为5时,截位输入数据的bit0~bit4位和多余最高位的符号位,并编码出六号编码作为截位码;当差值为6时,截位输入数据的bit0~bit5位和多余最高位的符号位,并编码出七号编码作为截位码;当差值为7时,截位输入数据的bit0~bit6位和多余最高位的符号位,并编码出八号编码作为截位码;同时编码出同步编码,当所有分组数据对应的截位码生成的截位码的链路中出现了连续的编号一致的截位码时,使用同步编码对连续的编号一致的截位码中的部分截位码进行替换。具体如下表1所示:编码说明4'b0000一号编码,对输入数据高位符号位进行截位,保留低位数据位4'b0010二号编码,截去输入数据bit0与多余高位符号位4'b0100三号编码,截去输入数据bit0~bit1与多余高位符号位4'b0110四号编码,截去输入数据bit0~bit2与多余高位符号位4'b1000五号编码,截去输入数据bit0~bit3与多余高位符号位4'b1010六号编码,截去输入数据bit0~bit4与多余高位符号位4'b1100七号编码,截去输入数据bit0~bit5与多余高位符号位4'b1110八号编码,截去输入数据bit0~bit6与多余高位符号位4’b1111同步编码,用于解压缩端恢复数据时同步数据表1本实施例的其他部分与上述实施例1相同,故不再赘述。实施例3:本实施例在上述实施例1-2任一项的基础上,如图2所示,为了更好地实现本发明,进一步地,所述使用同步编码替换连续的编号一致的截位码中的部分截位码过程中,对于连续的编号一致的截位码,每隔一个截位码使用同步编码进行替换。这里的同步编码是一个特殊的编码,在链路中如果出现连续编号一致的编码时,则每隔一个编码产生一个同步编码。如图2所示,三个4’b1010中间插入一个4’b1111,而四个连接的4’b0110中每隔一个变成4’b1111;这样接收端就可以根据同步码有识别同步位置。本实施例的其他部分与上述实施例1-2任一项相同,故不再赘述。实施例4:本实施例在上述实施例1-3任一项的基础上,如图4所示,为了更好地实现本发明,进一步地,在对压缩数据进行解压缩时,对于输入的压缩数据中的bit0位进行提取,即对压缩数据的开销位进行提取,并作为解压缩的控制位;解压缩模块对输入数据中bit0单独提取,作为控制位,其余位宽为信号位。接收端的信号处理流程如图4所示,其中idle状态为失步/空闲状态,当检测到同步码时,记录当前位置,状态机跳入同步测试状态(pre_flag_wait),当重新检测到同步码时,如果状态异常,则跳回idle重新进行同步,如果连续同步则视为同步成功,状态机跳同步状态(suc_comp_flag)。若成功同步后连续检测同步异常次数达到门限时,跳回idle重新进行同步。工作原理:本实施例的其他部分与上述实施例1-3任一项相同,故不再赘述。实施例5:本实施例在上述实施例1-4任一项的基础上,为了更好地实现本发明,进一步地,在解压缩过程中,对控制位即开销位中的截位码赋予以下处理定义,并根据截位码对应的处理定义进行解压缩处理:一号编码:对输入的压缩数据的最高位的符号位进行填充;二号编码:对输入的压缩数据的bit0位填充0,对最高位的符号位进行填充;三号编码:对输入的压缩数据的bit0~bit1位填充0,对最高位的符号位进行填充;四号编码:对输入的压缩数据的bit0~bit2位填充0,对最高位的符号位进行填充;五号编码:对输入的压缩数据的bit0~bit3位填充0,对最高位的符号位进行填充;六号编码:对输入的压缩数据的bit0~bit4位填充0,对最高位的符号位进行填充;七号编码:对输入的压缩数据的bit0~bit5位填充0,对最高位的符号位进行填充;八号编码:对输入的压缩数据的bit0~bit6位填充0,对最高位的符号位进行填充;同步编码:恢复上一组数据控制位。具体如表2所示:编码说明4'b0000一号编码,对输入数据高位符号位填充4'b0010二号编码,对输入数据bit0填充0,其它高位符号位填充4'b0100三号编码,对输入数据bit0~bit1填充0,其它高位符号位填充4'b0110四号编码,对输入数据bit0~bit2填充0,其它高位符号位填充4'b1000五号编码,对输入数据bit0~bit3填充0,其它高位符号位填充4'b1010六号编码,对输入数据bit0~bit4填充0,其它高位符号位填充4'b1100七号编码,对输入数据bit0~bit5填充0,其它高位符号位填充4'b1110八号编码,对输入数据bit0~bit6填充0,其它高位符号位填充4’b1111同步编码,恢复上一组数据控制位表2当数据同步完成之后,以每四个数据为一组提取最低位组成一个控制位编码,按照表2对数据进行填充输出。以之前的数据为例,同步后提取的压缩控制编码为4’b0110,查表2可知,需要对输入数据bit0~bit2填充0,其它高位符号位填充。解压缩后的数据为:11101011011000(对应10进制-1320)00011010011000(对应10进制1688)11110110110000(对应10进制-591)00010100101000(对应10进制1320)。本实施例的其他部分与上述实施例1-4任一项相同,故不再赘述。实施例6:本实施例还提出了一种有损的数据压缩、解压缩系统,如图5所示,所述系统包括对iq数据进行压缩生成压缩数据并进行发送的发送端,及接收压缩数据并对压缩数据进行解压缩的接收端;所述发送端包括依次连接的adc单元、ddc单元、抽取单元、数据压缩单元、cpri组帧单元;所述接收端包括依次连接的cpri解帧单元、数据解压缩单元、插值单元、duc单元、dac单元;所述cpri组帧单元与cpri解帧单元连接,用于传输压缩数据。工作原理:通过剔除iq数据中的冗余信息来减少无用信息传输所造成的支出。本文所述的数据压缩和解压缩算法是基于fpga硬件实现的,根据可编程逻辑器件的特点提出iq压缩和解压缩的结构体系。发送端的天线接收到的数据进行模数转换后,下变频到基带,然后根据有效数据占用的带宽进行滤波及抽取操作,降低数据传输速率。数据压缩模块进一步压缩iq数据的传输bit,在crpi组帧单元按照cpri协议组帧后通过光纤传输到crpi解帧单元;接收端将光纤传输的数据进行crpi解帧后,对数据进行解压缩,然后插值、上变频,进行数模转换后通过天线发送出去进行信号覆盖。本实施例的其他部分与上述实施例1-5任一项相同,故不再赘述。以上所述,仅是本发明的较佳实施例,并非对本发明做任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化,均落入本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1