本项目是无线传感器网络分布式时间同步算法的仿真平台,实现了三种基于平均一致性协议的时间同步算法:ATS(平均一致性时间同步算法)、MACTS(多跳分布式平均一致性时间同步算法)和MRPCTS(多跳牵引控制一致性时间同步算法)。
MRPCTS/
├── Train.m # 训练主程序
├── ATS.m # ATS算法实现
├── MACTS.m # MACTS算法实现
├── MRPCTS.m # MRPCTS算法实现
├── GenerateGridNWK.m # 生成网格拓扑
├── GenerateRandomNWK2D.m # 生成2D随机网络拓扑
├── GenerateRandomNWK3D.m # 生成3D随机网络拓扑
├── GenerateDynamicNWK3D.m # 生成动态3D网络拓扑
├── CalculateNetDiameter.m # 计算网络直径
├── HopController.m # 自适应跳数控制器
├── ClockShift.m # 物理时钟漂移模拟
├── InjectDisturbance.m # 干扰注入
├── PlotSoftClockRate.m # 绘制软件时钟速率
├── PlotSoftOffset.m # 绘制软件时钟相位
├── AnimateDynamicNWK3D.m # 动态3D网络动画
├── NWK2D/ # 2D网络数据
├── NWK3D/ # 3D网络数据
├── NWK3D_Dynamic/ # 动态3D网络数据
└── SimData/ # 仿真数据(已忽略)
平均一致性时间同步算法,仅通过一跳邻居通信实现时间同步。
多跳分布式平均一致性时间同步算法,通过构建多跳虚拟通信链路提升网络拓扑的代数连通度,加速状态向量向全网均值收敛。
多跳牵引控制一致性时间同步算法,在MACTS基础上引入领导者节点机制,实现对同步过程的牵引控制,进一步提升收敛性能。
在Train.m中可配置以下参数:
- 算法选择
WirelessNetwork.Alg = 'MRPCTS'; % 可选 'ATS', 'MACTS', 'MRPCTS'- 网络类型选择
NWK.NetType = 'GridNWK'; % 可选 'GridNWK', 'RandomNWK2D', 'RandomNWK3D', 'DynamicRandomNWK3D'- 网络参数
- 节点数量
- 通信距离
- 网格行列数(网格网络)
- 场地尺寸(随机网络)
- 同步参数
- 同步次数:
WirelessNetwork.Sync_CNT_NUM - 仿真轮数:
WirelessNetwork.round_CNT_NUM - 最大多跳跳数:
WirelessNetwork.MaxMultiHop
直接在MATLAB中运行Train.m即可启动仿真:
Train生成规则网格拓扑,适合对比研究。
在二维平面内随机分布节点,根据通信距离建立连接。
在三维空间内随机分布节点,更贴近实际应用场景。
节点位置随时间变化的动态网络,支持拓扑演化仿真。
仿真结果将保存在SimData/目录下,包含:
BasicParams.mat:实验基本配置参数trainData_X_X.mat:训练数据,包含各节点的时钟速率、相位偏移、广播次数等记录
- MATLAB R2016b或更高版本
SimData/目录包含大量训练数据,已在.gitignore中配置为不提交到版本库- 动态网络数据需先生成或加载预存数据