
==== Front
Sci Rep
Sci Rep
Scientific Reports
2045-2322
Nature Publishing Group UK London

39261581
71929
10.1038/s41598-024-71929-8
Article
An enhanced time synchronization method for a network based on Kalman filtering
Li Qiang 12
Guo Jing 12
Liu Wenyi liuwenyi418@126.com

12
Gao Wanjia 12
Zhang Yingzi 12
Hu Yanjun 3
1 grid.440581.c 0000 0001 0372 1100 Key Laboratory of Micro/Nano Devices and Systems, Ministry of Education, North University of China, Taiyuan, 030051 China
2 https://ror.org/047bp1713 grid.440581.c 0000 0001 0372 1100 State Key Laboratory of Dynamic Measurement Technology, North University of China, Taiyuan, 030051 China
3 https://ror.org/02d0fkx94 grid.495899.0 0000 0000 9785 8687 Taiyuan Institute of Technology, Taiyuan, 030008 China
11 9 2024
11 9 2024
2024
14 2127129 12 2023
2 9 2024
© The Author(s) 2024
2024
https://creativecommons.org/licenses/by-nc-nd/4.0/ Open Access This article is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License, which permits any non-commercial use, sharing, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if you modified the licensed material. You do not have permission under this licence to share adapted material derived from this article or parts of it. The images or other third party material in this article are included in the article’s Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article’s Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by-nc-nd/4.0/.
This paper introduces an enhanced time synchronization method different from IEEE 1588 (PTP). The proposed algorithm employs a unique synchronous message packet structure with a fixed length of 10 bytes and the highest system priority. This design enables preemptive transmission, effectively reducing transmission and queuing delays. Additionally, it applies a Kalman filtering model to mitigate noise interference, including clock drift, network delay jitter, and network asymmetry. The algorithm also features a clock drift compensation mechanism to continuously adjust the clock, ensuring high precision and stability in time synchronization. The algorithm proposed in this paper has the characteristics of being easy to implement, requiring minimal hardware resources, and being applicable to a variety of networks. Simulation results show that, with an 80 MHz crystal oscillator, the time offset between master and slave clocks does not exceed ± 1 clock cycle in symmetric communication links. In asymmetric links, the maximum time offset is within ± 3 clock cycles. Compared to the original PTP algorithm and the Kalman filter-based time synchronization algorithm, this method reduces the time offset from several microseconds to less than 40 ns.

Keywords

Time synchronization
IEEE 1588
Precision time protocol (PTP)
Kalman filtering
Asymmetry
Subject terms

Aerospace engineering
Electrical and electronic engineering
Techniques and instrumentation
http://dx.doi.org/10.13039/100014718 Innovative Research Group Project of the National Natural Science Foundation of China 51821003 Liu Wenyi the Youth Fundation Project of Shanxi Provincial Basic Research Program of China, China202303021222097 Gao Wanjia the National Science Foundation of Shanxi Province, China201701D121065 Zhang Yingzi Scientific and Technological Innovation Programs of Higher Education Institutions in Shanxi Province2022L530 Zhang Yingzi Fundamental Research Program of Shanxi Province20210302124329 Hu Yanjun issue-copyright-statement© Springer Nature Limited 2024
==== Body
pmcIntroduction

The network technology is widely used in various industrial automation, and control domains with the rapid advancement of industrial automation1, robotics technology2, and the Internet of Things (IoT)3. Thus, there is an increasing necessary for network performance. Improving time synchronization performance is becoming an urgent priority, because time synchronization technology serves as the fundamental basis for ensuring reliable network operation4.

Currently, the dominated time synchronization technologies include GPS-based clock synchronization5, the Network Time Protocol (NTP)6, and IEEE 1588 (Precision Time Protocol, PTP)7. The study in Ref.5 indicates that GPS clock synchronization devices offer high precision but are unsuitable for indoor environments where GPS cannot be used. NTP, operating on a client/server model, achieves clock synchronization with millisecond precision8. PTP, widely used in distributed networks, operates on a master/slave mode and achieves synchronization between master and slave node clocks with sub-microsecond precision, surpassing that of NTP9. Therefore, this research focuses on the PTP time synchronization method.

Recent research shows that the precision of PTP clock synchronization can be significantly improved. In Refs.10–13, authors exchanged multiple data packets to acquire precise timestamps, mitigating the effects of link asymmetry. Giorgi et al. developed a software-based packet sampler that effectively filters out packets with delays exceeding a certain threshold, compensating for the impact of packet delay on time precision12. Karthik, Shrestha, Ju, Zheng et al. various models were proposed to address the drift and aging of crystal oscillators, as well as the estimated time offset and drift14–20. Karthik et al. introduced a clock drift autoregressive model using a Kalman filter to estimate the offset and drift of master–slave clocks, thereby reducing the impact of timestamps on time synchronization14. Shrestha et al. employed clock drift coefficients and estimated clock drift factors to enhance time synchronization performance over an estimation period15. Zuo, Y. et al. modeled clock and frequency offsets and employed a second-order Kalman filter algorithm to enhance the precision of master–slave clock synchronization17. Furthermore, Yuan, Exel, Yin, Pedretti, Eidson, et al. implemented the PTP algorithm on various FPGA hardware platforms13,21–25. Specifically, Yin, Pedretti, Aamir Sohail Nagra et al. successfully implemented the PTP algorithm through FPGA, achieving nanosecond-level time synchronization precision according to their research results22–24.

However, these works in Ref.10–25 have the disadvantage of requiring extra hardware overhead and message packet exchange. In this paper, an enhanced time synchronization algorithm is proposed by improving the structure and algorithm of synchronization message packets based on the underlying protocol level. The key differences between this algorithm and the PTP algorithm are as follows: First, the synchronization message has a fixed length of 10 bytes and is assigned the highest priority. This ensures that the synchronization message reaches the slave clock as quickly as possible, thereby reducing network queuing delays and minimizing noise interference from asymmetric links. Subsequently, a Kalman filter model is employed to eliminate noise interference, including clock drift, network delay jitter, and network asymmetry. Finally, the clock is adjusted using a clock drift compensation algorithm to achieve higher time synchronization precision and stability. This study utilizes the OMNET ++ simulator26 to construct a simulation model for assessing the time synchronization precision of various algorithms.

IEEE 1588 overview

IEEE 1588(PTP)27,28 is a network communication protocol which is mainly utilized for achieving precise clock synchronization to ensure temporal consistency among various devices in computer networks25. The synchronization process is shown in Fig. 1. When the master/slave hierarchy is established, a clock synchronization between the master and slave clocks is achieved by transmitting four different types of synchronization messages: Sync, Follow_Up, Delay_Req and Delay_Resp28. From Fig. 1, when the slave clock receives the Delay_Resp message, it will have four timestamps. Thus,1 Ts1-Tm1=θoffset+dms,

2 Tm2-Ts2=dsm-θoffset,

where θoffset is the time offset between the master and slave clocks, dms is the propagation delay of the master clocks-to-slave clocks link, and dsm is the propagation delay of the slave clocks-to-master clocks link. In the PTP protocol, it is assumed that the communication links are symmetric29. Therefore,3 dms=dsm.

