Skip to content

orkura/MR-PCTS-Code

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MRPCTS - 多跳牵引控制一致性时间同步算法

项目概述

本项目是无线传感器网络分布式时间同步算法的仿真平台,实现了三种基于平均一致性协议的时间同步算法: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/                     # 仿真数据(已忽略)

算法说明

ATS(Average Consensus Time Synchronization)

平均一致性时间同步算法,仅通过一跳邻居通信实现时间同步。

MACTS(Multi-Hop Average Consensus Time Synchronization)

多跳分布式平均一致性时间同步算法,通过构建多跳虚拟通信链路提升网络拓扑的代数连通度,加速状态向量向全网均值收敛。

MRPCTS(Multi-Hop Reference Control Consensus Time Synchronization)

多跳牵引控制一致性时间同步算法,在MACTS基础上引入领导者节点机制,实现对同步过程的牵引控制,进一步提升收敛性能。

使用方法

基本配置

Train.m中可配置以下参数:

  1. 算法选择
WirelessNetwork.Alg = 'MRPCTS'; % 可选 'ATS', 'MACTS', 'MRPCTS'
  1. 网络类型选择
NWK.NetType = 'GridNWK'; % 可选 'GridNWK', 'RandomNWK2D', 'RandomNWK3D', 'DynamicRandomNWK3D'
  1. 网络参数
  • 节点数量
  • 通信距离
  • 网格行列数(网格网络)
  • 场地尺寸(随机网络)
  1. 同步参数
  • 同步次数:WirelessNetwork.Sync_CNT_NUM
  • 仿真轮数:WirelessNetwork.round_CNT_NUM
  • 最大多跳跳数:WirelessNetwork.MaxMultiHop

运行仿真

直接在MATLAB中运行Train.m即可启动仿真:

Train

网络类型

GridNWK(网格网络)

生成规则网格拓扑,适合对比研究。

RandomNWK2D(2D随机网络)

在二维平面内随机分布节点,根据通信距离建立连接。

RandomNWK3D(3D随机网络)

在三维空间内随机分布节点,更贴近实际应用场景。

DynamicRandomNWK3D(动态3D网络)

节点位置随时间变化的动态网络,支持拓扑演化仿真。

输出数据

仿真结果将保存在SimData/目录下,包含:

  • BasicParams.mat:实验基本配置参数
  • trainData_X_X.mat:训练数据,包含各节点的时钟速率、相位偏移、广播次数等记录

依赖项

  • MATLAB R2016b或更高版本

注意事项

  • SimData/目录包含大量训练数据,已在.gitignore中配置为不提交到版本库
  • 动态网络数据需先生成或加载预存数据

About

MR-PCTS时间同步程序代码

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors