CN114629502B - 一种采样数据压缩上传和解压方法、设备、系统及介质 - Google Patents
一种采样数据压缩上传和解压方法、设备、系统及介质 Download PDFInfo
- Publication number
- CN114629502B CN114629502B CN202210275856.4A CN202210275856A CN114629502B CN 114629502 B CN114629502 B CN 114629502B CN 202210275856 A CN202210275856 A CN 202210275856A CN 114629502 B CN114629502 B CN 114629502B
- Authority
- CN
- China
- Prior art keywords
- data
- compressed
- sampling
- compression
- bits
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61N—ELECTROTHERAPY; MAGNETOTHERAPY; RADIATION THERAPY; ULTRASOUND THERAPY
- A61N1/00—Electrotherapy; Circuits therefor
- A61N1/18—Applying electric currents by contact electrodes
- A61N1/32—Applying electric currents by contact electrodes alternating or intermittent currents
- A61N1/36—Applying electric currents by contact electrodes alternating or intermittent currents for stimulation
- A61N1/36007—Applying electric currents by contact electrodes alternating or intermittent currents for stimulation of urogenital or gastrointestinal organs, e.g. for incontinence control
Landscapes
- Health & Medical Sciences (AREA)
- Engineering & Computer Science (AREA)
- Radiology & Medical Imaging (AREA)
- Gastroenterology & Hepatology (AREA)
- Biomedical Technology (AREA)
- Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
- Theoretical Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Animal Behavior & Ethology (AREA)
- General Health & Medical Sciences (AREA)
- Public Health (AREA)
- Veterinary Medicine (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开了一种采样数据压缩上传和解压方法、设备、系统及介质,该压缩上传方法包括以下步骤:获取一组待压缩数据;判断待压缩数据中的每个所述采样数据的符号并计算其绝对值;判断该组待压缩数据中绝对值最大的采样数据及位置;根据压缩方法计算除绝对值最大的采样数据和预设位置的一个点的采样数据之外的采样数据的压缩值,所述压缩方法使压缩值小于四位数且压缩值的百位仅可能为1或0,提取得到压缩值的百位和十位并构成字节数据;对待上传数据进行打包生成包数据;对包数据进行传送。采用该方法可实现数据压缩,减小需上传数据量,将采样设备需上传数据量控制在其传输方式支持的最大数据吞吐量内。
Description
技术领域
本发明属于数据压缩传输技术领域,具体地涉及一种采样数据压缩上传和解压方法、设备、系统及介质。
背景技术
盆底肌康复仪采用电刺激疗法,以促进阴道前后壁的收缩恢复。在使用时,需要对人体肌肉电压进行采样并上传。由于人体肌电信号为20~500hz,因此采样速率定为2000sps。为判别用户盆底肌和腹部肌肉的协调性,因此需要两个通道同时进行采集上传。假设ADC模拟数字转换器采样深度为16位,则每秒需上传数据量为2(通道)*2000(次)*16(位)=64000bit/s,如按字节方式,则为8000byte/s。
为了低功耗传输,我们通常采用蓝牙方式将数据传输给手机app软件。目前最常用的是BLE 4.1协议的蓝牙通信方式。蓝牙的吞吐量受手机型号、环境、距离等外界因素影响,会有较大的波动。
BLE数据包最多包含20个字节的BLE应用程序数据v4.0和v4.1(v4.2包含一个数据包长度扩展,但是在iOS或Android很多不支持),因此需考虑每包传输20字节的解决方案。
部分机型实测情况如下:
BLE设备与IOS设备iPhone 6数据吞吐量=(1000mSecs)*20*(4)/(30mSecs)=2,667.66byte/s。
如果IOS设备支持HID,数据吞吐量增加到=(1000mSecs)*20*4/(11.25mSecs)=7,111.11Bytes per second。
考虑到数据上传中还要有帧头、帧尾、校验、长度、通道号等信息,采样设备每秒需上传的数据量大于蓝牙支持的最大数据吞吐量,因此目前的数据量,只有对上传的数据进行压缩,才能够满足蓝牙通道的传输速率影响。
发明内容
为了解决现有在相同时间内采样设备进行数据上传时其传输方式支持的最大数据吞吐量小于采样设备需上传数据量的问题,本发明提供一种采样数据压缩上传和解压方法、设备、系统及介质,其可实现数据压缩,减小需上传数据量,将采样设备需上传数据量控制在其传输方式支持的最大数据吞吐量内。
本发明通过以下技术方案实现:
本发明第一方面提供一种采样数据压缩上传方法,包括以下步骤:
获取一组待压缩数据,所述一组待压缩数据包括N个点的采样数据,所述N为大于2且小于等于48的偶数;
判断每个所述采样数据的符号并计算其绝对值,所述符号包括正数和负数;
判断该组待压缩数据中绝对值最大的采样数据,记录绝对值最大的采样数据在该组待压缩数据中的位置;
根据压缩方法计算除绝对值最大的采样数据和预设位置的一个点的采样数据之外的采样数据的压缩值,所述压缩方法使压缩值小于四位数且压缩值的百位仅可能为1或0,提取得到压缩值的百位和十位;
按预设顺序将0.5*N-1个压缩值的百位、十位分别与剩余压缩值中0.5*N-1个压缩值的十位组合成字节数据,并将剩余压缩值中0.5*N-1个压缩值的百位组合成字节数据,得到压缩后的字节数据;
对待上传数据进行打包生成包数据,所述待上传数据包括待压缩数据中采样数据绝对值中最大的值、绝对值最大的采样数据在该组待压缩数据中的位置、压缩后的字节数据、采样数据的符号和预设位置的一个点的采样数据的绝对值;
对包数据进行传送。
本方案通过上述方法对待上传数据进行压缩,包数据中除绝对值最大的采样数据和一个点的采样数据保持原始绝对值传输,对其余采样数据进行转换压缩,减小数据需上传数据量,将采样设备需上传数据量控制在蓝牙传输方式支持的最大数据吞吐量内。
在一种可能的设计中,所述待上传数据还包括各采样数据所属通道标签,所述所属通道标签表征所述采样数据是来自第一采样通道或者来自第二采样通道。
在一种可能的设计中,所述按预设顺序将0.5*N-1个压缩值的百位、十位分别与剩余压缩值中0.5*N-1个压缩值的十位组合成字节数据,并将剩余压缩值中0.5*N-1个压缩值的百位组合成字节数据,得到压缩后的字节数据,包括:
将除绝对值最大的采样数据之外的采样数据按顺序进行两两组合,提取每个组合中第一个采样数据压缩值的百位、十位和第二个采样数据压缩值的十位,得到0.5*N-1个字节数据;
依次提取每个组合中的第二个采样数据压缩值的百位,组合成字节数据;
或者包括:
将除绝对值最大的采样数据之外的采样数据按预设顺序进行两两组合,提取每个组合中第二个采样数据压缩值的百位、十位和第一个采样数据压缩值的十位,得到0.5*N-1个字节数据;
依次提取每个组合中的第一个采样数据压缩值的百位,组合成字节数据。
在一种可能的设计中,所述包数据的格式为:
按每8个一组的形式将组合中第二个采样数据压缩值的百位组合成一个字节数据;
将剩余的组合中第二个采样数据压缩值的百位与绝对值最大的采样数据在该组待压缩数据中的位置组合成一个字节数据;
按每8个符号成一组的形式组合成一个字节数据。
在一种可能的设计中,所述压缩方法包括采样压缩公式对采样数据进行压缩:ZipAbs=ABS*P/AbsMax,
其中,ZipAbs为压缩值,ABS为采样数据的绝对值;AbsMax为采样数据绝对值中最大的值;P为大于100且小于等于200的系数。
在一种可能的设计中,所述P为大于100且小于200的系数。
在一种可能的设计中,所述采样压缩公式对采样数据进行压缩,之后还包括:
将除绝对值最大的采样数据之外的采样数据按预设顺序进行两两组合,判断每个组合中第二个采样数据的ZipAbs是否为200;
若至少有一个组合中第二个采样数据的ZipAbs为200,则将该采样数据的压缩值变更为R,所述R大于等于190且小于等于199;
或者之后还包括:
将除绝对值最大的采样数据之外的采样数据按预设顺序进行两两组合,判断每个组合中第一个采样数据的ZipAbs是否为200;
若至少有一个组合中第一个采样数据的ZipAbs为200,则将该采样数据的压缩值变更为R,所述R大于等于190且小于等于199。
本发明第二方面提供一种采样数据解压方法,包括以下步骤:
接收采用第一方面及其任一种可能中所述采样数据压缩上传方法上传的包数据;
对接收到的所述包数据进行解析,解析出包数据中的待压缩数据中采样数据绝对值中最大的值、绝对值最大的采样数据在该组待压缩数据中的位置、压缩后的字节数据、采样数据的符号和预设位置的一个点的采样数据的绝对值,所述N为大于2且小于等于48的偶数;
根据所述压缩后的字节数据得到0.5*N-1个压缩值的百位、十位和剩余压缩值的百位、十位;
将压缩值的个位补充为L,所述L为0至9的自然数;
根据所述压缩方式、压缩值的百位和十位反解出采样数据的绝对值;
根据所述预设位置、所述预设顺序和绝对值最大的采样数据在该组待压缩数据中的位置确认各采样数据的位置;
根据采样数据的符号、采样数据的绝对值得到采样数组。
本发明第三方面提供一种采样数据压缩上传设备,包括依次通信连接的第一存储器、第一控制器和第一数据传输单元,所述第一存储器和第一数据传输单元均与第一控制器信号连接,所述第一存储器上存储有第一计算机程序,所述第一控制器用于读取所述第一计算机程序,执行第一方面及其任一种可能中所述的采样数据压缩上传方法。
本发明第四方面提供一种采样数据解压设备,包括依次通信连接的第二存储器、第二控制器和第二数据传输单元,所述第二存储器和第二数据传输单元均与第二控制器信号连接,所述第二存储器上存储有第二计算机程序,所述第二控制器用于读取所述第二计算机程序,执行第二方面及其任一种可能中所述的采样数据解压方法。
本发明第五方面提供一种采样数据压缩、解压系统,包括第三方面所述的一种采样数据压缩上传设备和第四方面所述的一种采样数据解压设备,所述第一数据传输单元与第二数据传输单元之间信号连接。
本发明第六方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述指令在计算机上运行时,执行第一方面及其任一种可能中所述的采样数据压缩上传方法或者执行第二方面及其任一种可能中所述的采样数据解压方法。
本发明与现有技术相比,至少具有以下优点和有益效果:
本发明的方法、设备通过对待上传数据进行压缩,上传的包数据中除绝对值最大的采样数据和一个点的采样数据保持原始绝对值传输,对其余采样数据进行转换压缩,减小数据需上传数据量,将采样设备需上传数据量控制在蓝牙传输方式支持的最大数据吞吐量内。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明采样数据压缩上传方法的流程图;
图2是本发明采样数据解压方法的流程图。
具体实施方式
下面结合附图及具体实施例来对本发明作进一步阐述。在此需要说明的是,对于这些实施例方式的说明虽然是用于帮助理解本发明,但并不构成对本发明的限定。本文公开的特定结构和功能细节仅用于描述本发明的示例实施例。然而,可用很多备选的形式来体现本发明,并且不应当理解为本发明限制在本文阐述的实施例中。
应当理解,对于本文中可能出现的术语“和/或”,其仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,单独存在B,同时存在A和B三种情况;对于本文中可能出现的术语“/和”,其是描述另一种关联对象关系,表示可以存在两种关系,例如,A/和B,可以表示:单独存在A,单独存在A和B两种情况;另外,对于本文中可能出现的字符“/”,一般表示前后关联对象是一种“或”关系。
应当理解,在下面的描述中提供了特定的细节,以便于对示例实施例的完全理解。然而,本领域普通技术人员应当理解可以在没有这些特定细节的情况下实现示例实施例。例如可以在框图中示出系统,以避免用不必要的细节来使得示例不清楚。在其他实例中,可以不以非必要的细节来示出众所周知的过程、结构和技术,以避免使得示例不清楚。
如图1所示,本发明第一方面公开了一种采样数据压缩上传方法,该方法可以但不限于由一压缩上传设备来执行,压缩上传设备可以是软件,或者为软件和硬件的组合,压缩上传设备可以集成在智能移动端、平板、电脑等智能设备中。具体的,该采样数据压缩上传方法包括步骤S101~步骤S107。需要说明的是,本方法中步骤S101~步骤S107中的序号标记,仅仅是为了便于说明而进行的标记,并不是对其步骤先后顺序的限定,某些步骤之间可以同时进行,某些步骤之间存在先后关系,其先后关系的确定根据具体步骤的语义描述确定。
步骤S101、获取一组待压缩数据,所述一组待压缩数据包括N个点的采样数据,所述N为大于2且小于等于48的偶数。N的确定具体根据采样设备的采样率、压缩比以及数据传输方式的默认的每包最大传输尺寸决定。
本实施例以盆底肌康复仪采用蓝牙进行数据上传进行说明,由于肌电信号是一个低频信号,且最终在信号接收端即app端是以均方根后的波形或数字方式呈现给用户查看,因此允许有一定的时延。蓝牙的参数之一最大传输单元MTU决定了用户可使用的数据长度,一般的MTU默认为23,20个字节是用户可使用的数据长度;但是在某些设备中,这个参数是可以修改的。一般情况下,蓝牙通信每包默认只能上传20字节,蓝牙的最小响应间隔为11~15ms,因此设定了1个最快的12ms上传间隔时间,而盆底肌康复仪的采样率2000决定了每个通道0.5ms采样一个点,因此12ms就会采样24个点,因此本方案设定目标为每包上传24个点的采样数据,即N取24。若采样完需时24ms,则N为48。N不能太大,否则采样显示的时延性就大。且时间大,则数据的最大幅度和最小幅度可能跨越的范围就大,数据的准确性就会变差。优选的N不大于48。
当然,本方案的压缩方式不限于适于蓝牙传输适于,也适于其他上传数据量大于自身传输方式的最大数据吞吐量且采用该方法进行数据压缩后使上传数据量与自身传输方式的最大数据吞吐量相适配的情形。
由于不同手机,不同系统的蓝牙的最小连接间隔时间不一定,如android的连接间隔为7.5ms,IOS系统的最小间隔为11.25~15ms。因此在采集数据的时候做好一个先入先出的缓存队列,将每24个点分成一组。
盆底肌康复仪的采样数据具有A、B两个通道,根据采样率可知,每隔12ms即可同时采集完A、B通道的数据,可分别对A、B通道采样数据间隔传输。
表1
当然,本方案也适于其他采样蓝牙进行数据通信的单通道采样的设备,与双通道的盆底肌康复仪的方法所不同的是所述一组待压缩数据均来自同一通道。
步骤S102、判断每个所述采样数据的符号并计算其绝对值,所述符号包括正数和负数。
所有点的采样数据都具有符号位和绝对值两部分,24个采样数据的符号位可用3个字节组合表示,各采样数据的符号的表征详见表2,1表示负数,0表示正数,反之亦可。
步骤S103、判断该组待压缩数据中绝对值最大的采样数据,记录绝对值最大的采样数据在该组待压缩数据中的位置。
24个采样数据中绝对值最大的那个点,获取该点在待压缩数据中的位置,位置的标记取值为0~23,可采用5Bit表示;最大绝对值可用2个字节无符号整数表示。
步骤S104、根据压缩方法计算除绝对值最大的采样数据和预设位置的一个点的采样数据之外的采样数据的压缩值,所述压缩方法使压缩值小于四位数且压缩值的百位仅可能为1或0,提取得到压缩值的百位和十位。
除去最大绝对值的采样数据,则还有23个采样数据,此时,仅针对剩余的22个采样数据进行压缩处理。
该压缩方法包括采样压缩公式对采样数据进行压缩,采样压缩公式的目的在于使压缩值小于四位数且压缩值的百位仅可能为1或0,以便于采样字节数据对某些采样数据的百位进行标记。具体的,压缩公式可采用以下公式:
ZipAbs=ABS*P/AbsMax,
其中,ZipAbs为压缩值,ABS为采样数据的绝对值;AbsMax为采样数据绝对值中最大的值;P为大于100且小于等于200的系数。
ABS/AbsMax为一个小于等于1且大于0的数,P取大于100且小于等于200之间的数可能会使某些采样数据的压缩值为200,即此时并不能使某些数据的百位为0或1,也有可能是2,此时,还需对某些压缩值的百位是否为2进行验证修改。根据数据包格式的不同,其验证方法有不同的选择。
验证修改方式一:
将除绝对值最大的采样数据之外的采样数据按预设顺序进行两两组合,判断每个组合中第二个采样数据的ZipAbs是否为200。此处的预设顺序可以是多种多样,但是,在一对上传设备和接收设备之间,其预设顺序唯一且对应。此步骤中的预设位置可以是按预设顺序排列的第一位、第二位或者其他位,本实施例以最末位进行举例说明。本方案以按时间顺序对除绝对值最大的采样数据之外的采样数据进行排序,两两为一组,为例进行说明,如表2中所示,A0、B0为一组,A1、B1为一组,A2、B2为一组,以此类推。需要说明的是,A0、B0、A1、B1、……、A11并不是表示其来自哪个通道的采样数据,仅为了便于说明而做的标识。需要说明的是,表2中的X表示不需要求取绝对值,√表示为最大绝对值。该方案中的预设顺序还可以是排序为0的采样数据与排序为23的采样数据构成一组,排序为1的采样数据与排序为22的采样数据构成一组,排序为2的采样数据与排序为21的采样数据构成一组,以此类推。当然,该预设顺序还可采样其他方式。
若至少有一个组合中第二个采样数据的ZipAbs为200,则将该采样数据的压缩值变更为R,所述R大于等于190且小于等于199。采样该步骤,强行将200替换修改为R,以使其百位为1,虽然在精度上有一定的损失,但是,其精度损失较小,在可接受范围内。
如表2中所示的预设顺序方式进行分组组合,即A0、B0为一组,其中A0为表中的主点,B0为表中的副点,此时,第二个采样数据均小于200,则不需要数值修改更换,其处理结果详见表2。
验证修改方式二:
将除绝对值最大的采样数据之外的采样数据按预设顺序进行两两组合,判断每个组合中第一个采样数据的ZipAbs是否为200;同理,本验证修改方式中的预设顺序解释和原理详见验证修改方式一中的说明,在此不做赘述。
若至少有一个组合中第一个采样数据的ZipAbs为200,则将该采样数据的压缩值变更为R,所述R大于等于190且小于等于199。
上述验证修改方式一或者验证修改方式二的原理相同,所不同的在于根据数据包格式的不同,即根据提取的组合中第一个采样数据还是第二个采样数据的百位组成字节数据的不同,其验证组合中的数据位有所差异而已。
为了避免采取验证修改方式对组合中的某一数据位进行验证修改,优选的,P为大于100且小于200的系数。
如表2中所示的预设顺序方式进行分组组合,即A0、B0为一组,此时,组合A0、B0中第一个采样数据为200,则需要数值修改更换为R,强行使该采样数据的百位为1。
表2
步骤S105、按预设顺序将0.5*N-1个压缩值的百位、十位分别与剩余压缩值中0.5*N-1个压缩值的十位组合成0.5*N-1个字节数据,并将剩余压缩值中0.5*N-1个压缩值的百位组合成字节数据,得到压缩后的字节数据。
该步骤是部分采样数据的字节数据组合过程,其核心思想是将步骤S104中每个组合中的一采样数据的百位提取出来组成字节数据,并将该采样数据的十位和另一采样数据的百位、十位进行组合,构成字节数据。
具体的,该组合方法根据上述验证修改方式的不同该组合方式也有所不同:
方法一,该方法与上述的验证修改方式一对应,具体包括:
将已经按预设顺序进行两两组合的数据进行数据提取,提取每个组合中第一个采样数据压缩值的百位、十位和第二个采样数据压缩值的十位,得到0.5*N-1个字节数据。该步骤是对压缩后的采样数据进行重新组合成字节数据,一个百位、一个十位和一个十位构成一个小于等于199的数据,刚好可构成一个字节数据,如表3中字节偏移位8~18。一对组合构成一个字节数据,表中的11对组合构成11个字节数据。
依次提取每个组合中的第二个采样数据压缩值的百位,组合成字节数据。此时,前8个采样数据即B0~B7的百位构成一字节数据,B8~B11不够8位,与绝对值的位置一同构成字节数据。
方法二,该方法与上述的验证修改方式二对应,其原理与方法一相同,在此不做赘述。方法二具体包括:
将已经按预设顺序进行两两组合的数据进行数据提取,提取每个组合中第二个采样数据压缩值的百位、十位和第一个采样数据压缩值的十位,得到0.5*N-1个字节数据。
依次提取每个组合中的第一个采样数据压缩值的百位,组合成字节数据。
步骤S106、对待上传数据进行打包生成包数据,所述待上传数据包括待压缩数据中采样数据绝对值中最大的值、绝对值最大的采样数据在该组待压缩数据中的位置、压缩后的字节数据、采样数据的符号和预设位置的一个点的采样数据的绝对值。
具体的,包数据的格式为:
按每8个一组的形式将组合中第二个采样数据压缩值的百位组合成一个字节数据;
将剩余的组合中第二个采样数据压缩值的百位与绝对值最大的采样数据在该组待压缩数据中的位置组合成一个字节数据;
按每8个符号成一组的形式组合成一个字节数据。
盆底肌康复仪为A、B双通道采样,此时,还需对采样数据所属通道进行标记,即所述待上传数据还包括各采样数据所属通道标签,所述所属通道标签表征所述采样数据是来自第一采样通道或者来自第二采样通道,如表3所示,包数据的字节偏移为0的字节即用于表征各采样数据所属通道标签。采样数据为24个点,且A、B通道数据间隔排列时,可采用以下标记方式,从F0~FF依次循环,如F0帧为A通道数据,F1为B通道数据,F2为A通道数据,......,当然,标记方式多样,只要两端设备均知晓确定即可。
当然,若数据采用设备为采用蓝牙传输的单通道设备,则不需要采样数据所属通道标记。
具体的,采样上述方法组合成的字节数据,每个字节数据再包数据中的位置即字节偏移可参照表3设计,当然,其也可采样其他设计方式,即各字节的内容与表3相同,但各字节的字节偏移量可调整。
步骤S107、对包数据进行传送。上传之前,需对采样数据采样上述方法进行压缩,打包成20字节的包数据,才送到蓝牙协议栈进行上传。
表3
采用上述压缩方法,可实现对2个通道采样率为2000sps的肌电采样数据进行传输,解决了蓝牙小包快速传输大量采样数据的问题。
本发明第二方面公开了一种采样数据解压方法,同理,该方法可以但不限于由一解压设备来执行,解压设备可以是软件,或者为软件和硬件的组合,解压设备可以集成在智能移动端、平板、电脑等智能设备中。具体的,如图2所示,该采样数据解压方法包括步骤S201~步骤S207。需要说明的是,本方法中步骤S201~步骤S207中的序号标记,仅仅是为了便于说明而进行的标记,并不是对其步骤先后顺序的限定,某些步骤之间可以同时进行,某些步骤之间存在先后关系,其先后关系的确定根据具体步骤的语义描述确定。
步骤S201、接收采用第一方面及其任一种可能中所述采样数据压缩上传方法上传的包数据。根据数据上传端设备通道数的不同,其包数据的结构不同,比如,以盆底肌康复仪为例,其为双通道,包数据中除了待压缩数据中采样数据绝对值中最大的值、绝对值最大的采样数据在该组待压缩数据中的位置、压缩后的字节数据、采样数据的符号和预设位置的一个点的采样数据的绝对值之外,还包括采样数据所属通道进行标记。若数据上传端设备通道数为单个,包数据中即可能没有采样数据所属通道进行标记。本实施例仍以盆底肌康复仪为例进行说明。
步骤S202、对接收到的所述包数据进行解析,解析出包数据中的待压缩数据中采样数据绝对值中最大的值、绝对值最大的采样数据在该组待压缩数据中的位置、压缩后的字节数据、采样数据的符号和预设位置的一个点的采样数据的绝对值,所述N为大于2且小于等于48的偶数。
若接收到的包数据采用表3所示的结构进行打包,根据对应位置则可解析出相应数据,待压缩数据中采样数据绝对值中最大的值为3464;绝对值最大的采样数据在该组待压缩数据中的位置为00101,即第5位;压缩后的字节数据详见字节偏移8至18、字节偏移4及字节偏移3的后3位;采样数据的符号详见字节偏移5至7;预设位置的一个点的采样数据的绝对值即预设的最末位的绝对值为162。
步骤S203、根据所述压缩后的字节数据得到0.5*N-1个压缩值的百位、十位和剩余压缩值的百位、十位,如表4所示。具体的,将压缩后对应位置的字节数据转换为十进制,得到一三位数,进而得到0.5*N-1个压缩值的百位、十位和剩余压缩值的十位,提取包数据中对应字节位上的二进制数据,得到剩余压缩值的百位。
步骤S204、将压缩值的个位补充为L,所述L为0至9的自然数。由于本方案中上传的数据仅包含采样数据绝对值压缩后的百位和十位,需要对其个位进行补充。优选的,L为5,以提高采样数据还原精度。
步骤S205、根据所述压缩方式、压缩值的百位和十位反解出采样数据的绝对值。
具体的,第一方面中中采用压缩公式进行压缩,此时,则根据压缩公式进行反解,将压缩值的百位和十位带入公式:压缩值*最大值/200,即可反解得到采样数据的绝对值,如表4所示。
以A0、B0为例,根据表3的对应关系,解析并得出的A0、B0分别为005、065。
将其带入公式:压缩值*最大值/200,得出A0、B0分别为87、1126。
步骤S206、根据所述预设位置、所述预设顺序和绝对值最大的采样数据在该组待压缩数据中的位置确认各采样数据的位置。由于A0、B0、A1、B1、……、A10、B10,是按照时间先后顺序的预设顺序排列,A11的预设位置为排序最末位,则根据绝对值最大的采样数据在该组待压缩数据中的位置将最大绝对值插入到对应位置。
步骤S207、根据采样数据的符号、采样数据的绝对值得到采样数组,即可得到如表4所示顺序及结果的还原采样数据。
表4
整个方法中,每个上传的蓝牙包所采集的24个点数据中,绝对值最大的点实现的是无损传输,因此没有误差;最后一个点A11是采用原始的相对绝对值上传,因此其整数部分是完整的,只丢失了小数部分数据。而对各组合点的误差,主要由舍弃的个位值恢复成5决定,误差可见下表:
百位和十位组合 | 相对最大值(200)的误差 | 相对自身误差 |
200 | 0 | 0 |
19x | 2.5% | 2.6% |
15x | 2.5% | 3.3% |
10x | 2.5% | 5% |
5x | 2.5% | 10% |
1x | 2.5% | 20% |
0~9 | 2.5% | 20%~100% |
由表可见,幅度越大,其误差越小。幅度降到一半以后,相对误差逐步增大,但由于盆底肌康复仪在肌电信号处理后,只关注其均方根的幅度大小。且主要关注点为其波峰值和均方根值,波峰点处基本实现的是无损传输,再采用均方根、平滑滤波等处理,也对误差有降低和平均的作用,因此本压缩方案能够满足实际需求。
本发明第三方面提供一种采样数据压缩上传设备,包括依次通信连接的第一存储器、第一控制器和第一数据传输单元,所述第一存储器和第一数据传输单元均与第一控制器信号连接,所述第一存储器上存储有第一计算机程序,所述第一控制器用于读取所述第一计算机程序,执行第一方面及其任一种可能中所述的采样数据压缩上传方法。该采样数据压缩上传设备可以是盆底肌康复仪,也可是有数据上传压缩需求的其他设备。对应的,第一数据传输单元可以是蓝牙,如第一方面所说,也可以是其他上传数据量大于自身传输方式的最大数据吞吐量且采用该方法进行数据压缩后使上传数据量与自身传输方式的最大数据吞吐量相适配的传输单元。其运行原理在第一方面中已经详细阐述,在此不再赘述。具体举例的,所述第一存储器可以但不限于包括随机存取存储器(Random-Access Memory,RAM)、只读存储器(Read-Only Memory,ROM)、闪存(Flash Memory)、先进先出存储器(FirstInput First Output,FIFO)和或先进后出存储器(First Input Last Output,FILO)等等;所述第一控制器可以不限于采用型号为STM32F105系列的微处理器。此外,所述计算机设备还可以但不限于包括有电源单元和其它必要的部件。
本发明第四方面提供一种采样数据解压设备,包括依次通信连接的第二存储器、第二控制器和第二数据传输单元,所述第二存储器和第二数据传输单元均与第二控制器信号连接,所述第二存储器上存储有第二计算机程序,所述第二控制器用于读取所述第二计算机程序,执行第二方面及其任一种可能中所述的采样数据解压方法。本方案的设备和第二数据传输单元适配即可。其运行原理在第二方面中已经详细阐述,在此不再赘述。
本发明第五方面提供一种采样数据压缩、解压系统,包括第三方面所述的一种采样数据压缩上传设备和第四方面所述的一种采样数据解压设备,所述第一数据传输单元与第二数据传输单元之间信号连接。
本发明第六方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述指令在计算机上运行时,执行第一方面及其任一种可能中所述的采样数据压缩上传方法或者执行第二方面及其任一种可能中所述的采样数据解压方法。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。
Claims (6)
1.一种采样数据压缩上传方法,其特征在于,包括以下步骤:
获取一组待压缩数据,所述一组待压缩数据包括 N个点的采样数据,所述 N 为大于 2且小于等于 48 的偶数;
判断每个所述采样数据的符号并计算其绝对值,所述符号包括正数和负数;
判断该组待压缩数据中绝对值最大的采样数据,记录绝对值最大的采样数据在该组待压缩数据中的位置;
根据压缩方法计算除绝对值最大的采样数据和预设位置的一个点的采样数据之外的采样数据的压缩值,所述压缩方法使压缩值小于四位数且压缩值的百位仅可能为 1 或 0,提取得到压缩值的百位和十位;
按预设顺序将 0.5*N-1个压缩值的百位、十位分别与剩余压缩值中 0.5*N-1个压缩值的十位组合成字节数据,并将剩余压缩值中 0.5*N-1个压缩值的百位组合成字节数据,得到压缩后的字节数据;
对待上传数据进行打包生成包数据,所述待上传数据包括待压缩数据中采样数据绝对值中最大的值、绝对值最大的采样数据在该组待压缩数据中的位置、压缩后的字节数据、采样数据的符号和预设位置的一个点的采样数据的绝对值;
对所述包数据进行传送;
所述按预设顺序将 0.5*N-1个压缩值的百位、十位分别与剩余压缩值中 0.5*N-1个压缩值的十位组合成字节数据,并将剩余压缩值中 0.5*N-1个压缩值的百位组合成字节数据,得到压缩后的字节数据,包括:
将除绝对值最大的采样数据之外的采样数据按预设顺序进行两两组合,提取每个组合中第一个采样数据压缩值的百位、十位和第二个采样数据压缩值的十位,得到 0.5*N-1个字节数据;
依次提取每个组合中的第二个采样数据压缩值的百位,组合成字节数据;
或者包括,
将除绝对值最大的采样数据之外的采样数据按预设顺序进行两两组合,提取每个组合中第二个采样数据压缩值的百位、十位和第一个采样数据压缩值的十位,得到 0.5*N-1个字节数据;
依次提取每个组合中的第一个采样数据压缩值的百位,组合成字节数据;
所述包数据的格式为:
按每 8个一组的形式将组合中第二个采样数据压缩值的百位组合成一个字节数据;将剩余的组合中第二个采样数据压缩值的百位与绝对值最大的采样数据在该组待压缩
数据中的位置组合成一个字节数据;
按每 8 个符号成一组的形式组合成一个字节数据;
所述压缩方法包括采样压缩公式对采样数据进行压缩:
ZipAbs=ABS*P/AbsMax,
其中,ZipAbs 为压缩值,ABS 为采样数据的绝对值;AbsMax 为采样数据绝对值中最大的值;P 为大于 100 且小于等于 200 的系数;
所述采样压缩公式对采样数据进行压缩,之后还包括:
将除绝对值最大的采样数据之外的采样数据按预设顺序进行两两组合,判断每个组合中第二个采样数据的 ZipAbs 是否为 200;
若至少有一个组合中第二个采样数据的 ZipAbs 为 200,则将该采样数据的压缩值变更为R,所述 R 大于等于 190 且小于等于 199;
或者之后还包括:
将除绝对值最大的采样数据之外的采样数据按预设顺序进行两两组合,判断每个组合中第一个采样数据的 ZipAbs 是否为 200;
若至少有一个组合中第一个采样数据的 ZipAbs 为 200,则将该采样数据的压缩值变更为R,所述 R 大于等于 190 且小于等于 199。
2.一种采样数据解压方法,其特征在于,包括以下步骤:
接收采用权利要求 1所述采样数据压缩上传方法上传的包数据;
对接收到的所述包数据进行解析,解析出包数据中的待压缩数据中采样数据绝对值中最大的值、绝对值最大的采样数据在该组待压缩数据中的位置、压缩后的字节数据、采样数据的符号和预设位置的一个点的采样数据的绝对值,所述 N 为大于 2 且小于等于 48 的偶数;
根据所述压缩后的字节数据得到 0.5*N-1个压缩值的百位、十位和剩余压缩值的百位、十位;
将压缩值的个位补充为 L,所述 L为0至9的自然数;
根据所述压缩方式、压缩值的百位和十位反解出采样数据的绝对值;
根据所述预设位置、所述预设顺序和绝对值最大的采样数据在该组待压缩数据中的位置确认各采样数据的位置;
根据采样数据的符号、采样数据的绝对值得到采样数组。
3.一种采样数据压缩上传设备,包括依次通信连接的第一存储器、第一控制器和第一数据传输单元,所述第一存储器和第一数据传输单元均与第一控制器信号连接,所述第一存储器上存储有第一计算机程序,其特征在于:所述第一控制器用于读取所述第一计算机程序, 执行权利要求 1所述的采样数据压缩上传方法。
4.一种采样数据解压设备,包括依次通信连接的第二存储器、第二控制器和第二数据传输单元,所述第二存储器和第二数据传输单元均与第二控制器信号连接,所述第二存储器上存储有第二计算机程序,其特征在于:所述第二控制器用于读取所述第二计算机程序,执行权利要求 2 所述的采样数据解压方法。
5.一种采样数据压缩、解压系统,其特征在于:包括权利要求3所述的一种采样数据压缩上传设备和权利要求4所述的一种采样数据解压设备,所述第一数据传输单元与第二数据传输单元之间信号连接。
6.一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,其特征在于:当所述指令在计算机上运行时,执行权利要求1所述的采样数据压缩上传方法或者执行权利要求2所述的采样数据解压方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210275856.4A CN114629502B (zh) | 2022-03-21 | 2022-03-21 | 一种采样数据压缩上传和解压方法、设备、系统及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210275856.4A CN114629502B (zh) | 2022-03-21 | 2022-03-21 | 一种采样数据压缩上传和解压方法、设备、系统及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114629502A CN114629502A (zh) | 2022-06-14 |
CN114629502B true CN114629502B (zh) | 2022-11-22 |
Family
ID=81903651
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210275856.4A Active CN114629502B (zh) | 2022-03-21 | 2022-03-21 | 一种采样数据压缩上传和解压方法、设备、系统及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114629502B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104135452A (zh) * | 2014-08-08 | 2014-11-05 | 福建三元达通讯股份有限公司 | 一种iq数据同步压缩还原算法及装置 |
CN109512425A (zh) * | 2019-01-09 | 2019-03-26 | 大悦创新(苏州)医疗科技股份有限公司 | 压缩、解压肌电数据的方法和装置 |
CN113613289A (zh) * | 2021-08-02 | 2021-11-05 | 尧米(重庆)智能科技有限公司 | 一种蓝牙数据传输方法、系统及通信设备 |
-
2022
- 2022-03-21 CN CN202210275856.4A patent/CN114629502B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104135452A (zh) * | 2014-08-08 | 2014-11-05 | 福建三元达通讯股份有限公司 | 一种iq数据同步压缩还原算法及装置 |
CN109512425A (zh) * | 2019-01-09 | 2019-03-26 | 大悦创新(苏州)医疗科技股份有限公司 | 压缩、解压肌电数据的方法和装置 |
CN113613289A (zh) * | 2021-08-02 | 2021-11-05 | 尧米(重庆)智能科技有限公司 | 一种蓝牙数据传输方法、系统及通信设备 |
Also Published As
Publication number | Publication date |
---|---|
CN114629502A (zh) | 2022-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103294447B (zh) | 一种生成随机数的方法和装置 | |
CN108833058B (zh) | 一种广域测量系统通信过程动态数据压缩、解压的方法 | |
CN104935527A (zh) | 一种音频通信的数据组包方法 | |
CN202663412U (zh) | 发送设备、接收设备、以及传输系统 | |
CN114629502B (zh) | 一种采样数据压缩上传和解压方法、设备、系统及介质 | |
CN109525370B (zh) | 基于zigbee的数据包发送方法 | |
CN110474692B (zh) | 一种光通信设备、光通信系统、数据传输方法及存储介质 | |
CN109769255A (zh) | 数据压缩方法、装置、计算机设备和存储介质 | |
CN116470919A (zh) | 数据压缩方法、装置、电子设备及存储介质 | |
CN107846225A (zh) | 实时心电数据无损压缩、解压缩的方法、装置和系统 | |
CN101834964A (zh) | 语音数据传输处理方法及语音数据传输处理器 | |
CN116546111B (zh) | 基于物联网技术的智能戒指健康管理方法和系统 | |
CN109512425A (zh) | 压缩、解压肌电数据的方法和装置 | |
WO2020077625A1 (zh) | 数据处理方法及装置 | |
CN104021121A (zh) | 一种文本数据压缩方法、装置及服务器 | |
CN103812608A (zh) | 一种iq数据压缩方法和系统 | |
CN116489236A (zh) | 脑电信号实时无损压缩方法、装置、电子设备及存储介质 | |
CN212161282U (zh) | 音频为数字信号编解码或不同频率音频数据流的传输系统 | |
CN113890541B (zh) | 数据压缩方法及系统、计算机可读存储介质 | |
CN104092641B (zh) | 基于信号概率密度的adc最优比例因子选取的混合载波通信方法 | |
KR101476908B1 (ko) | 송신장치 및 모바일의 이어폰 포트를 이용한 통신 시스템 | |
CN102891730A (zh) | 基于bcd码卫星短报文的编码方法和装置 | |
CN207706193U (zh) | 一种数据传输测试优化装置 | |
CN101742299B (zh) | 一种符合ccsds标准的图像无损压缩处理系统及方法 | |
CN107680607B (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 |