Fig. 1 Timing diagram of PTP synchronization messages.

As a result, the time offset θoffset and the average transmission delay ddelay between the master and slave clock can be computed10:4 ddelay=dms+dsm2=Ts1-Tm1+Ts2-Tm22,

5 θoffset=Ts1-Tm1+Ts2-Tm22.

Finally, the slave clock can adjust the local clock based on θoffset so that it can synchronize the master clock30.

However, a major problem is that PTP assumes that the communication links are symmetric. This is not applicable in practical environments, because the synchronized message will inevitably experience various delays when it reaches the destination. Moreover, the precision of time synchronization can be also influenced by the precision of timestamps, the instability of crystal oscillators and the asymmetry in links31. Therefore, in recent years, many researches focus on the improvement of the precision of clock synchronization between master and slave devices.

An enhanced time synchronization algorithm

IEEE 1588 is a standardized protocol which is used in measurement and control systems to achieve precise synchronization between master and slave clocks. This protocol relies on the accurate master clocks to correct periodically the time of slave clocks along with the network. This paper proposes a high-performance, high reliability and auto-reconstructed network for the aerospace and industrial applications—SharkNet. Unlike traditional networks, SharkNet utilizes an independent underlying protocol. To resolve the issue of time synchronization between master and slave clocks, a novel time synchronization packet structure and an enhanced synchronization method are also proposed in this paper.

The SharkNet system has the following features:The system has auto-reconstructed function: the system is completely transparent to users, and no configuration of network devices is required. The switch will automatically detect the port status regularly, ensuring timely identification of network failures. The system will be quickly reconstructed within 30 μs to achieve self-repair and ensure the effectiveness of the transmission path;

The system has autonomous path-finding function: the system can always find the optimal path among many redundant paths to implement information transmission. Furthermore, the system autonomously maintains its consistency and completeness, thereby completely eliminating coordination costs among users and reducing the threshold for user utilization;

The system has multiple redundant links to ensure system reliability: depending on specific applications, some or all ports can be connected as redundant links without the need for user configuration. When a switch or cable fails, the system can quickly detect the port state change and reselect the best path for data transmission;

The system is insensitive to the transmission medium, which can adapt to the local transformation of old systems. At present, the network is compatible with RS422, RS485, LVDS, Ethernet interfaces, and other mainstream networks available in the market;

The system has a high-precision time synchronization algorithm that can improve the synchronization precision and stability of node clocks in the network32.

Clock model

Assuming C(t) represents the time of a slave clock node at the reference time t (where t denotes the time of the master clock node), the time offset θ(t) of the slave clock can be expressed as:6 θ(t)=C(t)-t.

The rate of change of time offset is defined as clock drift s(t), expressed as:7 s(t)=dθdt≈θ(t+Tcycle)-θ(t)Tcycle.

γ(t) is the rate of change of clock drift (also called the clock aging rate), and its relationship with s(t) is given by:8 γ(t)=ds(t)dt≈s(t+Tcycle)-s(t)Tcycle.

From the above formula, the fundamental model of the clock can be derived:9 θ(k+1)=θ(k)+s(k)Tcycle+γ(k)Tcycle2+ωθ(k)s(k+1)=s(k)+γ(k)Tcycle+ωs(k)γ(k+1)=γ(k)+ωγ(k).

In Eq. (9), Tcycle represents the time synchronization message sending interval, ωθ(k),ωs(k),ωγ(k) are Gaussian white noise representing time offset, clock drift and the change rate of clock drift, respectively. Their variances are denoted by: δθ2·Tcycle,δs2·Tcycle,δγ2·Tcycle.

In the IEEE 1588 synchronization process, the clock is adjusted based on the estimated values of the time offset and clock drift. In the kth synchronization iteration, the time offset, clock drift, and the change rate of clock drift are adjusted using the input parameters uθ(k),us(k) and uγ(k). Assuming real-time and valid correction input during the synchronization period Tcycle, the IEEE 1588 three-state clock model can be formulated as follows:10 θ(k+1)=(θ(k)-uθ(k))+(s(k)-us(k))Tsync+(γ(k)-uγ(k))Tsync2+ωθ(k)s(k+1)=(s(k)-us(k))+(γ(k)-uγ(k))Tsync+ωs(k)γ(k+1)=γ(k)-uγ(k)+ωγ(k),

where uθ(k),us(k) and uγ(k) denote the corrected values of time offset, clock drift, and rate of change of clock drift, respectively, and they are considered as the estimated values at time k.

Proposed protocol architecture

The SharkNet system topology includes point-to-point direct connection, ring topology, tree topology, mesh hybrid topology. Among them, the mesh hybrid topological structure has the highest fault reliability among all topological structures.

The SharkNet system components consist of two parts: switches and end system33:The switch is responsible for system maintenance and data packet forwarding. Its core is the data exchange center, which stores routing tables and is responsible for polling data in all interface data cache units to establish pipelines and forward data. Each switch can have 32 ports, each port contains two physical interfaces, one for receiving and one for sending, and has full-duplex communication capabilities;

The end system provide users with a connectivity interface to the SharkNet system and are responsible for automatically maintaining the availability of and access to network resources. The control interface and status interface are used to ensure smooth communication between the local controller and the end system interface module, and three data transmission methods: Parallel Interface, UART and SPI, are provided to meet actual application requirements. The end system module is connected to the switch via its uplink ports U0 and U1 and joins the network.

During data transmission, the communication link's transmission delay fluctuates due to the continuous variation in the length of the transmitted data frame. This fluctuation causes the PTP algorithm to introduce substantial noise when calculating the time offset and average transmission delay. Ethernet's PTP messages use frame lengths in the range of 64 to 1518 bytes34, so the transmission time of each message packet is uncertain, which introduces a significant amount of noise interference into subsequent time offset and average transmission delay calculations. To address this issue, this paper proposes a new protocol structure designed to mitigate the time offsets caused by frame length variations.

In SharkNet system, the length of each packet frame is 10 bytes, referred to as the base packet. There are two types of data packets in system: message packets and data packets.

Message packets are used to transmit command, status and response information in the network, which can be realized by using a single base packet. Message packets are divided into three types: internal, external and user-defined. Internal message packets are used for information exchange between devices to maintain network consistency and implement various built-in functions, such as port detection, automatic reconstruction, and time synchronization. These packets are restricted from user access. External message packets provide common network functions to users, such as reading the local address, sending bulk commands, and reading the routing table, etc. User-defined message packets are customized by users according to specific application projects.

The SharkNet system supports high priority of message packets at the physical layer. By employing preemptive transmission, message packets are embedded into data packets and transmitted first. This approach markedly reduces queuing time, ensuring high real-time performance for message packets throughout the transmission process. The SharkNet system utilizes an 80-bit parallel processing kernel that matches the width of the message packet. This allows data packets to be forwarded quickly in a single clock cycle, resulting in short processing times and maximizing the real-time performance of message transmission.

Compared to the Ethernet, the frame structure proposed in this paper increases the proportion of valid data in a message packet, particularly for time synchronization-related data packets. Additionally, the network features autonomous path-finding, port detection, and port health check functions to ensure that message packets are transmitted promptly via the shortest path. The frame format of the message packet is shown in Table 1.Table 1 Message frame structure of the proposed network message packet.

Mode domain	Source address	Destination address	Parameter Domain 1	Parameter domain 2	Control domain	Check domain	
79…72	71…56	55…40	39…32	31…16	15…8	7…0	

The structure of the data frame in a message packet includes the following fields:The 1-byte Mode Domain which is used to indicate the characteristic of the packet in terms of its type, function as well as priority;

The 2-byte Source Address Domain represents the address of a source device;

The 2-byte Destination Address Domain represents the address of a target device. Each device that connects to the network has a unique address;

The 1-byte Parameter Domain 1 and the 2-byte Parameter Domain 2 are used to set the attribute of the packet;

The 1-byte Control Domain is used to select the transmission path of data;

The 1-byte Chek Domain is used to ensure the integrity of a message packet in which a CRC check is employed.

The frame format of the data packet is shown in Table 2, and its priority is lower than that of the message packet. The mode domain of the data start packet is 0X09. The mode domain of the data continuation packet is 0X1E. The mode domain of the data end packet is 0X1A. During bulk data transfer, multiple base packets are combined to form one composite packet. Only the data start packet and the data end packet need to transmit domain overheads such as the source address and the destination address. The data continuation packet only needs to transmit the data that needs to be transmitted, and does not need to transmit these additional overheads.Table 2 Data frame structure of the proposed network data packet.

Mode domain	Source address	Destination address	Parameter domain 1	Parameter domain 2	Control domain	Check domain	
79…72	71…56	55…40	39…32	31…16	15…8	7…0	
0X09-Data packet	Source address	Destination address	Parameter domain 1	Parameter domain 2	Control message	CRC	
0X1A- Data packet	9 bytes	
0X1E- Data packet	Source address	Destination address	Parameter domain 3	Parameter domain 4	Control message	CRC	

Proposed time synchronization algorithm

For the network protocol message packet, based on the structure of its data frame, a synchronization method is proposed which is similar to the PTP clock synchronization message mechanism. The time offset and average transmission delay are obtained when the master–slave clocks exchange the timestamps. Its synchronization process involves the following three steps: 1. average transmission delay calculation; 2. filtering implementation; 3. time offset calculation. It uses three types of handshake communication messages: 1. A1 message; 2. 51 message; 3. A2 message. These synchronization messages are 10 bytes. Their message types are determined by the Mode Domain of the data frame. In other words, the Mode Domain of the A1 message is 0XA1, the Mode Domain of the 51 message is 0X51, and the Mode Domain of the A2 message is 0XA2.

The proposed message exchange timing diagram for the enhanced time synchronization method is shown in Fig. 2:Fig. 2 Timing diagram of the enhanced synchronization messages.

Step 1: Firstly, after the system uses the Best Master Clock Algorithm (BMCA, The Best Master Clock Algorithm operates independently on each clock within the system, identifying and selecting the clock with the best performance, whether it is a local or another system clock, to serve as the master clock.) to select master clock and slave clock, this master clock sends periodically A1 messages to slave clocks. The A1 message contains the time count Cm1 when it leaves the port. Next, a slave clock receives an A1 message, and this message records the time count Cs1 when it enters its port. Subsequently, the slave clock sends a 51 message to the master clock and records another time count Cs2 when it leaves its port. Once receiving the 51 message, the master clock records another time count Cm2 when it enters its own port. Finally, after receiving the A2 message, the slave clock has four timestamps: Cm1, Cs1, Cs2 and Cm2. Assuming that the path delay is symmetric, i.e. dms=dsm. Based on Eq. (5) in Sect. 2.1, the time offset θoffset can be calculated.

Step 2: Due to the presence of noise in the θoffset calculated in step 1, the second-order Kalman filter algorithm is employed in this study to accurately estimate the time offset, clock drift, and clock drift change rate, thereby accurately correcting the delay between the master and slave clocks35. The Kalman filtering algorithm36–38 are explained as follows:

prediction equation:11 x^k|k-1=Ax^k-1|k-1+Buk,

12 Pk|k-1=APk-1|k-1AT+Q,

Update equation:13 Kk=Pk|k-1HTHPk|k-1HT+R-1,

14 x^k|k=x^k|k-1+Kkzk-Hx^k|k-1,

15 Pk|k=I-KkHPk|k-1.

where the state transition matrix A is:A=1TsyncTsync201Tsync001,

The control input matrix B is:B=-1-Tsync-Tsync20-1-Tsync00-1,

The posterior state estimate x^k|k is:16 x^k|k=θkskγkT,

The clock state equation input vector u(k) is:uk=uθkuskuγkT,

The observation vector z(k) at time k is:zk=θMksMkT,

where θMk is the time offset calculated by the PTP algorithm at time k, and sMk is the clock drift at time k, i.e.17 θMk=θoffset,

18 sMk=θMk-θMk-1Tk-Tk-1.

The observation matrix H is:H=100010,

The covariance matrix of process noise Q is:Q=δθ2Tsync000δs2Tsync000δγ2Tsync,

The matrix P(k|k−1) can be initialized to Q that is:P1|0=Q,

The observation noise covariance matrix R is:R=σθM2σθs2σsθ2σsM2=σθM2σθM2TsyncσθM2Tsync2·σθM2Tsync.

The above content uses the Kalman filter algorithm to estimate the time offset, clock drift, and the rate of change in clock drift. The state vector x^k|k in Eq. (14) represents the optimal solution calculated by the Kalman filter (the specific value of the state vector x^k|k is given in Eq. (16)). We denote the first component θ(k) of the state vector x^k|k obtained by the Kalman filter as θkoffset.19 θkoffset=θk.

The meaning of the Kalman filter algorithm parameters is shown in Table 335. First, use Eq. (5) and Eq. (18) to obtain the current time offset and clock drift. Subsequently, the time offset and clock drift are used as observation values of the Kalman filter algorithm so that the optimal time offset value θkoffset (Eq. (19)) can be obtained from the clock using the filter algorithm. Finally, the time offset (θkoffset) is added to the local clock of the slave clock in order to achieve time synchronization between the master clock and slave clock. Compared with PTP algorithm, the proposed algorithm requires to store the timestamp Cs1 of the slave clock (it will be used in the subsequent clock drift compensation algorithm).Table 3 Parameters meaning for the Kalman Filtering algorithm.

Parameters	Meaning	
x^k-1|k-1	The posterior state estimate at time k-1	
x^k|k-1	The prior state estimate at time k	
x^k|k	The posterior state estimate at time k	
Pk|k-1	The prior error covariance matrix at time k	
Pk-1|k-1	The posterior error covariance matrix at time k-1	
Pk|k	The posterior error covariance matrix at time k	
Kk	The Kalman gain at time k	

Step 3: When the interval of the synchronized message set by the system ends, the second round of clock synchronization is initiated. During this round, Step 1 and Step 2 are repeated to obtain four timestamps, i.e., Cm3, Cs3, Cs4 and Cm4. At a result, the slave clock has five timestamps, i.e., Cm3, Cs3, Cm4, Cs4, and Cs1, Meanwhile, a new time count offset θkoffset is obtained. When the slave clock is operating at a slightly faster or slower frequency in the interval of the synchronized message, the time offset is accumulated. In order to resolve this issue, a clock drift compensation algorithm is used to correct this clock drift, as follows:

After obtaining the second time offset θkoffset, the cnt value of Eq. (20) is used to compensate for slave clock (see Fig. 2), in which θkoffset is the time offset between Cs1 and Cs3 (assuming that there is no clock drift for the master clock). This means that the slave clock in each cnt cycle is increased or decreased by one clock cycle.20 cnt=Cs3-Cs1θkoffset=Tcycleθkoffset.

Step 4: When the sending interval of the synchronized message is completed again, the master clock sends an A1 message to initiate the third round of time synchronization, then repeating Step 3. The difference is that the θkoffset is a new value in the latest round.

The proposed method significantly reduces the impact of the asymmetric links, packet delay variation (PDV) and frequency drift of clock synchronization, thus effectively improving the time synchronization precision.

Simulation results

The OMNET ++ simulator software is used to simulate the time synchronization algorithm of the proposed algorithm in which the LibPLN library is employed as the noise generator39, so that the requirement of discrete event simulation is achieved40,41. The noise model is generated using the method proposed in Ref.42,43 to generate the oscillator noise. The model download can be found in Ref.44. The proposed simulation model is shown in Fig. 3. The master clock operates at the nominal frequency, thus the time offset is not generated. The slave clock adopts a standard clock noise model of the LibPLN library35. The Time Offset Observer module is a monitoring module that regularly checks the time offset between the master clock and the slave clock. The simulation results are shown in the following sections.Fig. 3 Simulation model by using OMNET ++  simulator.

Performance comparison in symmetric links

For a fair comparison, the same simulation configurations are used except for the length of the data frame. The detailed simulation parameters are presented in Table 4. The synchronization message sending interval, referred to as Tcycle, is set to 15.625 ms. This interval was chosen for specific reasons outlined in Sec. "Impact of sending interval". The following results are based on simulations using this sending interval.Table 4 Simulation parameters*

Parameter	Configuration	
Master clock crystal oscillator	80 MHz, nominal frequency	
Slave clock crystal oscillator	80 MHz, contains noise	
Monitoring interval	1 ms	
Synchronous message sending interval	Tcycle (15.625 ms)	
Transmission link bandwidth	250 Mbps	
Frame length	10 byte (our method)/64 ~ 1518 byte (PTP)	
Propagation delay	10 ns	
Link length	2 m	
Processing delay of sending node	80 ns	
Receiving delay of receiving node	80 ns	
Initial master–slave clock time offset	2 ms	
*The simulation time is 100 s, to test in steady state, the Time Offset Observer module monitors from 20 s. The time offset between the master and slave clocks is recorded every 1 ms.

In Fig. 4, the red line indicates the situation within one sending interval (15.625 ms). Since the monitoring interval is 1 ms, 15 or 16 number of time offset values between the master and slave clocks (from point A to point B) can be obtained using the Time Offset Observer module within one sending interval. It demonstrating that relying on the PTP algorithm alone leads to an accumulation of time errors. The slave clock at point B adjusts its local time based on the calculated time offset by the PTP algorithm to maintain synchronization with the master clock, thus confirming the effectiveness of the PTP algorithm.Fig. 4 Time offset of the PTP algorithm.

In Fig. 5, the X-axis represents the master–slave clock time offset values obtained from the simulation experiment, while the Y-axis represents the proportion of time offset in whole simulations. The red bar graph indicates the proportion of offsets greater than 1000 ns (1 μs), with the maximum value of 1375 ns to 1385 ns accounting for 0.4% of the total. This deviation may result from the accumulation of clock drift during the transmission interval. As the requirements for time synchronization accuracy and stability in measurement and control systems continue to increase, networks with microsecond-level time synchronization accuracy will be unable to meet this demand. Therefore, this paper employs an enhanced algorithm to improve time synchronization precision.Fig. 5 Distribution histogram of the PTP algorithm.

Figure 6 shows the time offset values of the proposed algorithm. From this figure, it can be seen that, the time offset values of the proposed algorithm are always within ± 12.5 ns and 0 ns when the master–slave clock is 80 MHz, i.e., the maximum time offset is less than ± 1 clock cycle due to the reduced propagation noise and the compensated frequency. As a result, for the symmetrical links, the proposed algorithm can improve the precision of the time synchronization to the nanosecond level.Fig. 6 Time offset of the proposed algorithm.

Figure 7 shows the comparison results of the time offset of various algorithm in symmetric links in panel (a) and asymmetric links in panel (b). It can be observed that the change of a frame length has a large impact on the time synchronization precision. The variable frame length of PTP results (Fig. 4.) in a synchronization precision of microseconds. However, when the packet length is set to a fixed length of 10 bytes, the time synchronization precision improves to nanoseconds (Case 1). The Kalman filter can slightly reduce the time offset due to the propagation noise, compared with the frame length adjustment method (Case 2). The used clock drift compensation algorithm significantly reduces the accumulation time offset (Case 3), but the proposed algorithm generates a minimum time offset (Case 4).Fig. 7 (a) Time offset in symmetric links. (b) Time offset in asymmetric links.

Impact of crystal oscillator frequency

Here, the impact of crystal oscillator frequency is investigated. The simulation parameters are shown in Table 5, and the maximum time offset of PTP (Red line) and the proposed algorithm (Blue line) is shown in Fig. 8. It can be seen that the time synchronization precision is improved when the crystal oscillator frequency increases. However, the time offset of the PTP algorithm always is larger than that of the proposed algorithm, even at a low frequency.Table 5 Time offset of the proposed algorithm for various crystal oscillator frequencies.

Crystal frequency	Time synchronization precision	 ≤ 1 clock cycle ratio (%)	 > 1 clock cycle ratio (%)	
20 MHz	50.0 ns	100.00	0.00	
40 MHz	25.0 ns	100.00	0.00	
80 MHz	12.5 ns	100.00	0.00	
100 MHz	10.0 ns	100.00	0.00	
200 MHz	5.0 ns	100.00	0.00	
500 MHz	4.0 ns	99.10	0.90	
800 MHz	2.5 ns	99.00	1.00	
Significant values are in bold.

Fig. 8 The maximum time offset of various crystal oscillator frequencies.

The maximum time offset of the proposed algorithm for various crystal oscillator frequencies is summarized in Table 5. It can be seen that when the crystal oscillator frequency is 20 MHz, 40 MHz, 80 MHz, 100 MHz and 200 MHz respectively, the proposed algorithm has a good time synchronization precision. However, when the crystal oscillator frequency is 500 MHz and 800 MHz respectively, the time synchronization precision is increased to ± 2 clock cycles form ± 1 clock cycle due to shorter clock cycle. This amplifies the impact of errors caused by the crystal oscillator on each individual clock cycle, making it unattainable to achieve clock synchronization precision within ± 1 clock cycle.

