
技术摘要:
本发明公开了一种数据链仿真模型,包括参数设定模块、节点连通性计算模块、数据更新检查模块、时延计算模块、数据输出检查模块,可根据数据链的性能参数和节点状态信息判断节点直接连通关系,计算出子网中各节点间的跳数和子网的划分情况,并依据节点跳数对数据包的时 全部
背景技术:
在无人机编队飞行、物联网构建、机器人协同等应用场景中,数据链是一个非常重 要的环节,是连接各个设备的纽带。从系统层面来看,数据链的引入为各模块间的通讯提供 了条件,为各设备提供了更多的可用信息。但由于数据链存在连通性和延时特性,使得对于 这部分信息的使用与系统本身信息的使用方法不同,因此需要建立数据链数学模型对整个 组网系统的特性进行分析。 现有的数据链模型主要有两种: 一种是数据链模型基于数据链原理构建的仿真模型,这种模型的构建与数据链的 工作体制(如TDMA、SPMA)有关,能较为精确的还原各节点间的数据交互特性,但由于涉及到 数据链工作的底层协议以及相关参数的选取,其构建过程较为繁琐,不具备通用性,工作量 大,且一旦更换了不同的数据链体制,需要重新构建新的模型。 另一种数据链模型是基于延时的数据链模型,这种模型不在系统层面构建模型, 而是在各设备的仿真模型中加入一个延时环节作为数据链模型。对通过数据链共享的数据 进行延时处理(即发给数据链的数据,经过一定的时间后才可收到),来模拟数据链的特性。 这种数学模型的优点在于可以基本模拟数据链的延时特性,构建方式简单,通用性强;但这 种模型的构建较为理想化,默认所有节点的延时特性相同,且无法反应数据链的连通特性, 其仿真结果与真实数据链特性的差距较大,不能很好的反应数据链工作的真实情况。 可见,构建一种既能反映数据链基本特性,又可代表多种数据链体制的数学模型 是具有重要意义的。这种模型可以较为精确的体现数据链的特性,将其引入系统中后可以 实现较为真实的系统仿真,可体现全系统特性,实现节点参数的调节与优化,也便于从系统 层面对数据链环节提出新的技术要求。
技术实现要素:
本发明需解决的技术问题是提供一种数据链仿真模型,能较为精确的体现数据链 的延时特性和连通性,引入系统中后可以实现较为真实的系统仿真。 为解决上述技术问题,本发明提供的一种数据链仿真模型,采取技术方案如下: 所述数据链仿真模型包括参数设定模块、节点连通性计算模块、数据更新检查模 块、时延计算模块、数据输出检查模块; 所述参数设定模块从系统模型中获取数据链的性能参数和节点状态信息,并将接 收到的参数和信息发送给节点连通性计算模块和时延计算模块,用于对数据链的连通性和 延时进行计算; 所述节点连通性计算模块根据数据链的性能参数和节点状态信息判断节点直接 连通关系,计算出子网中各节点间的跳数和子网的划分情况; 4 CN 111600747 A 说 明 书 2/10 页 所述数据更新检查模块用于检查输入端数据包更新情况。在数据包中设置了一个 闹钟变量,数据包闹钟变量值默认为-1,节点发送给数据链模型的数据包中的闹钟变量值 为0。在数据链模型的每个执行周期,数据更新检查模块检查输入端,如果有更新的数据,即 闹钟变量值为0的数据包,则将输入端的数据读入输入端缓存,然后将输入端的数据包闹钟 变量值置为-1; 所述时延计算模块对数据包的时延长度进行计算;读入输入端缓存的数据包之 后,分别计算该节点到子网其余节点的延时时间,将读入数据包中包含的闹钟变量设置为 延时时间后发送到对应输出端缓存中,所述延时时间为最小跳数与基本延时的乘积,所述 输出端缓存中可存放多包数据; 所述数据输出检查模块在数据链模型的每个调用周期,根据数据链时钟更新各节 点输出端缓存中所有数据包的闹钟变量的值,当节点输出端缓存中的某个数据包的闹钟变 量值不为正数时,将该数据包从输出端缓存中发送给节点输出端。 进一步地,所述节点连通性计算模块根据数据链的性能参数和节点状态信息判断 节点直接连通关系,建立直接连通矩阵,并计算出最小跳数矩阵,从而实现子网划分数组的 求取。 根据直接连通矩阵求得最小跳数矩阵,具体方法为: 设组网的节点一共有m个, 所述直接连通矩阵用m×m的矩阵来表示,若两个节点直接连通,则对应的行列处 的元素为1;若不直接相连,则对应元素为-1;若两节点为同一个节点,则对应元素为0; 所述最小跳数矩阵用m×m的矩阵来表示,对应行列的元素表示的是两节点进行通 讯所需的最小跳数,若两节点不论经过多少次转发均不相连,则对应元素为-1;若两节点为 同一个节点,则对应元素为0; 令直接连通矩阵为1跳连接矩阵,经过若干次迭代算法获得k跳连接矩阵,其中k为 1、2、…、k…、n、n 1; 已知k跳连接矩阵,求k 1跳连接矩阵计算方法如下: 初始化k 1跳连接矩阵,使其与k跳连接矩阵相同; 遍历k跳连接矩阵的所有行进行处理,设对第i行进行操作,找出k跳连接矩阵第i 行所有正数元素,假设该元素属于第j列,则对比k跳连接矩阵第i行和第j行的对应列,如果 第i行某元素值为-1第j行对应元素的值为正,则将k 1跳连接矩阵第i行值为-1的元素的值 改为k 1,如果没有对应元素的值为正就不修改,如果k跳连接矩阵第i行没有正数元素则跳 过该行继续处理下一行; 对k跳连接矩阵中的所有行处理完后,得到新的矩阵为k 1跳连接矩阵; 以此类推,经过若干次迭代获得n 1跳连接矩阵,并且n 1跳连接矩阵与n跳连接矩 阵完全一致,则停止操作,最终得到的n跳连接矩阵为最小跳数矩阵。 已知k跳连接矩阵,求k 1跳连接矩阵另一种计算方法如下: 初始化k 1跳连接矩阵使其与k跳连接矩阵相同; 遍历k跳连接矩阵的所有行进行处理,设对第i行进行操作,找出k跳连接矩阵第i 行所有值为-1的元素,假设找到的某个元素的列数为j,则对比k跳连接矩阵第i行和第j行, 如果存在第j行和第i行某列对应元素均为正,将k 1跳连接矩阵第i行第j列的元素值改为k 5 CN 111600747 A 说 明 书 3/10 页 1,如果没有对应元素均为正的情况就不修改,如果k跳连接矩阵第i行没有值为-1的元素 则跳过该行继续处理下一行; 对k跳连接矩阵中的所有行处理完后,得到新的矩阵为k 1跳连接矩阵; 进一步地,求取子网划分数组方法如下: 根据最小跳矩阵计算子网划分关系,设子网划分数组为一个包含m个元素的行数 组,其中的列号表示节点编号,元素表示子网的编号,元素相同的列表示处于同一个子网的 节点; 求取子网划分数组方法如下: 1)建立一个全为0的子网划分数组,数组列数与最小跳数矩阵的列数相同,为m; 2)将最小跳数矩阵第一行非-1元素变为1后复制到数组的对应位置,完成子网划 分数组的第一次更新; 3)找到更新后的子网划分数组中的第一个0元素,如其对应列为j,找到最小跳数 矩阵第j行所有非-1值,都变为2后替换子网划分数组中对应列的0元素,完成子网划分数组 的第二次更新; 4)再找到更新后的子网划分数组中的第一个0元素,如其对应列为p,找到最小跳 数矩阵第p行所有非-1值,都变为3后替换子网划分数组中对应列的0元素,完成子网划分数 组的第三次更新; 5)如此类推,每次循环后替换数组中的值增加1,直到数组中不存在0元素,最终得 到的数组为子网划分数组。 与现有技术对比,本发明有益效果如下: 1)本发明提出的模型可以较为精确的体现数据链的延时特性,可模拟节点间传输 延时的不同。将其引入系统中后可以实现较为真实的系统仿真,可体现全系统特性,可实现 节点参数的调节与优化,也便于从系统层面对数据链环节提出新的技术要求。 2)利用直接连接矩阵和最小跳数矩阵来表示系统网络的连通性和多跳特性,并提 出了最小跳数矩阵的计算方法,可以高效的求解出节点间的最小跳数。 3)提出了一种子网划分的表示和求解方法啊,可实现大群中相互独立若干子群的 仿真,支持节点的入网和出网,并实时计算子网的划分情况。 附图说明 图1为本发明实施例数据链模型的工作原理示意图。