CN111404907A - 一种基于ieee754格式的数据压缩传输方法 - Google Patents
一种基于ieee754格式的数据压缩传输方法 Download PDFInfo
- Publication number
- CN111404907A CN111404907A CN202010161929.8A CN202010161929A CN111404907A CN 111404907 A CN111404907 A CN 111404907A CN 202010161929 A CN202010161929 A CN 202010161929A CN 111404907 A CN111404907 A CN 111404907A
- Authority
- CN
- China
- Prior art keywords
- data
- group
- checksum
- floating point
- decimal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 43
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000013144 data compression Methods 0.000 title claims abstract description 13
- 238000007667 floating Methods 0.000 claims abstract description 42
- 238000007906 compression Methods 0.000 claims abstract description 20
- 230000006835 compression Effects 0.000 claims abstract description 18
- 238000012545 processing Methods 0.000 claims description 13
- 230000006837 decompression Effects 0.000 claims description 4
- 238000001914 filtration Methods 0.000 claims description 4
- 238000002474 experimental method Methods 0.000 description 18
- 238000006243 chemical reaction Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 230000001133 acceleration Effects 0.000 description 6
- 230000009466 transformation Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 125000001967 indiganyl group Chemical group [H][In]([H])[*] 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000012958 reprocessing Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/04—Protocols for data compression, e.g. ROHC
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开了一种基于IEEE754格式的数据压缩传输方法。该方法先是将采集到的数据分组,然后依据一定规律组装成一个不超过15位的十进制数,再按照IEEE754双精度浮点型格式转化成8字节数据,对其加上数据头、数据尾及校验和之后发送;接收端接收到数据后先检查该数据是否完整并校验其是否正确,若该数据完整并正确,则先过滤数据头、数据尾及校验和后拆分该数据,再按IEEE754双精度浮点型格式转化为十进制整数,所得十进制整数按压缩前的组装格式进行分离,然后处理精度和符号,得到压缩前的数据。本发明所述方法在传输数值不大且精度较低的数据时可以显著提高传输效率,且能自主清除错误数据和残缺数据。
Description
技术领域
本发明涉及一种基于IEEE754格式的数据压缩传输方法,属于数据压缩处理技术领域。
背景技术
信息技术在各个领域应用广泛,数据传输在通信方式领域中具有至关重要的作用。Zigbee技术是一种近距离、低复杂度、低功耗、低速率、低成本的双向无线通讯技术,主要适用于距离短、功耗低且传输速率不高的各种电子设备之间进行数据传输,亦适用于典型的有周期性数据、间歇性数据和低反应时间数据传输的应用。
公开号为CN 105634499A的发明专利,公开了一种基于新短浮点型数据的数据转换方法,包括:确定数据转换的变换形式及所采用的变换算法,所述数据转换的变换形式包括但不限于压缩、解压缩、存储和传输;根据确定的变换形式采用相应的变换算法将新短浮点型数据转换为其它浮点型数据或将其它浮点型数据转换为新短浮点型数据,新短浮点型数据为8位短浮点型数据或16位短浮点型数据。该发明采用了8位短浮点型数据或16位短浮点型数据来进行数据转换,与IEEE754标准的浮点型数据相比,总位数更少,进一步加快了数据转换的速度和效率,降低数据存储量和传输成本,具有压缩率高和存储量小的优势,尤其适用于数据的有损压缩存储与传输,可广泛运用于数据处理领域。
虽然现有Zigbee技术已经很成熟,但是在其传输数值不大且精度较低的数据时,还存在固定字节数下的数据传输量较低、固定距离和浮点数个数时的伺服周期较高等不足。
发明内容
本发明要解决的技术问题是提供一种基于IEEE754格式的数据压缩传输方法,该方法在有效压缩数据的同时能够过滤传输过程中由于数据缺失造成的错误数据。
本发明所述的基于IEEE754格式的数据压缩传输方法,包括以下步骤:
1)采集所需传输的数据;
2)将采集的数据按需分为X组,X为正整数;
3)初始化组数标记值i=1及校验和C0=0;
4)取第i组数据,对其中每个数据根据需要保留相应的精度并处理符号,然后组装成一个不超过15位的十进制整数Di;
5)将组装后的十进制整数Di按IEEE754双精度浮点型格式转换成8字节数据存放至数组Qi中;
6)将数组Qi中的每个字节依次相加得到第i组的校验和Ci;
7)将第i组的校验和与第i-1组的校验和相加,取所得和的低八位重新定义为第i组的校验和Ci;
8)判断i是否等于X,如i<X,则将i+1的值赋予i,然后执行步骤4);如i=X,则执行步骤9);
9)依次添加数据头、X组中各组的字节数据、X组中最后一组的校验和以及数据尾,组成一帧完整的数据;
10)通过Zigbee上传步骤9)获得的数据;
11)判断数据发送是否结束,如未结束,返回步骤1),继续采集;如结束,则程序运行完毕。
上述基于IEEE754格式的数据压缩传输方法的步骤4)中,精度根据需要保留小数点后一位或两位甚至更多位。该步骤中,如果最后组装所得的十进制整数位数超过15位,说明分组不当,需要重新分组,直至重新分组后组装所得的十进制整数位数不超过15位。
上述基于IEEE754格式的数据压缩传输方法的步骤4)中,处理符号并组装成一个不超过15位的十进制整数的方法可以是下述两种方法中的任意一种或两种混合使用:
①设i组中有k个浮点数,每个浮点数kg分配l位,组合后共占该组十进制整数15位中的b位,其中且b<15,则剩余十进制位数为e=15-b;当时,将该组k个浮点数的所有符号位的量化值组装至该组15位十进制整数空余的第b+1至15位上;其中,当kg≥0时qg=0,当kg<0时qg=1;k、g和l均为正整数;
②设i组中有k个浮点数,其中某个浮点数kg占f位,且kg<10f/2,则当浮点数kg为负值时令kg‘=|kg|+weight,其中weigh<10f/2,将kg‘组装至该组15位十进制整数中浮点数kg相应的位置;其中,k、g和weigh均为正整数。
本发明还提供与上述数据压缩传输方法对应的数据解压缩方法,包括以下步骤:
1)通过已配对的Zigbee接收一帧数据;
2)检验接收到的数据是否为一帧完整且正确的数据,即是否有数据头、数据尾和正确的校验和;如数据不完整或不正确,则丢弃该数据,返回步骤1)继续接收下一帧数据;若数据完整且正确,则执行步骤3);
先判断接收到的整帧数据中是否同时有数据头和数据尾,若没有,则丢弃该数据,返回步骤1)继续接收下一帧数据;若有,则将该帧数据中的第2个字节至校验和的前一个字节依次进行累加,取所得和的低八位赋予checksum,判断checksum是否与前述压缩传输方法中的X组中最后一组的校验和相同,如相同则表示正确;
3)对该帧数据过滤数据头、数据尾及校验和,拆分为X组,提取出各组相应的8字节数据,其中X为正整数;
在过滤掉数据头、数据尾及校验和后,按与前述压缩传输方法中分组相应的规则进行拆分,即每8个字节拆分成一个组,分别存放于数组Hi中;
4)将各组的8字节数据按IEEE754双精度浮点型格式分别转换成X个长度为不超过15位的十进制整数;
提取所得的X个长度为不超过15位的十进制整数分别存存放于数组Ji中;
5)将得到的X个十进制整数,按压缩前的组装格式进行分离,并按压缩前的方式处理精度和符号,得到压缩前的数据。
与现有现有技术相比,本发明的特点在于:
1、改善了传统Zigbee技术的局限性,提升了数据的传输效率;
2、数据的压缩过程可以根据不同的需求,进行多元化的组装;
3、实现了数据的无损传输,并通过数据头、校验和与数据尾自动清除错误数据和残缺数据。
附图说明
图1为本发明对数据进行压缩传输的流程图。
图2为本发明对压缩的数据进行解压缩的流程图。
图3至图10是本发明验证实验例中传输距离50m,伺服周期50ms,采用本发明所述方法压缩传输32个浮点数,传输时长1min时,接收到的自行车上传感器采集到的参数。其中:图3中a、b、c、d四幅小图分别对应车架航向角q1、车架X轴线加速度a1、车架航向角速度dq1、车架Y轴线加速度a2;图4中a、b、c、d四幅小图分别对应车架横滚角速度dq2、车架Z轴线加速度a3、车把角速度dq4、车架横滚角q2;图5中a、b、c、d四幅小图分别对应车架俯仰角速度dq3、车架俯仰角q3、车轮角速度dq5、车把电流i4;图6中a、b、c、d四幅小图分别对应车把转角q4、车轮电流i5、计数器高位CNTH、计数器低位CNTL;图7中a、b、c、d四幅小图分别对应车架航向角q1、车架X轴线加速度a1、车架航向角速度dq1、车架Y轴线加速度a2;图8中a、b、c、d四幅小图分别对应车架横滚角速度dq2、车架Z轴线加速度a3、车把角速度dq4、车架横滚角q2;图9中a、b、c、d四幅小图分别对应车架俯仰角速度dq3、车架俯仰角q3、车轮角速度dq5、车把电流i4;图10中a、b、c、d四幅小图分别对应车把转角q4、车轮电流i5、计数器高位CNTH、计数器低位CNTL。
图11和图12为本发明验证实验例中传输距离50m,伺服周期50ms,采用现有常规方法(未压缩)传输32个浮点数,传输时长1min时,接收到的自行车上传感器采集到的参数。其中,图11中a、b、c、d四幅小图分别对应车架航向角q1、车架X轴线加速度a1、车架航向角速度dq1、车架Y轴线加速度a2;图12中a、b、c、d四幅小图分别对应车架横滚角速度dq2、车架Z轴线加速度a3、车把角速度dq4、车架横滚角q2。
说明:本发明验证实验例中所用自行车只需观测16个状态数据,为了验证本发明所述方法的数据传输量,(标出是哪一组实验)在实验中使用本发明所述方法压缩传输数据时,一帧数据信息中将该16个数据按顺序重复压缩(一帧共计传输32个浮点数),因此图3至图6分别与图7至图10数据相同,但实际为每一帧数据中不同位置数据压缩后再经解压缩得到的数据。
具体实施方式
下面结合具体实施例对本发明作进一步的详述,以更好地理解本发明的内容,但本发明并不限于以下实施例。
实施例1
一、数据压缩传输:
1)采集N个数据,N为正整数。
例如:采集到的数据为-169.224、12.3014、36.489、53.2159、-462.364、-45.36、-99.3705、-365.24。
2)根据具体情况(需要考虑保留的精度及符号位的处理等情况)把N个数据分为X组,X为正整数。
具体是将N个数据分为两组,则X=2,第1组记为a,第2组记为b,如下:
数据 | a<sub>1</sub> | a<sub>2</sub> | a<sub>3</sub> | a<sub>4</sub> |
值 | -169.224 | 12.3014 | 736.489 | 53.2159 |
数据 | b<sub>1</sub> | b<sub>2</sub> | b<sub>3</sub> | b<sub>4</sub> |
值 | -462.364 | -45.36 | -99.3705 | -65.24 |
3)初始化组数标记值i=1及校验和C0=0。
4)取第1组数据,对其中每个数据根据需要保留相应的精度并处理符号,然后组装成一个不超过15位的十进制整数D1(默认第一次i=1)。
如下述第1组数据:
数据 | a<sub>1</sub> | a<sub>2</sub> | a<sub>3</sub> | a<sub>4</sub> |
值 | -169.224 | 12.3014 | 736.489 | 53.2159 |
其中a1为负值,且绝对值不超过500,
令a1=|a1|+500,a2,a3,a4均为正值,则s1=0×20+0×21+0×22=0;
数据a1,a3的绝对值小于1000,a2,a4的绝对值小于100。每个数据均保留小数点后一位精度(数据精度应根据实际需要来定,此处仅为举例说明),然后取其绝对值。
经过处理得:
数据 | a<sub>1</sub> | a<sub>2</sub> | a<sub>3</sub> | a<sub>4</sub> |
值 | 669.2 | 12.3 | 736.4 | 53.2 |
D1=s1×1014+a1×10×1010+a2×10×107+a3×10×103+a4×10
最终得D1=66921237364532。
5)将组装后的十进制整数Di按IEEE754双精度浮点型格式转换成8字节数据存放至数组Qi中。
例如:将D1按IEEE754双精度浮点型格式转换为8字节数据存放于数组Q1中,有
6)将数组Qi中的每个字节依次相加得到第i组的校验和Ci。
例如:C1=42+CE+6E+A8+4A+5F+9A+00=0369。
7)将第i组的校验和与第i-1组的校验和相加,取所得和的低八位重新定义为第i组的校验和Ci。
令Ci=Ci+Ci-1(默认C0=0),则
C1=C1+C0=0369,取该和的低8位重新定义为第1组的校验和Ci,即C1=69。
8)判断i=1是否等于X=2,因i<X,所以令i=i+1,然后重新读取下一组(即第2组)数据,并进行下一组数据的组装(步骤8-1)至步骤8-5))。
8-1)取第2组数据(包括符号),对其中每个数据根据需要保留相应的精度并处理符号,然后组装成一个不超过15位的十进制整数D2。
第2组数据如下:
数据 | b<sub>1</sub> | b<sub>2</sub> | b<sub>3</sub> | b<sub>4</sub> |
值 | -462.364 | -45.36 | -99.3705 | -65.24 |
其中b1为负值,且绝对值不超过500,
则令b1=|b1|+500,b2,b3,b4均为负值,则s2=1×20+1×21+1×22=7。
数据b1,b3的绝对值小于1000,b2,b4的绝对值小于100。把每个数据均保留小数点后一位精度,然后取其绝对值。
经过处理得:
D2=s2×1014+b1×10×1010+b2×10×107+b3×10×103+b4×10
最终得D2=796234530993652。
8-2)将组装后的十进制整数D2按IEEE754双精度浮点型格式转换成8字节数据存放至数组Q2中,有:
8-3)将数组Q2中的每个字节依次相加得到第i组的校验和C2。
例如:C2=43+06+A1+5E+63+05+AF+A0=2FF。
8-4)将第2组的校验和与第1组的校验和相加,取所得和的低八位重新定义为第2组的校验和C2。
C'2=C2+C1=168,取该和的低8位重新定义为第2组的校验和C2,即C2=68。
8-5)判断i=2是否等于X=2,因i=X,数据组装完成,所以则执行步骤9);
9)依次添加数据头、X组中各组的字节数据、X组中最后一组的校验和以及数据尾,组成一帧完整的数据。
具体的,添加一个字节的数据头(本实施例中定为‘H’),依次添加X组中各组8字节数据,再X组中最后一组的校验和,最后再添加一个字节的数据尾(本实施例中定为‘T’),组成一帧完整的数据DATA。
例如:对Q1和Q2进行组装,得:
10)通过Zigbee上传步骤9)获得的数据;
11)判断数据发送是否结束,如未结束,返回步骤1),继续采集;如结束,则程序运行完毕。
二、数据解压缩:
1)通过已配对的Zigbee接收一帧数据。
从判断到有数据头“H”开始接收一帧数据:
例如:H 42CE 6E A8 4A 5F 9A00 43 06A1 5E 63 05AF A0 68T。
2)检验接收到的数据是否为一帧完整且正确的数据,即是否有数据头、数据尾和正确的校验和;如数据不完整或不正确,则丢弃该数据,返回步骤1)继续接收下一帧数据;若数据完整且正确,则执行步骤3);
先判断接收到的整帧数据中是否同时有数据头和数据尾,若没有,则丢弃该数据,返回步骤1)继续接收下一帧数据;若有,则将该帧数据中的第2个字节至校验和的前一个字节(本实施例中是第2个字节至第第17个字节)依次进行累加,取所得和的低八位赋予checksum,如下表:
其中:42+CE+6E+A8+4A+5F+9A+00+43+06+A1+5E+63+05+AF+A0=0668,所得和的低八位为68,即checksum=68,与前述压缩传输方法中的X组中最后一组的校验和相同,如相同则表示正确,即得到一帧完整且正确的数据DATA;
3)对该帧数据过滤数据头、数据尾及校验和,拆分为X组,提取出各组相应的8字节数据,其中X为正整数;
例如:得到一帧完整且正确的数据:H 42CE 6E A8 4A 5F 9A00 43 06 A15E 6305AF A0 68T,剔除数据头、数据尾和校验和,得到42 CE 6E A8 4A 5F9A00 43 06A 1 5E63 05AF A0,按8字节进行拆分为2组分别存放于数组H1和H2中,得:
数据组 | H<sub>1</sub> | H<sub>2</sub> |
字节 | 42CE 6E A8 4A 5F 9A 00 | 43 6A1 5E 63 05AF A0 |
4)将H1和H2中的8字节数据按IEEE754双精度浮点型格式分别转换成2个长度为不超过15位的十进制整数;所得的2个长度为不超过15位的十进制整数分别存存放于数组J1和J2中,得:
数据 | J<sub>1</sub> | 66921237364532 |
数据 | J<sub>2</sub> | 796234530993652 |
5)将得到的2个十进制整数,按压缩前的组装格式进行分离,并按压缩前的方式处理精度和符号,得到压缩前的数据。
经过数据拆分计算得:
数据 | a<sub>1</sub> | a<sub>2</sub> | a<sub>3</sub> | a<sub>4</sub> | b<sub>1</sub> | b<sub>2</sub> | b<sub>3</sub> | b<sub>4</sub> |
值 | 669.2 | 12.3 | 736.4 | 53.2 | 962.3 | 45.3 | 99.3 | 99.3 |
其中a1,b1均大于500,则由压缩过程中的数据处理可知,a1,b1应为负值,还原处理得到a1=-169.2,b1=-462.3。再处理第15位的符号数据信息,J1中其第15位为0,J2中其第15位为7,解析则得:
数据 | a<sub>1</sub> | a<sub>2</sub> | a<sub>3</sub> | a<sub>4</sub> | b<sub>1</sub> | b<sub>2</sub> | b<sub>3</sub> | b<sub>4</sub> |
值 | -169.2 | 12.3 | 736.4 | 53.2 | -462.3 | -45.3 | -99.3 | -65.2 |
与压缩前数据一致。
应用实验例1
采用实验设备为自行车机器人样机,样机上有传3个传动关节,共安装增量式编码器3个,分别采集各个关节的转动角速度;绝对式编码器1个,采集车把转动角度;车架上安装陀螺仪1个,采集样机姿态用;驱动器3个,采集各个驱动关节处的电流。最终采集航向角q1,横滚角q2,俯仰角q3,航向角速度dq1,横滚角速度dq2,俯仰角速度dq3,航向角加速度a1,横滚角加速度a2,俯仰角加速度a3,车把转角q4,车把转角速度dq4,车把驱动电流i4,前车轮转速dq5,前车轮驱动电流i5,记录时间戳CNT,并将其分为时间戳低位CNTL,和时间戳高位CNTH。由于传感器自身高精度以及数据后处理的需求,对每个数据均保留小数点后一位精度。由于实验测试中,样机处于相对固定状态,因此数据中某些值为0或仅在小范围内波动。考虑到实验过程中存在不可控的偶然因素影响,遂每组实验都进行10次并剔除存在奇异值的数据组,取有效实验数据的平均值进行统计分析。其中,第一列、第三列中的数据各占每组15位十进制数的4位,第二列、第四列中的数据各占每组15位十进制数的3位。如下:
数据变量名 | q<sub>1</sub> | a<sub>1</sub> | dq<sub>1</sub> | a<sub>2</sub> |
数据占十进制位数 | 4 | 3 | 4 | 3 |
数据变量名 | dq<sub>2</sub> | a<sub>3</sub> | dq<sub>4</sub> | q<sub>2</sub> |
数据占十进制位数 | 4 | 3 | 4 | 3 |
数据变量名 | dq<sub>3</sub> | q<sub>3</sub> | dq<sub>5</sub> | i<sub>4</sub> |
数据占十进制位数 | 4 | 3 | 4 | 3 |
数据变量名 | q<sub>4</sub> | i<sub>5</sub> | CNTH | CNTL |
数据占十进制位数 | 4 | 3 | 4 | 3 |
同时采用现有常规方法(未压缩)进行同样实验作为对比。
实验具体分组对应参数如下表所示,每种情况各做10次:
取其中一组实验数据统计绘图实例,分别如图3至图10所示。图3至图10采集到的数据,具体实验的参数:距离50m,传输32个浮点数,伺服周期50ms,传输时长1min,每帧数据长度为67byte。
而采用现有常规方法(未压缩)进行同样实验采集到的数据如图11和图12所示,具体实验的参数:距离50m,传输8个浮点数,伺服周期50ms,传输时长1min,每帧数据长度为67byte。
通过以上改变伺服周期、接收时长的实验,可以分析出以下结论:当每帧数据的长度为67byte时,在不同伺服周期和数据接收时长下,采用本发明所述方法传输的浮点数个数均能达到普通传输方式的四倍。以上实验证明本发明所述方法在硬件设备不变的情况下,明显提高了数据传输效率。
Claims (3)
1.一种基于IEEE754格式的数据压缩传输方法,包括以下步骤:
1)采集所需传输的数据;
2)将采集的数据按需分为X组,X为正整数;
3)初始化组数标记值i=1及校验和C0=0;
4)取第i组数据,对其中每个数据根据需要保留相应的精度并处理符号,然后组装成一个不超过15位的十进制整数Di;
5)将组装后的十进制整数Di按IEEE754双精度浮点型格式转换成8字节数据存放至数组Qi中;
6)将数组Qi中的每个字节依次相加得到第i组的校验和Ci;
7)将第i组的校验和与第i-1组的校验和相加,取所得和的低八位重新定义为第i组的校验和Ci;
8)判断i是否等于X,如i<X,则将i+1的值赋予i,然后执行步骤4);如i=X,则执行步骤9);
9)依次添加数据头、X组中各组的字节数据、X组中最后一组的校验和以及数据尾,组成一帧完整的数据;
10)通过Zigbee上传步骤9)获得的数据;
11)判断数据发送是否结束,如未结束,返回步骤1),继续采集;如结束,则程序运行完毕。
2.根据权利要求1所述的基于IEEE754格式的数据压缩传输方法,其特征在于:步骤4)中,处理符号并组装成一个不超过15位的十进制整数的方法为下述两种方法中的任意一种或两种混合使用:
①设i组中有k个浮点数,每个浮点数kg分配l位,组合后共占该组十进制整数15位中的b位,其中且b<15,则剩余十进制位数为e=15-b;当时,将该组k个浮点数的所有符号位的量化值组装至该组15位十进制整数空余的第b+1至15位上;其中,当kg≥0时qg=0,当kg<0时qg=1;k、g和l均为正整数;
②设i组中有k个浮点数,其中某个浮点数kg占f位,且kg<10f/2,则当浮点数kg为负值时令kg‘=|kg|+weight,其中weigh<10f/2,将kg‘组装至该组15位十进制整数中浮点数kg相应的位置;其中,k、g和weigh均为正整数。
3.与权利要求1所述数据压缩传输方法对应的数据解压缩方法,包括以下步骤:
1)通过已配对的Zigbee接收一帧数据;
2)检验接收到的数据是否为一帧完整且正确的数据,即是否有数据头、数据尾和正确的校验和;如数据不完整或不正确,则丢弃该数据,返回步骤1)继续接收下一帧数据;若数据完整且正确,则执行步骤3);
3)对该帧数据过滤数据头、数据尾及校验和,拆分为X组,提取出各组相应的8字节数据,其中X为正整数;
4)将各组的8字节数据按IEEE754双精度浮点型格式分别转换成X个长度为不超过15位的十进制整数;
5)将得到的X个十进制整数,按压缩前的组装格式进行分离,并按压缩前的方式处理精度和符号,得到压缩前的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010161929.8A CN111404907B (zh) | 2020-03-10 | 2020-03-10 | 一种基于ieee754格式的数据压缩传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010161929.8A CN111404907B (zh) | 2020-03-10 | 2020-03-10 | 一种基于ieee754格式的数据压缩传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111404907A true CN111404907A (zh) | 2020-07-10 |
CN111404907B CN111404907B (zh) | 2022-04-22 |
Family
ID=71432277
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010161929.8A Active CN111404907B (zh) | 2020-03-10 | 2020-03-10 | 一种基于ieee754格式的数据压缩传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111404907B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113254259A (zh) * | 2021-05-10 | 2021-08-13 | 桂林电子科技大学 | 一种用于改善低精度浮点数传输效率的方法 |
CN115460163A (zh) * | 2022-08-18 | 2022-12-09 | 深圳市千岩科技有限公司 | 数据处理方法、装置、电子设备以及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150286465A1 (en) * | 2014-04-07 | 2015-10-08 | International Business Machines Corporation | Compression of floating-point data by identifying a previous loss of precision |
CN105024702A (zh) * | 2015-07-08 | 2015-11-04 | 西安理工大学 | 一种面向科学计算的浮点型数据无损压缩方法 |
CN105022631A (zh) * | 2015-07-08 | 2015-11-04 | 西安理工大学 | 一种面向科学计算的浮点型数据并行无损压缩方法 |
CN105634499A (zh) * | 2015-12-30 | 2016-06-01 | 广东工业大学 | 一种基于新短浮点型数据的数据转换方法 |
CN106534152A (zh) * | 2016-11-30 | 2017-03-22 | 安徽佳通乘用子午线轮胎有限公司 | 一种基于数据压缩及加密的远程数据传输方法 |
US20180102788A1 (en) * | 2016-10-07 | 2018-04-12 | Kabushiki Kaisha Toshiba | Data compressing device, data decompressing device, and data compressing/decompressing apparatus |
-
2020
- 2020-03-10 CN CN202010161929.8A patent/CN111404907B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150286465A1 (en) * | 2014-04-07 | 2015-10-08 | International Business Machines Corporation | Compression of floating-point data by identifying a previous loss of precision |
CN105024702A (zh) * | 2015-07-08 | 2015-11-04 | 西安理工大学 | 一种面向科学计算的浮点型数据无损压缩方法 |
CN105022631A (zh) * | 2015-07-08 | 2015-11-04 | 西安理工大学 | 一种面向科学计算的浮点型数据并行无损压缩方法 |
CN105634499A (zh) * | 2015-12-30 | 2016-06-01 | 广东工业大学 | 一种基于新短浮点型数据的数据转换方法 |
US20180102788A1 (en) * | 2016-10-07 | 2018-04-12 | Kabushiki Kaisha Toshiba | Data compressing device, data decompressing device, and data compressing/decompressing apparatus |
CN106534152A (zh) * | 2016-11-30 | 2017-03-22 | 安徽佳通乘用子午线轮胎有限公司 | 一种基于数据压缩及加密的远程数据传输方法 |
Non-Patent Citations (2)
Title |
---|
HARADA, NOBORU.: ""Lossles Compression of Speech and Audio Signals and Its Applications."", 《DOSTUPNO NA: HTTP://WWW. KECL. NTT. CO. JP/PEOPLE/HARADA. NOBORU (2017)》 * |
孙毅等: ""浮点型数据的无损压缩"", 《PROCEEDINGS OF 2011 AASRI CONFERENCE ON APPLIED INFORMATION TECHNOLOGY(AASRI-AIT 2011 V2).ED. AMERICAN APPLIED SCIENCES RESEARCH INSTITUTE》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113254259A (zh) * | 2021-05-10 | 2021-08-13 | 桂林电子科技大学 | 一种用于改善低精度浮点数传输效率的方法 |
CN113254259B (zh) * | 2021-05-10 | 2024-03-22 | 桂林电子科技大学 | 一种用于改善低精度浮点数传输效率的方法 |
CN115460163A (zh) * | 2022-08-18 | 2022-12-09 | 深圳市千岩科技有限公司 | 数据处理方法、装置、电子设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111404907B (zh) | 2022-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111404907B (zh) | 一种基于ieee754格式的数据压缩传输方法 | |
CN1104094C (zh) | 数据压缩方法和设备 | |
CN1949670A (zh) | 一种数据压缩及解压缩方法 | |
CN1173952A (zh) | 错误修正编码装置,错误修正译码装置和通信系统 | |
EP1588493A2 (de) | Blockdatenkompressionssystem, bestehend aus einer kompressionseinrichtung und einer dekompressionseinrichtung, und verfahren zur schnellen blockdatenkompression mit multi-byte-suche | |
CN110704649A (zh) | 一种用于构建流量图像数据集的方法及系统 | |
CN112131865B (zh) | 一种轨道交通报文数字压缩处理方法、装置及存储介质 | |
CN101427472A (zh) | 用于熵编码和解码的方法和设备 | |
EP3171553A1 (de) | Verfahren zur übertragung von daten wenigstens eines messgrössenaufnehmers eines steuernetzwerks, sender, empfänger, messgrössenaufnahmevorrichtung und steuernetzwerk | |
CN115278777A (zh) | 一种车载净化器数据传输方法 | |
AU2021376411A1 (en) | Quality score compression | |
CN101751897A (zh) | 压缩及解压缩查找表的方法及其相关装置 | |
CN114442954B (zh) | 一种lz4编码压缩装置 | |
CN113254259B (zh) | 一种用于改善低精度浮点数传输效率的方法 | |
EP1248377A3 (en) | Error correction encoding method and apparatus, and error correction decoding method and apparatus | |
CN113312325A (zh) | 轨迹数据传输方法、装置、设备及存储介质 | |
CN101266796B (zh) | 一种量化编解码方法及装置 | |
CN116915873A (zh) | 基于物联网技术的高速电梯运行数据快速传输方法 | |
CN109660809A (zh) | 基于inter解码的colmv数据无损压缩方法及系统 | |
CN106992786B (zh) | 一种基带数据压缩方法、装置和系统 | |
CN105021274B (zh) | 一种基于谱线重要度的频谱压缩方法 | |
CN113922924A (zh) | 一种基于spi的绝对值编码器通信方法及系统 | |
CN105049055A (zh) | 一种数据压缩方法和数据解压方法 | |
CN114025024A (zh) | 一种数据传输方法及装置 | |
CN112260699A (zh) | 属性通讯编解码方法、编码装置、解码装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20200710 Assignee: Nanning Thumb Cloud Information Technology Co.,Ltd. Assignor: GUILIN University OF ELECTRONIC TECHNOLOGY Contract record no.: X2023980046596 Denomination of invention: A Data Compression Transmission Method Based on IEEE754 Format Granted publication date: 20220422 License type: Common License Record date: 20231108 |
|
EE01 | Entry into force of recordation of patent licensing contract |