Impact of sending interval

Keeping all other simulation environment parameters unchanged as indicated in Table 4, we change the sending interval in a symmetric link. We conducted simulations with eight different sending intervals, including 2 s, 1 s, 0.5 s, 0.25 s, 0125 s, 62.5 ms, 31.25 ms and 15.625 ms.

Figure 9 shows the maximum values of the obtained time offset when the sending interval is 2 s, 1 s, 0.5 s, 0.25 s, 0.125 s, 62.5 ms, 31.25 ms and 15.625 ms respectively. It can be seen from this figure that the PTP algorithm has the maximum time offset for all the sending intervals compared with the proposed algorithm, in which the proposed algorithm only has the time synchronization precision at the nanosecond level. At the same time, this figure also demonstrates that the time synchronization precision of the proposed algorithm is improved when the sending interval is reduced.Fig. 9 The maximum value of the time offset for various sending intervals.

Impact of asymmetric links

The delay between the master and slave clocks consists of sending delay, propagation delay, and receiving delay. When the sending delay is inconsistent with the receiving delay, the asymmetric delay is generated. Table 6 gives the delay of the proposed algorithm in an asymmetric link. This figure shows that the minimum sending and receiving delays of the proposed algorithm are 80 ns. Several jitters are added to these delays, and the Time Offset Observer module is used to monitor the time offset every 0.1 ms.Table 6 The time offset in an asymmetric link*.

Processing delay of sending node(ns)	Receiving delay of receiving node(ns)	Offset = 0 (%)	Offset = 1 (%)	Offset = 2 (%)	Offset = 3 (%)	Maximum of time offset(ns)	
80	80	50.23	49.77	0.00	0.00	12.5	
80	80 + random (0,1) *12.5	61.58	37.55	0.87	0.00	25.0	
80 + random (0,1) *12.5	80	59.71	39.18	1.11	0.00	25.0	
80 + random (0,1) *12.5	80 + random (0,1) *12.5	60.10	37.69	2.15	0.06	37.5	
80 + random (0,1) *12.5	80 + random (0,2) *12.5	51.98	46.51	1.51	0.00	25.0	
80 + random (0,2) *12.5	80 + random (0,1) *12.5	52.25	44.89	2.82	0.04	37.5	
80 + random (0,2) *12.5	80 + random (0,2) *12.5	41.53	53.20	5.21	0.06	37.5	
80 + random (0,3) *12.5	80 + random (0,1) *12.5	43.78	53.79	2.26	0.17	37.5	
80 + random (0,1) *12.5	80 + random (0,3) *12.5	49.48	48.14	2.34	0.04	37.5	
80 + random (0,2) *12.5	80 + random (0,3) *12.5	44.08	51.45	4.29	0.18	37.5	
80 + random (0,3) *12.5	80 + random (0,2) *12.5	40.32	54.85	4.73	0.10	37.5	
80 + random (0,3) *12.5	80 + random (0,3) *12.5	45.44	49.70	4.70	0.16	37.5	
80 + random (0,4) *12.5	80 + random (0,1) *12.5	42.71	48.97	7.87	0.45	37.5	
80 + random (0,1) *12.5	80 + random (0,4) *12.5	44.72	49.91	4.97	0.40	37.5	
80 + random (0,4) *12.5	80 + random (0,4) *12.5	40.20	50.90	8.34	0.56	37.5	
*Offset = 1, it represents one clock cycle. This value depends on the clock cycle of the crystal oscillator used in the system. The smaller the clock cycle, the smaller the offset value.

80 + random (a,b) *12.5, Where ‘80’ indicates that the fixed processing delay of the node is 80 ns. random(a,b)*12.5 indicates that the processing delay of the device for each sending or receiving is a randomly selected integer in the interval (a,b) and multiplied by the clock frequency (12.5 ns). Significant values are in bold.

As shown in Table 6, we conducted 15 simulation experiments to examine the delay between the sending and receiving nodes, with a maximum offset of up to 100 ns. The results indicate that as the delay between the receiving and sending nodes increases, the time offset of the master–slave clock gradually increases as well. But our method effectively maintains time synchronization precision within three clock cycles.

Figure 10 shows the statistics of the time offset of the proposed algorithm. The pie chart illustrates the proportion of time offset obtained from simulations under various sending delays and receiving delays. To ensure the robustness of the experimental results, we conducted multiple sets of experiments. The red box in Fig. 10. indicates that when the delay of the sending and receiving nodes increase, the proportion of ≤  ± 1 clock cycle gradually decreases while the proportion of > 1 clock cycle gradually increases, so that the delay uncertainty is increased and the time offset is extended. The green box in Fig. 10 represents the result of two simulation experiment, in which the sending delay is exactly opposite to the receiving delay. The results show that in terms of amplifying the master–slave clock time offset, the sending node delay plays a key role in the time synchronization precision compared with the receiving node delay. Therefore, the time synchronization of the proposed algorithm can be achieved in the range of ± 37.5 ns.Fig. 10 Master–slave clock time offset proportion distribution diagram of the algorithm proposed in this paper under asymmetric conditions. (In the Fig. 10, take (b, c) as an example, where 'b' means that the processing delay of the sending node is increased by 'b' clock cycles on the basis of 80 ns, and 'c' means the processing delay of the receiving node is increased by "c" clock cycles on the basis of 80 ns. Each clock cycle is 12.5 ns.)

The comparison results of the time synchronization precision of various algorithm are given in Table 7. The time synchronization precision of the PTP algorithm is about 1 μs, the time synchronization precision described in Ref.19–21 basically reaches the microsecond level, and the time synchronization precision of the algorithms proposed in Ref.24 (i.e., the Kalman filter (KF), Sage-Husa adaptive Kalman filter (AKF), strong tracking Sage-Husa adaptive Kalman filter (STAKF) and the modified Strong Tracking Adaptive Kalman Filter (MSTAKF) algorithms) is microsecond level. For the proposed algorithm, its time synchronization precision is much smaller than that of other algorithms, thus efficiently improving its performance.Table 7 Comparison results of the time synchronization precision of various algorithm.

Different methods	Crystal oscillator frequency	Time synchronization precision	
PTP	80 MHz	1μs	
19	50 MHz	hundreds of nanoseconds	
20	/	5-15μs	
21	/	79 ns	
MSTAKF24	/	90ns	
KF24	/	-940ns	
AKF24	/	-3.31μs	
STAKF24	/	9.29μs	
Proposed method in this paper	80 MHz	 ± 37.5 ns	

Figure 11 gives the comparison results of the required time of the stable state of various algorithms. It can be seen that the PTP and PI control algorithms require about 155 ms (indicated by the red circle) to achieve the stable state while the proposed algorithm requires 883 ms (indicated by the green circle) due to the inclusion of the Kalman filtering algorithm. Therefore, future work will focus on reducing the time it takes for the proposed algorithm to reach a stable state.Fig. 11 Comparison results of the stable state of various algorithms.

