一种基于LoRa的传感器信号的高可靠数据传输方法与流程

文档序号:32999413发布日期:2023-01-18 00:50阅读:33来源:国知局
一种基于LoRa的传感器信号的高可靠数据传输方法与流程
一种基于lora的传感器信号的高可靠数据传输方法
技术领域
1.本发明涉及数字信息传输领域,具体涉及一种基于lora的传感器信号的高可靠数据传输方法。


背景技术:

2.lora全称远距离无线电,是一种扩频调制技术,其因为低功耗、深度覆盖、容易部署等优势使得其适用于要求功耗低、距离远、大量连接以及定位跟踪等物联网应用,如智能抄表、智慧停车、车辆追踪、宠物跟踪、智慧农业、智慧工业、智慧城市、智慧社区等应用和领域;lora的优点就是长距离传输,一台通讯基站在城区的覆盖半径为2至3千米、郊区覆盖半径为5千米、视距覆盖半径15千米,并且其抗干扰能力较强,但是lora的传输速率较低,且传输距离越长传输速率越低,因此在传输距离较远的情况下,即传输速率较低时,需要通过对采集的待传输数据进行高效率压缩,以提高远距离数据传输效率。
3.现有技术中的待传输数据压缩算法有很多,通常分为有损压缩和无损压缩两种,有损压缩对数据的压缩率较高,但是在保证压缩率的时候会将数据进行删除,有可能会导致数据的不完整;现有的无损压缩算法中,游程编码数据压缩算法具有易于检索、应用简单的优点,可以适用于机器存贮容量小,数据需大量压缩,而又要避免复杂的编码解码运算增加处理和操作时间的情况,但是传统的游程编码数据压缩方法对数据矩阵中存在较多的与其周围数据不同的孤立数据进行压缩时,反而可能会造成压缩后数据膨胀,导致压缩效果变差,无法实现数据的高效传输。


技术实现要素:

4.为了解决现有技术中传统的游程编码数据压缩方法对数据矩阵中存在较多的与其周围数据不同的孤立数据进行压缩时,反而可能会造成压缩后数据膨胀,导致压缩效果变差,无法实现数据的高效传输的问题,本发明提供一种基于lora的传感器信号的高可靠数据传输方法,该方案包括:获取待传输数据并构建初始矩阵;获取初始矩阵的压缩程度;将初始矩阵预等分为多个第一矩阵块,当第一矩阵块的压缩程度均值大于初始矩阵的压缩程度时,将每个第一矩阵块预等分为多个第二矩阵块,依次迭代获取多个目标矩阵;根据重要程度最大值对应种类的待传输数据,获取每个目标矩阵的编码方向;以每个目标矩阵的编码方向分别进行游程编码,得到压缩后的待传输数据,对压缩后的待传输数据进行传输。本发明通过对数据矩阵进行分块处理,同时保证每个矩阵块均具有较好的压缩程度,从而提高对数据的压缩效率,实现数据的高效传输。
5.本发明采用如下技术方案,一种基于lora的传感器信号的高可靠数据传输方法,包括:获取设定时间周期内的待传输数据,并根据每个时间周期内的待传输数据构建初始矩阵;根据待传输数据的数据值将待传输数据分为多个种类,根据每个初始矩阵中所包
含待传输数据的种类数获取初始矩阵中待传输数据的重复度;根据每个初始矩阵中待传输数据的重复度、初始矩阵中每个种类待传输数据的集中程度及待传输数据的个数得到每个初始矩阵的压缩程度;将初始矩阵预等分为多个第一矩阵块,利用获取初始矩阵的压缩程度的方法,获取每个第一矩阵块的压缩程度,根据第一矩阵块的压缩程度的均值和初始矩阵的压缩程度,判断初始矩阵是否按照预等分的分割方式对初始矩阵进行等分,得到多个第一矩阵块;当初始矩阵不进行等分时将该初始矩阵作为目标矩阵;当初始矩阵进行等分时,将等分后的每个第一矩阵块作为新的初始矩阵,并对每个新的初始矩阵块进行预等分,得到每个新的初始矩阵块对应的多个第二矩阵块,根据每个新的初始矩阵的压缩程度与对应多个第二矩阵块的压缩程度均值判断该新的初始矩阵是否进行等分,依次迭代直到等分后的矩阵块不继续进行等分或达到设定尺寸为止,得到所有的目标矩阵;根据每个目标矩阵中每个种类待传输数据集中程度及待传输数据的个数,获取每个目标矩阵中每个种类待传输数据的重要程度;根据每个目标矩阵中重要程度最大值对应种类的待传输数据,获取每个目标矩阵的编码方向;以每个目标矩阵的编码方向分别对每个目标矩阵进行游程编码,得到压缩后的待传输数据,并利用lora技术对压缩后的待传输数据进行传输。
6.进一步的,一种基于lora的传感器信号的高可靠数据传输方法,获取初始矩阵中待传输数据的重复度的方法为:利用最小二乘法对初始矩阵中所有种类的待传输数据个数进行直线拟合,获取拟合直线的斜率;对初始矩阵中待传输数据的种类数量进行负相关映射并归一化,将归一化后的值与拟合直线斜率的乘积得到初始矩阵中待传输数据的重复度。
7.进一步的,一种基于lora的传感器信号的高可靠数据传输方法,获取初始矩阵中每个种类待传输数据的集中程度的方法为:对初始矩阵建立直角坐标系,根据每个种类的待传输数据在初始矩阵中的位置到原点的距离,获取初始矩阵中每个种类待传输数据的离散程度;对初始矩阵进行形态学闭运算,得到更新后的矩阵,利用更新后的矩阵与初始矩阵进行减运算,获取每个种类的待传输数据的个数作为初始矩阵中每个种类的待传输数据的连接性;根据每个种类待传输数据的离散程度和连接性乘积的倒数,得到每个种类待传输数据的集中程度。
8.进一步的,一种基于lora的传感器信号的高可靠数据传输方法,获取每个初始矩阵的压缩程度的方法为:获取每个初始矩阵中每个种类的待传输数据个数在该初始矩阵的待传输数据总数中的占比,与对应种类待传输数据的集中程度乘积的累加和;根据该累加和与初始矩阵中待传输数据的重复度的乘积,得到初始矩阵的压缩程度。
9.进一步的,一种基于lora的传感器信号的高可靠数据传输方法,判断初始矩阵是
否按照预等分的分割方式对初始矩阵进行等分的方法为:当第一矩阵块的压缩程度均值小于等于初始矩阵的压缩程度时,该初始矩阵不按照预等分的分割方式对初始矩阵进行等分;当第一矩阵块的压缩程度均值大于初始矩阵的压缩程度时,该初始矩阵按照预等分的分割方式对初始矩阵进行等分。
10.进一步的,一种基于lora的传感器信号的高可靠数据传输方法,获取每个目标矩阵中每个种类待传输数据的重要程度的方法为:获取每个目标矩阵中每个种类待传输数据的集中程度;获取每个目标矩阵中每个种类待传输数据在该目标矩阵中所有待传输数据总数的占比;根据每个目标矩阵中每个种类待传输数据的集中程度,与每个种类待传输数据在该目标矩阵中所有待传输数据总数的占比的乘积,得到每个目标矩阵中每个种类待传输数据的重要程度。
11.进一步的,一种基于lora的传感器信号的高可靠数据传输方法,获取每个目标矩阵的编码方向的方法为:以设定的多个方向分别对每个目标矩阵中,重要程度最大值对应种类的待传输数据进行链码编码,获取每个目标矩阵中,重要程度最大值对应种类的待传输数据在设定的每个方向上的链码数量,将最小链码数量对应的方向作为每个目标矩阵的编码方向。
12.本发明的有益效果是:本发明首先对获取的待传输数据构建矩阵,为后续分块压缩提供了基础,通过矩阵中数据的重复度体现矩阵中的待传输数据丰富程度,通过集中程度来反映矩阵中每个类别数据的分布情况,从而综合得到的压缩程度能够反映对当前矩阵进行压缩的效果,并作为后续是否继续进行矩阵等分的判断条件,从而保证等分后每个矩阵块内待传输数据的相似度尽可能高,且数据值相同的待传输数据在矩阵块内的位置相对集中,能够起到提高压缩效率的作用,并且通过对每个矩阵块进行自适应编码方向的选取,进一步保证了进行压缩时,每个矩阵块都具有很好的压缩效果,从而保证了整体数据的压缩传输效率,实现数据的高效传输。
附图说明
13.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
14.图1为本发明实施例的一种基于lora的传感器信号的高可靠数据传输方法结构示意图。
具体实施方式
15.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他
实施例,都属于本发明保护的范围。
16.lora技术具有长距离传输、抗干扰能力较强等优点,因此该技术比较适合解决恶劣环境下监测数据收集的问题。以风力发电场景为例,在风力发电的过程中,每台风力发电机每秒将回传500条时间序列数据,这些数据被广泛应用于风电智能管控与调度,而这些由风力发电产生的大量时序数据为基于lora技术的通信传输带来了巨大负担,因此需要进行高效数据压技术用于减轻数据存储负担、提高 通信传输效率。
17.如图1所示,给出了本发明实施例的一种基于lora的传感器信号的高可靠数据传输方法结构示意图,包括:101.获取待传输数据并构建初始矩阵;本发明中以一台风力发电机1小时产生的待传输数据为例,已知其每秒回传500条时间序列数据,则通过采集1小时产生的待传输数据构建一个数据矩阵为:其中行方向为时间顺序、列方向为时间跨度,{,...,},m为500,表示该风力发电机每秒回传的500条时间序列数据,{,...,},n为3600,表示一小时3600秒,每秒获取一行时间序列数据,由此得到了一个尺寸为18000*18000的待传输数据矩阵。
18.为了便于后续对矩阵进行分块,本发明将风力发电机1小时产生的待传输数据矩阵等分为180个100*100的矩阵块,即得到了待传输数据的初始矩阵。
19.102.获取初始矩阵中待传输数据的重复度;本发明取任意一个初始矩阵,统计该初始矩阵内的待传输数据直方图,即将数据值作为横轴,每个数据值对应的待传输数据数量为纵轴,从而根据数据值的不同得到了初始矩阵内多个种类的待传输数据,并根据每个数据值对应的待传输数据数量的大小,由小到大进行排序,得到不同种类数据的待传输数据数量集合,其中x表示该初始矩阵内待传输数据值的种类数量,再利用最小二乘法对集合中的待传输数据进行直线拟合,获取拟合直线的斜率k,由此计算该初始矩阵内待传输数据的重复度d为:其中e为以自然常数为底数的指数函数,x表示该初始矩阵内待传输数据的种类数量,即x值越大,该矩阵块内待传输数据越丰富,数据值的重复度越小,因此本发明通过负相关映射,令x越大,其值越小,且处于区间[0,1]内,k为各个种类数据对应的待传输数据数量从小到大的拟合直线的斜率,其表示各种类数据对应的待传输数据数量的分布特征,其值越小,说明各种类数据的待传输数据数量分布越均匀,其值越大,说明数据数量多集中在少量的待传输数据种类上,因此k值越大,该矩阵块内待传输数据值的重复度越大。
[0020]
获取初始矩阵中待传输数据的重复度的方法为:利用最小二乘法对初始矩阵中所有种类的待传输数据个数进行直线拟合,获取拟合直线的斜率;对初始矩阵中待传输数据的种类数量进行负相关映射并归一化,将归一化后的值
与拟合直线斜率的乘积得到初始矩阵中待传输数据的重复度。
[0021]
103.获取初始矩阵的压缩程度;获取初始矩阵中每个种类待传输数据的集中程度的方法为:对初始矩阵建立直角坐标系,根据每个种类的待传输数据在初始矩阵中的位置到原点的距离,获取初始矩阵中每个种类的待传输数据的离散程度;本发明根据初始矩阵中不同种类的待传输数据构建一个种类集合为:,其中x表示该矩阵块内待传输数据值的种类数量,并以其第y个种类的待传输数据为例,将数据种类为对应的所有待传输数据在矩阵中标记为1,将其他所有种类的待传输数据标记为0,同时以初始矩阵的左下角数据为原点,将两个数据之间的距离设定为数值1,以该初始矩阵的最左列为纵轴,最下行为横轴,建立直角坐标系,统计原点至各标记为1对应的待传输数据的距离,获得距离集合,其中表示数据种类为的待传输数据数量,然后计算该距离集合的方差,通过方差来表示数据种类为的待传输数据在初始矩阵中位置的离散程度,方差越大,说明数据种类为的待传输数据在初始矩阵中的位置分布越离散,依次对每个种类的待传输数据进行以上操作,获取初始矩阵中每个种类待传输数据的离散程度。
[0022]
对初始矩阵进行形态学闭运算,得到更新后的矩阵,利用更新后的矩阵与初始矩阵进行减运算,获取每个种类的待传输数据的个数作为初始矩阵中每个种类的待传输数据的连接性;然后本发明分析该矩阵块内待传输数据的局部集中性,即将一个种类的待传输数据标记为1,其他种类的待传输数据标记为0后,将标记为1的相邻数据为一个数据块,对数据标记为0和1的初始矩阵设置3*3的窗口并进行形态学闭运算,从而得到了更新后的待传输数据标记为0和1的矩阵,统计更新后的矩阵与初始矩阵进行减操作后标记为1的待传输数据数量,作为每个种类待传输数据的连接性。
[0023]
对于本发明中的初始矩阵来说,若标记为1的待传输数据块之间距离较近,或数据块内存在少量为0的待传输数据时,形态学闭运算后会将距离较近的待传输数据块连接,用标记为1的待传输数据来填充数据块内标记为0的区域,从而导致减运算后标记为1的待传输数据较多,即得到的f的值较大,而游程编码需要的是数据值相同的相邻数据,因此当同一种类的待传输数据越集中于某一区域时,游程编码对该种类数据的压缩效果越好,由此,能够得到每个种类待传输数据的连接性。
[0024]
根据每个种类待传输数据的离散程度和连接性乘积的倒数,得到每个种类待传输数据的集中程度,表达式为:其中表示种类为y的待传输数据在初始矩阵中的离散程度,方差越小,说明第y个种类的待传输数据在整个该矩阵内的分布越集中,f表示数据值为的待传输数据块的
连接性,其值越大,游程编码的压缩效果越差,因此表示该矩阵块内第y个种类数据的集中程度。
[0025]
同理计算该矩阵块内各数据值的集中程度,获得集合,其中x表示该矩阵块内待传输数据值的种类数量,若矩阵块内待传输数据值重复度较高,且数据值相同的待传输数据在矩阵块内的位置相对集中,则矩阵块的游程编码压缩效果越好,由此对初始矩阵符合游程编码的压缩程度进行计算,获取初始矩阵的压缩程度的方法为:获取每个种类的待传输数据的个数在初始矩阵中待传输数据总数的占比,与对应种类待传输数据的集中程度乘积的累加和;根据该累加和与初始矩阵中待传输数据的重复度的乘积,得到初始矩阵的压缩程度,表达式为:其中d表示初始矩阵内待传输数据的重复度,其值越大,游程编码压缩效果越好,表示该矩阵块内第i个数据的集中程度,表示该矩阵块内第i个种类数据的个数,表示初始矩阵内的待传输数据数量,本发明,以为权重,且权重和为1,当的值越大,说明对应的待传输数据在矩阵中出现的次数越多,该数据越重要,赋予的权重越大,即越大,表示在矩阵中多次出现的待传输数据的集中程度,游程编码压缩效果越好。
[0026]
q能够表示矩阵内的待传输数据是否为一种数据或者少量的几个种类的待传输数据,且这一种数据或者少量的几个种类的待传输数据分别集中于各自所处的区域,当进行分块操作后,将这少量的几个种类的集中数据分到不同矩阵块中时,q的值会增大,其游程编码的压缩效果变好,而当一种集中数据被分到不同矩阵块中时,q的值会减小,其游程编码的压缩效果变差。
[0027]
需要说明的是,本发明中初始矩阵的压缩程度,以及等分后每个矩阵块的压缩程度均可以通过上述方法计算得到。
[0028]
104.获取目标矩阵;本发明对尺寸100*100的初始矩阵进行预等分,将得到4个50*50的矩阵块作为第一矩阵块,根据步骤102-103记载的方法获取每个第一矩阵块的压缩程度,然后获取该4个第一矩阵块的压缩程度均值,当等分后第一矩阵块的压缩程度均值和初始矩阵的压缩程度之间满足时,说明分块后各第一矩阵块的压缩程度提高,也即对分块后的第一矩阵块进行压缩的效率能够提升,因此认定此次等分可以成立,即初始矩阵可以按照预等分的方式等分为4个第一矩阵块,此时将每个50*50的矩阵块作为新的初始矩阵,并再次预等分为4个25*25的第二矩阵块,重复上述操作,判断等分是否成立;而当预等分后第一矩
阵块的压缩程度均值和初始矩阵的压缩程度之间的关系为时,认为等分后的第一矩阵块无法提升压缩效率,则此时认为初始矩阵不需要按照预等分的方式进行等分,同时保留初始矩阵的尺寸,将初始矩阵作为目标矩阵;根据以上条件对每个初始矩阵进行等分,直到等分后的矩阵块无法提升压缩效率,获取此时等分得到的所有矩阵块作为目标矩阵。
[0029]
当初始矩阵不进行等分时将该初始矩阵作为目标矩阵;当初始矩阵进行等分时,将等分后的每个第一矩阵块作为新的初始矩阵,并对每个新的初始矩阵块进行预等分,得到每个新的初始矩阵块对应的多个第二矩阵块,根据每个新的初始矩阵的压缩程度与对应多个第二矩阵块的压缩程度均值判断该新的初始矩阵是否进行等分,依次迭代直到等分后的矩阵块不继续进行等分或达到设定尺寸为止,得到所有的目标矩阵,本发明示例中设定尺寸为25*25,即当等分后的矩阵块尺寸达到25*25时,至此不再向下进行等分,该设定尺寸可根据实际数据矩阵的大小自行设定,本发明不做限制。
[0030]
105.获取每个目标矩阵中每个种类待传输数据的重要程度;从左至右、从上至下逐一统计每个初始矩阵的各目标矩阵,本发明选取第一个目标矩阵为例,根据步骤103中记载的方法获取第一个目标矩阵中每个种类待传输数据的集中程度,从而根据第一个目标矩阵中每个种类待传输数据的集中程度,获取每个目标矩阵中每个种类待传输数据的重要程度,具体步骤如下:获取每个目标矩阵中每个种类待传输数据的集中程度;获取每个目标矩阵中每个种类待传输数据在该目标矩阵中所有待传输数据总数的占比;根据每个目标矩阵中每个种类待传输数据的集中程度,与每个种类待传输数据在该目标矩阵中所有待传输数据总数的占比的乘积,得到每个目标矩阵中每个种类待传输数据的重要程度表达式为:其中表示第一个目标矩阵内第d个种类数据的集中程度,表示第一个目标矩阵内第d个种类数据的待传输数据数量,表示第一个目标矩阵内的待传输数据数量,q表示第一个目标矩阵内待传输数据的种类数量,即某一数据在矩阵中出现的次数越多,且越集中,该数据越重要。
[0031]
由此获得第一个目标矩阵内各个种类数据的重要程度集合,取集合中的最大值对应的待传输数据表示第一个目标矩阵内的主要数据。
[0032]
106.获取每个目标矩阵的编码方向;获取每个目标矩阵的编码方向的方法为:以设定的多个方向分别对每个目标矩阵中,重要程度最大值对应种类的待传输数据进行链码编码,获取每个目标矩阵中,重要程度最大值对应种类的待传输数据在设定的每个方向上的链码数量,将最小链码数量对应的方向作为每个目标矩阵的编码方向。
[0033]
本发明标记第一个目标矩阵内的主要数据为1,其它数据为0,然后设横向向右为0度,逆时针依次选取0度、45度、90度、135度、180度、225度、270度、315度这八个方向,分别在
这八个方向上统计第一个目标矩阵内连续为1和单独为1的链码数量s,由此获得集合,根据游程编码的原理可知,统计的一个链码对应编码后的一个长度值和一个数据值,因此链码数量越少,游程编码压缩效果越好,因此本发明取链码数据集合中的最小值所对应的角度为第一个目标矩阵所需的游程编码方向,同理得到初始矩阵的每个目标矩阵的游程编码方向。
[0034]
107.分别对每个目标矩阵进行游程编码得到压缩后的待传输数据,对压缩后的待传输数据进行传输。
[0035]
本发明对每个目标矩阵进行游程编码时,当游程编码方向为0度时,以矩阵左上角数据为起点,逐行向下进行遍历,当游程编码方向为45度时,以矩阵左上角数据为起点,以该45度方向序列向下进行遍历,当游程编码方向为90度时,以矩阵左下角数据为起点,逐列向右进行遍历,当游程编码方向为135度时,以矩阵右上角数据为起点,以该135度方向序列向下进行遍历,当游程编码方向为180度时,以矩阵右上角数据为起点,逐行向下进行遍历,当游程编码方向为225度时,以矩阵左上角数据为起点,以该225度方向序列向右进行遍历,当游程编码方向为270度时,以矩阵左上角数据为起点,逐列向右进行遍历,当游程编码方向为315度时,以矩阵右上角数据为起点,以该315度方向序列向左进行遍历,由此完成对初始矩阵的每个目标矩阵的游程编码,从而得到风力发电站内每台风力发电机每小时的压缩数据,并利用lora技术对压缩数据进行传输,完成数据的远距离高效传输。
[0036]
在对数据进行解码时,初始矩阵内的各目标矩阵都为正方形矩阵块,因此统计各目标矩阵的边长,然后根据初始矩阵的尺寸、从左至右、从上至下统计的各矩阵块的边长、以及游程编码方向集合为密钥进行解码。
[0037]
本发明首先对获取的待传输数据构建矩阵,为后续分块压缩提供了基础,通过矩阵中数据的重复度体现矩阵中的待传输数据丰富程度,通过集中程度来反映矩阵中每个类别数据的分布情况,从而综合得到的压缩程度能够反映对当前矩阵进行压缩的效果,并作为后续是否需要进行矩阵等分的条件,从而保证分块后每个矩阵块内待传输数据的相似度尽可能高,且数据值相同的待传输数据在矩阵块内的位置相对集中,能够起到提高压缩效率的作用,并且通过对每个矩阵块进行自适应编码方向的选取,进一步保证了进行压缩时,每个矩阵块都具有很好的压缩效果,从而保证了整体数据的压缩传输效率,实现数据的高效传输。
[0038]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1