This paper first conducts simulation experiments on the original PTP algorithm and the algorithm proposed in this paper based on symmetric links and asymmetric links. The results show that when the crystal frequency is 80 MHz, the proposed method successfully reduces the time offset from several microseconds to less than 40 ns. Then, we conducted a detailed analysis of the algorithm proposed in this paper from the aspects of crystal oscillator frequency, sending interval, sending delay, receiving delay and the time required to reach a stable state. The study found that when the crystal frequency is 80 MHz and the sending interval is 15.625 ms, the time synchronization accuracy achieved by the network has far exceeded the time synchronization precision requirements of current market demand. If higher precision is required, you can consider increasing the crystal oscillator frequency and stability to further improve the network's time synchronization precision.

Conclusion

This paper proposes a novel underlying protocol and an enhanced time synchronization algorithm to meet the time-sensitive requirements of the measurement and control system, in which the data frame structure is redesigned, the Kalman filtering model is used to eliminate noise interference, and the clock drift compensation algorithm is used to prevent the accumulated errors. The time synchronization algorithm proposed in this paper offers simplicity in implementation. The integration of the Kalman filter algorithm with the clock drift compensation algorithm renders it universally applicable across all network topology, promising significant efficacy. The simulation results have proved that the proposed algorithm has a better time synchronization precision, compared with the PTP and the improved PTP (based on the Kalman filtering) algorithms. Therefore, this algorithm provides a good choice for improving the time synchronization accuracy in measurement and control systems.

Acknowledgements

This work was supported by the Innovative Research Group Project of the National Science Foundation of China, China (51821003), the National Science Foundation of Shanxi Province, China (201701D121065), Scientific and Technological Innovation Programs of Higher Education Institutions in Shanxi Province (2022L530) and Fundamental Research Program of Shanxi Province (20210302124329), the Youth Fundation Project of Shanxi Provincial Basic Research Program of China, China (202303021222097).

Author contributions

Q.L. wrote the main manuscript text. J.G. and WY.L. methodology and Writing—review & editing. WJ.G., YZ. Z., and YJ.H. data curation and prepared the figures. All authors reviewed the manuscript.

Data availability

Data will be made available on request. If you would like the research data for this paper, please don’t hesitate to contact me at the address below. The code and data sets are available at: https://ptp-sim.github.io. E-mail: Qiang Li b20210620@st.nuc.edu.cn.

Code availability

The code and data sets are available at: https://ptp-sim.github.io.

Competing interests

The authors declare no competing interests.

Publisher's note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
==== Refs
References

1. Ferrarini S Bilancia P A method for the assessment and compensation of positioning errors in industrial robots Robot. Comput.-Integr. Manuf. 2024 85 102622 10.1016/j.rcim.2023.102622
Ferrarini, S. et al. A method for the assessment and compensation of positioning errors in industrial robots. Robot. Comput.-Integr. Manuf. 85, 102622. 10.1016/j.rcim.2023.102622 (2024).10.1016/j.rcim.2023.102622
2. Khan MA Kumar N Swarm of UAVs for network management in 6G: A technical review IEEE Trans. Netw. Serv. Manag. 2023 20 1 741 761 10.1109/TNSM.2022.3213370
Khan, M. A. et al. Swarm of UAVs for network management in 6G: A technical review. IEEE Trans. Netw. Serv. Manag. 20(1), 741–761. 10.1109/TNSM.2022.3213370 (2023).10.1109/TNSM.2022.3213370
3. Hazra A Donta PK Cooperative transmission scheduling and computation offloading with collaboration of fog and cloud for industrial IoT applications IEEE Internet Things J. 2022 10 5 3944 3953 10.1109/jiot.2022.3150070
Hazra, A. et al. Cooperative transmission scheduling and computation offloading with collaboration of fog and cloud for industrial IoT applications. IEEE Internet Things J. 10(5), 3944–3953. 10.1109/jiot.2022.3150070 (2022).10.1109/jiot.2022.3150070
4. Idrees Z Granados J IEEE 1588 for clock synchronization in industrial IoT and related applications: A review on contributing technologies, protocols and enhancement methodologies IEEE Access 2020 10.1109/ACCESS.2020.3013669
Idrees, Z. et al. IEEE 1588 for clock synchronization in industrial IoT and related applications: A review on contributing technologies, protocols and enhancement methodologies. IEEE Access10.1109/ACCESS.2020.3013669 (2020).10.1109/ACCESS.2020.3013669
5. Guo H Crossley PA Design of a time synchronization system based on GPS and IEEE 1588 for transmission substations IEEE Trans. Power Deliv. 2017 32 2091 2100 10.1109/TPWRD.2016.2600759
Guo, H. & Crossley, P. A. Design of a time synchronization system based on GPS and IEEE 1588 for transmission substations. IEEE Trans. Power Deliv. 32, 2091–2100. 10.1109/TPWRD.2016.2600759 (2017).10.1109/TPWRD.2016.2600759
6. D, M. & Martin, J. J. Network Time Protocol Version 4: Protocol and Algorithms Specification. (RCF, 2021).
7. Eidson, J. C., Lee, K. IEEE 1588 standard for a precision clock synchronization protocol for networked measurement and control systems. 98–105. 10.1109/sficon.2002.1159815 (2002)
8. Hou TC Liu LH An improved network time protocol for industrial internet of things Sensors 2022 22 13 5021 10.3390/s22135021 35808516
Hou, T. C. et al. An improved network time protocol for industrial internet of things. Sensors 22(13), 5021. 10.3390/s22135021 (2022).35808516 10.3390/s22135021
9. Zhang J Zhang W A disturbance rejection control approach for clock synchronization in IEEE 1588 networks J. Syst. Sci. Complex. 2018 31 6 1437 1448 10.1007/s11424-018-7050-y
Zhang, J. & Zhang, W. A disturbance rejection control approach for clock synchronization in IEEE 1588 networks. J. Syst. Sci. Complex. 31(6), 1437–1448. 10.1007/s11424-018-7050-y (2018).10.1007/s11424-018-7050-y
10. Exel R Mitigation of asymmetric link delays in IEEE 1588 clock synchronization systems IEEE Commun. Lett. 2014 18 3 507 510 10.1109/LCOMM.2014.012214.132540
Exel, R. Mitigation of asymmetric link delays in IEEE 1588 clock synchronization systems. IEEE Commun. Lett. 18(3), 507–510. 10.1109/LCOMM.2014.012214.132540 (2014).10.1109/LCOMM.2014.012214.132540
11. Lv S Lu Y Ji Y An enhanced IEEE 1588 time synchronization for asymmetric communication link in packet transport network IEEE Commun. Lett. 2010 14 8 764 766 10.1109/LCOMM.2010.08.091601
Lv, S., Lu, Y. & Ji, Y. An enhanced IEEE 1588 time synchronization for asymmetric communication link in packet transport network. IEEE Commun. Lett. 14(8), 764–766. 10.1109/LCOMM.2010.08.091601 (2010).10.1109/LCOMM.2010.08.091601
12. Giorgi G Narduzzi C Precision packet-based frequency transfer based on oversampling IEEE Trans. Instr. Meas. 2017 66 1856 1863 10.1109/TIM.2017.2672478
Giorgi, G. & Narduzzi, C. Precision packet-based frequency transfer based on oversampling. IEEE Trans. Instr. Meas. 66, 1856–1863. 10.1109/TIM.2017.2672478 (2017).10.1109/TIM.2017.2672478
13. Yuan K Guo X Tian J Research and implementation of clock synchronization technology based on PTP J. Phys. 2021 1757 012139 012139 10.1088/1742-6596/1757/1/012139
Yuan, K., Guo, X. & Tian, J. Research and implementation of clock synchronization technology based on PTP. J. Phys. 1757, 012139–012139. 10.1088/1742-6596/1757/1/012139 (2021).10.1088/1742-6596/1757/1/012139
14. Karthik AK Blum RS Robust clock skew and offset estimation for IEEE 1588 in the presence of unexpected deterministic path delay asymmetries IEEE Trans. Commun. 2020 68 5102 5119 10.1109/TCOMM.2020.2991212
Karthik, A. K. & Blum, R. S. Robust clock skew and offset estimation for IEEE 1588 in the presence of unexpected deterministic path delay asymmetries. IEEE Trans. Commun. 68, 5102–5119. 10.1109/TCOMM.2020.2991212 (2020).10.1109/TCOMM.2020.2991212
15. Shrestha D Pang Z Dzung D Precise clock synchronization in high performance wireless communication for time sensitive networking IEEE Access 2018 6 8944 8953 10.1109/ACCESS.2018.2805378
Shrestha, D., Pang, Z. & Dzung, D. Precise clock synchronization in high performance wireless communication for time sensitive networking. IEEE Access 6, 8944–8953. 10.1109/ACCESS.2018.2805378 (2018).10.1109/ACCESS.2018.2805378
16. Ju R Research on IEEE 1588 clock synchronization error correction algorithm based on Kalman filter J. Phys. Conf. Ser. 2020 1449 012109 10.1088/1742-6596/1449/1/012109
Ju, R. et al. Research on IEEE 1588 clock synchronization error correction algorithm based on Kalman filter. J. Phys. Conf. Ser. 1449, 012109. 10.1088/1742-6596/1449/1/012109 (2020).10.1088/1742-6596/1449/1/012109
17. Zuo Y Wang X Zhang B An optimization method of clock synchronization for large-scale regional power network based on IEEE 1588 J. Phys. 2021 2108 012063 012063 10.1088/1742-6596/2108/1/012063
Zuo, Y., Wang, X. & Zhang, B. An optimization method of clock synchronization for large-scale regional power network based on IEEE 1588. J. Phys. 2108, 012063–012063. 10.1088/1742-6596/2108/1/012063 (2021).10.1088/1742-6596/2108/1/012063
18. Zheng K Zhang L One study on IEEE1588 clock synchronization algorithm based on Kalman filter J. Phys. Conf. Ser. 2021 1738 012059 10.1088/1742-6596/1738/1/012059
Zheng, K. & Zhang, L. One study on IEEE1588 clock synchronization algorithm based on Kalman filter. J. Phys. Conf. Ser. 1738, 012059. 10.1088/1742-6596/1738/1/012059 (2021).10.1088/1742-6596/1738/1/012059
19. Liu X Li C Research based on IEEE1588 frequency compensation algorithm IOP Conf. Ser. Mater. Sci. Eng. 2019 677 032042 10.1088/1757-899X/677/3/032042
Liu, X. & Li, C. Research based on IEEE1588 frequency compensation algorithm. IOP Conf. Ser. Mater. Sci. Eng. 677, 032042. 10.1088/1757-899X/677/3/032042 (2019).10.1088/1757-899X/677/3/032042
20. Zhang W Hou Y A modified strong tracking adaptive kalman filter for precision clock synchronization system IEEJ Trans. Electr. Electron. Eng. 2023 18 1702 1711 10.1002/tee.23900
Zhang, W. & Hou, Y. A modified strong tracking adaptive kalman filter for precision clock synchronization system. IEEJ Trans. Electr. Electron. Eng. 18, 1702–1711. 10.1002/tee.23900 (2023).10.1002/tee.23900
21. Exel R Bigler T Sauter T Asymmetry mitigation in IEEE 802.3 ethernet for high-accuracy clock synchronization IEEE Trans. Instr. Meas. 2014 63 729 736 10.1109/TIM.2013.2280489
Exel, R., Bigler, T. & Sauter, T. Asymmetry mitigation in IEEE 802.3 ethernet for high-accuracy clock synchronization. IEEE Trans. Instr. Meas. 63, 729–736. 10.1109/TIM.2013.2280489 (2014).10.1109/TIM.2013.2280489
22. Yin, H., Fu, P., Qiao, J. & Li, Y. The Implementation of IEEE 1588 Clock Synchronization Protocol Based on FPGA. In: 2018 IEEE International Instrumentation and Measurement Technology Conference (I2MTC) 10.1109/i2mtc.2018.8409617 (2018).
23. Pedretti D Nanoseconds timing system based on IEEE 1588 FPGA implementation IEEE Trans. Nuclear Sci. 2019 66 1151 1158 10.1109/TNS.2019.2906045
Pedretti, D. et al. Nanoseconds timing system based on IEEE 1588 FPGA implementation. IEEE Trans. Nuclear Sci. 66, 1151–1158. 10.1109/TNS.2019.2906045 (2019).10.1109/TNS.2019.2906045
24. Nagra AS Allahi I Pasha MA Masud S Design and FPGA based implementation of IEEE 1588 precision time protocol for synchronisation in distributed IoT applications Austr. J. Electr. Electron. Eng. 2021 19 31 39 10.1080/1448837X.2021.2013407
Nagra, A. S., Allahi, I., Pasha, M. A. & Masud, S. Design and FPGA based implementation of IEEE 1588 precision time protocol for synchronisation in distributed IoT applications. Austr. J. Electr. Electron. Eng. 19, 31–39. 10.1080/1448837X.2021.2013407 (2021).10.1080/1448837X.2021.2013407
25. Eidson, J. C., Fischer, M. & White, J. IEEE 1588 Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems. In: 2nd ISA/IEEE Sensors for Industry Conference 98–105.10.1109/sficon.2002.1159815 (2002).
26. Moussa B Kassouf M An extension to the precision time protocol (PTP) to enable the detection of cyber attacks IEEE Trans. Ind. Inform. 2020 16 18 27 10.1109/TII.2019.2943913
Moussa, B. et al. An extension to the precision time protocol (PTP) to enable the detection of cyber attacks. IEEE Trans. Ind. Inform. 16, 18–27. 10.1109/TII.2019.2943913 (2020).10.1109/TII.2019.2943913
27. Khan MA Hayes BP IEEE 1588 time synchronization in power distribution system applications: Timestamping and accuracy requirements IEEE Syst. J. 2023 17 2007 2017 10.1109/JSYST.2023.3269920
Khan, M. A. & Hayes, B. P. IEEE 1588 time synchronization in power distribution system applications: Timestamping and accuracy requirements. IEEE Syst. J. 17, 2007–2017. 10.1109/JSYST.2023.3269920 (2023).10.1109/JSYST.2023.3269920
28. Lan Y-K Chen Y-S Hou T-C Wu B-L Chu Y-S Development board implementation and chip design of IEEE 1588 clock synchronization system applied to computer networking Electronics 2023 12 2166 2166 10.3390/electronics12102166
Lan, Y.-K., Chen, Y.-S., Hou, T.-C., Wu, B.-L. & Chu, Y.-S. Development board implementation and chip design of IEEE 1588 clock synchronization system applied to computer networking. Electronics 12, 2166–2166. 10.3390/electronics12102166 (2023).10.3390/electronics12102166
29. Xu X Xiong Z Sheng X Wu J Zhu X A new time synchronization method for reducing quantization error accumulation over real-time networks: Theory and experiments IEEE Trans. Ind. Inform. 2013 9 1659 1669 10.1109/TII.2013.2238547
Xu, X., Xiong, Z., Sheng, X., Wu, J. & Zhu, X. A new time synchronization method for reducing quantization error accumulation over real-time networks: Theory and experiments. IEEE Trans. Ind. Inform. 9, 1659–1669. 10.1109/TII.2013.2238547 (2013).10.1109/TII.2013.2238547
30. Han W Shen X Hou E Xu J Precision time synchronization control method for smart grid based on wolf colony algorithm Int. J. Electr. Power Energy Syst. 2016 78 816 822 10.1016/j.ijepes.2015.12.016
Han, W., Shen, X., Hou, E. & Xu, J. Precision time synchronization control method for smart grid based on wolf colony algorithm. Int. J. Electr. Power Energy Syst. 78, 816–822. 10.1016/j.ijepes.2015.12.016 (2016).10.1016/j.ijepes.2015.12.016
31. Ha Y-M Pak E Park J Kim T Yoon JW Clock offset estimation for systems with asymmetric packet delays IEEE ACM Trans. Netw. 2023 31 1838 1853 10.1109/TNET.2022.3229407
Ha, Y.-M., Pak, E., Park, J., Kim, T. & Yoon, J. W. Clock offset estimation for systems with asymmetric packet delays. IEEE ACM Trans. Netw. 31, 1838–1853. 10.1109/TNET.2022.3229407 (2023).10.1109/TNET.2022.3229407
32. Li F Liu W Gao W Liu Y Hu Y Design and reliability analysis of a novel redundancy topology architecture Sensors 2022 22 2582 10.3390/s22072582 35408197
Li, F., Liu, W., Gao, W., Liu, Y. & Hu, Y. Design and reliability analysis of a novel redundancy topology architecture. Sensors 22, 2582. 10.3390/s22072582 (2022).35408197 10.3390/s22072582
33. Li F Liu W Qi Y Li Q Liu G An enhanced method for nanosecond time synchronization in IEEE 1588 precision time protocol Processes 2023 11 1328 1328 10.3390/pr11051328
Li, F., Liu, W., Qi, Y., Li, Q. & Liu, G. An enhanced method for nanosecond time synchronization in IEEE 1588 precision time protocol. Processes 11, 1328–1328. 10.3390/pr11051328 (2023).10.3390/pr11051328
34. IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems—Redline. (IEEE, 2017).
35. Giorgi G Narduzzi C Performance analysis of Kalman-filter-based clock synchronization in IEEE 1588 networks IEEE Trans. Instr. Meas. 2011 60 2902 2909 10.1109/TIM.2011.2113120
Giorgi, G. & Narduzzi, C. Performance analysis of Kalman-filter-based clock synchronization in IEEE 1588 networks. IEEE Trans. Instr. Meas. 60, 2902–2909. 10.1109/TIM.2011.2113120 (2011).10.1109/TIM.2011.2113120
36. Kalman RE Bucy RS New results in linear filtering and prediction theory J. Basic Eng. 1961 83 95 108 10.1115/1.3658902
Kalman, R. E. & Bucy, R. S. New results in linear filtering and prediction theory. J. Basic Eng. 83, 95–108. 10.1115/1.3658902 (1961).10.1115/1.3658902
37. Luo Z Shi D Shen X Ji J Gan W-S GFANC-Kalman: Generative fixed-filter active noise control with CNN-Kalman filtering IEEE Signal Process. Lett. 2024 31 276 280 10.1109/LSP.2023.3334695
Luo, Z., Shi, D., Shen, X., Ji, J. & Gan, W.-S. GFANC-Kalman: Generative fixed-filter active noise control with CNN-Kalman filtering. IEEE Signal Process. Lett. 31, 276–280. 10.1109/LSP.2023.3334695 (2024).10.1109/LSP.2023.3334695
38. Basha FJ Somasundaram K Rotor asymmetry detection in wound rotor induction motor using kalman filter variants and investigations on their robustness: An experimental implementation Machines 2023 11 910 910 10.3390/machines11090910
Basha, F. J. & Somasundaram, K. Rotor asymmetry detection in wound rotor induction motor using kalman filter variants and investigations on their robustness: An experimental implementation. Machines 11, 910–910. 10.3390/machines11090910 (2023).10.3390/machines11090910
39. Wallner, W., Wasicek, A. and Grosu, R. A simulation framework for IEEE 1588. In 2016 IEEE International Symposium on Precision Clock Synchronization for Measurement, Control, and Communication (ISPCS) (pp. 1–6). 10.1109/ispcs.2016.7579516 (2016).
40. Kasdin, N.J. and Walter, T. Discrete simulation of power law noise (for oscillator stability evaluation). In: Proc. 1992 IEEE Frequency Control Symposium (pp. 274–283). 10.1109/FREQ.1992.270003 (2003).
41. Ferre-Pikal ES Vig JR Draft revision of IEEE STD 1139–1988 standard definitions of physical quantities for fundamental frequency and time metrology—Random instabilities Comput. Stand. Interfaces 1999 10.1016/s0920-5489(99)92272-9
Ferre-Pikal, E. S. & Vig, J. R. Draft revision of IEEE STD 1139–1988 standard definitions of physical quantities for fundamental frequency and time metrology—Random instabilities. Comput. Stand. Interfaces10.1016/s0920-5489(99)92272-9 (1999).10.1016/s0920-5489(99)92272-9
42. N Jeremy Kasdin & Todd Walter. Discrete simulation of power law noise (for oscillator stability evaluation). In: Proc. 1992 IEEE Frequency Control Symposium. 274–283. 10.1109/FREQ.1992.270003 (1992).
43. ES Ferre-Pikal, JR Vig, JC Camparo, LS Cutler, L Maleki, WJ Riley, SR Stein, C Thomas, FL Walls, and JD White, Draft revision of IEEE STD 1139–1988 standard definitions of physical quantities for fundamental, frequency and time metrology-random instabilities. In: Proc. International Frequency Control Symposium. 338–357. 10.1109/FREQ.1997.638567 (1987).
44. The LibPLN library download link: https://github.com/ptp-sim/libPLN.
